Last active
January 15, 2019 10:19
-
-
Save pbt001/278fa89bcd1cc913b6534583b1aaec8b to your computer and use it in GitHub Desktop.
[Chunkwm Config] #cfg #fork #dotfile
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/local/sbin/bash | |
export PATH=/usr/local/sbin/:$PATH | |
# | |
# NOTE: specify the desired level of logging. | |
# | |
# - none, debug, warn, error | |
# | |
chunkc core::log_file /tmp/chunkwm.log | |
chunkc core::log_level warn | |
# | |
# NOTE: specify the absolutepath to the directory to use when | |
# loading a plugin. '~' expansion is supported. | |
# | |
chunkc core::plugin_dir /usr/local/opt/chunkwm/share/chunkwm/plugins | |
# | |
# NOTE: if enabled, chunkwm will monitor the specified plugin_dir | |
# and automatically reload any '.so' file that is changed. | |
# | |
chunkc core::hotload 1 | |
# | |
# NOTE: the following are config variables for the chunkwm-tiling plugin. | |
# | |
chunkc set global_desktop_mode bsp | |
chunkc set 4_desktop_mode monocle | |
# chunkc set 8_desktop_mode monocle | |
chunkc set global_desktop_offset_top 5 | |
chunkc set global_desktop_offset_bottom 5 | |
chunkc set global_desktop_offset_left 5 | |
chunkc set global_desktop_offset_right 5 | |
chunkc set global_desktop_offset_gap 6 | |
# chunkc set 1_desktop_tree ~/.vertical_3_33-33-33.tree | |
# chunkc set 4_desktop_tree ~/.social.tree | |
# chunkc set 5_desktop_tree ~/.vertical_2_80-20.tree | |
# chunkc set 8_desktop_tree ~/.full-top_down-split.tree | |
chunkc set 4_desktop_offset_top 50 | |
chunkc set 4_desktop_offset_bottom 50 | |
chunkc set 4_desktop_offset_left 70 | |
chunkc set 4_desktop_offset_right 70 | |
# chunkc set 8_desktop_offset_top 70 | |
# chunkc set 8_desktop_offset_bottom 70 | |
# chunkc set 8_desktop_offset_left 100 | |
# chunkc set 8_desktop_offset_right 100 | |
chunkc set desktop_padding_step_size 2.0 | |
chunkc set desktop_gap_step_size 2.0 | |
chunkc set bsp_spawn_left 0 | |
chunkc set bsp_optimal_ratio 1.618 | |
chunkc set bsp_split_mode optimal | |
chunkc set bsp_split_ratio 0.5 | |
chunkc set monitor_focus_cycle 1 | |
chunkc set window_focus_cycle monitor | |
chunkc set mouse_follows_focus intrinsic | |
chunkc set window_float_next 0 | |
chunkc set window_region_locked 1 | |
# | |
# NOTE: shell commands require escaped quotes | |
# to pass value containing a whitespace. | |
# | |
# chunkc set mouse_modifier \"cmd shift\" | |
chunkc set mouse_modifier fn | |
chunkc set ffm_bypass_modifier fn | |
chunkc set preselect_border_color 0xffd75f5f | |
chunkc set preselect_border_width 5 | |
chunkc set preselect_border_radius 0 | |
# | |
# NOTE: these settings require chwm-sa. | |
# (https://github.com/koekeishiya/chwm-sa) | |
# | |
chunkc set window_float_topmost 0 | |
chunkc set window_fade_inactive 0 | |
chunkc set window_fade_alpha 1.0 | |
chunkc set window_fade_duration 0.15 | |
chunkc set window_use_cgs_move 0 | |
# | |
# NOTE: the following are config variables for the chunkwm-border plugin. | |
# | |
chunkc set focused_border_color 0xFFFF9B21 | |
chunkc set focused_border_width 4 | |
chunkc set focused_border_radius 5 | |
chunkc set focused_border_skip_floating 1 | |
chunkc set focused_border_skip_monocle 1 | |
chunkc set wallpaper_blur 50 | |
# | |
# NOTE: specify plugins to load when chunkwm starts. | |
# if chunkc plugin_dir is not set, the absolutepath is necessary. | |
# | |
# chunkc core::load blur.so | |
# chunkc core::load purify.so | |
# chunkc core::load border.so | |
chunkc core::load tiling.so | |
chunkc core::load ffm.so | |
# | |
# NOTE: shell commands require escaped quotes | |
# to pass value containing a whitespace. | |
# | |
apply_chunkwm_rules |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# focus window | |
ctrl + alt + cmd - left : chunkc tiling::window --focus west | |
ctrl + alt + cmd - down : chunkc tiling::window --focus south | |
ctrl + alt + cmd - up : chunkc tiling::window --focus north | |
ctrl + alt + cmd - right : chunkc tiling::window --focus east | |
# rshift - left : chunkc tiling::window --focus prev | |
# rshift - right : chunkc tiling::window --focus next | |
# rshift - down : chunkc tiling::monitor -f prev; cliclick m:. | |
# rshift - up : chunkc tiling::monitor -f next; cliclick m:. | |
# swap window | |
ctrl + alt + cmd + shift - left : chunkc tiling::window --swap west | |
ctrl + alt + cmd + shift - down : chunkc tiling::window --swap south | |
ctrl + alt + cmd + shift - up : chunkc tiling::window --swap north | |
ctrl + alt + cmd + shift - right : chunkc tiling::window --swap east | |
# floating window move/resize | |
rshift - up : chunkc tiling::window --grid-layout 1:1:0:0:1:1 | |
rshift - left : chunkc tiling::window --grid-layout 1:2:0:0:1:1 | |
rshift - right : chunkc tiling::window --grid-layout 1:2:1:0:1:1 | |
rshift - down : chunkc tiling::window --grid-layout 8:8:1:1:6:6 | |
# send window to desktop | |
shift + rcmd - left : chunkc tiling::window --send-to-desktop prev | |
shift + rcmd - right : chunkc tiling::window --send-to-desktop next | |
lshift + alt - 1 : chunkc tiling::window --send-to-desktop 1; echo $(chunkc tiling::query --desktop id)\\c > /tmp/last_space_id; chunkc tiling::desktop --focus 1 | |
lshift + alt - 2 : chunkc tiling::window --send-to-desktop 2; echo $(chunkc tiling::query --desktop id)\\c > /tmp/last_space_id; chunkc tiling::desktop --focus 2 | |
lshift + alt - 3 : chunkc tiling::window --send-to-desktop 3; echo $(chunkc tiling::query --desktop id)\\c > /tmp/last_space_id; chunkc tiling::desktop --focus 3 | |
lshift + alt - 4 : chunkc tiling::window --send-to-desktop 4; echo $(chunkc tiling::query --desktop id)\\c > /tmp/last_space_id; chunkc tiling::desktop --focus 4 | |
lshift + alt - 5 : chunkc tiling::window --send-to-desktop 5; echo $(chunkc tiling::query --desktop id)\\c > /tmp/last_space_id; chunkc tiling::desktop --focus 5 | |
lshift + alt - 6 : chunkc tiling::window --send-to-desktop 6; echo $(chunkc tiling::query --desktop id)\\c > /tmp/last_space_id; chunkc tiling::desktop --focus 6 | |
lshift + alt - 7 : chunkc tiling::window --send-to-desktop 7; echo $(chunkc tiling::query --desktop id)\\c > /tmp/last_space_id; chunkc tiling::desktop --focus 7 | |
lshift + alt - 8 : chunkc tiling::window --send-to-desktop 8; echo $(chunkc tiling::query --desktop id)\\c > /tmp/last_space_id; chunkc tiling::desktop --focus 8 | |
lshift + alt - 9 : chunkc tiling::window --send-to-desktop 9; echo $(chunkc tiling::query --desktop id)\\c > /tmp/last_space_id; chunkc tiling::desktop --focus 9 | |
# send window to monitor and follow focus | |
lshift + hyper - up : chunkc tiling::window --send-to-monitor next; chunkc tiling::monitor -f next; cliclick m:. | |
lshift + hyper - down : chunkc tiling::window --send-to-monitor prev; chunkc tiling::monitor -f prev; cliclick m:. | |
ralt - r : chunkc tiling::desktop --rotate 90 # rotate tree | |
ralt - y : chunkc tiling::desktop --mirror vertical # mirror tree y-axis | |
ralt - x : chunkc tiling::desktop --mirror horizontal # mirror tree x-axis | |
ralt - a : chunkc tiling::desktop --toggle offset # toggle desktop offset | |
ralt - f : chunkc tiling::window --toggle fullscreen # toggle window fullscreen | |
rshift + ralt - f : chunkc tiling::window --toggle native-fullscreen # toggle window native fullscreen | |
ralt - d : chunkc tiling::window --toggle parent # toggle window parent zoom | |
ralt - e : chunkc tiling::window --toggle split # toggle window split type | |
ralt - t : chunkc tiling::window --toggle float; chunkc tiling::window --grid-layout 8:8:1:1:6:6 # float / unfloat window and center on screen | |
ralt - s : chunkc tiling::window --toggle sticky; chunkc tiling::window --grid-layout 8:8:6:0:2:2 # toggle sticky, float and resize to picture-in-picture size | |
# change layout of desktop | |
fn - b : chunkc tiling::desktop --layout bsp | |
fn - m : chunkc tiling::desktop --layout monocle | |
fn - f : chunkc tiling::desktop --layout float | |
fn - e : chunkc tiling::desktop --equalize # equalize size of windows | |
fn + shift - f : /usr/local/bin/subl ~/.config/fish/config.fish | |
fn - k : /usr/local/bin/subl ~/.chunkwmrc | |
fn - q : chunkc tiling::window --send-to-desktop $(chunkc get _last_active_desktop) | |
fn + shift - k : /usr/local/bin/subl ~/.skhdrc | |
fn + shift - x : killall Dock; /usr/local/bin/brew services restart chunkwm | |
fn + lalt - x : killall Dock | |
fn + lalt - w : chunkc tiling::window --close | |
fn - p : chunkc core::unload purify.so; chunkc core::load purify.so | |
ralt - 0 : chunkwm --load-sa | |
# change region size | |
fn - w : chunkc tiling::window --use-temporary-ratio 0.05 --adjust-window-edge north; chunkc tiling::window --use-temporary-ratio -0.05 --adjust-window-edge south | |
fn - a : chunkc tiling::window --use-temporary-ratio 0.05 --adjust-window-edge west; chunkc tiling::window --use-temporary-ratio -0.05 --adjust-window-edge east | |
fn - s : chunkc tiling::window --use-temporary-ratio -0.05 --adjust-window-edge north; chunkc tiling::window --use-temporary-ratio 0.05 --adjust-window-edge south | |
fn - d : chunkc tiling::window --use-temporary-ratio -0.05 --adjust-window-edge west; chunkc tiling::window --use-temporary-ratio 0.05 --adjust-window-edge east | |
fn + shift - w : chunkc tiling::window --use-temporary-ratio 0.15 --adjust-window-edge north; chunkc tiling::window --use-temporary-ratio -0.15 --adjust-window-edge south | |
fn + shift - a : chunkc tiling::window --use-temporary-ratio 0.15 --adjust-window-edge west; chunkc tiling::window --use-temporary-ratio -0.15 --adjust-window-edge east | |
fn + shift - s : chunkc tiling::window --use-temporary-ratio -0.15 --adjust-window-edge north; chunkc tiling::window --use-temporary-ratio 0.15 --adjust-window-edge south | |
fn + shift - d : chunkc tiling::window --use-temporary-ratio -0.15 --adjust-window-edge west; chunkc tiling::window --use-temporary-ratio 0.15 --adjust-window-edge east | |
fn + shift - p : chunkc tiling::desktop --padding inc | |
fn + shift - g : chunkc tiling::desktop --gap inc | |
fn + alt - p : chunkc tiling::desktop --padding dec | |
fn + alt - g : chunkc tiling::desktop --gap dec | |
fn - c : chunkc tiling::desktop --serialize /Users/alin/.copypaste.tree | |
fn - v : chunkc tiling::desktop --deserialize /Users/alin/.copypaste.tree | |
fn + lctrl - v : chunkc tiling::desktop --deserialize /Users/alin/.vertical_3_33-33-33.tree | |
fn + lctrl - w : chunkc tiling::desktop --deserialize /Users/alin/.vertical_2_80-20.tree | |
fn + lctrl - h : chunkc tiling::desktop --deserialize /Users/alin/.horizontal_3_33-33-33.tree | |
rcmd - c : chunkc tiling::query -d windows | /usr/bin/pbcopy | |
ralt - 0x21 : echo $(chunkc tiling::query --desktop id)\\c > /tmp/last_space_id; chunkc tiling::desktop --focus prev | |
ralt - 0x1E : echo $(chunkc tiling::query --desktop id)\\c > /tmp/last_space_id; chunkc tiling::desktop --focus next | |
lalt - tab : echo $(chunkc tiling::query --desktop id)\\c > /tmp/current_space_id; chunkc tiling::desktop --focus $(cat /tmp/last_space_id); mv /tmp/current_space_id /tmp/last_space_id | |
fn - tab : echo $(chunkc tiling::query --desktop id)\\c > /tmp/current_space_id; chunkc tiling::desktop --focus $(cat /tmp/last_space_id); mv /tmp/current_space_id /tmp/last_space_id | |
lalt - 1 : echo $(chunkc tiling::query --desktop id)\\c > /tmp/last_space_id; chunkc tiling::desktop --focus 1 | |
lalt - 2 : echo $(chunkc tiling::query --desktop id)\\c > /tmp/last_space_id; chunkc tiling::desktop --focus 2 | |
lalt - 3 : echo $(chunkc tiling::query --desktop id)\\c > /tmp/last_space_id; chunkc tiling::desktop --focus 3 | |
lalt - 4 : echo $(chunkc tiling::query --desktop id)\\c > /tmp/last_space_id; chunkc tiling::desktop --focus 4 | |
lalt - 5 : echo $(chunkc tiling::query --desktop id)\\c > /tmp/last_space_id; chunkc tiling::desktop --focus 5 | |
lalt - 6 : echo $(chunkc tiling::query --desktop id)\\c > /tmp/last_space_id; chunkc tiling::desktop --focus 6 | |
lalt - 7 : echo $(chunkc tiling::query --desktop id)\\c > /tmp/last_space_id; chunkc tiling::desktop --focus 7 | |
lalt - 8 : echo $(chunkc tiling::query --desktop id)\\c > /tmp/last_space_id; chunkc tiling::desktop --focus 8 | |
lalt - 9 : echo $(chunkc tiling::query --desktop id)\\c > /tmp/last_space_id; chunkc tiling::desktop --focus 9 | |
lctrl + lalt - 0 : chunkc tiling::desktop --annihilate; | |
shift + lalt - 0 : chunkc tiling::desktop --create;\ | |
ids=$(chunkc tiling::query --desktops-for-monitor $(chunkc tiling::query --monitor-for-desktop $(chunkc tiling::query --desktop id)));\ | |
chunkc tiling::window --send-to-desktop $(echo ${ids##* });\ | |
chunkc tiling::rule --owner \"$(chunkc tiling::query --window owner)\" --desktop $(echo ${ids##* }) --follow-desktop & | |
lalt - 0 : chunkc tiling::desktop --create;\ | |
ids=$(chunkc tiling::query --desktops-for-monitor $(chunkc tiling::query --monitor-for-desktop $(chunkc tiling::query --desktop id)));\ | |
chunkc tiling::desktop --focus $(echo ${ids##* }) | |
fn - y : chunkc tiling::rule --owner \"$(chunkc tiling::query --window owner)\" --desktop $(chunkc tiling::query --desktop id) & | |
fn - r : apply_chunkwm_rules |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/local/sbin/bash | |
/usr/local/sbin/chunkc core::unload tiling.so | |
/usr/local/sbin/chunkc core::load tiling.so | |
/usr/local/sbin/chunkc tiling::rule --owner Finder --name Copy --state float & | |
/usr/local/sbin/chunkc tiling::rule --owner Finder --name Trash --state float & | |
/usr/local/sbin/chunkc tiling::rule --owner Dash --state float & | |
/usr/local/sbin/chunkc tiling::rule --owner 'Sublime Text' --name 'Switch Project' --state float & | |
/usr/local/sbin/chunkc tiling::rule --owner iTerm2 --name 'Hotkey Window Top' --state float & | |
/usr/local/sbin/chunkc tiling::rule --owner iTerm2 --name 'Hotkey Window Bottom' --state float & | |
/usr/local/sbin/chunkc tiling::rule --owner iTerm2 --name 'Hotkey Window Right' --state float & | |
/usr/local/sbin/chunkc tiling::rule --owner iTerm2 --name 'Hotkey Window Left' --state float & | |
/usr/local/sbin/chunkc tiling::rule --owner Transmission --state float & | |
/usr/local/sbin/chunkc tiling::rule --owner 'App Store' --state float & | |
/usr/local/sbin/chunkc tiling::rule --owner 'Alfred Preferences' --state float & | |
/usr/local/sbin/chunkc tiling::rule --owner 'The Unarchiver' --state float & | |
/usr/local/sbin/chunkc tiling::rule --owner 'Archive Utility' --state float & | |
/usr/local/sbin/chunkc tiling::rule --owner 'CleanMyMac 3' --state float & | |
/usr/local/sbin/chunkc tiling::rule --owner LastPass --state float & | |
/usr/local/sbin/chunkc tiling::rule --owner BetterTouchTool --state float & | |
/usr/local/sbin/chunkc tiling::rule --owner Todoist --state float & | |
/usr/local/sbin/chunkc tiling::rule --owner Gitify --state float & | |
/usr/local/sbin/chunkc tiling::rule --owner 'Sublime Text' --desktop 1 & | |
/usr/local/sbin/chunkc tiling::rule --owner 'Chrome|Reactotron' --desktop 2 & | |
/usr/local/sbin/chunkc tiling::rule --owner iTerm2 --desktop 3 & | |
/usr/local/sbin/chunkc tiling::rule --owner 'Messages|Spark|Mail' --desktop 4 & | |
/usr/local/sbin/chunkc tiling::rule --owner 'calibre|Xcode' --desktop 5 & | |
/usr/local/sbin/chunkc tiling::rule --owner 'Safari|Sketch' --desktop 6 & | |
/usr/local/sbin/chunkc tiling::rule --owner 'Spotify|AnyDo|Slack|Gitify' --desktop 8 & | |
/usr/local/sbin/chunkwm --load-sa |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment