mirror of https://github.com/einverne/dotfiles.git
Ein Verne
4 years ago
36 changed files with 1018 additions and 255 deletions
@ -0,0 +1,13 @@
|
||||
[submodule "dotbot"] |
||||
path = dotbot |
||||
url = https://github.com/anishathalye/dotbot |
||||
ignore = dirty |
||||
[submodule "dotbot-brew"] |
||||
path = dotbot-brew |
||||
url = https://github.com/d12frosted/dotbot-brew.git |
||||
[submodule "dotbot-asdf"] |
||||
path = dotbot-asdf |
||||
url = https://github.com/sobolevn/dotbot-asdf.git |
||||
[submodule "hammerspoon/stackline"] |
||||
path = hammerspoon/stackline |
||||
url = https://github.com/AdamWagner/stackline.git |
@ -1,98 +1,138 @@
|
||||
# If you come from bash you might have to change your $PATH. |
||||
# export PATH=$HOME/bin:/usr/local/bin:$PATH |
||||
|
||||
# you need to git clone [email protected]:zsh-users/antigen.git to $HOME |
||||
if [[ -d $HOME/antigen ]]; then |
||||
source $HOME/antigen/antigen.zsh |
||||
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc. |
||||
# Initialization code that may require console input (password prompts, [y/n] |
||||
# confirmations, etc.) must go above this block; everything else may go below. |
||||
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then |
||||
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" |
||||
fi |
||||
|
||||
if [[ -f "$HOME/antigen.zsh" ]]; then |
||||
source $HOME/antigen.zsh |
||||
if [[ ! -f ~/.zinit/bin/zinit.zsh ]]; then |
||||
mkdir ~/.zinit |
||||
git clone https://github.com/zdharma/zinit.git ~/.zinit/bin |
||||
fi |
||||
|
||||
if [[ -f "$HOME/dotfiles/wp-completion.bash" ]]; then |
||||
autoload bashcompinit |
||||
bashcompinit |
||||
source $HOME/dotfiles/wp-completion.bash |
||||
fi |
||||
# load zinit |
||||
source ~/.zinit/bin/zinit.zsh |
||||
|
||||
# 快速目录跳转 |
||||
zinit ice lucid wait='1' |
||||
# Turbo mode with "wait" |
||||
zinit light-mode lucid wait for \ |
||||
is-snippet OMZ::lib/history.zsh \ |
||||
MichaelAquilina/zsh-you-should-use \ |
||||
romkatv/zsh-prompt-benchmark \ |
||||
zdharma/history-search-multi-word \ |
||||
atload"unalias zi; alias zi='zinit'" \ |
||||
ajeetdsouza/zoxide |
||||
|
||||
# Ref: zdharma/fast-syntax-highlighting |
||||
# Note: Use wait 1 second works for kubectl |
||||
zinit wait lucid for \ |
||||
atinit"ZINIT[COMPINIT_OPTS]=-C; zicompinit; zicdreplay" \ |
||||
zdharma/fast-syntax-highlighting \ |
||||
atload"zpcdreplay" wait"1" \ |
||||
OMZP::kubectl \ |
||||
blockf \ |
||||
zsh-users/zsh-completions \ |
||||
atload"!_zsh_autosuggest_start" \ |
||||
zsh-users/zsh-autosuggestions \ |
||||
as"completion" is-snippet \ |
||||
https://github.com/docker/cli/blob/master/contrib/completion/zsh/_docker \ |
||||
https://github.com/docker/compose/blob/master/contrib/completion/zsh/_docker-compose |
||||
|
||||
# 语法高亮 |
||||
zinit ice lucid wait='0' atinit='zpcompinit' |
||||
zinit light zdharma/fast-syntax-highlighting |
||||
|
||||
# 自动建议 |
||||
zinit ice lucid wait="0" atload='_zsh_autosuggest_start' |
||||
zinit light zsh-users/zsh-autosuggestions |
||||
|
||||
# 补全 |
||||
zinit ice lucid wait='0' |
||||
zinit light zsh-users/zsh-completions |
||||
|
||||
# 加载 OMZ 框架及部分插件 |
||||
zinit snippet OMZ::lib/completion.zsh |
||||
zinit snippet OMZ::lib/history.zsh |
||||
zinit snippet OMZ::lib/key-bindings.zsh |
||||
zinit snippet OMZ::lib/theme-and-appearance.zsh |
||||
zinit snippet OMZ::plugins/colored-man-pages/colored-man-pages.plugin.zsh |
||||
zinit snippet OMZ::plugins/sudo/sudo.plugin.zsh |
||||
zinit snippet OMZ::plugins/git-flow/git-flow.plugin.zsh |
||||
zinit snippet OMZ::plugins/autojump/autojump.plugin.zsh |
||||
zinit snippet OMZ::plugins/mvn/mvn.plugin.zsh |
||||
zinit snippet OMZ::plugins/tmux/tmux.plugin.zsh |
||||
zinit snippet OMZ::plugins/tmuxinator/tmuxinator.plugin.zsh |
||||
zinit snippet OMZ::plugins/command-not-found/command-not-found.plugin.zsh |
||||
zinit snippet OMZ::plugins/pip/pip.plugin.zsh |
||||
|
||||
zinit ice lucid wait='1' |
||||
zinit snippet OMZ::plugins/git/git.plugin.zsh |
||||
|
||||
# Gitignore plugin – commands gii and gi |
||||
zinit ice wait"2" lucid |
||||
zinit load voronkovich/gitignore.plugin.zsh |
||||
|
||||
zinit load djui/alias-tips |
||||
|
||||
|
||||
export ASDF_DIR=$(brew --prefix asdf) |
||||
|
||||
# Load the oh-my-zsh's library. |
||||
antigen use oh-my-zsh |
||||
|
||||
# Bundles from the default repo (robbyrussell's oh-my-zsh). |
||||
antigen bundle asdf |
||||
antigen bundle gem |
||||
antigen bundle git |
||||
antigen bundle git-extras |
||||
antigen bundle git-flow |
||||
antigen bundle mvn |
||||
antigen bundle tig |
||||
antigen bundle heroku |
||||
antigen bundle lein |
||||
antigen bundle command-not-found |
||||
antigen bundle tmux |
||||
antigen bundle tmuxinator |
||||
antigen bundle docker |
||||
antigen bundle docker-compose |
||||
|
||||
# Syntax highlighting bundle. |
||||
antigen bundle zsh-users/zsh-syntax-highlighting |
||||
antigen bundle zsh-users/zsh-autosuggestions |
||||
antigen bundle zsh-users/zsh-completions |
||||
antigen bundle Tarrasch/zsh-autoenv |
||||
antigen bundle rupa/z |
||||
antigen bundle supercrabtree/k |
||||
antigen bundle zsh-users/zsh-history-substring-search |
||||
#antigen bundle tylerreckart/hyperzsh |
||||
#antigen bundle extract |
||||
antigen bundle z |
||||
#antigen bundle mafredri/zsh-async |
||||
#antigen bundle sindresorhus/pure |
||||
antigen bundle unixorn/autoupdate-antigen.zshplugin |
||||
|
||||
antigen bundle djui/alias-tips |
||||
|
||||
# Python Plugins |
||||
antigen bundle pip |
||||
antigen bundle python |
||||
antigen bundle virtualenv |
||||
|
||||
# ASDF |
||||
if [ -d "$HOME/.asdf" ]; then |
||||
# zinit ice wait lucid |
||||
# zinit light asdf-vm/asdf |
||||
# OR |
||||
load_asdf() { |
||||
source $HOME/.asdf/asdf.sh |
||||
} |
||||
|
||||
zinit light-mode wait lucid for \ |
||||
atload'load_asdf' \ |
||||
zdharma/null |
||||
fi |
||||
|
||||
# zinit light denysdovhan/spaceship-prompt |
||||
zinit ice depth=1; zinit light romkatv/powerlevel10k |
||||
|
||||
zinit ice as"program" from"gh-r" mv"exa* -> exa" pick"exa/exa" lucid atload"alias ls='exa --icons'" |
||||
zinit light ogham/exa |
||||
|
||||
# OS specific plugins |
||||
case `uname` in |
||||
Darwin) |
||||
antigen bundle brew |
||||
antigen bundle brew-cask |
||||
antigen bundle osx |
||||
# zinit bundle kiurchv/asdf.plugin.zsh |
||||
;; |
||||
FreeBSD) |
||||
;; |
||||
esac |
||||
|
||||
if type brew &>/dev/null; then |
||||
echo "brew completion" |
||||
FPATH=$(brew --prefix)/share/zsh/site-functions:$FPATH |
||||
#fpath=$(brew --prefix)/share/zsh-completions:$fpath |
||||
fpath=($HOME/.asdf/completions $fpath) |
||||
|
||||
#if type brew &>/dev/null; then |
||||
# echo "brew completion" |
||||
# FPATH=$(brew --prefix)/share/zsh/site-functions:$FPATH |
||||
# #fpath=$(brew --prefix)/share/zsh-completions:$fpath |
||||
# fpath=($HOME/.asdf/completions $fpath) |
||||
#fi |
||||
|
||||
#. $(brew --prefix asdf)/asdf.sh |
||||
#. $(brew --prefix asdf)/etc/bash_completion.d/asdf.bash |
||||
# Compinit : After zinits, before cdreplay |
||||
# https://carlosbecker.com/posts/speeding-up-zsh/ |
||||
autoload -Uz compinit |
||||
if [ $(date +'%j') != $(stat -f '%Sm' -t '%j' ~/.zcompdump) ]; then |
||||
compinit; |
||||
else |
||||
compinit -C; |
||||
fi |
||||
|
||||
autoload -Uz compinit && compinit |
||||
. $(brew --prefix asdf)/asdf.sh |
||||
. $(brew --prefix asdf)/etc/bash_completion.d/asdf.bash |
||||
|
||||
|
||||
# Load the theme. |
||||
# antigen theme agnoster |
||||
# workaround for https://github.com/zsh-users/antigen/issues/675 |
||||
THEME=denysdovhan/spaceship-prompt |
||||
antigen list | grep $THEME; if [ $? -ne 0 ]; then antigen theme $THEME; fi |
||||
# zinit theme agnoster |
||||
# workaround for https://github.com/zsh-users/zinit/issues/675 |
||||
|
||||
|
||||
# Tell Antigen that you're done. |
||||
antigen apply |
||||
# Tell zinit that you're done. |
||||
# zinit apply |
||||
|
||||
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=6' |
||||
|
||||
@ -118,10 +158,6 @@ ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=6'
|
||||
# plugins, and themes. Aliases can be placed here, though oh-my-zsh |
||||
# users are encouraged to define aliases within the ZSH_CUSTOM folder. |
||||
# For a full list of active aliases, run `alias`. |
||||
# |
||||
# Example aliases |
||||
# alias zshconfig="mate ~/.zshrc" |
||||
# alias ohmyzsh="mate ~/.oh-my-zsh" |
||||
|
||||
|
||||
#transfer() { if [ $# -eq 0 ]; then echo -e "No arguments specified. Usage:\necho transfer /tmp/test.md\ncat /tmp/test.md | transfer test.md"; return 1; fi |
||||
@ -147,7 +183,7 @@ fi
|
||||
|
||||
ZSH_DISABLE_COMPFIX=true |
||||
|
||||
fpath=(~/.zsh/completions $fpath) |
||||
# fpath=(~/.zsh/completions $fpath) |
||||
|
||||
# space |
||||
SPACESHIP_DIR_SHOW="${SPACESHIP_DIR_SHOW=true}" |
||||
@ -162,4 +198,5 @@ SPACESHIP_DIR_COLOR="${SPACESHIP_DIR_COLOR="cyan"}"
|
||||
# usage adb-screencap > screen.png |
||||
alias adbcap="adb shell screencap -p" |
||||
|
||||
|
||||
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh. |
||||
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh |
||||
|
@ -0,0 +1,69 @@
|
||||
tap "homebrew/cask" |
||||
tap "homebrew/cask-fonts" |
||||
tap "github/gh" |
||||
tap "koekeishiya/formulae" |
||||
tap "narze/taps" |
||||
tap "yqrashawn/goku" |
||||
|
||||
brew "awscli" |
||||
brew "bat" |
||||
# brew "diff-so-fancy" |
||||
brew "ffmpeg" |
||||
brew "ghq" |
||||
brew "git" |
||||
brew "git-delta" |
||||
brew "git-flow" |
||||
brew "jq" |
||||
brew "mackup" |
||||
brew "magic-wormhole" |
||||
brew "mas" |
||||
brew "mpc" |
||||
brew "mpd" |
||||
brew "ncmpcpp" |
||||
brew "neofetch" |
||||
brew "reattach-to-user-namespace" |
||||
brew "terminal-notifier" |
||||
brew "tldr" |
||||
brew "tmux" |
||||
brew "tree" |
||||
brew "watch" |
||||
brew "zsh" |
||||
|
||||
brew "github/gh/gh" |
||||
brew "koekeishiya/formulae/skhd" |
||||
brew "koekeishiya/formulae/yabai" |
||||
brew "yqrashawn/goku/goku" |
||||
|
||||
cask "1password" |
||||
cask "alfred" |
||||
# cask "arq" # Wait for v5 compatability |
||||
cask "beardedspice" |
||||
cask "bitbar" |
||||
cask "dash" |
||||
cask "docker" |
||||
cask "dropbox" |
||||
cask "firefox" |
||||
cask "flux" |
||||
cask "font-firacode-nerd-font" |
||||
cask "font-fantasque-sans-mono-nerd-font" |
||||
cask "google-backup-and-sync" |
||||
cask "google-chrome" |
||||
cask "hazel" |
||||
cask "joplin" |
||||
cask "kitty" |
||||
cask "karabiner-elements" |
||||
cask "keyboard-maestro" |
||||
cask "ngrok" |
||||
cask "omnifocus" |
||||
cask "postgres" |
||||
cask "postman" |
||||
cask "rescuetime" |
||||
cask "setapp" |
||||
cask "slack" |
||||
cask "spotify" |
||||
cask "startupizer" |
||||
cask "syncthing" |
||||
cask "telegram" |
||||
cask "the-unarchiver" |
||||
cask "visual-studio-code" |
||||
cask "whatpulse" |
@ -0,0 +1,37 @@
|
||||
.PHONY: help |
||||
|
||||
help: ## Print command list
|
||||
@perl -nle'print $& if m{^[a-zA-Z_-]+:.*?## .*$$}' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
|
||||
|
||||
_prepare: |
||||
@git submodule update --init --recursive
|
||||
|
||||
_bootstrap: |
||||
@./install -c config/bootstrap.conf.yml
|
||||
|
||||
bootstrap: _prepare dotfiles _bootstrap ## Bootstrap new machine
|
||||
|
||||
dotfiles: ## Update dotfiles
|
||||
@./install
|
||||
|
||||
macos: ## Run macos script
|
||||
@./macos/init_mac.sh
|
||||
|
||||
brew: ## Install brew & cask packages
|
||||
@./install -c config/packages.conf.yml --plugin-dir dotbot-brew
|
||||
|
||||
tmux: ## Install non-brew tools eg. tmux package manager
|
||||
@./install -c config/tmux.conf.yml
|
||||
|
||||
asdf: ## Install asdf-vm
|
||||
@./install -c config/asdf-install.conf.yml --plugin-dir dotbot-brew
|
||||
@./install -c config/asdf.conf.yml --plugin-dir dotbot-asdf
|
||||
|
||||
update: ## Update everything
|
||||
@make _prepare
|
||||
@./install -c config/update.conf.yml
|
||||
|
||||
vim: ## Setup vim
|
||||
@./install -c config/vim.conf.yml
|
||||
|
||||
all: _prepare dotfiles _bootstrap brew tmux asdf ## Run all tasks at once
|
@ -4,19 +4,14 @@ dotfiles config contain vim, zsh, tmux configurations.
|
||||
|
||||
git clone [email protected]:einverne/dotfiles.git |
||||
cd dotfiles |
||||
bash bootstrap.sh |
||||
./install |
||||
|
||||
## Overview |
||||
|
||||
- zsh |
||||
- vim |
||||
- tmux |
||||
|
||||
With |
||||
|
||||
- [antigen](https://gtk.pw/antigen) to manage zsh plugins, `source ~/.zshrc` to install all zsh plugins |
||||
- [vim-plug](https://github.com/junegunn/vim-plug) to manage vim plugins, vim-plug relate configuration is under `vim-plug_vimrc`. In Vim, `:PlugInstall` to install all vim plugins. |
||||
- [tpm](https://github.com/tmux-plugins/tpm) to manage tmux plugins, in tmux, press `Ctrl +B` + `I` to install all tmux plugins. |
||||
- using [dotbot](https://github.com/anishathalye/dotbot/) to manage dotfiles |
||||
- zsh, using [zinit](https://github.com/zdharma/zinit/) as plugin management |
||||
- vim, using [vim-plug](https://github.com/junegunn/vim-plug) to manage vim plugins, vim-plug relate configuration is under `vim-plug_vimrc`. In Vim, `:PlugInstall` to install all vim plugins. |
||||
- tmux, using [tpm](https://github.com/tmux-plugins/tpm) to manage tmux plugins, in tmux, press `Ctrl +B` + `I` to install all tmux plugins. |
||||
|
||||
### zsh config |
||||
to see `.zshrc` file |
||||
|
@ -1,27 +0,0 @@
|
||||
# https://github.com/mathiasbynens/dotfiles/blob/main/brew.sh |
||||
brew update |
||||
brew upgrade |
||||
|
||||
# Install GNU `find`, `locate`, `updatedb`, and `xargs`, `g`-prefixed. |
||||
brew install findutils |
||||
# Install GNU `sed`, overwriting the built-in `sed`. |
||||
brew install gnu-sed --with-default-names |
||||
|
||||
# Install more recent versions of some macOS tools. |
||||
brew install vim --with-override-system-vi |
||||
# GNU multiple precision arithmetic library |
||||
brew install gmp |
||||
|
||||
# Install font tools. |
||||
# brew tap bramstein/webfonttools |
||||
# brew install sfnt2woff |
||||
# brew install sfnt2woff-zopfli |
||||
# brew install woff2 |
||||
|
||||
brew install ack |
||||
brew install git-lfs |
||||
brew install imagemagick --with-webp |
||||
brew install p7zip |
||||
|
||||
# Remove outdated versions from the cellar. |
||||
brew cleanup |
@ -0,0 +1,23 @@
|
||||
# Asdf dependencies |
||||
- brew: |
||||
- coreutils |
||||
- automake |
||||
- autoconf |
||||
- openssl |
||||
- libyaml |
||||
- readline |
||||
- libxslt |
||||
- libtool |
||||
- unixodbc |
||||
- unzip |
||||
- curl |
||||
|
||||
- shell: |
||||
- description: Clone asdf |
||||
quiet: true |
||||
command: | |
||||
if cd ~/.asdf; |
||||
then git pull; |
||||
else git clone https://github.com/asdf-vm/asdf.git ~/.asdf; |
||||
fi |
||||
|
@ -0,0 +1,17 @@
|
||||
- asdf: |
||||
- plugin: python |
||||
url: https://github.com/danhper/asdf-python.git |
||||
global: 3.7.8 |
||||
versions: |
||||
- 3.7.8 |
||||
- 3.6.1 |
||||
- plugin: ruby |
||||
url: https://github.com/asdf-vm/asdf-ruby.git |
||||
global: 2.6.5 |
||||
versions: |
||||
- 2.6.5 |
||||
- plugin: neovim |
||||
url: https://github.com/richin13/asdf-neovim.git |
||||
global: nightly |
||||
versions: |
||||
- nightly |
@ -0,0 +1,40 @@
|
||||
- brew: |
||||
- git |
||||
- mackup |
||||
- mas |
||||
- zsh |
||||
|
||||
# Setup zinit |
||||
- create: |
||||
- ~/.zinit |
||||
|
||||
- shell: |
||||
- description: Clone zinit |
||||
quiet: true |
||||
command: | |
||||
if cd ~/.zinit/bin; |
||||
then git pull; |
||||
else git clone https://github.com/zdharma/zinit.git ~/.zinit/bin; fi |
||||
|
||||
# Change default shell to zsh |
||||
- shell: |
||||
- description: Change default shell to zsh |
||||
quiet: true |
||||
command: | |
||||
update_shell() { |
||||
local shell_path; |
||||
shell_path="$(command -v zsh)" |
||||
|
||||
fancy_echo "Changing your shell to zsh ..." |
||||
if ! grep "$shell_path" /etc/shells > /dev/null 2>&1 ; then |
||||
fancy_echo "Adding '$shell_path' to /etc/shells" |
||||
sudo sh -c "echo $shell_path >> /etc/shells" |
||||
fi |
||||
sudo chsh -s "$shell_path" "$USER" |
||||
} |
||||
|
||||
update_shell |
||||
|
||||
- cask: |
||||
- lastpass |
||||
- syncthing |
@ -0,0 +1,42 @@
|
||||
- defaults: |
||||
link: |
||||
relink: true |
||||
force: true |
||||
|
||||
- clean: ['~'] |
||||
|
||||
- link: |
||||
~/.dotfiles: |
||||
force: true |
||||
path: '' |
||||
|
||||
- link: |
||||
~/.zshrc: |
||||
path: .zshrc |
||||
~/.gitconfig: |
||||
path: git/global.gitconfig |
||||
~/.gitignore_global: |
||||
path: git/gitignore_global |
||||
~/.tmux.conf: |
||||
path: tmux/.tmux.conf |
||||
~/.tmux.conf.local: |
||||
path: tmux/.tmux.conf.local |
||||
~/.vim: |
||||
path: .vim |
||||
~/.vimrc: |
||||
path: .vimrc |
||||
~/.ideavimrc: |
||||
path: idea/.ideavimrc |
||||
~/.hammerspoon: |
||||
if: '[ `uname` = Darwin ]' |
||||
path: hammerspoon |
||||
~/.mackup.cfg: |
||||
path: mackup/mackup.cfg |
||||
~/.Brewfile: |
||||
path: Brewfile |
||||
~/.skhdrc: |
||||
path: skhd/skhdrc |
||||
~/.yabairc: |
||||
path: yabai/yabairc |
||||
~/.yabai_focus_display: |
||||
path: yabai/yabai_focus_display |
@ -0,0 +1,10 @@
|
||||
- defaults: |
||||
link: |
||||
relink: true |
||||
|
||||
- create: |
||||
- ~/Git |
||||
- ~/projects |
||||
|
||||
- shell: |
||||
- cd ~/Git && git clone [email protected]:einverne/einverne.github.io.git |
@ -0,0 +1,15 @@
|
||||
- brew: |
||||
- tmux |
||||
|
||||
# Setup tpm : tmux plugin manager |
||||
- create: |
||||
- ~/.tmux/plugins |
||||
|
||||
- shell: |
||||
- description: Clone tpm |
||||
quiet: true |
||||
command: | |
||||
if cd ~/.tmux/plugins/tpm; |
||||
then git pull; |
||||
else git clone https://github.com/tmux-plugins/tpm.git ~/.tmux/plugins/tpm; |
||||
fi |
@ -0,0 +1,10 @@
|
||||
- shell: |
||||
- description: Zinit self update |
||||
command: zsh -i -c "zinit self-update" |
||||
- description: Zinit update |
||||
command: zsh -i -c "zinit update" |
||||
|
||||
- description: Brew update |
||||
command: brew update |
||||
- description: Cask update |
||||
command: brew cu -acy |
@ -0,0 +1,49 @@
|
||||
# Compiled source # |
||||
################### |
||||
*.com |
||||
*.class |
||||
*.dll |
||||
*.exe |
||||
*.o |
||||
*.so |
||||
|
||||
# Packages # |
||||
############ |
||||
# it's better to unpack these files and commit the raw source |
||||
# git has its own built in compression methods |
||||
*.7z |
||||
*.dmg |
||||
*.gz |
||||
*.iso |
||||
*.jar |
||||
*.rar |
||||
*.tar |
||||
*.zip |
||||
|
||||
# Logs and databases # |
||||
###################### |
||||
*.log |
||||
/*.sql |
||||
*.sqlite |
||||
|
||||
# OS generated files # |
||||
###################### |
||||
.DS_Store |
||||
.DS_Store? |
||||
._* |
||||
.Spotlight-V100 |
||||
.Trashes |
||||
ehthumbs.db |
||||
Thumbs.db |
||||
|
||||
# Redis snapshot |
||||
dump.rdb |
||||
|
||||
.vscode |
||||
.elixir_ls |
||||
|
||||
.githooks |
||||
.local |
||||
.history |
||||
|
||||
*.gitignored.* |
@ -0,0 +1,18 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
set -e |
||||
|
||||
CONFIG="config/install.conf.yml" |
||||
DOTBOT_DIR="dotbot" |
||||
|
||||
DOTBOT_BIN="bin/dotbot" |
||||
BASEDIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" |
||||
|
||||
cd "${BASEDIR}" |
||||
git -C "${DOTBOT_DIR}" submodule sync --quiet --recursive |
||||
git submodule update --init --recursive "${DOTBOT_DIR}" |
||||
|
||||
"${BASEDIR}/${DOTBOT_DIR}/${DOTBOT_BIN}" -d "${BASEDIR}" \ |
||||
--verbose \ |
||||
--plugin-dir dotbot-brew \ |
||||
-c "${CONFIG}" "${@}" |
@ -3,7 +3,6 @@ VIMDIR=${1:-$HOME}
|
||||
|
||||
# install ctags to solve "Exuberant ctags not found in PATH" error |
||||
sudo apt-get install -y git zsh zsh-antigen vim vim-gtk tmux |
||||
chsh -s $(which zsh) |
||||
sudo apt-get install -y exuberant-ctags |
||||
sudo apt-get install -y htop tree zip unzip wget nethogs |
||||
|
||||
@ -34,7 +33,6 @@ if [ "$use_vim_configs" == "Y" ] || [ "$use_vim_configs" == "y" ]; then
|
||||
# link zshrc |
||||
ln -rsf $PWD/.zshrc $VIMDIR/.zshrc 2> /dev/null |
||||
#curl -L git.io/antigen > $VIMDIR/antigen.zsh |
||||
git clone [email protected]:zsh-users/antigen.git $HOME/antigen |
||||
fi |
||||
|
||||
# install asdf |
||||
|
@ -0,0 +1,11 @@
|
||||
[storage] |
||||
engine = file_system |
||||
path = Sync |
||||
directory = Mackup |
||||
|
||||
[applications_to_sync] |
||||
macosx |
||||
|
||||
[applications_to_ignore] |
||||
karabiner-elements |
||||
|
@ -0,0 +1,352 @@
|
||||
#!/bin/bash |
||||
|
||||
# NOTE(koekeishiya): A list of all built-in modifier and literal keywords can |
||||
# be found at https://github.com/koekeishiya/skhd/issues/1 |
||||
# |
||||
# A hotkey is written according to the following rules: |
||||
# |
||||
# hotkey = <mode> '<' <action> | <action> |
||||
# |
||||
# mode = 'name of mode' | <mode> ',' <mode> |
||||
# |
||||
# action = <keysym> '[' <proc_map_lst> ']' | <keysym> '->' '[' <proc_map_lst> ']' |
||||
# <keysym> ':' <command> | <keysym> '->' ':' <command> |
||||
# <keysym> ';' <mode> | <keysym> '->' ';' <mode> |
||||
# |
||||
# keysym = <mod> '-' <key> | <key> |
||||
# |
||||
# mod = 'modifier keyword' | <mod> '+' <mod> |
||||
# |
||||
# key = <literal> | <keycode> |
||||
# |
||||
# literal = 'single letter or built-in keyword' |
||||
# |
||||
# keycode = 'apple keyboard kVK_<Key> values (0x3C)' |
||||
# |
||||
# proc_map_lst = * <proc_map> |
||||
# |
||||
# proc_map = <string> ':' <command> |
||||
# |
||||
# string = '"' 'sequence of characters' '"' |
||||
# |
||||
# command = command is executed through '$SHELL -c' and |
||||
# follows valid shell syntax. if the $SHELL environment |
||||
# variable is not set, it will default to '/bin/bash'. |
||||
# when bash is used, the ';' delimeter can be specified |
||||
# to chain commands. |
||||
# |
||||
# to allow a command to extend into multiple lines, |
||||
# prepend '\' at the end of the previous line. |
||||
# |
||||
# an EOL character signifies the end of the bind. |
||||
# |
||||
# -> = keypress is not consumed by skhd |
||||
# |
||||
# NOTE(koekeishiya): A mode is declared according to the following rules: |
||||
# |
||||
# mode_decl = '::' <name> '@' ':' <command> | '::' <name> ':' <command> | |
||||
# '::' <name> '@' | '::' <name> |
||||
# |
||||
# name = desired name for this mode, |
||||
# |
||||
# @ = capture keypresses regardless of being bound to an action |
||||
# |
||||
# command = command is executed through '$SHELL -c' and |
||||
# follows valid shell syntax. if the $SHELL environment |
||||
# variable is not set, it will default to '/bin/bash'. |
||||
# when bash is used, the ';' delimeter can be specified |
||||
# to chain commands. |
||||
# |
||||
# to allow a command to extend into multiple lines, |
||||
# prepend '\' at the end of the previous line. |
||||
# |
||||
# an EOL character signifies the end of the bind. |
||||
|
||||
# add an on_enter command to the default mode |
||||
# :: default : chunkc border::color 0xff775759 |
||||
# |
||||
# defines a new mode 'test' with an on_enter command, that captures keypresses |
||||
# :: test @ : chunkc border::color 0xff24ccaa |
||||
# |
||||
# from 'default' mode, activate mode 'test' |
||||
# cmd - x ; test |
||||
# |
||||
# from 'test' mode, activate mode 'default' |
||||
# test < cmd - x ; default |
||||
# |
||||
# launch a new terminal instance when in either 'default' or 'test' mode |
||||
# default, test < cmd - return : open -na /Applications/Terminal.app |
||||
|
||||
# application specific bindings |
||||
# |
||||
# cmd - n [ |
||||
# "kitty" : echo "hello kitty" |
||||
# "qutebrowser" : echo "hello qutebrowser" |
||||
# "finder" : false |
||||
# ] |
||||
|
||||
# narze's config |
||||
# Legends |
||||
# Leader : Alt |
||||
# Navigation : H / J / K / L (vim) |
||||
# Prew / Next : < / > |
||||
# Move : Leader + Shift |
||||
# Resize : Leader + Cmd |
||||
# Monitor : I / O |
||||
# Desktop : U / P or Leader + Ctrl |
||||
|
||||
# Keycodes |
||||
# 0x23 = Colemak semicolon / Qwerty P |
||||
# 0x2B = Comma / < |
||||
# 0x2F = Fullstop / > |
||||
# 0x2C = Slash |
||||
# open terminal |
||||
# cmd - return : /Applications/iTerm.app/Contents/MacOS/iTerm2 --single-instance -d ~ &> /dev/null |
||||
|
||||
# close focused window |
||||
# alt - w : yabai -m window --close |
||||
|
||||
# focus window |
||||
alt - j : yabai -m window --focus south |
||||
alt - h : yabai -m window --focus west |
||||
alt - k : yabai -m window --focus north |
||||
alt - l : yabai -m window --focus east |
||||
# alt - m : yabai -m window --focus recent |
||||
|
||||
# focus window in stack |
||||
alt - 0x2B : yabai -m window --focus stack.prev |
||||
alt - 0x2F : yabai -m window --focus stack.next |
||||
alt - 0x2C : yabai -m window --focus stack.recent |
||||
|
||||
# focus monitor |
||||
alt - u : ~/.yabai_focus_display prev |
||||
# alt + ctrl - h : ~/.yabai_focus_display prev |
||||
alt - y : ~/.yabai_focus_display next |
||||
# alt + ctrl - i : ~/.yabai_focus_display next |
||||
|
||||
# move window |
||||
alt + cmd + shift - j : yabai -m window --warp south |
||||
alt + cmd + shift - h : yabai -m window --warp west |
||||
alt + cmd + shift - k : yabai -m window --warp north |
||||
alt + cmd + shift - l : yabai -m window --warp east |
||||
|
||||
# swap window |
||||
alt + shift - j : yabai -m window --swap south |
||||
alt + shift - h : yabai -m window --swap west |
||||
alt + shift - k : yabai -m window --swap north |
||||
alt + shift - l : yabai -m window --swap east |
||||
|
||||
# stack window |
||||
alt + ctrl + shift - h : yabai -m window --stack west |
||||
alt + ctrl + shift - j : yabai -m window --stack south |
||||
alt + ctrl + shift - k : yabai -m window --stack north |
||||
alt + ctrl + shift - l : yabai -m window --stack east |
||||
|
||||
# make floating window fill screen, make it float if not already floating |
||||
ctrl + alt + cmd - t : yabai -m window --toggle float; \ |
||||
floating=$(yabai -m query --windows --window | jq .floating); \ |
||||
[ $floating -eq 1 ] && yabai -m window --grid 1:1:0:0:1:1 |
||||
|
||||
# float fill left half |
||||
ctrl + alt + cmd - h : yabai -m window --grid 1:2:0:0:1:1 |
||||
ctrl + alt + cmd - m : yabai -m window --grid 1:2:0:0:1:1 |
||||
|
||||
# float fill right half |
||||
ctrl + alt + cmd - i : yabai -m window --grid 1:2:1:0:1:1 |
||||
|
||||
# float fill bottom half |
||||
ctrl + alt + cmd - n : yabai -m window --grid 2:1:0:1:1:1 |
||||
|
||||
# float fill top half |
||||
ctrl + alt + cmd - e : yabai -m window --grid 2:1:0:0:1:1 |
||||
|
||||
|
||||
# create desktop |
||||
ctrl + cmd + alt - m : yabai -m space --create; |
||||
|
||||
# create desktop, move window and follow focus |
||||
ctrl + alt + cmd - k : yabai -m space --create; \ |
||||
yabai -m window --space last; \ |
||||
yabai -m space --focus last; \ |
||||
yabai -m window --grid 1:1:0:0:1:1 |
||||
|
||||
# destroy desktop |
||||
ctrl + cmd + alt + shift - w : yabai -m space --focus prev; \ |
||||
yabai -m space next --destroy |
||||
|
||||
# fast focus desktop |
||||
# alt + ctrl - 0x2B : yabai -m space --focus recent |
||||
# alt - l : yabai -m space --focus prev |
||||
# alt + ctrl - h : yabai -m space --focus prev |
||||
# alt - 0x23 : yabai -m space --focus next |
||||
# alt + ctrl - i : yabai -m space --focus next |
||||
alt - 1 : yabai -m space --focus 1 |
||||
alt - 2 : yabai -m space --focus 2 |
||||
alt - 3 : yabai -m space --focus 3 |
||||
alt - 4 : yabai -m space --focus 4 |
||||
|
||||
# send window to desktop |
||||
# alt + ctrl + shift - 0x2B : yabai -m window --space recent |
||||
# alt + shift - l : yabai -m window --space prev |
||||
# alt + ctrl + shift - h : yabai -m window --space prev |
||||
# alt + shift - 0x23 : yabai -m window --space next |
||||
shift + alt - 1 : yabai -m window --space 1 |
||||
shift + alt - 2 : yabai -m window --space 2 |
||||
shift + alt - 3 : yabai -m window --space 3 |
||||
shift + alt - 4 : yabai -m window --space 4 |
||||
shift + alt + cmd - 1 : yabai -m window --space 1; yabai -m space --focus 1 |
||||
shift + alt + cmd - 2 : yabai -m window --space 2; yabai -m space --focus 2 |
||||
shift + alt + cmd - 3 : yabai -m window --space 3; yabai -m space --focus 3 |
||||
shift + alt + cmd - 4 : yabai -m window --space 4; yabai -m space --focus 4 |
||||
|
||||
# send window to desktop and follow focus |
||||
# shift + cmd - x : yabai -m window --space $(chunkc get _last_active_desktop); yabai -m space --focus $(chunkc get _last_active_desktop) |
||||
# shift + cmd - z : yabai -m window --space prev; yabai -m space --focus prev |
||||
# shift + cmd - c : yabai -m window --space next; yabai -m space --focus next |
||||
# shift + cmd - 1 : yabai -m window --space 1; yabai -m space --focus 1 |
||||
# shift + cmd - 2 : yabai -m window --space 2; yabai -m space --focus 2 |
||||
# shift + cmd - 3 : yabai -m window --space 3; yabai -m space --focus 3 |
||||
# shift + cmd - 4 : yabai -m window --space 4; yabai -m space --focus 4 |
||||
|
||||
ctrl + alt - 1 : yabai -m display --focus 1 |
||||
ctrl + alt - 2 : yabai -m display --focus 2 |
||||
ctrl + alt - 3 : yabai -m display --focus 3 |
||||
|
||||
# send window to monitor and follow focus |
||||
alt + shift - u : yabai -m window --display prev; yabai -m display --focus prev |
||||
alt + shift - y : yabai -m window --display next; yabai -m display --focus next |
||||
# shift + alt + cmd - 1 : yabai -m window --display 1; yabai -m display --focus 1 |
||||
# shift + alt + cmd - 2 : yabai -m window --display 2; yabai -m display --focus 2 |
||||
# shift + alt + cmd - 3 : yabai -m window --display 3; yabai -m display --focus 3 |
||||
|
||||
# increase region size |
||||
alt + cmd - a : yabai -m window --resize left:-80:0 |
||||
alt + cmd - r : yabai -m window --resize bottom:0:80 |
||||
alt + cmd - w : yabai -m window --resize top:0:-80 |
||||
alt + cmd - s : yabai -m window --resize right:80:0 |
||||
|
||||
# decrease region size |
||||
alt + cmd + ctrl - a : yabai -m window --resize left:80:0 |
||||
alt + cmd + ctrl - r : yabai -m window --resize bottom:0:-80 |
||||
alt + cmd + ctrl - w : yabai -m window --resize top:0:80 |
||||
alt + cmd + ctrl - s : yabai -m window --resize right:-80:0 |
||||
|
||||
# set insertion point for focused container |
||||
ctrl + alt - h : yabai -m window --insert west |
||||
ctrl + alt - m : yabai -m window --insert west |
||||
ctrl + alt - n : yabai -m window --insert south |
||||
ctrl + alt - e : yabai -m window --insert north |
||||
ctrl + alt - i : yabai -m window --insert east |
||||
|
||||
# rotate tree |
||||
alt - r : yabai -m space --rotate 90 |
||||
|
||||
# mirror tree y-axis |
||||
alt + shift - x : yabai -m space --mirror vertical |
||||
|
||||
# mirror tree x-axis |
||||
alt - x : yabai -m space --mirror horizontal |
||||
|
||||
# toggle desktop padding |
||||
alt - a : yabai -m space --toggle padding |
||||
|
||||
# toggle window fullscreen |
||||
alt - f : yabai -m window --toggle fullscreen |
||||
|
||||
# toggle window native fullscreen |
||||
shift + alt - f : yabai -m window --toggle native-fullscreen |
||||
|
||||
# toggle window zoom |
||||
alt - z : yabai -m window --toggle zoom-fullscreen |
||||
|
||||
# toggle window split type |
||||
alt - c : yabai -m window --toggle split |
||||
|
||||
# toggle window fade |
||||
alt - q : yabai -m window --toggle fade |
||||
|
||||
# float / unfloat window and center on screen |
||||
alt - t : yabai -m window --toggle float;\ |
||||
yabai -m window --grid 6:6:1:1:4:4 |
||||
|
||||
# toggle sticky |
||||
alt - s : yabai -m window --toggle sticky |
||||
|
||||
# toggle border |
||||
alt - b : yabai -m window --toggle border |
||||
|
||||
# classic pip |
||||
alt - p : yabai -m window --toggle float;\ |
||||
yabai -m window --toggle sticky;\ |
||||
yabai -m window --toggle topmost;\ |
||||
yabai -m window --grid 5:5:3:0:2:2 |
||||
|
||||
# toggle sticky, float and resize to picture-in-picture size |
||||
alt + shift - p : yabai -m window --toggle sticky;\ |
||||
yabai -m window --toggle topmost;\ |
||||
yabai -m window --toggle border;\ |
||||
yabai -m window --toggle pip |
||||
|
||||
# float next window to be tiled |
||||
# shift + alt - t : chunkc set window_float_next 1 |
||||
|
||||
# change layout of desktop |
||||
ctrl + alt - a : yabai -m space --layout bsp; \ |
||||
terminal-notifier -title Yabai -message "Bsp mode activated" |
||||
ctrl + alt - r: yabai -m space --layout float; \ |
||||
terminal-notifier -title Yabai -message "Float mode activated" |
||||
ctrl + alt - s : yabai -m space --layout stack; \ |
||||
terminal-notifier -title Yabai -message "Stack mode activated" |
||||
|
||||
# ctrl + alt - l : yabai -m space --deserialize ~/.chunkwm_layout |
||||
# ctrl + alt + cmd - l : yabai -m space --serialize ~/.chunkwm_layout |
||||
|
||||
# Fix screenshot taking in app mode |
||||
cmd + shift - 4 -> : yabai -m window --toggle border; sleep 3; yabai -m window --toggle border; |
||||
ctrl + cmd + shift - 4 -> : yabai -m window --toggle border; sleep 3; yabai -m window --toggle border; |
||||
|
||||
# MPC commands |
||||
ctrl + alt + cmd + shift - 0x23 : mpc toggle |
||||
ctrl + alt + cmd - 0x2B : mpc prev |
||||
ctrl + alt + cmd - 0x2F : mpc next |
||||
|
||||
# Reload yabai |
||||
ctrl + alt + cmd - z : osascript -e 'tell application "Keyboard Maestro Engine" to do script "Hide All Windows"' && \ |
||||
launchctl kickstart -k "gui/${UID}/homebrew.mxcl.yabai" |
||||
|
||||
# Float everything in screen except current window |
||||
ctrl + alt + cmd - x : ids=$(yabai -m query --windows --space | jq -r ".[] | select(.floating == 0) | .id") && \ |
||||
while IFS= read -r id; do \ |
||||
yabai -m window $id --toggle float; \ |
||||
done <<< "$ids" && \ |
||||
ids=$(yabai -m query --windows --space | jq -r ".[] | select(.floating == 1) | .id") && \ |
||||
while IFS= read -r id; do \ |
||||
yabai -m window $id --grid 6:6:1:1:4:4; \ |
||||
done <<< "$ids" && \ |
||||
|
||||
# Unfloat |
||||
ctrl + alt + cmd - c : ids=$(yabai -m query --windows --space | jq -r ".[] | select(.floating == 1) | .id") && \ |
||||
while IFS= read -r id; do \ |
||||
yabai -m window $id --toggle float ; \ |
||||
done <<< "$ids" |
||||
|
||||
# Balance windows |
||||
alt - 0x2C : yabai -m space --balance |
||||
|
||||
# Toggle space windows gap |
||||
alt - d : yabai -m space --toggle gap |
||||
|
||||
# Toggle space windows padding |
||||
alt - g : yabai -m space --toggle padding |
||||
|
||||
# Task randomizer |
||||
ctrl + alt + cmd + shift - d : osascript ~/Library/Scripts/omnifocus-task-randomizer.applescript |
||||
|
||||
# Hyper 1-0 |
||||
ctrl + alt + cmd + shift - 1 : /Applications/Microsoft\ Edge.app/Contents/MacOS/Microsoft\ Edge |
||||
|
||||
# change layout of desktop |
||||
ctrl + alt - a : yabai -m space --layout bsp |
||||
ctrl + alt - d : yabai -m space --layout float |
||||
ctrl + alt - s : yabai -m space --layout $(yabai -m query --spaces --space | jq -r 'if .type == "bsp" then "float" else "bsp" end') |
||||
|
@ -1,23 +0,0 @@
|
||||
# bash completion for the `wp` command |
||||
|
||||
_wp_complete() { |
||||
local OLD_IFS="$IFS" |
||||
local cur=${COMP_WORDS[COMP_CWORD]} |
||||
|
||||
IFS=$'\n'; # want to preserve spaces at the end |
||||
local opts="$(wp cli completions --line="$COMP_LINE" --point="$COMP_POINT")" |
||||
|
||||
if [[ "$opts" =~ \<file\>\s* ]] |
||||
then |
||||
COMPREPLY=( $(compgen -f -- $cur) ) |
||||
elif [[ $opts = "" ]] |
||||
then |
||||
COMPREPLY=( $(compgen -f -- $cur) ) |
||||
else |
||||
COMPREPLY=( ${opts[*]} ) |
||||
fi |
||||
|
||||
IFS="$OLD_IFS" |
||||
return 0 |
||||
} |
||||
complete -o nospace -F _wp_complete wp |
@ -0,0 +1,25 @@
|
||||
#!/bin/sh |
||||
|
||||
# https://github.com/koekeishiya/yabai/issues/225 |
||||
|
||||
case "${1}" in |
||||
next) |
||||
step=1 |
||||
;; |
||||
prev) |
||||
step=-1 |
||||
;; |
||||
*) |
||||
echo >&2 "ERROR: must provide an argument 'next' or 'prev'!" |
||||
exit 1 |
||||
;; |
||||
esac |
||||
|
||||
jq -nr \ |
||||
--argjson displays "$(yabai -m query --displays)" \ |
||||
--argjson focused "$(yabai -m query --displays --display)" \ |
||||
--argjson step "$step" \ |
||||
'$displays |
||||
| sort_by(.frame.x) |
||||
| .[index($focused) + if (index($focused) + $step) < 0 then 0 else $step end].index // $focused.index' \ |
||||
| xargs yabai -m display --focus |
@ -0,0 +1,69 @@
|
||||
#!/usr/bin/env sh |
||||
|
||||
# global settings |
||||
yabai -m config mouse_follows_focus on |
||||
yabai -m config focus_follows_mouse autofous |
||||
yabai -m config window_placement second_child |
||||
yabai -m config window_topmost off |
||||
yabai -m config window_shadow on |
||||
yabai -m config window_opacity off |
||||
yabai -m config window_opacity_duration 0.0 |
||||
yabai -m config active_window_opacity 1.0 |
||||
yabai -m config normal_window_opacity 0.85 |
||||
yabai -m config split_ratio 0.55 |
||||
yabai -m config auto_balance off |
||||
yabai -m config mouse_modifier fn |
||||
yabai -m config mouse_action1 move |
||||
yabai -m config mouse_action2 resize |
||||
yabai -m config mouse_drop_action stack |
||||
|
||||
# border |
||||
yabai -m config window_border off |
||||
yabai -m config window_border_width 6 |
||||
yabai -m config active_window_border_color 0xff775759 |
||||
yabai -m config normal_window_border_color 0xff555555 |
||||
yabai -m config insert_feedback_color 0xffd75f5f |
||||
|
||||
# general space settings |
||||
yabai -m config layout bsp |
||||
yabai -m config top_padding 5 |
||||
yabai -m config bottom_padding 5 |
||||
yabai -m config left_padding 5 |
||||
yabai -m config right_padding 5 |
||||
yabai -m config window_gap 4 |
||||
|
||||
yabai -m window --stack next |
||||
|
||||
|
||||
# space label |
||||
yabai -m space 1 --label main |
||||
yabai -m space 2 --label code |
||||
yabai -m space 3 --label git |
||||
yabai -m space 4 --label other |
||||
|
||||
yabai -m rule --add label="Activity Monitor" app="^Activity Monitor$" manage=off |
||||
yabai -m rule --add label="Adobe Lightroom Classic" app="Adobe Lightroom Classic" manage=off space=main |
||||
yabai -m rule --add label="Alfred Preferences" app="^Alfred Preferences$" manage=off |
||||
yabai -m rule --add label="App Store" app="^App Store$" manage=off |
||||
yabai -m rule --add label="Calculator" app="^Calculator$" manage=off |
||||
yabai -m rule --add label="Dash" app="Dash" manage=off |
||||
yabai -m rule --add label="DataGrip" app="DataGrip" manage=off |
||||
yabai -m rule --add app="^Discord$" space=7 grid=1:1:0:0:1:1 manage=off |
||||
yabai -m rule --add label="Finder" app="^Finder$" title="(Co(py|nnect)|Move|Info|Pref)" manage=off |
||||
yabai -m rule --add label="GoldenDict" app="GoldenDict" manage=off |
||||
yabai -m rule --add label="IntelliJ IDEA" app="IntelliJ IDEA" manage=off space=code |
||||
yabai -m rule --add label="Preview" app="Preview" manage=off |
||||
yabai -m rule --add label="System Preferences" app="^System Preferences$" manage=off |
||||
yabai -m rule --add label="SmartGit" app="SmartGit" manage=off space=git |
||||
yabai -m rule --add label="VirtualBox" app="^VirtualBox$" manage=off |
||||
|
||||
|
||||
|
||||
# signals |
||||
# focus mouse hovered window when a window is closed, minimized or terminated |
||||
yabai -m signal --add event=window_destroyed action="yabai -m query --windows --window &> /dev/null || yabai -m window --focus mouse" |
||||
yabai -m signal --add event=window_minimized action="yabai -m query --windows --window &> /dev/null || yabai -m window --focus mouse" |
||||
yabai -m signal --add event=application_terminated action="yabai -m query --windows --window &> /dev/null || yabai -m window --focus mouse" |
||||
|
||||
|
||||
echo "yabai configuration loaded.." |
Loading…
Reference in new issue