Skip to content
Tomas Baca edited this page Jun 18, 2018 · 4 revisions

i3 window manager

Thanks Luke Smith for inspiration.

Key bindings

Basic key bindings

  • alt Enter open new terminal
  • alt d run omnisearch menu
  • alt h/j/k/l movement between windows
  • alt 1/2/.../9 jump to workspace
  • alt n/m jump to previous/next workspace
  • alt tab cycle through windows on the current workspace
  • alt shift q force-close the current window
  • alt shift h/j/k/l rearanging windows
  • alt shift 1/2/.../9 move window to other workspace
  • alt shift 1/2/.../9 move window to other workspace
  • alt [/] switching the direction of new window
  • alt w switch window to tabbed mode
  • alt e switch window to split mode
  • alt x move workspace to the monitor on the righthand side
  • alt f put window on focus in fullscrean
  • alt b hide the i3bar
  • alt shift space toggle float for the active window
  • alt shift r restart i3
  • alt shift x bring down the shutdown menu

Advanced functions

  • win c switch color scheme
  • alt r resize mode
    • h/j/k/l resizes current window
    • Esc exit the mode
  • alt c switch on "mouse" mode
    • h/j/k/l moves mouse
    • shift h/j/k/l moves mouse faster
    • u left clock
    • i right click
    • b banish the mouse
    • Esc Exit the mode
  • alt shift t switch on the "throughput" mode
    • block the i3 from any key bindings, except the alt shift t for exiting the mode
    • is useful for controlling other i3 using e.g. TeamViewer

Misc

Running external shell scripts

For running external scripts using your preset shell, I created the detacher script. Most of the time, I need my environment variables to be accessible in my scripts, however, the does not happing when you "just run the script". The detacher.sh launches a new tmux session and executes the desired commands in it.

Example: win c mapping for going to subdirectory and calling the set_colorscheme.sh script, which utilized environment variables. All happens assynchronously in tmux using the standard terminul environment.

bindsym $mod2+c exec "~/.i3/detacher.sh 'cd $GIT_PATH/linux-setup/scripts; ./set_colorscheme.sh'"
Clone this wiki locally