diff options
Diffstat (limited to 'chunkwm')
| -rwxr-xr-x | chunkwm/.chunkwmrc | 141 | ||||
| -rw-r--r-- | chunkwm/.khdrc | 151 | ||||
| -rw-r--r-- | chunkwm/.skhdrc | 259 |
3 files changed, 551 insertions, 0 deletions
diff --git a/chunkwm/.chunkwmrc b/chunkwm/.chunkwmrc new file mode 100755 index 0000000..be69b30 --- /dev/null +++ b/chunkwm/.chunkwmrc | |||
| @@ -0,0 +1,141 @@ | |||
| 1 | #!/bin/bash | ||
| 2 | |||
| 3 | # | ||
| 4 | # NOTE: any 'chunkc' command that is run from this config file | ||
| 5 | # that is NOT 'chunkc core::<..>' or 'chunkc set ..' | ||
| 6 | # MUST be put in the background using & | ||
| 7 | # | ||
| 8 | # e.g: | ||
| 9 | # chunkc tiling::rule --owner Finder --name Copy --state float & | ||
| 10 | # | ||
| 11 | |||
| 12 | # | ||
| 13 | # NOTE: specify the absolutepath of the file to use for logging. | ||
| 14 | # 'stdout' or 'stderr' can be used instead of an actual filepath. | ||
| 15 | # | ||
| 16 | |||
| 17 | chunkc core::log_file stdout | ||
| 18 | |||
| 19 | # | ||
| 20 | # NOTE: specify the desired level of logging. | ||
| 21 | # | ||
| 22 | # - none, debug, profile, warn, error | ||
| 23 | # | ||
| 24 | |||
| 25 | chunkc core::log_level warn | ||
| 26 | |||
| 27 | # | ||
| 28 | # NOTE: specify the absolutepath to the directory to use when loading a plugin. | ||
| 29 | # | ||
| 30 | |||
| 31 | chunkc core::plugin_dir /usr/local/opt/chunkwm/share/chunkwm/plugins | ||
| 32 | |||
| 33 | # | ||
| 34 | # NOTE: if enabled, chunkwm will monitor the specified plugin_dir | ||
| 35 | # and automatically reload any '.so' file that is changed. | ||
| 36 | # | ||
| 37 | |||
| 38 | chunkc core::hotload 0 | ||
| 39 | |||
| 40 | # | ||
| 41 | # NOTE: the following are config variables for the chunkwm-tiling plugin. | ||
| 42 | # | ||
| 43 | |||
| 44 | chunkc set custom_bar_enabled 0 | ||
| 45 | chunkc set custom_bar_all_monitors 0 | ||
| 46 | chunkc set custom_bar_offset_top 22 | ||
| 47 | chunkc set custom_bar_offset_bottom 0 | ||
| 48 | chunkc set custom_bar_offset_left 0 | ||
| 49 | chunkc set custom_bar_offset_right 0 | ||
| 50 | |||
| 51 | chunkc set global_desktop_mode bsp | ||
| 52 | chunkc set global_desktop_offset_top 20 | ||
| 53 | chunkc set global_desktop_offset_bottom 20 | ||
| 54 | chunkc set global_desktop_offset_left 20 | ||
| 55 | chunkc set global_desktop_offset_right 20 | ||
| 56 | chunkc set global_desktop_offset_gap 15 | ||
| 57 | |||
| 58 | # | ||
| 59 | # NOTE: syntax for desktop-specific settings | ||
| 60 | # | ||
| 61 | # chunkc set 2_desktop_mode monocle | ||
| 62 | # chunkc set 5_desktop_mode float | ||
| 63 | # chunkc set 3_desktop_offset_top 190 | ||
| 64 | # chunkc set 3_desktop_offset_bottom 190 | ||
| 65 | # chunkc set 3_desktop_offset_left 190 | ||
| 66 | # chunkc set 3_desktop_offset_right 190 | ||
| 67 | # chunkc set 3_desktop_offset_gap 30 | ||
| 68 | # | ||
| 69 | |||
| 70 | chunkc set desktop_padding_step_size 10.0 | ||
| 71 | chunkc set desktop_gap_step_size 5.0 | ||
| 72 | |||
| 73 | chunkc set bsp_spawn_left 1 | ||
| 74 | chunkc set bsp_optimal_ratio 1.618 | ||
| 75 | chunkc set bsp_split_mode optimal | ||
| 76 | chunkc set bsp_split_ratio 0.5 | ||
| 77 | |||
| 78 | chunkc set monitor_focus_cycle 1 | ||
| 79 | chunkc set window_focus_cycle monitor | ||
| 80 | |||
| 81 | chunkc set mouse_follows_focus intrinsic | ||
| 82 | chunkc set window_float_next 0 | ||
| 83 | chunkc set window_region_locked 1 | ||
| 84 | |||
| 85 | chunkc set mouse_move_window \"fn 1\" | ||
| 86 | chunkc set mouse_resize_window \"fn 2\" | ||
| 87 | chunkc set mouse_motion_interval 35 | ||
| 88 | |||
| 89 | chunkc set preselect_border_color 0xffd75f5f | ||
| 90 | chunkc set preselect_border_width 5 | ||
| 91 | chunkc set preselect_border_radius 0 | ||
| 92 | chunkc set preselect_border_outline 0 | ||
| 93 | |||
| 94 | # | ||
| 95 | # NOTE: these settings require chwm-sa. | ||
| 96 | # (https://github.com/koekeishiya/chwm-sa) | ||
| 97 | # | ||
| 98 | |||
| 99 | chunkc set window_float_topmost 0 | ||
| 100 | chunkc set window_fade_inactive 0 | ||
| 101 | chunkc set window_fade_alpha 0.85 | ||
| 102 | chunkc set window_fade_duration 0.25 | ||
| 103 | chunkc set window_use_cgs_move 0 | ||
| 104 | |||
| 105 | # | ||
| 106 | # NOTE: the following are config variables for the chunkwm-border plugin. | ||
| 107 | # | ||
| 108 | # NOTE: syntax for `focused_border_outline` setting | ||
| 109 | # 0 = false, inline border | ||
| 110 | # 1 = true, outline border | ||
| 111 | # | ||
| 112 | |||
| 113 | chunkc set focused_border_color 0xff0f6288 | ||
| 114 | chunkc set focused_border_width 5 | ||
| 115 | chunkc set focused_border_radius 0 | ||
| 116 | chunkc set focused_border_outline 0 | ||
| 117 | chunkc set focused_border_skip_floating 0 | ||
| 118 | chunkc set focused_border_skip_monocle 0 | ||
| 119 | |||
| 120 | # | ||
| 121 | # NOTE: the following are config variables for the chunkwm-ffm plugin. | ||
| 122 | # | ||
| 123 | |||
| 124 | chunkc set ffm_bypass_modifier fn | ||
| 125 | chunkc set ffm_standby_on_float 1 | ||
| 126 | |||
| 127 | # | ||
| 128 | # NOTE: specify plugins to load when chunkwm starts. | ||
| 129 | # | ||
| 130 | |||
| 131 | chunkc core::load border.so | ||
| 132 | chunkc core::load tiling.so | ||
| 133 | chunkc core::load ffm.so | ||
| 134 | |||
| 135 | # | ||
| 136 | # NOTE: sample rules for the tiling plugin | ||
| 137 | # | ||
| 138 | |||
| 139 | chunkc tiling::rule --owner Finder --name Copy --state float & | ||
| 140 | chunkc tiling::rule --owner \"App Store\" --state float & | ||
| 141 | chunkc tiling::rule --owner Emacs --except "^$" --state tile & | ||
diff --git a/chunkwm/.khdrc b/chunkwm/.khdrc new file mode 100644 index 0000000..2c75573 --- /dev/null +++ b/chunkwm/.khdrc | |||
| @@ -0,0 +1,151 @@ | |||
| 1 | # reload config | ||
| 2 | cmd + alt + ctrl - r : khd -e "reload" | ||
| 3 | |||
| 4 | # open terminal, blazingly fast compared to iTerm/Hyper | ||
| 5 | cmd - return : open -na /Applications/Kitty.app | ||
| 6 | |||
| 7 | # focus window | ||
| 8 | alt - h : chunkc tiling::window --focus west | ||
| 9 | alt - j : chunkc tiling::window --focus south | ||
| 10 | alt - k : chunkc tiling::window --focus north | ||
| 11 | alt - l : chunkc tiling::window --focus east | ||
| 12 | |||
| 13 | cmd - j : chunkc tiling::window --focus prev | ||
| 14 | cmd - k : chunkc tiling::window --focus next | ||
| 15 | |||
| 16 | # equalize size of windows | ||
| 17 | shift + alt - 0 : chunkc tiling::desktop --equalize | ||
| 18 | |||
| 19 | # swap window | ||
| 20 | shift + alt - h : chunkc tiling::window --swap west | ||
| 21 | shift + alt - j : chunkc tiling::window --swap south | ||
| 22 | shift + alt - k : chunkc tiling::window --swap north | ||
| 23 | shift + alt - l : chunkc tiling::window --swap east | ||
| 24 | |||
| 25 | # move window | ||
| 26 | shift + cmd - h : chunkc tiling::window --warp west | ||
| 27 | shift + cmd - j : chunkc tiling::window --warp south | ||
| 28 | shift + cmd - k : chunkc tiling::window --warp north | ||
| 29 | shift + cmd - l : chunkc tiling::window --warp east | ||
| 30 | |||
| 31 | # make floating window fill screen | ||
| 32 | shift + alt - up : chunkc tiling::window --grid-layout 1:1:0:0:1:1 | ||
| 33 | |||
| 34 | # make floating window fill left-half of screen | ||
| 35 | shift + alt - left : chunkc tiling::window --grid-layout 1:2:0:0:1:1 | ||
| 36 | |||
| 37 | # make floating window fill right-half of screen | ||
| 38 | shift + alt - right : chunkc tiling::window --grid-layout 1:2:1:0:1:1 | ||
| 39 | |||
| 40 | # move floating windows / windows on a grid space | ||
| 41 | # 10 rows 10 cols grid, windows left and top on 0 grid, and have 5 grid width 5 grid height | ||
| 42 | alt - q : chunkc tiling::window --grid-layout 10:10:0:0:5:5 | ||
| 43 | |||
| 44 | # send window to desktop | ||
| 45 | shift + alt - x : chunkc tiling::window --send-to-desktop $(chunkc get _last_active_desktop) | ||
| 46 | shift + alt - z : chunkc tiling::window --send-to-desktop prev | ||
| 47 | shift + alt - c : chunkc tiling::window --send-to-desktop next | ||
| 48 | shift + alt - 1 : chunkc tiling::window --send-to-desktop 1 | ||
| 49 | shift + alt - 2 : chunkc tiling::window --send-to-desktop 2 | ||
| 50 | shift + alt - 3 : chunkc tiling::window --send-to-desktop 3 | ||
| 51 | shift + alt - 4 : chunkc tiling::window --send-to-desktop 4 | ||
| 52 | shift + alt - 5 : chunkc tiling::window --send-to-desktop 5 | ||
| 53 | shift + alt - 6 : chunkc tiling::window --send-to-desktop 6 | ||
| 54 | |||
| 55 | # send window to desktop and switch desktop | ||
| 56 | shift + cmd - x : `id=$(chunkc get _last_active_desktop); chunkc tiling::window -d $id; khd -p "cmd + alt - $id" &> /dev/null` | ||
| 57 | shift + cmd - z : chunkc tiling::window -d prev; khd -p "cmd + alt - z" | ||
| 58 | shift + cmd - c : chunkc tiling::window -d next; khd -p "cmd + alt - c" | ||
| 59 | shift + cmd - 1 : chunkc tiling::window -d 1; khd -p "cmd + alt - 1" | ||
| 60 | shift + cmd - 2 : chunkc tiling::window -d 2; khd -p "cmd + alt - 2" | ||
| 61 | shift + cmd - 3 : chunkc tiling::window -d 3; khd -p "cmd + alt - 3" | ||
| 62 | shift + cmd - 4 : chunkc tiling::window -d 4; khd -p "cmd + alt - 4" | ||
| 63 | shift + cmd - 5 : chunkc tiling::window -d 5; khd -p "cmd + alt - 5" | ||
| 64 | shift + cmd - 6 : chunkc tiling::window -d 6; khd -p "cmd + alt - 6" | ||
| 65 | |||
| 66 | # switch to last active desktop | ||
| 67 | cmd + alt - x : `id=$(chunkc get _last_active_desktop); khd -p "cmd + alt - $id" &> /dev/null` | ||
| 68 | |||
| 69 | # focus monitor | ||
| 70 | ctrl + alt - z : chunkc tiling::monitor -f prev | ||
| 71 | ctrl + alt - c : chunkc tiling::monitor -f next | ||
| 72 | ctrl + alt - 1 : chunkc tiling::monitor -f 1 | ||
| 73 | ctrl + alt - 2 : chunkc tiling::monitor -f 2 | ||
| 74 | ctrl + alt - 3 : chunkc tiling::monitor -f 3 | ||
| 75 | |||
| 76 | # send window to monitor and follow focus | ||
| 77 | ctrl + cmd - z : chunkc tiling::window --send-to-monitor prev; chunkc tiling::monitor -f prev | ||
| 78 | ctrl + cmd - c : chunkc tiling::window --send-to-monitor next; chunkc tiling::monitor -f next | ||
| 79 | ctrl + cmd - 1 : chunkc tiling::window --send-to-monitor 1; chunkc tiling::monitor -f 1 | ||
| 80 | ctrl + cmd - 2 : chunkc tiling::window --send-to-monitor 2; chunkc tiling::monitor -f 2 | ||
| 81 | ctrl + cmd - 3 : chunkc tiling::window --send-to-monitor 3; chunkc tiling::monitor -f 3 | ||
| 82 | |||
| 83 | # increase region size | ||
| 84 | shift + alt - a : chunkc tiling::window --use-temporary-ratio 0.1 --adjust-window-edge west | ||
| 85 | shift + alt - s : chunkc tiling::window --use-temporary-ratio 0.1 --adjust-window-edge south | ||
| 86 | shift + alt - w : chunkc tiling::window --use-temporary-ratio 0.1 --adjust-window-edge north | ||
| 87 | shift + alt - d : chunkc tiling::window --use-temporary-ratio 0.1 --adjust-window-edge east | ||
| 88 | |||
| 89 | # decrease region size | ||
| 90 | shift + cmd - a : chunkc tiling::window --use-temporary-ratio -0.1 --adjust-window-edge west | ||
| 91 | shift + cmd - s : chunkc tiling::window --use-temporary-ratio -0.1 --adjust-window-edge south | ||
| 92 | shift + cmd - w : chunkc tiling::window --use-temporary-ratio -0.1 --adjust-window-edge north | ||
| 93 | shift + cmd - d : chunkc tiling::window --use-temporary-ratio -0.1 --adjust-window-edge east | ||
| 94 | |||
| 95 | # set insertion point for focused container | ||
| 96 | ctrl + alt - f : chunkc tiling::window --use-insertion-point cancel | ||
| 97 | ctrl + alt - h : chunkc tiling::window --use-insertion-point west | ||
| 98 | ctrl + alt - j : chunkc tiling::window --use-insertion-point south | ||
| 99 | ctrl + alt - k : chunkc tiling::window --use-insertion-point north | ||
| 100 | ctrl + alt - l : chunkc tiling::window --use-insertion-point east | ||
| 101 | |||
| 102 | # rotate tree | ||
| 103 | alt - r : chunkc tiling::desktop --rotate 90 | ||
| 104 | |||
| 105 | # mirror tree y-axis | ||
| 106 | alt - y : chunkc tiling::desktop --mirror vertical | ||
| 107 | |||
| 108 | # mirror tree x-axis | ||
| 109 | alt - x : chunkc tiling::desktop --mirror horizontal | ||
| 110 | |||
| 111 | # toggle desktop offset | ||
| 112 | alt - a : chunkc tiling::desktop --toggle offset | ||
| 113 | |||
| 114 | # toggle window fullscreen | ||
| 115 | alt - f : chunkc tiling::window --toggle fullscreen | ||
| 116 | |||
| 117 | # toggle window native fullscreen | ||
| 118 | shift + alt - f : chunkc tiling::window --toggle native-fullscreen | ||
| 119 | |||
| 120 | # toggle window parent zoom | ||
| 121 | alt - d : chunkc tiling::window --toggle parent | ||
| 122 | |||
| 123 | # toggle window split type | ||
| 124 | alt - e : chunkc tiling::window --toggle split | ||
| 125 | |||
| 126 | # float / unfloat window and center on screen | ||
| 127 | alt - t : chunkc tiling::window --toggle float;\ | ||
| 128 | chunkc tiling::window --grid-layout 4:4:1:1:2:2 | ||
| 129 | |||
| 130 | # toggle sticky, float and resize to picture-in-picture size | ||
| 131 | alt - s : chunkc tiling::window --toggle sticky;\ | ||
| 132 | chunkc tiling::window --grid-layout 5:5:4:0:1:1 | ||
| 133 | |||
| 134 | # float next window to be tiled | ||
| 135 | shift + alt - t : chunkc set window_float_next 1 | ||
| 136 | |||
| 137 | # change layout of desktop | ||
| 138 | ctrl + alt - a : chunkc tiling::desktop --layout bsp | ||
| 139 | ctrl + alt - s : chunkc tiling::desktop --layout monocle | ||
| 140 | ctrl + alt - d : chunkc tiling::desktop --layout float | ||
| 141 | |||
| 142 | ctrl + alt - w : chunkc tiling::desktop --deserialize ~/.chunkwm_layouts/dev_1 | ||
| 143 | |||
| 144 | # remap caps-lock to escape for this config only !!! | ||
| 145 | # macos sierra can also perform this remap for a given keyboard | ||
| 146 | - capslock : khd -p "- escape" | ||
| 147 | |||
| 148 | # key remap for norwegian layout \ { } | ||
| 149 | cmd - 7 : khd -p "shift + alt - 7" | ||
| 150 | cmd - 8 : khd -p "shift + alt - 8" | ||
| 151 | cmd - 9 : khd -p "shift + alt - 9" | ||
diff --git a/chunkwm/.skhdrc b/chunkwm/.skhdrc new file mode 100644 index 0000000..5336e71 --- /dev/null +++ b/chunkwm/.skhdrc | |||
| @@ -0,0 +1,259 @@ | |||
| 1 | # NOTE(koekeishiya): A list of all built-in modifier and literal keywords can | ||
| 2 | # be found at https://github.com/koekeishiya/skhd/issues/1 | ||
| 3 | # | ||
| 4 | # A hotkey is written according to the following rules: | ||
| 5 | # | ||
| 6 | # hotkey = <mode> '<' <action> | <action> | ||
| 7 | # | ||
| 8 | # mode = 'name of mode' | <mode> ',' <mode> | ||
| 9 | # | ||
| 10 | # action = <keysym> '[' <proc_map_lst> ']' | <keysym> '->' '[' <proc_map_lst> ']' | ||
| 11 | # <keysym> ':' <command> | <keysym> '->' ':' <command> | ||
| 12 | # <keysym> ';' <mode> | <keysym> '->' ';' <mode> | ||
| 13 | # | ||
| 14 | # keysym = <mod> '-' <key> | <key> | ||
| 15 | # | ||
| 16 | # mod = 'modifier keyword' | <mod> '+' <mod> | ||
| 17 | # | ||
| 18 | # key = <literal> | <keycode> | ||
| 19 | # | ||
| 20 | # literal = 'single letter or built-in keyword' | ||
| 21 | # | ||
| 22 | # keycode = 'apple keyboard kVK_<Key> values (0x3C)' | ||
| 23 | # | ||
| 24 | # proc_map_lst = * <proc_map> | ||
| 25 | # | ||
| 26 | # proc_map = <string> ':' <command> | ||
| 27 | # | ||
| 28 | # string = '"' 'sequence of characters' '"' | ||
| 29 | # | ||
| 30 | # command = command is executed through '$SHELL -c' and | ||
| 31 | # follows valid shell syntax. if the $SHELL environment | ||
| 32 | # variable is not set, it will default to '/bin/bash'. | ||
| 33 | # when bash is used, the ';' delimeter can be specified | ||
| 34 | # to chain commands. | ||
| 35 | # | ||
| 36 | # to allow a command to extend into multiple lines, | ||
| 37 | # prepend '\' at the end of the previous line. | ||
| 38 | # | ||
| 39 | # an EOL character signifies the end of the bind. | ||
| 40 | # | ||
| 41 | # -> = keypress is not consumed by skhd | ||
| 42 | # | ||
| 43 | # NOTE(koekeishiya): A mode is declared according to the following rules: | ||
| 44 | # | ||
| 45 | # mode_decl = '::' <name> '@' ':' <command> | '::' <name> ':' <command> | | ||
| 46 | # '::' <name> '@' | '::' <name> | ||
| 47 | # | ||
| 48 | # name = desired name for this mode, | ||
| 49 | # | ||
| 50 | # @ = capture keypresses regardless of being bound to an action | ||
| 51 | # | ||
| 52 | # command = command is executed through '$SHELL -c' and | ||
| 53 | # follows valid shell syntax. if the $SHELL environment | ||
| 54 | # variable is not set, it will default to '/bin/bash'. | ||
| 55 | # when bash is used, the ';' delimeter can be specified | ||
| 56 | # to chain commands. | ||
| 57 | # | ||
| 58 | # to allow a command to extend into multiple lines, | ||
| 59 | # prepend '\' at the end of the previous line. | ||
| 60 | # | ||
| 61 | # an EOL character signifies the end of the bind. | ||
| 62 | |||
| 63 | # add an on_enter command to the default mode | ||
| 64 | # :: default : chunkc border::color 0xff775759 | ||
| 65 | # | ||
| 66 | # defines a new mode 'test' with an on_enter command, that captures keypresses | ||
| 67 | # :: test @ : chunkc border::color 0xff24ccaa | ||
| 68 | # | ||
| 69 | # from 'default' mode, activate mode 'test' | ||
| 70 | # cmd - x ; test | ||
| 71 | # | ||
| 72 | # from 'test' mode, activate mode 'default' | ||
| 73 | # test < cmd - x ; default | ||
| 74 | # | ||
| 75 | # launch a new terminal instance when in either 'default' or 'test' mode | ||
| 76 | # default, test < cmd - return : open -na /Applications/Terminal.app | ||
| 77 | |||
| 78 | # application specific bindings | ||
| 79 | # | ||
| 80 | # cmd - n [ | ||
| 81 | # "kitty" : echo "hello kitty" | ||
| 82 | # "qutebrowser" : echo "hello qutebrowser" | ||
| 83 | # "finder" : false | ||
| 84 | # ] | ||
| 85 | |||
| 86 | # open terminal, blazingly fast compared to iTerm/Hyper | ||
| 87 | cmd - return : /Applications/Kitty.app/Contents/MacOS/kitty --single-instance -d ~ | ||
| 88 | |||
| 89 | # open qutebrowser | ||
| 90 | cmd + shift - return : ~/Scripts/qtb.sh | ||
| 91 | |||
| 92 | # open mpv | ||
| 93 | cmd - m : open -na /Applications/mpv.app $(pbpaste) | ||
| 94 | |||
| 95 | # close focused window | ||
| 96 | alt - w : chunkc tiling::window --close | ||
| 97 | |||
| 98 | # focus window | ||
| 99 | alt - h : chunkc tiling::window --focus west | ||
| 100 | alt - j : chunkc tiling::window --focus south | ||
| 101 | alt - k : chunkc tiling::window --focus north | ||
| 102 | alt - l : chunkc tiling::window --focus east | ||
| 103 | |||
| 104 | cmd - j : chunkc tiling::window --focus prev | ||
| 105 | cmd - k : chunkc tiling::window --focus next | ||
| 106 | |||
| 107 | # equalize size of windows | ||
| 108 | shift + alt - 0 : chunkc tiling::desktop --equalize | ||
| 109 | |||
| 110 | # swap window | ||
| 111 | shift + alt - h : chunkc tiling::window --swap west | ||
| 112 | shift + alt - j : chunkc tiling::window --swap south | ||
| 113 | shift + alt - k : chunkc tiling::window --swap north | ||
| 114 | shift + alt - l : chunkc tiling::window --swap east | ||
| 115 | |||
| 116 | # move window | ||
| 117 | shift + cmd - h : chunkc tiling::window --warp west | ||
| 118 | shift + cmd - j : chunkc tiling::window --warp south | ||
| 119 | shift + cmd - k : chunkc tiling::window --warp north | ||
| 120 | shift + cmd - l : chunkc tiling::window --warp east | ||
| 121 | |||
| 122 | # make floating window fill screen | ||
| 123 | shift + alt - up : chunkc tiling::window --grid-layout 1:1:0:0:1:1 | ||
| 124 | |||
| 125 | # make floating window fill left-half of screen | ||
| 126 | shift + alt - left : chunkc tiling::window --grid-layout 1:2:0:0:1:1 | ||
| 127 | |||
| 128 | # make floating window fill right-half of screen | ||
| 129 | shift + alt - right : chunkc tiling::window --grid-layout 1:2:1:0:1:1 | ||
| 130 | |||
| 131 | # create desktop, move window and follow focus | ||
| 132 | shift + cmd - n : chunkc tiling::desktop --create;\ | ||
| 133 | id=$(chunkc tiling::query --desktops-for-monitor $(chunkc tiling::query --monitor-for-desktop $(chunkc tiling::query --desktop id)));\ | ||
| 134 | chunkc tiling::window --send-to-desktop $(echo ${id##* });\ | ||
| 135 | chunkc tiling::desktop --focus $(echo ${id##* }) | ||
| 136 | |||
| 137 | # create desktop and follow focus | ||
| 138 | cmd + alt - n : chunkc tiling::desktop --create;\ | ||
| 139 | id=$(chunkc tiling::query --desktops-for-monitor $(chunkc tiling::query --monitor-for-desktop $(chunkc tiling::query --desktop id)));\ | ||
| 140 | chunkc tiling::desktop --focus $(echo ${id##* }) | ||
| 141 | # destroy desktop | ||
| 142 | cmd + alt - w : chunkc tiling::desktop --annihilate | ||
| 143 | |||
| 144 | # fast focus desktop | ||
| 145 | cmd + alt - x : chunkc tiling::desktop --focus $(chunkc get _last_active_desktop) | ||
| 146 | cmd + alt - z : chunkc tiling::desktop --focus prev | ||
| 147 | cmd + alt - c : chunkc tiling::desktop --focus next | ||
| 148 | cmd + alt - 1 : chunkc tiling::desktop --focus 1 | ||
| 149 | cmd + alt - 2 : chunkc tiling::desktop --focus 2 | ||
| 150 | cmd + alt - 3 : chunkc tiling::desktop --focus 3 | ||
| 151 | cmd + alt - 4 : chunkc tiling::desktop --focus 4 | ||
| 152 | cmd + alt - 5 : chunkc tiling::desktop --focus 5 | ||
| 153 | cmd + alt - 6 : chunkc tiling::desktop --focus 6 | ||
| 154 | # cmd + alt - 7 : chunkc tiling::desktop --focus 7 | ||
| 155 | |||
| 156 | # send window to desktop | ||
| 157 | shift + alt - x : chunkc tiling::window --send-to-desktop $(chunkc get _last_active_desktop) | ||
| 158 | shift + alt - z : chunkc tiling::window --send-to-desktop prev | ||
| 159 | shift + alt - c : chunkc tiling::window --send-to-desktop next | ||
| 160 | shift + alt - 1 : chunkc tiling::window --send-to-desktop 1 | ||
| 161 | shift + alt - 2 : chunkc tiling::window --send-to-desktop 2 | ||
| 162 | shift + alt - 3 : chunkc tiling::window --send-to-desktop 3 | ||
| 163 | shift + alt - 4 : chunkc tiling::window --send-to-desktop 4 | ||
| 164 | shift + alt - 5 : chunkc tiling::window --send-to-desktop 5 | ||
| 165 | shift + alt - 6 : chunkc tiling::window --send-to-desktop 6 | ||
| 166 | # shift + alt - 7 : chunkc tiling::window --send-to-desktop 7 | ||
| 167 | |||
| 168 | # send window to desktop and follow focus | ||
| 169 | shift + cmd - x : chunkc tiling::window --send-to-desktop $(chunkc get _last_active_desktop); chunkc tiling::desktop --focus $(chunkc get _last_active_desktop) | ||
| 170 | shift + cmd - z : chunkc tiling::window --send-to-desktop prev; chunkc tiling::desktop --focus prev | ||
| 171 | shift + cmd - c : chunkc tiling::window --send-to-desktop next; chunkc tiling::desktop --focus next | ||
| 172 | shift + cmd - 1 : chunkc tiling::window --send-to-desktop 1; chunkc tiling::desktop --focus 1 | ||
| 173 | shift + cmd - 2 : chunkc tiling::window --send-to-desktop 2; chunkc tiling::desktop --focus 2 | ||
| 174 | shift + cmd - 3 : chunkc tiling::window --send-to-desktop 3; chunkc tiling::desktop --focus 3 | ||
| 175 | shift + cmd - 4 : chunkc tiling::window --send-to-desktop 4; chunkc tiling::desktop --focus 4 | ||
| 176 | shift + cmd - 5 : chunkc tiling::window --send-to-desktop 5; chunkc tiling::desktop --focus 5 | ||
| 177 | shift + cmd - 6 : chunkc tiling::window --send-to-desktop 6; chunkc tiling::desktop --focus 6 | ||
| 178 | # shift + cmd - 7 : chunkc tiling::window --send-to-desktop 7; chunkc tiling::desktop --focus 7 | ||
| 179 | |||
| 180 | # focus monitor | ||
| 181 | ctrl + alt - z : chunkc tiling::monitor -f prev | ||
| 182 | ctrl + alt - c : chunkc tiling::monitor -f next | ||
| 183 | ctrl + alt - 1 : chunkc tiling::monitor -f 1 | ||
| 184 | ctrl + alt - 2 : chunkc tiling::monitor -f 2 | ||
| 185 | ctrl + alt - 3 : chunkc tiling::monitor -f 3 | ||
| 186 | |||
| 187 | # send window to monitor and follow focus | ||
| 188 | ctrl + cmd - z : chunkc tiling::window --send-to-monitor prev; chunkc tiling::monitor -f prev | ||
| 189 | ctrl + cmd - c : chunkc tiling::window --send-to-monitor next; chunkc tiling::monitor -f next | ||
| 190 | ctrl + cmd - 1 : chunkc tiling::window --send-to-monitor 1; chunkc tiling::monitor -f 1 | ||
| 191 | ctrl + cmd - 2 : chunkc tiling::window --send-to-monitor 2; chunkc tiling::monitor -f 2 | ||
| 192 | ctrl + cmd - 3 : chunkc tiling::window --send-to-monitor 3; chunkc tiling::monitor -f 3 | ||
| 193 | |||
| 194 | # increase region size | ||
| 195 | shift + alt - a : chunkc tiling::window --use-temporary-ratio 0.1 --adjust-window-edge west | ||
| 196 | shift + alt - s : chunkc tiling::window --use-temporary-ratio 0.1 --adjust-window-edge south | ||
| 197 | shift + alt - w : chunkc tiling::window --use-temporary-ratio 0.1 --adjust-window-edge north | ||
| 198 | shift + alt - d : chunkc tiling::window --use-temporary-ratio 0.1 --adjust-window-edge east | ||
| 199 | |||
| 200 | # decrease region size | ||
| 201 | shift + cmd - a : chunkc tiling::window --use-temporary-ratio -0.1 --adjust-window-edge west | ||
| 202 | shift + cmd - s : chunkc tiling::window --use-temporary-ratio -0.1 --adjust-window-edge south | ||
| 203 | shift + cmd - w : chunkc tiling::window --use-temporary-ratio -0.1 --adjust-window-edge north | ||
| 204 | shift + cmd - d : chunkc tiling::window --use-temporary-ratio -0.1 --adjust-window-edge east | ||
| 205 | |||
| 206 | # set insertion point for focused container | ||
| 207 | ctrl + alt - f : chunkc tiling::window --use-insertion-point cancel | ||
| 208 | ctrl + alt - h : chunkc tiling::window --use-insertion-point west | ||
| 209 | ctrl + alt - j : chunkc tiling::window --use-insertion-point south | ||
| 210 | ctrl + alt - k : chunkc tiling::window --use-insertion-point north | ||
| 211 | ctrl + alt - l : chunkc tiling::window --use-insertion-point east | ||
| 212 | |||
| 213 | # rotate tree | ||
| 214 | alt - r : chunkc tiling::desktop --rotate 90 | ||
| 215 | |||
| 216 | # mirror tree y-axis | ||
| 217 | alt - y : chunkc tiling::desktop --mirror vertical | ||
| 218 | |||
| 219 | # mirror tree x-axis | ||
| 220 | alt - x : chunkc tiling::desktop --mirror horizontal | ||
| 221 | |||
| 222 | # toggle desktop offset | ||
| 223 | alt - a : chunkc tiling::desktop --toggle offset | ||
| 224 | |||
| 225 | # toggle window fullscreen | ||
| 226 | alt - f : chunkc tiling::window --toggle fullscreen | ||
| 227 | |||
| 228 | # toggle window native fullscreen | ||
| 229 | shift + alt - f : chunkc tiling::window --toggle native-fullscreen | ||
| 230 | |||
| 231 | # toggle window parent zoom | ||
| 232 | alt - d : chunkc tiling::window --toggle parent | ||
| 233 | |||
| 234 | # toggle window split type | ||
| 235 | alt - e : chunkc tiling::window --toggle split | ||
| 236 | |||
| 237 | # toggle window fade | ||
| 238 | alt - q : chunkc tiling::window --toggle fade | ||
| 239 | |||
| 240 | # float / unfloat window and center on screen | ||
| 241 | alt - t : chunkc tiling::window --toggle float;\ | ||
| 242 | chunkc tiling::window --grid-layout 4:4:1:1:2:2 | ||
| 243 | |||
| 244 | # toggle sticky | ||
| 245 | alt - s : chunkc tiling::window --toggle sticky | ||
| 246 | |||
| 247 | # toggle sticky, float and resize to picture-in-picture size | ||
| 248 | alt - p : chunkc tiling::window --toggle sticky;\ | ||
| 249 | chunkc tiling::window --grid-layout 5:5:4:0:1:1 | ||
| 250 | |||
| 251 | # float next window to be tiled | ||
| 252 | shift + alt - t : chunkc set window_float_next 1 | ||
| 253 | |||
| 254 | # change layout of desktop | ||
| 255 | ctrl + alt - a : chunkc tiling::desktop --layout bsp | ||
| 256 | ctrl + alt - s : chunkc tiling::desktop --layout monocle | ||
| 257 | ctrl + alt - d : chunkc tiling::desktop --layout float | ||
| 258 | |||
| 259 | ctrl + alt - w : chunkc tiling::desktop --deserialize ~/.chunkwm_layouts/dev_1 | ||
