diff options
43 files changed, 428 insertions, 2077 deletions
| diff --git a/dotfiles/.config/bemenurc b/dotfiles/.config/bemenurc new file mode 100755 index 0000000..22e7224 --- /dev/null +++ b/dotfiles/.config/bemenurc @@ -0,0 +1,24 @@ + +BEMENU_BACKEND=wayland + +## define the font for dmenu to be used +BEMENU_FN="BlexMonoNerdFontMono 10" + +## textcolour for title +BEMENU_TF="#D8DEE9" + +## background colour for unselected menu-items +BEMENU_NB="#1B1E25" + +## textcolour for unselected menu-items +BEMENU_NF="#D8DEE9" + +## background colour for highlighted menu-items +BEMENU_HB="#5B8277" + +## textcolour for highlighted menu-items +BEMENU_HF="#E5E9F0" + +## command for the terminal application to be used: +TERMINAL_CMD="terminal -e" + diff --git a/dotfiles/.dir_colors b/dotfiles/.config/dir_colors index 1e3ff8c..1e3ff8c 100644 --- a/dotfiles/.dir_colors +++ b/dotfiles/.config/dir_colors diff --git a/dotfiles/.config/gtk-2.0/gtkrc-2.0 b/dotfiles/.config/gtk-2.0/gtkrc-2.0 new file mode 100644 index 0000000..94ef305 --- /dev/null +++ b/dotfiles/.config/gtk-2.0/gtkrc-2.0 @@ -0,0 +1,19 @@ +# DO NOT EDIT! This file will be overwritten by LXAppearance. +# Any customization should be done in ~/.gtkrc-2.0.mine instead. + +include "/home/yaroslav/.gtkrc-2.0.mine" +gtk-theme-name="oomox-materia-dark" +gtk-icon-theme-name="Papirus-Dark" +gtk-font-name="FuraCode Nerd Font Mono 10" +gtk-cursor-theme-name="Adwaita" +gtk-cursor-theme-size=0 +gtk-toolbar-style=GTK_TOOLBAR_TEXT +gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR +gtk-button-images=0 +gtk-menu-images=1 +gtk-enable-event-sounds=1 +gtk-enable-input-feedback-sounds=1 +gtk-xft-antialias=1 +gtk-xft-hinting=1 +gtk-xft-hintstyle="hintslight" +gtk-xft-rgba="rgb" diff --git a/dotfiles/.config/mpd/mpd.conf b/dotfiles/.config/mpd/mpd.conf index 59b9d5f..6023073 100644 --- a/dotfiles/.config/mpd/mpd.conf +++ b/dotfiles/.config/mpd/mpd.conf @@ -1,6 +1,6 @@  db_file            "~/.config/mpd/database"  log_file           "~/.config/mpd/log" -music_directory    "~/Music" +music_directory    "~/music"  playlist_directory "~/.config/mpd/playlists"  pid_file           "~/.config/mpd/pid"  state_file         "~/.config/mpd/state" diff --git a/dotfiles/.config/ncmpcpp/config b/dotfiles/.config/ncmpcpp/config index d89e7b8..254d9ac 100644 --- a/dotfiles/.config/ncmpcpp/config +++ b/dotfiles/.config/ncmpcpp/config @@ -2,7 +2,13 @@  ## This is the example configuration file. Copy it to $HOME/.ncmpcpp/config ##  ## or $XDG_CONFIG_HOME/ncmpcpp/config and set up your preferences.          ##  ############################################################################## -# + +ncmpcpp_directory = ~/.config/ncmpcpp + +## Directory for storing downloaded lyrics. It defaults to ~/.lyrics since other +## MPD clients (eg. ncmpc) also use that location. +lyrics_directory = ~/.local/share/lyrics +  # Interfaz:  user_interface = 						"alternative"  alternative_header_first_line_format = 	"$(white)─┤ $b$(red)%a$(end)$/b ├─$(end)" diff --git a/dotfiles/.config/ranger/rc.conf b/dotfiles/.config/ranger/rc.conf index db1e95a..2d88df8 100644 --- a/dotfiles/.config/ranger/rc.conf +++ b/dotfiles/.config/ranger/rc.conf @@ -88,7 +88,7 @@ map i display_file  map ? help  map W display_log  map w taskview_open -map ss shell nohup $TERMINAL& +map ss shell nohup $TERMINAL > ~/.cache/nohup.out 2>&1 </dev/null &  map S shell $SHELL  map :  console @@ -434,14 +434,14 @@ map oR cd /  map o? cd /usr/share/doc/ranger  map oh cd ~ -map od cd ~/Documents -map oD cd ~/Downloads -map omm cd ~/Music -map opp cd ~/Pictures -map opw cd ~/Pictures/wallpapers -map ops cd ~/Pictures/screenshots -map ovv cd ~/Videos -map or cd ~/Repositories +map od cd $XDG_DOCUMENTS_DIR +map oD cd ~/dls +map omm cd ~/music +map opp cd ~/pics +map opw cd ~/pics/wallpapers +map ops cd ~/pics/screenshots +map ovv cd ~/vids +map or cd ~/repos  map os cd ~/.local/bin  map ocf cd ~/.config  map omd cd /run/media @@ -449,14 +449,14 @@ map omd cd /run/media  # New tab shortcuts  map Oh tab_new ~ -map Od tab_new ~/Documents -map OD tab_new ~/Downloads -map Omm tab_new ~/Music -map Opp tab_new ~/Pictures -map Opw tab_new ~/Pictures/wallpapers -map Ops tab_new ~/Pictures/screenshots -map Ovv tab_new ~/Videos -map Or tab_new ~/Repositories +map Od tab_new ~/docs +map OD tab_new ~/dls +map Omm tab_new ~/music +map Opp tab_new ~/pics +map Opw tab_new ~/pics/wallpapers +map Ops tab_new ~/pics/screenshots +map Ovv tab_new ~/vids +map Or tab_new ~/repos  map Os tab_new ~/.local/bin  map Ocf tab_new ~/.config  map Omd tab_new /run/media diff --git a/dotfiles/.config/ranger/rifle.conf b/dotfiles/.config/ranger/rifle.conf index c960256..2c3c0e5 100644 --- a/dotfiles/.config/ranger/rifle.conf +++ b/dotfiles/.config/ranger/rifle.conf @@ -115,11 +115,11 @@ ext php = php -- "$1"  #--------------------------------------------  # Video/Audio with a GUI  #------------------------------------------- -mime ^video|audio, has gmplayer, X, flag f = gmplayer -- "$@" -mime ^video|audio, has smplayer, X, flag f = smplayer "$@"  mime ^video,       has mpv,      X, flag f = mpv -- "$@"  mime ^video,       has mpv,      X, flag f = mpv --fs -- "$@"  mime ^video,       has mpv,      X, flag f = mpv --loop -- "$@" +mime ^video|audio, has gmplayer, X, flag f = gmplayer -- "$@" +mime ^video|audio, has smplayer, X, flag f = smplayer "$@"  mime ^video,       has mplayer2, X, flag f = mplayer2 -- "$@"  mime ^video,       has mplayer2, X, flag f = mplayer2 -fs -- "$@"  mime ^video,       has mplayer,  X, flag f = mplayer -- "$@" @@ -130,9 +130,9 @@ mime ^video|audio, has totem,    X, flag f = totem --fullscreen -- "$@"  #--------------------------------------------  # Audio without X  #------------------------------------------- +mime ^audio|ogg$, terminal, has mpv      = mpv --no-audio-display -- "$@"  mime ^audio|ogg$, terminal, has mplayer  = mplayer -- "$@"  mime ^audio|ogg$, terminal, has mplayer2 = mplayer2 -- "$@" -mime ^audio|ogg$, terminal, has mpv      = mpv --no-audio-display -- "$@"  # mime ^audio|ogg$, terminal, has mpc      = mpc clear && mpc add "$@" && mpc play  mime ^audio|ogg$, terminal, has mpv      = mpv -- "$@"  ext midi?,        terminal, has wildmidi = wildmidi -- "$@" diff --git a/dotfiles/.config/tmux/tmux.conf b/dotfiles/.config/tmux/tmux.conf new file mode 100644 index 0000000..785471a --- /dev/null +++ b/dotfiles/.config/tmux/tmux.conf @@ -0,0 +1,119 @@ +# https://github.com/seebi/tmux-colors-solarized/blob/master/tmuxcolors-256.conf +set-option -g status-style bg=colour235,fg=colour136,default # bg=base02, fg=yellow + +# set window split +bind-key v split-window -h +bind-key b split-window + +# default window title colors +set-window-option -g window-status-style fg=colour244,bg=default,dim # fg=base0 + +# active window title colors +set-window-option -g window-status-current-style fg=colour166,bg=default,bright # fg=orange + +# pane border +set-option -g pane-border-style fg=colour235 #fg=base02 +set-option -g pane-active-border-style fg=colour240 #fg=base01 + +# message text +set-option -g message-style bg=colour235,fg=colour166 # bg=base02, fg=orange + +# pane number display +set-option -g display-panes-active-colour colour33 #blue +set-option -g display-panes-colour colour166 #orange +# clock +set-window-option -g clock-mode-colour green #green + + +set -g status-interval 1 +set -g status-justify left +set -g status-left-length 20 +set -g status-right-length 140 +set -g status-left '' +set -g status-right '#[fg=green]#H #[fg=red,dim,bg=default]UP: #(uptime | cut -f 4-5 -d " " | cut -f 1 -d ",") #[fg=white,bg=default]%a%l:%M:%S %p#[default] #[fg=blue]%Y-%m-%d' + +# C-b is not acceptable -- Vim uses it +set-option -g prefix C-a +bind-key C-a last-window + +# Start numbering at 1 +set -g base-index 1 + +# Allows for faster key repetition +set -s escape-time 0 + +# Rather than constraining window size to the maximum size of any client +# connected to the *session*, constrain window size to the maximum size of any +# client connected to *that window*. Much more reasonable. +setw -g aggressive-resize on + +# Allows us to use C-a a <command> to send commands to a TMUX session inside +# another TMUX session +bind-key a send-prefix + +# Activity monitoring +setw -g monitor-activity on +set -g visual-activity on + +# hjkl pane traversal +bind h select-pane -L +bind j select-pane -D +bind k select-pane -U +bind l select-pane -R + +# set to main-horizontal, 66% height for main pane +bind m run-shell "~/.tmux/scripts/resize-adaptable.sh -l main-horizontal -p 66" +# Same thing for verical layouts +bind M run-shell "~/.tmux/scripts/resize-adaptable.sh -l main-vertical -p 50" + +bind-key C command-prompt -p "Name of new window: " "new-window -n '%%'" + +# reload config +bind r source-file ~/.config/tmux/tmux.conf \; display-message "Config reloaded..." + +# auto window rename +set-window-option -g automatic-rename + +# https://github.com/edkolev/dots/blob/master/tmux.conf +# Updates for tmux 1.9's current pane splitting paths. + +# from powerline +run-shell "tmux set-environment -g TMUX_VERSION_MAJOR $(tmux -V | cut -d' ' -f2 | cut -d'.' -f1 | sed 's/[^0-9]*//g')" +run-shell "tmux set-environment -g TMUX_VERSION_MINOR $(tmux -V | cut -d' ' -f2 | cut -d'.' -f2 | sed 's/[^0-9]*//g')" + +# Vi copypaste mode +set-window-option -g mode-keys vi +if-shell "test '\( #{$TMUX_VERSION_MAJOR} -eq 2 -a #{$TMUX_VERSION_MINOR} -ge 4 \)'" 'bind-key -Tcopy-mode-vi v send -X begin-selection; bind-key -Tcopy-mode-vi y send -X copy-selection-and-cancel' +if-shell '\( #{$TMUX_VERSION_MAJOR} -eq 2 -a #{$TMUX_VERSION_MINOR} -lt 4\) -o #{$TMUX_VERSION_MAJOR} -le 1' 'bind-key -t vi-copy v begin-selection; bind-key -t vi-copy y copy-selection' + +# status bar +if-shell '\( #{$TMUX_VERSION_MAJOR} -eq 2 -a #{$TMUX_VERSION_MINOR} -lt 2\) -o #{$TMUX_VERSION_MAJOR} -le 1' 'set-option -g status-utf8 on' + +# rm mouse mode fail +if-shell '\( #{$TMUX_VERSION_MAJOR} -eq 2 -a #{$TMUX_VERSION_MINOR} -ge 1\)' 'set -g mouse off' +if-shell '\( #{$TMUX_VERSION_MAJOR} -eq 2 -a #{$TMUX_VERSION_MINOR} -lt 1\) -o #{$TMUX_VERSION_MAJOR} -le 1' 'set -g mode-mouse off' + +# fix pane_current_path on new window and splits +if-shell "test '#{$TMUX_VERSION_MAJOR} -gt 1 -o \( #{$TMUX_VERSION_MAJOR} -eq 1 -a #{$TMUX_VERSION_MINOR} -ge 8 \)'" 'unbind c; bind c new-window -c "#{pane_current_path}"' +if-shell "test '#{$TMUX_VERSION_MAJOR} -gt 1 -o \( #{$TMUX_VERSION_MAJOR} -eq 1 -a #{$TMUX_VERSION_MINOR} -ge 8 \)'" "unbind '\"'; bind '\"' split-window -v -c '#{pane_current_path}'" +if-shell "test '#{$TMUX_VERSION_MAJOR} -gt 1 -o \( #{$TMUX_VERSION_MAJOR} -eq 1 -a #{$TMUX_VERSION_MINOR} -ge 8 \)'" 'unbind v; bind v split-window -h -c "#{pane_current_path}"' +#if-shell "test '#{$TMUX_VERSION_MAJOR} -gt 1 -o \( #{$TMUX_VERSION_MAJOR} -eq 1 -a #{$TMUX_VERSION_MINOR} -ge 8 \)'" 'unbind %; bind % split-window -h -c "#{pane_current_path}"' + + +# Colors +# How to use true colors in vim under tmux? #1246 for 2.6 and higher +# https://github.com/tmux/tmux/issues/1246: +# set -g default-terminal "tmux-256color" +# set -ga terminal-overrides ",*256col*:Tc" +# 2.5 and lower: +# set -g default-terminal "screen-256color" + +# Doesn't work on iterm2 / mac +# if-shell "test '\( #{$TMUX_VERSION_MAJOR} -eq 2 -a #{$TMUX_VERSION_MINOR} -ge 6 \)'" 'set -g default-terminal "tmux-256color"' +# if-shell "test '\( #{$TMUX_VERSION_MAJOR} -eq 2 -a #{$TMUX_VERSION_MINOR} -ge 6 \)'" 'set -ga terminal-overrides ",*256col*:Tc"' + +# Try screen256-color (https://github.com/tmux/tmux/issues/622): +if-shell "test '\( #{$TMUX_VERSION_MAJOR} -eq 2 -a #{$TMUX_VERSION_MINOR} -ge 6 \)'" 'set -g default-terminal "screen-256color"' +if-shell "test '\( #{$TMUX_VERSION_MAJOR} -eq 2 -a #{$TMUX_VERSION_MINOR} -ge 6 \)'" 'set -ga terminal-overrides ",screen-256color:Tc"' + +if-shell '\( #{$TMUX_VERSION_MAJOR} -eq 2 -a #{$TMUX_VERSION_MINOR} -lt 6\) -o #{$TMUX_VERSION_MAJOR} -le 1' 'set -g default-terminal "screen-256color"' diff --git a/dotfiles/.config/transmission-remote-gtk/config.json b/dotfiles/.config/transmission-remote-gtk/config.json index bca0554..cac0424 100644 --- a/dotfiles/.config/transmission-remote-gtk/config.json +++ b/dotfiles/.config/transmission-remote-gtk/config.json @@ -21,18 +21,113 @@        "exec-commands" : [        ],        "destinations" : [ -      ] +      ], +      "last-move-destination" : "~/dls/P2P"      }    ],    "profile-id" : 0,    "tree-views" : {      "TrgTorrentTreeView" : { +      "sort-col" : -1, +      "sort-type" : 0, +      "widths" : [ +        453, +        76, +        66, +        72, +        70, +        91, +        100, +        113, +        92, +        57, +        93, +        114, +        65, +        149 +      ], +      "columns" : [ +        "name", +        "size", +        "done", +        "status", +        "seeds", +        "leechers", +        "connected-peers", +        "down-speed", +        "up-speed", +        "eta", +        "uploaded", +        "downloaded", +        "ratio", +        "added" +      ]      },      "TrgTrackersTreeView" : { +      "sort-col" : -2, +      "sort-type" : 0, +      "widths" : [ +        175, +        346, +        187, +        236, +        243, +        244, +        221, +        230 +      ], +      "columns" : [ +        "tier", +        "announce-url", +        "last-announce-peer-count", +        "seeder-count", +        "leecher-count", +        "last-announce-time", +        "last-result", +        "scrape-url" +      ]      },      "TrgFilesTreeView" : { +      "sort-col" : -2, +      "sort-type" : 0, +      "widths" : [ +        368, +        355, +        387, +        395, +        377 +      ], +      "columns" : [ +        "name", +        "size", +        "progress", +        "wanted", +        "priority" +      ]      },      "TrgPeersTreeView" : { +      "sort-col" : -2, +      "sort-type" : 0, +      "widths" : [ +        204, +        219, +        239, +        270, +        249, +        247, +        223, +        231 +      ], +      "columns" : [ +        "ip", +        "host", +        "country", +        "down-speed", +        "up-speed", +        "progress", +        "flags", +        "client" +      ]      },      "TrgFilesTreeView-dialog" : {        "sort-col" : -2, @@ -114,5 +209,10 @@    "add-notify" : false,    "complete-notify" : false,    "dialog-width" : 1062, -  "dialog-height" : 680 +  "dialog-height" : 680, +  "style" : 1, +  "window-height" : 1021, +  "window-width" : 1886, +  "notebook-paned-pos" : 583, +  "states-paned-pos" : 278  }
\ No newline at end of file diff --git a/dotfiles/.config/transmission/settings.json b/dotfiles/.config/transmission/settings.json index f440feb..d341dcf 100644 --- a/dotfiles/.config/transmission/settings.json +++ b/dotfiles/.config/transmission/settings.json @@ -6,13 +6,16 @@      "alt-speed-time-enabled": false,      "alt-speed-time-end": 1020,      "alt-speed-up": 50, +    "bind-address-ipv4": "0.0.0.0", +    "bind-address-ipv6": "::",      "blocklist-date": 0,      "blocklist-enabled": false,      "blocklist-updates-enabled": true,      "blocklist-url": "http://www.example.com/blocklist", +    "cache-size-mb": 4,      "compact-view": false,      "dht-enabled": true, -    "download-dir": "/home/yaroslav/Downloads/P2P", +    "download-dir": "/home/yaroslav/dls/P2P",      "download-queue-enabled": true,      "download-queue-size": 5,      "encryption": 1, @@ -20,28 +23,33 @@      "filter-trackers": "",      "idle-seeding-limit": 30,      "idle-seeding-limit-enabled": false, -    "incomplete-dir": "/home/yaroslav/Downloads", +    "incomplete-dir": "/home/yaroslav/dls",      "incomplete-dir-enabled": false,      "inhibit-desktop-hibernation": false,      "lpd-enabled": false,      "main-window-height": 1017, +    "main-window-is-maximized": 1,      "main-window-layout-order": "menu,toolbar,filter,list,statusbar",      "main-window-width": 618, -    "main-window-x": 50, -    "main-window-y": 50, +    "main-window-x": 0, +    "main-window-y": 0,      "message-level": 2, -    "open-dialog-dir": "/home/yaroslav", +    "open-dialog-dir": "/home/yaroslav/", +    "peer-congestion-algorithm": "", +    "peer-id-ttl-hours": 6,      "peer-limit-global": 200,      "peer-limit-per-torrent": 50,      "peer-port": 51413,      "peer-port-random-high": 65535,      "peer-port-random-low": 49152,      "peer-port-random-on-start": false, -    "peer-socket-tos": 0, +    "peer-socket-tos": "default",      "pex-enabled": true,      "port-forwarding-enabled": true,      "preallocation": 1, +    "prefetch-enabled": true,      "prompt-before-exit": true, +    "queue-stalled-enabled": true,      "queue-stalled-minutes": 30,      "ratio-limit": 2,      "ratio-limit-enabled": false, @@ -53,14 +61,21 @@      "remote-session-username": "",      "rename-partial-files": true,      "rpc-authentication-required": false, +    "rpc-bind-address": "0.0.0.0",      "rpc-enabled": false, -    "rpc-password": "", +    "rpc-host-whitelist": "", +    "rpc-host-whitelist-enabled": true, +    "rpc-password": "{d916cc0dfa7436101eaf5de51e526a3b6a7324602zEDSimP",      "rpc-port": 9091, +    "rpc-url": "/transmission/",      "rpc-username": "",      "rpc-whitelist": "127.0.0.1",      "rpc-whitelist-enabled": true, +    "scrape-paused-torrents-enabled": true,      "script-torrent-done-enabled": false, -    "script-torrent-done-filename": "", +    "script-torrent-done-filename": "/home/yaroslav", +    "seed-queue-enabled": false, +    "seed-queue-size": 10,      "show-backup-trackers": false,      "show-extra-peer-details": false,      "show-filterbar": true, @@ -68,6 +83,7 @@      "show-options-window": true,      "show-statusbar": true,      "show-toolbar": true, +    "show-tracker-scrapes": false,      "sort-mode": "sort-by-name",      "sort-reversed": false,      "speed-limit-down": 10240, @@ -81,10 +97,12 @@      "torrent-complete-notification-enabled": true,      "torrent-complete-sound-command": "canberra-gtk-play -i complete-download -d 'transmission torrent downloaded'",      "torrent-complete-sound-enabled": true, +    "trash-can-enabled": true,      "trash-original-torrent-files": false, +    "umask": 18,      "upload-slots-per-torrent": 14,      "user-has-given-informed-consent": true,      "utp-enabled": true, -    "watch-dir": "/home/yaroslav/Downloads", +    "watch-dir": "/home/yaroslav/dls",      "watch-dir-enabled": false  } diff --git a/dotfiles/.config/user-dirs.dirs b/dotfiles/.config/user-dirs.dirs index 74f5626..3aefcb6 100644 --- a/dotfiles/.config/user-dirs.dirs +++ b/dotfiles/.config/user-dirs.dirs @@ -1,8 +1,12 @@ +  XDG_DESKTOP_DIR="$HOME/.local/desktop" -XDG_DOCUMENTS_DIR="$HOME/Documents" -XDG_DOWNLOAD_DIR="$HOME/Downloads" -XDG_MUSIC_DIR="$HOME/Music" -XDG_PICTURES_DIR="$HOME/Pictures" -XDG_PUBLICSHARE_DIR="$HOME/Public" -XDG_TEMPLATES_DIR="$HOME/Templates" -XDG_VIDEOS_DIR="$HOME/Videos" +XDG_DOCUMENTS_DIR="$HOME/docs" +XDG_DOWNLOAD_DIR="$HOME/dls" +XDG_MUSIC_DIR="$HOME/music" +XDG_PICTURES_DIR="$HOME/pics" +XDG_PUBLICSHARE_DIR="$HOME/etc" +XDG_TEMPLATES_DIR="$HOME/etc" +XDG_VIDEOS_DIR="$HOME/vids" +XDG_CONFIG_HOME="$HOME/.config" +XDG_CACHE_HOME="$HOME/.cache" +XDG_DATA_HOME="$HOME/.local/share" diff --git a/dotfiles/.config/zsh/.zshrc b/dotfiles/.config/zsh/.zshrc index a597162..4a21004 100644 --- a/dotfiles/.config/zsh/.zshrc +++ b/dotfiles/.config/zsh/.zshrc @@ -1,8 +1,5 @@  # Colors and prompt  autoload -U colors && colors -if [[ -f /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh ]]; then -  . /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh -fi  autoload -Uz vcs_info  precmd_vcs_info() { vcs_info } @@ -55,50 +52,16 @@ function zle-keymap-select {  }  echo -ne '\e[5 q' # Use beam shape cursor on startup. -preexec() { echo -ne '\e[5 q' ;} # Use beam shape cursor for each new prompt. +printf "\033]2;%s\a" "$PWD" # Set terminal window title to current dir +# Repeat for every new prompt +preexec() { +  echo -ne '\e[5 q' +  printf "\033]2;%s\a" "$PWD" +}  zle -N zle-keymap-select -# Some aliases -alias v="nvim" -alias abook="abook -C $HOME/.config/abook/abookrc --datafile $HOME/Documents/contacts/addressbook" -alias eslint="./node_modules/.bin/eslint" -alias ls="ls -hN --color=auto --group-directories-first" -weath() { curl wttr.in/$1 ;} # Check the weather (give city or leave blank). -wintitle() { printf "\033]2;%s\a" "$1";} - -# Generic shortcuts -alias music="ncmpcpp" -alias clock="ncmpcpp -s clock" -alias news="newsboat" -alias files="ranger" -alias audio="ncpamixer" -alias calendar="calcurse" -alias contacts="abook" -alias calc="R --no-save" +[ -f "$HOME/.config/zsh/shortcuts" ] && . "$HOME/.config/zsh/shortcuts" -# Mounting drive shortcuts -alias mnt="udisksctl mount -b" -alias umnt="udisksctl unmount -b" -alias dlock="udisksctl lock -b" -alias dulock="udisksctl unlock -b" - -# Internet -alias yt="youtube-dl --add-metadata -ic" # Download video link -alias yta="youtube-dl --add-metadata -xic" # Download only audio -alias YT="youtube-viewer" -alias starwars="telnet towel.blinkenlights.nl" - -# Audio and Music -alias mute="lmc mute" -alias vu="lmc up" -alias vd="lmc down" -alias play="mpc toggle" -alias next="mpc next" -alias prev="mpc prev" -alias pause="mpc pause" -alias beg="mpc seek 0%" -alias lilbak="mpc seek -10" -alias lilfor="mpc seek +10" -alias bigbak="mpc seek -120" -alias bigfor="mpc seek +120" +[ -f /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh ] && +  . /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh diff --git a/dotfiles/.config/zsh/.inputrc b/dotfiles/.config/zsh/inputrc index f852d3b..f852d3b 100644 --- a/dotfiles/.config/zsh/.inputrc +++ b/dotfiles/.config/zsh/inputrc diff --git a/dotfiles/.config/zsh/shortcuts b/dotfiles/.config/zsh/shortcuts new file mode 100644 index 0000000..a47bbba --- /dev/null +++ b/dotfiles/.config/zsh/shortcuts @@ -0,0 +1,48 @@ +#!/bin/sh + +# Some aliases +alias v="nvim" +alias abook="abook -C $HOME/.config/abook/abookrc --datafile $HOME/Documents/contacts/addressbook" +alias eslint="./node_modules/.bin/eslint" +alias ls="ls -hN --color=auto --group-directories-first" +alias tmux="tmux -f $HOME/.config/tmux/tmux.conf" +weath() { curl wttr.in/$1 ;} # Check the weather (give city or leave blank). +corona() { curl https://corona-stats.online/$1 ;} # It's corona time +wintitle() { printf "\033]2;%s\a" "$1";} + +# Generic shortcuts +alias music="ncmpcpp" +alias clock="ncmpcpp -s clock" +alias news="newsboat" +alias files="ranger" +alias audio="ncpamixer" +alias calendar="calcurse" +alias contacts="abook" +alias calc="R --no-save" + +# Mounting drive shortcuts +alias mnt="udisksctl mount -b" +alias umnt="udisksctl unmount -b" +alias dlock="udisksctl lock -b" +alias dulock="udisksctl unlock -b" + +# Internet +alias yt="youtube-dl --add-metadata -ic" # Download video link +alias yta="youtube-dl --add-metadata -xic" # Download only audio +alias YT="youtube-viewer" +alias starwars="telnet towel.blinkenlights.nl" + +# Audio and Music +alias mute="lmc mute" +alias vu="lmc up" +alias vd="lmc down" +alias play="mpc toggle" +alias next="mpc next" +alias prev="mpc prev" +alias pause="mpc pause" +alias beg="mpc seek 0%" +alias lilbak="mpc seek -10" +alias lilfor="mpc seek +10" +alias bigbak="mpc seek -120" +alias bigfor="mpc seek +120" + diff --git a/dotfiles/.fonts/.uuid b/dotfiles/.fonts/.uuid deleted file mode 100644 index fe2df69..0000000 --- a/dotfiles/.fonts/.uuid +++ /dev/null @@ -1 +0,0 @@ -826e4910-7bfe-46d1-9c47-9c65d3a75fdc
\ No newline at end of file diff --git a/dotfiles/.local/bin/ddquakemite b/dotfiles/.local/bin/ddquakemite index ef67955..ae73235 100755 --- a/dotfiles/.local/bin/ddquakemite +++ b/dotfiles/.local/bin/ddquakemite @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh  if ! [ -z "$(swaymsg -t get_tree | grep 'quakemite')" ]; then      if [ -z "$(swaymsg -t get_tree | grep -A 42 'quakemite' | tail -n 1 | grep 'true')" ]; then @@ -7,7 +7,7 @@ if ! [ -z "$(swaymsg -t get_tree | grep 'quakemite')" ]; then          swaymsg '[title="quakemite"] move scratchpad'      fi  else -    $TERMINAL -t "quakemite" -e "$SHELL -c 'TERM=xterm-256color; TERMINAL=termite; tmux a || tmux'" & +    $TERMINAL -t "quakemite" -e "$SHELL -c 'TERM=xterm-256color; TERMINAL=termite; tmux -f "$HOME/.config/tmux/tmux.conf" a || tmux -f "$HOME/.config/tmux/tmux.conf"'" &      sleep 0.2s      currenty=$(swaygetcurrentwindow | cut -d ' ' -f1 | cut -d ',' -f2 )      let moveup=$currenty-25 diff --git a/dotfiles/.local/bin/git-prompt b/dotfiles/.local/bin/git-prompt deleted file mode 100755 index 048d2d7..0000000 --- a/dotfiles/.local/bin/git-prompt +++ /dev/null @@ -1,484 +0,0 @@ -# bash/zsh git prompt support -# -# Copyright (C) 2006,2007 Shawn O. Pearce <spearce@spearce.org> -# Distributed under the GNU General Public License, version 2.0. -# -# This script allows you to see repository status in your prompt. -# -# To enable: -# -#    1) Copy this file to somewhere (e.g. ~/.git-prompt.sh). -#    2) Add the following line to your .bashrc/.zshrc: -#        source ~/.git-prompt.sh -#    3a) Change your PS1 to call __git_ps1 as -#        command-substitution: -#        Bash: PS1='[\u@\h \W$(__git_ps1 " (%s)")]\$ ' -#        ZSH:  setopt PROMPT_SUBST ; PS1='[%n@%m %c$(__git_ps1 " (%s)")]\$ ' -#        the optional argument will be used as format string. -#    3b) Alternatively, for a slightly faster prompt, __git_ps1 can -#        be used for PROMPT_COMMAND in Bash or for precmd() in Zsh -#        with two parameters, <pre> and <post>, which are strings -#        you would put in $PS1 before and after the status string -#        generated by the git-prompt machinery.  e.g. -#        Bash: PROMPT_COMMAND='__git_ps1 "\u@\h:\w" "\\\$ "' -#          will show username, at-sign, host, colon, cwd, then -#          various status string, followed by dollar and SP, as -#          your prompt. -#        ZSH:  precmd () { __git_ps1 "%n" ":%~$ " "|%s" } -#          will show username, pipe, then various status string, -#          followed by colon, cwd, dollar and SP, as your prompt. -#        Optionally, you can supply a third argument with a printf -#        format string to finetune the output of the branch status -# -# The repository status will be displayed only if you are currently in a -# git repository. The %s token is the placeholder for the shown status. -# -# The prompt status always includes the current branch name. -# -# In addition, if you set GIT_PS1_SHOWDIRTYSTATE to a nonempty value, -# unstaged (*) and staged (+) changes will be shown next to the branch -# name.  You can configure this per-repository with the -# bash.showDirtyState variable, which defaults to true once -# GIT_PS1_SHOWDIRTYSTATE is enabled. -# -# You can also see if currently something is stashed, by setting -# GIT_PS1_SHOWSTASHSTATE to a nonempty value. If something is stashed, -# then a '$' will be shown next to the branch name. -# -# If you would like to see if there're untracked files, then you can set -# GIT_PS1_SHOWUNTRACKEDFILES to a nonempty value. If there're untracked -# files, then a '%' will be shown next to the branch name.  You can -# configure this per-repository with the bash.showUntrackedFiles -# variable, which defaults to true once GIT_PS1_SHOWUNTRACKEDFILES is -# enabled. -# -# If you would like to see the difference between HEAD and its upstream, -# set GIT_PS1_SHOWUPSTREAM="auto".  A "<" indicates you are behind, ">" -# indicates you are ahead, "<>" indicates you have diverged and "=" -# indicates that there is no difference. You can further control -# behaviour by setting GIT_PS1_SHOWUPSTREAM to a space-separated list -# of values: -# -#     verbose       show number of commits ahead/behind (+/-) upstream -#     name          if verbose, then also show the upstream abbrev name -#     legacy        don't use the '--count' option available in recent -#                   versions of git-rev-list -#     git           always compare HEAD to @{upstream} -#     svn           always compare HEAD to your SVN upstream -# -# By default, __git_ps1 will compare HEAD to your SVN upstream if it can -# find one, or @{upstream} otherwise.  Once you have set -# GIT_PS1_SHOWUPSTREAM, you can override it on a per-repository basis by -# setting the bash.showUpstream config variable. -# -# If you would like to see more information about the identity of -# commits checked out as a detached HEAD, set GIT_PS1_DESCRIBE_STYLE -# to one of these values: -# -#     contains      relative to newer annotated tag (v1.6.3.2~35) -#     branch        relative to newer tag or branch (master~4) -#     describe      relative to older annotated tag (v1.6.3.1-13-gdd42c2f) -#     default       exactly matching tag -# -# If you would like a colored hint about the current dirty state, set -# GIT_PS1_SHOWCOLORHINTS to a nonempty value. The colors are based on -# the colored output of "git status -sb" and are available only when -# using __git_ps1 for PROMPT_COMMAND or precmd. - -# check whether printf supports -v -__git_printf_supports_v= -printf -v __git_printf_supports_v -- '%s' yes >/dev/null 2>&1 - -# stores the divergence from upstream in $p -# used by GIT_PS1_SHOWUPSTREAM -__git_ps1_show_upstream () -{ -	local key value -	local svn_remote svn_url_pattern count n -	local upstream=git legacy="" verbose="" name="" - -	svn_remote=() -	# get some config options from git-config -	local output="$(git config -z --get-regexp '^(svn-remote\..*\.url|bash\.showupstream)$' 2>/dev/null | tr '\0\n' '\n ')" -	while read -r key value; do -		case "$key" in -		bash.showupstream) -			GIT_PS1_SHOWUPSTREAM="$value" -			if [[ -z "${GIT_PS1_SHOWUPSTREAM}" ]]; then -				p="" -				return -			fi -			;; -		svn-remote.*.url) -			svn_remote[$((${#svn_remote[@]} + 1))]="$value" -			svn_url_pattern="$svn_url_pattern\\|$value" -			upstream=svn+git # default upstream is SVN if available, else git -			;; -		esac -	done <<< "$output" - -	# parse configuration values -	for option in ${GIT_PS1_SHOWUPSTREAM}; do -		case "$option" in -		git|svn) upstream="$option" ;; -		verbose) verbose=1 ;; -		legacy)  legacy=1  ;; -		name)    name=1 ;; -		esac -	done - -	# Find our upstream -	case "$upstream" in -	git)    upstream="@{upstream}" ;; -	svn*) -		# get the upstream from the "git-svn-id: ..." in a commit message -		# (git-svn uses essentially the same procedure internally) -		local -a svn_upstream -		svn_upstream=($(git log --first-parent -1 \ -					--grep="^git-svn-id: \(${svn_url_pattern#??}\)" 2>/dev/null)) -		if [[ 0 -ne ${#svn_upstream[@]} ]]; then -			svn_upstream=${svn_upstream[${#svn_upstream[@]} - 2]} -			svn_upstream=${svn_upstream%@*} -			local n_stop="${#svn_remote[@]}" -			for ((n=1; n <= n_stop; n++)); do -				svn_upstream=${svn_upstream#${svn_remote[$n]}} -			done - -			if [[ -z "$svn_upstream" ]]; then -				# default branch name for checkouts with no layout: -				upstream=${GIT_SVN_ID:-git-svn} -			else -				upstream=${svn_upstream#/} -			fi -		elif [[ "svn+git" = "$upstream" ]]; then -			upstream="@{upstream}" -		fi -		;; -	esac - -	# Find how many commits we are ahead/behind our upstream -	if [[ -z "$legacy" ]]; then -		count="$(git rev-list --count --left-right \ -				"$upstream"...HEAD 2>/dev/null)" -	else -		# produce equivalent output to --count for older versions of git -		local commits -		if commits="$(git rev-list --left-right "$upstream"...HEAD 2>/dev/null)" -		then -			local commit behind=0 ahead=0 -			for commit in $commits -			do -				case "$commit" in -				"<"*) ((behind++)) ;; -				*)    ((ahead++))  ;; -				esac -			done -			count="$behind	$ahead" -		else -			count="" -		fi -	fi - -	# calculate the result -	if [[ -z "$verbose" ]]; then -		case "$count" in -		"") # no upstream -			p="" ;; -		"0	0") # equal to upstream -			p="=" ;; -		"0	"*) # ahead of upstream -			p=">" ;; -		*"	0") # behind upstream -			p="<" ;; -		*)	    # diverged from upstream -			p="<>" ;; -		esac -	else -		case "$count" in -		"") # no upstream -			p="" ;; -		"0	0") # equal to upstream -			p=" u=" ;; -		"0	"*) # ahead of upstream -			p=" u+${count#0	}" ;; -		*"	0") # behind upstream -			p=" u-${count%	0}" ;; -		*)	    # diverged from upstream -			p=" u+${count#*	}-${count%	*}" ;; -		esac -		if [[ -n "$count" && -n "$name" ]]; then -			__git_ps1_upstream_name=$(git rev-parse \ -				--abbrev-ref "$upstream" 2>/dev/null) -			if [ $pcmode = yes ]; then -				# see the comments around the -				# __git_ps1_branch_name variable below -				p="$p \${__git_ps1_upstream_name}" -			else -				p="$p ${__git_ps1_upstream_name}" -				# not needed anymore; keep user's -				# environment clean -				unset __git_ps1_upstream_name -			fi -		fi -	fi - -} - -# Helper function that is meant to be called from __git_ps1.  It -# injects color codes into the appropriate gitstring variables used -# to build a gitstring. -__git_ps1_colorize_gitstring () -{ -	if [[ -n ${ZSH_VERSION-} ]]; then -		local c_red='%F{red}' -		local c_green='%F{green}' -		local c_lblue='%F{blue}' -		local c_clear='%f' -	else -		# Using \[ and \] around colors is necessary to prevent -		# issues with command line editing/browsing/completion! -		local c_red='\[\e[31m\]' -		local c_green='\[\e[32m\]' -		local c_lblue='\[\e[1;34m\]' -		local c_clear='\[\e[0m\]' -	fi -	local bad_color=$c_red -	local ok_color=$c_green -	local flags_color="$c_lblue" - -	local branch_color="" -	if [ $detached = no ]; then -		branch_color="$ok_color" -	else -		branch_color="$bad_color" -	fi -	c="$branch_color$c" - -	z="$c_clear$z" -	if [ "$w" = "*" ]; then -		w="$bad_color$w" -	fi -	if [ -n "$i" ]; then -		i="$ok_color$i" -	fi -	if [ -n "$s" ]; then -		s="$flags_color$s" -	fi -	if [ -n "$u" ]; then -		u="$bad_color$u" -	fi -	r="$c_clear$r" -} - -# __git_ps1 accepts 0 or 1 arguments (i.e., format string) -# when called from PS1 using command substitution -# in this mode it prints text to add to bash PS1 prompt (includes branch name) -# -# __git_ps1 requires 2 or 3 arguments when called from PROMPT_COMMAND (pc) -# in that case it _sets_ PS1. The arguments are parts of a PS1 string. -# when two arguments are given, the first is prepended and the second appended -# to the state string when assigned to PS1. -# The optional third parameter will be used as printf format string to further -# customize the output of the git-status string. -# In this mode you can request colored hints using GIT_PS1_SHOWCOLORHINTS=true -__git_ps1 () -{ -	local pcmode=no -	local detached=no -	local ps1pc_start='\u@\h:\w ' -	local ps1pc_end='\$ ' -	local printf_format=' %s ' - -	case "$#" in -		2|3)	pcmode=yes -			ps1pc_start="$1" -			ps1pc_end="$2" -			printf_format="${3:-$printf_format}" -		;; -		0|1)	printf_format="${1:-$printf_format}" -		;; -		*)	return -		;; -	esac - -	local repo_info rev_parse_exit_code -	repo_info="$(git rev-parse --git-dir --is-inside-git-dir \ -		--is-bare-repository --is-inside-work-tree \ -		--short HEAD 2>/dev/null)" -	rev_parse_exit_code="$?" - -	if [ -z "$repo_info" ]; then -		if [ $pcmode = yes ]; then -			#In PC mode PS1 always needs to be set -			PS1="$ps1pc_start$ps1pc_end" -		fi -		return -	fi - -	local short_sha -	if [ "$rev_parse_exit_code" = "0" ]; then -		short_sha="${repo_info##*$'\n'}" -		repo_info="${repo_info%$'\n'*}" -	fi -	local inside_worktree="${repo_info##*$'\n'}" -	repo_info="${repo_info%$'\n'*}" -	local bare_repo="${repo_info##*$'\n'}" -	repo_info="${repo_info%$'\n'*}" -	local inside_gitdir="${repo_info##*$'\n'}" -	local g="${repo_info%$'\n'*}" - -	local r="" -	local b="" -	local step="" -	local total="" -	if [ -d "$g/rebase-merge" ]; then -		read b 2>/dev/null <"$g/rebase-merge/head-name" -		read step 2>/dev/null <"$g/rebase-merge/msgnum" -		read total 2>/dev/null <"$g/rebase-merge/end" -		if [ -f "$g/rebase-merge/interactive" ]; then -			r="|REBASE-i" -		else -			r="|REBASE-m" -		fi -	else -		if [ -d "$g/rebase-apply" ]; then -			read step 2>/dev/null <"$g/rebase-apply/next" -			read total 2>/dev/null <"$g/rebase-apply/last" -			if [ -f "$g/rebase-apply/rebasing" ]; then -				read b 2>/dev/null <"$g/rebase-apply/head-name" -				r="|REBASE" -			elif [ -f "$g/rebase-apply/applying" ]; then -				r="|AM" -			else -				r="|AM/REBASE" -			fi -		elif [ -f "$g/MERGE_HEAD" ]; then -			r="|MERGING" -		elif [ -f "$g/CHERRY_PICK_HEAD" ]; then -			r="|CHERRY-PICKING" -		elif [ -f "$g/REVERT_HEAD" ]; then -			r="|REVERTING" -		elif [ -f "$g/BISECT_LOG" ]; then -			r="|BISECTING" -		fi - -		if [ -n "$b" ]; then -			: -		elif [ -h "$g/HEAD" ]; then -			# symlink symbolic ref -			b="$(git symbolic-ref HEAD 2>/dev/null)" -		else -			local head="" -			if ! read head 2>/dev/null <"$g/HEAD"; then -				if [ $pcmode = yes ]; then -					PS1="$ps1pc_start$ps1pc_end" -				fi -				return -			fi -			# is it a symbolic ref? -			b="${head#ref: }" -			if [ "$head" = "$b" ]; then -				detached=yes -				b="$( -				case "${GIT_PS1_DESCRIBE_STYLE-}" in -				(contains) -					git describe --contains HEAD ;; -				(branch) -					git describe --contains --all HEAD ;; -				(describe) -					git describe HEAD ;; -				(* | default) -					git describe --tags --exact-match HEAD ;; -				esac 2>/dev/null)" || - -				b="$short_sha..." -				b="($b)" -			fi -		fi -	fi - -	if [ -n "$step" ] && [ -n "$total" ]; then -		r="$r $step/$total" -	fi - -	local w="" -	local i="" -	local s="" -	local u="" -	local c="" -	local p="" - -	if [ "true" = "$inside_gitdir" ]; then -		if [ "true" = "$bare_repo" ]; then -			c="BARE:" -		else -			b="GIT_DIR!" -		fi -	elif [ "true" = "$inside_worktree" ]; then -		if [ -n "${GIT_PS1_SHOWDIRTYSTATE-}" ] && -		   [ "$(git config --bool bash.showDirtyState)" != "false" ] -		then -			git diff --no-ext-diff --quiet --exit-code || w="*" -			if [ -n "$short_sha" ]; then -				git diff-index --cached --quiet HEAD -- || i="+" -			else -				i="#" -			fi -		fi -		if [ -n "${GIT_PS1_SHOWSTASHSTATE-}" ] && -		   [ -r "$g/refs/stash" ]; then -			s="$" -		fi - -		if [ -n "${GIT_PS1_SHOWUNTRACKEDFILES-}" ] && -		   [ "$(git config --bool bash.showUntrackedFiles)" != "false" ] && -		   git ls-files --others --exclude-standard --error-unmatch -- '*' >/dev/null 2>/dev/null -		then -			u="%${ZSH_VERSION+%}" -		fi - -		if [ -n "${GIT_PS1_SHOWUPSTREAM-}" ]; then -			__git_ps1_show_upstream -		fi -	fi - -	local z="${GIT_PS1_STATESEPARATOR-" "}" - -	# NO color option unless in PROMPT_COMMAND mode -	if [ $pcmode = yes ] && [ -n "${GIT_PS1_SHOWCOLORHINTS-}" ]; then -		__git_ps1_colorize_gitstring -	fi - -	b=${b##refs/heads/} -	if [ $pcmode = yes ]; then -		# In pcmode (and only pcmode) the contents of -		# $gitstring are subject to expansion by the shell. -		# Avoid putting the raw ref name in the prompt to -		# protect the user from arbitrary code execution via -		# specially crafted ref names (e.g., a ref named -		# '$(IFS=_;cmd=sudo_rm_-rf_/;$cmd)' would execute -		# 'sudo rm -rf /' when the prompt is drawn).  Instead, -		# put the ref name in a new global variable (in the -		# __git_ps1_* namespace to avoid colliding with the -		# user's environment) and reference that variable from -		# PS1. -		__git_ps1_branch_name=$b -		# note that the $ is escaped -- the variable will be -		# expanded later (when it's time to draw the prompt) -		b="\${__git_ps1_branch_name}" -	fi - -	local f="$w$i$s$u" -	local gitstring="$c$b${f:+$z$f}$r$p" - -	if [ $pcmode = yes ]; then -		if [ "${__git_printf_supports_v-}" != yes ]; then -			gitstring=$(printf -- "$printf_format" "$gitstring") -		else -			printf -v gitstring -- "$printf_format" "$gitstring" -		fi -		PS1="$ps1pc_start$gitstring$ps1pc_end" -	else -		printf -- "$printf_format" "$gitstring" -	fi -} diff --git a/dotfiles/.local/bin/mailcheck b/dotfiles/.local/bin/mailcheck index bf49de9..32f76a9 100755 --- a/dotfiles/.local/bin/mailcheck +++ b/dotfiles/.local/bin/mailcheck @@ -12,7 +12,7 @@ export DISPLAY=:0.0  notify() {      notify-send "📬 Email" "$2 new mail(s) in \`$1\` account." -    mplayer $HOME/.soundalerts/mail.mp3 +    mplayer $HOME/.local/share/soundalerts/mail.mp3  }  # Run mbsync. You can feed this script different settings. diff --git a/dotfiles/.local/bin/mako_launch b/dotfiles/.local/bin/mako_launch deleted file mode 100755 index 4b61208..0000000 --- a/dotfiles/.local/bin/mako_launch +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh - -# Terminate already running mako instance -killall -q mako - -# Wait until the processes have been shut down -while pgrep -u $UID -x mako >/dev/null; do sleep 1; done - -mako --background-color "#2d333ff3" --border-color "#434c5e" --text-color "#e5e9f0" --font="BlexMono Nerd Font Mono 10" --default-timeout 5000 --height 300 diff --git a/dotfiles/.local/bin/menublk b/dotfiles/.local/bin/menublk index 0ca0607..26cfc55 100755 --- a/dotfiles/.local/bin/menublk +++ b/dotfiles/.local/bin/menublk @@ -6,7 +6,7 @@  # Yaroslav de la Peña Smirnov -. $HOME/.bemenurc +. ~/.config/bemenurc  readarray -t blkdevs <<< "$(lsblk -r -o NAME,TYPE,FSTYPE,MOUNTPOINT | tail -n +2)" diff --git a/dotfiles/.local/bin/menudisplay b/dotfiles/.local/bin/menudisplay index 6064bff..1dd3c2f 100755 --- a/dotfiles/.local/bin/menudisplay +++ b/dotfiles/.local/bin/menudisplay @@ -1,7 +1,7 @@  #!/bin/sh  # Source settings from .bemenurc -. $HOME/.bemenurc +. ~/.config/bemenurc  display=$(swaymsg -t get_outputs | grep -E "name" | sed "s/^.*\"name\": \"//g;s/\",$//g;" | bemenu -p "Select output: " --tf="$BEMENU_TF" --tb="$BEMENU_NB" --fb="$BEMENU_NB" --fn="$BEMENU_FN" --nb="$BEMENU_NB" --nf="$BEMENU_NF" --hf="$BEMENU_HF" --hb="$BEMENU_HB") diff --git a/dotfiles/.local/bin/menuducksearch b/dotfiles/.local/bin/menuducksearch index 979c365..54242b1 100755 --- a/dotfiles/.local/bin/menuducksearch +++ b/dotfiles/.local/bin/menuducksearch @@ -5,7 +5,7 @@  # Anything else, it search it.  # Source settings from .bemenurc -. $HOME/.bemenurc +. ~/.config/bemenurc  choice=$(echo "" | bemenu -i -p "Search DuckDuckGo:" --tf="$BEMENU_TF" --tb="$BEMENU_NB" --fb="$BEMENU_NB" --fn="$BEMENU_FN" --nb="$BEMENU_NB" --nf="$BEMENU_NF" --hf="$BEMENU_HF" --hb="$BEMENU_HB") || exit 1 diff --git a/dotfiles/.local/bin/menuemoji b/dotfiles/.local/bin/menuemoji index 8f0720c..bd13aa4 100755 --- a/dotfiles/.local/bin/menuemoji +++ b/dotfiles/.local/bin/menuemoji @@ -3,9 +3,9 @@  # Shows the selected character in dunst if running.  # Source settings from .bemenurc -. $HOME/.bemenurc +. ~/.config/bemenurc -chosen=$(grep -v "#" ~/.emoji | bemenu -i -l 25 --tf="$BEMENU_TF" --tb="$BEMENU_NB" --fb="$BEMENU_NB" --fn="$BEMENU_FN" --nb="$BEMENU_NB" --nf="$BEMENU_NF" --hf="$BEMENU_HF" --hb="$BEMENU_HB") +chosen=$(grep -v "#" ~/.local/share/script-data/emoji | bemenu -i -l 25 --tf="$BEMENU_TF" --tb="$BEMENU_NB" --fb="$BEMENU_NB" --fn="$BEMENU_FN" --nb="$BEMENU_NB" --nf="$BEMENU_NF" --hf="$BEMENU_HF" --hb="$BEMENU_HB")  if [ -z $chosen ]; then      exit 0 diff --git a/dotfiles/.local/bin/menugrim b/dotfiles/.local/bin/menugrim index bc77c11..523e162 100755 --- a/dotfiles/.local/bin/menugrim +++ b/dotfiles/.local/bin/menugrim @@ -5,7 +5,7 @@ if ! [ -d $SCROT_DIR ]; then  fi  # Source settings from .bemenurc -. $HOME/.bemenurc +. ~/.config/bemenurc  notify_saved() {      notify-send "screenshot has been saved in $SCROT_DIR" ; diff --git a/dotfiles/.local/bin/menumako b/dotfiles/.local/bin/menumako index 6589c32..ce7e82e 100755 --- a/dotfiles/.local/bin/menumako +++ b/dotfiles/.local/bin/menumako @@ -1,6 +1,6 @@  #!/bin/sh  # Source settings from .bemenurc -. $HOME/.bemenurc +. ~/.config/bemenurc  makoctl menu bemenu '-p "What to do?" --tf="$BEMENU_TF" --tb="$BEMENU_NB" --fb="$BEMENU_NB" --fn="$BEMENU_FN" --nb="$BEMENU_NB" --nf="$BEMENU_NF" --hf="$BEMENU_HF" --hb="$BEMENU_HB"' diff --git a/dotfiles/.local/bin/menuoutput b/dotfiles/.local/bin/menuoutput index 5e29f66..0efc948 100755 --- a/dotfiles/.local/bin/menuoutput +++ b/dotfiles/.local/bin/menuoutput @@ -2,7 +2,7 @@  # Change audio output for all streams and set as default using dmenu  # Source settings from .bemenurc -. $HOME/.bemenurc +. ~/.config/bemenurc  output=$(listsinks | bemenu -p "Select audio output: " --tf="$BEMENU_TF" --tb="$BEMENU_NB" --fb="$BEMENU_NB" --fn="$BEMENU_FN" --nb="$BEMENU_NB" --nf="$BEMENU_NF" --hf="$BEMENU_HF" --hb="$BEMENU_HB") diff --git a/dotfiles/.local/bin/menurun b/dotfiles/.local/bin/menurun index 530cac7..7ee05d7 100755 --- a/dotfiles/.local/bin/menurun +++ b/dotfiles/.local/bin/menurun @@ -1,7 +1,7 @@  #!/bin/sh  # Source settings from .bemenurc -. $HOME/.bemenurc +. ~/.config/bemenurc  action=$(compgen -c | sort -u | bemenu -p "Run:" --tf="$BEMENU_TF" --tb="$BEMENU_NB" --fb="$BEMENU_NB" --fn="$BEMENU_FN" --nb="$BEMENU_NB" --nf="$BEMENU_NF" --hf="$BEMENU_HF" --hb="$BEMENU_HB")  $action diff --git a/dotfiles/.local/bin/menusession b/dotfiles/.local/bin/menusession index 3867b73..85824f7 100755 --- a/dotfiles/.local/bin/menusession +++ b/dotfiles/.local/bin/menusession @@ -1,7 +1,7 @@  #!/bin/sh  # Source settings from .bemenurc -. $HOME/.bemenurc +. ~/.config/bemenurc  action=$(printf "logout\nsuspend\nreboot\npoweroff\n" | bemenu -p "What to do?" --tf="$BEMENU_TF" --tb="$BEMENU_NB" --fb="$BEMENU_NB" --fn="$BEMENU_FN" --nb="$BEMENU_NB" --nf="$BEMENU_NF" --hf="$BEMENU_HF" --hb="$BEMENU_HB") diff --git a/dotfiles/.local/bin/menuxrun b/dotfiles/.local/bin/menuxrun index 7ce556e..fd7f797 100755 --- a/dotfiles/.local/bin/menuxrun +++ b/dotfiles/.local/bin/menuxrun @@ -1,7 +1,7 @@  #!/bin/sh  # Source settings from .bemenurc -. $HOME/.bemenurc +. ~/.config/bemenurc  action=$(compgen -c | sort -u | bemenu -p "Force run inside XWayland:" --tf="$BEMENU_TF" --tb="$BEMENU_NB" --fb="$BEMENU_NB" --fn="$BEMENU_FN" --nb="$BEMENU_NB" --nf="$BEMENU_NF" --hf="$BEMENU_HF" --hb="$BEMENU_HB")  xway $action diff --git a/dotfiles/.local/bin/svgtopdf b/dotfiles/.local/bin/svgtopdf new file mode 100755 index 0000000..f59bd98 --- /dev/null +++ b/dotfiles/.local/bin/svgtopdf @@ -0,0 +1,9 @@ +#!/bin/sh + +file=$(readlink -f "$1") +dir=$(dirname "$file") +base="${file%.*}" + +cd "$dir" || exit + +inkscape -z -D --file="$file" --export-pdf="$base.pdf" diff --git a/dotfiles/.fonts/Kindly Rewind.ttf b/dotfiles/.local/share/fonts/Kindly Rewind.ttfBinary files differ index 97839d5..97839d5 100644 --- a/dotfiles/.fonts/Kindly Rewind.ttf +++ b/dotfiles/.local/share/fonts/Kindly Rewind.ttf diff --git a/dotfiles/.local/share/fonts/PxPlus_IBM_CGAthin.ttf b/dotfiles/.local/share/fonts/PxPlus_IBM_CGAthin.ttfBinary files differ new file mode 100644 index 0000000..bca6a64 --- /dev/null +++ b/dotfiles/.local/share/fonts/PxPlus_IBM_CGAthin.ttf diff --git a/dotfiles/.fonts/Rye-Regular.ttf b/dotfiles/.local/share/fonts/Rye-Regular.ttfBinary files differ index 4a712f5..4a712f5 100644 --- a/dotfiles/.fonts/Rye-Regular.ttf +++ b/dotfiles/.local/share/fonts/Rye-Regular.ttf diff --git a/dotfiles/.fonts/Sancreek-Regular.ttf b/dotfiles/.local/share/fonts/Sancreek-Regular.ttfBinary files differ index 46cec54..46cec54 100644 --- a/dotfiles/.fonts/Sancreek-Regular.ttf +++ b/dotfiles/.local/share/fonts/Sancreek-Regular.ttf diff --git a/dotfiles/.fonts/vcr_osd_mono.ttf b/dotfiles/.local/share/fonts/vcr_osd_mono.ttfBinary files differ index dcca687..dcca687 100644 --- a/dotfiles/.fonts/vcr_osd_mono.ttf +++ b/dotfiles/.local/share/fonts/vcr_osd_mono.ttf diff --git a/dotfiles/.emoji b/dotfiles/.local/share/script-data/emoji index 35c1e1b..dae4e8a 100644 --- a/dotfiles/.emoji +++ b/dotfiles/.local/share/script-data/emoji @@ -1642,3 +1642,4 @@  🏴 flag: England; U+1F3F4 U+E0067 U+E0062 U+E0065 U+E006E U+E0067 U+E007F  🏴 flag: Scotland; U+1F3F4 U+E0067 U+E0062 U+E0073 U+E0063 U+E0074 U+E007F  🏴 flag: Wales; U+1F3F4 U+E0067 U+E0062 U+E0077 U+E006C U+E0073 U+E007F +( ͡° ͜ʖ ͡°) lenny face; diff --git a/dotfiles/.soundalerts/mail.mp3 b/dotfiles/.local/share/soundalerts/mail.mp3Binary files differ index 7e6812d..7e6812d 100644 --- a/dotfiles/.soundalerts/mail.mp3 +++ b/dotfiles/.local/share/soundalerts/mail.mp3 diff --git a/dotfiles/.soundalerts/start.ogg b/dotfiles/.local/share/soundalerts/start.oggBinary files differ index a34ee2a..a34ee2a 100644 --- a/dotfiles/.soundalerts/start.ogg +++ b/dotfiles/.local/share/soundalerts/start.ogg diff --git a/dotfiles/.profile b/dotfiles/.profile index 9424cfc..e683745 100644 --- a/dotfiles/.profile +++ b/dotfiles/.profile @@ -1,7 +1,7 @@  export PATH=$PATH:$HOME/.local/bin -export SCROT_DIR=$HOME/Pictures/screenshots/ -export VREC_DIR=$HOME/Videos/recordings/ -export AREC_DIR=$HOME/Documents/audio/recordings/ +export SCROT_DIR=$HOME/pics/screenshots/ +export VREC_DIR=$HOME/vids/recordings/ +export AREC_DIR=$HOME/docs/audio/recordings/  #export GDK_BACKEND=wayland  export EGL_PLATFORM=wayland  export CLUTTER_PLATFORM=wayland @@ -17,10 +17,21 @@ export TERM=xterm-256color  export TERMINAL=termite  export EDITOR="nvim"  export BROWSER=qutebrowser + +# Le cleaner home +export XDG_CONFIG_HOME="$HOME/.config" +export XDG_CACHE_HOME="$HOME/.cache" +export XDG_DATA_HOME="$HOME/.local/share"  export ZDOTDIR="$HOME/.config/zsh"  export INPUTRC="$HOME/.config/zsh/inputrc" +export LESSHISTFILE="-" +export GTK2_RC_FILES="$HOME/.config/gtk-2.0/gtkrc-2.0" +export CARGO_HOME="$XDG_DATA_HOME/cargo" +export GNUPGNOME="$XDG_DATA_HOME/gnupg" +eval "$(dircolors "$HOME/.config/dir_colors")" +# Start sway automatically upon login on tty1  if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]]; then -  sway && clear && exit +  sway > ~/.cache/sway.log 2>&1 && clear && exit  fi diff --git a/dotfiles/.tmux.conf b/dotfiles/.tmux.conf deleted file mode 100644 index 96844d5..0000000 --- a/dotfiles/.tmux.conf +++ /dev/null @@ -1,1182 +0,0 @@ -# cat << EOF > /dev/null -# https://github.com/gpakosz/.tmux -# (‑●‑●)> dual licensed under the WTFPL v2 license and the MIT license, -#         without any warranty. -#         Copyright 2012— Gregory Pakosz (@gpakosz). -# /!\ do not edit this file -#     instead, override settings in ~/.tmux.conf.local, see README.md - - -# -- general ------------------------------------------------------------------- - -set -g default-terminal "screen-256color" # colors! -setw -g xterm-keys on -set -s escape-time 10                     # faster command sequences -set -sg repeat-time 600                   # increase repeat timeout -set -s focus-events on - -set -g prefix2 C-a                        # GNU-Screen compatible prefix -bind C-a send-prefix -2 - -set -q -g status-utf8 on                  # expect UTF-8 (tmux < 2.2) -setw -q -g utf8 on - -set -g history-limit 5000                 # boost history - -# edit configuration -bind e new-window -n '~/.tmux.conf.local' "sh -c '\${EDITOR:-vim} ~/.tmux.conf.local && tmux source ~/.tmux.conf && tmux display \"~/.tmux.conf sourced\"'" - -# reload configuration -bind r source-file ~/.tmux.conf \; display '~/.tmux.conf sourced' - - -# -- display ------------------------------------------------------------------- - -set -g base-index 1           # start windows numbering at 1 -setw -g pane-base-index 1     # make pane numbering consistent with windows - -setw -g automatic-rename on   # rename window to reflect current program -set -g renumber-windows on    # renumber windows when a window is closed - -set -g set-titles on          # set terminal title - -set -g display-panes-time 800 # slightly longer pane indicators display time -set -g display-time 1000      # slightly longer status messages display time - -set -g status-interval 10     # redraw status line every 10 seconds - -# clear both screen and history -bind -n C-l send-keys C-l \; run 'sleep 0.1' \; clear-history - -# activity -set -g monitor-activity on -set -g visual-activity off - - -# -- navigation ---------------------------------------------------------------- - -# create session -bind C-c new-session - -# find session -bind C-f command-prompt -p find-session 'switch-client -t %%' - -# split current window horizontally -bind - split-window -v -# split current window vertically -bind _ split-window -h - -# pane navigation -bind -r h select-pane -L  # move left -bind -r j select-pane -D  # move down -bind -r k select-pane -U  # move up -bind -r l select-pane -R  # move right -bind > swap-pane -D       # swap current pane with the next one -bind < swap-pane -U       # swap current pane with the previous one - -# maximize current pane -bind + run 'cut -c3- ~/.tmux.conf | sh -s _maximize_pane "#{session_name}" #D' - -# pane resizing -bind -r H resize-pane -L 2 -bind -r J resize-pane -D 2 -bind -r K resize-pane -U 2 -bind -r L resize-pane -R 2 - -# window navigation -unbind n -unbind p -bind -r C-h previous-window # select previous window -bind -r C-l next-window     # select next window -bind Tab last-window        # move to last active window - -# toggle mouse -bind m run "cut -c3- ~/.tmux.conf | sh -s _toggle_mouse" - - -# -- urlview ------------------------------------------------------------------- - -bind U run "cut -c3- ~/.tmux.conf | sh -s _urlview #{pane_id}" - - -# -- facebook pathpicker ------------------------------------------------------- - -bind F run "cut -c3- ~/.tmux.conf | sh -s _fpp #{pane_id}" - - -# -- list choice (tmux < 2.4) -------------------------------------------------- - -# vi-choice is gone in tmux >= 2.4 -run -b 'tmux bind -t vi-choice h tree-collapse 2> /dev/null || true' -run -b 'tmux bind -t vi-choice l tree-expand 2> /dev/null || true' -run -b 'tmux bind -t vi-choice K start-of-list 2> /dev/null || true' -run -b 'tmux bind -t vi-choice J end-of-list 2> /dev/null || true' -run -b 'tmux bind -t vi-choice H tree-collapse-all 2> /dev/null || true' -run -b 'tmux bind -t vi-choice L tree-expand-all 2> /dev/null || true' -run -b 'tmux bind -t vi-choice Escape cancel 2> /dev/null || true' - - -# -- edit mode (tmux < 2.4) ---------------------------------------------------- - -# vi-edit is gone in tmux >= 2.4 -run -b 'tmux bind -ct vi-edit H start-of-line 2> /dev/null || true' -run -b 'tmux bind -ct vi-edit L end-of-line 2> /dev/null || true' -run -b 'tmux bind -ct vi-edit q cancel 2> /dev/null || true' -run -b 'tmux bind -ct vi-edit Escape cancel 2> /dev/null || true' - - -# -- copy mode ----------------------------------------------------------------- - -bind Enter copy-mode # enter copy mode - -run -b 'tmux bind -t vi-copy v begin-selection 2> /dev/null || true' -run -b 'tmux bind -T copy-mode-vi v send -X begin-selection 2> /dev/null || true' -run -b 'tmux bind -t vi-copy C-v rectangle-toggle 2> /dev/null || true' -run -b 'tmux bind -T copy-mode-vi C-v send -X rectangle-toggle 2> /dev/null || true' -run -b 'tmux bind -t vi-copy y copy-selection 2> /dev/null || true' -run -b 'tmux bind -T copy-mode-vi y send -X copy-selection-and-cancel 2> /dev/null || true' -run -b 'tmux bind -t vi-copy Escape cancel 2> /dev/null || true' -run -b 'tmux bind -T copy-mode-vi Escape send -X cancel 2> /dev/null || true' -run -b 'tmux bind -t vi-copy H start-of-line 2> /dev/null || true' -run -b 'tmux bind -T copy-mode-vi H send -X start-of-line 2> /dev/null || true' -run -b 'tmux bind -t vi-copy L end-of-line 2> /dev/null || true' -run -b 'tmux bind -T copy-mode-vi L send -X end-of-line 2> /dev/null || true' - -# copy to Mac OSX clipboard -if -b 'command -v reattach-to-user-namespace > /dev/null 2>&1' 'bind y run -b "tmux save-buffer - | reattach-to-user-namespace pbcopy"' -# copy to X11 clipboard -if -b 'command -v xsel > /dev/null 2>&1' 'bind y run -b "tmux save-buffer - | xsel -i -b"' -if -b '! command -v xsel > /dev/null 2>&1 && command -v xclip > /dev/null 2>&1' 'bind y run -b "tmux save-buffer - | xclip -i -selection clipboard >/dev/null 2>&1"' -# copy to Windows clipboard -if -b 'command -v clip.exe > /dev/null 2>&1' 'bind y run -b "tmux save-buffer - | clip.exe"' -if -b '[ -c /dev/clipboard ]' 'bind y run -b "tmux save-buffer - > /dev/clipboard"' - - -# -- buffers ------------------------------------------------------------------- - -bind b list-buffers  # list paste buffers -bind p paste-buffer  # paste from the top paste buffer -bind P choose-buffer # choose which buffer to paste from - - -# -- user defined overrides ---------------------------------------------------- - -if '[ -f ~/.tmux.conf.local ]' 'source ~/.tmux.conf.local' - - -# -- 8< ------------------------------------------------------------------------ - -run 'cut -c3- ~/.tmux.conf | sh -s _apply_configuration' - - -# EOF -# -# # exit the script if any statement returns a non-true return value -# set -e -# -# export LC_NUMERIC=C -# -# __newline=' -# ' -# -# _is_enabled() { -#   ( ([ x"$1" = x"enabled" ] || [ x"$1" = x"true" ] || [ x"$1" = x"yes" ] || [ x"$1" = x"1" ]) && return 0 ) || return 1 -# } -# -# _circled() { -#   circled_digits='⓪ ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ⑪ ⑫ ⑬ ⑭ ⑮ ⑯ ⑰ ⑱ ⑲ ⑳' -#   if [ "$1" -le 20 ] 2>/dev/null; then -#     i=$(( $1 + 1 )) -#     eval set -- "$circled_digits" -#     eval echo "\${$i}" -#   else -#     echo "$1" -#   fi -# } -# -# _maximize_pane() { -#   current_session=${1:-$(tmux display -p '#{session_name}')} -#   current_pane=${2:-$(tmux display -p '#{pane_id}')} -# -#   dead_panes=$(tmux list-panes -s -t "$current_session" -F '#{pane_dead} #{pane_id} #{pane_start_command}' | grep -o '^1 %.\+maximized.\+$' || true) -#   restore=$(echo "$dead_panes" | sed -n -E -e "s/^1 $current_pane .+maximized.+'(%[0-9]+)'$/tmux swap-pane -s \1 -t $current_pane \; kill-pane -t $current_pane/p" -e "s/^1 (%[0-9]+) .+maximized.+'$current_pane'$/tmux swap-pane -s \1 -t $current_pane \; kill-pane -t \1/p" ) -# -#   if [ -z "$restore" ]; then -#     [ "$(tmux list-panes -t "$current_session:" | wc -l | sed 's/^ *//g')" -eq 1 ] && tmux display "Can't maximize with only one pane" && return -#     window=$(tmux new-window -t "$current_session:" -P "exec maximized... 2> /dev/null & tmux setw -t \"$current_session:\" remain-on-exit on; printf \"Pane has been maximized, press <prefix>+ to restore. %s\" '$current_pane'") -#     window=${window%.*} -# -#     retry=10 -#     while [ x"$(tmux list-panes -t "$window" -F '#{session_name}:#{window_index} #{pane_dead}' 2>/dev/null)" != x"$window 1" ] && [ "$retry" -ne 0 ]; do -#       sleep 0.05 -#       retry=$((retry - 1)) -#     done -#     if [ "$retry" -eq 0 ]; then -#       tmux display 'Unable to maximize pane' -#     fi -# -#     new_pane=$(tmux display -t "$window" -p '#{pane_id}') -#     tmux setw -t "$window" remain-on-exit off \; swap-pane -s "$current_pane" -t "$new_pane" -#   else -#     $restore || tmux kill-pane -#   fi -# } -# -# _toggle_mouse() { -#   old=$(tmux show -gv mouse) -#   new="" -# -#   if [ "$old" = "on" ]; then -#     new="off" -#   else -#     new="on" -#   fi -# -#   tmux set -g mouse $new \;\ -#        display "mouse: $new" -# } -# -# _battery() { -#   charge=0 -#   uname_s=$(uname -s) -#   case "$uname_s" in -#     *Darwin*) -#       while IFS= read -r line; do -#         if [ x"$discharging" != x"true" ]; then -#           discharging=$(printf '%s' "$line" | grep -qi "discharging" && echo "true" || echo "false") -#         fi -#         percentage=$(printf '%s' "$line" | grep -E -o '[0-9]+%') -#         charge=$(awk -v charge="$charge" -v percentage="${percentage%%%}" 'BEGIN { print charge + percentage / 100 }') -#         count=$((count + 1)) -#       done  << EOF -# $(pmset -g batt | grep 'InternalBattery') -# EOF -#       ;; -#     *Linux*) -#       while IFS= read -r batpath; do -#         grep -i -q device "$batpath/scope" 2> /dev/null && continue -# -#         if [ x"$discharging" != x"true" ]; then -#           discharging=$(grep -qi "discharging" "$batpath/status" && echo "true" || echo "false") -#         fi -#         bat_capacity="$batpath/capacity" -#         if [ -r "$bat_capacity" ]; then -#           charge=$(awk -v charge="$charge" -v capacity="$(cat "$bat_capacity")" 'BEGIN { print charge + capacity / 100 }') -#         else -#           bat_energy_full="$batpath/energy_full" -#           bat_energy_now="$batpath/energy_now" -#           if [ -r "$bat_energy_full" ] && [ -r "$bat_energy_now" ]; then -#             charge=$(awk -v charge="$charge" -v energy_now="$(cat "$bat_energy_now")" -v energy_full="$(cat "$bat_energy_full")" 'BEGIN { print charge + energy_now / energy_full }') -#           fi -#         fi -#         count=$((count + 1)) -#       done  << EOF -# $(find /sys/class/power_supply -maxdepth 1 -iname '*bat*') -# EOF -#       ;; -#     *CYGWIN*|*MSYS*|*MINGW*) -#       while IFS= read -r line; do -#         [ -z "$line" ] && continue -#         if [ x"$discharging" != x"true" ]; then -#           discharging=$(printf '%s' "$line" | awk '{ s = ($1 == 1) ? "true" : "false"; print s }') -#         fi -#         charge=$(printf '%s' "$line" | awk -v charge="$charge" '{ print charge + $2 / 100 }') -#         count=$((count + 1)) -#       done  << EOF -# $(wmic path Win32_Battery get BatteryStatus, EstimatedChargeRemaining | tr -d '\r' | tail -n +2) -# EOF -#       ;; -#     *OpenBSD*) -#       for batid in 0 1 2; do -#         sysctl -n "hw.sensors.acpibat$batid.raw0" 2>&1 | grep -q 'not found' && continue -#         if [ x"$discharging" != x"true" ]; then -#           discharging=$(sysctl -n "hw.sensors.acpibat$batid.raw0" | grep -q 1 && echo "true" || echo "false") -#         fi -#         if sysctl -n "hw.sensors.acpibat$batid" | grep -q amphour; then -#           charge=$(awk -v charge="$charge" -v remaining="$(sysctl -n hw.sensors.acpibat$batid.amphour3 | cut -d' ' -f1)" -v full="$(sysctl -n hw.sensors.acpibat$batid.amphour0 | cut -d' ' -f1)" 'BEGIN { print charge + remaining / full }') -#         else -#           charge=$(awk -v charge="$charge" -v remaining="$(sysctl -n hw.sensors.acpibat$batid.watthour3 | cut -d' ' -f1)" -v full="$(sysctl -n hw.sensors.acpibat$batid.watthour0 | cut -d' ' -f1)" 'BEGIN { print charge + remaining / full }') -#         fi -#         count=$((count + 1)) -#       done -#       ;; -#   esac -#   charge=$(awk -v charge="$charge" -v count="$count" 'BEGIN { print charge / count }') -#   if [ "$charge" -eq 0 ]; then -#     tmux  set -ug '@battery_status'  \;\ -#           set -ug '@battery_bar'     \;\ -#           set -ug '@battery_hbar'    \;\ -#           set -ug '@battery_vbar'    \;\ -#           set -ug '@battery_percentage' -#     return -#   fi -# -#   variables=$(tmux  show -gqv '@battery_bar_symbol_full' \;\ -#                     show -gqv '@battery_bar_symbol_empty' \;\ -#                     show -gqv '@battery_bar_length' \;\ -#                     show -gqv '@battery_bar_palette' \;\ -#                     show -gqv '@battery_hbar_palette' \;\ -#                     show -gqv '@battery_vbar_palette' \;\ -#                     show -gqv '@battery_status_charging' \;\ -#                     show -gqv '@battery_status_discharging') -#   # shellcheck disable=SC2086 -#   { set -f; IFS="$__newline"; set -- $variables; unset IFS; set +f; } -# -#   battery_bar_symbol_full=$1 -#   battery_bar_symbol_empty=$2 -#   battery_bar_length=$3 -#   battery_bar_palette=$4 -#   battery_hbar_palette=$5 -#   battery_vbar_palette=$6 -#   battery_status_charging=$7 -#   battery_status_discharging=$8 -# -#   if [ x"$battery_bar_length" = x"auto" ]; then -#     columns=$(tmux -q display -p '#{client_width}' 2> /dev/null || echo 80) -#     if [ "$columns" -ge 80 ]; then -#       battery_bar_length=10 -#     else -#       battery_bar_length=5 -#     fi -#   fi -# -#   if [ x"$discharging" = x"true" ]; then -#     battery_status="$battery_status_discharging" -#   else -#     battery_status="$battery_status_charging" -#   fi -# -#   if echo "$battery_bar_palette" | grep -q -E '^heat|gradient(,[#a-z0-9]{7,9})?$'; then -#     # shellcheck disable=SC2086 -#     { set -f; IFS=,; set -- $battery_bar_palette; unset IFS; set +f; } -#     palette_style=$1 -#     battery_bg=${2:-none} -#     [ x"$palette_style" = x"gradient" ] && \ -#       palette="196 202 208 214 220 226 190 154 118 82 46" -#     [ x"$palette_style" = x"heat" ] && \ -#       palette="243 245 247 144 143 142 184 214 208 202 196" -# -#     palette=$(echo "$palette" | awk -v n="$battery_bar_length" '{ for (i = 0; i < n; ++i) printf $(1 + (i * NF / n))" " }') -#     eval set -- "$palette" -# -#     full=$(awk "BEGIN { printf \"%.0f\", ($charge) * $battery_bar_length }") -#     battery_bar="#[bg=$battery_bg]" -#     # shellcheck disable=SC2046 -#     [ "$full" -gt 0 ] && \ -#       battery_bar="$battery_bar$(printf "#[fg=colour%s]$battery_bar_symbol_full" $(echo "$palette" | cut -d' ' -f1-"$full"))" -#     # shellcheck disable=SC2046 -#     empty=$((battery_bar_length - full)) -#     # shellcheck disable=SC2046 -#     [ "$empty" -gt 0 ] && \ -#       battery_bar="$battery_bar$(printf "#[fg=colour%s]$battery_bar_symbol_empty" $(echo "$palette" | cut -d' ' -f$((full + 1))-$((full + empty))))" -#       eval battery_bar="$battery_bar#[fg=colour\${$((full == 0 ? 1 : full))}]" -#   elif echo "$battery_bar_palette" | grep -q -E '^(([#a-z0-9]{7,9}|none),?){3}$'; then -#     # shellcheck disable=SC2086 -#     { set -f; IFS=,; set -- $battery_bar_palette; unset IFS; set +f; } -#     battery_full_fg=$1 -#     battery_empty_fg=$2 -#     battery_bg=$3 -# -#     full=$(awk "BEGIN { printf \"%.0f\", ($charge) * $battery_bar_length }") -#     [ x"$battery_bg" != x"none" ] && \ -#       battery_bar="#[bg=$battery_bg]" -#     #shellcheck disable=SC2046 -#     [ "$full" -gt 0 ] && \ -#       battery_bar="$battery_bar#[fg=$battery_full_fg]$(printf "%0.s$battery_bar_symbol_full" $(seq 1 "$full"))" -#     empty=$((battery_bar_length - full)) -#     #shellcheck disable=SC2046 -#     [ "$empty" -gt 0 ] && \ -#       battery_bar="$battery_bar#[fg=$battery_empty_fg]$(printf "%0.s$battery_bar_symbol_empty" $(seq 1 "$empty"))" && \ -#       battery_bar="$battery_bar#[fg=$battery_empty_fg]" -#   fi -# -#   if echo "$battery_hbar_palette" | grep -q -E '^heat|gradient(,[#a-z0-9]{7,9})?$'; then -#     # shellcheck disable=SC2086 -#     { set -f; IFS=,; set -- $battery_hbar_palette; unset IFS; set +f; } -#     palette_style=$1 -#     [ x"$palette_style" = x"gradient" ] && \ -#       palette="196 202 208 214 220 226 190 154 118 82 46" -#     [ x"$palette_style" = x"heat" ] && \ -#       palette="233 234 235 237 239 241 243 245 247 144 143 142 184 214 208 202 196" -# -#     palette=$(echo "$palette" | awk -v n="$battery_bar_length" '{ for (i = 0; i < n; ++i) printf $(1 + (i * NF / n))" " }') -#     eval set -- "$palette" -# -#     full=$(awk "BEGIN { printf \"%.0f\", ($charge) * $battery_bar_length }") -#     eval battery_hbar_fg="colour\${$((full == 0 ? 1 : full))}" -#   elif echo "$battery_hbar_palette" | grep -q -E '^([#a-z0-9]{7,9},?){3}$'; then -#     # shellcheck disable=SC2086 -#     { set -f; IFS=,; set -- $battery_hbar_palette; unset IFS; set +f; } -# -#     # shellcheck disable=SC2046 -#     eval $(awk "BEGIN { printf \"battery_hbar_fg=$%d\", (($charge) - 0.001) * $# + 1 }") -#   fi -# -#   eval set -- "▏ ▎ ▍ ▌ ▋ ▊ ▉ █" -#   # shellcheck disable=SC2046 -#   eval $(awk "BEGIN { printf \"battery_hbar_symbol=$%d\", ($charge) * ($# - 1) + 1 }") -#   battery_hbar="#[fg=${battery_hbar_fg?}]${battery_hbar_symbol?}" -# -#   if echo "$battery_vbar_palette" | grep -q -E '^heat|gradient(,[#a-z0-9]{7,9})?$'; then -#     # shellcheck disable=SC2086 -#     { set -f; IFS=,; set -- $battery_vbar_palette; unset IFS; set +f; } -#     palette_style=$1 -#     [ x"$palette_style" = x"gradient" ] && \ -#       palette="196 202 208 214 220 226 190 154 118 82 46" -#     [ x"$palette_style" = x"heat" ] && \ -#       palette="233 234 235 237 239 241 243 245 247 144 143 142 184 214 208 202 196" -# -#     palette=$(echo "$palette" | awk -v n="$battery_bar_length" '{ for (i = 0; i < n; ++i) printf $(1 + (i * NF / n))" " }') -#     eval set -- "$palette" -# -#     full=$(awk "BEGIN { printf \"%.0f\", ($charge) * $battery_bar_length }") -#     eval battery_vbar_fg="colour\${$((full == 0 ? 1 : full))}" -#   elif echo "$battery_vbar_palette" | grep -q -E '^([#a-z0-9]{7,9},?){3}$'; then -#     # shellcheck disable=SC2086 -#     { set -f; IFS=,; set -- $battery_vbar_palette; unset IFS; set +f; } -# -#     # shellcheck disable=SC2046 -#     eval $(awk "BEGIN { printf \"battery_vbar_fg=$%d\", (($charge) - 0.001) * $# + 1 }") -#   fi -# -#   eval set -- "▁ ▂ ▃ ▄ ▅ ▆ ▇ █" -#   # shellcheck disable=SC2046 -#   eval $(awk "BEGIN { printf \"battery_vbar_symbol=$%d\", ($charge) * ($# - 1) + 1 }") -#   battery_vbar="#[fg=${battery_vbar_fg?}]${battery_vbar_symbol?}" -# -#   battery_percentage="$(awk "BEGIN { printf \"%.0f%%\", ($charge) * 100 }")" -# -#   tmux  set -g '@battery_status' "$battery_status" \;\ -#         set -g '@battery_bar' "$battery_bar" \;\ -#         set -g '@battery_hbar' "$battery_hbar" \;\ -#         set -g '@battery_vbar' "$battery_vbar" \;\ -#         set -g '@battery_percentage' "$battery_percentage" -# } -# -# _tty_info() { -#   tty="${1##/dev/}" -#   uname -s | grep -q "CYGWIN" && cygwin=true -# -#   if [ x"$cygwin" = x"true" ]; then -#     ps -af | tail -n +2 | awk -v tty="$tty" ' -#       $4 == tty { user[$2] = $1; child[$3] = $2 } -#       END { -#         for (i in user) -#         { -#           if (!(i in child)) -#           { -#             file = "/proc/" i "/cmdline"; getline command < file; close(file) -#             gsub(/\0/, " ", command) -#             print i, user[i], command -#             exit -#           } -#         } -#       } -#     ' -#   else -#     ps -t "$tty" -o user= -o pid= -o ppid= -o command= | awk ' -#       { user[$2] = $1; child[$3] = $2; for (i = 4 ; i <= NF; ++i) command[$2] = i > 4 ? command[$2] FS $i : $i } -#       END { -#         for (i in user) -#         { -#           if (!(i in child)) -#           { -#             print i, user[i], command[i] -#             exit -#           } -#         } -#       } -#     ' -#   fi -# } -# -# _ssh_or_mosh_args() { -#   args=$(printf '%s' "$1" | awk '/ssh/ && !/vagrant ssh/ && !/autossh/ && !/-W/ { $1=""; print $0; exit }') -#   if [ -z "$args" ]; then -#     args=$(printf '%s' "$1" | grep 'mosh-client' | sed -E -e 's/.*mosh-client -# (.*)\|.*$/\1/' -e 's/-[^ ]*//g' -e 's/\d:\d//g') -#   fi -# -#  printf '%s' "$args" -# } -# -# _username() { -#   tty=${1:-$(tmux display -p '#{pane_tty}')} -#   ssh_only=$2 -# -#   tty_info=$(_tty_info "$tty") -#   command=$(printf '%s' "$tty_info" | cut -d' ' -f3-) -# -#   ssh_or_mosh_args=$(_ssh_or_mosh_args "$command") -#   if [ -n "$ssh_or_mosh_args" ]; then -#     # shellcheck disable=SC2086 -#     username=$(ssh -G $ssh_or_mosh_args 2>/dev/null | awk 'NR > 2 { exit } ; /^user / { print $2 }') -#     # shellcheck disable=SC2086 -#     [ -z "$username" ] && username=$(ssh -T -o ControlPath=none -o ProxyCommand="sh -c 'echo %%username%% %r >&2'" $ssh_or_mosh_args 2>&1 | awk '/^%username% / { print $2; exit }') -#   else -#     if ! _is_enabled "$ssh_only"; then -#       username=$(printf '%s' "$tty_info" | cut -d' ' -f2) -#     fi -#   fi -# -#   printf '%s' "$username" -# } -# -# _hostname() { -#   tty=${1:-$(tmux display -p '#{pane_tty}')} -#   ssh_only=$2 -# -#   tty_info=$(_tty_info "$tty") -#   command=$(printf '%s' "$tty_info" | cut -d' ' -f3-) -# -#   ssh_or_mosh_args=$(_ssh_or_mosh_args "$command") -#   if [ -n "$ssh_or_mosh_args" ]; then -#     # shellcheck disable=SC2086 -#     hostname=$(ssh -G $ssh_or_mosh_args 2>/dev/null | awk 'NR > 2 { exit } ; /^hostname / { print $2 }') -#     # shellcheck disable=SC2086 -#     [ -z "$hostname" ] && hostname=$(ssh -T -o ControlPath=none -o ProxyCommand="sh -c 'echo %%hostname%% %h >&2'" $ssh_or_mosh_args 2>&1 | awk '/^%hostname% / { print $2; exit }') -#     #shellcheck disable=SC1004 -#     hostname=$(echo "$hostname" | awk '\ -#     { \ -#       if ($1~/^[0-9.:]+$/) \ -#         print $1; \ -#       else \ -#         split($1, a, ".") ; print a[1] \ -#     }') -#   else -#     if ! _is_enabled "$ssh_only"; then -#       hostname=$(command hostname -s) -#     fi -#   fi -# -#   printf '%s' "$hostname" -# } -# -# _root() { -#   tty=${1:-$(tmux display -p '#{pane_tty}')} -#   username=$(_username "$tty" false) -# -#   if [ x"$username" = x"root" ]; then -#     tmux show -gqv '@root' -#   else -#     echo "" -#   fi -# } -# -# _uptime() { -#   case $(uname -s) in -#     *Darwin*) -#       boot=$(sysctl -q -n kern.boottime | awk -F'[ ,:]+' '{ print $4 }') -#       now=$(date +%s) -#       ;; -#     *Linux*|*CYGWIN*|*MSYS*|*MINGW*) -#       now=$(cut -d' ' -f1 < /proc/uptime) -#       ;; -#     *OpenBSD*) -#       boot=$(sysctl -n kern.boottime) -#       now=$(date +%s) -#   esac -#   # shellcheck disable=SC1004 -#   awk -v boot="$boot" -v now="$now" ' -#     BEGIN { -#       uptime = now - boot -#       d = int(uptime / 86400) -#       h = int(uptime / 3600) % 24 -#       m = int(uptime / 60) % 60 -#       s = int(uptime) % 60 -# -#       system("tmux  set -g @uptime_d " d + 0 " \\; " \ -#                    "set -g @uptime_h " h + 0 " \\; " \ -#                    "set -g @uptime_m " m + 0 " \\; " \ -#                    "set -g @uptime_s " s + 0) -#     }' -# } -# -# _loadavg() { -#   case $(uname -s) in -#     *Darwin*) -#       tmux set -g @loadavg "$(sysctl -q -n vm.loadavg | cut -d' ' -f2)" -#       ;; -#     *Linux*) -#       tmux set -g @loadavg "$(cut -d' ' -f1 < /proc/loadavg)" -#       ;; -#     *OpenBSD*) -#       tmux set -g @loadavg "$(sysctl -q -n vm.loadavg | cut -d' ' -f1)" -#       ;; -#   esac -# } -# -# _split_window() { -#   tty=${1:-$(tmux display -p '#{pane_tty}')} -#   shift -# -#   tty_info=$(_tty_info "$tty") -#   command=$(printf '%s' "$tty_info" | cut -d' ' -f3-) -# -#   case "$command" in -#     *mosh-client*) -#       # shellcheck disable=SC2046 -#        tmux split-window "$@" mosh $(echo "$command" | sed -E -e 's/.*mosh-client -# (.*)\|.*$/\1/') -#      ;; -#     *ssh*) -#       # shellcheck disable=SC2046 -#       tmux split-window "$@" $(echo "$command" | sed -e 's/;/\\\\;/g') -#       ;; -#     *) -#       tmux split-window "$@" -#   esac -# } -# -# _apply_overrides() { -#   tmux_conf_theme_24b_colour=${tmux_conf_theme_24b_colour:-false} -#   if _is_enabled "$tmux_conf_theme_24b_colour"; then -#   case "$TERM" in -#     screen-*|tmux-*) -#       ;; -#     *) -#       tmux set-option -ga terminal-overrides ",*256col*:Tc" -#       ;; -#   esac -#   fi -# } -# -# _apply_bindings() { -#   line=$(tmux list-keys | grep new-window | head -1) -#   prefix=${line%new-window*} -#   column=${#prefix} -# -#   tmux_conf_new_window_retain_current_path=${tmux_conf_new_window_retain_current_path:-false} -#   while IFS= read -r line; do -#     [ -z "$line" ] && continue -#     left=$(printf '%s' "$line" | cut -c-"$column" | sed -E -e 's/[^ \ta-zA-Z0-9,._+@%/-]/\\&/g') -#     if _is_enabled "$tmux_conf_new_window_retain_current_path"; then -#       right=$(printf '%s' "$line" | cut -c"$column-" | awk -F'\"' 'BEGIN { OFS = FS } { for (i = 1; i <= NF; i+=2) { gsub(/#{.+}/, "\"&\"", $i) } print }' | sed -E -e 's/new-window$/new-window -c "#{pane_current_path}"/g') -#     else -#       right=$(printf '%s' "$line" | cut -c"$column"- | awk -F'\"' 'BEGIN { OFS = FS } { for (i = 1; i <= NF; i+=2) { gsub(/#{.+}/, "\"&\"", $i) } print }' | sed -E -e 's/-c[ \t]+"#\{pane_current_path\}"$//g') -#     fi -#     eval "tmux $left $right" 2>/dev/null || true -#   done  << EOF -# $(tmux list-keys 2>/dev/null | grep -e 'new-window\(\s\+-c\s\+"#{pane_current_path}\|$\)') -# EOF -# -#   tmux_conf_new_pane_retain_current_path=${tmux_conf_new_pane_retain_current_path:-true} -#   while IFS= read -r line; do -#     [ -z "$line" ] && continue -#     left=$(printf '%s' "$line" | cut -c-"$column" | sed -E -e 's/[^ \ta-zA-Z0-9,._+@%/-]/\\&/g') -#     if _is_enabled "$tmux_conf_new_pane_retain_current_path"; then -#       right=$(printf '%s' "$line" | cut -c"$column-" | awk -F'\"' 'BEGIN { OFS = FS } { for (i = 1; i <= NF; i+=2) { gsub(/#{.+}/, "\"&\"", $i) } print }' | sed -E -e 's/split-window([ \t]+-(h|v))?$/& -c "#{pane_current_path}"/g') -#     else -#       right=$(printf '%s' "$line" | cut -c"$column"- | awk -F'\"' 'BEGIN { OFS = FS } { for (i = 1; i <= NF; i+=2) { gsub(/#{.+}/, "\"&\"", $i) } print }' | sed -E -e 's/-c[ \t]+"#\{pane_current_path\}"$//g') -#     fi -#     eval "tmux $left $right" 2>/dev/null || true -#   done  << EOF -# $(tmux list-keys 2>/dev/null | grep -e 'split\(-\|_\)window') -# EOF -# -#   tmux_conf_new_pane_reconnect_ssh=${tmux_conf_new_pane_reconnect_ssh:-false} -#   while IFS= read -r line; do -#     [ -z "$line" ] && continue -#     left=$(printf '%s' "$line" | cut -c-"$column" | sed -E -e 's/[^ \ta-zA-Z0-9,._+@%/-]/\\&/g') -#     if _is_enabled "$tmux_conf_new_pane_reconnect_ssh"; then -#       right=$(printf '%s' "$line" | cut -c"$column"- | awk -F'\"' 'BEGIN { OFS = FS } { for (i = 1; i <= NF; i+=2) { gsub(/#{.+}/, "\"&\"", $i) } print }' | sed -E -e 's/"/\\"/g' -e 's/split-window([^;]+)/run-shell "cut -c3- ~\/\.tmux\.conf | sh -s _split_window #{pane_tty}\1"/g') -#     else -#       right=$(printf '%s' "$line" | cut -c"$column"- | awk -F'\"' 'BEGIN { OFS = FS } { for (i = 1; i <= NF; i+=2) { gsub(/#{.+}/, "\"&\"", $i) } print }' | sed -E -e 's/\\"/"/g' -e 's/run-shell "cut -c3- ~\/\.tmux\.conf \| sh -s _split_window #\{pane_tty\}([^;]+)"/split-window\1/g' -e 's/#\{.+\}/\"&\"/g') -#     fi -#     eval "tmux $left $right" 2>/dev/null || true -#   done  << EOF -# $(tmux list-keys 2>/dev/null | grep -e 'split\(-\|_\)window') -# EOF -# -#   tmux_conf_new_session_prompt=${tmux_conf_new_session_prompt:-false} -#   while IFS= read -r line; do -#     [ -z "$line" ] && continue -#     left=$(printf '%s' "$line" | cut -c-"$column" | sed -E -e 's/[^ \ta-zA-Z0-9,._+@%/-]/\\&/g') -#     if _is_enabled "$tmux_conf_new_session_prompt"; then -#       right=$(printf '%s' "$line" | cut -c"$column"- | awk -F'\"' 'BEGIN { OFS = FS } { for (i = 1; i <= NF; i+=2) { gsub(/#{.+}/, "\"&\"", $i) } print }' | sed -E -e 's/new-session$/command-prompt -p new-session \"new-session -s '"'"'%%'"'"'\"/g') -#     else -#       right=$(printf '%s' "$line" | cut -c"$column"- | awk -F'\"' 'BEGIN { OFS = FS } { for (i = 1; i <= NF; i+=2) { gsub(/#{.+}/, "\"&\"", $i) } print }'| sed -E -e 's/command-prompt -p new-session[^;]+/new-session/g') -#     fi -#     eval "tmux $left $right" 2>/dev/null || true -#   done  << EOF -# $(tmux list-keys 2>/dev/null | grep -e 'new-session') -# EOF -# -#   tmux_conf_copy_to_os_clipboard=${tmux_conf_copy_to_os_clipboard:-false} -#   command -v pbcopy > /dev/null 2>&1 && command='pbcopy' -#   command -v reattach-to-user-namespace > /dev/null 2>&1 && command='reattach-to-user-namespace pbcopy' -#   command -v xsel > /dev/null 2>&1 && command='xsel -i -b' -#   ! command -v xsel > /dev/null 2>&1 && command -v xclip > /dev/null 2>&1 && command='xclip -i -selection clipboard > \/dev\/null 2>\&1' -#   command -v clip.exe > /dev/null 2>&1 && command='clip\.exe' -#   [ -c /dev/clipboard ] && command='cat > \/dev\/clipboard' -# -#   if [ -n "$command" ]; then -#     # shellcheck disable=SC2086 -#     for table in "" "-t emacs-copy" "-t vi-copy"; do -#       line=$(tmux list-keys $table 2>/dev/null | grep -e 'copy-selection\|copy-pipe' | head -1) -#       prefix=${line%copy-*} -#       column=${#prefix} -#       [ -z "$line" ] && continue -# -#       while IFS= read -r line; do -#         [ -z "$line" ] && continue -#         left=$(printf '%s' "$line" | cut -c-"$column" | sed -E -e 's/[^ \ta-zA-Z0-9,._+@%/-]/\\&/g') -#         if _is_enabled "$tmux_conf_copy_to_os_clipboard"; then -#           right=$(printf '%s' "$line" | cut -c"$column"- | awk -F'\"' 'BEGIN { OFS = FS } { for (i = 1; i <= NF; i+=2) { gsub(/#{.+}/, "\"&\"", $i) } print }' | sed -E -e "s/copy-selection(-and-cancel)?$/copy-pipe\1 \"$command\"/g") -#         else -#           right=$(printf '%s' "$line" | cut -c"$column"- | awk -F'\"' 'BEGIN { OFS = FS } { for (i = 1; i <= NF; i+=2) { gsub(/#{.+}/, "\"&\"", $i) } print }' | sed -E -e "s/copy-pipe(-and-cancel)? \"$command\"$/copy-selection\1/g") -#         fi -#         eval "tmux $left $right" 2>/dev/null || true -#       done  << EOF -# $(tmux list-keys $table 2>/dev/null | grep -e 'copy-selection\|copy-pipe') -# EOF -#     done -#  fi -# } -# -# _apply_theme() { -# -#   # -- panes ------------------------------------------------------------- -# -#   tmux_conf_theme_window_fg=${tmux_conf_theme_window_fg:-default} -#   tmux_conf_theme_window_bg=${tmux_conf_theme_window_bg:-default} -#   tmux_conf_theme_highlight_focused_pane=${tmux_conf_theme_highlight_focused_pane:-false} -#   tmux_conf_theme_focused_pane_fg=${tmux_conf_theme_focused_pane_fg:-'default'} # default -#   tmux_conf_theme_focused_pane_bg=${tmux_conf_theme_focused_pane_bg:-'#0087d7'} # light blue -# -#   # tmux 1.9 doesn't really like set -q -#   if tmux show -g -w | grep -q window-style; then -#     tmux setw -g window-style "fg=$tmux_conf_theme_window_fg,bg=$tmux_conf_theme_window_bg" -# -#     if _is_enabled "$tmux_conf_theme_highlight_focused_pane"; then -#       tmux setw -g window-active-style "fg=$tmux_conf_theme_focused_pane_fg,bg=$tmux_conf_theme_focused_pane_bg" -#     else -#       tmux setw -g window-active-style default -#     fi -#   fi -# -#   tmux_conf_theme_pane_border_style=${tmux_conf_theme_pane_border_style:-thin} -#   tmux_conf_theme_pane_border=${tmux_conf_theme_pane_border:-'#444444'}               # light gray -#   tmux_conf_theme_pane_active_border=${tmux_conf_theme_pane_active_border:-'#00afff'} # light blue -#   tmux_conf_theme_pane_border_fg=${tmux_conf_theme_pane_border_fg:-$tmux_conf_theme_pane_border} -#   tmux_conf_theme_pane_active_border_fg=${tmux_conf_theme_pane_active_border_fg:-$tmux_conf_theme_pane_active_border} -#   case "$tmux_conf_theme_pane_border_style" in -#     fat) -#       tmux_conf_theme_pane_border_bg=${tmux_conf_theme_pane_border_bg:-$tmux_conf_theme_pane_border_fg} -#       tmux_conf_theme_pane_active_border_bg=${tmux_conf_theme_pane_active_border_bg:-$tmux_conf_theme_pane_active_border_fg} -#       ;; -#     thin|*) -#       tmux_conf_theme_pane_border_bg=${tmux_conf_theme_pane_border_bg:-'default'} -#       tmux_conf_theme_pane_active_border_bg=${tmux_conf_theme_pane_active_border_bg:-'default'} -#       ;; -#   esac -#   tmux setw -g pane-border-style "fg=$tmux_conf_theme_pane_border_fg,bg=$tmux_conf_theme_pane_border_bg" \; set -g pane-active-border-style "fg=$tmux_conf_theme_pane_active_border_fg,bg=$tmux_conf_theme_pane_active_border_bg" -# -#   tmux_conf_theme_pane_indicator=${tmux_conf_theme_pane_indicator:-'#00afff'}               # light blue -#   tmux_conf_theme_pane_active_indicator=${tmux_conf_theme_pane_active_indicator:-'#00afff'} # light blue -# -#   tmux set -g display-panes-colour "$tmux_conf_theme_pane_indicator" \; set -g display-panes-active-colour "$tmux_conf_theme_pane_active_indicator" -# -#   # -- status line ------------------------------------------------------- -# -#   tmux_conf_theme_left_separator_main=${tmux_conf_theme_left_separator_main-''} -#   tmux_conf_theme_left_separator_sub=${tmux_conf_theme_left_separator_sub-'|'} -#   tmux_conf_theme_right_separator_main=${tmux_conf_theme_right_separator_main-''} -#   tmux_conf_theme_right_separator_sub=${tmux_conf_theme_right_separator_sub-'|'} -# -#   tmux_conf_theme_message_fg=${tmux_conf_theme_message_fg:-'#000000'}   # black -#   tmux_conf_theme_message_bg=${tmux_conf_theme_message_bg:-'#ffff00'}   # yellow -#   tmux_conf_theme_message_attr=${tmux_conf_theme_message_attr:-'bold'} -#   tmux set -g message-style "fg=$tmux_conf_theme_message_fg,bg=$tmux_conf_theme_message_bg,$tmux_conf_theme_message_attr" -# -#   tmux_conf_theme_message_command_fg=${tmux_conf_theme_message_command_fg:-'#ffff00'} # yellow -#   tmux_conf_theme_message_command_bg=${tmux_conf_theme_message_command_bg:-'#000000'} # black -#   tmux_conf_theme_message_command_attr=${tmux_conf_theme_message_command_attr:-'bold'} -#   tmux set -g message-command-style "fg=$tmux_conf_theme_message_command_fg,bg=$tmux_conf_theme_message_command_bg,$tmux_conf_theme_message_command_attr" -# -#   tmux_conf_theme_mode_fg=${tmux_conf_theme_mode_fg:-'#000000'} # black -#   tmux_conf_theme_mode_bg=${tmux_conf_theme_mode_bg:-'#ffff00'} # yellow -#   tmux_conf_theme_mode_attr=${tmux_conf_theme_mode_attr:-'bold'} -#   tmux setw -g mode-style "fg=$tmux_conf_theme_mode_fg,bg=$tmux_conf_theme_mode_bg,$tmux_conf_theme_mode_attr" -# -#   tmux_conf_theme_status_fg=${tmux_conf_theme_status_fg:-'#8a8a8a'} # white -#   tmux_conf_theme_status_bg=${tmux_conf_theme_status_bg:-'#080808'} # dark gray -#   tmux_conf_theme_status_attr=${tmux_conf_theme_status_attr:-'none'} -#   tmux  set -g status-style "fg=$tmux_conf_theme_status_fg,bg=$tmux_conf_theme_status_bg,$tmux_conf_theme_status_attr"        \;\ -#         set -g status-left-style "fg=$tmux_conf_theme_status_fg,bg=$tmux_conf_theme_status_bg,$tmux_conf_theme_status_attr"   \;\ -#         set -g status-right-style "fg=$tmux_conf_theme_status_fg,bg=$tmux_conf_theme_status_bg,$tmux_conf_theme_status_attr" -# -#   tmux_conf_theme_terminal_title=${tmux_conf_theme_terminal_title:-'#h ❐ #S ● #I #W'} -# -#   tmux_conf_theme_terminal_title=$(echo "$tmux_conf_theme_terminal_title" | sed \ -#     -e 's%#{circled_window_index}%#(cut -c3- ~/.tmux.conf | sh -s _circled #I)%g' \ -#     -e 's%#{circled_session_name}%#(cut -c3- ~/.tmux.conf | sh -s _circled #S)%g' \ -#     -e 's%#{username}%#(cut -c3- ~/.tmux.conf | sh -s _username #{pane_tty} false #D)%g' \ -#     -e 's%#{hostname}%#(cut -c3- ~/.tmux.conf | sh -s _hostname #{pane_tty} false #D)%g' \ -#     -e 's%#{username_ssh}%#(cut -c3- ~/.tmux.conf | sh -s _username #{pane_tty} true #D)%g' \ -#     -e 's%#{hostname_ssh}%#(cut -c3- ~/.tmux.conf | sh -s _hostname #{pane_tty} true #D)%g') -#   tmux set -g set-titles-string "$tmux_conf_theme_terminal_title" -# -#   tmux_conf_theme_window_status_fg=${tmux_conf_theme_window_status_fg:-'#8a8a8a'} # white -#   tmux_conf_theme_window_status_bg=${tmux_conf_theme_window_status_bg:-'#080808'} # dark gray -#   tmux_conf_theme_window_status_attr=${tmux_conf_theme_window_status_attr:-'none'} -#   tmux_conf_theme_window_status_format=${tmux_conf_theme_window_status_format:-'#I #W'} -# -#   tmux_conf_theme_window_status_current_fg=${tmux_conf_theme_window_status_current_fg:-'#000000'} # black -#   tmux_conf_theme_window_status_current_bg=${tmux_conf_theme_window_status_current_bg:-'#00afff'} # light blue -#   tmux_conf_theme_window_status_current_attr=${tmux_conf_theme_window_status_current_attr:-'bold'} -#   tmux_conf_theme_window_status_current_format=${tmux_conf_theme_window_status_current_format:-'#I #W'} -#   if [ x"$(tmux show -g -v status-justify)" = x"right" ]; then -#     tmux_conf_theme_window_status_current_format="#[fg=$tmux_conf_theme_window_status_current_bg,bg=$tmux_conf_theme_window_status_bg]$tmux_conf_theme_right_separator_main#[fg=$tmux_conf_theme_window_status_current_fg,bg=$tmux_conf_theme_window_status_current_bg,$tmux_conf_theme_window_status_current_attr] $tmux_conf_theme_window_status_current_format #[fg=$tmux_conf_theme_window_status_bg,bg=$tmux_conf_theme_window_status_current_bg,none]$tmux_conf_theme_right_separator_main" -#   else -#     tmux_conf_theme_window_status_current_format="#[fg=$tmux_conf_theme_window_status_bg,bg=$tmux_conf_theme_window_status_current_bg]$tmux_conf_theme_left_separator_main#[fg=$tmux_conf_theme_window_status_current_fg,bg=$tmux_conf_theme_window_status_current_bg,$tmux_conf_theme_window_status_current_attr] $tmux_conf_theme_window_status_current_format #[fg=$tmux_conf_theme_window_status_current_bg,bg=$tmux_conf_theme_status_bg,none]$tmux_conf_theme_left_separator_main" -#   fi -# -#   tmux_conf_theme_window_status_format=$(echo "$tmux_conf_theme_window_status_format" | sed \ -#     -e 's%#{circled_window_index}%#(cut -c3- ~/.tmux.conf | sh -s _circled #I)%g' \ -#     -e 's%#{circled_session_name}%#(cut -c3- ~/.tmux.conf | sh -s _circled #S)%g' \ -#     -e 's%#{username}%#(cut -c3- ~/.tmux.conf | sh -s _username #{pane_tty} false #D)%g' \ -#     -e 's%#{hostname}%#(cut -c3- ~/.tmux.conf | sh -s _hostname #{pane_tty} false #D)%g' \ -#     -e 's%#{username_ssh}%#(cut -c3- ~/.tmux.conf | sh -s _username #{pane_tty} true #D)%g' \ -#     -e 's%#{hostname_ssh}%#(cut -c3- ~/.tmux.conf | sh -s _hostname #{pane_tty} true #D)%g') -#   tmux_conf_theme_window_status_current_format=$(echo "$tmux_conf_theme_window_status_current_format" | sed \ -#     -e 's%#{circled_window_index}%#(cut -c3- ~/.tmux.conf | sh -s _circled #I)%g' \ -#     -e 's%#{circled_session_name}%#(cut -c3- ~/.tmux.conf | sh -s _circled #S)%g' \ -#     -e 's%#{username}%#(cut -c3- ~/.tmux.conf | sh -s _username #{pane_tty} false #D)%g' \ -#     -e 's%#{hostname}%#(cut -c3- ~/.tmux.conf | sh -s _hostname #{pane_tty} false #D)%g' \ -#     -e 's%#{username_ssh}%#(cut -c3- ~/.tmux.conf | sh -s _username #{pane_tty} true #D)%g' \ -#     -e 's%#{hostname_ssh}%#(cut -c3- ~/.tmux.conf | sh -s _hostname #{pane_tty} true #D)%g') -# -#   tmux  setw -g window-status-style "fg=$tmux_conf_theme_window_status_fg,bg=$tmux_conf_theme_window_status_bg,$tmux_conf_theme_window_status_attr" \;\ -#         setw -g window-status-format "$tmux_conf_theme_window_status_format" \;\ -#         setw -g window-status-current-style "fg=$tmux_conf_theme_window_status_current_fg,bg=$tmux_conf_theme_window_status_current_bg,$tmux_conf_theme_window_status_current_attr" \;\ -#         setw -g window-status-current-format "$tmux_conf_theme_window_status_current_format" -# -#   tmux_conf_theme_window_status_activity_fg=${tmux_conf_theme_window_status_activity_fg:-'default'} -#   tmux_conf_theme_window_status_activity_bg=${tmux_conf_theme_window_status_activity_bg:-'default'} -#   tmux_conf_theme_window_status_activity_attr=${tmux_conf_theme_window_status_activity_attr:-'underscore'} -#   tmux setw -g window-status-activity-style "fg=$tmux_conf_theme_window_status_activity_fg,bg=$tmux_conf_theme_window_status_activity_bg,$tmux_conf_theme_window_status_activity_attr" -# -#   tmux_conf_theme_window_status_bell_fg=${tmux_conf_theme_window_status_bell_fg:-'#ffff00'} # yellow -#   tmux_conf_theme_window_status_bell_bg=${tmux_conf_theme_window_status_bell_bg:-'default'} -#   tmux_conf_theme_window_status_bell_attr=${tmux_conf_theme_window_status_bell_attr:-'blink,bold'} -#   tmux setw -g window-status-bell-style "fg=$tmux_conf_theme_window_status_bell_fg,bg=$tmux_conf_theme_window_status_bell_bg,$tmux_conf_theme_window_status_bell_attr" -# -#   tmux_conf_theme_window_status_last_fg=${tmux_conf_theme_window_status_last_fg:-'#00afff'} # light blue -#   tmux_conf_theme_window_status_last_bg=${tmux_conf_theme_window_status_last_bg:-'default'} -#   tmux_conf_theme_window_status_last_attr=${tmux_conf_theme_window_status_last_attr:-'none'} -#   tmux setw -g window-status-last-style "fg=$tmux_conf_theme_window_status_last_fg,bg=$tmux_conf_theme_window_status_last_bg,$tmux_conf_theme_window_status_last_attr" -# -#   # -- indicators -# -#   tmux_conf_theme_pairing=${tmux_conf_theme_pairing:-'👓'}            # U+1F453 -#   tmux_conf_theme_pairing_fg=${tmux_conf_theme_pairing_fg:-'#e4e4e4'} # white -#   tmux_conf_theme_pairing_bg=${tmux_conf_theme_pairing_bg:-'none'} -#   tmux_conf_theme_pairing_attr=${tmux_conf_theme_pairing_attr:-'none'} -# -#   tmux_conf_theme_prefix=${tmux_conf_theme_prefix:-'⌨'}             # U+2328 -#   tmux_conf_theme_prefix_fg=${tmux_conf_theme_prefix_fg:-'#e4e4e4'} # white -#   tmux_conf_theme_prefix_bg=${tmux_conf_theme_prefix_bg:-'none'} -#   tmux_conf_theme_prefix_attr=${tmux_conf_theme_prefix_attr:-'none'} -# -#   tmux_conf_theme_root=${tmux_conf_theme_root:-'!'} -#   tmux_conf_theme_root_fg=${tmux_conf_theme_root_fg:-'none'} -#   tmux_conf_theme_root_bg=${tmux_conf_theme_root_bg:-'none'} -#   tmux_conf_theme_root_attr=${tmux_conf_theme_root_attr:-'bold,blink'} -# -#   tmux_conf_theme_synchronized=${tmux_conf_theme_synchronized:-'🔒'}  # U+1F512 -#   tmux_conf_theme_synchronized_fg=${tmux_conf_theme_synchronized_fg:-'none'} -#   tmux_conf_theme_synchronized_bg=${tmux_conf_theme_synchronized_bg:-'none'} -#   tmux_conf_theme_synchronized_attr=${tmux_conf_theme_synchronized_attr:-'none'} -# -#   # -- status left style -# -#   tmux_conf_theme_status_left=${tmux_conf_theme_status_left-' ❐ #S '} -#   tmux_conf_theme_status_left_fg=${tmux_conf_theme_status_left_fg:-'#000000,#e4e4e4,#e4e4e4'}  # black, white , white -#   tmux_conf_theme_status_left_bg=${tmux_conf_theme_status_left_bg:-'#ffff00,#ff00af,#00afff'}  # yellow, pink, white blue -#   tmux_conf_theme_status_left_attr=${tmux_conf_theme_status_left_attr:-'bold,none,none'} -# -#   tmux_conf_theme_status_left=$(echo "$tmux_conf_theme_status_left" | sed \ -#     -e "s/#{pairing}/#[fg=$tmux_conf_theme_pairing_fg]#[bg=$tmux_conf_theme_pairing_bg]#[$tmux_conf_theme_pairing_attr]#{?session_many_attached,$tmux_conf_theme_pairing,}/g") -# -#   tmux_conf_theme_status_left=$(echo "$tmux_conf_theme_status_left" | sed \ -#     -e "s/#{prefix}/#[fg=$tmux_conf_theme_prefix_fg]#[bg=$tmux_conf_theme_prefix_bg]#[$tmux_conf_theme_prefix_attr]#{?client_prefix,$tmux_conf_theme_prefix,}/g") -# -#   tmux_conf_theme_status_left=$(echo "$tmux_conf_theme_status_left" | sed \ -#     -e "s%#{root}%#[fg=$tmux_conf_theme_root_fg]#[bg=$tmux_conf_theme_root_bg]#[$tmux_conf_theme_root_attr]#(cut -c3- ~/.tmux.conf | sh -s _root #{pane_tty} #D)#[inherit]%g") -# -#   tmux_conf_theme_status_left=$(echo "$tmux_conf_theme_status_left" | sed \ -#     -e "s%#{synchronized}%#[fg=$tmux_conf_theme_synchronized_fg]#[bg=$tmux_conf_theme_synchronized_bg]#[$tmux_conf_theme_synchronized_attr]#{?pane_synchronized,$tmux_conf_theme_synchronized,}%g") -# -#   if [ -n "$tmux_conf_theme_status_left" ]; then -#     status_left=$(awk \ -#                       -v fg_="$tmux_conf_theme_status_left_fg" \ -#                       -v bg_="$tmux_conf_theme_status_left_bg" \ -#                       -v attr_="$tmux_conf_theme_status_left_attr" \ -#                       -v mainsep="$tmux_conf_theme_left_separator_main" \ -#                       -v subsep="$tmux_conf_theme_left_separator_sub" ' -#       function subsplit(s,   l, i, a, r) -#       { -#         l = split(s, a, ",") -#         for (i = 1; i <= l; ++i) -#         { -#           o = split(a[i], _, "(") - 1 -#           c = split(a[i], _, ")") - 1 -#           open += o - c -#           o_ = split(a[i], _, "{") - 1 -#           c_ = split(a[i], _, "}") - 1 -#           open_ += o_ - c_ -#           o__ = split(a[i], _, "[") - 1 -#           c__ = split(a[i], _, "]") - 1 -#           open__ += o__ - c__ -# -#           if (i == l) -#             r = sprintf("%s%s", r, a[i]) -#           else if (open || open_ || open__) -#             r = sprintf("%s%s,", r, a[i]) -#           else -#             r = sprintf("%s%s#[fg=%s,bg=%s,%s]%s", r, a[i], fg[j], bg[j], attr[j], subsep) -#         } -# -#         gsub(/#\[inherit\]/, sprintf("#[default]#[fg=%s,bg=%s,%s]", fg[j], bg[j], attr[j]), r) -#         return r -#       } -#       BEGIN { -#         FS = "|" -#         l1 = split(fg_, fg, ",") -#         l2 = split(bg_, bg, ",") -#         l3 = split(attr_, attr, ",") -#         l = l1 < l2 ? (l1 < l3 ? l1 : l3) : (l2 < l3 ? l2 : l3) -#       } -#       { -#         for (i = j = 1; i <= NF; ++i) -#         { -#           if (open || open_ || open__) -#             printf "|%s", subsplit($i) -#           else -#           { -#             if (i > 1) -#               printf "#[fg=%s,bg=%s,none]%s#[fg=%s,bg=%s,%s]%s", bg[j_], bg[j], mainsep, fg[j], bg[j], attr[j], subsplit($i) -#             else -#               printf "#[fg=%s,bg=%s,%s]%s", fg[j], bg[j], attr[j], subsplit($i) -#           } -# -#           if (!open && !open_ && !open__) -#           { -#             j_ = j -#             j = j % l + 1 -#           } -#         } -#         printf "#[fg=%s,bg=%s,none]%s", bg[j_], "default", mainsep -#       }' << EOF -# $tmux_conf_theme_status_left -# EOF -#     ) -#   fi -# -#   status_left="$status_left " -# -#   # -- status right style -# -#   tmux_conf_theme_status_right=${tmux_conf_theme_status_right-'#{pairing}#{prefix} #{battery_status} #{battery_bar} #{battery_percentage} , %R , %d %b | #{username} | #{hostname} '} -#   tmux_conf_theme_status_right_fg=${tmux_conf_theme_status_right_fg:-'#8a8a8a,#e4e4e4,#000000'} # light gray, white, black -#   tmux_conf_theme_status_right_bg=${tmux_conf_theme_status_right_bg:-'#080808,#d70000,#e4e4e4'} # dark gray, red, white -#   tmux_conf_theme_status_right_attr=${tmux_conf_theme_status_right_attr:-'none,none,bold'} -# -#   tmux_conf_theme_status_right=$(echo "$tmux_conf_theme_status_right" | sed \ -#     -e "s/#{pairing}/#[fg=$tmux_conf_theme_pairing_fg]#[bg=$tmux_conf_theme_pairing_bg]#[$tmux_conf_theme_pairing_attr]#{?session_many_attached,$tmux_conf_theme_pairing,}/g") -# -#   tmux_conf_theme_status_right=$(echo "$tmux_conf_theme_status_right" | sed \ -#     -e "s/#{prefix}/#[fg=$tmux_conf_theme_prefix_fg]#[bg=$tmux_conf_theme_prefix_bg]#[$tmux_conf_theme_prefix_attr]#{?client_prefix,$tmux_conf_theme_prefix,}/g") -# -#   tmux_conf_theme_status_right=$(echo "$tmux_conf_theme_status_right" | sed \ -#     -e "s%#{root}%#[fg=$tmux_conf_theme_root_fg]#[bg=$tmux_conf_theme_root_bg]#[$tmux_conf_theme_root_attr]#(cut -c3- ~/.tmux.conf | sh -s _root #{pane_tty} #D)#[inherit]%g") -# -#   tmux_conf_theme_status_right=$(echo "$tmux_conf_theme_status_right" | sed \ -#     -e "s%#{synchronized}%#[fg=$tmux_conf_theme_synchronized_fg]#[bg=$tmux_conf_theme_synchronized_bg]#[$tmux_conf_theme_synchronized_attr]#{?pane_synchronized,$tmux_conf_theme_synchronized,}%g") -# -#   if [ -n "$tmux_conf_theme_status_right" ]; then -#     status_right=$(awk \ -#                       -v fg_="$tmux_conf_theme_status_right_fg" \ -#                       -v bg_="$tmux_conf_theme_status_right_bg" \ -#                       -v attr_="$tmux_conf_theme_status_right_attr" \ -#                       -v mainsep="$tmux_conf_theme_right_separator_main" \ -#                       -v subsep="$tmux_conf_theme_right_separator_sub" ' -#       function subsplit(s,   l, i, a, r) -#       { -#         l = split(s, a, ",") -#         for (i = 1; i <= l; ++i) -#         { -#           o = split(a[i], _, "(") - 1 -#           c = split(a[i], _, ")") - 1 -#           open += o - c -#           o_ = split(a[i], _, "{") - 1 -#           c_ = split(a[i], _, "}") - 1 -#           open_ += o_ - c_ -#           o__ = split(a[i], _, "[") - 1 -#           c__ = split(a[i], _, "]") - 1 -#           open__ += o__ - c__ -# -#           if (i == l) -#             r = sprintf("%s%s", r, a[i]) -#           else if (open || open_ || open__) -#             r = sprintf("%s%s,", r, a[i]) -#           else -#             r = sprintf("%s%s#[fg=%s,bg=%s,%s]%s", r, a[i], fg[j], bg[j], attr[j], subsep) -#         } -# -#         gsub(/#\[inherit\]/, sprintf("#[default]#[fg=%s,bg=%s,%s]", fg[j], bg[j], attr[j]), r) -#         return r -#       } -#       BEGIN { -#         FS = "|" -#         l1 = split(fg_, fg, ",") -#         l2 = split(bg_, bg, ",") -#         l3 = split(attr_, attr, ",") -#         l = l1 < l2 ? (l1 < l3 ? l1 : l3) : (l2 < l3 ? l2 : l3) -#       } -#       { -#         for (i = j = 1; i <= NF; ++i) -#         { -#           if (open_ || open || open__) -#             printf "|%s", subsplit($i) -#           else -#             printf "#[fg=%s,bg=%s,none]%s#[fg=%s,bg=%s,%s]%s", bg[j], (i == 1) ? "default" : bg[j_], mainsep, fg[j], bg[j], attr[j], subsplit($i) -# -#           if (!open && !open_ && !open__) -#           { -#             j_ = j -#             j = j % l + 1 -#           } -#         } -#       }' << EOF -# $tmux_conf_theme_status_right -# EOF -#     ) -#   fi -# -#   # -- variables -# -#   tmux set -g '@root' "$tmux_conf_theme_root" -# -#   tmux_conf_battery_bar_symbol_full=${tmux_conf_battery_bar_symbol_full:-'◼'} -#   tmux_conf_battery_bar_symbol_empty=${tmux_conf_battery_bar_symbol_empty:-'◻'} -#   tmux_conf_battery_bar_length=${tmux_conf_battery_bar_length:-'auto'} -#   tmux_conf_battery_bar_palette=${tmux_conf_battery_bar_palette:-'gradient'} -#   tmux_conf_battery_hbar_palette=${tmux_conf_battery_hbar_palette:-'gradient'} # red, orange, green -#   tmux_conf_battery_vbar_palette=${tmux_conf_battery_vbar_palette:-'gradient'} # red, orange, green -#   tmux_conf_battery_status_charging=${tmux_conf_battery_status_charging:-'↑'}       # U+2191 -#   tmux_conf_battery_status_discharging=${tmux_conf_battery_status_discharging:-'↓'} # U+2193 -# -#   case "$status_left $status_right" in -#     *'#{battery_status}'*|*'#{battery_bar}'*|*'#{battery_hbar}'*|*'#{battery_vbar}'*|*'#{battery_percentage}'*) -#       status_left=$(echo "$status_left" | sed -E \ -#         -e 's/#\{(\?)?battery_bar/#\{\1@battery_bar/g' \ -#         -e 's/#\{(\?)?battery_hbar/#\{\1@battery_hbar/g' \ -#         -e 's/#\{(\?)?battery_vbar/#\{\1@battery_vbar/g' \ -#         -e 's/#\{(\?)?battery_status/#\{\1@battery_status/g' \ -#         -e 's/#\{(\?)?battery_percentage/#\{\1@battery_percentage/g') -#       status_right=$(echo "$status_right" | sed -E \ -#         -e 's/#\{(\?)?battery_bar/#\{\1@battery_bar/g' \ -#         -e 's/#\{(\?)?battery_hbar/#\{\1@battery_hbar/g' \ -#         -e 's/#\{(\?)?battery_vbar/#\{\1@battery_vbar/g' \ -#         -e 's/#\{(\?)?battery_status/#\{\1@battery_status/g' \ -#         -e 's/#\{(\?)?battery_percentage/#\{\1@battery_percentage/g') -# -#       tmux  set -g '@battery_bar_symbol_full' "$tmux_conf_battery_bar_symbol_full" \;\ -#             set -g '@battery_bar_symbol_empty' "$tmux_conf_battery_bar_symbol_empty" \;\ -#             set -g '@battery_bar_length' "$tmux_conf_battery_bar_length" \;\ -#             set -g '@battery_bar_palette' "$tmux_conf_battery_bar_palette" \;\ -#             set -g '@battery_hbar_palette' "$tmux_conf_battery_hbar_palette" \;\ -#             set -g '@battery_vbar_palette' "$tmux_conf_battery_vbar_palette" \;\ -#             set -g '@battery_status_charging' "$tmux_conf_battery_status_charging" \;\ -#             set -g '@battery_status_discharging' "$tmux_conf_battery_status_discharging" -#       status_right="#(cut -c3- ~/.tmux.conf | sh -s _battery)$status_right" -#       ;; -#   esac -# -#   case "$status_left $status_right" in -#     *'#{username}'*|*'#{hostname}'*|*'#{username_ssh}'*|*'#{hostname_ssh}'*) -#       status_left=$(echo "$status_left" | sed \ -#         -e 's%#{username}%#(cut -c3- ~/.tmux.conf | sh -s _username #{pane_tty} false #D)%g' \ -#         -e 's%#{hostname}%#(cut -c3- ~/.tmux.conf | sh -s _hostname #{pane_tty} false #D)%g' \ -#         -e 's%#{username_ssh}%#(cut -c3- ~/.tmux.conf | sh -s _username #{pane_tty} true #D)%g' \ -#         -e 's%#{hostname_ssh}%#(cut -c3- ~/.tmux.conf | sh -s _hostname #{pane_tty} true #D)%g') -#       status_right=$(echo "$status_right" | sed \ -#         -e 's%#{username}%#(cut -c3- ~/.tmux.conf | sh -s _username #{pane_tty} false #D)%g' \ -#         -e 's%#{hostname}%#(cut -c3- ~/.tmux.conf | sh -s _hostname #{pane_tty} false #D)%g' \ -#         -e 's%#{username_ssh}%#(cut -c3- ~/.tmux.conf | sh -s _username #{pane_tty} true #D)%g' \ -#         -e 's%#{hostname_ssh}%#(cut -c3- ~/.tmux.conf | sh -s _hostname #{pane_tty} true #D)%g') -#       ;; -#   esac -# -#   case "$status_left $status_right" in -#     *'#{uptime_d}'*|*'#{uptime_h}'*|*'#{uptime_m}'*) -#       status_left=$(echo "$status_left" | sed -E \ -#         -e 's/#\{(\?)?uptime_d/#\{\1@uptime_d/g' \ -#         -e 's/#\{(\?)?uptime_h/#\{\1@uptime_h/g' \ -#         -e 's/#\{(\?)?uptime_m/#\{\1@uptime_m/g' \ -#         -e 's/#\{(\?)?uptime_s/#\{\1@uptime_s/g') -#       status_right=$(echo "$status_right" | sed -E \ -#         -e 's/#\{(\?)?uptime_d/#\{\1@uptime_d/g' \ -#         -e 's/#\{(\?)?uptime_h/#\{\1@uptime_h/g' \ -#         -e 's/#\{(\?)?uptime_m/#\{\1@uptime_m/g' \ -#         -e 's/#\{(\?)?uptime_s/#\{\1@uptime_s/g') -#       status_right="#(cut -c3- ~/.tmux.conf | sh -s _uptime)$status_right" -#       ;; -#   esac -# -#   case "$status_left $status_right" in -#     *'#{loadavg}'*) -#       status_left=$(echo "$status_left" | sed -E \ -#         -e 's/#\{(\?)?loadavg/#\{\1@loadavg/g') -#       status_right=$(echo "$status_right" | sed -E \ -#         -e 's/#\{(\?)?loadavg/#\{\1@loadavg/g') -#       status_right="#(cut -c3- ~/.tmux.conf | sh -s _loadavg)$status_right" -#       ;; -#   esac -# -#   status_left=$(echo "$status_left" | sed 's%#{circled_session_name}%#(cut -c3- ~/.tmux.conf | sh -s _circled #S)%g') -#   status_right=$(echo "$status_right" | sed 's%#{circled_session_name}%#(cut -c3- ~/.tmux.conf | sh -s _circled #S)%g') -# -#   tmux  set -g status-left-length 1000 \; set -g status-left "$status_left" \;\ -#         set -g status-right-length 1000 \; set -g status-right "$status_right" -# -#   # -- clock ------------------------------------------------------------- -# -#   tmux_conf_theme_clock_colour=${tmux_conf_theme_clock_colour:-'#00afff'} # light blue -#   tmux_conf_theme_clock_style=${tmux_conf_theme_clock_style:-'24'} -#   tmux  setw -g clock-mode-colour "$tmux_conf_theme_clock_colour" \;\ -#         setw -g clock-mode-style "$tmux_conf_theme_clock_style" -# } -# -# _apply_configuration() { -# -#   # see https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard -#   if command -v reattach-to-user-namespace > /dev/null 2>&1; then -#     default_shell="$(tmux show -gv default-shell)" -#     case "$default_shell" in -#       *fish) -#         tmux set -g default-command "reattach-to-user-namespace -l $default_shell" -#         ;; -#       *sh) -#         tmux set -g default-command "exec $default_shell... 2> /dev/null & reattach-to-user-namespace -l $default_shell" -#         ;; -#     esac -#   fi -# -#   _apply_overrides -#   _apply_bindings -#   _apply_theme -#   for name in $(printenv | grep -Eo '^tmux_conf_[^=]+'); do tmux setenv -gu "$name"; done; -# } -# -# _urlview() { -#   tmux capture-pane -J -S - -E - -b "urlview-$1" -t "$1" -#   tmux split-window "tmux show-buffer -b urlview-$1 | urlview || true; tmux delete-buffer -b urlview-$1" -# } -# -# _fpp() { -#   tmux capture-pane -J -S - -E - -b "fpp-$1" -t "$1" -#   tmux split-window "tmux show-buffer -b fpp-$1 | fpp || true; tmux delete-buffer -b fpp-$1" -# } -# -# "$@" diff --git a/dotfiles/.tmux.conf.local b/dotfiles/.tmux.conf.local deleted file mode 100644 index 4295b29..0000000 --- a/dotfiles/.tmux.conf.local +++ /dev/null @@ -1,295 +0,0 @@ -# https://github.com/gpakosz/.tmux -# (‑●‑●)> dual licensed under the WTFPL v2 license and the MIT license, -#         without any warranty. -#         Copyright 2012— Gregory Pakosz (@gpakosz). - - -# -- navigation ---------------------------------------------------------------- - -# if you're running tmux within iTerm2 -#   - and tmux is 1.9 or 1.9a -#   - and iTerm2 is configured to let option key act as +Esc -#   - and iTerm2 is configured to send [1;9A -> [1;9D for option + arrow keys -# then uncomment the following line to make Meta + arrow keys mapping work -#set -ga terminal-overrides "*:kUP3=\e[1;9A,*:kDN3=\e[1;9B,*:kRIT3=\e[1;9C,*:kLFT3=\e[1;9D" - - -# -- windows & pane creation --------------------------------------------------- - -# new window retains current path, possible values are: -#   - true -#   - false (default) -tmux_conf_new_window_retain_current_path=false - -# new pane retains current path, possible values are: -#   - true (default) -#   - false -tmux_conf_new_pane_retain_current_path=true - -# new pane tries to reconnect ssh sessions (experimental), possible values are: -#   - true -#   - false (default) -tmux_conf_new_pane_reconnect_ssh=false - -# prompt for session name when creating a new session, possible values are: -#   - true -#   - false (default) -tmux_conf_new_session_prompt=false - - -# -- display ------------------------------------------------------------------- - -# RGB 24-bit colour support (tmux >= 2.2), possible values are: -#  - true -#  - false (default) -tmux_conf_theme_24b_colour=true - -# window style -tmux_conf_theme_window_fg='default' -tmux_conf_theme_window_bg='default' - -# highlight focused pane (tmux >= 2.1), possible values are: -#   - true -#   - false (default) -tmux_conf_theme_highlight_focused_pane=false - -# focused pane colours: -tmux_conf_theme_focused_pane_fg='default' -tmux_conf_theme_focused_pane_bg='#0087d7'               # light blue - -# pane border style, possible values are: -#   - thin (default) -#   - fat -tmux_conf_theme_pane_border_style=thin - -# pane borders colours: -tmux_conf_theme_pane_border='#3a3a3a'                   # gray -tmux_conf_theme_pane_active_border='#00afff'            # light blue - -# pane indicator colours -tmux_conf_theme_pane_indicator='#8ec07c'                # light blue -tmux_conf_theme_pane_active_indicator='#8ec07c'         # light blue - -# status line style -tmux_conf_theme_message_fg='#000000'                    # black -tmux_conf_theme_message_bg='#fabd2f'                    # yellow -tmux_conf_theme_message_attr='bold' - -# status line command style (<prefix> : Escape) -tmux_conf_theme_message_command_fg='#ffff00'            # yellow -tmux_conf_theme_message_command_bg='#000000'            # black -tmux_conf_theme_message_command_attr='bold' - -# window modes style -tmux_conf_theme_mode_fg='#000000'                       # black -tmux_conf_theme_mode_bg='#ffff00'                       # yellow -tmux_conf_theme_mode_attr='bold' - -# status line style -tmux_conf_theme_status_fg='#8a8a8a'                     # light gray -tmux_conf_theme_status_bg='#3a3a3a'                     # dark gray -tmux_conf_theme_status_attr='none' - -# terminal title -#   - built-in variables are: -#     - #{circled_window_index} -#     - #{circled_session_name} -#     - #{hostname} -#     - #{hostname_ssh} -#     - #{username} -#     - #{username_ssh} -tmux_conf_theme_terminal_title='#h ❐ #S ● #I #W' - -# window status style -#   - built-in variables are: -#     - #{circled_window_index} -#     - #{circled_session_name} -#     - #{hostname} -#     - #{hostname_ssh} -#     - #{username} -#     - #{username_ssh} -tmux_conf_theme_window_status_fg='#8a8a8a'              # light gray -tmux_conf_theme_window_status_bg='#3a3a3a'              # dark gray -tmux_conf_theme_window_status_attr='none' -tmux_conf_theme_window_status_format='#I #W' -#tmux_conf_theme_window_status_format='#{circled_window_index} #W' -#tmux_conf_theme_window_status_format='#I #W#{?window_bell_flag,🔔,}#{?window_zoomed_flag,🔍,}' - -# window current status style -#   - built-in variables are: -#     - #{circled_window_index} -#     - #{circled_session_name} -#     - #{hostname} -#     - #{hostname_ssh} -#     - #{username} -#     - #{username_ssh} -tmux_conf_theme_window_status_current_fg='#000000'      # black -tmux_conf_theme_window_status_current_bg='#8ec07c'      # light blue -tmux_conf_theme_window_status_current_attr='bold' -tmux_conf_theme_window_status_current_format='#I #W' -#tmux_conf_theme_window_status_current_format='#{circled_window_index} #W' -#tmux_conf_theme_window_status_current_format='#I #W#{?window_zoomed_flag,🔍,}' - -# window activity status style -tmux_conf_theme_window_status_activity_fg='default' -tmux_conf_theme_window_status_activity_bg='default' -tmux_conf_theme_window_status_activity_attr='underscore' - -# window bell status style -tmux_conf_theme_window_status_bell_fg='#ffff00'         # yellow -tmux_conf_theme_window_status_bell_bg='default' -tmux_conf_theme_window_status_bell_attr='blink,bold' - -# window last status style -tmux_conf_theme_window_status_last_fg='#8ec07c'         # light blue -tmux_conf_theme_window_status_last_bg='default' -tmux_conf_theme_window_status_last_attr='none' - -# status left/right sections separators -tmux_conf_theme_left_separator_main='' -tmux_conf_theme_left_separator_sub='' -tmux_conf_theme_right_separator_main='' -tmux_conf_theme_right_separator_sub='' -#tmux_conf_theme_left_separator_main=''  # /!\ you don't need to install Powerline -#tmux_conf_theme_left_separator_sub=''   #   you only need fonts patched with -#tmux_conf_theme_right_separator_main='' #   Powerline symbols or the standalone -#tmux_conf_theme_right_separator_sub=''  #   PowerlineSymbols.otf font - -# status left/right content: -#   - separate main sections with '|' -#   - separate subsections with ',' -#   - built-in variables are: -#     - #{battery_bar} -#     - #{battery_hbar} -#     - #{battery_percentage} -#     - #{battery_status} -#     - #{battery_vbar} -#     - #{circled_session_name} -#     - #{hostname_ssh} -#     - #{hostname} -#     - #{loadavg} -#     - #{pairing} -#     - #{prefix} -#     - #{root} -#     - #{synchronized} -#     - #{uptime_d} -#     - #{uptime_h} -#     - #{uptime_m} -#     - #{uptime_s} -#     - #{username} -#     - #{username_ssh} -tmux_conf_theme_status_left=' ❐ #S | ↑#{?uptime_d, #{uptime_d}d,}#{?uptime_h, #{uptime_h}h,}#{?uptime_m, #{uptime_m}m,} ' -tmux_conf_theme_status_right='#{prefix}#{pairing}#{synchronized} #{?battery_status, #{battery_status},}#{?battery_bar, #{battery_bar},}#{?battery_percentage, #{battery_percentage},} , %R | #{username}#{root} | #{hostname} ' - -# status left style -tmux_conf_theme_status_left_fg='#000000,#458588,#e4e4e4'  # black, white , white -tmux_conf_theme_status_left_bg='#458588,#3a3a3a,#00afff'  # yellow, pink, white blue -tmux_conf_theme_status_left_attr='none,none,none' - -# status right style -tmux_conf_theme_status_right_fg='#458588,#000000,#000000' # light gray, white, black -tmux_conf_theme_status_right_bg='#3a3a3a,#8ec07c,#458588' # dark gray, red, white -tmux_conf_theme_status_right_attr='none,none,none' - -# pairing indicator -tmux_conf_theme_pairing='👓 '          # U+1F453 -tmux_conf_theme_pairing_fg='none' -tmux_conf_theme_pairing_bg='none' -tmux_conf_theme_pairing_attr='none' - -# prefix indicator -tmux_conf_theme_prefix='⌨ '            # U+2328 -tmux_conf_theme_prefix_fg='none' -tmux_conf_theme_prefix_bg='none' -tmux_conf_theme_prefix_attr='none' - -# root indicator -tmux_conf_theme_root='!' -tmux_conf_theme_root_fg='none' -tmux_conf_theme_root_bg='none' -tmux_conf_theme_root_attr='bold,blink' - -# synchronized indicator -tmux_conf_theme_synchronized='🔒'     # U+1F512 -tmux_conf_theme_synchronized_fg='none' -tmux_conf_theme_synchronized_bg='none' -tmux_conf_theme_synchronized_attr='none' - -# battery bar symbols -tmux_conf_battery_bar_symbol_full='◼' -tmux_conf_battery_bar_symbol_empty='◻' -#tmux_conf_battery_bar_symbol_full='♥' -#tmux_conf_battery_bar_symbol_empty='·' - -# battery bar length (in number of symbols), possible values are: -#   - auto -#   - a number, e.g. 5 -tmux_conf_battery_bar_length='6' - -# battery bar palette, possible values are: -#   - gradient (default) -#   - heat -#   - 'colour_full_fg,colour_empty_fg,colour_bg' -tmux_conf_battery_bar_palette='gradient' -#tmux_conf_battery_bar_palette='#d70000,#e4e4e4,#000000'   # red, white, black - -# battery hbar palette, possible values are: -#   - gradient (default) -#   - heat -#   - 'colour_low,colour_half,colour_full' -tmux_conf_battery_hbar_palette='gradient' -#tmux_conf_battery_hbar_palette='#d70000,#ff5f00,#5fff00'  # red, orange, green - -# battery vbar palette, possible values are: -#   - gradient (default) -#   - heat -#   - 'colour_low,colour_half,colour_full' -tmux_conf_battery_vbar_palette='gradient' -#tmux_conf_battery_vbar_palette='#d70000,#ff5f00,#5fff00'  # red, orange, green - -# symbols used to indicate whether battery is charging or discharging -tmux_conf_battery_status_charging='⚡'       # U+2191 -tmux_conf_battery_status_discharging='🔋'    # U+2193 -#tmux_conf_battery_status_charging='⚡ '    # U+26A1 -#tmux_conf_battery_status_charging='🔌 '    # U+1F50C -#tmux_conf_battery_status_discharging='🔋 ' # U+1F50B - -# clock style (when you hit <prefix> + t) -# you may want to use %I:%M %p in place of %R in tmux_conf_theme_status_right -tmux_conf_theme_clock_colour='#00afff'  # light blue -tmux_conf_theme_clock_style='24' - - -# -- clipboard ----------------------------------------------------------------- - -# in copy mode, copying selection also copies to the OS clipboard -#   - true -#   - false (default) -# on macOS, this requires installing reattach-to-user-namespace, see README.md -# on Linux, this requires xsel or xclip -tmux_conf_copy_to_os_clipboard=false - - -# -- user customizations ------------------------------------------------------- -# this is the place to override or undo settings - -# increase history size -#set -g history-limit 10000 - -# start with mouse mode enabled -#set -g mouse on - -# force Vi mode -#   really you should export VISUAL or EDITOR environment variable, see manual -#set -g status-keys vi -#set -g mode-keys vi - -# replace C-b by C-a instead of using both prefixes -# set -gu prefix2 -# unbind C-a -# unbind C-b -# set -g prefix C-a -# bind C-a send-prefix - -# move status line to top -#set -g status-position top @@ -10,7 +10,7 @@ fi  CLONEDIR=$PWD  # Install some basic programs -pacman -Sy --noconfirm base-devel zsh man networkmanager openvpn neovim sway swaylock swayidle waybar egl-wayland imv swaybg xorg-server-xwayland termite kitty qt5-wayland wl-clipboard dbus tmux htop bemenu mupdf mpd ncmpcpp mpc mpv mplayer libnotify mako cronie rsync grim slop ffmpeg w3m youtube-dl youtube-viewer newsboat wget curl krita inkscape darktable gcc make fontconfig pkg-config fakeroot papirus-icon-theme alsa-utils pulseaudio pulseaudio-bluetooth imagemagick ntfs-3g unzip unrar gnome-themes-standard gtk-engine-murrine telegram-desktop qt5ct r udisks2 perl-term-readline-gnu transmission-cli python-pynvim python-pip calcurse acpi acpid gnupg noto-fonts-cjk powerline-fonts python-pygit2 polkit polkit-gnome zathura zathura-pdf-mupdf zathura-djvu gst-libav vifm blueman bluez acpilight powertop accountsservice lightdm xdg-user-dirs abook ranger terminus-font qutebrowser jq stow wdiff texlive-most pandoc +pacman -Sy --noconfirm base-devel zsh man networkmanager openvpn neovim sway swaylock swayidle waybar egl-wayland imv swaybg xorg-server-xwayland termite kitty qt5-wayland wl-clipboard dbus tmux htop bemenu mupdf mpd ncmpcpp mpc mpv mplayer libnotify mako cronie rsync grim slop ffmpeg w3m youtube-dl youtube-viewer newsboat wget curl krita inkscape darktable gcc make fontconfig pkg-config fakeroot papirus-icon-theme alsa-utils pulseaudio pulseaudio-bluetooth imagemagick ntfs-3g unzip unrar gnome-themes-standard gtk-engine-murrine telegram-desktop qt5ct r udisks2 perl-term-readline-gnu transmission-cli python-pynvim python-pip calcurse acpi acpid gnupg noto-fonts-cjk powerline-fonts python-pygit2 polkit polkit-gnome zathura zathura-pdf-mupdf zathura-djvu gst-libav vifm blueman bluez acpilight powertop accountsservice lightdm xdg-user-dirs abook ranger terminus-font qutebrowser jq stow wdiff texlive-most pandoc units  # Copy system config files  cp system/sudoers /etc/ diff --git a/systemd/startupsound.service b/systemd/startupsound.service index f1b4a16..1928e17 100644 --- a/systemd/startupsound.service +++ b/systemd/startupsound.service @@ -2,7 +2,7 @@  Description=Play Startup Sound  [Service] -ExecStart=/usr/bin/mplayer /home/yaroslav/.soundalerts/start.ogg +ExecStart=/usr/bin/mpv /home/yaroslav/.local/share/soundalerts/start.ogg  [Install]  Alias=startupsound.service | 
