• Posts
  • RSS
  • ◂◂RSS
  • Contact

  • Emacs Keybindings in Chrome Without Gnome

    November 4th, 2014
    tech, ubuntu  [html]
    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:

    The Gift of It's Your Problem Now

    Recently a security hole in a certain open source Java library resulted in a worldwide emergency kerfuffle as, say, 40% of the possibly hundreds of millions of worldwide deployments of this library needed to be updated in a hurry. (The other 60% also …

    via apenwarr January 1, 2022

    The container throttling problem

    This is an excerpt from an internal document David Mackey and I co-authored in April 2019. The document is excerpted since much of the original doc was about comparing possible approaches to increasing efficency at Twitter, which is mostly information tha…

    via Posts on December 18, 2021

    Experiences in raising children in shared housing

    Sometimes I see posts about people’s hope to raise children in a group housing situation, and it often seems overly optimistic to me. In particular they seem to expect that there will be more shared childcare than I think should be expected. Today I talke…

    via The whole sky October 18, 2021

    more     (via openring)


  • Posts
  • RSS
  • ◂◂RSS
  • Contact