Emacs Keybindings in Chrome Without Gnome

November 4th, 2014
tech, ubuntu
If you want emacs keybindings in desktop apps on Linux people will tell you to run:
$ gsettings set \
  org.gnome.desktop.interface \
  gtk-key-theme "Emacs"
If you're running a full desktop environment that's enough, but if you're running something lighter weight like Fluxbox or Awesome you'll also need to run:
$ gnome-settings-daemon
Unlike the gsettings change, this needs to run every time you log in, so put it in your .xsession or your indow-manager-specific startup file.

(I just upgraded my linux desktop to Ubuntu 14 LTS (Trusty) and this broke Unity, the window manager I'd been using. I could probably have fixed this by blowing away the configuration and replacing it, but I never really liked it anyway so I decided to go with fluxbox instead.)

For reference, here's my .xsession contents:

# Replace the 'caps-lock' key with a second 'control' key.
/usr/bin/setxkbmap -option 'ctrl:nocaps'

# We want emacs keybindings, especially in Chrome.  Things like Ctrl+d
# to mean "forward delete" instead of "create a bookmark".  Fixing
# this has two parts: we need to set a configuration option, and we
# need to run a settings daemon to make it available.
#
# This only needs to be run once, but no harm in running it every
# login:
gsettings set org.gnome.desktop.interface gtk-key-theme "Emacs"
# This needs to run every time:
gnome-settings-daemon &

# Make the background black.
fbsetroot -solid black

# Start and place terminals.  81 columns because code here is limited
# to 80 columns and emacs reserves a column for the wrapping
# indicator.  73 columns because that's what fits in the remaining
# space.
uxterm -geometry 81x90+1428+0 &
uxterm -geometry 81x90+1920+0 &
uxterm -geometry 81x90+2412+0 &
uxterm -geometry 81x90+2904+0 &
uxterm -geometry 73x22+3396+0 &
uxterm -geometry 73x22+3396+310 &
uxterm -geometry 73x22+3396+620 &
uxterm -geometry 73x19+3396+930 &

# Chrome.
google-chrome &

# Start the window manager last, and don't run it in the background.
fluxbox

Comment via: google plus

Recent posts on blogs I like:

Jealousy In Polyamory Isn't A Big Problem And I'm Tired Of Being Gaslit By Big Self-Help

The nuance is in the post, guys

via Thing of Things July 18, 2024

Trust as a bottleneck to growing teams quickly

non-trust is reasonable • trust lets collaboration scale • symptoms of trust deficit • how to proactively build trust

via benkuhn.net July 13, 2024

Coaching kids as they learn to climb

Helping kids learn to climb things that are at the edge of their ability The post Coaching kids as they learn to climb appeared first on Otherwise.

via Otherwise July 10, 2024

more     (via openring)