aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbozo.kopic <bozo@kopic.xyz>2020-12-16 02:12:41 +0100
committerbozo.kopic <bozo@kopic.xyz>2020-12-16 02:12:41 +0100
commit004162c05e42a2f2645ca06702567967b1d88961 (patch)
tree18319b9654b8ec561524a58fed0fd3af7131647e
parent2f694c9ab1416de12d6c5da47d384a625662edf1 (diff)
.
-rw-r--r--alacritty/alacritty.yml2
-rw-r--r--bash/.bashrc11
-rwxr-xr-xbspwm/bspwmrc8
-rw-r--r--bspwm/terminal.py46
-rwxr-xr-xbspwm/terminal.sh3
l---------fish/functions/br.fish1
-rwxr-xr-xinstall.sh30
-rw-r--r--shell/.profile (renamed from bash/.profile)12
-rw-r--r--shell/bash/.bashrc1
-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/.zshrc12
-rw-r--r--shell/zsh/zsh-git-prompt/LICENSE.md21
-rw-r--r--shell/zsh/zsh-git-prompt/README.md93
-rwxr-xr-xshell/zsh/zsh-git-prompt/gitstatus.py65
-rw-r--r--shell/zsh/zsh-git-prompt/zshrc.sh108
-rw-r--r--subl3/Preferences.sublime-settings10
-rw-r--r--sxhkd/sxhkdrc.bspwm54
-rw-r--r--sxhkd/terminal_bspwm.py46
-rw-r--r--tmux/.tmux.conf2
-rw-r--r--vim/.vimrc20
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
diff --git a/install.sh b/install.sh
index 8ce7320..f40a4d2 100755
--- a/install.sh
+++ b/install.sh
@@ -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
+
+[![Build Status](https://travis-ci.org/olivierverdier/zsh-git-prompt.svg)](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
diff --git a/vim/.vimrc b/vim/.vimrc
index 1dc12af..1ca8ab2 100644
--- a/vim/.vimrc
+++ b/vim/.vimrc
@@ -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