diff options
| -rw-r--r-- | alacritty/alacritty.yml | 2 | ||||
| -rw-r--r-- | bash/.bashrc | 11 | ||||
| -rwxr-xr-x | bspwm/bspwmrc | 8 | ||||
| -rw-r--r-- | bspwm/terminal.py | 46 | ||||
| -rwxr-xr-x | bspwm/terminal.sh | 3 | ||||
| l--------- | fish/functions/br.fish | 1 | ||||
| -rwxr-xr-x | install.sh | 30 | ||||
| -rw-r--r-- | shell/.profile (renamed from bash/.profile) | 12 | ||||
| -rw-r--r-- | shell/bash/.bashrc | 1 | ||||
| -rw-r--r-- | shell/fish/config.fish (renamed from fish/config.fish) | 0 | ||||
| -rw-r--r-- | shell/fish/fish_variables (renamed from fish/fish_variables) | 0 | ||||
| -rw-r--r-- | shell/fish/functions/fish_prompt.fish (renamed from fish/functions/fish_prompt.fish) | 0 | ||||
| -rw-r--r-- | shell/zsh/.zshrc | 12 | ||||
| -rw-r--r-- | shell/zsh/zsh-git-prompt/LICENSE.md | 21 | ||||
| -rw-r--r-- | shell/zsh/zsh-git-prompt/README.md | 93 | ||||
| -rwxr-xr-x | shell/zsh/zsh-git-prompt/gitstatus.py | 65 | ||||
| -rw-r--r-- | shell/zsh/zsh-git-prompt/zshrc.sh | 108 | ||||
| -rw-r--r-- | subl3/Preferences.sublime-settings | 10 | ||||
| -rw-r--r-- | sxhkd/sxhkdrc.bspwm | 54 | ||||
| -rw-r--r-- | sxhkd/terminal_bspwm.py | 46 | ||||
| -rw-r--r-- | tmux/.tmux.conf | 2 | ||||
| -rw-r--r-- | vim/.vimrc | 20 |
22 files changed, 354 insertions, 191 deletions
diff --git a/alacritty/alacritty.yml b/alacritty/alacritty.yml index 6c08e4a..5edccde 100644 --- a/alacritty/alacritty.yml +++ b/alacritty/alacritty.yml @@ -374,7 +374,7 @@ key_bindings: - { key: Insert, mods: Shift, action: PasteSelection } - { key: Key0, mods: Control, action: ResetFontSize } - { key: Equals, mods: Control, action: IncreaseFontSize } - - { key: Subtract, mods: Control, action: DecreaseFontSize } + - { key: Minus, mods: Control, action: DecreaseFontSize } - { key: Home, chars: "\x1bOH", mode: AppCursor } - { key: Home, chars: "\x1b[H", mode: ~AppCursor } - { key: End, chars: "\x1bOF", mode: AppCursor } diff --git a/bash/.bashrc b/bash/.bashrc deleted file mode 100644 index f5f7011..0000000 --- a/bash/.bashrc +++ /dev/null @@ -1,11 +0,0 @@ -# -# ~/.bashrc -# - -# If not running interactively, don't do anything -[[ $- != *i* ]] && return - -alias ls='ls --color=auto' -PS1='[\u@\h \W]\$ ' - -source /home/bozo/.config/broot/launcher/bash/br diff --git a/bspwm/bspwmrc b/bspwm/bspwmrc index f6d3a99..99cc457 100755 --- a/bspwm/bspwmrc +++ b/bspwm/bspwmrc @@ -2,10 +2,14 @@ sxhkd -c ~/.config/bspwm/sxhkdrc & ~/.config/polybar/launch.sh & +wmname compiz -bspc monitor primary -d 1 2 3 4 term -[ $(xrandr --listactivemonitors | wc -l) -gt 2 ] && \ +if [ $(xrandr --listactivemonitors | wc -l) -gt 2 ]; then + bspc monitor primary -d 1 2 3 4 term bspc monitor primary#next -d a s d f +else + bspc monitor primary -d 1 2 3 4 a s d f term +fi bspc config border_width 4 bspc config window_gap 0 diff --git a/bspwm/terminal.py b/bspwm/terminal.py deleted file mode 100644 index eee7875..0000000 --- a/bspwm/terminal.py +++ /dev/null @@ -1,46 +0,0 @@ -import subprocess - - -desktop_name = 'term' -instance_name = 'tmux_term' - - -def is_term_running(): - p = subprocess.run(['xdo', 'id', '-n', instance_name]) - return p.returncode == 0 - - -def run_term(): - subprocess.Popen(['alacritty', '--class', instance_name, - '-e', 'tmux', 'new-session', '-A', '-s', 'default']) - - -def get_focused_desktop(): - p = subprocess.run(['bspc', 'query', '-D', '--names', '-d', 'focused'], - capture_output=True, - check=True) - return p.stdout.decode('utf-8').strip() - - -def hide_term(): - subprocess.run(['bspc', 'desktop', '-f', 'last.local'], check=True) - - -def show_term(): - subprocess.run(['bspc', 'desktop', 'term', '-m', 'focused']) - subprocess.run(['bspc', 'desktop', '-f', 'term'], check=True) - - -def main(): - if not is_term_running(): - run_term() - - focused_desktop = get_focused_desktop() - if focused_desktop == desktop_name: - hide_term() - else: - show_term() - - -if __name__ == '__main__': - main() diff --git a/bspwm/terminal.sh b/bspwm/terminal.sh index 8cd5418..6dcce6e 100755 --- a/bspwm/terminal.sh +++ b/bspwm/terminal.sh @@ -1,4 +1,4 @@ - +#!/bin/sh DESKTOP=term INSTANCE=tmux_term @@ -8,7 +8,6 @@ INSTANCE=tmux_term tmux new-session -A -s default if [ $(bspc query -D --names -d focused) = $DESKTOP ]; then - echo "sakrit" bspc desktop -f last.local else bspc desktop $DESKTOP -m focused diff --git a/fish/functions/br.fish b/fish/functions/br.fish deleted file mode 120000 index f2aec65..0000000 --- a/fish/functions/br.fish +++ /dev/null @@ -1 +0,0 @@ -/home/bozo/.local/share/broot/launcher/fish/br.fish
\ No newline at end of file @@ -1,7 +1,8 @@ -#!/usr/bin/env bash +#!/bin/sh set -e -ln -sf -T $(realpath $(dirname ${BASH_SOURCE[0]})) ~/.dotfiles + +ln -sf -T $(cd $(dirname "$0"); pwd) ~/.dotfiles # alacritty ln -sf -T ~/.dotfiles/alacritty ~/.config/alacritty @@ -13,17 +14,9 @@ ln -sf ~/.dotfiles/atom/init.coffee ~/.atom/init.coffee ln -sf ~/.dotfiles/atom/keymap.cson ~/.atom/keymap.cson ln -sf ~/.dotfiles/atom/styles.less ~/.atom/styles.less -# bash -ln -sf ~/.dotfiles/bash/.profile ~/.profile -ln -sf ~/.dotfiles/bash/.bashrc ~/.bashrc -ln -sf ~/.profile ~/.bash_profile - # bspwm ln -sf -T ~/.dotfiles/bspwm ~/.config/bspwm -# fish -ln -sf -T ~/.dotfiles/fish ~/.config/fish - # git ln -sf ~/.dotfiles/git/.gitconfig ~/.gitconfig @@ -51,6 +44,20 @@ ln -sf ~/.dotfiles/qutebrowser/autoconfig.yml ~/.config/qutebrowser/autoconfig.y mkdir -p ~/.config/ranger ln -sf ~/.dotfiles/ranger/rc.conf ~/.config/ranger/rc.conf +# shell +ln -sf ~/.dotfiles/shell/.profile ~/.profile + +# shell - bash +ln -sf ~/.dotfiles/shell/bash/.bashrc ~/.bashrc +ln -sf ~/.profile ~/.bash_profile + +# shell - fish +ln -sf -T ~/.dotfiles/shell/fish ~/.config/fish + +# shell - zsh +ln -sf ~/.dotfiles/shell/zsh/.zshrc ~/.zshrc +ln -sf ~/.profile ~/.zprofile + # sublime mkdir -p ~/.config/sublime-text-3/Packages/User ln -sf "~/.dotfiles/subl3/Package Control.sublime-settings" \ @@ -67,9 +74,6 @@ done # sway ln -sf -T ~/.dotfiles/sway ~/.config/sway -# sxhkd -ln -sf -T ~/.dotfiles/sxhkd ~/.config/sxhkd - # tmux ln -sf ~/.dotfiles/tmux/.tmux.conf ~/.tmux.conf diff --git a/bash/.profile b/shell/.profile index ed34427..9a9d26e 100644 --- a/bash/.profile +++ b/shell/.profile @@ -1,14 +1,12 @@ -export PATH=~/python/bin:~/programs:~/programs/chicken/bin:~/.gem/ruby/2.7.0/bin:~/.cabal/bin:$PATH -export CHICKEN_REPOSITORY=~/programs/chicken_repository export ATOM_NODE_URL=http://gh-contractor-zcbenz.s3.amazonaws.com/atom-shell/dist +export CHICKEN_REPOSITORY=~/programs/chicken_repository +export PATH=~/python/bin:~/programs:~/programs/chicken/bin:~/.gem/ruby/2.7.0/bin:~/.cabal/bin:$PATH export QT_QPA_PLATFORMTHEME=qt5ct export VISUAL=nvim -#export WLR_DRM_NO_MODIFIERS=1 -#export QT_QPA_PLATFORM=wayland -#export SDL_VIDEODRIVER=wayland #export GDK_BACKEND=wayland #export QT_AUTO_SCREEN_SCALE_FACTOR=1 #export QT_ENABLE_HIGHDPI_SCALING=1 +#export QT_QPA_PLATFORM=wayland #export QT_WAYLAND_FORCE_DPI=120 - -source /home/bozo/.config/broot/launcher/bash/br +#export SDL_VIDEODRIVER=wayland +#export WLR_DRM_NO_MODIFIERS=1 diff --git a/shell/bash/.bashrc b/shell/bash/.bashrc new file mode 100644 index 0000000..267c279 --- /dev/null +++ b/shell/bash/.bashrc @@ -0,0 +1 @@ +PS1='[\u@\h \W]\$ ' diff --git a/fish/config.fish b/shell/fish/config.fish index e69de29..e69de29 100644 --- a/fish/config.fish +++ b/shell/fish/config.fish diff --git a/fish/fish_variables b/shell/fish/fish_variables index 9395dfc..9395dfc 100644 --- a/fish/fish_variables +++ b/shell/fish/fish_variables diff --git a/fish/functions/fish_prompt.fish b/shell/fish/functions/fish_prompt.fish index 47cedee..47cedee 100644 --- a/fish/functions/fish_prompt.fish +++ b/shell/fish/functions/fish_prompt.fish diff --git a/shell/zsh/.zshrc b/shell/zsh/.zshrc new file mode 100644 index 0000000..6d0d4ef --- /dev/null +++ b/shell/zsh/.zshrc @@ -0,0 +1,12 @@ +HISTFILE=~/.zsh_history +HISTSIZE=1000 +SAVEHIST=1000 + +bindkey -v + +autoload -Uz compinit +compinit + +. ~/.dotfiles/shell/zsh/zsh-git-prompt/zshrc.sh + +PROMPT='[%F{green}%n%f@%m %F{green}%~%f $(git_super_status)]$ ' diff --git a/shell/zsh/zsh-git-prompt/LICENSE.md b/shell/zsh/zsh-git-prompt/LICENSE.md new file mode 100644 index 0000000..cba6fbc --- /dev/null +++ b/shell/zsh/zsh-git-prompt/LICENSE.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Olivier Verdier + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/shell/zsh/zsh-git-prompt/README.md b/shell/zsh/zsh-git-prompt/README.md new file mode 100644 index 0000000..668726c --- /dev/null +++ b/shell/zsh/zsh-git-prompt/README.md @@ -0,0 +1,93 @@ +# Informative git prompt for zsh + +[](https://travis-ci.org/olivierverdier/zsh-git-prompt) + +A `zsh` prompt that displays information about the current git repository. In particular the branch name, difference with remote branch, number of files staged, changed, etc. + +(an original idea from this [blog post][]). + +## Examples + +The prompt may look like the following: + +- `(master↑3|✚1)`: on branch `master`, ahead of remote by 3 commits, 1 file changed but not staged +- `(status|●2)`: on branch `status`, 2 files staged +- `(master|✚7…)`: on branch `master`, 7 files changed, some files untracked +- `(master|✖2✚3)`: on branch `master`, 2 conflicts, 3 files changed +- `(experimental↓2↑3|✔)`: on branch `experimental`; your branch has diverged by 3 commits, remote by 2 commits; the repository is otherwise clean +- `(:70c2952|✔)`: not on any branch; parent commit has hash `70c2952`; + the repository is otherwise clean + +Here is how it could look like when you are ahead by 4 commits, behind by 5 commits, and have 1 staged files, 1 changed but unstaged file, and some untracked files, on branch `dev`: + + +<img src="https://github.com/olivierverdier/zsh-git-prompt/raw/master/screenshot.png" width=300/> + + +## Prompt Structure + +By default, the general appearance of the prompt is: + +``` +(<branch><branch tracking>|<local status>) +``` + +The symbols are as follows: + +### Local Status Symbols + +|Symbol|Meaning +|------|------| +|✔ | repository clean +|●n | there are `n` staged files +|✖n | there are `n` unmerged files +|✚n | there are `n` changed but *unstaged* files +|… | there are some untracked files + + +### Branch Tracking Symbols + +Symbol | Meaning +-------|------- +↑n | ahead of remote by `n` commits +↓n | behind remote by `n` commits +↓m↑n | branches diverged, other by `m` commits, yours by `n` commits + +### Branch Symbol + +When the branch name starts with a colon `:`, it means it’s actually a hash, not a branch (although it should be pretty clear, unless you name your branches like hashes :-) + +## Install + +1. Clone this repository somewhere on your hard drive. +2. Source the file `zshrc.sh` from your `~/.zshrc` config file, and + configure your prompt. So, somewhere in `~/.zshrc`, you should have: + + ```sh + source path/to/zshrc.sh + # an example prompt + PROMPT='%B%m%~%b$(git_super_status) %# ' + ``` +3. Go in a git repository and test it! + +### Haskell (optional) + +There is now a Haskell implementation as well, which can be four to six times faster than the Python one. The reason is not that Haskell is faster in itself (although it is), but that this implementation calls `git` only once. To install, do the following: + +1. Make sure [Haskell's stack](http://docs.haskellstack.org/en/stable/README.html#how-to-install) is installed on your system +2. `cd` to this folder +2. Run `stack setup` to install the Haskell compiler, if it is not already there +3. Run `stack build && stack install` (don't worry, the executable is only “installed” in this folder, not on your system) +4. Define the variable `GIT_PROMPT_EXECUTABLE="haskell"` somewhere in + your `.zshrc` + +## Customisation + +- You may redefine the function `git_super_status` (after the `source` statement) to adapt it to your needs (to change the order in which the information is displayed). +- Define the variable `ZSH_THEME_GIT_PROMPT_CACHE` in order to enable caching. +- You may also change a number of variables (which name start with `ZSH_THEME_GIT_PROMPT_`) to change the appearance of the prompt. Take a look in the file `zshrc.sh` to see how the function `git_super_status` is defined, and what variables are available. + +**Enjoy!** + + [blog post]: http://sebastiancelis.com/2009/nov/16/zsh-prompt-git-users/ + diff --git a/shell/zsh/zsh-git-prompt/gitstatus.py b/shell/zsh/zsh-git-prompt/gitstatus.py new file mode 100755 index 0000000..d944fd4 --- /dev/null +++ b/shell/zsh/zsh-git-prompt/gitstatus.py @@ -0,0 +1,65 @@ +#!/usr/bin/env python +from __future__ import print_function + +# change this symbol to whatever you prefer +prehash = ':' + +from subprocess import Popen, PIPE + +import sys +gitsym = Popen(['git', 'symbolic-ref', 'HEAD'], stdout=PIPE, stderr=PIPE) +branch, error = gitsym.communicate() + +error_string = error.decode('utf-8') + +if 'fatal: Not a git repository' in error_string: + sys.exit(0) + +branch = branch.decode("utf-8").strip()[11:] + +res, err = Popen(['git','diff','--name-status'], stdout=PIPE, stderr=PIPE).communicate() +err_string = err.decode('utf-8') +if 'fatal' in err_string: + sys.exit(0) +changed_files = [namestat[0] for namestat in res.decode("utf-8").splitlines()] +staged_files = [namestat[0] for namestat in Popen(['git','diff', '--staged','--name-status'], stdout=PIPE).communicate()[0].splitlines()] +nb_changed = len(changed_files) - changed_files.count('U') +nb_U = staged_files.count('U') +nb_staged = len(staged_files) - nb_U +staged = str(nb_staged) +conflicts = str(nb_U) +changed = str(nb_changed) +nb_untracked = len([0 for status in Popen(['git','status','--porcelain',],stdout=PIPE).communicate()[0].decode("utf-8").splitlines() if status.startswith('??')]) +untracked = str(nb_untracked) + +ahead, behind = 0,0 + +if not branch: # not on any branch + branch = prehash + Popen(['git','rev-parse','--short','HEAD'], stdout=PIPE).communicate()[0].decode("utf-8")[:-1] +else: + remote_name = Popen(['git','config','branch.%s.remote' % branch], stdout=PIPE).communicate()[0].decode("utf-8").strip() + if remote_name: + merge_name = Popen(['git','config','branch.%s.merge' % branch], stdout=PIPE).communicate()[0].decode("utf-8").strip() + if remote_name == '.': # local + remote_ref = merge_name + else: + remote_ref = 'refs/remotes/%s/%s' % (remote_name, merge_name[11:]) + revgit = Popen(['git', 'rev-list', '--left-right', '%s...HEAD' % remote_ref],stdout=PIPE, stderr=PIPE) + revlist = revgit.communicate()[0] + if revgit.poll(): # fallback to local + revlist = Popen(['git', 'rev-list', '--left-right', '%s...HEAD' % merge_name],stdout=PIPE, stderr=PIPE).communicate()[0] + behead = revlist.decode("utf-8").splitlines() + ahead = len([x for x in behead if x[0]=='>']) + behind = len(behead) - ahead + +out = ' '.join([ + branch, + str(ahead), + str(behind), + staged, + conflicts, + changed, + untracked, + ]) +print(out, end='') + diff --git a/shell/zsh/zsh-git-prompt/zshrc.sh b/shell/zsh/zsh-git-prompt/zshrc.sh new file mode 100644 index 0000000..d4010c1 --- /dev/null +++ b/shell/zsh/zsh-git-prompt/zshrc.sh @@ -0,0 +1,108 @@ +# To install source this file from your .zshrc file + +# see documentation at http://linux.die.net/man/1/zshexpn +# A: finds the absolute path, even if this is symlinked +# h: equivalent to dirname +export __GIT_PROMPT_DIR=${0:A:h} + +export GIT_PROMPT_EXECUTABLE=${GIT_PROMPT_EXECUTABLE:-"python"} + +# Initialize colors. +autoload -U colors +colors + +# Allow for functions in the prompt. +setopt PROMPT_SUBST + +autoload -U add-zsh-hook + +add-zsh-hook chpwd chpwd_update_git_vars +add-zsh-hook preexec preexec_update_git_vars +add-zsh-hook precmd precmd_update_git_vars + +## Function definitions +function preexec_update_git_vars() { + case "$2" in + git*|hub*|gh*|stg*) + __EXECUTED_GIT_COMMAND=1 + ;; + esac +} + +function precmd_update_git_vars() { + if [ -n "$__EXECUTED_GIT_COMMAND" ] || [ ! -n "$ZSH_THEME_GIT_PROMPT_CACHE" ]; then + update_current_git_vars + unset __EXECUTED_GIT_COMMAND + fi +} + +function chpwd_update_git_vars() { + update_current_git_vars +} + +function update_current_git_vars() { + unset __CURRENT_GIT_STATUS + + if [[ "$GIT_PROMPT_EXECUTABLE" == "python" ]]; then + local gitstatus="$__GIT_PROMPT_DIR/gitstatus.py" + _GIT_STATUS=`python ${gitstatus} 2>/dev/null` + fi + if [[ "$GIT_PROMPT_EXECUTABLE" == "haskell" ]]; then + _GIT_STATUS=`git status --porcelain --branch &> /dev/null | $__GIT_PROMPT_DIR/src/.bin/gitstatus` + fi + __CURRENT_GIT_STATUS=("${(@s: :)_GIT_STATUS}") + GIT_BRANCH=$__CURRENT_GIT_STATUS[1] + GIT_AHEAD=$__CURRENT_GIT_STATUS[2] + GIT_BEHIND=$__CURRENT_GIT_STATUS[3] + GIT_STAGED=$__CURRENT_GIT_STATUS[4] + GIT_CONFLICTS=$__CURRENT_GIT_STATUS[5] + GIT_CHANGED=$__CURRENT_GIT_STATUS[6] + GIT_UNTRACKED=$__CURRENT_GIT_STATUS[7] +} + + +git_super_status() { + precmd_update_git_vars + if [ -n "$__CURRENT_GIT_STATUS" ]; then + STATUS="$ZSH_THEME_GIT_PROMPT_PREFIX$ZSH_THEME_GIT_PROMPT_BRANCH$GIT_BRANCH%{${reset_color}%}" + if [ "$GIT_BEHIND" -ne "0" ]; then + STATUS="$STATUS$ZSH_THEME_GIT_PROMPT_BEHIND$GIT_BEHIND%{${reset_color}%}" + fi + if [ "$GIT_AHEAD" -ne "0" ]; then + STATUS="$STATUS$ZSH_THEME_GIT_PROMPT_AHEAD$GIT_AHEAD%{${reset_color}%}" + fi + STATUS="$STATUS$ZSH_THEME_GIT_PROMPT_SEPARATOR" + if [ "$GIT_STAGED" -ne "0" ]; then + STATUS="$STATUS$ZSH_THEME_GIT_PROMPT_STAGED$GIT_STAGED%{${reset_color}%}" + fi + if [ "$GIT_CONFLICTS" -ne "0" ]; then + STATUS="$STATUS$ZSH_THEME_GIT_PROMPT_CONFLICTS$GIT_CONFLICTS%{${reset_color}%}" + fi + if [ "$GIT_CHANGED" -ne "0" ]; then + STATUS="$STATUS$ZSH_THEME_GIT_PROMPT_CHANGED$GIT_CHANGED%{${reset_color}%}" + fi + if [ "$GIT_UNTRACKED" -ne "0" ]; then + STATUS="$STATUS$ZSH_THEME_GIT_PROMPT_UNTRACKED%{${reset_color}%}" + fi + if [ "$GIT_CHANGED" -eq "0" ] && [ "$GIT_CONFLICTS" -eq "0" ] && [ "$GIT_STAGED" -eq "0" ] && [ "$GIT_UNTRACKED" -eq "0" ]; then + STATUS="$STATUS$ZSH_THEME_GIT_PROMPT_CLEAN" + fi + STATUS="$STATUS%{${reset_color}%}$ZSH_THEME_GIT_PROMPT_SUFFIX" + echo "$STATUS" + fi +} + +# Default values for the appearance of the prompt. Configure at will. +ZSH_THEME_GIT_PROMPT_PREFIX="(" +ZSH_THEME_GIT_PROMPT_SUFFIX=")" +ZSH_THEME_GIT_PROMPT_SEPARATOR="|" +ZSH_THEME_GIT_PROMPT_BRANCH="%{$fg_bold[magenta]%}" +ZSH_THEME_GIT_PROMPT_STAGED="%{$fg[red]%}%{●%G%}" +ZSH_THEME_GIT_PROMPT_CONFLICTS="%{$fg[red]%}%{✖%G%}" +ZSH_THEME_GIT_PROMPT_CHANGED="%{$fg[blue]%}%{✚%G%}" +ZSH_THEME_GIT_PROMPT_BEHIND="%{↓%G%}" +ZSH_THEME_GIT_PROMPT_AHEAD="%{↑%G%}" +ZSH_THEME_GIT_PROMPT_UNTRACKED="%{…%G%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg_bold[green]%}%{✔%G%}" + + diff --git a/subl3/Preferences.sublime-settings b/subl3/Preferences.sublime-settings index 9bdb33b..6fcd102 100644 --- a/subl3/Preferences.sublime-settings +++ b/subl3/Preferences.sublime-settings @@ -38,18 +38,24 @@ ], "color_scheme": "Packages/Color Scheme - Default/Monokai.sublime-color-scheme", "default_line_ending": "unix", + "detect_indentation": false, "ensure_newline_at_eof_on_save": true, "file_exclude_patterns": [ ], "font_face": "Roboto Mono", - "font_size": 11, + "font_size": 12, "highlight_line": true, "highlight_modified_tabs": true, "ignored_packages": [ + "AutoWrap", + "Compare Side-By-Side", + "PackageResourceViewer", "Python", - "Vintage" + "SublimeLinter-eslint", + "Vintage", + "Zig Language" ], "line_padding_bottom": 1, "line_padding_top": 1, diff --git a/sxhkd/sxhkdrc.bspwm b/sxhkd/sxhkdrc.bspwm deleted file mode 100644 index aaeb018..0000000 --- a/sxhkd/sxhkdrc.bspwm +++ /dev/null @@ -1,54 +0,0 @@ -F12 - python ~/.config/sxhkd/terminal_bspwm.py - -mod4 + Return - alacritty -mod4 + space - rofi -show drun -#mod4 + backslash -# i3-msg "split h" -#mod4 + minus -# i3-msg "split v" -#mod4 + Tab -# i3-msg "layout toggle split" -#mod4 + p -# i3-msg "focus parent" -#mod4 + r -# i3-msg "mode resize" - - -mod4 + {1, 2, 3, 4, a, s, d, f} - bspc desktop -f {1, 2, 3, 4, a, s, d, f} - -mod4 + shift + {1, 2, 3, 4, a, s, d, f} - bspc node -d {1, 2, 3, 4, a, s, d, f} - - -mod4 + shift + r - bspc wm -r -mod4 + shift + e - bspc quit -mod4 + shift + q - bspc node -c -mod4 + shift + space - bspc node -t ~floating -mod4 + shift + Return - bspc node -t ~fullscreen - -mod4 + {h, Left} - bspc node -f west -mod4 + {j, Down} - bspc node -f south -mod4 + {k, Up} - bspc node -f north -mod4 + {l, Right} - bspc node -f east - -mod4 + shift + {h, Left} - bspc node -s west -mod4 + shift + {j, Down} - bspc node -s west -mod4 + shift + {k, Up} - bspc node -s west -mod4 + shift + {l, Right} - bspc node -s west diff --git a/sxhkd/terminal_bspwm.py b/sxhkd/terminal_bspwm.py deleted file mode 100644 index eee7875..0000000 --- a/sxhkd/terminal_bspwm.py +++ /dev/null @@ -1,46 +0,0 @@ -import subprocess - - -desktop_name = 'term' -instance_name = 'tmux_term' - - -def is_term_running(): - p = subprocess.run(['xdo', 'id', '-n', instance_name]) - return p.returncode == 0 - - -def run_term(): - subprocess.Popen(['alacritty', '--class', instance_name, - '-e', 'tmux', 'new-session', '-A', '-s', 'default']) - - -def get_focused_desktop(): - p = subprocess.run(['bspc', 'query', '-D', '--names', '-d', 'focused'], - capture_output=True, - check=True) - return p.stdout.decode('utf-8').strip() - - -def hide_term(): - subprocess.run(['bspc', 'desktop', '-f', 'last.local'], check=True) - - -def show_term(): - subprocess.run(['bspc', 'desktop', 'term', '-m', 'focused']) - subprocess.run(['bspc', 'desktop', '-f', 'term'], check=True) - - -def main(): - if not is_term_running(): - run_term() - - focused_desktop = get_focused_desktop() - if focused_desktop == desktop_name: - hide_term() - else: - show_term() - - -if __name__ == '__main__': - main() diff --git a/tmux/.tmux.conf b/tmux/.tmux.conf index 10820d5..31af636 100644 --- a/tmux/.tmux.conf +++ b/tmux/.tmux.conf @@ -1,5 +1,5 @@ -set -g default-command "fish" +#set -g default-command "fish" set -g escape-time 0 @@ -30,6 +30,7 @@ Plug 'thaerkh/vim-indentguides' Plug 'scrooloose/nerdtree' Plug 'scrooloose/nerdcommenter' Plug 'Xuyuanp/nerdtree-git-plugin' +Plug 'mileszs/ack.vim' Plug 'bling/vim-airline' Plug 'tpope/vim-fireplace' @@ -76,11 +77,11 @@ autocmd FileType make set tabstop=4 shiftwidth=8 softtabstop=0 noexpandtab " gui settings set linespace=4 -set guifont=Droid\ Sans\ Mono:h12 -if exists('g:GuiLoaded') - GuiTabline 0 -endif -autocmd UIEnter * GuiTabline 0 +set guifont=Droid\ Sans\ Mono-20 +"if exists('g:GuiLoaded') + "GuiTabline 0 +"endif +"autocmd UIEnter * GuiTabline 0 " reload vimrc on change augroup reload_vimrc @@ -91,6 +92,7 @@ augroup END " airline configuration set laststatus=2 let g:airline#extensions#tabline#enabled = 1 +let g:airline#extensions#ale#enabled = 1 " display tabs and trailing spaces set list @@ -141,6 +143,10 @@ set mouse=a let g:ale_linters = { \ 'python': ['flake8'] \ } +let g:ale_completion_enabled = 1 +let g:ale_echo_msg_error_str = 'E' +let g:ale_echo_msg_warning_str = 'W' +let g:ale_echo_msg_format = '[%linter%] %s [%severity%]' " YouCompleteMe configuration "let g:ycm_auto_trigger = 0 @@ -148,6 +154,10 @@ let g:ale_linters = { " completion options set completeopt=menuone +set omnifunc=ale#completion#OmniFunc + +" use ack.vim with ag +let g:ackprg = 'ag --vimgrep' " disable conceal autocmd FileType json set conceallevel=0 |
