Compare commits

...

31 Commits

Author SHA1 Message Date
Shaun Reed 7f0ca310aa Update command aliases 2022-11-20 13:49:18 -05:00
Shaun Reed c76f7a7b9f Fix repo name in tmux bar 2022-08-28 19:34:18 -04:00
Shaun Reed be0dd678dc Add docker image 2022-08-28 18:00:09 -04:00
Shaun Reed 8ec0ec3cef Set configs for different envrionments
+ Check if we're in docker or running xorg
+ Adjust tmux / vim settings
2022-08-28 17:25:44 -04:00
Shaun Reed e0ff2faeba Update vim configs
+ Conditionally use custom font
+ Fix ranger devicons
+ Add konsole profile
+ Conditionally eable default konsole profile
2022-08-26 22:02:57 -04:00
Shaun Reed 629ef32a26 Remove unused submodule 2022-08-06 23:55:40 -04:00
Shaun Reed 0fb52c2472 Update tmux configs
+ Add gitmux config
+ Use find to locate libclang in .bash_aliases
2022-08-06 23:39:41 -04:00
Shaun Reed c2e4e04a18 Update bash aliases and settings
+ Fix gitmux
2022-07-29 20:13:51 -04:00
Shaun Reed 903e81aad4 Update tmux configs
+ Plugins for tmux
+ Ranger plugins
2022-07-16 10:28:31 -04:00
Shaun Reed d412a35d38 Update README 2021-12-21 13:38:14 -05:00
Shaun Reed 4d7aa521dc Remove yakuake configurations
+ Migrate yakuake configs to a branch with a full DE
+ Update `.bash_aliases` to include `kapp-update` and `kapp-git`
+ Add conditional sourcing of untracked `.bash_secrets` file, if it exists
2021-12-18 20:57:56 -05:00
Shaun Reed 7877117d5b Update yakuake shortcuts and configuration 2021-09-23 11:03:50 -04:00
Shaun Reed f4f1a9dbba Add configs for yakuake and ranger
+ Alias for using Python 3.9 and pip3.9
+ Adjust step-in and step-out vim keybinds
2021-09-23 10:14:42 -04:00
Shaun Reed 3a9b30b8c7 Add .vim/undodir for persistent undo / redo history
+ Add .vim/undodir/.gitignore to ignore all files within
+ Makes undodir available to vim for writing local history but does not track files with git
2021-03-07 20:34:46 +00:00
Shaun Reed e11d0b1e20 Improve vimrc to include more information and settings
+ Add more binds, even if left default, for reference or quick adjusting
+ Adjust sourcerer.vim for ultra-black background
+ Set clang_complete to use snippets for code completion in C / C++
+ Set clang_complete binds jump-to declaration and jump-out to + and _ respectively
+ Add information to vimrc to allow adjusting clang options
+ Highlight column 80 on cpp and c files
+ Revert to unicode symbols by default, left powerline symbols commented out for now
2021-03-03 16:11:33 +00:00
Shaun Reed b73166a724 Update .vimrc to include basic clang_complete binds
+ Listed even if the bind is kept default
2021-02-18 13:00:10 -05:00
Shaun Reed 21bc190261 Update submodules to latest commit 2021-02-18 10:21:42 -05:00
Shaun Reed 516e6c1992 Update README 2020-11-25 06:55:27 -05:00
Shaun Reed a3308b64df Update README 2020-11-23 14:30:48 -05:00
Shaun Reed b5cadab3f6 Merge branch 'master' into headless 2020-11-23 12:43:44 -05:00
Shaun Reed 5fe1fd7ae2 Change example to libclang-9-dev 2020-06-15 09:49:21 -04:00
Shaun Reed 6ef6f806d3 Reduce the scope of searching for libclang
+ Checks the /usr/ directory recursively

Add example path to more common libclang1
+ libclang-10-dev is not available on WSL
2020-06-15 09:33:46 -04:00
Shaun Reed da17f5423f Remove find command from bash aliases
+ Fix for slow starting terminal sessions
+ Require user to configure clang path following commands in README
2020-06-15 09:19:25 -04:00
Shaun Reed eaefbdc471 Update libclang setup to avoid slow starting sessions
+ Remove find from the LIBCLANG environment variable
+ Let the user run commands to set this variable up if needed, found in
the README

Change from echo to printf
2020-06-14 12:59:32 -04:00
Shaun Reed d76289d1fe Remove sudo from LIBCLANG 2020-06-12 10:32:13 -04:00
Shaun Reed 2e3d2523f1 Update README for more detailed instructions
Add recommendation to headless branch for first-time setup
+ This branch provides the terminal tweaks I use
+ Does not modify desktop environment or window manager settings

Add an explanation for setting up clang_completion as it can sometimes
require some tweaking.
2020-06-11 14:53:01 -04:00
Shaun Reed 138ccc7e51 Make path to libclang universal, update vimrc
Added Ale plugin for running linters
+ Changed unicode error and warning symbols
+ Added keybind for moving to next / previous errors

Update vimrc to use environment variable /usr/lib/llvm-10/lib/libclang.so.1 for clang path
+ This is automatically adjusted to the system clang path via output of 'find / -name libclang.so.1'
+ Requires some derivative of libclang to be installed, along with clang

Add whitespace check function to vimrc
+ Removes whitespaces from every relative file saved with vim
+ list of files found within ~/.vimrc

Add Colorizer plugin keybind for toggling color highlights within vim

Add environment variables $EDITOR and $VISUAL and set both to point to vim

Add a script to fix a common issue in vbox displays
+ running fix-vbox.sh corrects unclickable portion of the screen
2020-06-11 14:00:01 -04:00
Shaun Reed adf0255224 README.md 2020-02-19 07:05:07 +00:00
Shaun Reed 6792c978dd Remove outdated info in README, screenshots 2020-02-19 06:37:29 +00:00
Shaun Reed 55adf58a00 Basic vim settings, plugins 2020-02-19 06:28:27 +00:00
Shaun Reed d57c7b822e Initial commit for headless dotfiles 2020-02-19 06:22:36 +00:00
272 changed files with 953 additions and 15352 deletions

View File

@ -1,48 +0,0 @@
!
! ██████ ██████ ██ ██ ██████ █████ █████ ██████ █████ ██████
! ██░░░░ ██░░░░██░██ ░██░░██░░████░░░██ ██░░░██░░██░░████░░░██░░██░░██
! ░░█████ ░██ ░██░██ ░██ ░██ ░░░██ ░░ ░███████ ░██ ░░░███████ ░██ ░░
! ░░░░░██░██ ░██░██ ░██ ░██ ░██ ██░██░░░░ ░██ ░██░░░░ ░██
! ██████ ░░██████ ░░██████░███ ░░█████ ░░██████░███ ░░██████░███
! ░░░░░░ ░░░░░░ ░░░░░░ ░░░ ░░░░░ ░░░░░░ ░░░ ░░░░░░ ░░░
! r e a d c o d e l i k e a w i z a r d
!
! sourcerer by xero harrison (http://sourcerer.xero.nu)
! ├─ based on sorcerer by Jeet Sukumaran (http://jeetworks.org)
! └─ based on mustang by Henrique C. Alves (hcarvalhoalves@gmail.com)
! █▓▒░ scorcerer colors
*.foreground: #c2c2b0
*.background: #222222
*.cursorColor: #c2c2b0
! black
*.color0: #111111
*.color8: #181818
! red
*.color1: #aa4450
*.color9: #ff6a6a
! green
*.color2: #719611
*.color10: #b1d631
! yellow
*.color3: #ff9800
*.color11: #87875f
! blue
*.color4: #6688aa
*.color12: #90b0d1
! magenta
*.color5: #8f6f8f
*.color13: #8181a6
! cyan
*.color6: #528b8b
*.color14: #87ceeb
! white
*.color7: #d3d3d3
*.color15: #c1cdc1
! stylized
*.colorIT: #719611
*.colorBD: #d3d3d3
*.colorUL: #528b8b
URxvt.font: xft:Inconsolata Nerd Font:size=30

View File

@ -1,5 +1,26 @@
# Overrides for default .bashrc aliases and exports # For Rust stuff, uncomment this line
#. "$HOME/.cargo/env"
alias ,git='git config --global user.name "Shaun Reed" && git config --global user.email "shaunrd0@gmail.com"'
if [ -f /.dockerenv ]; then
export DOT_PACKAGES='git stow vim tmux ranger clang wget curl'
alias ,update='apt update -y && apt upgrade -y && apt upgrade --fix-broken --fix-missing --auto-remove'
alias ,init='apt update -y && apt install $DOT_PACKAGES -y'
alias ,swap='swapoff -a && swapon -a'
else
export DOT_PACKAGES='git stow vim xsel xclip tmux ranger clang yakuake wget curl'
alias ,update='sudo apt update -y && sudo apt upgrade -y && sudo apt upgrade --fix-broken --fix-missing --auto-remove'
alias ,init='sudo apt update -y && sudo apt install $DOT_PACKAGES'
# Clear kscreen cached settings
alias ,kscreen='rm -rf ~/.local/share/kscreen/*'
# Restart plasmashell
alias ,plasmashell='sudo pkill plasmashell && plasmashell --replace &> /dev/null &'
alias ,swap='sudo swapoff -a && sudo swapon -a'
alias ,vbox="ps aux www |grep 'VBoxClient --draganddrop' | awk '{print $2}' | xargs kill"
fi
# Alias / export customizations # Alias / export customizations
# colored GCC warnings and errors # colored GCC warnings and errors
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' #export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
@ -11,25 +32,74 @@ alias l='ls -CF'
# Add an "alert" alias for long running commands. Use like so: # Add an "alert" alias for long running commands. Use like so:
# sleep 10; alert # sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"' alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
export EDITOR="vim"
export VISUAL="vim"
export LS_COLORS="di=1;34:ln=31;47:so=32:pi=33:ex=1;32:bd=34;46:cd=34;43:su=30;41:sg=30;46:tw=30;42:ow=30;43"
export PATH=$PATH:/opt/:$HOME/.local/bin/:$HOME/.dotnet:$HOME/go/bin/
export DOTNET_ROOT=$HOME/.dotnet
# Custom aliases / exports - Appended # Example path for autocompletion using libclang-9-dev package, obtained by the following command
# echo "alias ls='ls -la'" >> ~/.bash_aliases export LIBCLANG="$(command -v clang &>/dev/null && ldconfig -p | sort | grep libclang-[0-9]. | awk -F "> " '{print$2}' | tail -n 1)"
alias gitkapp='git config --global user.name "Shaun Reed" && git config --global user.email "shaunrd0@gmail.com"'
alias config='/usr/bin/git --git-dir=/home/kapper/.cfg/ --work-tree=/home/kapper' # Source a top-secret alias file
if [ -e ~/.bash_secrets ]; then
#export FONT='xft:InconsolataNerdFont' . ~/.bash_secrets
#export TERMINAL='urxvt -fn '$FONT' -e tmux -u' fi
export TERMINAL='urxvt -e tmux -u'
export EDITOR='/usr/bin/vim'
export VISUAL='/usr/bin/vim'
export PATH=$PATH":$HOME/.local/bin/i3scripts:/opt/"
if command -v tmux &> /dev/null && [ -n "$PS1" ] && [[ ! "$TERM" =~ screen ]] && [[ ! "$TERM" =~ tmux ]] && [ -z "$TMUX" ]; then if command -v tmux &> /dev/null && [ -n "$PS1" ] && [[ ! "$TERM" =~ screen ]] && [[ ! "$TERM" =~ tmux ]] && [ -z "$TMUX" ]; then
exec tmux exec tmux
fi fi
eval "$(dircolors ~/.dir_colors)"
export LS_COLORS="di=1;34:ln=31;47:so=32:pi=33:ex=1;32:bd=34;46:cd=34;43:su=30;41:sg=30;46:tw=30;42:ow=30;43" # Set the default terminal to use konsole, with kapper profile
# + Execute tmux on start
if [ -e ~/.local/share/konsole/kapper.profile ]; then
if command -v tmux &>/dev/null; then
export TERMINAL='konsole --profile kapper -e tmux'
else
export TERMINAL='konsole --profile kapper'
fi
fi
# Conditionally enables font glyphs in .vimrc if available
if [ -e ~/.local/share/fonts/sauce-code-pro.otf ]; then
export SAUCE=1
fi
# Less colors for man pages
export PAGER=less
default=$(tput sgr0)
red=$(tput setaf 1)
green=$(tput setaf 2)
purple=$(tput setaf 5)
orange=$(tput setaf 9)
# Begin blinking
export LESS_TERMCAP_mb=$red
# Begin bold
export LESS_TERMCAP_md=$orange
# End mode
export LESS_TERMCAP_me=$default
# End standout-mode
export LESS_TERMCAP_se=$default
# Begin standout-mode - info box
export LESS_TERMCAP_so=$purple
# End underline
export LESS_TERMCAP_ue=$default
# Begin underline
export LESS_TERMCAP_us=$green
# Allow mouse wheel movement for less output (manpages, diffs)
export LESS='--mouse --wheel-lines 2'
# Set additional flags for less
# + -R for raw control characters
# + -w to highlight first unread line when jumping N>1 lines down
# + -#2 to shift 2 columns horizontally when right / left arrow is pressed
export LESS="$LESS -R -w -#2"
if ! [ command -v conda &>/dev/null ] && [ -e ~/Code/Clones/mambaforge/bin/conda ] && ! grep -e conda ~/.bashrc &>/dev/null; then
if ! (~/Code/Clones/mambaforge/bin/conda init | awk -F "==>" '{print $1}'); then
echo "[dot] ERROR: Failed to initialize Conda."
fi
echo "[dot] WARN: Ran \`conda init\`; Conda was installed but not initialized"
source ~/.bashrc
fi

23
.bashrc
View File

@ -1,14 +1,13 @@
# ~/.bashrc: executed by bash(1) for non-login shells. # ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples # for examples
# If not running interactively, don't do anything # If not running interactively, don't do anything
case $- in case $- in
*i*) ;; *i*) ;;
*) return;; *) return;;
esac esac
unset PROMPT_COMMAND
# don't put duplicate lines or lines starting with space in the history. # don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options # See bash(1) for more options
HISTCONTROL=ignoreboth HISTCONTROL=ignoreboth
@ -57,18 +56,10 @@ if [ -n "$force_color_prompt" ]; then
fi fi
fi fi
function _update_ps1() {
PS1=$(powerline-shell $?)
}
if [[ $TERM != linux && ! $PROMPT_COMMAND =~ _update_ps1 ]]; then
PROMPT_COMMAND="_update_ps1; $PROMPT_COMMAND"
fi
if [ "$color_prompt" = yes ]; then if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\][\u@\h\[\033[00m\] \W\[\033[01;32m\]]\$\[\033[00m\]' PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else else
PS1='${debian_chroot:+($debian_chroot)}[\u@\h \W]\$ ' PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi fi
unset color_prompt force_color_prompt unset color_prompt force_color_prompt
@ -93,8 +84,6 @@ if [ -x /usr/bin/dircolors ]; then
alias egrep='egrep --color=auto' alias egrep='egrep --color=auto'
fi fi
# Alias / export customizations
# colored GCC warnings and errors # colored GCC warnings and errors
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' #export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
@ -105,9 +94,11 @@ alias l='ls -CF'
# Add an "alert" alias for long running commands. Use like so: # Add an "alert" alias for long running commands. Use like so:
# sleep 10; alert # sleep 10; alert
#alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"' alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
# Edit ~/.bash_aliases, instead of adding them here directly. # Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package. # See /usr/share/doc/bash-doc/examples in the bash-doc package.
if [ -f ~/.bash_aliases ]; then if [ -f ~/.bash_aliases ]; then

View File

@ -1,6 +0,0 @@
{
"terminal.integrated.fontFamily": "Inconsolata Nerd Font Mono",
"editor.tabCompletion": "on",
"editor.tabSize": 2,
"window.zoomLevel": -1
}

View File

@ -1 +0,0 @@
{}

View File

@ -1,14 +0,0 @@
[Desktop Entry]
Exec=/home/kapper/.local/share/JetBrains/Toolbox/bin/jetbrains-toolbox --minimize
Icon=/home/kapper/.local/share/JetBrains/Toolbox/toolbox.svg
MimeType=x-scheme-handler/jetbrains;
Name=JetBrains Toolbox
StartupNotify=false
StartupWMClass=jetbrains-toolbox
Terminal=false
Type=Application
Version=1.0
X-GNOME-Autostart-Delay=10
X-GNOME-Autostart-enabled=true
X-KDE-autostart-after=panel
X-MATE-Autostart-Delay=10

View File

@ -1,109 +0,0 @@
# Shadow
shadow = true;
# no-dnd-shadow = true;
no-dock-shadow = true;
clear-shadow = true;
detect-rounded-corners = true;
shadow-radius = 5;
shadow-offset-x = 1;
shadow-offset-y = 1;
shadow-opacity = .3;
shadow-ignore-shaped = false;
shadow-exclude = [
"name = 'Notification'",
# workaround for conky until it provides window properties:
"override_redirect = 1 && !WM_CLASS@:s",
"class_g ?= 'Dmenu'",
# "class_g ?= 'Dunst'",
# disable shadows for hidden windows:
"_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'",
"_GTK_FRAME_EXTENTS@:c",
# disables shadows on sticky windows:
# "_NET_WM_STATE@:32a *= '_NET_WM_STATE_STICKY'",
# disables shadows on i3 frames
"class_g ?= 'i3-frame'"
];
# shadow-exclude-reg = "x10+0+0";
# xinerama-shadow-crop = true;
#menu-opacity = 0.95;
#inactive-opacity = 0.93;
#active-opacity = 1;
#alpha-step = 0.01;
#inactive-dim = 0.0;
#blur-background = false;
#blur-kern = "3x3box";
fading = false;
fade-delta = 1;
fade-in-step = 0.03;
fade-out-step = 0.03;
fade-exclude = [ ];
backend = "xrender";
mark-wmwin-focused = true;
mark-ovredir-focused = true;
detect-client-opacity = true;
unredir-if-possible = true;
refresh-rate = 0;
vsync = "none";
dbe = false;
paint-on-overlay = true;
focus-exclude = [ "class_g = 'Cairo-clock'" ];
detect-transient = true;
detect-client-leader = true;
invert-color-include = [ ];
glx-copy-from-front = false;
glx-swap-method = "undefined";
opacity-rule = [
#"99:name *?= 'Call'",
#"99:class_g = 'Chromium'",
#"50:class_g *= 'shortcuts_green'",
#"50:class_g *= 'sysinfo_green'",
#"50:class_g *= 'conky'",
#"99:class_g = 'Darktable'",
#"50:class_g = 'Dmenu'",
#"99:name *?= 'Event'",
#"99:class_g = 'Firefox'",
#"99:class_g = 'GIMP'",
#"99:name *?= 'Image'",
#"99:class_g = 'Lazpaint'",
#"99:class_g = 'Midori'",
#"99:name *?= 'Minitube'",
#"99:class_g = 'Mousepad'",
#"99:name *?= 'MuseScore'",
#"90:name *?= 'Page Info'",
#"99:name *?= 'Pale Moon'",
#"90:name *?= 'Panel'",
#"99:class_g = 'Pinta'",
#"90:name *?= 'Restart'",
#"99:name *?= 'sudo'",
#"99:name *?= 'Screenshot'",
#"99:class_g = 'Viewnior'",
#"99:class_g = 'VirtualBox'",
#"99:name *?= 'VLC'",
#"99:name *?= 'Write'",
#"93:class_g = 'URxvt' && !_NET_WM_STATE@:32a",
#"0:_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'",
#"96:_NET_WM_STATE@:32a *= '_NET_WM_STATE_STICKY'"
];
wintypes :
{
tooltip :
{
fade = true;
shadow = false;
opacity = 0.85;
focus = true;
};
fullscreen :
{
fade = true;
shadow = false;
opacity = 1;
focus = true;
};
};

View File

@ -1,76 +0,0 @@
conky.config = {
alignment = 'bottom_left',
background = true,
color2 = '2ECC71',
cpu_avg_samples = 2,
default_color = 'FFFFFF',
double_buffer = true,
font = 'Bitstream Vera Sans:size=8',
gap_x = 15,
gap_y = 40,
minimum_width = 200,
no_buffers = true,
own_window = true,
own_window_class = 'shortcuts_green',
own_window_type = 'override',
own_window_transparent = true,
update_interval = 10.0,
use_xft = true,
}
conky.text = [[
#
# Date
${alignr}${color1}
${goto 20}${voffset 8}${color2}${font Bitstream Vera Sans:size=16}${time %A}$font\
${goto 140}${voffset -8}${color}${font Bitstream Vera Sans:size=38}${time %e}$font
${goto 20}${color}${voffset -30}${color}${font Bitstream Vera Sans:size=18}${time %b}$font\
${goto 60}${voffset -3} ${color}${font Bitstream Vera Sans:size=20}${time %Y}$font${color2}$hr
#
---------------Applications---------------
${color2}open new terminal - ${color}mod+Enter
${color2}open dropdown yakuake terminal - ${color}F4
${color2}Firefox - ${color}mod+Shift+f
---------------Screenshots----------------
${color2}image clip tool - ${color}mod+Shift+p
---------------Menus----------------------
${color2}audio devices - ${color}mod+Ctrl+a
${color2}bluetooth devices - ${color}mod+Ctrl+d
${color2}bmenu system settings - ${color}mod+Ctrl+b
${color2}dmenu app launcher - ${color}mod+d
${color2}morc_menu app menu - ${color}mod+z
${color2}power modes - ${color}mod+0
${color2}blur lock - ${color}mod+9
---------------Restart / Reload-----------
${color2}kill conky - ${color}mod+o
${color2}start conky - ${color}mod+shift+o
${color2}kill compton - ${color}mod+t
${color2}start compton - ${color}mod+Shift+t
${color2}reload i3 - ${color}mod+Shift+c
${color2}restart i3 - ${color}mod+Shift+r
---------------Scratchpad-----------------
${color2}send to scratchpad - ${color}mod+Shift+minus
${color2}show scratchpad - ${color}mod+minus
---------------Windows--------------------
${color2}modify gaps - ${color}mod+Shift+g
${color2}resize mode - ${color}mod+r
${color2}toggle split direction - ${color}mod+q
${color2}kill cursor selection - ${color}mod+Ctrl+q
${color2}kill active window - ${color}mod+Shift+q
---------------Workspace--------------------
${color2}move to empty workspace - ${color}mod+Shift+z
${color2}switch to workspace 1-8 - ${color}mod+1-8
${color2}send to workspace 1-8 - ${color}mod+Ctrl+1-8
${color2}navigate workspaces - ${color}mod+Ctrl+arrowkeys
${color2}toggle floating - ${color}mod+Shift+Space
${color2}exit - ${color}mod+0
${color2}help - ${color}mod+Shift+h
${color2}mod key - ${color}<Alt>
]]

View File

@ -1,104 +0,0 @@
conky.config = {
alignment = 'top_right',
background = true,
color2 = '2ECC71',
cpu_avg_samples = 2,
default_color = 'FFFFFF',
double_buffer = true,
font = 'Bitstream Vera Sans:size=8',
gap_x = 15,
gap_y = -5,
minimum_width = 200,
no_buffers = true,
own_window = true,
own_window_type = 'override',
own_window_class = 'sysinfo_green',
own_window_transparent = true,
update_interval = 5.0,
use_xft = true,
temperature_unit = 'fahrenheit',
}
conky.text = [[
# Process list, load average
# 1m / 5m / 15m format for lad avg
${color2}${voffset 35}${alignr}${font Bitstream Vera Sans:size=10}Proccesses${color}
${color}${alignr}${font Bitstream Vera Sans:size=8}Load Average: $font$alignr${loadavg}
#
# Process list CPU / RAM utilization table
${font}CPU${goto 170}RAM
${voffset 3}$font${color2}${top name 1}${goto 120}${color}${top cpu 1}%${goto 170}${color2}${top_mem name 1}${color}${alignr}${top_mem mem_res 1}${color}
${color2}${top name 2}${goto 120}${color}${top cpu 2}%${goto 170}${color2}${top_mem name 2}${color}${alignr}${top_mem mem_res 2}${color}
${voffset 3}$hr
#
# RAM Display
${color2}${voffset 4}${alignr}${font Bitstream Vera Sans:size=10}RAM ${color}
${goto 0}${color2}$alignc${memgraph 40,305}${color}
${voffset 4}${goto 0}${alignc}${color2}${membar 10, 305}
${color}${goto 10}${font}${memperc}%${alignr}${exec grep -w Active: /proc/meminfo | awk '{print $2 / 1024 }'}MiB /${memmax}
${voffset 3}${color}$hr
#
# CPU Display
${color2}${voffset 4}${alignr}${font Bitstream Vera Sans:size=10}CPU ${color}
# Chipset
${alignr}${font}${exec inxi |grep CPU | awk '{print $4" "$2" "$3" "$6}'}${exec lscpu |grep -w "Model name:"| awk '{print " - " $8}'}
# CPU Graph
${voffset 4}${goto 0}${alignc}${color2}${cpugraph 40, 305}
# Percentage / GHz utilized
${voffset 0}${goto 10}${color}${font}${exec cat /sys/class/thermal/thermal_zone2/temp | awk '{print ( ( ( (9/5) * $1) / 1000) + 32) "°F" }'}${alignr}${cpu}% - ${freq_g}GHz
# CPU Core Graphs
${voffset 10}${color}${goto 10}${font Bitstream Vera Sans:size=8}${cpu cpu1}%${goto 43}${color2}${cpubar cpu1 12,110} ${goto 170}${color}${cpu cpu2}%${goto 203}${color2}${cpubar cpu2 12,110}
${voffset 3}${color}$hr
#
# Network display
${color2}${font}${alignr}NETWORK${color}
${color}${voffset 4}${font}Interface: ${gw_iface} ${font}${alignr}Gateway IP: ${gw_ip}
${font}${alignr}${if_match "$wireless_essid"=="off/any"}Déconnecté${else}${wireless_essid}${endif}
${font}${goto 5}Down${alignr}Up
${goto 5}${color2}${downspeedgraph enp0s31f6 40,153}${goto 160}${upspeedgraph enp0s31f6 40,155}
# Uncomment next line for wireless
# ${goto 5}${color}${downspeedf wlp3s0} Kb/s - ${totaldown wlp3s0}${goto 160}${upspeedf wlp3s0} Kb/s - ${totalup wlp3s0}
# Ethernet network display
${goto 5}${color}${downspeedf enp0s31f6} Kb/s - ${totaldown enp0s31f6}${alignr}${upspeedf enp0s31f6} Kb/s - ${totalup enp0s31f6}
${voffset 4}${color}$hr
#
# HDDisk Display
${color2}${voffset 4}${alignr}${font Bitstream Vera Sans:size=10}DISKS${color}
#
# Root Filesystem Display
${voffset 2}${font}${goto 45} /dev/sda - /${font}${alignr}System: ${fs_used /} / ${fs_size /}
${color2}${diskiograph /dev/sda}${color}
${color2}${fs_bar 8 /}${color}
#
# Home Filesystem Display
#${voffset 6}${font}${goto 45}/dev/sda1 - /home/${font}${alignr}Data: ${fs_used /home/} / ${fs_size /home/}
#${color2}${diskiograph /dev/sda1}${color}
#${color2}${fs_bar 8 /home/} ${color}
# Optinal drive display, specify path to check mount
#${if_mounted /run/media/thib/Data}${color}${font}${exec sudo hddtemp /dev/sdb -u F | awk '{print $NF}'}${alignr}${fs_used /run/media/thib/Data}/${fs_size /run/media/thib/Data}${else}${color}${font}${alignr}Unmounted${endif}
$hr
#
# Other information
${color2}${voffset 4}${alignr}${font Bitstream Vera Sans:size=10}OTHER${color}
# MOBO temp, uptime
${color}${voffset 4}${font}Motherboard: ${goto 120}${acpitemp}F°${alignr}Uptime: ${uptime_short}
# Domain status
# ${color}${voffset 4}${font}Knoats: ${alignc}${exec curl -Is https://knoats.com | grep HTTP | awk '{print $1 " - " $2}'}${alignr}${exec curl -o /dev/null -s -w %{time_total}\\n https://knoats.com}s
# ${font}Shaunreed: ${alignc}${exec curl -Is https://shaunreed.com | grep HTTP | awk '{print $1 " - " $2}'}${alignr}${exec curl -o /dev/null -s -w %{time_total}\\n https://shaunreed.com}s
# ${font}dv: ${alignc}${exec curl -Is https://kapp.ga | grep HTTP | awk '{print $1 " - " $2}'}${alignr}${exec curl -o /dev/null -s -w %{time_total}\\n https://kapp.ga}s
#
${voffset 3}$hr
#
#
# Things I don't use, but could in the future
# I don't need to track docker containers.. unless I can check remotes?
# ${font}Docker containers: ${goto 120}${exec docker ps -q $1 | wc -l}/${exec docker ps -a | grep -v -F 'Exited (0)' | grep -c -F 'Exited ('}
#
# Commented out, since I am using a desktop
# BATTERY
# $color${voffset 4}${alignr}${font Bitstream Vera Sans:size=10}BATTERY
# ${font}${voffset 3}${alignr}${battery_percent}%
# ${color2}${battery_bar}
# $color${alignr}${if_match "$battery_time"=="unknown"}Charging...${else}Remain Time: ${battery_time}${endif}
]]

Binary file not shown.

View File

@ -1,26 +0,0 @@
# Beware! This file is rewritten by htop when settings are changed in the interface.
# The parser is also very primitive, and not human-friendly.
fields=0 48 17 18 38 39 40 2 46 47 49 1
sort_key=46
sort_direction=1
hide_threads=0
hide_kernel_threads=1
hide_userland_threads=0
shadow_other_users=0
show_thread_names=0
show_program_path=1
highlight_base_name=0
highlight_megabytes=1
highlight_threads=1
tree_view=0
header_margin=1
detailed_cpu_time=0
cpu_count_from_zero=0
update_process_names=0
account_guest_in_cpu_meter=0
color_scheme=0
delay=15
left_meters=AllCPUs Memory Swap
left_meter_modes=1 1 1
right_meters=Tasks LoadAverage Uptime
right_meter_modes=2 2 2

View File

@ -1,454 +0,0 @@
# This file has been auto-generated by i3-config-wizard(1).
# It will not be overwritten, so edit it as you like.
#
# Should you change your keyboard layout some time, delete
# this file and re-run i3-config-wizard(1).
#
# i3 config file (v4)
#
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
set $mod Mod4
# Mod1 = Alt
#set $mod Mod1
focus_follows_mouse no
for_window [class="yakuake"] floating enable
# Move to a new empty workspace
#bindsym $mod+Ctrl+Left exec --no-startup-id i3empty.py prev
bindsym $mod+Shift+z exec --no-startup-id $HOME/.local/bin/i3scripts/i3empty.py
# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
font pango:Inconsolata Nerd Font Mono 10
#font pango:monospace 8
# This font is widely installed, provides lots of unicode glyphs, right-to-left
# text rendering and scalability on retina/hidpi displays (thanks to pango).
#font pango:DejaVu Sans Mono 8
# Before i3 v4.8, we used to recommend this one as the default:
# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
# The font above is very space-efficient, that is, it looks good, sharp and
# clear in small sizes. However, its unicode glyph coverage is limited, the old
# X core fonts rendering does not support right-to-left and this being a bitmap
# font, it doesnt scale on retina/hidpi displays.
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# set default desktop layout (default is tiling)
# workspace_layout tabbed <stacking|tabbed>
# Configure border style <normal|1pixel|pixel xx|none|pixel>
default_border pixel 2
default_floating_border normal
# Hide borders
hide_edge_borders none
# start a terminal
# kill focused window
bindsym $mod+Shift+q kill
# start dmenu (a program launcher)
bindsym $mod+d exec dmenu_run
bindsym $mod+x exec rofi -show run
bindsym $mod+a exec rofi -show window
bindsym $mod+z exec rofi -show ssh
# There also is the (new) i3-dmenu-desktop which only displays applications
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
# installed.
# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
# change focus
bindsym $mod+j focus left
bindsym $mod+k focus down
bindsym $mod+l focus up
bindsym $mod+semicolon focus right
# alternatively, you can use the cursor keys:
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# move focused window
bindsym $mod+Shift+j move left
bindsym $mod+Shift+k move down
bindsym $mod+Shift+l move up
bindsym $mod+Shift+semicolon move right
# alternatively, you can use the cursor keys:
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# split in horizontal orientation
# bindsym $mod+h split h
# split in vertical orientation
# bindsym $mod+v split v
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
# change container layout (stacked, tabbed, toggle split)
# bindsym $mod+s layout stacking
# bindsym $mod+w layout tabbed
# bindsym $mod+e layout toggle split
# toggle tiling / floating
# bindsym $mod+Shift+space floating toggle
# change focus between tiling / floating windows
# bindsym $mod+space focus mode_toggle
# focus the parent container
#bindsym $mod+a focus parent
# focus the child container
#bindsym $mod+d focus child
# Define names for default workspaces for which we configure key bindings later on.
# We use variables to avoid repeating the names in multiple places.
set $ws1 "1"
set $ws2 "2"
set $ws3 "3"
set $ws4 "4"
set $ws5 "5"
set $ws6 "6"
set $ws7 "7"
set $ws8 "8"
set $ws9 "9"
set $ws10 "10"
# Custom named workspaces for keeping frequently used apps
# Numbers overwritten by Polybar i3 module config
set $ws99 99
set $ws98 98
set $ws97 97
set $ws96 96
set $ws95 95
set $ws94 94
# Custom named workspace keybinds
# To get keysymbols, run 'xmodmap -pke'
bindsym $mod+Ctrl+backslash move container to workspace $ws99
bindsym $mod+Ctrl+bracketright move container to workspace $ws98
bindsym $mod+Ctrl+apostrophe move container to workspace $ws97
bindsym $mod+Ctrl+slash move container to workspace $ws96
bindsym $mod+Ctrl+period move container to workspace $ws95
bindsym $mod+Ctrl+comma move container to workspace $ws94
# Move to workspace with focused container
bindsym $mod+Shift+backslash move container to workspace $ws99; workspace $ws99
bindsym $mod+Shift+bracketright move container to workspace $ws98; workspace $ws98
bindsym $mod+Shift+apostrophe move container to workspace $ws97; workspace $ws97
bindsym $mod+Shift+slash move container to workspace $ws96; workspace $ws96
bindsym $mod+Shift+period move container to workspace $ws95; workspace $ws95
bindsym $mod+Shift+comma move container to workspace $ws94; workspace $ws94
# Move to workspace
bindsym $mod+backslash workspace number $ws99
bindsym $mod+bracketright workspace number $ws98
bindsym $mod+apostrophe workspace number $ws97
bindsym $mod+slash workspace number $ws96
bindsym $mod+period workspace number $ws95
bindsym $mod+comma workspace number $ws94
# Switch to workspace
bindsym $mod+1 workspace $ws1
bindsym $mod+2 workspace $ws2
bindsym $mod+3 workspace $ws3
bindsym $mod+4 workspace $ws4
bindsym $mod+5 workspace $ws5
bindsym $mod+6 workspace $ws6
bindsym $mod+7 workspace $ws7
bindsym $mod+8 workspace $ws8
bindsym $mod+9 workspace $ws9
bindsym $mod+0 workspace $ws10
# move focused container to workspace
# bindsym $mod+Shift+1 move container to workspace $ws1
# bindsym $mod+Shift+2 move container to workspace $ws2
# bindsym $mod+Shift+3 move container to workspace $ws3
# bindsym $mod+Shift+4 move container to workspace $ws4
# bindsym $mod+Shift+5 move container to workspace $ws5
# bindsym $mod+Shift+6 move container to workspace $ws6
# bindsym $mod+Shift+7 move container to workspace $ws7
# bindsym $mod+Shift+8 move container to workspace $ws8
# bindsym $mod+Shift+9 move container to workspace $ws9
# bindsym $mod+Shift+0 move container to workspace $ws10
# Passing -n to urxvt forces Xorg to default the WM_ICON_NAME to tmux
# Only this instance of urxvt will have that WM_ICON_NAME
# Prevents for_window from acting on new terminals
# Passing -T to urxvt sets WM_NAME and WM_ICON_NAME, if not set in a later argument
# Use -T below to title the startup terminal and assign properties to it
# exec_always --no-startup-id i3-msg 'exec urxvt -T origin -hold -e htop'
# for_window [title="origin"] move to workspace number $ws95
# for_window [title="origin"] floating enable
# for_window [title="origin"] resize set height 700
# for_window [title="origin"] resize set width 1000
# for_window [title="origin"] move position center
bindsym $mod+Ctrl+a exec "pavucontrol"
for_window [class="Pavucontrol"] floating enable
for_window [class="Pavucontrol"] resize set height 400
for_window [class="Pavucontrol"] resize set width 600
for_window [class="Pavucontrol"] move position center
for_window [class="Yad"] floating enable
for_window [class="Yad"] resize set height 400
for_window [class="Yad"] resize set width 600
for_window [class="Bitwarden"] floating enable
for_window [class="Bitwarden"] resize set height 600
for_window [class="Bitwarden"] resize set width 800
for_window [class="Bitwarden"] move position center
for_window [class="Gpick"] floating enable
for_window [class="Gpick"] resize set height 500
for_window [class="Gpick"] resize set width 700
for_window [class="Gpick"] move position center
for_window [class="discord"] floating enable
for_window [class="discord"] resize set height 600
for_window [class="discord"] resize set width 800
for_window [class="discord"] move position center
for_window [class="Wicd-client.py"] floating enable
for_window [class="Wicd-client.py"] resize set height 400
for_window [class="Wicd-client.py"] resize set width 600
for_window [class="Wicd-client.py"] move position center
# reload the configuration file
bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
exec --no-startup-id yakuake
exec --no-startup-id xbindkeys --poll-rc
exec --no-startup-id $HOME/.local/bin/i3scripts/start_konky
exec --no-startup-id sh ~/.fehbg
exec --no-startup-id xautolock -time 10 -locker blurlock
exec --no-startup-id wicd-client -t
exec --no-startup-id xfce4-power-manager
exec --no-startup-id google-drive-ocamlfuse ~/gdrive
# Application keybinds
###########################################
bindsym $mod+Return exec konsole -e tmux
# start a terminal
# Uses $TERMINAL environment setting
# bindsym $mod+Return exec terminal
# Start / kill conky
bindsym $mod+t exec pkill compton
bindsym $mod+Shift+t exec compton
# Firefox
bindsym $mod+Shift+f exec firefox
# Bluetooth device settings
bindsym $mod+Ctrl+d exec blueman-manager
## Screenshot keybinds
###########################################
# Screenshot marquee tool
bindsym $mod+Shift+p --release exec --no-startup-id scrot -s
# Restart, reload, kill keybinds
###########################################
# Bind Mod+O to kill conky
bindsym $mod+o exec pkill conky
# Bind Mod+Shift+O to start conky
bindsym $mod+Shift+o exec $HOME/.local/bin/i3scripts/start_konky
# Bind Mod+P kill polybars
bindsym $mod+p exec pkill -f polybar
# Bind Mod+Shift+P to start polybars
bindsym $mod+Shift+p exec /home/kapper/.config/polybar/start-polybar.sh
# Workspace keybinds
###########################################
# Modify window borders
bindsym $mod+u border none
bindsym $mod+y border pixel 1
bindsym $mod+n border normal
# Move focused container to workspace
bindsym $mod+Ctrl+1 move container to workspace $ws1
bindsym $mod+Ctrl+2 move container to workspace $ws2
bindsym $mod+Ctrl+3 move container to workspace $ws3
bindsym $mod+Ctrl+4 move container to workspace $ws4
bindsym $mod+Ctrl+5 move container to workspace $ws5
bindsym $mod+Ctrl+6 move container to workspace $ws6
bindsym $mod+Ctrl+7 move container to workspace $ws7
bindsym $mod+Ctrl+8 move container to workspace $ws8
# Move to workspace with focused container
bindsym $mod+Shift+1 move container to workspace $ws1; workspace $ws1
bindsym $mod+Shift+2 move container to workspace $ws2; workspace $ws2
bindsym $mod+Shift+3 move container to workspace $ws3; workspace $ws3
bindsym $mod+Shift+4 move container to workspace $ws4; workspace $ws4
bindsym $mod+Shift+5 move container to workspace $ws5; workspace $ws5
bindsym $mod+Shift+6 move container to workspace $ws6; workspace $ws6
bindsym $mod+Shift+7 move container to workspace $ws7; workspace $ws7
bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8
#navigate workspaces next / previous
bindsym $mod+Ctrl+Right workspace next
bindsym $mod+Ctrl+Left workspace prev
# workspace back and forth (with/without active container)
workspace_auto_back_and_forth yes
# Bind to swap to previous / last workspace
bindsym $mod+Tab workspace back_and_forth
# Layout keybinds
###########################################
# Split orientation toggles
bindsym $mod+h split h;exec notify-send 'tile horizontally'
bindsym $mod+v split v;exec notify-send 'tile vertically'
bindsym $mod+q split toggle
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# move the currently focused window to the scratchpad
bindsym $mod+Shift+minus move scratchpad
# Show the next scratchpad window or hide the focused scratchpad window.
# If there are multiple scratchpad windows, this command cycles through them.
bindsym $mod+minus scratchpad show
# To remove a window from scratchpad, toggle floating
# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
# toggle sticky
bindsym $mod+Shift+s sticky toggle
# focus the parent container
#bindsym $mod+a focus parent
# resize window (you can also use the mouse for that)
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
# Pressing left will shrink the windows width.
# Pressing right will grow the windows width.
# Pressing up will shrink the windows height.
# Pressing down will grow the windows height.
bindsym j resize shrink width 10 px or 10 ppt
bindsym k resize grow height 10 px or 10 ppt
bindsym l resize shrink height 10 px or 10 ppt
bindsym semicolon resize grow width 10 px or 10 ppt
# same bindings, but for the arrow keys
bindsym Left resize shrink width 10 px or 10 ppt
bindsym Down resize grow height 10 px or 10 ppt
bindsym Up resize shrink height 10 px or 10 ppt
bindsym Right resize grow width 10 px or 10 ppt
# back to normal: Enter or Escape or $mod+r
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym $mod+r mode "default"
}
bindsym $mod+r mode "resize"
# Use polybar installed
exec_always --no-startup-id /home/kapper/.config/polybar/start-polybar.sh
exec_always --no-startup-id compton
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
#bar {
#
# status_command i3blocks
#}
# Theme colors
# class border backgr. text indic. child_border
client.focused #005F00 #005F00 #80FFF9 #AFD700
client.focused_inactive #2F3D44 #2F3D44 #1ABC9C #454948
client.unfocused #000000 #000000 #1ABC9C #000000
client.urgent #CB4B16 #FDF6E3 #1ABC9C #268BD2
client.placeholder #000000 #0c0c0c #ffffff #000000
client.background #000000
#################################################################
### Settings for i3-gaps #######################################
#################################################################
# Set inner/outer gaps default values
gaps inner 14
gaps outer -2
# Additionally, you can issue commands with the following syntax. This is useful to bind keys to changing the gap size.
# gaps inner|outer current|all set|plus|minus <px>
# gaps inner all set 10
# gaps outer all plus 5
# Smart gaps (gaps used if only more than one container on the workspace)
smart_gaps on
# Smart borders (draw borders around container only if it is not the only container on this workspace)
# on|no_gaps (on=always activate and no_gaps=only activate if the gap size to the edge of the screen is 0)
#smart_borders on
# Press $mod+Shift+g to enter the gap mode. Choose o or i for modifying outer/inner gaps. Press one of + / - (in-/decrement for current workspace) or 0 (remove gaps for current workspace). If you also press Shift with these keys, the change will be global for all workspaces.
set $mode_gaps Gaps: (o) outer, (i) inner
set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global)
set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global)
bindsym $mod+Shift+g mode "$mode_gaps"
mode "$mode_gaps" {
bindsym o mode "$mode_gaps_outer"
bindsym i mode "$mode_gaps_inner"
bindsym Return mode "default"
bindsym Escape mode "default"
}
mode "$mode_gaps_inner" {
bindsym plus gaps inner current plus 5
bindsym minus gaps inner current minus 5
bindsym 0 gaps inner current set 0
bindsym Shift+plus gaps inner all plus 5
bindsym Shift+minus gaps inner all minus 5
bindsym Shift+0 gaps inner all set 0
bindsym Return mode "default"
bindsym Escape mode "default"
}
mode "$mode_gaps_outer" {
bindsym plus gaps outer current plus 5
bindsym minus gaps outer current minus 5
bindsym 0 gaps outer current set 0
bindsym Shift+plus gaps outer all plus 5
bindsym Shift+minus gaps outer all minus 5
bindsym Shift+0 gaps outer all set 0
bindsym Return mode "default"
bindsym Escape mode "default"
}

View File

@ -1,182 +0,0 @@
# i3blocks config file
#
# Please see man i3blocks for a complete reference!
# The man page is also hosted at http://vivien.github.io/i3blocks
#
# List of valid properties:
#
# align
# color
# command
# full_text
# instance
# interval
# label
# min_width
# name
# separator
# separator_block_width
# short_text
# signal
# urgent
# Global properties
#
# The top properties below are applied to every block, but can be overridden.
# Each block command defaults to the script name to avoid boilerplate.
command=/usr/share/i3blocks/$BLOCK_NAME
separator_block_width=20
markup=none
[weather]
command=sh $HOME/.local/bin/i3scripts/weathermap
align=right
color=#ffaf00
interval=1800
[wicd-wifi]
#label=
command=sudo pkill wicd-client && wicd-client -t
interval=once
# Volume indicator
#
# The first parameter sets the step (and units to display)
# The second parameter overrides the mixer selection
# See the script for details.
[volume]
# DEPENDS: sudo apt install volumeicon-alsa
#label=VOL
#label=♪
#instance=Master
#instance=PCM
command=volumeicon
interval=once
#signal=10
# Memory usage
#
# The type defaults to "mem" if the instance is not specified.
[memory]
label=MEM
separator=false
interval=30
[memory]
label=SWAP
instance=swap
separator=true
interval=30
# CPU usage
#
# The script may be called with -w and -c switches to specify thresholds,
# see the script for details.
[cpu_usage]
label=CPU
interval=10
min_width=CPU: 100.00%
separator=false
[load_average]
interval=10
# Disk usage
#
# The directory defaults to $HOME if the instance is not specified.
# The script may be called with a optional argument to set the alert
# (defaults to 10 for 10%).
[disk]
label=HOME
#instance=/mnt/data
interval=30
# Network interface monitoring
#
# If the instance is not specified, use the interface used for default route.
# The address can be forced to IPv4 or IPv6 with -4 or -6 switches.
[iface]
#instance=wlan0
color=#00FF00
interval=10
separator=false
[public-ip]
command=wget -qO - ifconfig.me
interval=60
[wifi]
#instance=wlp3s0
interval=10
separator=false
[bandwidth]
#instance=eth0
interval=5
[backlight]
label=BRI
command=xbacklight
separator=true
interval=1
# Battery indicator
#
# The battery instance defaults to 0.
[battery]
label=BAT
#label=⚡
#instance=1
interval=30
# Date Time
#
[time]
command=date '+%Y-%m-%d %H:%M:%S'
interval=5
# Generic media player support
#
# This displays "ARTIST - SONG" if a music is playing.
# Supported players are: spotify, vlc, audacious, xmms2, mplayer, and others.
#[mediaplayer]
#instance=spotify
#interval=5
#signal=10
# OpenVPN support
#
# Support multiple VPN, with colors.
#[openvpn]
#interval=20
# Temperature
#
# Support multiple chips, though lm-sensors.
# The script may be called with -w and -c switches to specify thresholds,
# see the script for details.
#[temperature]
#label=TEMP
#interval=10
# Key indicators
#
# Add the following bindings to i3 config file:
#
# bindsym --release Caps_Lock exec pkill -SIGRTMIN+11 i3blocks
# bindsym --release Num_Lock exec pkill -SIGRTMIN+11 i3blocks
#[keyindicator]
#instance=CAPS
#interval=once
#signal=11
#[keyindicator]
#instance=NUM
#interval=once
#signal=11

View File

@ -1,175 +0,0 @@
#!/bin/bash
# Displays the default device, volume, and mute status for i3blocks
set -a
AUDIO_HIGH_SYMBOL=${AUDIO_HIGH_SYMBOL:-' '}
AUDIO_MED_THRESH=${AUDIO_MED_THRESH:-50}
AUDIO_MED_SYMBOL=${AUDIO_MED_SYMBOL:-' '}
AUDIO_LOW_THRESH=${AUDIO_LOW_THRESH:-0}
AUDIO_LOW_SYMBOL=${AUDIO_LOW_SYMBOL:-' '}
AUDIO_MUTED_SYMBOL=${AUDIO_MUTED_SYMBOL:-' '}
AUDIO_DELTA=${AUDIO_DELTA:-5}
DEFAULT_COLOR=${DEFAULT_COLOR:-"#ffffff"}
MUTED_COLOR=${MUTED_COLOR:-"#a0a0a0"}
LONG_FORMAT=${LONG_FORMAT:-'${SYMB} ${VOL}% [${INDEX}:${NAME}]'}
SHORT_FORMAT=${SHORT_FORMAT:-'${SYMB} ${VOL}% [${INDEX}]'}
USE_ALSA_NAME=${USE_ALSA_NAME:-0}
USE_DESCRIPTION=${USE_DESCRIPTION:-0}
SUBSCRIBE=${SUBSCRIBE:-0}
MIXER=${MIXER:-""}
SCONTROL=${SCONTROL:-""}
while getopts F:Sf:adH:M:L:X:T:t:C:c:i:m:s:h opt; do
case "$opt" in
S) SUBSCRIBE=1 ;;
F) LONG_FORMAT="$OPTARG" ;;
f) SHORT_FORMAT="$OPTARG" ;;
a) USE_ALSA_NAME=1 ;;
d) USE_DESCRIPTION=1 ;;
H) AUDIO_HIGH_SYMBOL="$OPTARG" ;;
M) AUDIO_MED_SYMBOL="$OPTARG" ;;
L) AUDIO_LOW_SYMBOL="$OPTARG" ;;
X) AUDIO_MUTED_SYMBOL="$OPTARG" ;;
T) AUDIO_MED_THRESH="$OPTARG" ;;
t) AUDIO_LOW_THRESH="$OPTARG" ;;
C) DEFAULT_COLOR="$OPTARG" ;;
c) MUTED_COLOR="$OPTARG" ;;
i) AUDIO_INTERVAL="$OPTARG" ;;
m) MIXER="$OPTARG" ;;
s) SCONTROL="$OPTARG" ;;
h) printf \
"Usage: volume-pulseaudio [-S] [-F format] [-f format] [-p] [-a|-d] [-H symb] [-M symb]
[-L symb] [-X symb] [-T thresh] [-t thresh] [-C color] [-c color] [-i inter]
[-m mixer] [-s scontrol] [-h]
Options:
-F, -f\tOutput format (-F long format, -f short format) to use, with exposed variables:
\${SYMB}, \${VOL}, \${INDEX}, \${NAME}
-S\tSubscribe to volume events (requires persistent block, always uses long format)
-a\tUse ALSA name if possible
-d\tUse device description instead of name if possible
-H\tSymbol to use when audio level is high. Default: '$AUDIO_HIGH_SYMBOL'
-M\tSymbol to use when audio level is medium. Default: '$AUDIO_MED_SYMBOL'
-L\tSymbol to use when audio level is low. Default: '$AUDIO_LOW_SYMBOL'
-X\tSymbol to use when audio is muted. Default: '$AUDIO_MUTED_SYMBOL'
-T\tThreshold for medium audio level. Default: $AUDIO_MED_THRESH
-t\tThreshold for low audio level. Default: $AUDIO_LOW_THRESH
-C\tColor for non-muted audio. Default: $DEFAULT_COLOR
-c\tColor for muted audio. Default: $MUTED_COLOR
-i\tInterval size of volume increase/decrease. Default: $AUDIO_DELTA
-m\tUse the given mixer.
-s\tUse the given scontrol.
-h\tShow this help text
" && exit 0;;
esac
done
if [[ -z "$MIXER" ]] ; then
MIXER="default"
if amixer -D pulse info >/dev/null 2>&1 ; then
MIXER="pulse"
fi
fi
if [[ -z "$SCONTROL" ]] ; then
SCONTROL=$(amixer -D "$MIXER" scontrols | sed -n "s/Simple mixer control '\([^']*\)',0/\1/p" | head -n1)
fi
CAPABILITY=$(amixer -D $MIXER get $SCONTROL | sed -n "s/ Capabilities:.*cvolume.*/Capture/p")
function move_sinks_to_new_default {
DEFAULT_SINK=$1
pacmd list-sink-inputs | grep index: | grep -o '[0-9]\+' | while read SINK
do
pacmd move-sink-input $SINK $DEFAULT_SINK
done
}
function set_default_playback_device_next {
inc=${1:-1}
num_devices=$(pacmd list-sinks | grep -c index:)
sink_arr=($(pacmd list-sinks | grep index: | grep -o '[0-9]\+'))
default_sink_index=$(( $(pacmd list-sinks | grep index: | grep -no '*' | grep -o '^[0-9]\+') - 1 ))
default_sink_index=$(( ($default_sink_index + $num_devices + $inc) % $num_devices ))
default_sink=${sink_arr[$default_sink_index]}
pacmd set-default-sink $default_sink
move_sinks_to_new_default $default_sink
}
case "$BLOCK_BUTTON" in
1) set_default_playback_device_next ;;
2) amixer -q -D $MIXER sset $SCONTROL $CAPABILITY toggle ;;
3) set_default_playback_device_next -1 ;;
4) amixer -q -D $MIXER sset $SCONTROL $CAPABILITY $AUDIO_DELTA%+ ;;
5) amixer -q -D $MIXER sset $SCONTROL $CAPABILITY $AUDIO_DELTA%- ;;
esac
function print_format {
echo "$1" | envsubst '${SYMB}${VOL}${INDEX}${NAME}'
}
function print_block {
ACTIVE=$(pacmd list-sinks | grep "state\: RUNNING" -B4 -A7 | grep "index:\|name:\|volume: front\|muted:")
[ -z "$ACTIVE" ] && ACTIVE=$(pacmd list-sinks | grep "index:\|name:\|volume: front\|muted:" | grep -A3 '*')
for name in INDEX NAME VOL MUTED; do
read $name
done < <(echo "$ACTIVE")
INDEX=$(echo "$INDEX" | grep -o '[0-9]\+')
VOL=$(echo "$VOL" | grep -o "[0-9]*%" | head -1 )
VOL="${VOL%?}"
NAME=$(echo "$NAME" | sed \
's/.*<.*\.\(.*\)>.*/\1/; t;'\
's/.*<\(.*\)>.*/\1/; t;'\
's/.*/unknown/')
if [[ $USE_ALSA_NAME == 1 ]] ; then
ALSA_NAME=$(pacmd list-sinks |\
awk '/^\s*\*/{f=1}/^\s*index:/{f=0}f' |\
grep "alsa.name\|alsa.mixer_name" |\
head -n1 |\
sed 's/.*= "\(.*\)".*/\1/')
NAME=${ALSA_NAME:-$NAME}
elif [[ $USE_DESCRIPTION == 1 ]] ; then
DESCRIPTION=$(pacmd list-sinks |\
awk '/^\s*\*/{f=1}/^\s*index:/{f=0}f' |\
grep "device.description" |\
head -n1 |\
sed 's/.*= "\(.*\)".*/\1/')
NAME=${DESCRIPTION:-$NAME}
fi
if [[ $MUTED =~ "no" ]] ; then
SYMB=$AUDIO_HIGH_SYMBOL
[[ $VOL -le $AUDIO_MED_THRESH ]] && SYMB=$AUDIO_MED_SYMBOL
[[ $VOL -le $AUDIO_LOW_THRESH ]] && SYMB=$AUDIO_LOW_SYMBOL
COLOR=$DEFAULT_COLOR
else
SYMB=$AUDIO_MUTED_SYMBOL
COLOR=$MUTED_COLOR
fi
if [[ $SUBSCRIBE == 1 ]] ; then
print_format "$LONG_FORMAT"
else
print_format "$LONG_FORMAT"
print_format "$SHORT_FORMAT"
echo "$COLOR"
fi
}
print_block
if [[ $SUBSCRIBE == 1 ]] ; then
while read -r EVENT; do
print_block
done < <(pactl subscribe | stdbuf -oL grep change)
fi

View File

@ -1,74 +0,0 @@
# i3status configuration file.
# see "man i3status" for documentation.
# It is important that this file is edited as UTF-8.
# The following line should contain a sharp s:
# ß
# If the above line is not correctly displayed, fix your editor first!
general {
colors = true
interval = 5
}
# order += "read_file BRIGHTNESS"
order += "memory"
order += "cpu_usage"
order += "volume master"
order += "ipv6"
order += "disk /"
order += "wireless _first_"
order += "ethernet _first_"
order += "battery all"
order += "load"
order += "tztime local"
# read_file BRIGHTNESS {
# format = "BRI %content"
# path = "/home/kapper/.config/.brightness"
# max_characters = 5
# }
memory 0{
format = "%free %available%"
}
volume master {
format = "♪: %volume"
format_muted = "♪: muted (%volume)"
}
cpu_usage {
format = "CPU %usage {%cpu0 %cpu1}"
max_threshold = 75
}
wireless _first_ {
format_up = "W: (%quality at %essid) %ip"
format_down = "W: down"
}
ethernet _first_ {
# if you use %speed, i3status requires root privileges
format_up = "E: %ip (%speed)"
format_down = "E: down"
}
battery all {
format = "%status %percentage %remaining"
}
tztime local {
format = "%Y-%m-%d %H:%M:%S"
}
load {
format = "%1min"
}
disk "/" {
format = "%avail"
}

View File

@ -1,20 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIDVzCCAj+gAwIBAgIBCjANBgkqhkiG9w0BAQUFADBVMS8wLQYDVQQDDCZfNGNh
MDc5ZDlfMDIyNl80ODFmX2JiMDhfMDBhN2M5OGJiMmViXzEMMAoGA1UECgwDS0RF
MRQwEgYDVQQLDAtLZGUgY29ubmVjdDAeFw0xOTAxMTkxODUyNDFaFw0yOTAxMTkx
ODUyNDFaMFUxLzAtBgNVBAMMJl80Y2EwNzlkOV8wMjI2XzQ4MWZfYmIwOF8wMGE3
Yzk4YmIyZWJfMQwwCgYDVQQKDANLREUxFDASBgNVBAsMC0tkZSBjb25uZWN0MIIB
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsPH1W71vs9HWDMdoSShA/qqu
l5ZnyqaIiDPZDbjMx0/nQEGVFXJN7BpSkB2hoazESIVRdvftijqkJwq76G91vxkO
ieOFm1N/AZj41NDeBtiG4enwSWHBGwhVBfBMrzi6u953+8QTKL+zbOpj1744goVW
BkWiACGtk2Xj3ANlt+p35WRLSXp5GYgvElU3b5+Ndivc1F+itf+2de9GaW9gLjdl
XGquxyHFcZb9ncB2hODQe2bkg/+fAoVP39Scqh2H8FFxttBonzhvZAyd413db6bD
bWzXkxr2+I8SFOWy66VodY18Q71QgXx+g7EWXlKIevpNNU6YBKhkJ26klJZRXQID
AQABozIwMDAdBgNVHQ4EFgQUlXrEWWSnymjhIQ8X0Ox14FFE6H0wDwYDVR0TAQH/
BAUwAwIBADANBgkqhkiG9w0BAQUFAAOCAQEAIBJA0Qlxv9TKr21/syW4icUXBCcL
YYDQ8Z688tMs5sqxyK/lCWXS7XZWxw2da+9fbvPNVDdNDZBTktVyAgu1Ch9gaNjj
lgqThfD0PlsRFqv6pEHa4bznNwhBvGPbA5bqYGfsNUm8QhdGirgf7mf1+LC6ie7R
wLp+RpF5qT1Io0WZrEU5pPOQhBbj4HDtZWKdQODOetIB8ZKJXBm4HhMT7JwtlYBw
uCoz2zPIZBVnICnjfar/8wsABQE6D14NAZtU+Z12WRAf5CnVydp9sz1XAYpxM9Rb
Sd7rVMTBfoptjCcJdxgvZ+7SF2fNJLFUkODTD0ZXmakLW+FSCQ871xF1xg==
-----END CERTIFICATE-----

View File

@ -1,28 +0,0 @@
-----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCw8fVbvW+z0dYM
x2hJKED+qq6XlmfKpoiIM9kNuMzHT+dAQZUVck3sGlKQHaGhrMRIhVF29+2KOqQn
Crvob3W/GQ6J44WbU38BmPjU0N4G2Ibh6fBJYcEbCFUF8EyvOLq73nf7xBMov7Ns
6mPXvjiChVYGRaIAIa2TZePcA2W36nflZEtJenkZiC8SVTdvn412K9zUX6K1/7Z1
70Zpb2AuN2Vcaq7HIcVxlv2dwHaE4NB7ZuSD/58ChU/f1JyqHYfwUXG20GifOG9k
DJ3jXd1vpsNtbNeTGvb4jxIU5bLrpWh1jXxDvVCBfH6DsRZeUoh6+k01TpgEqGQn
bqSUllFdAgMBAAECggEAar/umIQ3CbNEgb0jy07/tyRd5JIW2AmUQSeWgVLGKFCq
YPev65pkLFbNDKjzxEgout/DgBSfOE+cjPlK2DW2Qa3qOYIMLuM2sk4JgMrpyBOF
fHHYR000ZQynzsdkXCnLbmAO3tMyA9lzc/gMeDIIgaXTekE0NQQcZdqIl0ltaoCG
CFCd17pHDmvPJlVsx46+4C+NayxHI5vJboT+KoIaEWDBbzUN5IADktbzSOBlrYRN
u4a1pwpmgyrYeKnEmUkFnR1seNLBjJJdVPAntHoRFojy/5z7AuvDsrpGB6KW2y8m
P0hxDodNhFp7dkA9TvOTJ+be7QOlZgVCQsjPONNCgQKBgQDqZX44RfbpF3LqNhef
bOGegrjOuKi9v29pT2dB7gQZ+YaqEriPmYwRACf8MORxz2dIXJYWi2r0CexA/JQF
z6r3pkDvVboRSvGQRsvo0uRf/jSxzIvkPDXsZF+SSI4yJKJkVhU9NWpue8vc0UDM
ir7zxF7Y7fyeej6J56or/X+hrQKBgQDBQOu4IaWTcr0ccZwyNTJO8KmZ64fzP0uf
gf3KFTGD8+X5lqbjLDMlLS+d22zHLFAjBjIWSHQNAIpFp5RC3lkIwhz7frU624J9
8fqHh5K+lqmS39pDt9Ey1fuDxjnBM/TaW5cQZ8ObzIfUKCBQkMOSQZuUDr1m1lHQ
+heEP0ZEcQKBgQC8TFxhiJMaHaRLUrkXcbiuRgWAzAeCp08xIoCpDjRtSW9NIUzy
zz8eSSnWBtD+PMeT8g0Af2+kLHSGoGGpaXLHD+AKZKvdSH9WkAkvOHwOQYDDdLbM
2zHWfavpMDBLR/LM9/qH+WlO6FSVR+TubGeKHK61RjoydbHXxyuFu1fU4QKBgQC1
v1uw0RwKPtdx37sZUQReT2ICGwvBjd6ORc+r9SCbS48Wm0Oa1N/I7+UfXdTAwIEh
X1tNr5hM/hwMhB0ggkJTxVNChxjkILtpvWBzg+JTkhgqxJJeK4r4d1xSwuNgO3/k
uEyrJhtF9CYuNgqmGm+DpmYt6WrhQ2Cw2/Ov8V4hUQKBgQCQOejrO+dMX4UNg2qz
9/4eJo5lhs8sMwNjlVBv7yst6KwtolGwsjl6Z1fqc6XdKreikfZHiMZxORTwAZTr
UWzJDtTGupQsZbeUQA1cP+YuA0zLEnuxJ4pIt+2b7caU/90rifDSR8Fhf4K4S2TN
4UfA1hP8hxMbGt7Uv1DVb7mJRQ==
-----END PRIVATE KEY-----

View File

@ -1,4 +0,0 @@
[13b9d56df4c8815b]
certificate="-----BEGIN CERTIFICATE-----\nMIIC9zCCAd+gAwIBAgIBATANBgkqhkiG9w0BAQsFADA/MRkwFwYDVQQDDBAxM2I5\nZDU2ZGY0Yzg4MTViMRQwEgYDVQQLDAtLREUgQ29ubmVjdDEMMAoGA1UECgwDS0RF\nMB4XDTE4MDgxMDA1NTA0OFoXDTI4MDgxMDA1NTA0OFowPzEZMBcGA1UEAwwQMTNi\nOWQ1NmRmNGM4ODE1YjEUMBIGA1UECwwLS0RFIENvbm5lY3QxDDAKBgNVBAoMA0tE\nRTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKYE7EQ8NwTGeoJTCXKI\nsRdKUA642TDL4vprIKSRGlV5bKnOd50ZtU5Kl0ZBDef5Wmx1q8wbocyKA7qbsXLX\nZZbWt8yxOn+sH0OCFZWp4KjzPpI6av/pqOJ8Ul4EKD7I5i6rwRfLhIR75i9Kgu30\nTzjbpHITn6JPTNbdoTfLgd+DM1ctAWPFKnqX6lTPcRNLk3uIGiL++MBx/BMuuUA4\nzXAeZlYHel0CkmaJWC4mAlrqEbFGwrVqipCzBh7HSfmIcE7vpUZVwDvohYoHzIzy\nQzooQjPyJ3AxK71zQuBgFbvubFq+kiaZ+Kj0WAv02Kb1EbSIrAAgWptu8sIqgrlB\nmmECAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAEXquszMrqgKt/dj72NBwDaoWbnhd\n2mMdY4WRUcSfI3klISJZuf6JC/lq5bAt0uiTaXb0ZYgNQmDREpGiupWp+lf56wEY\nExz2WG/bfOqRFBgpvPfXeqtksc6RdHY7HWn8DjUea6ipaoc1yQZ8rlHX+Y60klVY\nnj4y4FXq2wR7sBwjL2v0L3Z8XKxoDICcemKBBZhtSQEPMMBPQ+kfVNUyE9xh8gdj\nzcgFdxKXDNHYKJ/R1Q5c9HNQ03zG5u8+JwTtZIymTo8cB06v1i7UdbVe1p7ZbrHr\nQfeuKL2K1egGdlzMK/BjjC2vld4sdqrUHiEAySw+MOddqZCCfkzi3JjAng==\n-----END CERTIFICATE-----\n"
name=KapperDroid
type=smartphone

View File

@ -1,2 +0,0 @@
[KShortcutsDialog Settings]
Dialog Size=600,480

View File

@ -1,3 +0,0 @@
[yakuake]
_k_friendly_name=Yakuake
toggle-window-state=F4,F12,Open/Retract Yakuake

View File

@ -1,15 +0,0 @@
[Desktop Entry]
DefaultProfile=Default Powerline.profile
[Favorite Profiles]
Favorites=Default Powerline.profile
[KonsoleWindow]
ShowMenuBarByDefault=false
[MainWindow]
Height 768=719
MenuBar=Disabled
State=AAAA/wAAAAD9AAAAAAAAApQAAAKjAAAABAAAAAQAAAAIAAAACPwAAAAA
ToolBarsMovable=Disabled
Width 1366=679

View File

@ -1,3 +0,0 @@
[Default Applications]
x-scheme-handler/jetbrains=jetbrains-toolbox.desktop

View File

@ -1,7 +0,0 @@
[window]
width=1366
height=749
sinkInputType=0
sourceOutputType=1
sinkType=0
sourceType=0

View File

@ -1,692 +0,0 @@
; Polybars
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[bar/top]
; Polybar Position
monitor = ${env:MONITOR}
width = 100%
height = 25
; Polybar Color
; Depreciated..
;tray-transparent = true
; Transparent adds 2 leading values to color (2+hex)
background = #00000000
; Opaque is hex color (hex)
foreground = #00c24a
line-color = ${bar/bottom.background}
line-size = 16
spacing = 2
tray-background = #00111111
; Polybar Padding
padding-left = 0
padding-right = 5
; Margin Between Modules
module-margin = 2
; Type font
font-0 = NotoSans-Regular:size=8;0
font-1 = Inconsolata Nerd Font:size=12;0
font-2 = Noto Sans Mono:size=8;0
; Modules
modules-left = powermenu weather
modules-center = ki3
modules-right = volume date
; Set the cursor to display pointer / resize is interaction available
cursor-click = pointer
cursor-scroll = ns-resize
[bar/bottom]
; Position, size of polybar
monitor = ${env:MONITOR}
bottom = true
width = 100%
height = 20
; Use top bar colors
background = ${bar/top.background}
foreground = ${bar/top.foreground}
line-color = ${bar/top.background}
line-size = 2
spacing = 3
; Polybar padding
padding-left = 6
padding-right = 6
; Margins between modules
module-margin-left = 1
module-margin-right = 2
; Font settings, order matters
; Top font takes priority over following
;font-0 = Source Code Pro:size=10;0
font-0 = NotoSans-Regular:size=8;1
font-1 = Inconsolata Nerd Font:size=12;3
font-2 = Noto Sans Mono:size=8;0
; Modules
modules-left = temp-cpu cpu memory
modules-center = popup-utc network public-ip filesystem
modules-right = vpn battery
; Set the cursor to display pointer / resize is interaction available
cursor-click = pointer
cursor-scroll = ns-resize
; Modules
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; VPN Status
;;;;;;;;;;;;;;;;;;;;;;;;;;
[module/vpn]
type = custom/script
exec = mullvad status | awk '{print "VPN: "$3}'
interval = 10
; Pop-up Calendar
;;;;;;;;;;;;;;;;;;;;;;;;;;
[module/popup-utc]
type = custom/script
exec = ~/.local/bin/i3scripts/popup-calendar
interval = 5
click-left = ~/.local/bin/i3scripts/popup-calendar --popup
click-right = ~/.local/bin/i3scripts/popup-calendar-local
; Local Date
;;;;;;;;;;;;;;;;;;;;;;;;;;
[module/date]
type = internal/date
date = %%{F#aaa}%Y-%m-%d%%{F-} %%{F#fff}%H:%M%%{F-}
date-alt = %%{F#aaa}%A, %d %B %Y %%{F#fff}%H:%M%%{F#666}:%%{F#fba922}%S%%{F-}
click-right = exec notify-send hi
; Weather
;;;;;;;;;;;;;;;;;;;;;;;;;;
[module/weather]
type = custom/script
exec = ~/.local/bin/i3scripts/weathermap
interval = 600
;label-font = Font Awesome 5 Free Solid:size=40;0
; Type Speed
;;;;;;;;;;;;;;;;;;;;;;;;;;
[module/info-hackspeed]
type = custom/script
exec = ~/.local/bin/i3scripts/info-hackspeed
tail = true
; Polybar Break Timer
[module/breaktimer]
type = custom/script
format-prefix = " "
;format-foreground = ${colors.verdeclaro}
exec = polybar-break-timer $HOME/.config/polybar/.env/break-timer
click-left = echo left >> $HOME/.config/polybar/.env/break-timer
click-middle = echo middle >> $HOME/.config/polybar/.env/break-timer
click-right = echo right >> $HOME/.config/polybar/.env/break-timer
scroll-up = echo scrollUp >> $HOME/.config/polybar/.env/break-timer
scroll-down = echo scrollDown >> $HOME/.config/polybar/.env/break-timer
tail = true
; System Idle Time
;;;;;;;;;;;;;;;;;;;;;;;;;;
[module/info-idle]
type = custom/script
exec = ~/.local/bin/i3scripts/info-idle
tail = true
; Disk Space
;;;;;;;;;;;;;;;;;;;;;;;;;;
[module/filesystem]
type = internal/fs
; Mountpoints to display
mount-0 = /
;mount-1 = /home
;mount-2 = /var
; Seconds to sleep between updates
; Default: 30
interval = 10
; Display fixed precision values
; Default: false
fixed-values = true
;Available tags:
; <label-mounted> (default)
; <bar-free>
; <bar-used>
; <ramp-capacity>
format-mounted = <label-mounted>
; Available tokens:
; %mountpoint%
; %type%
; %fsname%
; %percentage_free%
; %percentage_used%
; %total%
; %free%
; %used%
; Default: %mountpoint% %percentage_free%%
label-mounted = %mountpoint% %free%
; Spacing between entries
; Default: 2
spacing = 4
; Network Status
;;;;;;;;;;;;;;;;;;;;;;;;;;
[module/network]
type = internal/network
interface = enp0s31f6
; Available tags:
; <label-connected> (default)
; <ramp-signal>
format-connected = <label-connected>
; Available tags:
; <label-disconnected> (default)
format-disconnected = <label-disconnected>
; Available tags:
; <label-connected> (default)
; <label-packetloss>
; <animation-packetloss>
format-packetloss = <animation-packetloss> <label-connected>
; Default: %ifname% %local_ip%
label-connected =  %upspeed% /  %downspeed:9% 龍 %linkspeed% %local_ip%
label-connected-foreground =#00c24a
; Default: (none)
label-disconnected = not connected
label-disconnected-foreground = #d00
; Default: (none)
;label-packetloss = %essid%
;label-packetloss-foreground = #eefafafa
; Only applies if <ramp-signal> is used
;ramp-signal-0 = 😱
;ramp-signal-1 = 😠
;ramp-signal-2 = 😒
;ramp-signal-3 = 😊
;ramp-signal-4 = 😃
;ramp-signal-5 = 😈
; Only applies if <animation-packetloss> is used
;animation-packetloss-0 = ⚠
;animation-packetloss-0-foreground = #ffa64c
;animation-packetloss-1 = 📶
;animation-packetloss-1-foreground = #000000
; Framerate in milliseconds
;animation-packetloss-framerate = 500
; Seconds to sleep between updates
; Default: 1
interval = 5.0
; Test connectivity every Nth update
; A value of 0 disables the feature
; NOTE: Experimental (needs more testing)
; Default: 0
;ping-interval = 3
; @deprecated: Define min width using token specifiers (%downspeed:min% and %upspeed:min%)
; Minimum output width of upload/download rate
; Default: 3
udspeed-minwidth = 5
; Accumulate values from all interfaces
; when querying for up/downspeed rate
; Default: false
accumulate-stats = true
; Consider an `UNKNOWN` interface state as up.
; Some devices like USB network adapters have
; an unknown state, even when they're running
; Default: false
unknown-as-up = true
; Show Public IP
;;;;;;;;;;;;;;;;;;;;;;;;;;
[module/public-ip]
type = custom/script
exec = curl -s ifconfig.me
interval = 600
; CPU Temp
;;;;;;;;;;;;;;;;;;;;;;;;;;
[module/temp-cpu]
type = custom/script
; Seconds to sleep between updates
; Default: 1
interval = 5.0
; Full path of temperature sysfs path
; Use `sensors` to find preferred temperature source, then run
; $ for i in /sys/class/hwmon/hwmon*/temp*_input; do echo "$(<$(dirname $i)/name): $(cat ${i%_*}_label 2>/dev/null || echo $(basename ${i%_*})) $(readlink -f $i)"; done
; to find path to desired file
; Default reverts to thermal zone setting
exec = cat /sys/class/thermal/thermal_zone2/temp | awk '{print ( ( ( (9/5) * $1) / 1000) + 32) "°F" }'
format = <label>
tail = true
label = CPU: %output%
; GPU Temp
;;;;;;;;;;;;;;;;;;;;;;;;;;
[module/temp-gpu]
type = internal/temperature
; Seconds to sleep between updates
; Default: 1
interval = 5.0
; Thermal zone to use
; To list all the zone types, run
; $ for i in /sys/class/thermal/thermal_zone*; do echo "$i: $(<$i/type)"; done
; Default: 0
thermal-zone = 2
; Full path of temperature sysfs path
; Use `sensors` to find preferred temperature source, then run
; $ for i in /sys/class/hwmon/hwmon*/temp*_input; do echo "$(<$(dirname $i)/name): $(cat ${i%_*}_label 2>/dev/null || echo $(basename ${i%_*})) $(readlink -f $i)"; done
; to find path to desired file
; Default reverts to thermal zone setting
hwmon-path = /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/hwmon/hwmon3/temp1_input
; Base temperature for where to start the ramp (in degrees celsius)
; Default: 0
base-temperature = 20
; Threshold temperature to display warning label (in degrees celsius)
; Default: 80
warn-temperature = 60
; Available tokens:
; %temperature% (deprecated)
; %temperature-c% (default, temperature in °C)
; %temperature-f% (temperature in °F)
label = ﲅ %temperature-f%
; Available tokens:
; %temperature% (deprecated)
; %temperature-c% (default, temperature in °C)
; %temperature-f% (temperature in °F)
label-warn = %temperature-f%
label-warn-foreground = #f00
; Keyboard Status
; Locale, Caps, Numlock
;;;;;;;;;;;;;;;;;;;;;;;;;;
[module/keyboard]
type = internal/xkeyboard
; List of indicators to ignore
blacklist-1 = scroll lock
label-indicator-on-capslock = Caps 
label-indicator-off-capslock =
label-indicator-on-numlock = Num 
label-indicator-off-numlock =
format = <label-indicator> <label-layout>
; layout-icon-[0-9]+ = layout;icon
; Assign each layout an icon that will be available as %icon% token for the
; <label-layout> tag. The part before ';' will try to match %layout% value.
label-layout = %name% %icon%
;layout-icon-default = 
;layout-icon-1 = us;
; System Menus
;;;;;;;;;;;;;;;;;;;;;;;;;;
[module/powermenu]
type = custom/menu
format-padding = 0
format = <label-toggle> <menu>
label-open = " "
label-close = " "
menu-0-0 = "  pkill poly "
menu-0-0-foreground = #fba922
menu-0-0-exec = pkill -f polybar
menu-0-1 = " i3 restart "
menu-0-1-foreground = #fba922
;menu-0-1-background = #141414
menu-0-1-exec = i3 restart
menu-0-2 = " Reboot "
menu-0-2-foreground = #fba922
menu-0-2-exec = sudo reboot
menu-0-3 = " Power off "
menu-0-3-foreground = #fba922
menu-0-3-exec = sudo poweroff
menu-0-4 = " Lock "
menu-0-4-foreground = #fba922
menu-0-4-exec = i3lock -c 000000
; Pseudo-Caffeine
;;;;;;;;;;;;;;;;;;;;;;;;;;
[module/caffeine]
type = custom/menu
format = <menu> <label-toggle>
label-open = "  "
label-close = "  "
label-open-padding = 0
label-close-padding = 1
label-separator = " "
menu-0-0 = " ON "
menu-0-0-exec = sh /home/kapper/.local/bin/i3scripts/xoffee disable
menu-0-1 = " OFF "
menu-0-1-exec = sh /home/kapper/.local/bin/i3scripts/xoffee enable
; CPU Core Usages
;;;;;;;;;;;;;;;;;;;;;;;;;;
[module/cpu]
type = internal/cpu
interval = 5
format = <ramp-coreload> <label>
label = %percentage-cores%
ramp-coreload-0 = ▁
ramp-coreload-0-font = 2
ramp-coreload-0-foreground = #aaff77
ramp-coreload-1 = ▂
ramp-coreload-1-font = 2
ramp-coreload-1-foreground = #aaff77
ramp-coreload-2 = ▃
ramp-coreload-2-font = 2
ramp-coreload-2-foreground = #aaff77
ramp-coreload-3 = ▄
ramp-coreload-3-font = 2
ramp-coreload-3-foreground = #aaff77
ramp-coreload-4 = ▅
ramp-coreload-4-font = 2
ramp-coreload-4-foreground = #fba922
ramp-coreload-5 = ▆
ramp-coreload-5-font = 2
ramp-coreload-5-foreground = #fba922
ramp-coreload-6 = ▇
ramp-coreload-6-font = 2
ramp-coreload-6-foreground = #ff5555
ramp-coreload-7 = █
ramp-coreload-7-font = 2
ramp-coreload-7-foreground = #ff5555
; UTC Date / Time
;;;;;;;;;;;;;;;;;;;;;;;;;;
[module/clock-utc]
type = custom/script
exec = TZ=UTC date +"UTC: %%{F#999}%Y-%m-%d%%{F-} %%{F#fff}%H:%M%%{F-}"
interval = 30
; Local Date / Time
;;;;;;;;;;;;;;;;;;;;;;;;;;
[module/clock]
type = internal/date
interval = 30
date = %%{F#999}%Y-%m-%d%%{F-} %%{F#fff}%H:%M%%{F-}
; Memory Free MiB
;;;;;;;;;;;;;;;;;;;;;;;;;;
[module/memfree]
type = custom/script
exec = grep -w MemAvailable: /proc/meminfo | awk '{print $2 / 1024 "MiB"}'
interval = 5
label = RAM: %output%
; Memory Usage
;;;;;;;;;;;;;;;;;;;;;;;;;;
; Available tags:
; <label> (default)
; <bar-used>
; <bar-free>
; <ramp-used>
; <ramp-free>
; <bar-swap-used>
; <bar-swap-free>
; <ramp-swap-used>
; <ramp-swap-free>
; Available tokens:
; %percentage_used% (default)
; %percentage_free%
; %gb_used%
; %gb_free%
; %gb_total%
; %mb_used%
; %mb_free%
; %mb_total%
; %percentage_swap_used%
; %percentage_swap_free%
; %mb_swap_total%
; %mb_swap_free%
; %mb_swap_used%
; %gb_swap_total%
; %gb_swap_free%
; %gb_swap_used%
[module/memory]
type = internal/memory
format = <label> <bar-used>
label = SWAP:%mb_swap_free% RAM: %mb_free%
bar-used-width = 15
bar-used-foreground-0 = #aaff77
bar-used-foreground-1 = #fba922
bar-used-foreground-2 = #ff5555
;bar-used-foreground-3 = #ff5555
bar-used-indicator = 
bar-used-indicator-font = 6
bar-used-indicator-foreground = #ff
bar-used-fill = 
bar-used-fill-font = 6
bar-used-empty = -
bar-used-empty-font = 6
bar-used-empty-foreground = #444444
; Battery Status
;;;;;;;;;;;;;;;;;;;;;;;;;;
[module/battery]
type = internal/battery
; This is useful in case the battery never reports 100% charge
full-at = 99
; Use the following command to list batteries and adapters:
; $ ls -1 /sys/class/power_supply/
battery = BAT0
adapter = AC
; If an inotify event haven't been reported in this many
; seconds, manually poll for new values.
;
; Needed as a fallback for systems that don't report events
; on sysfs/procfs.
;
; Disable polling by setting the interval to 0.
;
; Default: 5
poll-interval = 5
; see "man date" for details on how to format the time string
; NOTE: if you want to use syntax tags here you need to use %%{...}
; Default: %H:%M:%S
;time-format = %H:%M
; Available tags:
; <label-charging> (default)
; <bar-capacity>
; <ramp-capacity>
; <animation-charging>
format-charging = <ramp-capacity> <label-charging>
; Available tags:
; <label-discharging> (default)
; <bar-capacity>
; <ramp-capacity>
; <animation-discharging>
format-discharging = <ramp-capacity> <label-discharging>
; Available tags:
; <label-full> (default)
; <bar-capacity>
; <ramp-capacity>
format-full = <ramp-capacity> <label-full>
; Available tokens:
; %percentage% (default) - is set to 100 if full-at is reached
; %percentage_raw%
; %time%
; %consumption% (shows current charge rate in watts)
label-charging = Charging %percentage%% | %time% | %consumption% W
; Available tokens:
; %percentage% (default) - is set to 100 if full-at is reached
; %percentage_raw%
; %time%
; %consumption% (shows current discharge rate in watts)
label-discharging = %percentage%% | %time% | %consumption% W
; Available tokens:
; %percentage% (default) - is set to 100 if full-at is reached
; %percentage_raw%
label-full = Fully charged
; Only applies if <ramp-capacity> is used
ramp-capacity-0 = 
ramp-capacity-1 = 
ramp-capacity-2 = 
ramp-capacity-3 = 
ramp-capacity-4 = 
; Only applies if <bar-capacity> is used
bar-capacity-width = 10
;bar-used-width = 15
;bar-used-foreground-0 = #aaff77
;bar-used-foreground-1 = #aaff77
;bar-used-foreground-2 = #fba922
;bar-used-foreground-3 = #ff5555
;bar-used-indicator = 
;bar-used-indicator-font = 6
;bar-used-indicator-foreground = #ff
;bar-used-fill = 
;bar-used-fill-font = 6
;bar-used-empty = -
;bar-used-empty-font = 6
;bar-used-empty-foreground = #444444
; Only applies if <animation-charging> is used
animation-charging-0 = 
animation-charging-1 = 
animation-charging-2 = 
animation-charging-3 = 
animation-charging-4 = 
; Framerate in milliseconds
animation-charging-framerate = 750
; Only applies if <animation-discharging> is used
animation-discharging-0 = 
animation-discharging-1 = 
animation-discharging-2 = 
animation-discharging-3 = 
animation-discharging-4 = 
; Framerate in milliseconds
animation-discharging-framerate = 500
; I3 Workspace Display
;;;;;;;;;;;;;;;;;;;;;;;;;;
[module/ki3]
type = internal/i3
; Only show workspaces defined on the same output as the bar
;
; Useful if you want to show monitor specific workspaces
; on different bars
;
; Default: false
pin-workspaces = true
; This will split the workspace name on ':'
; Default: false
strip-wsnumbers = false
; Sort the workspaces by index instead of the default
; sorting that groups the workspaces by output
; Default: false
index-sort = true
; Create click handler used to focus workspace
; Default: true
enable-click = true
; Create scroll handlers used to cycle workspaces
; Default: true
enable-scroll = true
; Wrap around when reaching the first/last workspace
; Default: true
wrapping-scroll = true
; Set the scroll cycle direction
; Default: true
reverse-scroll = false
; Use fuzzy (partial) matching on labels when assigning
; icons to workspaces
; Example: code;♚ will apply the icon to all workspaces
; containing 'code' in the label
; Default: false
fuzzy-match = false
; Available tags:
; <label-state> (default) - gets replaced with <label-(focused|unfocused|visible|urgent)>
; <label-mode> (default)
format = <label-state> <label-mode>
; Available tokens:
; %mode%
; Default: %mode%
label-mode = %mode%
label-mode-padding = 2
label-mode-background = #e60053
; ws-icon-[0-9]+ = label;icon
; NOTE: The label needs to match the name of the i3 workspace
ws-icon-0 = 1;
ws-icon-1 = 2;
ws-icon-2 = 3;
ws-icon-3 = 4;
ws-icon-4 = 5;
ws-icon-5 = 6;
ws-icon-6 = 7;
ws-icon-7 = 8;
ws-icon-8 = 9;
ws-icon-9 = 99;
ws-icon-10 = 98;
ws-icon-11 = 97;
ws-icon-12 = 96;爵
ws-icon-13 = 95;
ws-icon-14 = 94;
ws-icon-default = 
; NOTE: You cannot skip icons, e.g. to get a ws-icon-6
; you must also define a ws-icon-5.
; NOTE: Icon will be available as the %icon% token inside label-*
; Available tokens:
; %name%
; %icon%
; %index%
; %output%
; Default: %icon% %name%
label-focused = %icon%
;label-focused-foreground = #ffffff
;label-focused-background = #016239
;label-focused-underline = #6e
label-focused-padding = 4
; Available tokens:
; %name%
; %icon%
; %index%
; %output%
; Default: %icon% %name%
label-unfocused = %icon%
label-unfocused-padding = 4
label-unfocused-foreground = #3f3f3f
; Available tokens:
; %name%
; %icon%
; %index%
; %output%
; Default: %icon% %name%
label-visible = %icon%
label-visible-foreground = #777777
;label-visible-underline = #1f1f1f
label-visible-padding = 4
; Separator in between workspaces
label-separator = |
label-separator-padding = 1
label-separator-foreground = #ffb52a
; Volume Status
;;;;;;;;;;;;;;;;;;;;;;;;;;
[module/volume]
type = internal/alsa
;speaker-mixer =
;headphone-mixer = Headphone
;headphone-id = 9
format-volume = <ramp-volume> <label-volume>
label-muted = muted
label-muted-foreground = #66
ramp-volume-0 = 奄
ramp-volume-1 = 奔
ramp-volume-2 = 墳
ramp-volume-3 = 

View File

@ -1,21 +0,0 @@
#!/bin/bash
## Author: Shaun Reed | Contact: shaunrd0@gmail.com | URL: www.shaunreed.com ##
## A script placed in ~/.config/polybar/ - Uses ${env:MONITOR} ##
## Starts polybars top and bottom on multiple displays ##
###############################################################################
# start-polybar.sh
# Kill any previous polybars
killall -q polybar
# Wait until the processes have been shut down
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done
# For each monitor in list up to ':'
for m in $(polybar --list-monitors | cut -d":" -f1); do
# Reload polybars with monitor device name
MONITOR=$m polybar --reload top &
MONITOR=$m polybar --reload bottom &
done

View File

@ -1,11 +0,0 @@
{
"segments": [
"virtual_env",
"ssh",
"cwd",
"hg",
"jobs",
"root"
],
"theme": "~/.config/powerline-shell/kapp.py"
}

View File

@ -1,54 +0,0 @@
from powerline_shell.themes.default import DefaultColor
# 0 — black 8 — gray
# 1 — maroon 9 — red
# 2 — green 10 — lime
# 3 — olive 11 — yellow
# 4 — navy 12 — blue
# 5 — purple 13 — fuchsia
# 6 — teal 14 — aqua
# 7 — silver 15 — white
class Color(DefaultColor):
"""Basic theme which only uses colors in 0-15 range"""
USERNAME_FG = 0 # black
USERNAME_BG = 15 # white
USERNAME_ROOT_BG = 8 # gray
HOSTNAME_FG = 0 # black
HOSTNAME_BG = 2 # green
HOME_SPECIAL_DISPLAY = False
PATH_BG = 8 # gray
PATH_FG = 2 # silver
CWD_FG = 15 # white
SEPARATOR_FG = 2
READONLY_BG = 1 # maroon
READONLY_FG = 15 # white
REPO_CLEAN_BG = 15 # green
REPO_CLEAN_FG = 0 # black
REPO_DIRTY_BG = 3 # olive
REPO_DIRTY_FG = 15 # white
JOBS_FG = 15 # white
JOBS_BG = 8 # gray
CMD_PASSED_BG = 2 # green
CMD_PASSED_FG = 0 # black
CMD_FAILED_BG = 11 # yellow
CMD_FAILED_FG = 0 # black
SVN_CHANGES_BG = REPO_DIRTY_BG
SVN_CHANGES_FG = REPO_DIRTY_FG
VIRTUAL_ENV_BG = 2 # green
VIRTUAL_ENV_FG = 0 # black
AWS_PROFILE_FG = 14 # aqua
AWS_PROFILE_BG = 8 # gray
TIME_FG = 8 # gray
TIME_BG = 7 # silver

@ -1 +0,0 @@
Subproject commit a9b8c9bb39dbfb7ec3c639e497b5a76fa6dcb8cc

View File

@ -243,8 +243,9 @@ class cd(Command):
paths = self._tab_fuzzy_match(basepath, tokens) paths = self._tab_fuzzy_match(basepath, tokens)
if not os.path.isabs(dest): if not os.path.isabs(dest):
paths_rel = basepath paths_rel = self.fm.thisdir.path
paths = [os.path.relpath(path, paths_rel) for path in paths] paths = [os.path.relpath(os.path.join(basepath, path), paths_rel)
for path in paths]
else: else:
paths_rel = '' paths_rel = ''
return paths, paths_rel return paths, paths_rel
@ -274,7 +275,7 @@ class cd(Command):
return None return None
if len(paths) == 1: if len(paths) == 1:
return start + paths[0] + sep return start + paths[0] + sep
return [start + dirname for dirname in paths] return [start + dirname + sep for dirname in paths]
class chain(Command): class chain(Command):
@ -282,6 +283,7 @@ class chain(Command):
Calls multiple commands at once, separated by semicolons. Calls multiple commands at once, separated by semicolons.
""" """
resolve_macros = False
def execute(self): def execute(self):
if not self.rest(1).strip(): if not self.rest(1).strip():
@ -572,7 +574,7 @@ class default_linemode(Command):
class quit(Command): # pylint: disable=redefined-builtin class quit(Command): # pylint: disable=redefined-builtin
""":quit """:quit
Closes the current tab, if there's only one tab. Closes the current tab, if there's more than one tab.
Otherwise quits if there are no tasks in progress. Otherwise quits if there are no tasks in progress.
""" """
def _exit_no_work(self): def _exit_no_work(self):
@ -591,7 +593,7 @@ class quit(Command): # pylint: disable=redefined-builtin
class quit_bang(Command): class quit_bang(Command):
""":quit! """:quit!
Closes the current tab, if there's only one tab. Closes the current tab, if there's more than one tab.
Otherwise force quits immediately. Otherwise force quits immediately.
""" """
name = 'quit!' name = 'quit!'
@ -699,6 +701,64 @@ class delete(Command):
self.fm.delete(files) self.fm.delete(files)
class trash(Command):
""":trash
Tries to move the selection or the files passed in arguments (if any) to
the trash, using rifle rules with label "trash".
The arguments use a shell-like escaping.
"Selection" is defined as all the "marked files" (by default, you
can mark files with space or v). If there are no marked files,
use the "current file" (where the cursor is)
When attempting to trash non-empty directories or multiple
marked files, it will require a confirmation.
"""
allow_abbrev = False
escape_macros_for_shell = True
def execute(self):
import shlex
from functools import partial
def is_directory_with_files(path):
return os.path.isdir(path) and not os.path.islink(path) and len(os.listdir(path)) > 0
if self.rest(1):
files = shlex.split(self.rest(1))
many_files = (len(files) > 1 or is_directory_with_files(files[0]))
else:
cwd = self.fm.thisdir
tfile = self.fm.thisfile
if not cwd or not tfile:
self.fm.notify("Error: no file selected for deletion!", bad=True)
return
# relative_path used for a user-friendly output in the confirmation.
files = [f.relative_path for f in self.fm.thistab.get_selection()]
many_files = (cwd.marked_items or is_directory_with_files(tfile.path))
confirm = self.fm.settings.confirm_on_delete
if confirm != 'never' and (confirm != 'multiple' or many_files):
self.fm.ui.console.ask(
"Confirm deletion of: %s (y/N)" % ', '.join(files),
partial(self._question_callback, files),
('n', 'N', 'y', 'Y'),
)
else:
# no need for a confirmation, just delete
self.fm.execute_file(files, label='trash')
def tab(self, tabnum):
return self._tab_directory_content()
def _question_callback(self, files, answer):
if answer == 'y' or answer == 'Y':
self.fm.execute_file(files, label='trash')
class jump_non(Command): class jump_non(Command):
""":jump_non [-FLAGS...] """:jump_non [-FLAGS...]
@ -996,7 +1056,7 @@ class rename_append(Command):
relpath = tfile.relative_path.replace(MACRO_DELIMITER, MACRO_DELIMITER_ESC) relpath = tfile.relative_path.replace(MACRO_DELIMITER, MACRO_DELIMITER_ESC)
basename = tfile.basename.replace(MACRO_DELIMITER, MACRO_DELIMITER_ESC) basename = tfile.basename.replace(MACRO_DELIMITER, MACRO_DELIMITER_ESC)
if basename.find('.') <= 0: if basename.find('.') <= 0 or os.path.isdir(relpath):
self.fm.open_console('rename ' + relpath) self.fm.open_console('rename ' + relpath)
return return
@ -1028,8 +1088,9 @@ class chmod(Command):
def execute(self): def execute(self):
mode_str = self.rest(1) mode_str = self.rest(1)
if not mode_str: if not mode_str:
if not self.quantifier: if self.quantifier is None:
self.fm.notify("Syntax: chmod <octal number>", bad=True) self.fm.notify("Syntax: chmod <octal number> "
"or specify a quantifier", bad=True)
return return
mode_str = str(self.quantifier) mode_str = str(self.quantifier)
@ -1063,7 +1124,8 @@ class bulkrename(Command):
After you close it, it will be executed. After you close it, it will be executed.
""" """
def execute(self): # pylint: disable=too-many-locals,too-many-statements def execute(self):
# pylint: disable=too-many-locals,too-many-statements,too-many-branches
import sys import sys
import tempfile import tempfile
from ranger.container.file import File from ranger.container.file import File
@ -1072,46 +1134,57 @@ class bulkrename(Command):
# Create and edit the file list # Create and edit the file list
filenames = [f.relative_path for f in self.fm.thistab.get_selection()] filenames = [f.relative_path for f in self.fm.thistab.get_selection()]
listfile = tempfile.NamedTemporaryFile(delete=False) with tempfile.NamedTemporaryFile(delete=False) as listfile:
listpath = listfile.name listpath = listfile.name
if py3: if py3:
listfile.write("\n".join(filenames).encode("utf-8")) listfile.write("\n".join(filenames).encode(
encoding="utf-8", errors="surrogateescape"))
else: else:
listfile.write("\n".join(filenames)) listfile.write("\n".join(filenames))
listfile.close()
self.fm.execute_file([File(listpath)], app='editor') self.fm.execute_file([File(listpath)], app='editor')
listfile = open(listpath, 'r') with (open(listpath, 'r', encoding="utf-8", errors="surrogateescape") if
py3 else open(listpath, 'r')) as listfile:
new_filenames = listfile.read().split("\n") new_filenames = listfile.read().split("\n")
listfile.close()
os.unlink(listpath) os.unlink(listpath)
if all(a == b for a, b in zip(filenames, new_filenames)): if all(a == b for a, b in zip(filenames, new_filenames)):
self.fm.notify("No renaming to be done!") self.fm.notify("No renaming to be done!")
return return
# Generate script # Generate script
cmdfile = tempfile.NamedTemporaryFile() with tempfile.NamedTemporaryFile() as cmdfile:
script_lines = [] script_lines = []
script_lines.append("# This file will be executed when you close the editor.\n") script_lines.append("# This file will be executed when you close"
script_lines.append("# Please double-check everything, clear the file to abort.\n") " the editor.")
script_lines.extend("mv -vi -- %s %s\n" % (esc(old), esc(new)) script_lines.append("# Please double-check everything, clear the"
for old, new in zip(filenames, new_filenames) if old != new) " file to abort.")
script_content = "".join(script_lines) new_dirs = []
for old, new in zip(filenames, new_filenames):
if old != new:
basepath, _ = os.path.split(new)
if (basepath and basepath not in new_dirs
and not os.path.isdir(basepath)):
script_lines.append("mkdir -vp -- {dir}".format(
dir=esc(basepath)))
new_dirs.append(basepath)
script_lines.append("mv -vi -- {old} {new}".format(
old=esc(old), new=esc(new)))
# Make sure not to forget the ending newline
script_content = "\n".join(script_lines) + "\n"
if py3: if py3:
cmdfile.write(script_content.encode("utf-8")) cmdfile.write(script_content.encode(encoding="utf-8",
errors="surrogateescape"))
else: else:
cmdfile.write(script_content) cmdfile.write(script_content)
cmdfile.flush() cmdfile.flush()
# Open the script and let the user review it, then check if the script # Open the script and let the user review it, then check if the
# was modified by the user # script was modified by the user
self.fm.execute_file([File(cmdfile.name)], app='editor') self.fm.execute_file([File(cmdfile.name)], app='editor')
cmdfile.seek(0) cmdfile.seek(0)
script_was_edited = (script_content != cmdfile.read()) script_was_edited = (script_content != cmdfile.read())
# Do the renaming # Do the renaming
self.fm.run(['/bin/sh', cmdfile.name], flags='w') self.fm.run(['/bin/sh', cmdfile.name], flags='w')
cmdfile.close()
# Retag the files, but only if the script wasn't changed during review, # Retag the files, but only if the script wasn't changed during review,
# because only then we know which are the source and destination files. # because only then we know which are the source and destination files.
@ -1230,7 +1303,7 @@ class copycmap(copymap):
class copytmap(copymap): class copytmap(copymap):
""":copycmap <keys> <newkeys1> [<newkeys2>...] """:copytmap <keys> <newkeys1> [<newkeys2>...]
Copies a "taskview" keybinding from <keys> to <newkeys> Copies a "taskview" keybinding from <keys> to <newkeys>
""" """
@ -1249,30 +1322,69 @@ class unmap(Command):
self.fm.ui.keymaps.unbind(self.context, arg) self.fm.ui.keymaps.unbind(self.context, arg)
class cunmap(unmap): class uncmap(unmap):
""":cunmap <keys> [<keys2>, ...] """:uncmap <keys> [<keys2>, ...]
Remove the given "console" mappings Remove the given "console" mappings
""" """
context = 'browser' context = 'console'
class punmap(unmap): class cunmap(uncmap):
""":punmap <keys> [<keys2>, ...] """:cunmap <keys> [<keys2>, ...]
Remove the given "console" mappings
DEPRECATED in favor of uncmap.
"""
def execute(self):
self.fm.notify("cunmap is deprecated in favor of uncmap!")
super(cunmap, self).execute()
class unpmap(unmap):
""":unpmap <keys> [<keys2>, ...]
Remove the given "pager" mappings Remove the given "pager" mappings
""" """
context = 'pager' context = 'pager'
class tunmap(unmap): class punmap(unpmap):
""":tunmap <keys> [<keys2>, ...] """:punmap <keys> [<keys2>, ...]
Remove the given "pager" mappings
DEPRECATED in favor of unpmap.
"""
def execute(self):
self.fm.notify("punmap is deprecated in favor of unpmap!")
super(punmap, self).execute()
class untmap(unmap):
""":untmap <keys> [<keys2>, ...]
Remove the given "taskview" mappings Remove the given "taskview" mappings
""" """
context = 'taskview' context = 'taskview'
class tunmap(untmap):
""":tunmap <keys> [<keys2>, ...]
Remove the given "taskview" mappings
DEPRECATED in favor of untmap.
"""
def execute(self):
self.fm.notify("tunmap is deprecated in favor of untmap!")
super(tunmap, self).execute()
class map_(Command): class map_(Command):
""":map <keysequence> <command> """:map <keysequence> <command>
@ -1579,7 +1691,7 @@ class filter_stack(Command):
elif subcommand == "clear": elif subcommand == "clear":
self.fm.thisdir.filter_stack = [] self.fm.thisdir.filter_stack = []
elif subcommand == "rotate": elif subcommand == "rotate":
rotate_by = int(self.arg(2) or 1) rotate_by = int(self.arg(2) or self.quantifier or 1)
self.fm.thisdir.filter_stack = ( self.fm.thisdir.filter_stack = (
self.fm.thisdir.filter_stack[-rotate_by:] self.fm.thisdir.filter_stack[-rotate_by:]
+ self.fm.thisdir.filter_stack[:-rotate_by] + self.fm.thisdir.filter_stack[:-rotate_by]
@ -1639,6 +1751,17 @@ class flat(Command):
self.fm.thisdir.flat = level self.fm.thisdir.flat = level
self.fm.thisdir.load_content() self.fm.thisdir.load_content()
class reset_previews(Command):
""":reset_previews
Reset the file previews.
"""
def execute(self):
self.fm.previews = {}
self.fm.ui.need_redraw = True
# Version control commands # Version control commands
# -------------------------------- # --------------------------------
@ -1802,11 +1925,14 @@ class yank(Command):
['xsel'], ['xsel'],
['xsel', '-b'], ['xsel', '-b'],
], ],
'wl-copy': [
['wl-copy'],
],
'pbcopy': [ 'pbcopy': [
['pbcopy'], ['pbcopy'],
], ],
} }
ordered_managers = ['pbcopy', 'xclip', 'xsel'] ordered_managers = ['pbcopy', 'wl-copy', 'xclip', 'xsel']
executables = get_executables() executables = get_executables()
for manager in ordered_managers: for manager in ordered_managers:
if manager in executables: if manager in executables:
@ -1834,3 +1960,34 @@ class yank(Command):
in sorted(self.modes.keys()) in sorted(self.modes.keys())
if mode if mode
) )
class paste_ext(Command):
"""
:paste_ext
Like paste but tries to rename conflicting files so that the
file extension stays intact (e.g. file_.ext).
"""
@staticmethod
def make_safe_path(dst):
if not os.path.exists(dst):
return dst
dst_name, dst_ext = os.path.splitext(dst)
if not dst_name.endswith("_"):
dst_name += "_"
if not os.path.exists(dst_name + dst_ext):
return dst_name + dst_ext
n = 0
test_dst = dst_name + str(n)
while os.path.exists(test_dst + dst_ext):
n += 1
test_dst = dst_name + str(n)
return test_dst + dst_ext
def execute(self):
return self.fm.paste(make_safe_path=paste_ext.make_safe_path)

View File

@ -1,322 +0,0 @@
#!/usr/bin/python
# coding=UTF-8
# These glyphs, and the mapping of file extensions to glyphs
# has been copied from the vimscript code that is present in
# https://github.com/ryanoasis/vim-devicons
import re;
import os;
# all those glyphs will show as weird squares if you don't have the correct patched font
# My advice is to use NerdFonts which can be found here:
# https://github.com/ryanoasis/nerd-fonts
file_node_extensions = {
'7z' : '',
'a' : '',
'ai' : '',
'apk' : '',
'asm' : '',
'asp' : '',
'aup' : '',
'avi' : '',
'bat' : '',
'bmp' : '',
'bz2' : '',
'c' : '',
'c++' : '',
'cab' : '',
'cbr' : '',
'cbz' : '',
'cc' : '',
'class' : '',
'clj' : '',
'cljc' : '',
'cljs' : '',
'cmake' : '',
'coffee' : '',
'conf' : '',
'cp' : '',
'cpio' : '',
'cpp' : '',
'cs' : '',
'css' : '',
'cue' : '',
'cvs' : '',
'cxx' : '',
'd' : '',
'dart' : '',
'db' : '',
'deb' : '',
'diff' : '',
'dll' : '',
'doc' : '',
'docx' : '',
'dump' : '',
'edn' : '',
'efi' : '',
'ejs' : '',
'elf' : '',
'elm' : '',
'epub' : '',
'erl' : '',
'ex' : '',
'exe' : '',
'exs' : '',
'eex' : '',
'f#' : '',
'fifo' : '|',
'fish' : '',
'flac' : '',
'flv' : '',
'fs' : '',
'fsi' : '',
'fsscript' : '',
'fsx' : '',
'gem' : '',
'gif' : '',
'go' : '',
'gz' : '',
'gzip' : '',
'h' : '',
'hbs' : '',
'hrl' : '',
'hs' : '',
'htaccess' : '',
'htpasswd' : '',
'htm' : '',
'html' : '',
'ico' : '',
'img' : '',
'ini' : '',
'iso' : '',
'jar' : '',
'java' : '',
'jl' : '',
'jpeg' : '',
'jpg' : '',
'js' : '',
'json' : '',
'jsx' : '',
'key' : '',
'less' : '',
'lha' : '',
'lhs' : '',
'log' : '',
'lua' : '',
'lzh' : '',
'lzma' : '',
'm4a' : '',
'm4v' : '',
'markdown' : '',
'md' : '',
'mkv' : '',
'ml' : 'λ',
'mli' : 'λ',
'mov' : '',
'mp3' : '',
'mp4' : '',
'mpeg' : '',
'mpg' : '',
'msi' : '',
'mustache' : '',
'o' : '',
'ogg' : '',
'pdf' : '',
'php' : '',
'pl' : '',
'pm' : '',
'png' : '',
'pub' : '',
'ppt' : '',
'pptx' : '',
'psb' : '',
'psd' : '',
'py' : '',
'pyc' : '',
'pyd' : '',
'pyo' : '',
'rar' : '',
'rb' : '',
'rc' : '',
'rlib' : '',
'rom' : '',
'rpm' : '',
'rs' : '',
'rss' : '',
'rtf' : '',
's' : '',
'so' : '',
'scala' : '',
'scss' : '',
'sh' : '',
'slim' : '',
'sln' : '',
'sql' : '',
'styl' : '',
'suo' : '',
't' : '',
'tar' : '',
'tgz' : '',
'ts' : '',
'twig' : '',
'vim' : '',
'vimrc' : '',
'wav' : '',
'webm' : '',
'xbps' : '',
'xhtml' : '',
'xls' : '',
'xlsx' : '',
'xml' : '',
'xul' : '',
'xz' : '',
'yaml' : '',
'yml' : '',
'zip' : '',
}
dir_node_exact_matches = {
# English
'.git' : '',
'Desktop' : '',
'Documents' : '',
'Downloads' : '',
'Dotfiles' : '',
'Dropbox' : '',
'Music' : '',
'Pictures' : '',
'Public' : '',
'Templates' : '',
'Videos' : '',
# Spanish
'Escritorio' : '',
'Documentos' : '',
'Descargas' : '',
'Música' : '',
'Imágenes' : '',
'Público' : '',
'Plantillas' : '',
'Vídeos' : '',
# French
'Bureau' : '',
'Documents' : '',
'Images' : '',
'Musique' : '',
'Publique' : '',
'Téléchargements' : '',
'Vidéos' : '',
# Portuguese
'Documentos' : '',
'Imagens' : '',
'Modelos' : '',
'Música' : '',
'Público' : '',
'Vídeos' : '',
'Área de trabalho' : '',
# Italian
'Documenti' : '',
'Immagini' : '',
'Modelli' : '',
'Musica' : '',
'Pubblici' : '',
'Scaricati' : '',
'Scrivania' : '',
'Video' : '',
# German
'Bilder' : '',
'Dokumente' : '',
'Musik' : '',
'Schreibtisch' : '',
'Vorlagen' : '',
'Öffentlich' : '',
# Hungarian
'Dokumentumok' : '',
'Képek' : '',
'Modelli' : '',
'Zene' : '',
'Letöltések' : '',
'Számítógép' : '',
'Videók' : '',
}
file_node_exact_matches = {
'.Xauthority' : '',
'.Xdefaults' : '',
'.Xresources' : '',
'.bash_aliases' : '',
'.bashprofile' : '',
'.bash_profile' : '',
'.bash_logout' : '',
'.bash_history' : '',
'.bashrc' : '',
'.dmrc' : '',
'.DS_Store' : '',
'.fasd' : '',
'.fehbg' : '',
'.gitconfig' : '',
'.gitattributes' : '',
'.gitignore' : '',
'.inputrc' : '',
'.jack-settings' : '',
'.mime.types' : '',
'.nvidia-settings-rc' : '',
'.pam_environment' : '',
'.profile' : '',
'.recently-used' : '',
'.selected_editor' : '',
'.vim' : '',
'.vimrc' : '',
'.viminfo' : '',
'.xinitrc' : '',
'.xinputrc' : '',
'config' : '',
'Dockerfile' : '',
'docker-compose.yml' : '',
'dropbox' : '',
'exact-match-case-sensitive-1.txt' : 'X1',
'exact-match-case-sensitive-2' : 'X2',
'favicon.ico' : '',
'a.out' : '',
'bspwmrc' : '',
'sxhkdrc' : '',
'Makefile' : '',
'Makefile.in' : '',
'Makefile.ac' : '',
'config.mk' : '',
'config.m4' : '',
'config.ac' : '',
'configure' : '',
'Rakefile' : '',
'gruntfile.coffee' : '',
'gruntfile.js' : '',
'gruntfile.ls' : '',
'gulpfile.coffee' : '',
'gulpfile.js' : '',
'gulpfile.ls' : '',
'ini' : '',
'ledger' : '',
'package.json' : '',
'package-lock.json' : '',
'.ncmpcpp' : '',
'playlists' : '',
'known_hosts' : '',
'authorized_keys' : '',
'license' : '',
'LICENSE.md' : '',
'LICENSE' : '',
'LICENSE.txt' : '',
'mimeapps.list' : '',
'node_modules' : '',
'procfile' : '',
'react.jsx' : '',
'README.rst' : '',
'README.md' : '',
'README.markdown' : '',
'README' : '',
'README.txt' : '',
'user-dirs.dirs' : '',
'webpack.config.js' : '',
}
def devicon(file):
if file.is_directory: return dir_node_exact_matches.get(file.relative_path, '')
return file_node_exact_matches.get(os.path.basename(file.relative_path), file_node_extensions.get(file.extension, ''))

View File

@ -1,19 +0,0 @@
import ranger.api
from ranger.core.linemode import LinemodeBase
from .devicons import *
@ranger.api.register_linemode
class DevIconsLinemode(LinemodeBase):
name = "devicons"
uses_metadata = False
def filetitle(self, file, metadata):
return devicon(file) + ' ' + file.relative_path
@ranger.api.register_linemode
class DevIconsLinemodeFile(LinemodeBase):
name = "filename"
def filetitle(self, file, metadata):
return devicon(file) + ' ' + file.relative_path

View File

@ -1,3 +1,10 @@
#
# Please note that configuration files may change as ranger evolves.
# It's completely up to you to keep them up to date.
#
# To stop ranger from loading both the default and your custom rc.conf,
# please set the environment variable RANGER_LOAD_DEFAULT_RC to FALSE.
#
# =================================================================== # ===================================================================
# This file contains the default startup commands for ranger. # This file contains the default startup commands for ranger.
# To change them, it is recommended to create either /etc/ranger/rc.conf # To change them, it is recommended to create either /etc/ranger/rc.conf
@ -34,7 +41,7 @@ set column_ratios 1,3,4
set hidden_filter ^\.|\.(?:pyc|pyo|bak|swp)$|^lost\+found$|^__(py)?cache__$ set hidden_filter ^\.|\.(?:pyc|pyo|bak|swp)$|^lost\+found$|^__(py)?cache__$
# Show hidden files? You can toggle this by typing 'zh' # Show hidden files? You can toggle this by typing 'zh'
set show_hidden true set show_hidden false
# Ask for a confirmation when running the "delete" command? # Ask for a confirmation when running the "delete" command?
# Valid values are "always", "never", "multiple" (default) # Valid values are "always", "never", "multiple" (default)
@ -71,7 +78,7 @@ set vcs_backend_svn disabled
set vcs_msg_length 50 set vcs_msg_length 50
# Use one of the supported image preview protocols # Use one of the supported image preview protocols
set preview_images true set preview_images false
# Set the preview image method. Supported methods: # Set the preview image method. Supported methods:
# #
@ -114,7 +121,7 @@ set preview_images true
# Preview images in full color with the external command "ueberzug". # Preview images in full color with the external command "ueberzug".
# Images are shown by using a child window. # Images are shown by using a child window.
# Only for users who run X11 in GNU/Linux. # Only for users who run X11 in GNU/Linux.
set preview_images_method ueberzug set preview_images_method w3m
# Delay in seconds before displaying an image with the w3m method. # Delay in seconds before displaying an image with the w3m method.
# Increase it in case of experiencing display corruption. # Increase it in case of experiencing display corruption.
@ -280,14 +287,14 @@ set clear_filters_on_dir_change false
# Disable displaying line numbers in main column. # Disable displaying line numbers in main column.
# Possible values: false, absolute, relative. # Possible values: false, absolute, relative.
set line_numbers absolute set line_numbers false
# When line_numbers=relative show the absolute line number in the # When line_numbers=relative show the absolute line number in the
# current line. # current line.
set relative_current_zero false set relative_current_zero false
# Start line numbers from 1 instead of 0 # Start line numbers from 1 instead of 0
set one_indexed true set one_indexed false
# Save tabs on exit # Save tabs on exit
set save_tabs_on_exit false set save_tabs_on_exit false
@ -453,7 +460,6 @@ map gu cd /usr
map gd cd /dev map gd cd /dev
map gl cd -r . map gl cd -r .
map gL cd -r %f map gL cd -r %f
map gc cd ~/.config
map go cd /opt map go cd /opt
map gv cd /var map gv cd /var
map gm cd /media map gm cd /media
@ -541,7 +547,7 @@ map <A-Left> tab_move -1
map gt tab_move 1 map gt tab_move 1
map gT tab_move -1 map gT tab_move -1
map gn tab_new map gn tab_new
map gC tab_close map gc tab_close
map uq tab_restore map uq tab_restore
map <a-1> tab_open 1 map <a-1> tab_open 1
map <a-2> tab_open 2 map <a-2> tab_open 2
@ -758,3 +764,6 @@ tmap <delete> eval -q fm.ui.taskview.task_remove()
tmap <C-l> redraw_window tmap <C-l> redraw_window
tmap <ESC> taskview_close tmap <ESC> taskview_close
copytmap <ESC> q Q w <C-c> copytmap <ESC> q Q w <C-c>
default_linemode devicons

View File

@ -26,7 +26,7 @@
# directory | $1 is a directory # directory | $1 is a directory
# number <n> | change the number of this command to n # number <n> | change the number of this command to n
# terminal | stdin, stderr and stdout are connected to a terminal # terminal | stdin, stderr and stdout are connected to a terminal
# X | $DISPLAY is not empty (i.e. Xorg runs) # X | A graphical environment is available (darwin, Xorg, or Wayland)
# #
# There are also pseudo-conditions which have a "side effect": # There are also pseudo-conditions which have a "side effect":
# flag <flags> | Change how the program is run. See below. # flag <flags> | Change how the program is run. See below.
@ -66,13 +66,13 @@ ext x?html?, has uzbl-tabbed, X, flag f = uzbl-tabbed -- "$@"
ext x?html?, has uzbl-browser, X, flag f = uzbl-browser -- "$@" ext x?html?, has uzbl-browser, X, flag f = uzbl-browser -- "$@"
ext x?html?, has uzbl-core, X, flag f = uzbl-core -- "$@" ext x?html?, has uzbl-core, X, flag f = uzbl-core -- "$@"
ext x?html?, has midori, X, flag f = midori -- "$@" ext x?html?, has midori, X, flag f = midori -- "$@"
ext x?html?, has chromium-browser, X, flag f = chromium-browser -- "$@"
ext x?html?, has chromium, X, flag f = chromium -- "$@"
ext x?html?, has google-chrome, X, flag f = google-chrome -- "$@"
ext x?html?, has opera, X, flag f = opera -- "$@" ext x?html?, has opera, X, flag f = opera -- "$@"
ext x?html?, has firefox, X, flag f = firefox -- "$@" ext x?html?, has firefox, X, flag f = firefox -- "$@"
ext x?html?, has seamonkey, X, flag f = seamonkey -- "$@" ext x?html?, has seamonkey, X, flag f = seamonkey -- "$@"
ext x?html?, has iceweasel, X, flag f = iceweasel -- "$@" ext x?html?, has iceweasel, X, flag f = iceweasel -- "$@"
ext x?html?, has chromium-browser, X, flag f = chromium-browser -- "$@"
ext x?html?, has chromium, X, flag f = chromium -- "$@"
ext x?html?, has google-chrome, X, flag f = google-chrome -- "$@"
ext x?html?, has epiphany, X, flag f = epiphany -- "$@" ext x?html?, has epiphany, X, flag f = epiphany -- "$@"
ext x?html?, has konqueror, X, flag f = konqueror -- "$@" ext x?html?, has konqueror, X, flag f = konqueror -- "$@"
ext x?html?, has elinks, terminal = elinks "$@" ext x?html?, has elinks, terminal = elinks "$@"
@ -98,7 +98,7 @@ ext exe = wine "$1"
name ^[mM]akefile$ = make name ^[mM]akefile$ = make
#-------------------------------------------- #--------------------------------------------
# Code # Scripts
#------------------------------------------- #-------------------------------------------
ext py = python3 -- "$1" ext py = python3 -- "$1"
ext pl = perl -- "$1" ext pl = perl -- "$1"
@ -131,7 +131,7 @@ mime ^video|audio, has totem, X, flag f = totem -- "$@"
mime ^video|audio, has totem, X, flag f = totem --fullscreen -- "$@" mime ^video|audio, has totem, X, flag f = totem --fullscreen -- "$@"
#-------------------------------------------- #--------------------------------------------
# Video without X: # Video without X
#------------------------------------------- #-------------------------------------------
mime ^video, terminal, !X, has mpv = mpv -- "$@" mime ^video, terminal, !X, has mpv = mpv -- "$@"
mime ^video, terminal, !X, has mplayer2 = mplayer2 -- "$@" mime ^video, terminal, !X, has mplayer2 = mplayer2 -- "$@"
@ -167,14 +167,20 @@ ext djvu, has atril, X, flag f = atril -- "$@"
ext djvu, has djview, X, flag f = djview -- "$@" ext djvu, has djview, X, flag f = djview -- "$@"
ext epub, has ebook-viewer, X, flag f = ebook-viewer -- "$@" ext epub, has ebook-viewer, X, flag f = ebook-viewer -- "$@"
ext epub, has zathura, X, flag f = zathura -- "$@"
ext epub, has mupdf, X, flag f = mupdf -- "$@"
ext mobi, has ebook-viewer, X, flag f = ebook-viewer -- "$@" ext mobi, has ebook-viewer, X, flag f = ebook-viewer -- "$@"
ext cbr, has zathura, X, flag f = zathura -- "$@"
ext cbz, has zathura, X, flag f = zathura -- "$@"
#------------------------------------------- #-------------------------------------------
# Image Viewing: # Images
#------------------------------------------- #-------------------------------------------
mime ^image/svg, has inkscape, X, flag f = inkscape -- "$@" mime ^image/svg, has inkscape, X, flag f = inkscape -- "$@"
mime ^image/svg, has display, X, flag f = display -- "$@" mime ^image/svg, has display, X, flag f = display -- "$@"
mime ^image, has imv, X, flag f = imv -- "$@"
mime ^image, has pqiv, X, flag f = pqiv -- "$@" mime ^image, has pqiv, X, flag f = pqiv -- "$@"
mime ^image, has sxiv, X, flag f = sxiv -- "$@" mime ^image, has sxiv, X, flag f = sxiv -- "$@"
mime ^image, has feh, X, flag f = feh -- "$@" mime ^image, has feh, X, flag f = feh -- "$@"
@ -184,6 +190,7 @@ mime ^image, has eog, X, flag f = eog -- "$@"
mime ^image, has eom, X, flag f = eom -- "$@" mime ^image, has eom, X, flag f = eom -- "$@"
mime ^image, has nomacs, X, flag f = nomacs -- "$@" mime ^image, has nomacs, X, flag f = nomacs -- "$@"
mime ^image, has geeqie, X, flag f = geeqie -- "$@" mime ^image, has geeqie, X, flag f = geeqie -- "$@"
mime ^image, has gpicview, X, flag f = gpicview -- "$@"
mime ^image, has gwenview, X, flag f = gwenview -- "$@" mime ^image, has gwenview, X, flag f = gwenview -- "$@"
mime ^image, has gimp, X, flag f = gimp -- "$@" mime ^image, has gimp, X, flag f = gimp -- "$@"
ext xcf, X, flag f = gimp -- "$@" ext xcf, X, flag f = gimp -- "$@"
@ -211,6 +218,11 @@ ext ace, has unace = for file in "$@"; do unace e "$file"; done
ext rar, has unrar = unrar l "$1" | "$PAGER" ext rar, has unrar = unrar l "$1" | "$PAGER"
ext rar, has unrar = for file in "$@"; do unrar x "$file"; done ext rar, has unrar = for file in "$@"; do unrar x "$file"; done
#-------------------------------------------
# Fonts
#-------------------------------------------
mime ^font, has fontforge, X, flag f = fontforge "$@"
#------------------------------------------- #-------------------------------------------
# Flag t fallback terminals # Flag t fallback terminals
#------------------------------------------- #-------------------------------------------
@ -247,10 +259,26 @@ label wallpaper, number 12, mime ^image, has feh, X = feh --bg-tile "$1"
label wallpaper, number 13, mime ^image, has feh, X = feh --bg-center "$1" label wallpaper, number 13, mime ^image, has feh, X = feh --bg-center "$1"
label wallpaper, number 14, mime ^image, has feh, X = feh --bg-fill "$1" label wallpaper, number 14, mime ^image, has feh, X = feh --bg-fill "$1"
#-------------------------------------------
# Generic file openers
#-------------------------------------------
label open, has xdg-open = xdg-open -- "$@"
label open, has open = open -- "$@"
# Define the editor for non-text files + pager as last action # Define the editor for non-text files + pager as last action
!mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = ask !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = ask
label editor, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = ${VISUAL:-$EDITOR} -- "$@" label editor, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = ${VISUAL:-$EDITOR} -- "$@"
label pager, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = "$PAGER" -- "$@" label pager, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = "$PAGER" -- "$@"
# The very last action, so that it's never triggered accidentally, is to execute a program:
######################################################################
# The actions below are left so low down in this file on purpose, so #
# they are never triggered accidentally. #
######################################################################
# Execute a file as program/script.
mime application/x-executable = "$1" mime application/x-executable = "$1"
# Move the file to trash using trash-cli.
label trash, has trash-put = trash-put -- "$@"
label trash = mkdir -p -- ${XDG_DATA_DIR:-$HOME/.ranger}/ranger-trash; mv -- "$@" ${XDG_DATA_DIR:-$HOME/.ranger}/ranger-trash

View File

@ -3,129 +3,206 @@
set -o noclobber -o noglob -o nounset -o pipefail set -o noclobber -o noglob -o nounset -o pipefail
IFS=$'\n' IFS=$'\n'
# If the option `use_preview_script` is set to `true`, ## If the option `use_preview_script` is set to `true`,
# then this script will be called and its output will be displayed in ranger. ## then this script will be called and its output will be displayed in ranger.
# ANSI color codes are supported. ## ANSI color codes are supported.
# STDIN is disabled, so interactive scripts won't work properly ## STDIN is disabled, so interactive scripts won't work properly
# This script is considered a configuration file and must be updated manually. ## This script is considered a configuration file and must be updated manually.
# It will be left untouched if you upgrade ranger. ## It will be left untouched if you upgrade ranger.
# Meanings of exit codes: ## Because of some automated testing we do on the script #'s for comments need
# code | meaning | action of ranger ## to be doubled up. Code that is commented out, because it's an alternative for
# -----+------------+------------------------------------------- ## example, gets only one #.
# 0 | success | Display stdout as preview
# 1 | no preview | Display no preview at all
# 2 | plain text | Display the plain content of the file
# 3 | fix width | Don't reload when width changes
# 4 | fix height | Don't reload when height changes
# 5 | fix both | Don't ever reload
# 6 | image | Display the image `$IMAGE_CACHE_PATH` points to as an image preview
# 7 | image | Display the file directly as an image
# Script arguments ## Meanings of exit codes:
## code | meaning | action of ranger
## -----+------------+-------------------------------------------
## 0 | success | Display stdout as preview
## 1 | no preview | Display no preview at all
## 2 | plain text | Display the plain content of the file
## 3 | fix width | Don't reload when width changes
## 4 | fix height | Don't reload when height changes
## 5 | fix both | Don't ever reload
## 6 | image | Display the image `$IMAGE_CACHE_PATH` points to as an image preview
## 7 | image | Display the file directly as an image
## Script arguments
FILE_PATH="${1}" # Full path of the highlighted file FILE_PATH="${1}" # Full path of the highlighted file
PV_WIDTH="${2}" # Width of the preview pane (number of fitting characters) PV_WIDTH="${2}" # Width of the preview pane (number of fitting characters)
## shellcheck disable=SC2034 # PV_HEIGHT is provided for convenience and unused
PV_HEIGHT="${3}" # Height of the preview pane (number of fitting characters) PV_HEIGHT="${3}" # Height of the preview pane (number of fitting characters)
IMAGE_CACHE_PATH="${4}" # Full path that should be used to cache image preview IMAGE_CACHE_PATH="${4}" # Full path that should be used to cache image preview
PV_IMAGE_ENABLED="${5}" # 'True' if image previews are enabled, 'False' otherwise. PV_IMAGE_ENABLED="${5}" # 'True' if image previews are enabled, 'False' otherwise.
FILE_EXTENSION="${FILE_PATH##*.}" FILE_EXTENSION="${FILE_PATH##*.}"
FILE_EXTENSION_LOWER=$(echo ${FILE_EXTENSION} | tr '[:upper:]' '[:lower:]') FILE_EXTENSION_LOWER="$(printf "%s" "${FILE_EXTENSION}" | tr '[:upper:]' '[:lower:]')"
# Settings ## Settings
HIGHLIGHT_SIZE_MAX=262143 # 256KiB HIGHLIGHT_SIZE_MAX=262143 # 256KiB
HIGHLIGHT_TABWIDTH=8 HIGHLIGHT_TABWIDTH=${HIGHLIGHT_TABWIDTH:-8}
HIGHLIGHT_STYLE='pablo' HIGHLIGHT_STYLE=${HIGHLIGHT_STYLE:-pablo}
PYGMENTIZE_STYLE='autumn' HIGHLIGHT_OPTIONS="--replace-tabs=${HIGHLIGHT_TABWIDTH} --style=${HIGHLIGHT_STYLE} ${HIGHLIGHT_OPTIONS:-}"
PYGMENTIZE_STYLE=${PYGMENTIZE_STYLE:-autumn}
OPENSCAD_IMGSIZE=${RNGR_OPENSCAD_IMGSIZE:-1000,1000}
OPENSCAD_COLORSCHEME=${RNGR_OPENSCAD_COLORSCHEME:-Tomorrow Night}
handle_extension() { handle_extension() {
case "${FILE_EXTENSION_LOWER}" in case "${FILE_EXTENSION_LOWER}" in
# Archive ## Archive
a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|\ a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|\
rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip) rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip)
atool --list -- "${FILE_PATH}" && exit 5 atool --list -- "${FILE_PATH}" && exit 5
bsdtar --list --file "${FILE_PATH}" && exit 5 bsdtar --list --file "${FILE_PATH}" && exit 5
exit 1;; exit 1;;
rar) rar)
# Avoid password prompt by providing empty password ## Avoid password prompt by providing empty password
unrar lt -p- -- "${FILE_PATH}" && exit 5 unrar lt -p- -- "${FILE_PATH}" && exit 5
exit 1;; exit 1;;
7z) 7z)
# Avoid password prompt by providing empty password ## Avoid password prompt by providing empty password
7z l -p -- "${FILE_PATH}" && exit 5 7z l -p -- "${FILE_PATH}" && exit 5
exit 1;; exit 1;;
# PDF ## PDF
pdf) pdf)
# Preview as text conversion ## Preview as text conversion
pdftotext -l 10 -nopgbrk -q -- "${FILE_PATH}" - | fmt -w ${PV_WIDTH} && exit 5 pdftotext -l 10 -nopgbrk -q -- "${FILE_PATH}" - | \
mutool draw -F txt -i -- "${FILE_PATH}" 1-10 | fmt -w ${PV_WIDTH} && exit 5 fmt -w "${PV_WIDTH}" && exit 5
mutool draw -F txt -i -- "${FILE_PATH}" 1-10 | \
fmt -w "${PV_WIDTH}" && exit 5
exiftool "${FILE_PATH}" && exit 5 exiftool "${FILE_PATH}" && exit 5
exit 1;; exit 1;;
# BitTorrent ## BitTorrent
torrent) torrent)
transmission-show -- "${FILE_PATH}" && exit 5 transmission-show -- "${FILE_PATH}" && exit 5
exit 1;; exit 1;;
# OpenDocument ## OpenDocument
odt|ods|odp|sxw) odt|ods|odp|sxw)
# Preview as text conversion ## Preview as text conversion
odt2txt "${FILE_PATH}" && exit 5 odt2txt "${FILE_PATH}" && exit 5
## Preview as markdown conversion
pandoc -s -t markdown -- "${FILE_PATH}" && exit 5
exit 1;; exit 1;;
# HTML ## XLSX
xlsx)
## Preview as csv conversion
## Uses: https://github.com/dilshod/xlsx2csv
xlsx2csv -- "${FILE_PATH}" && exit 5
exit 1;;
## HTML
htm|html|xhtml) htm|html|xhtml)
# Preview as text conversion ## Preview as text conversion
w3m -dump "${FILE_PATH}" && exit 5 w3m -dump "${FILE_PATH}" && exit 5
lynx -dump -- "${FILE_PATH}" && exit 5 lynx -dump -- "${FILE_PATH}" && exit 5
elinks -dump "${FILE_PATH}" && exit 5 elinks -dump "${FILE_PATH}" && exit 5
pandoc -s -t markdown -- "${FILE_PATH}" && exit 5
;;
## JSON
json)
jq --color-output . "${FILE_PATH}" && exit 5
python -m json.tool -- "${FILE_PATH}" && exit 5
;;
## Direct Stream Digital/Transfer (DSDIFF) and wavpack aren't detected
## by file(1).
dff|dsf|wv|wvc)
mediainfo "${FILE_PATH}" && exit 5
exiftool "${FILE_PATH}" && exit 5
;; # Continue with next handler on failure ;; # Continue with next handler on failure
esac esac
} }
handle_image() { handle_image() {
## Size of the preview if there are multiple options or it has to be
## rendered from vector graphics. If the conversion program allows
## specifying only one dimension while keeping the aspect ratio, the width
## will be used.
local DEFAULT_SIZE="1920x1080"
local mimetype="${1}" local mimetype="${1}"
case "${mimetype}" in case "${mimetype}" in
# SVG ## SVG
# image/svg+xml) # image/svg+xml|image/svg)
# convert "${FILE_PATH}" "${IMAGE_CACHE_PATH}" && exit 6 # convert -- "${FILE_PATH}" "${IMAGE_CACHE_PATH}" && exit 6
# exit 1;; # exit 1;;
# Image ## DjVu
# image/vnd.djvu)
# ddjvu -format=tiff -quality=90 -page=1 -size="${DEFAULT_SIZE}" \
# - "${IMAGE_CACHE_PATH}" < "${FILE_PATH}" \
# && exit 6 || exit 1;;
## Image
image/*) image/*)
local orientation local orientation
orientation="$( identify -format '%[EXIF:Orientation]\n' -- "${FILE_PATH}" )" orientation="$( identify -format '%[EXIF:Orientation]\n' -- "${FILE_PATH}" )"
# If orientation data is present and the image actually ## If orientation data is present and the image actually
# needs rotating ("1" means no rotation)... ## needs rotating ("1" means no rotation)...
if [[ -n "$orientation" && "$orientation" != 1 ]]; then if [[ -n "$orientation" && "$orientation" != 1 ]]; then
# ...auto-rotate the image according to the EXIF data. ## ...auto-rotate the image according to the EXIF data.
convert -- "${FILE_PATH}" -auto-orient "${IMAGE_CACHE_PATH}" && exit 6 convert -- "${FILE_PATH}" -auto-orient "${IMAGE_CACHE_PATH}" && exit 6
fi fi
# `w3mimgdisplay` will be called for all images (unless overriden as above), ## `w3mimgdisplay` will be called for all images (unless overriden
# but might fail for unsupported types. ## as above), but might fail for unsupported types.
exit 7;; exit 7;;
# Video ## Video
# video/*) # video/*)
# # Thumbnail # # Thumbnail
# ffmpegthumbnailer -i "${FILE_PATH}" -o "${IMAGE_CACHE_PATH}" -s 0 && exit 6 # ffmpegthumbnailer -i "${FILE_PATH}" -o "${IMAGE_CACHE_PATH}" -s 0 && exit 6
# exit 1;; # exit 1;;
# PDF
## PDF
# application/pdf) # application/pdf)
# pdftoppm -f 1 -l 1 \ # pdftoppm -f 1 -l 1 \
# -scale-to-x 1920 \ # -scale-to-x "${DEFAULT_SIZE%x*}" \
# -scale-to-y -1 \ # -scale-to-y -1 \
# -singlefile \ # -singlefile \
# -jpeg -tiffcompression jpeg \ # -jpeg -tiffcompression jpeg \
# -- "${FILE_PATH}" "${IMAGE_CACHE_PATH%.*}" \ # -- "${FILE_PATH}" "${IMAGE_CACHE_PATH%.*}" \
# && exit 6 || exit 1;; # && exit 6 || exit 1;;
# Preview archives using the first image inside.
# (Very useful for comic book collections for example.) ## ePub, MOBI, FB2 (using Calibre)
# application/epub+zip|application/x-mobipocket-ebook|\
# application/x-fictionbook+xml)
# # ePub (using https://github.com/marianosimone/epub-thumbnailer)
# epub-thumbnailer "${FILE_PATH}" "${IMAGE_CACHE_PATH}" \
# "${DEFAULT_SIZE%x*}" && exit 6
# ebook-meta --get-cover="${IMAGE_CACHE_PATH}" -- "${FILE_PATH}" \
# >/dev/null && exit 6
# exit 1;;
## Font
application/font*|application/*opentype)
preview_png="/tmp/$(basename "${IMAGE_CACHE_PATH%.*}").png"
if fontimage -o "${preview_png}" \
--pixelsize "120" \
--fontname \
--pixelsize "80" \
--text " ABCDEFGHIJKLMNOPQRSTUVWXYZ " \
--text " abcdefghijklmnopqrstuvwxyz " \
--text " 0123456789.:,;(*!?') ff fl fi ffi ffl " \
--text " The quick brown fox jumps over the lazy dog. " \
"${FILE_PATH}";
then
convert -- "${preview_png}" "${IMAGE_CACHE_PATH}" \
&& rm "${preview_png}" \
&& exit 6
else
exit 1
fi
;;
## Preview archives using the first image inside.
## (Very useful for comic book collections for example.)
# application/zip|application/x-rar|application/x-7z-compressed|\ # application/zip|application/x-rar|application/x-7z-compressed|\
# application/x-xz|application/x-bzip2|application/x-gzip|application/x-tar) # application/x-xz|application/x-bzip2|application/x-gzip|application/x-tar)
# local fn=""; local fe="" # local fn=""; local fe=""
@ -161,14 +238,60 @@ handle_image() {
# [ "$rar" ] || [ "$zip" ] && rm -- "${IMAGE_CACHE_PATH}" # [ "$rar" ] || [ "$zip" ] && rm -- "${IMAGE_CACHE_PATH}"
# ;; # ;;
esac esac
# openscad_image() {
# TMPPNG="$(mktemp -t XXXXXX.png)"
# openscad --colorscheme="${OPENSCAD_COLORSCHEME}" \
# --imgsize="${OPENSCAD_IMGSIZE/x/,}" \
# -o "${TMPPNG}" "${1}"
# mv "${TMPPNG}" "${IMAGE_CACHE_PATH}"
# }
# case "${FILE_EXTENSION_LOWER}" in
# ## 3D models
# ## OpenSCAD only supports png image output, and ${IMAGE_CACHE_PATH}
# ## is hardcoded as jpeg. So we make a tempfile.png and just
# ## move/rename it to jpg. This works because image libraries are
# ## smart enough to handle it.
# csg|scad)
# openscad_image "${FILE_PATH}" && exit 6
# ;;
# 3mf|amf|dxf|off|stl)
# openscad_image <(echo "import(\"${FILE_PATH}\");") && exit 6
# ;;
# esac
} }
handle_mime() { handle_mime() {
local mimetype="${1}" local mimetype="${1}"
case "${mimetype}" in case "${mimetype}" in
# Text ## RTF and DOC
text/rtf|*msword)
## Preview as text conversion
## note: catdoc does not always work for .doc files
## catdoc: http://www.wagner.pp.ru/~vitus/software/catdoc/
catdoc -- "${FILE_PATH}" && exit 5
exit 1;;
## DOCX, ePub, FB2 (using markdown)
## You might want to remove "|epub" and/or "|fb2" below if you have
## uncommented other methods to preview those formats
*wordprocessingml.document|*/epub+zip|*/x-fictionbook+xml)
## Preview as markdown conversion
pandoc -s -t markdown -- "${FILE_PATH}" && exit 5
exit 1;;
## XLS
*ms-excel)
## Preview as csv conversion
## xls2csv comes with catdoc:
## http://www.wagner.pp.ru/~vitus/software/catdoc/
xls2csv -- "${FILE_PATH}" && exit 5
exit 1;;
## Text
text/* | */xml) text/* | */xml)
# Syntax highlight ## Syntax highlight
if [[ "$( stat --printf='%s' -- "${FILE_PATH}" )" -gt "${HIGHLIGHT_SIZE_MAX}" ]]; then if [[ "$( stat --printf='%s' -- "${FILE_PATH}" )" -gt "${HIGHLIGHT_SIZE_MAX}" ]]; then
exit 2 exit 2
fi fi
@ -179,19 +302,30 @@ handle_mime() {
local pygmentize_format='terminal' local pygmentize_format='terminal'
local highlight_format='ansi' local highlight_format='ansi'
fi fi
highlight --replace-tabs="${HIGHLIGHT_TABWIDTH}" --out-format="${highlight_format}" \ env HIGHLIGHT_OPTIONS="${HIGHLIGHT_OPTIONS}" highlight \
--style="${HIGHLIGHT_STYLE}" --force -- "${FILE_PATH}" && exit 5 --out-format="${highlight_format}" \
# pygmentize -f "${pygmentize_format}" -O "style=${PYGMENTIZE_STYLE}" -- "${FILE_PATH}" && exit 5 --force -- "${FILE_PATH}" && exit 5
env COLORTERM=8bit bat --color=always --style="plain" \
-- "${FILE_PATH}" && exit 5
pygmentize -f "${pygmentize_format}" -O "style=${PYGMENTIZE_STYLE}"\
-- "${FILE_PATH}" && exit 5
exit 2;; exit 2;;
# Image ## DjVu
image/vnd.djvu)
## Preview as text conversion (requires djvulibre)
djvutxt "${FILE_PATH}" | fmt -w "${PV_WIDTH}" && exit 5
exiftool "${FILE_PATH}" && exit 5
exit 1;;
## Image
image/*) image/*)
# Preview as text conversion ## Preview as text conversion
# img2txt --gamma=0.6 --width="${PV_WIDTH}" -- "${FILE_PATH}" && exit 4 # img2txt --gamma=0.6 --width="${PV_WIDTH}" -- "${FILE_PATH}" && exit 4
exiftool "${FILE_PATH}" && exit 5 exiftool "${FILE_PATH}" && exit 5
exit 1;; exit 1;;
# Video and audio ## Video and audio
video/* | audio/*) video/* | audio/*)
mediainfo "${FILE_PATH}" && exit 5 mediainfo "${FILE_PATH}" && exit 5
exiftool "${FILE_PATH}" && exit 5 exiftool "${FILE_PATH}" && exit 5

View File

@ -1 +0,0 @@
/home/aditya/.config/rofi/scripts/apps.sh

View File

@ -1 +0,0 @@
/home/aditya/.config/rofi/scripts/menu_apps.sh

View File

@ -1 +0,0 @@
/home/aditya/.config/rofi/scripts/backlight.sh

View File

@ -1 +0,0 @@
/home/aditya/.config/rofi/scripts/menu_backlight.sh

View File

@ -1 +0,0 @@
/home/aditya/.config/rofi/scripts/battery.sh

View File

@ -1 +0,0 @@
/home/aditya/.config/rofi/scripts/menu_battery.sh

View File

@ -1 +0,0 @@
/home/aditya/.config/rofi/scripts/mpd.sh

View File

@ -1 +0,0 @@
/home/aditya/.config/rofi/scripts/menu_mpd.sh

View File

@ -1 +0,0 @@
/home/aditya/.config/rofi/scripts/network.sh

View File

@ -1 +0,0 @@
/home/aditya/.config/rofi/scripts/menu_network.sh

View File

@ -1 +0,0 @@
/home/aditya/.config/rofi/scripts/powermenu.sh

View File

@ -1 +0,0 @@
/home/aditya/.config/rofi/scripts/menu_powermenu.sh

View File

@ -1 +0,0 @@
/home/aditya/.config/rofi/scripts/quicklinks.sh

View File

@ -1 +0,0 @@
/home/aditya/.config/rofi/scripts/menu_quicklinks.sh

View File

@ -1 +0,0 @@
/home/aditya/.config/rofi/scripts/screenshot.sh

View File

@ -1 +0,0 @@
/home/aditya/.config/rofi/scripts/menu_screenshot.sh

View File

@ -1 +0,0 @@
/home/aditya/.config/rofi/scripts/time.sh

View File

@ -1 +0,0 @@
/home/aditya/.config/rofi/scripts/menu_time.sh

View File

@ -1,53 +0,0 @@
#!/bin/bash
# Source: http://askubuntu.com/a/450136
# I only slightly modify this script to add an option to show icon, useful for my tint2 executor
# Also useful for polybar custom script, dzen2 feeder, conkybar, lemonbar feeder, dunst notify, etc.
# 'usedcpu -i' = with icon, 'usedcpu' = text only
# Cheers!
# Addy
PREV_TOTAL=0
PREV_IDLE=0
cpuFile="/tmp/.cpu"
if [[ -f "${cpuFile}" ]]; then
fileCont=$(cat "${cpuFile}")
PREV_TOTAL=$(echo "${fileCont}" | head -n 1)
PREV_IDLE=$(echo "${fileCont}" | tail -n 1)
fi
CPU=(`cat /proc/stat | grep '^cpu '`) # Get the total CPU statistics.
unset CPU[0] # Discard the "cpu" prefix.
IDLE=${CPU[4]} # Get the idle CPU time.
# Calculate the total CPU time.
TOTAL=0
for VALUE in "${CPU[@]:0:4}"; do
let "TOTAL=$TOTAL+$VALUE"
done
if [[ "${PREV_TOTAL}" != "" ]] && [[ "${PREV_IDLE}" != "" ]]; then
# Calculate the CPU usage since we last checked.
let "DIFF_IDLE=$IDLE-$PREV_IDLE"
let "DIFF_TOTAL=$TOTAL-$PREV_TOTAL"
let "DIFF_USAGE=(1000*($DIFF_TOTAL-$DIFF_IDLE)/$DIFF_TOTAL+5)/10"
if [[ $1 = "-i" ]]; then
echo " ${DIFF_USAGE}%"
else
echo "${DIFF_USAGE}%"
fi
else
if [[ $1 = "-i" ]]; then
echo " ?"
else
echo "?"
fi
fi
# Remember the total and idle CPU times for the next check.
echo "${TOTAL}" > "${cpuFile}"
echo "${IDLE}" >> "${cpuFile}"

View File

@ -1,34 +0,0 @@
#!/bin/bash
# this script is taken from screenfetch
# I only slightly modify this script to add an option to show icon, useful for my tint2 executor
# 'usedram -i' = with icon, 'usedram' = text only
# 'usedram -fi' = full summary with icon, 'usedram' = full summary text only
# Cheers!
# Addy
mem_info=$(</proc/meminfo)
mem_info=$(echo $(echo $(mem_info=${mem_info// /}; echo ${mem_info//kB/})))
for m in $mem_info; do
case ${m//:*} in
"MemTotal") usedmem=$((usedmem+=${m//*:})); totalmem=${m//*:} ;;
"ShMem") usedmem=$((usedmem+=${m//*:})) ;;
"MemFree"|"Buffers"|"Cached"|"SReclaimable") usedmem=$((usedmem-=${m//*:})) ;;
esac
done
usedmem=$((usedmem / 1024))
totalmem=$((totalmem / 1024))
mem="${usedmem}MB / ${totalmem}MB"
## Complete summary
if [[ $1 = "-fi" ]]; then
echo " $mem"
elif [[ $1 = "-f" ]]; then
echo "$mem"
## Only used RAM
elif [[ $1 = "-i" ]]; then
echo " $usedmem MB"
else
echo "$usedmem MB"
fi

View File

@ -1 +0,0 @@
/home/aditya/.config/rofi/scripts/volume.sh

View File

@ -1 +0,0 @@
/home/aditya/.config/rofi/scripts/menu_volume.sh

View File

@ -1,150 +0,0 @@
/**
* User: simonvic
* Copyright: simonvic
*
*/
configuration {
display-drun: "§";
display-run: "$";
display-window: "缾";
display-ssh: "~#";
show-icons: true;
sidebar-mode: false;
font: "NotoSans Regular 16";
}
* {
text-color: @foreground;
active-background: rgb(100,50,50);
active-foreground: @foreground;
normal-background: @background;
normal-foreground: @foreground;
urgent-background: #9E2A5E;
urgent-foreground: @foreground;
alternate-active-background: @background;
alternate-active-foreground: @foreground;
alternate-normal-background: @background;
alternate-normal-foreground: @foreground;
alternate-urgent-background: @background;
alternate-urgent-foreground: @foreground;
selected-active-background: rgb(200,10,10);
selected-active-foreground: #FFFFFF;
selected-normal-background: rgb(200,50,50);
selected-normal-foreground: #FFFFFF;
selected-urgent-background: #9D596B;
selected-urgent-foreground: @foreground;
background-color: transparent;
background: rgba(33,33,33 ,0.6);
foreground: rgb(200,200,200);
spacing: 0;
}
window {
location: center;
anchor: center;
height: 100%;
width: 100%;
orientation: vertical;
children: [mainbox];
hide-scrollbar: true;
padding: 20% 35% 20% 35%;
background-color: #00000000;
}
mainbox {
children: [inputbar, listview];
}
listview {
spacing: 0.6em;
dynamic: false;
cycle: false;
padding: 5px 5px 5px 5px;
}
inputbar {
border-radius: 50%;
padding: 10px;
border-spacing: 5px 0 0 0;
border: 0px;
spacing: 0px;
margin: 10px;
border-color: rgb(200,50,50);
background-color: @background;
text-color: #FFFFFF;
}
entry{
padding: 5px;
border: 0px 0px 2px 0px;
border-color: rgb(250,50,50);
background-color: rgba(0,0,0,0);
text-color: #FFFFFF;
}
prompt{
padding: 5px;
background-color: #00000000;
text-color: #FFFFFF;
}
element {
padding: 10px;
border-radius: 50%;
}
element normal.normal {
background-color: @normal-background;
text-color: @normal-foreground;
}
element normal.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
element normal.active {
background-color: @active-background;
text-color: @active-foreground;
}
element selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
border-color: @active-background;
}
element selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
element selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
element alternate.normal {
background-color: @normal-background;
text-color: @normal-foreground;
}
element alternate.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
element alternate.active {
background-color: @active-background;
text-color: @active-foreground;
}
rofi.theme: /home/kapper/.config/rofi/themes/onedark.rasi

View File

@ -1,42 +0,0 @@
#!/bin/bash
## Author : Aditya Shakya (adi1090x)
## Mail : adi1090x@gmail.com
## browser : @adi1090x
## music : @adi1090x
rofi_command="rofi -theme themes/apps.rasi"
# Links
terminal=""
files="ﱮ"
editor=""
browser=""
music=""
settings="漣"
# Variable passed to rofi
options="$terminal\n$files\n$editor\n$browser\n$music\n$settings"
chosen="$(echo -e "$options" | $rofi_command -p "Most Used" -dmenu -selected-row 0)"
case $chosen in
$terminal)
termite &
;;
$files)
thunar &
;;
$editor)
geany &
;;
$browser)
firefox &
;;
$music)
lxmusic &
;;
$settings)
xfce4-settings-manager &
;;
esac

View File

@ -1,44 +0,0 @@
#!/bin/bash
## Author : Aditya Shakya (adi1090x)
## Mail : adi1090x@gmail.com
## Github : @adi1090x
## Reddit : @adi1090x
rofi_command="rofi -theme themes/backlight.rasi"
## Get Brightness
VAR="$(xbacklight -get)"
BLIGHT="$(printf "%.0f\n" "$VAR")"
if [[ $BLIGHT -ge 1 ]] && [[ $BLIGHT -le 29 ]]; then
MSG="Low"
elif [[ $BLIGHT -ge 30 ]] && [[ $BLIGHT -le 49 ]]; then
MSG="Optimal"
elif [[ $BLIGHT -ge 50 ]] && [[ $BLIGHT -le 69 ]]; then
MSG="High"
elif [[ $BLIGHT -ge 70 ]] && [[ $BLIGHT -le 99 ]]; then
MSG="Too Much"
fi
## Icons
ICON_UP=""
ICON_DOWN=""
ICON_OPT=""
options="$ICON_UP\n$ICON_OPT\n$ICON_DOWN"
## Main
chosen="$(echo -e "$options" | $rofi_command -p "$BLIGHT%" -dmenu -selected-row 1)"
case $chosen in
$ICON_UP)
xbacklight -inc 10 && notify-send -u low -t 1500 "Brightness Up $ICON_UP"
;;
$ICON_DOWN)
xbacklight -dec 10 && notify-send -u low -t 1500 "Brightness Down $ICON_DOWN"
;;
$ICON_OPT)
xbacklight -set 35 && notify-send -u low -t 1500 "Optimal Brightness $ICON_OPT"
;;
esac

View File

@ -1,59 +0,0 @@
#!/bin/bash
## Author : Aditya Shakya (adi1090x)
## Mail : adi1090x@gmail.com
## Github : @adi1090x
## Reddit : @adi1090x
rofi_command="rofi -theme themes/battery.rasi"
## Get data
BATTERY="$(acpi | awk -F ' ' '{print $4}' | tr -d \%,)"
CHARGE="$(acpi | awk -F ' ' '{print $3}' | tr -d \,)"
active=""
urgent=""
if [[ $CHARGE = *"Charging"* ]]; then
active="-a 1"
ICON_CHRG=""
MSG=$CHARGE
else
urgent="-u 1"
ICON_CHRG="ﮤ"
MSG="Discharging"
fi
# Discharging
#if [[ $CHARGE -eq 1 ]] && [[ $BATTERY -eq 100 ]]; then
# ICON_DISCHRG=""
if [[ $BATTERY -ge 5 ]] && [[ $BATTERY -le 19 ]]; then
ICON_DISCHRG=""
elif [[ $BATTERY -ge 20 ]] && [[ $BATTERY -le 39 ]]; then
ICON_DISCHRG=""
elif [[ $BATTERY -ge 40 ]] && [[ $BATTERY -le 59 ]]; then
ICON_DISCHRG=""
elif [[ $BATTERY -ge 60 ]] && [[ $BATTERY -le 79 ]]; then
ICON_DISCHRG=""
elif [[ $BATTERY -ge 80 ]] && [[ $BATTERY -le 100 ]]; then
ICON_DISCHRG=""
fi
## Icons
ICON_PMGR=""
options="$ICON_DISCHRG\n$ICON_CHRG\n$ICON_PMGR"
## Main
chosen="$(echo -e "$options" | $rofi_command -p "$BATTERY%" -dmenu $active $urgent -selected-row 0)"
case $chosen in
$ICON_CHRG)
;;
$ICON_DISCHRG)
;;
$ICON_PMGR)
xfce4-power-manager-settings
;;
esac

View File

@ -1,42 +0,0 @@
#!/bin/bash
## Author : Aditya Shakya (adi1090x)
## Mail : adi1090x@gmail.com
## browser : @adi1090x
## music : @adi1090x
rofi_command="rofi -theme themes/menu/apps.rasi"
# Links
terminal=""
files="ﱮ"
editor=""
browser=""
music=""
settings="漣"
# Variable passed to rofi
options="$terminal\n$files\n$editor\n$browser\n$music\n$settings"
chosen="$(echo -e "$options" | $rofi_command -p "Most Used" -dmenu -selected-row 0)"
case $chosen in
$terminal)
termite &
;;
$files)
thunar &
;;
$editor)
geany &
;;
$browser)
firefox &
;;
$music)
lxmusic &
;;
$settings)
xfce4-settings-manager &
;;
esac

View File

@ -1,44 +0,0 @@
#!/bin/bash
## Author : Aditya Shakya (adi1090x)
## Mail : adi1090x@gmail.com
## Github : @adi1090x
## Reddit : @adi1090x
rofi_command="rofi -theme themes/menu/backlight.rasi"
## Get Brightness
VAR="$(xbacklight -get)"
BLIGHT="$(printf "%.0f\n" "$VAR")"
if [[ $BLIGHT -ge 1 ]] && [[ $BLIGHT -le 29 ]]; then
MSG="Low"
elif [[ $BLIGHT -ge 30 ]] && [[ $BLIGHT -le 49 ]]; then
MSG="Optimal"
elif [[ $BLIGHT -ge 50 ]] && [[ $BLIGHT -le 69 ]]; then
MSG="High"
elif [[ $BLIGHT -ge 70 ]] && [[ $BLIGHT -le 99 ]]; then
MSG="Too Much"
fi
## Icons
ICON_UP=""
ICON_DOWN=""
ICON_OPT=""
options="$ICON_UP\n$ICON_OPT\n$ICON_DOWN"
## Main
chosen="$(echo -e "$options" | $rofi_command -p "$BLIGHT% : $MSG" -dmenu -selected-row 1)"
case $chosen in
$ICON_UP)
xbacklight -inc 10 && notify-send -u low -t 1500 "Brightness Up $ICON_UP"
;;
$ICON_DOWN)
xbacklight -dec 10 && notify-send -u low -t 1500 "Brightness Down $ICON_DOWN"
;;
$ICON_OPT)
xbacklight -set 35 && notify-send -u low -t 1500 "Optimal Brightness $ICON_OPT"
;;
esac

View File

@ -1,58 +0,0 @@
#!/bin/bash
## Author : Aditya Shakya (adi1090x)
## Mail : adi1090x@gmail.com
## Github : @adi1090x
## Reddit : @adi1090x
rofi_command="rofi -theme themes/menu/battery.rasi"
## Get data
BATTERY="$(acpi | awk -F ' ' '{print $4}' | tr -d \%,)"
CHARGE="$(acpi | awk -F ' ' '{print $3}' | tr -d \,)"
active=""
urgent=""
if [[ $CHARGE = *"Charging"* ]]; then
active="-a 1"
ICON_CHRG=""
MSG=$CHARGE
else
urgent="-u 1"
ICON_CHRG="ﮤ"
MSG="Discharging"
fi
# Discharging
#if [[ $CHARGE -eq 1 ]] && [[ $BATTERY -eq 100 ]]; then
# ICON_DISCHRG=""
if [[ $BATTERY -ge 5 ]] && [[ $BATTERY -le 19 ]]; then
ICON_DISCHRG=""
elif [[ $BATTERY -ge 20 ]] && [[ $BATTERY -le 39 ]]; then
ICON_DISCHRG=""
elif [[ $BATTERY -ge 40 ]] && [[ $BATTERY -le 59 ]]; then
ICON_DISCHRG=""
elif [[ $BATTERY -ge 60 ]] && [[ $BATTERY -le 79 ]]; then
ICON_DISCHRG=""
elif [[ $BATTERY -ge 80 ]] && [[ $BATTERY -le 100 ]]; then
ICON_DISCHRG=""
fi
## Icons
ICON_PMGR=""
options="$ICON_DISCHRG\n$ICON_CHRG\n$ICON_PMGR"
## Main
chosen="$(echo -e "$options" | $rofi_command -p "$MSG : $BATTERY%" -dmenu $active $urgent -selected-row 0)"
case $chosen in
$ICON_CHRG)
;;
$ICON_DISCHRG)
;;
$ICON_PMGR)
xfce4-power-manager-settings
;;
esac

View File

@ -1,70 +0,0 @@
#!/bin/bash
rofi_command="rofi -theme themes/menu/mpd.rasi"
# Gets the current status of mpd (for us to parse it later on)
status="$(mpc status)"
# Defines the Play / Pause option content
if [[ $status == *"[playing]"* ]]; then
play_pause=""
else
play_pause=""
fi
active=""
urgent=""
# Display if repeat mode is on / off
tog_repeat="凌"
if [[ $status == *"repeat: on"* ]]; then
active="-a 4"
elif [[ $status == *"repeat: off"* ]]; then
urgent="-u 4"
else
tog_repeat=" Parsing error"
fi
# Display if random mode is on / off
tog_random=""
if [[ $status == *"random: on"* ]]; then
[ -n "$active" ] && active+=",5" || active="-a 5"
elif [[ $status == *"random: off"* ]]; then
[ -n "$urgent" ] && urgent+=",5" || urgent="-u 5"
else
tog_random=" Parsing error"
fi
stop=""
next=""
previous=""
# Variable passed to rofi
options="$previous\n$play_pause\n$stop\n$next\n$tog_repeat\n$tog_random"
# Get the current playing song
current=$(mpc current)
# If mpd isn't running it will return an empty string, we don't want to display that
if [[ -z "$current" ]]; then
current="-"
fi
# Spawn the mpd menu with the "Play / Pause" entry selected by default
chosen="$(echo -e "$options" | $rofi_command -p "$current" -dmenu $active $urgent -selected-row 1)"
case $chosen in
$previous)
mpc -q prev && notify-send -u low -t 1800 "$(mpc current)"
;;
$play_pause)
mpc -q toggle && notify-send -u low -t 1800 "$(mpc current)"
;;
$stop)
mpc -q stop
;;
$next)
mpc -q next && notify-send -u low -t 1800 "$(mpc current)"
;;
$tog_repeat)
mpc -q repeat
;;
$tog_random)
mpc -q random
;;
esac

View File

@ -1,65 +0,0 @@
#!/bin/bash
## Author : Aditya Shakya (adi1090x)
## Mail : adi1090x@gmail.com
## Github : @adi1090x
## Reddit : @adi1090x
rofi_command="rofi -theme themes/menu/network.rasi"
## Get info
IFACE="$(nmcli | grep -i interface | awk '/interface/ {print $2}')"
#SSID="$(iwgetid -r)"
#LIP="$(nmcli | grep -i server | awk '/server/ {print $2}')"
#PIP="$(dig +short myip.opendns.com @resolver1.opendns.com )"
STATUS="$(nmcli radio wifi)"
active=""
urgent=""
if (ping -c 1 archlinux.org || ping -c 1 google.com || ping -c 1 bitbucket.org || ping -c 1 github.com || ping -c 1 sourceforge.net) &>/dev/null; then
if [[ $STATUS == *"enable"* ]]; then
if [[ $IFACE == e* ]]; then
connected=""
else
connected="直"
fi
active="-a 0"
SSID="$(iwgetid -r)"
PIP="$(dig +short myip.opendns.com @resolver1.opendns.com )"
fi
else
urgent="-u 0"
SSID="Disconnected"
PIP="Not Available"
connected="睊"
fi
## Icons
bmon="龍"
launch_cli=""
launch="歷"
options="$connected\n$bmon\n$launch_cli\n$launch"
## Main
chosen="$(echo -e "$options" | $rofi_command -p "$SSID : $PIP" -dmenu $active $urgent -selected-row 1)"
case $chosen in
$connected)
if [[ $STATUS == *"enable"* ]]; then
nmcli radio wifi off
else
nmcli radio wifi on
fi
;;
$bmon)
termite -e bmon
;;
$launch_cli)
termite -e nmtui
;;
$launch)
nm-connection-editor
;;
esac

View File

@ -1,44 +0,0 @@
#!/bin/bash
## Author : Aditya Shakya (adi1090x)
## Mail : adi1090x@gmail.com
## Github : @adi1090x
## Reddit : @adi1090x
rofi_command="rofi -theme themes/menu/powermenu.rasi"
uptime=$(uptime -p | sed -e 's/up //g')
#mem=$( free -h | grep -i mem | awk -F ' ' '{print $3}')
cpu=$(sh ~/.config/rofi/bin/usedcpu)
memory=$(sh ~/.config/rofi/bin/usedram)
# Options
shutdown="襤"
reboot="ﰇ"
lock=""
suspend="鈴"
logout=""
# Variable passed to rofi
options="$shutdown\n$reboot\n$lock\n$suspend\n$logout"
chosen="$(echo -e "$options" | $rofi_command -p "$uptime   $cpu   $memory " -dmenu -selected-row 2)"
case $chosen in
$shutdown)
systemctl poweroff
;;
$reboot)
systemctl reboot
;;
$lock)
i3lock
;;
$suspend)
mpc -q pause
amixer set Master mute
systemctl suspend
;;
$logout)
openbox --exit
;;
esac

View File

@ -1,42 +0,0 @@
#!/bin/bash
## Author : Aditya Shakya (adi1090x)
## Mail : adi1090x@gmail.com
## Github : @adi1090x
## Reddit : @adi1090x
rofi_command="rofi -theme themes/menu/quicklinks.rasi"
# Links
google=""
facebook=""
twitter=""
github=""
reddit=""
youtube=""
# Variable passed to rofi
options="$google\n$facebook\n$twitter\n$github\n$reddit\n$youtube"
chosen="$(echo -e "$options" | $rofi_command -p "Open In : Firefox" -dmenu -selected-row 0)"
case $chosen in
$google)
firefox --new-tab https://www.google.com
;;
$facebook)
firefox --new-tab https://www.facebook.com
;;
$twitter)
firefox --new-tab https://www.twitter.com
;;
$github)
firefox --new-tab https://www.github.com
;;
$reddit)
firefox --new-tab https://www.reddit.com
;;
$youtube)
firefox --new-tab https://www.youtube.com
;;
esac

View File

@ -1,30 +0,0 @@
#!/bin/bash
## Author : Aditya Shakya (adi1090x)
## Mail : adi1090x@gmail.com
## Github : @adi1090x
## Reddit : @adi1090x
rofi_command="rofi -theme themes/menu/screenshot.rasi"
# Options
screen=""
area=""
window=""
# Variable passed to rofi
options="$screen\n$area\n$window"
chosen="$(echo -e "$options" | $rofi_command -p 'scrot' -dmenu -selected-row 1)"
case $chosen in
$screen)
sleep 1; scrot 'Screenshot_%Y-%m-%d-%S_$wx$h.png' -e 'mv $f $$(xdg-user-dir PICTURES) ; viewnior $$(xdg-user-dir PICTURES)/$f'
;;
$area)
scrot -s 'Screenshot_%Y-%m-%d-%S_$wx$h.png' -e 'mv $f $$(xdg-user-dir PICTURES) ; viewnior $$(xdg-user-dir PICTURES)/$f'
;;
$window)
sleep 1; scrot -u 'Screenshot_%Y-%m-%d-%S_$wx$h.png' -e 'mv $f $$(xdg-user-dir PICTURES) ; viewnior $$(xdg-user-dir PICTURES)/$f'
;;
esac

View File

@ -1,21 +0,0 @@
#!/bin/bash
## Author : Aditya Shakya (adi1090x)
## Mail : adi1090x@gmail.com
## Github : @adi1090x
## Reddit : @adi1090x
rofi_command="rofi -theme themes/menu/time.rasi"
## Get time and date
TIME="$(date +"%I:%M %p")"
DN=$(date +"%A")
MN=$(date +"%B")
DAY="$(date +"%d")"
MONTH="$(date +"%m")"
YEAR="$(date +"%Y")"
options="$DAY\n$MONTH\n$YEAR"
## Main
chosen="$(echo -e "$options" | $rofi_command -p " at $TIME on $DN in $MN" -dmenu -selected-row 1)"

View File

@ -1,49 +0,0 @@
#!/bin/bash
## Author : Aditya Shakya (adi1090x)
## Mail : adi1090x@gmail.com
## Github : @adi1090x
## Reddit : @adi1090x
rofi_command="rofi -theme themes/menu/volume.rasi"
## Get Volume
#VOLUME=$(amixer get Master | tail -n 1 | awk -F ' ' '{print $5}' | tr -d '[]%')
MUTE=$(amixer get Master | tail -n 1 | awk -F ' ' '{print $6}' | tr -d '[]%')
active=""
urgent=""
if [[ $MUTE == *"off"* ]]; then
active="-a 1"
else
urgent="-u 1"
fi
if [[ $MUTE == *"on"* ]]; then
VOLUME="$(amixer get Master | tail -n 1 | awk -F ' ' '{print $5}' | tr -d '[]%')%"
else
VOLUME="Muted"
fi
## Icons
ICON_UP="ﱛ"
ICON_DOWN="ﱜ"
ICON_MUTED="ﱝ"
options="$ICON_UP\n$ICON_MUTED\n$ICON_DOWN"
## Main
chosen="$(echo -e "$options" | $rofi_command -p "$VOLUME" -dmenu $active $urgent -selected-row 0)"
case $chosen in
$ICON_UP)
amixer -Mq set Master,0 5%+ unmute && notify-send -u low -t 1500 "Volume Up $ICON_UP"
;;
$ICON_DOWN)
amixer -Mq set Master,0 5%- unmute && notify-send -u low -t 1500 "Volume Down $ICON_DOWN"
;;
$ICON_MUTED)
amixer -q set Master toggle
;;
esac

View File

@ -1,70 +0,0 @@
#!/bin/bash
rofi_command="rofi -theme themes/mpd.rasi"
# Gets the current status of mpd (for us to parse it later on)
status="$(mpc status)"
# Defines the Play / Pause option content
if [[ $status == *"[playing]"* ]]; then
play_pause=""
else
play_pause=""
fi
active=""
urgent=""
# Display if repeat mode is on / off
tog_repeat="凌"
if [[ $status == *"repeat: on"* ]]; then
active="-a 4"
elif [[ $status == *"repeat: off"* ]]; then
urgent="-u 4"
else
tog_repeat=" Parsing error"
fi
# Display if random mode is on / off
tog_random=""
if [[ $status == *"random: on"* ]]; then
[ -n "$active" ] && active+=",5" || active="-a 5"
elif [[ $status == *"random: off"* ]]; then
[ -n "$urgent" ] && urgent+=",5" || urgent="-u 5"
else
tog_random=" Parsing error"
fi
stop=""
next=""
previous=""
# Variable passed to rofi
options="$previous\n$play_pause\n$stop\n$next\n$tog_repeat\n$tog_random"
# Get the current playing song
current=$(mpc -f %title% current)
# If mpd isn't running it will return an empty string, we don't want to display that
if [[ -z "$current" ]]; then
current="-"
fi
# Spawn the mpd menu with the "Play / Pause" entry selected by default
chosen="$(echo -e "$options" | $rofi_command -p "$current" -dmenu $active $urgent -selected-row 1)"
case $chosen in
$previous)
mpc -q prev && notify-send -u low -t 1800 "$(mpc current)"
;;
$play_pause)
mpc -q toggle && notify-send -u low -t 1800 "$(mpc current)"
;;
$stop)
mpc -q stop
;;
$next)
mpc -q next && notify-send -u low -t 1800 "$(mpc current)"
;;
$tog_repeat)
mpc -q repeat
;;
$tog_random)
mpc -q random
;;
esac

View File

@ -1,65 +0,0 @@
#!/bin/bash
## Author : Aditya Shakya (adi1090x)
## Mail : adi1090x@gmail.com
## Github : @adi1090x
## Reddit : @adi1090x
rofi_command="rofi -theme themes/network.rasi"
## Get info
IFACE="$(nmcli | grep -i interface | awk '/interface/ {print $2}')"
#SSID="$(iwgetid -r)"
#LIP="$(nmcli | grep -i server | awk '/server/ {print $2}')"
#PIP="$(dig +short myip.opendns.com @resolver1.opendns.com )"
STATUS="$(nmcli radio wifi)"
active=""
urgent=""
if (ping -c 1 archlinux.org || ping -c 1 google.com || ping -c 1 bitbucket.org || ping -c 1 github.com || ping -c 1 sourceforge.net) &>/dev/null; then
if [[ $STATUS == *"enable"* ]]; then
if [[ $IFACE == e* ]]; then
connected=""
else
connected="直"
fi
active="-a 0"
MSG="﬉ Online"
PIP="$(dig +short myip.opendns.com @resolver1.opendns.com )"
fi
else
urgent="-u 0"
MSG="Offline"
PIP="Not Available"
connected="睊"
fi
## Icons
bmon="龍"
launch_cli=""
launch="歷"
options="$connected\n$bmon\n$launch_cli\n$launch"
## Main
chosen="$(echo -e "$options" | $rofi_command -p "$MSG" -dmenu $active $urgent -selected-row 1)"
case $chosen in
$connected)
if [[ $STATUS == *"enable"* ]]; then
nmcli radio wifi off
else
nmcli radio wifi on
fi
;;
$bmon)
termite -e bmon
;;
$launch_cli)
termite -e nmtui
;;
$launch)
nm-connection-editor
;;
esac

View File

@ -1,41 +0,0 @@
#!/bin/bash
## Author : Aditya Shakya (adi1090x)
## Mail : adi1090x@gmail.com
## Github : @adi1090x
## Reddit : @adi1090x
rofi_command="rofi -theme themes/powermenu.rasi"
uptime=$(uptime -p | sed -e 's/up //g')
# Options
shutdown="襤"
reboot="ﰇ"
lock=""
suspend="鈴"
logout=""
# Variable passed to rofi
options="$shutdown\n$reboot\n$lock\n$suspend\n$logout"
chosen="$(echo -e "$options" | $rofi_command -p "UP - $uptime" -dmenu -selected-row 2)"
case $chosen in
$shutdown)
systemctl poweroff
;;
$reboot)
systemctl reboot
;;
$lock)
i3lock
;;
$suspend)
mpc -q pause
amixer set Master mute
systemctl suspend
;;
$logout)
openbox --exit
;;
esac

View File

@ -1,42 +0,0 @@
#!/bin/bash
## Author : Aditya Shakya (adi1090x)
## Mail : adi1090x@gmail.com
## Github : @adi1090x
## Reddit : @adi1090x
rofi_command="rofi -theme themes/quicklinks.rasi"
# Links
google=""
facebook=""
twitter=""
github=""
reddit=""
youtube=""
# Variable passed to rofi
options="$google\n$facebook\n$twitter\n$github\n$reddit\n$youtube"
chosen="$(echo -e "$options" | $rofi_command -p "Open In : Firefox" -dmenu -selected-row 0)"
case $chosen in
$google)
firefox --new-tab https://www.google.com
;;
$facebook)
firefox --new-tab https://www.facebook.com
;;
$twitter)
firefox --new-tab https://www.twitter.com
;;
$github)
firefox --new-tab https://www.github.com
;;
$reddit)
firefox --new-tab https://www.reddit.com
;;
$youtube)
firefox --new-tab https://www.youtube.com
;;
esac

View File

@ -1,30 +0,0 @@
#!/bin/bash
## Author : Aditya Shakya (adi1090x)
## Mail : adi1090x@gmail.com
## Github : @adi1090x
## Reddit : @adi1090x
rofi_command="rofi -theme themes/screenshot.rasi"
# Options
screen=""
area=""
window=""
# Variable passed to rofi
options="$screen\n$area\n$window"
chosen="$(echo -e "$options" | $rofi_command -p '' -dmenu -selected-row 1)"
case $chosen in
$screen)
sleep 1; scrot 'Screenshot_%Y-%m-%d-%S_$wx$h.png' -e 'mv $f $$(xdg-user-dir PICTURES) ; viewnior $$(xdg-user-dir PICTURES)/$f'
;;
$area)
scrot -s 'Screenshot_%Y-%m-%d-%S_$wx$h.png' -e 'mv $f $$(xdg-user-dir PICTURES) ; viewnior $$(xdg-user-dir PICTURES)/$f'
;;
$window)
sleep 1; scrot -u 'Screenshot_%Y-%m-%d-%S_$wx$h.png' -e 'mv $f $$(xdg-user-dir PICTURES) ; viewnior $$(xdg-user-dir PICTURES)/$f'
;;
esac

View File

@ -1,19 +0,0 @@
#!/bin/bash
## Author : Aditya Shakya (adi1090x)
## Mail : adi1090x@gmail.com
## Github : @adi1090x
## Reddit : @adi1090x
rofi_command="rofi -theme themes/time.rasi"
## Get time and date
TIME="$(date +"%A, %I:%M %p")"
DAY="$(date +"%d")"
MONTH="$(date +"%m")"
YEAR="$(date +"%Y")"
options="$DAY\n$MONTH\n$YEAR"
## Main
chosen="$(echo -e "$options" | $rofi_command -p "$TIME" -dmenu -selected-row 1)"

View File

@ -1,55 +0,0 @@
#!/bin/bash
## Author : Aditya Shakya (adi1090x)
## Mail : adi1090x@gmail.com
## Github : @adi1090x
## Reddit : @adi1090x
rofi_command="rofi -theme themes/volume.rasi"
## Get Volume
#VOLUME=$(amixer get Master | tail -n 1 | awk -F ' ' '{print $5}' | tr -d '[]%')
MUTE=$(amixer get Master | tail -n 1 | awk -F ' ' '{print $6}' | tr -d '[]%')
active=""
urgent=""
if [[ $MUTE == *"off"* ]]; then
active="-a 1"
else
urgent="-u 1"
fi
if [[ $MUTE == *"off"* ]]; then
active="-a 1"
else
urgent="-u 1"
fi
if [[ $MUTE == *"on"* ]]; then
VOLUME="$(amixer get Master | tail -n 1 | awk -F ' ' '{print $5}' | tr -d '[]%')%"
else
VOLUME="Mu..."
fi
## Icons
ICON_UP="ﱛ"
ICON_DOWN="ﱜ"
ICON_MUTED="ﱝ"
options="$ICON_UP\n$ICON_MUTED\n$ICON_DOWN"
## Main
chosen="$(echo -e "$options" | $rofi_command -p "$VOLUME" -dmenu $active $urgent -selected-row 0)"
case $chosen in
$ICON_UP)
amixer -Mq set Master,0 5%+ unmute && notify-send -u low -t 1500 "Volume Up $ICON_UP"
;;
$ICON_DOWN)
amixer -Mq set Master,0 5%- unmute && notify-send -u low -t 1500 "Volume Down $ICON_DOWN"
;;
$ICON_MUTED)
amixer -q set Master toggle
;;
esac

View File

@ -1,35 +0,0 @@
#### fancy
![fancy](https://53280.de/rofi/fancy.png)
#### flat-orange
![flat_orange](https://53280.de/rofi/flat_orange.png)
#### oxide
![oxide](https://53280.de/rofi/oxide.png)
#### solarized-darker
![solarized_darker](https://53280.de/rofi/solarized_darker.png)
#### sidetab
![sidetab](https://53280.de/rofi/sidetab.png)
#### material
![material](https://53280.de/rofi/material.png)
#### arc-red-dark
![arc-red-dark](https://53280.de/rofi/arc-red.png)
#### onedark
![onedark](https://53280.de/rofi/onedark.png)
#### ribbon
![ribbon](https://53280.de/rofi/ribbon.png)
#### rezlooks
![rezlooks](https://53280.de/rofi/rezlooks.png)
#### slate
![slate](https://53280.de/rofi/slate.png)
#### flamingo
![flamingo](https://53280.de/rofi/flamingo.png)

View File

@ -1,124 +0,0 @@
/*
*
* Author : Aditya Shakya (adi1090x)
* Mail : adi1090x@gmail.com
* Github : @adi1090x
* Reddit : @adi1090x
*
*/
@import "colors.rasi"
/* ########### */
* {
/* General */
text-font: "Comfortaa 12";
icon-font: "Hurmit Nerd Font Mono 32";
icon-font-small: "Hurmit Nerd Font Mono 24";
option-6-listview-spacing: 10px;
menu-window-padding: 5px 15px;
menu-inputbar-margin: 10px 0px;
menu-prompt-padding: 10px 20px 10px 20px;
menu-prompt-margin: 0px 0px 0px -2px;
menu-element-border: 10px;
menu-element-padding: 3px 8px -1px -40px;
}
/* ########### */
#window {
width: 34.5%;
height: 20%;
}
/* ########### */
* {
background-color: @background;
text-color: @foreground;
font: @icon-font;
}
#horibox {
children: [ listview ];
}
#listview {
layout: horizontal;
}
#element {
padding: @option-element-padding;
background-color: @background-light;
}
#element.selected {
background-color: @accent;
text-color: @background;
}
/* ########### */
* {
font: @text-font;
}
#window {
padding: @menu-window-padding;
children: [ inputbar, horibox ];
}
#inputbar {
children: [ textbox-prompt-colon, prompt ];
margin: @menu-inputbar-margin;
}
prompt,
textbox-prompt-colon {
padding: @menu-prompt-padding;
border: 2px;
border-color: @accent;
}
#prompt {
margin: @menu-prompt-margin;
background-color: @background-light;
text-color: @accent;
}
#textbox-prompt-colon {
expand: false;
str: "Apps";
background-color: @accent;
text-color: @background;
}
#horibox {
padding: 0px;
}
#listview {
spacing: @option-6-listview-spacing;
lines: 6;
}
#element {
font: @icon-font;
border: @menu-element-border;
padding: @menu-element-padding;
border-color: @background-light;
}
#element.selected {
border-color: @accent;
}
element.active,
element.selected.urgent {
background-color: @on;
text-color: @background;
border-color: @on;
}
element.selected.urgent {
border-color: @accent;
}
element.urgent,
element.selected.active {
background-color: @off;
text-color: @background;
border-color: @off;
}
element.selected.active {
border-color: @accent;
}

View File

@ -1,137 +0,0 @@
/*
* ROFI Color theme
* A red variation of Arc-Dark theme by leofa, based on arc-theme-Red (https://github.com/mclmza/arc-theme-Red)
* User: wikwg9
*/
* {
selected-normal-foreground: rgba ( 249, 249, 249, 100 % );
foreground: rgba ( 196, 203, 212, 100 % );
normal-foreground: @foreground;
alternate-normal-background: rgba ( 64, 69, 82, 59 % );
red: rgba ( 220, 50, 47, 100 % );
selected-urgent-foreground: rgba ( 249, 249, 249, 100 % );
blue: rgba ( 38, 139, 210, 100 % );
urgent-foreground: rgba ( 204, 102, 102, 100 % );
alternate-urgent-background: rgba ( 75, 81, 96, 90 % );
active-foreground: rgba ( 220, 140, 160, 100 % );
lightbg: rgba ( 238, 232, 213, 100 % );
selected-active-foreground: rgba ( 249, 249, 249, 100 % );
alternate-active-background: rgba ( 75, 81, 96, 89 % );
background: rgba ( 45, 48, 59, 95 % );
alternate-normal-foreground: @foreground;
normal-background: @background;
lightfg: rgba ( 88, 104, 117, 100 % );
selected-normal-background: rgba ( 204, 87, 93, 100 % );
border-color: rgba ( 137, 131, 124, 100 % );
spacing: 2;
separatorcolor: rgba ( 29, 31, 33, 100 % );
urgent-background: rgba ( 29, 31, 33, 17 % );
selected-urgent-background: rgba ( 165, 66, 66, 100 % );
alternate-urgent-foreground: @urgent-foreground;
background-color: rgba ( 0, 0, 0, 0 % );
alternate-active-foreground: @active-foreground;
active-background: rgba ( 29, 31, 33, 17 % );
selected-active-background: rgba ( 204, 87, 93, 100 % );
}
#window {
background-color: @background;
padding: 5;
}
#mainbox {
border: 0;
padding: 0;
}
#message {
border: 2px 0px 0px ;
border-color: @separatorcolor;
padding: 1px ;
}
#textbox {
text-color: @foreground;
}
#listview {
fixed-height: 0;
border: 2px 0px 0px ;
border-color: @separatorcolor;
spacing: 2px ;
scrollbar: false;
padding: 2px 0px 0px ;
}
#element {
border: 0;
padding: 1px ;
}
#element.normal.normal {
background-color: @normal-background;
text-color: @normal-foreground;
}
#element.normal.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
#element.normal.active {
background-color: @active-background;
text-color: @active-foreground;
}
#element.selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#element.selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
#element.selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
#element.alternate.normal {
background-color: @alternate-normal-background;
text-color: @alternate-normal-foreground;
}
#element.alternate.urgent {
background-color: @alternate-urgent-background;
text-color: @alternate-urgent-foreground;
}
#element.alternate.active {
background-color: @alternate-active-background;
text-color: @alternate-active-foreground;
}
#mode-switcher {
border: 2px 0px 0px ;
border-color: @separatorcolor;
}
#button {
spacing: 0;
text-color: @normal-foreground;
}
#button.selected {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#inputbar {
spacing: 0;
text-color: @normal-foreground;
padding: 1px ;
}
#case-indicator {
spacing: 0;
text-color: @normal-foreground;
}
#entry {
spacing: 0;
text-color: @normal-foreground;
}
#prompt {
spacing: 0;
text-color: @normal-foreground;
}
#inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
#textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3em 0em 0em ;
text-color: @normal-foreground;
}

View File

@ -1,124 +0,0 @@
/*
*
* Author : Aditya Shakya (adi1090x)
* Mail : adi1090x@gmail.com
* Github : @adi1090x
* Reddit : @adi1090x
*
*/
@import "colors.rasi"
/* ########### */
* {
/* General */
text-font: "Comfortaa 12";
icon-font: "Hurmit Nerd Font Mono 32";
icon-font-small: "Hurmit Nerd Font Mono 24";
option-6-listview-spacing: 10px;
menu-window-padding: 5px 15px;
menu-inputbar-margin: 10px 0px;
menu-prompt-padding: 10px 20px 10px 20px;
menu-prompt-margin: 0px 0px 0px -2px;
menu-element-border: 10px;
menu-element-padding: 3px 8px -1px -40px;
}
/* ########### */
#window {
width: 18%;
height: 20%;
}
/* ########### */
* {
background-color: @background;
text-color: @foreground;
font: @icon-font;
}
#horibox {
children: [ listview ];
}
#listview {
layout: horizontal;
}
#element {
padding: @option-element-padding;
background-color: @background-light;
}
#element.selected {
background-color: @accent;
text-color: @background;
}
/* ########### */
* {
font: @text-font;
}
#window {
padding: @menu-window-padding;
children: [ inputbar, horibox ];
}
#inputbar {
children: [ textbox-prompt-colon, prompt ];
margin: @menu-inputbar-margin;
}
prompt,
textbox-prompt-colon {
padding: @menu-prompt-padding;
border: 2px;
border-color: @accent;
}
#prompt {
margin: @menu-prompt-margin;
background-color: @background-light;
text-color: @accent;
}
#textbox-prompt-colon {
expand: false;
str: "Brightness";
background-color: @accent;
text-color: @background;
}
#horibox {
padding: 0px;
}
#listview {
spacing: @option-6-listview-spacing;
lines: 3;
}
#element {
font: @icon-font;
border: @menu-element-border;
padding: @menu-element-padding;
border-color: @background-light;
}
#element.selected {
border-color: @accent;
}
element.active,
element.selected.urgent {
background-color: @on;
text-color: @background;
border-color: @on;
}
element.selected.urgent {
border-color: @accent;
}
element.urgent,
element.selected.active {
background-color: @off;
text-color: @background;
border-color: @off;
}
element.selected.active {
border-color: @accent;
}

View File

@ -1,127 +0,0 @@
/*
*
* Author : Aditya Shakya (adi1090x)
* Mail : adi1090x@gmail.com
* Github : @adi1090x
* Reddit : @adi1090x
*
*/
@import "colors.rasi"
/* ########### */
* {
/* General */
text-font: "Comfortaa 12";
icon-font: "Hurmit Nerd Font Mono 32";
icon-font-small: "Hurmit Nerd Font Mono 24";
option-6-listview-spacing: 10px;
menu-window-padding: 5px 15px;
menu-inputbar-margin: 10px 0px;
menu-prompt-padding: 10px 20px 10px 20px;
menu-prompt-margin: 0px 0px 0px -2px;
menu-element-border: 0px;
menu-element-padding: 10px 15px 5px -35px;
}
/* ########### */
#window {
width: 16.5%;
height: 19%;
}
/* ########### */
* {
background-color: @background;
text-color: @foreground;
font: @icon-font;
}
#horibox {
children: [ listview ];
}
#listview {
layout: horizontal;
}
#element {
padding: @option-element-padding;
background-color: @background-light;
}
#element.selected {
background-color: @accent;
text-color: @background;
}
/* ########### */
* {
font: @text-font;
}
#window {
padding: @menu-window-padding;
children: [ inputbar, horibox ];
}
#inputbar {
children: [ textbox-prompt-colon, prompt ];
margin: @menu-inputbar-margin;
}
prompt,
textbox-prompt-colon {
padding: @menu-prompt-padding;
border: 2px;
border-color: @accent;
}
#prompt {
margin: @menu-prompt-margin;
background-color: @background-light;
text-color: @accent;
}
#textbox-prompt-colon {
expand: false;
str: "Battery";
background-color: @accent;
text-color: @background;
}
#horibox {
padding: 0px;
}
#listview {
spacing: @option-6-listview-spacing;
lines: 3;
}
#element {
font: @icon-font;
border: @menu-element-border;
padding: @menu-element-padding;
border-color: @background-light;
}
#element.selected {
border-color: @accent;
}
element.active {
background-color: @on;
text-color: @background;
border-color: @on;
}
element.selected.urgent {
background-color: @off;
text-color: @background;
border-color: @accent;
}
element.urgent,
element.selected.active {
background-color: @off;
text-color: @background;
border-color: @off;
}
element.selected.active {
background-color: @on;
text-color: @background;
border-color: @accent;
}

View File

@ -1,22 +0,0 @@
/*
* Change the colorscheme for every menu simply by editing this file...
*
* Available Color Schemes
* // Dark
* material-dark/amber material-dark/blue material-dark/blue_grey material-dark/brown material-dark/cyan material-dark/deep_orange
* material-dark/deep_purple material-dark/green material-dark/grey material-dark/indigo material-dark/light_blue material-dark/light_green
* material-dark/lime material-dark/orange material-dark/pink material-dark/purple material-dark/red material-dark/teal
* material-dark/yellow
* // Light
* material-light/amber material-light/blue material-light/blue_grey material-light/brown material-light/cyan material-light/deep_orange
* material-light/deep_purple material-light/green material-light/grey material-light/indigo material-light/light_blue material-light/light_green
* material-light/lime material-light/orange material-light/pink material-light/purple material-light/red material-light/teal
* material-light/yellow
*
* // Other
* adapta, adapta-nokto, arc, arc-dark, adwaita, gruvbox, dark
* armchair, darkpink, fresh, inside, party, sirin
*
*/
@import "colorschemes/dark.rasi"

View File

@ -1,8 +0,0 @@
* {
accent: #00BCD4;
background: #263238;
background-light: #293840;
foreground: #E7E8EB;
on: #44ad4d;
off: #e34039;
}

View File

@ -1,8 +0,0 @@
* {
accent: #00ADC2;
background: #FFFFFF;
background-light: #E7E7E7;
foreground: #535353;
on: #44ad4d;
off: #e34039;
}

View File

@ -1,8 +0,0 @@
* {
accent: #2E6BB6;
background: #2D2D2D;
background-light: #353535;
foreground: #E7E8EB;
on: #44ad4d;
off: #e34039;
}

View File

@ -1,8 +0,0 @@
* {
accent: #6BA0DE;
background: #383C4A;
background-light: #404552;
foreground: #E4E4E4;
on: #44ad4d;
off: #e34039;
}

View File

@ -1,8 +0,0 @@
* {
accent: #5294E2;
background: #FFFFFF;
background-light: #E7E8EB;
foreground: #333333;
on: #44ad4d;
off: #e34039;
}

View File

@ -1,8 +0,0 @@
* {
accent: #E85A50;
background: #EAE8DC;
background-light: #E4D9C8;
foreground: #8E8D89;
on: #66bb6a;
off: #F68887;
}

View File

@ -1,8 +0,0 @@
* {
accent: #A9C03F;
background: #141c21;
background-light: #1C252A;
foreground: #93a1a1;
on: #5BB462;
off: #DE635E;
}

View File

@ -1,8 +0,0 @@
* {
accent: #F75176;
background: #414656;
background-light: #4B5060;
foreground: #F2F7E3;
on: #CDF0D9;
off: #FF796A;
}

View File

@ -1,8 +0,0 @@
* {
accent: #043968;
background: #5CDB94;
background-light: #59C78A;
foreground: #303030;
on: #2e7d32;
off: #d32f2f;
}

View File

@ -1,8 +0,0 @@
* {
accent: #83a598;
background: #282828;
background-light: #303030;
foreground: #ebdbb2;
on: #44ad4d;
off: #fb4934;
}

View File

@ -1,8 +0,0 @@
* {
accent: #C7493A;
background: #151515;
background-light: #202020;
foreground: #AD8174;
on: #689775;
off: #A33327;
}

View File

@ -1,8 +0,0 @@
* {
accent: #ffc107;
background: #212121;
background-light: #272727;
foreground: #bdbdbd;
on: #66bb6a;
off: #ef5350;
}

View File

@ -1,8 +0,0 @@
* {
accent: #1e88e5;
background: #212121;
background-light: #272727;
foreground: #bdbdbd;
on: #66bb6a;
off: #ef5350;
}

View File

@ -1,8 +0,0 @@
* {
accent: #607d8b;
background: #212121;
background-light: #272727;
foreground: #bdbdbd;
on: #66bb6a;
off: #ef5350;
}

View File

@ -1,8 +0,0 @@
* {
accent: #8d6e63;
background: #212121;
background-light: #272727;
foreground: #bdbdbd;
on: #66bb6a;
off: #ef5350;
}

View File

@ -1,8 +0,0 @@
* {
accent: #26c6da;
background: #212121;
background-light: #272727;
foreground: #bdbdbd;
on: #66bb6a;
off: #ef5350;
}

View File

@ -1,8 +0,0 @@
* {
accent: #ff5722;
background: #212121;
background-light: #272727;
foreground: #bdbdbd;
on: #66bb6a;
off: #ef5350;
}

Some files were not shown because too many files have changed in this diff Show More