# -*- mode: conf-colon; -*- cmd - return : osascript -e $'tell application "iTerm2"\n tell current window\n create window with default profile\n end tell\nend tell' || open /Applications/iTerm.app # open terminal cmd - e : emacsclient -cn # open Emacs cmd + shift - e: exec emacsclient -ce '(nm)' # open Emacs with Nevermore cmd + alt - f: osascript -e $'tell application "System Events" to tell process "Firefox"\n click menu item "New Window" of menu "File" of menu bar 1\n end tell' || open /Applications/Firefox.app # open firefox # close focused window # note: with carabiner this is also 'cmd + shift - q' cmd + alt - q : chunkc tiling::window --close # Lock/turn off screen # requires system setting "require password immediately after sleep or screen saver begins" ctrl + cmd - l : pmset displaysleepnow ctrl + alt - l : pmset displaysleepnow # focus window cmd - h : chunkc tiling::window --focus west cmd - j : chunkc tiling::window --focus south cmd - k : chunkc tiling::window --focus north cmd - l : chunkc tiling::window --focus east # cmd - j : chunkc tiling::window --focus prev # cmd - k : chunkc tiling::window --focus next # equalize size of windows shift + cmd - 0 : chunkc tiling::desktop --equalize # swap window shift + alt + cmd - h : chunkc tiling::window --swap west shift + alt + cmd - j : chunkc tiling::window --swap south shift + alt + cmd - k : chunkc tiling::window --swap north shift + alt + cmd - l : chunkc tiling::window --swap east # move window shift + cmd - h : chunkc tiling::window --warp west shift + cmd - j : chunkc tiling::window --warp south shift + cmd - k : chunkc tiling::window --warp north shift + cmd - l : chunkc tiling::window --warp east # create desktop, move window and follow focus shift + cmd - n : chunkc tiling::desktop --create;\ id=$(chunkc tiling::query --desktops-for-monitor $(chunkc tiling::query --monitor-for-desktop $(chunkc tiling::query --desktop id)));\ chunkc tiling::window --send-to-desktop $(echo ${id##* });\ chunkc tiling::desktop --focus $(echo ${id##* }) # create desktop and follow focus cmd + alt - n : chunkc tiling::desktop --create;\ id=$(chunkc tiling::query --desktops-for-monitor $(chunkc tiling::query --monitor-for-desktop $(chunkc tiling::query --desktop id)));\ chunkc tiling::desktop --focus $(echo ${id##* }) # destroy desktop cmd + alt - w : chunkc tiling::desktop --annihilate # fast focus desktop cmd - tab : chunkc tiling::desktop --focus $(chunkc get _last_active_desktop) cmd + alt - z : chunkc tiling::desktop --focus prev cmd + alt - c : chunkc tiling::desktop --focus next cmd - 1 : i=1; chunkc tiling::desktop --focus $(( $(chunkc tiling::query --desktop id) == $i ? $(chunkc get _last_active_desktop) : $i )) cmd - 2 : i=2; chunkc tiling::desktop --focus $(( $(chunkc tiling::query --desktop id) == $i ? $(chunkc get _last_active_desktop) : $i )) cmd - 3 : i=3; chunkc tiling::desktop --focus $(( $(chunkc tiling::query --desktop id) == $i ? $(chunkc get _last_active_desktop) : $i )) cmd - 4 : i=4; chunkc tiling::desktop --focus $(( $(chunkc tiling::query --desktop id) == $i ? $(chunkc get _last_active_desktop) : $i )) cmd - 5 : i=5; chunkc tiling::desktop --focus $(( $(chunkc tiling::query --desktop id) == $i ? $(chunkc get _last_active_desktop) : $i )) cmd - 6 : i=6; chunkc tiling::desktop --focus $(( $(chunkc tiling::query --desktop id) == $i ? $(chunkc get _last_active_desktop) : $i )) cmd - 7 : i=7; chunkc tiling::desktop --focus $(( $(chunkc tiling::query --desktop id) == $i ? $(chunkc get _last_active_desktop) : $i )) cmd - 8 : i=8; chunkc tiling::desktop --focus $(( $(chunkc tiling::query --desktop id) == $i ? $(chunkc get _last_active_desktop) : $i )) cmd - 9 : i=9; chunkc tiling::desktop --focus $(( $(chunkc tiling::query --desktop id) == $i ? $(chunkc get _last_active_desktop) : $i )) cmd - 0 : i=10; chunkc tiling::desktop --focus $(( $(chunkc tiling::query --desktop id) == $i ? $(chunkc get _last_active_desktop) : $i )) # send window to desktop shift + cmd - tab : chunkc tiling::window --send-to-desktop $(chunkc get _last_active_desktop) shift + cmd - z : chunkc tiling::window --send-to-desktop prev shift + cmd - c : chunkc tiling::window --send-to-desktop next shift + cmd - 1 : chunkc tiling::window --send-to-desktop 1 shift + cmd - 2 : chunkc tiling::window --send-to-desktop 2 shift + cmd - 3 : chunkc tiling::window --send-to-desktop 3 shift + cmd - 4 : chunkc tiling::window --send-to-desktop 4 shift + cmd - 5 : chunkc tiling::window --send-to-desktop 5 shift + cmd - 6 : chunkc tiling::window --send-to-desktop 6 shift + cmd - 7 : chunkc tiling::window --send-to-desktop 7 shift + cmd - 8 : chunkc tiling::window --send-to-desktop 8 shift + cmd - 9 : chunkc tiling::window --send-to-desktop 9 shift + cmd - 0 : chunkc tiling::window --send-to-desktop 10 # increase region size shift + alt - a : chunkc tiling::window --use-temporary-ratio 0.1 --adjust-window-edge west shift + alt - s : chunkc tiling::window --use-temporary-ratio 0.1 --adjust-window-edge south shift + alt - w : chunkc tiling::window --use-temporary-ratio 0.1 --adjust-window-edge north shift + alt - d : chunkc tiling::window --use-temporary-ratio 0.1 --adjust-window-edge east # decrease region size shift + cmd - a : chunkc tiling::window --use-temporary-ratio -0.1 --adjust-window-edge west shift + cmd - s : chunkc tiling::window --use-temporary-ratio -0.1 --adjust-window-edge south shift + cmd - w : chunkc tiling::window --use-temporary-ratio -0.1 --adjust-window-edge north shift + cmd - d : chunkc tiling::window --use-temporary-ratio -0.1 --adjust-window-edge east # set insertion point for focused container # ctrl + alt - f : chunkc tiling::window --use-insertion-point cancel # ctrl + alt - h : chunkc tiling::window --use-insertion-point west # ctrl + alt - j : chunkc tiling::window --use-insertion-point south # ctrl + alt - k : chunkc tiling::window --use-insertion-point north # ctrl + alt - l : chunkc tiling::window --use-insertion-point east # rotate tree cmd + alt - r : chunkc tiling::desktop --rotate 90 # mirror tree y-axis cmd + alt - y : chunkc tiling::desktop --mirror vertical # mirror tree x-axis cmd + alt - x : chunkc tiling::desktop --mirror horizontal # toggle window fullscreen cmd + alt - f : chunkc tiling::window --toggle fullscreen # toggle window native fullscreen cmd + alt + shift - f : chunkc tiling::window --toggle native-fullscreen # toggle window parent zoom # alt - d : chunkc tiling::window --toggle parent # toggle window split type cmd + alt - e : chunkc tiling::window --toggle split # toggle window fade # alt - q : chunkc tiling::window --toggle fade # toggle sticky # alt - s : chunkc tiling::window --toggle sticky # float window cmd + shift - space : chunkc tiling::window --toggle float # change layout of desktop cmd + alt - a : chunkc tiling::desktop --layout bsp cmd + alt - s : chunkc tiling::desktop --layout monocle cmd + alt - d : chunkc tiling::desktop --layout float cmd + alt - w : chunkc tiling::desktop --deserialize ~/.chunkwm_layouts/dev_1