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:

Against Lyman Stone On Animal Welfare

Demographer Lyman Stone writes:

via Thing of Things March 21, 2025

Product in the age of AI

We’re seeing AI features pop up in every product we use. Slack, Google Drive, etc.

via Home March 18, 2025

How I've run major projects

focus • maintain a detailed plan for victory • run a fast OODA loop • overcommunicate • break off subprojects • have fun • bonus content: my project management starter kit

via benkuhn.net March 16, 2025

more     (via openring)