1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | # ref https://github.com/koekeishiya/skhd/issues/1
# note command h j k l are remapped and all chords
# open terminal
cmd - return : open -na /Applications/kitty.app
# close focused window
alt - w : chunkc tiling::window --close
shift + cmd - r : brew services restart chunkwm
# focus window
alt - h : chunkc tiling::window --focus west
cmd - h : chunkc tiling::window --focus west
alt - j : chunkc tiling::window --focus south
cmd - j : chunkc tiling::window --focus south
alt - k : chunkc tiling::window --focus north
cmd - k : chunkc tiling::window --focus north
alt - l : chunkc tiling::window --focus east
cmd - l : chunkc tiling::window --focus east
#cmd - j : chunkc tiling::window --focus prev
#cmd - k : chunkc tiling::window --focus next
# equalize size of windows - never used
shift + alt - 0 : chunkc tiling::desktop --equalize
# swap window - barely used
shift + alt - h : chunkc tiling::window --swap west
shift + alt - j : chunkc tiling::window --swap south
shift + alt - k : chunkc tiling::window --swap north
shift + alt - l : chunkc tiling::window --swap east
# move window
shift + cmd - h : chunkc tiling::window --warp west
shift + cmd - j : chunkc tiling::window --warp south
shift + cmd - k : chunkc tiling::window --warp north
shift + cmd - l : chunkc tiling::window --warp east
# make floating window fill screen
shift + alt - up : chunkc tiling::window --grid-layout 1:1:0:0:1:1
# make floating window fill left-half of screen
shift + alt - left : chunkc tiling::window --grid-layout 1:2:0:0:1:1
# make floating window fill right-half of screen
shift + alt - right : chunkc tiling::window --grid-layout 1:2:1:0:1:1
# send window to desktop
shift + alt - x : chunkc tiling::window --send-to-desktop $(chunkc get _last_active_desktop)
shift + alt - z : chunkc tiling::window --send-to-desktop prev
shift + alt - c : 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
# focus monitor
ctrl + alt - z : chunkc tiling::monitor -f prev
ctrl + alt - c : chunkc tiling::monitor -f next
ctrl + alt - 1 : chunkc tiling::monitor -f 1
ctrl + alt - 2 : chunkc tiling::monitor -f 2
ctrl + alt - 3 : chunkc tiling::monitor -f 3
# send window to monitor and follow focus
ctrl + cmd - z : chunkc tiling::window --send-to-monitor prev; chunkc tiling::monitor -f prev
ctrl + cmd - c : chunkc tiling::window --send-to-monitor next; chunkc tiling::monitor -f next
ctrl + cmd - 1 : chunkc tiling::window --send-to-monitor 1; chunkc tiling::monitor -f 1
ctrl + cmd - 2 : chunkc tiling::window --send-to-monitor 2; chunkc tiling::monitor -f 2
ctrl + cmd - 3 : chunkc tiling::window --send-to-monitor 3; chunkc tiling::monitor -f 3
# increase region size
shift + alt - a : chunkc tiling::window --use-temporary-ratio 0.1 --adjust-window-edge west
shift + alt - s : chunkc tiling::window --use-temporary-ratio 0.1 --adjust-window-edge south
shift + alt - w : chunkc tiling::window --use-temporary-ratio 0.1 --adjust-window-edge north
shift + alt - d : chunkc tiling::window --use-temporary-ratio 0.1 --adjust-window-edge east
# decrease region size
shift + cmd - a : chunkc tiling::window --use-temporary-ratio -0.1 --adjust-window-edge west
shift + cmd - s : chunkc tiling::window --use-temporary-ratio -0.1 --adjust-window-edge south
shift + cmd - w : chunkc tiling::window --use-temporary-ratio -0.1 --adjust-window-edge north
shift + cmd - d : chunkc tiling::window --use-temporary-ratio -0.1 --adjust-window-edge east
# set insertion point for focused container
ctrl + alt - f : chunkc tiling::window --use-insertion-point cancel
ctrl + alt - h : chunkc tiling::window --use-insertion-point west
ctrl + alt - j : chunkc tiling::window --use-insertion-point south
ctrl + alt - k : chunkc tiling::window --use-insertion-point north
ctrl + alt - l : chunkc tiling::window --use-insertion-point east
|
x
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | #!/bin/bash
#
# NOTE: specify the absolutepath to the directory to use when
# loading a plugin. '~' expansion is supported.
#
chunkc core::plugin_dir ~/.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 2_desktop_mode monocle
#chunkc set 5_desktop_mode float
chunkc set global_desktop_offset_top 10
chunkc set global_desktop_offset_bottom 10
chunkc set global_desktop_offset_left 10
chunkc set global_desktop_offset_right 10
chunkc set global_desktop_offset_gap 10
#chunkc set 1_desktop_offset_top 20
#chunkc set 1_desktop_offset_bottom 20
#chunkc set 1_desktop_offset_left 20
#chunkc set 1_desktop_offset_right 20
#chunkc set 1_desktop_offset_gap 15
#chunkc set 3_desktop_offset_top 20
#chunkc set 3_desktop_offset_bottom 20
#chunkc set 3_desktop_offset_left 20
#chunkc set 3_desktop_offset_right 20
chunkc set desktop_padding_step_size 10.0
chunkc set desktop_gap_step_size 5.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 1
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 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 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 0
chunkc set focused_border_skip_floating 0
#
# NOTE: specify plugins to load when chunkwm starts.
# if chunkc plugin_dir is not set, the absolutepath is necessary.
#
|
x
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | # vim:fileencoding=utf-8:ft=conf
# Font family. You can also specify different fonts for the
# bold/italic/bold-italic variants. By default they are derived automatically,
# by the OSes font system. Setting them manually is useful for font families # that have many weight variants like Book, Medium, Thick, etc. For example:
# font_family Operator Mono Book
# bold_font Operator Mono Medium
# italic_font Operator Mono Book Italic
# bold_italic_font Operator Mono Medium Italic
#
# You can get a list of full family names available on your computer by running
# kitty list-fonts
font_family Source Code Pro Regular
italic_font Source Code Pro Italic
bold_font Source Code Pro Bold
bold_italic_font Source Code Pro Bold Italic
# Font size (in pts)
font_size 14.0
# The amount the font size is changed by (in pts) when increasing/decreasing
# the font size in a running terminal.
font_size_delta 2
# Adjust the line height.
# You can use either numbers, which are interpreted as pixels or percentages
# (number followed by %), which are interpreted as percentages of the
# unmodified line height. You can use negative pixels or percentages less than
# 100% to reduce line height (but this might cause rendering artifacts).
adjust_line_height 0
# Change the sizes of the lines used for the box drawing unicode characters
# These values are in pts. They will be scaled by the monitor DPI to arrive at
# a pixel value. There must be four values corresponding to thin, normal, thick,
# and very thick lines;
box_drawing_scale 0.001, 1, 1.5, 2
# The foreground color
foreground #839496
# The background color
background #002b36
# The opacity of the background. A number between 0 and 1, where 1 is opaque and 0 is fully transparent.
# This will only work if supported by the OS (for instance, when using a compositor under X11). Note
# that it only sets the default background color's opacity. This is so that
# things like the status bar in vim, powerline prompts, etc. still look good.
# But it means that if you use a color theme with a background color in your
# editor, it will not be rendered as transparent. Instead you should change the
# default background color in your kitty config and not use a background color
# in the editor color scheme. Or use the escape codes to set the terminals
# default colors in a shell script to launch your editor.
# Be aware that using a value less than 1.0 is a (possibly significant) performance hit.
background_opacity .9
# The foreground for selections
selection_foreground #000000
# The background for selections
selection_background #FFFACD
# The color and style for highlighting URLs on mouse-over. url_style can be one of:
|
x
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | " super cool vimrc
set nocompatible
"filetype off
"vundle nonsense
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
"Plugin list, vundle first
Plugin 'VundleVim/Vundle.vim'
Plugin 'scrooloose/nerdtree'
Plugin 'altercation/vim-colors-solarized'
Plugin 'kien/ctrlp.vim'
"Plugin 'scrooloose/syntastic'
"Plugin 'dougireton/vim-chef'
Plugin 'vimwiki/vimwiki'
Plugin 'momota/cisco.vim'
Plugin 'mhinz/vim-rfc'
Plugin 'mhinz/vim-startify'
Plugin 'markabe/vim-jira-open'
Plugin 'powerman/vim-plugin-AnsiEsc'
"end vundle nonsense
call vundle#end()
filetype plugin indent on
"statusline fun
set laststatus=2
set statusline=%<%f\ " Filename
set statusline+=%w%h%m%r " Options
set statusline+=%{HasPaste()} "paste info
set statusline+=\ [%{&ff}/%Y] " filetype
set statusline+=\ [%{CurDir()}] " current dir
set statusline+=%#warningmsg#
" set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*
set statusline+=%=%-14.(%l,%c%V%)\ %p%% " Right aligned file nav info
" Filetype plugin
syntax on
" Set to autoread when a file is changed from the outside
set autoread
" Always show cursor position
set ruler
" When both of these are on, vim only pays attention to case in
" searches when
" a capital is present
set ignorecase
set smartcase
" Highlight all search pattern matches
set hlsearch
" Am I in insert or command?
set showmode
" Show matching parens braces etc
set showmatch
" Blink 2/10'th of a second on matching braces
set mat=2
" Expand tabs out to spaces
set expandtab
" Two spaces to be exact
set shiftwidth=2
" Tabs are also two space width (may cause issues with python without
" filetype
" indent on
set tabstop=2
" Line numbers
set number
" We don't need annoying backup files
set nobackup
set nowritebackup
" Or annoying swp files. Especially swp files.
set noswapfile
" If the file on disk changes, reload it
set autoread
" Yank to the system clipboard register by default
set clipboard=unnamed
" Always show the status line
set laststatus=2
" Sets color of search results
hi Search ctermbg=white
"colorscheme
set background=dark
"colorscheme solarized
"vim-jira-open
let g:jira_browse_url = 'https://jira.schrodinger.com/browse/'
"startify
|
x
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | export PATH=/usr/local/bin:$PATH
# Path to your oh-my-zsh installation.
export ZSH=/Users/nason/.oh-my-zsh
zstyle ':completion:*' completer _complete _ignored _approximate
zstyle ':completion:*' list-colors ''
zstyle ':completion:*' matcher-list 'm:{[:lower:][:upper:]}={[:upper:][:lower:]}' 'r:|[._-]=** r:|=**' 'l:|=* r:|=*'
zstyle ':completion:*' max-errors 1
zstyle :compinstall filename '/home/anason/.zshrc'
autoload -Uz compinit
compinit
HISTFILE=~/.histfile
HISTSIZE=1000
SAVEHIST=1000
setopt appendhistory autocd beep extendedglob notify
ZSH_THEME="robbyrussell"
ENABLE_CORRECTION="true"
COMPLETION_WAITING_DOTS="true"
plugins=(git last-working-dir)
source $ZSH/oh-my-zsh.sh
|
x
Notes
Requires:
shortcut launcher: I use jenkins
skhd or khd: I use skhd
chunkwm
kitty (or another terminal that supports launching via shell, iterm does not do this)
https://github.com/koekeishiya/chunkwm
https://github.com/koekeishiya/skhd
https://github.com/kovidgoyal/kitty