From 7e7fbd54d0b821e1c72d11d81a950c0585b072cf Mon Sep 17 00:00:00 2001 From: Daniel Barber Date: Thu, 18 Apr 2019 14:39:59 -0400 Subject: [PATCH] Add ChunkWM configuration --- chunkwmrc | 138 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ skhdrc | 44 +++++++++++++++++ 2 files changed, 182 insertions(+) create mode 100755 chunkwmrc create mode 100644 skhdrc diff --git a/chunkwmrc b/chunkwmrc new file mode 100755 index 0000000..93c8773 --- /dev/null +++ b/chunkwmrc @@ -0,0 +1,138 @@ +#!/bin/bash + +# +# NOTE: any 'chunkc' command that is run from this config file +# that is NOT 'chunkc core::<..>' or 'chunkc set ..' +# MUST be put in the background using & +# +# e.g: +# chunkc tiling::rule --owner Finder --name Copy --state float & +# + +# +# NOTE: specify the absolutepath of the file to use for logging. +# 'stdout' or 'stderr' can be used instead of an actual filepath. +# + +chunkc core::log_file ~/chunk.log + +# +# NOTE: specify the desired level of logging. +# +# - none, debug, profile, warn, error +# + +chunkc core::log_level debug + +# +# NOTE: specify the absolutepath to the directory to use when loading a plugin. +# + +chunkc core::plugin_dir /usr/local/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 0 + +# +# NOTE: the following are config variables for the chunkwm-tiling plugin. +# + +chunkc set custom_bar_enabled 0 +chunkc set custom_bar_all_monitors 0 +chunkc set custom_bar_offset_top 22 +chunkc set custom_bar_offset_bottom 0 +chunkc set custom_bar_offset_left 0 +chunkc set custom_bar_offset_right 0 + +chunkc set global_desktop_mode bsp +chunkc set global_desktop_offset_top 12 +chunkc set global_desktop_offset_bottom 12 +chunkc set global_desktop_offset_left 12 +chunkc set global_desktop_offset_right 12 +chunkc set global_desktop_offset_gap 8 + +# +# NOTE: syntax for desktop-specific settings +# +# chunkc set 2_desktop_mode monocle +# chunkc set 5_desktop_mode float +# chunkc set 3_desktop_offset_top 190 +# chunkc set 3_desktop_offset_bottom 190 +# chunkc set 3_desktop_offset_left 190 +# chunkc set 3_desktop_offset_right 190 +# chunkc set 3_desktop_offset_gap 30 +# + +chunkc set desktop_padding_step_size 8.0 +chunkc set desktop_gap_step_size 2.0 + +chunkc set bsp_spawn_left 1 +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 + +chunkc set mouse_move_window \"fn 1\" +chunkc set mouse_resize_window \"fn 2\" +chunkc set mouse_motion_interval 35 + +chunkc set preselect_border_color 0xffd75f5f +chunkc set preselect_border_width 5 + +# +# 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 0.85 +chunkc set window_fade_duration 0.25 +chunkc set window_use_cgs_move 0 + +# +# NOTE: the following are config variables for the chunkwm-border plugin. +# + +chunkc set focused_border_color 0xff0f6288 +chunkc set focused_border_width 5 +chunkc set focused_border_radius 4 +chunkc set focused_border_skip_floating 1 +chunkc set focused_border_skip_monocle 1 + +# +# NOTE: the following are config variables for the chunkwm-ffm plugin. +# + +chunkc set ffm_bypass_modifier fn +chunkc set ffm_standby_on_float 1 + +# +# NOTE: specify plugins to load when chunkwm starts. +# + +chunkc core::load border.so +chunkc core::load tiling.so +# chunkc core::load ffm.so + +# +# NOTE: sample rules for the tiling plugin +# + +chunkc tiling::rule --owner Finder --name Copy --state float & +chunkc tiling::rule --owner \"App Store\" --state float & +chunkc tiling::rule --owner \"Acorn\" --state float & +chunkc tiling::rule --owner \"DaisyDisk\" --state float & +chunkc tiling::rule --owner \"ImageOptim\" --state float & +chunkc tiling::rule --owner Emacs --except "^$" --state tile & diff --git a/skhdrc b/skhdrc new file mode 100644 index 0000000..ecd00ce --- /dev/null +++ b/skhdrc @@ -0,0 +1,44 @@ +# enter fullscreen mode for the focused container +alt - f : chunkc tiling::window --toggle fullscreen + +# change focus between tiling / floating windows +shift + alt - space : chunkc tiling::window --toggle float + +# change layout of desktop +alt - e : chunkc tiling::desktop --layout bsp +alt - s : chunkc tiling::desktop --layout monocle + +# kill focused window +shift + alt - q : chunkc tiling::window --close + +# change focus +alt - h : chunkc tiling::window --focus west +alt - j : chunkc tiling::window --focus south +alt - k : chunkc tiling::window --focus north +alt - l : chunkc tiling::window --focus east + +alt - p : chunkc tiling::window --focus prev +alt - n : chunkc tiling::window --focus next + +# move focused window +shift + alt - h : chunkc tiling::window --warp west +shift + alt - j : chunkc tiling::window --warp south +shift + alt - k : chunkc tiling::window --warp north +shift + alt - l : chunkc tiling::window --warp east + +alt - r : chunkc tiling::desktop --rotate 90 + +# move focused container to workspace +shift + alt - m : chunkc tiling::window --send-to-desktop $(chunkc get _last_active_desktop) +shift + alt - p : chunkc tiling::window --send-to-desktop prev +shift + alt - n : chunkc tiling::window --send-to-desktop next +shift + alt - 1 : chunkc tiling::window --send-to-desktop 1 +shift + alt - 2 : chunkc tiling::window --send-to-desktop 2 +shift + alt - 3 : chunkc tiling::window --send-to-desktop 3 +shift + alt - 4 : chunkc tiling::window --send-to-desktop 4 +shift + alt - 5 : chunkc tiling::window --send-to-desktop 5 +shift + alt - 6 : chunkc tiling::window --send-to-desktop 6 + +# float / unfloat window and center on screen +alt - t : chunkc tiling::window --toggle float;\ + chunkc tiling::window --grid-layout 4:4:1:1:2:2