aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Tom van der Lee <t0m.vd.l33@gmail.com>2018-11-29 11:00:32 +0100
committerGravatar Tom van der Lee <t0m.vd.l33@gmail.com>2018-11-29 11:00:32 +0100
commit4028df8bdbde8d8ae8960619b9f848fe01757310 (patch)
treef116b1c9d977c29f5441f39d90439b386a3ff4f8
parent6c7070e305f4dc7ae29ad1fc51233abdf1cf6330 (diff)
downloaddotfiles-4028df8bdbde8d8ae8960619b9f848fe01757310.tar.gz
dotfiles-4028df8bdbde8d8ae8960619b9f848fe01757310.tar.bz2
dotfiles-4028df8bdbde8d8ae8960619b9f848fe01757310.zip
Added chunkwm
-rwxr-xr-xchunkwm/.chunkwmrc141
-rw-r--r--chunkwm/.khdrc151
-rw-r--r--chunkwm/.skhdrc259
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
17chunkc core::log_file stdout
18
19#
20# NOTE: specify the desired level of logging.
21#
22# - none, debug, profile, warn, error
23#
24
25chunkc core::log_level warn
26
27#
28# NOTE: specify the absolutepath to the directory to use when loading a plugin.
29#
30
31chunkc 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
38chunkc core::hotload 0
39
40#
41# NOTE: the following are config variables for the chunkwm-tiling plugin.
42#
43
44chunkc set custom_bar_enabled 0
45chunkc set custom_bar_all_monitors 0
46chunkc set custom_bar_offset_top 22
47chunkc set custom_bar_offset_bottom 0
48chunkc set custom_bar_offset_left 0
49chunkc set custom_bar_offset_right 0
50
51chunkc set global_desktop_mode bsp
52chunkc set global_desktop_offset_top 20
53chunkc set global_desktop_offset_bottom 20
54chunkc set global_desktop_offset_left 20
55chunkc set global_desktop_offset_right 20
56chunkc 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
70chunkc set desktop_padding_step_size 10.0
71chunkc set desktop_gap_step_size 5.0
72
73chunkc set bsp_spawn_left 1
74chunkc set bsp_optimal_ratio 1.618
75chunkc set bsp_split_mode optimal
76chunkc set bsp_split_ratio 0.5
77
78chunkc set monitor_focus_cycle 1
79chunkc set window_focus_cycle monitor
80
81chunkc set mouse_follows_focus intrinsic
82chunkc set window_float_next 0
83chunkc set window_region_locked 1
84
85chunkc set mouse_move_window \"fn 1\"
86chunkc set mouse_resize_window \"fn 2\"
87chunkc set mouse_motion_interval 35
88
89chunkc set preselect_border_color 0xffd75f5f
90chunkc set preselect_border_width 5
91chunkc set preselect_border_radius 0
92chunkc set preselect_border_outline 0
93
94#
95# NOTE: these settings require chwm-sa.
96# (https://github.com/koekeishiya/chwm-sa)
97#
98
99chunkc set window_float_topmost 0
100chunkc set window_fade_inactive 0
101chunkc set window_fade_alpha 0.85
102chunkc set window_fade_duration 0.25
103chunkc 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
113chunkc set focused_border_color 0xff0f6288
114chunkc set focused_border_width 5
115chunkc set focused_border_radius 0
116chunkc set focused_border_outline 0
117chunkc set focused_border_skip_floating 0
118chunkc set focused_border_skip_monocle 0
119
120#
121# NOTE: the following are config variables for the chunkwm-ffm plugin.
122#
123
124chunkc set ffm_bypass_modifier fn
125chunkc set ffm_standby_on_float 1
126
127#
128# NOTE: specify plugins to load when chunkwm starts.
129#
130
131chunkc core::load border.so
132chunkc core::load tiling.so
133chunkc core::load ffm.so
134
135#
136# NOTE: sample rules for the tiling plugin
137#
138
139chunkc tiling::rule --owner Finder --name Copy --state float &
140chunkc tiling::rule --owner \"App Store\" --state float &
141chunkc 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
2cmd + alt + ctrl - r : khd -e "reload"
3
4# open terminal, blazingly fast compared to iTerm/Hyper
5cmd - return : open -na /Applications/Kitty.app
6
7# focus window
8alt - h : chunkc tiling::window --focus west
9alt - j : chunkc tiling::window --focus south
10alt - k : chunkc tiling::window --focus north
11alt - l : chunkc tiling::window --focus east
12
13cmd - j : chunkc tiling::window --focus prev
14cmd - k : chunkc tiling::window --focus next
15
16# equalize size of windows
17shift + alt - 0 : chunkc tiling::desktop --equalize
18
19# swap window
20shift + alt - h : chunkc tiling::window --swap west
21shift + alt - j : chunkc tiling::window --swap south
22shift + alt - k : chunkc tiling::window --swap north
23shift + alt - l : chunkc tiling::window --swap east
24
25# move window
26shift + cmd - h : chunkc tiling::window --warp west
27shift + cmd - j : chunkc tiling::window --warp south
28shift + cmd - k : chunkc tiling::window --warp north
29shift + cmd - l : chunkc tiling::window --warp east
30
31# make floating window fill screen
32shift + alt - up : chunkc tiling::window --grid-layout 1:1:0:0:1:1
33
34# make floating window fill left-half of screen
35shift + alt - left : chunkc tiling::window --grid-layout 1:2:0:0:1:1
36
37# make floating window fill right-half of screen
38shift + 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
42alt - q : chunkc tiling::window --grid-layout 10:10:0:0:5:5
43
44# send window to desktop
45shift + alt - x : chunkc tiling::window --send-to-desktop $(chunkc get _last_active_desktop)
46shift + alt - z : chunkc tiling::window --send-to-desktop prev
47shift + alt - c : chunkc tiling::window --send-to-desktop next
48shift + alt - 1 : chunkc tiling::window --send-to-desktop 1
49shift + alt - 2 : chunkc tiling::window --send-to-desktop 2
50shift + alt - 3 : chunkc tiling::window --send-to-desktop 3
51shift + alt - 4 : chunkc tiling::window --send-to-desktop 4
52shift + alt - 5 : chunkc tiling::window --send-to-desktop 5
53shift + alt - 6 : chunkc tiling::window --send-to-desktop 6
54
55# send window to desktop and switch desktop
56shift + cmd - x : `id=$(chunkc get _last_active_desktop); chunkc tiling::window -d $id; khd -p "cmd + alt - $id" &> /dev/null`
57shift + cmd - z : chunkc tiling::window -d prev; khd -p "cmd + alt - z"
58shift + cmd - c : chunkc tiling::window -d next; khd -p "cmd + alt - c"
59shift + cmd - 1 : chunkc tiling::window -d 1; khd -p "cmd + alt - 1"
60shift + cmd - 2 : chunkc tiling::window -d 2; khd -p "cmd + alt - 2"
61shift + cmd - 3 : chunkc tiling::window -d 3; khd -p "cmd + alt - 3"
62shift + cmd - 4 : chunkc tiling::window -d 4; khd -p "cmd + alt - 4"
63shift + cmd - 5 : chunkc tiling::window -d 5; khd -p "cmd + alt - 5"
64shift + cmd - 6 : chunkc tiling::window -d 6; khd -p "cmd + alt - 6"
65
66# switch to last active desktop
67cmd + alt - x : `id=$(chunkc get _last_active_desktop); khd -p "cmd + alt - $id" &> /dev/null`
68
69# focus monitor
70ctrl + alt - z : chunkc tiling::monitor -f prev
71ctrl + alt - c : chunkc tiling::monitor -f next
72ctrl + alt - 1 : chunkc tiling::monitor -f 1
73ctrl + alt - 2 : chunkc tiling::monitor -f 2
74ctrl + alt - 3 : chunkc tiling::monitor -f 3
75
76# send window to monitor and follow focus
77ctrl + cmd - z : chunkc tiling::window --send-to-monitor prev; chunkc tiling::monitor -f prev
78ctrl + cmd - c : chunkc tiling::window --send-to-monitor next; chunkc tiling::monitor -f next
79ctrl + cmd - 1 : chunkc tiling::window --send-to-monitor 1; chunkc tiling::monitor -f 1
80ctrl + cmd - 2 : chunkc tiling::window --send-to-monitor 2; chunkc tiling::monitor -f 2
81ctrl + cmd - 3 : chunkc tiling::window --send-to-monitor 3; chunkc tiling::monitor -f 3
82
83# increase region size
84shift + alt - a : chunkc tiling::window --use-temporary-ratio 0.1 --adjust-window-edge west
85shift + alt - s : chunkc tiling::window --use-temporary-ratio 0.1 --adjust-window-edge south
86shift + alt - w : chunkc tiling::window --use-temporary-ratio 0.1 --adjust-window-edge north
87shift + alt - d : chunkc tiling::window --use-temporary-ratio 0.1 --adjust-window-edge east
88
89# decrease region size
90shift + cmd - a : chunkc tiling::window --use-temporary-ratio -0.1 --adjust-window-edge west
91shift + cmd - s : chunkc tiling::window --use-temporary-ratio -0.1 --adjust-window-edge south
92shift + cmd - w : chunkc tiling::window --use-temporary-ratio -0.1 --adjust-window-edge north
93shift + cmd - d : chunkc tiling::window --use-temporary-ratio -0.1 --adjust-window-edge east
94
95# set insertion point for focused container
96ctrl + alt - f : chunkc tiling::window --use-insertion-point cancel
97ctrl + alt - h : chunkc tiling::window --use-insertion-point west
98ctrl + alt - j : chunkc tiling::window --use-insertion-point south
99ctrl + alt - k : chunkc tiling::window --use-insertion-point north
100ctrl + alt - l : chunkc tiling::window --use-insertion-point east