• 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:

    Some reasons to work on productivity and velocity

    A common topic of discussion among my close friends is where the bottlenecks are in our productivity and how we can execute more quickly. This is very different from what I see in my extended social circles, where people commonly say that velocity doesn…

    via Posts on Dan Luu October 15, 2021

    EDT with updating double counts

    I recently got confused thinking about the following case: Calculator bet: I am offered the opportunity to bet on a mathematical statement X to which I initially assign 50% probability (perhaps X = 139926 is a quadratic residue modulo 314159). I have acce…

    via The sideways view October 12, 2021

    Meditations on newborns

    [Content: death.]I wrote most of this a couple of months ago when Nora was a newborn, but the first few months are not that conducive to finishing blog posts. New babies put you into a liminal period, both in your own experience and in how others treat yo…

    via The whole sky October 3, 2021

    more     (via openring)


  • Posts
  • RSS
  • ◂◂RSS
  • Contact