Ditch kwm/khd — use hammerspoon instead

main
Steffen Rademacker 7 years ago
parent 3d783b96b0
commit 387af55664

@ -17,8 +17,9 @@ brew install openssl
brew install php70 --with-homebrew-curl --with-homebrew-openssl
brew install php70-intl
brew install php70-mcrypt
brew install rsync
brew install rbenv
brew install rsync
brew install shpotify
brew install the_silver_searcher
brew install youtube-dl

@ -18,8 +18,6 @@ export PATH=/usr/local/bin:/usr/local/sbin:$PATH
brew install clipper
brew install fzf
brew install git
brew install koekeishiya/formulae/kwm
brew install koekeishiya/formulae/khd
brew install tmux
brew install zsh
read -p "Press any key to continue... " -n1 -s
@ -35,13 +33,13 @@ read -p "Press any key to continue... " -n1 -s
# link the dotfiles
mkdir ~/.config
ln -s ~/dotfiles/agignore ~/.agignore
ln -s ~/dotfiles/nvim ~/.config/nvim
ln -s ~/dotfiles/editorconfig ~/.editorconfig
ln -s ~/dotfiles/gemrc ~/.gemrc
ln -s ~/dotfiles/gitconfig ~/.gitconfig
ln -s ~/dotfiles/gitignore ~/.gitignore
ln -s ~/dotfiles/khdrc ~/.khdrc
ln -s ~/dotfiles/kwm ~/.kwm
ln -s ~/dotfiles/hammerspoon ~/.hammerspoon
ln -s ~/dotfiles/karabiner ~/.config/karabiner
ln -s ~/dotfiles/nvim ~/.config/nvim
ln -s ~/dotfiles/ruby-version ~/.ruby-version
ln -s ~/dotfiles/tmux.conf ~/.tmux.conf
ln -s ~/dotfiles/zsh ~/.zsh
@ -53,18 +51,17 @@ read -p "Press any key to continue... " -n1 -s
read -p "Press any key to continue... " -n1 -s
# this is the minimal software and fonts used
brew cask install caskroom/fonts/font-hack
brew cask install forklift
brew cask install hammerspoon
brew cask install nextcloud
brew cask install caskroom/fonts/font-hack
read -p "Press any key to continue... " -n1 -s
brew tap homebrew/services
# clipper + kwm/khd
# clipper
mkdir -p ~/Library/LaunchAgents
brew services start clipper
brew services start khd
brew services start kwm
read -p "Press any key to continue... " -n1 -s
# install deps + plugins for neovim

73
khdrc

@ -1,73 +0,0 @@
# a short keypress on the left ctrl is esc
khd mod_trigger_timeout 0.2
lctrl: khd -p "0x35"
# enable kwm compatibility mode
khd kwm on
# shortcuts for moving focus with kwmc
ctrl+cmd - h: kwmc window -f west
ctrl+cmd - l: kwmc window -f east
ctrl+cmd - j: kwmc window -f south
ctrl+cmd - k: kwmc window -f north
# use [ and ] to switch focus of displays with kwmc
ctrl+cmd - 0x21: kwmc display -f 0
ctrl+cmd - 0x1E: kwmc display -f 1
# moving windows around with kwmc
ralt - h: kwmc window -s west
ralt - j: kwmc window -s south
ralt - k: kwmc window -s north
ralt - l: kwmc window -s east
ralt - 0x21: kwmc window -m display 0
ralt - 0x1E: kwmc window -m display 1
# rotate and fullscreen and switch modes
ralt - f: kwmc window -t focused
ralt - r: kwmc tree rotate 90
ralt - 1: kwmc space -t bsp
ralt - 2: kwmc space -t monocle
ralt - 3: kwmc space -t float
# set border color for different modes
khd mode resizer color 0xff5e8d87
khd mode vimmode color 0xffa54242
# toggle between modes
ralt - a: khd -e "mode activate resizer"; kwmc config border focused on; # a as used in tmux as well
ralt - v: khd -e "mode activate vimmode"; kwmc config border focused on; # v for vim mode
resizer + ralt - a: khd -e "mode activate default"; kwmc config border focused off;
vimmode + ralt - v: khd -e "mode activate default"; kwmc config border focused off;
# resizer mode
resizer - 1: kwmc window -c type bsp
resizer - 2: kwmc window -c type monocle
resizer - 3: kwmc window -c type float
resizer - h: kwmc window -c expand 0.02 west
resizer - l: kwmc window -c expand 0.02 east
resizer - j: kwmc window -c expand 0.02 south
resizer - k: kwmc window -c expand 0.02 north
resizer - a: kwmc window -c reduce 0.02 east
resizer - d: kwmc window -c reduce 0.02 west
resizer - w: kwmc window -c reduce 0.02 south
resizer - s: kwmc window -c reduce 0.02 north
resizer - p: kwmc window -z parent
resizer - f: kwmc window -z fullscreen
resizer - t: kwmc window -c split-mode toggle
resizer - 0x35: khd -e "mode activate default"; kwmc config border focused off;
# basic vim movements + commands
vimmode - h: khd -p "- left"
vimmode - l: khd -p "- right"
vimmode - j: khd -p "- down"
vimmode - k: khd -p "- up"
vimmode - b: khd -p "lalt - left"
vimmode - w: khd -p "lalt - right"
vimmode+shift - 6: khd -p "cmd - left"
vimmode+shift - 4: khd -p "cmd - right"
vimmode - g: khd -p "alt - up"
vimmode+shift - g: khd -p "alt - down"
vimmode - x: khd -p "cmd - w"
vimmode - q: khd -p "cmd - q"
vimmode - 0x35: khd -e "mode activate default"; kwmc config border focused off;

@ -1,55 +0,0 @@
# default config
kwmc config optimal-ratio 1.618
kwmc config spawn right
kwmc config float-non-resizable on
kwmc config lock-to-container on
kwmc config focus-follows-mouse off
kwmc config standby-on-float off
kwmc config center-on-float on
kwmc config cycle-focus on
kwmc config mouse-follows-focus on
kwmc config mouse-drag off
kwmc config mouse-drag mod ctrl+cmd+alt+shift
kwmc config hotkeys on
kwmc config split-ratio 0.5
# no border, use hazeover instead
kwmc config border focused off
kwmc config border focused size 2
kwmc config border focused radius 6
# default is bsp with a padding of 6
kwmc config tiling bsp
kwmc config padding 2 2 2 2
kwmc config gap 2 2
# override displays, if there are two
kwmc config display 0 mode bsp
kwmc config display 0 float-dim 1200 800
kwmc config display 1 mode monocle
kwmc config display 1 float-dim 1200 800
# blacklist applications from kwms tiling
kwmc rule owner="1Password" properties={float="true"}
kwmc rule owner="Dash" properties={float="true"}
kwmc rule owner="Finder" properties={float="true"}
kwmc rule owner="ImageOptim" properties={float="true"}
kwmc rule owner="System Preferences" properties={float="true"}
kwmc rule owner="Telegram" properties={float="true"}
kwmc rule owner="Tweetbot" properties={float="true"}
# those apps should always be on the main display
kwmc rule owner="Firefox" properties={display="0"}
kwmc rule owner="Google Chrome" properties={display="0"}
kwmc rule owner="HyperTerm" properties={display="0"}
kwmc rule owner="Safari" properties={display="0"}
kwmc rule owner="Terminal" properties={display="0"}
# and those should be on the secondary display
kwmc rule owner="Calendar" properties={display="1"}
kwmc rule owner="Dash" properties={display="1"}
kwmc rule owner="ForkLift" properties={display="1"}
kwmc rule owner="Mail" properties={display="1"}
kwmc rule owner="Messages" properties={display="1"}
kwmc rule owner="Skype" properties={display="1"}
kwmc rule owner="Telegram" properties={display="1"}
Loading…
Cancel
Save