mirror of
https://github.com/LukeSmithxyz/voidrice.git
synced 2026-03-20 01:37:45 +01:00
Merge branch 'master' into patch-1
This commit is contained in:
commit
7811e64b94
@ -1,156 +0,0 @@
|
||||
!! Transparency (0-1):
|
||||
*.alpha: 0.8
|
||||
|
||||
!! Set a default font and font size as below:
|
||||
*.font: monospace:size=10
|
||||
|
||||
/* name dark light */
|
||||
/* black 0 8 */
|
||||
/* red 1 9 */
|
||||
/* green 2 10 */
|
||||
/* yellow 3 11 */
|
||||
/* blue 4 12 */
|
||||
/* purple 5 13 */
|
||||
/* cyan 6 14 */
|
||||
/* white 7 15 */
|
||||
|
||||
/* !! gruvbox: */
|
||||
/* *.color0: #1d2021 */
|
||||
/* *.color1: #cc241d */
|
||||
/* *.color2: #98971a */
|
||||
/* *.color3: #d79921 */
|
||||
/* *.color4: #458588 */
|
||||
/* *.color5: #b16286 */
|
||||
/* *.color6: #689d6a */
|
||||
/* *.color7: #a89984 */
|
||||
/* *.color8: #928374 */
|
||||
/* *.color9: #fb4934 */
|
||||
/* *.color10: #b8bb26 */
|
||||
/* *.color11: #fabd2f */
|
||||
/* *.color12: #83a598 */
|
||||
/* *.color13: #d3869b */
|
||||
/* *.color14: #8ec07c */
|
||||
/* *.color15: #ebdbb2 */
|
||||
/* *.color256: #1d2021 */
|
||||
/* *.color257: #ebdbb2 */
|
||||
|
||||
/* !! gruvbox light: */
|
||||
/* *.color0: #fbf1c7 */
|
||||
/* *.color1: #cc241d */
|
||||
/* *.color2: #98971a */
|
||||
/* *.color3: #d79921 */
|
||||
/* *.color4: #458588 */
|
||||
/* *.color5: #b16286 */
|
||||
/* *.color6: #689d6a */
|
||||
/* *.color7: #7c6f64 */
|
||||
/* *.color8: #928374 */
|
||||
/* *.color9: #9d0006 */
|
||||
/* *.color10: #79740e */
|
||||
/* *.color11: #b57614 */
|
||||
/* *.color12: #076678 */
|
||||
/* *.color13: #8f3f71 */
|
||||
/* *.color14: #427b58 */
|
||||
/* *.color15: #3c3836 */
|
||||
/* *.background: #fbf1c7 */
|
||||
/* *.foreground: #282828 */
|
||||
/* st.alpha: 0.9 */
|
||||
|
||||
/* !! brogrammer: */
|
||||
/* *.foreground: #d6dbe5 */
|
||||
/* *.background: #131313 */
|
||||
/* *.color0: #1f1f1f */
|
||||
/* *.color8: #d6dbe5 */
|
||||
/* *.color1: #f81118 */
|
||||
/* *.color9: #de352e */
|
||||
/* *.color2: #2dc55e */
|
||||
/* *.color10: #1dd361 */
|
||||
/* *.color3: #ecba0f */
|
||||
/* *.color11: #f3bd09 */
|
||||
/* *.color4: #2a84d2 */
|
||||
/* *.color12: #1081d6 */
|
||||
/* *.color5: #4e5ab7 */
|
||||
/* *.color13: #5350b9 */
|
||||
/* *.color6: #1081d6 */
|
||||
/* *.color14: #0f7ddb */
|
||||
/* *.color7: #d6dbe5 */
|
||||
/* *.color15: #ffffff */
|
||||
/* *.colorBD: #d6dbe5 */
|
||||
|
||||
/* ! base16 */
|
||||
/* *.color0: #181818 */
|
||||
/* *.color1: #ab4642 */
|
||||
/* *.color2: #a1b56c */
|
||||
/* *.color3: #f7ca88 */
|
||||
/* *.color4: #7cafc2 */
|
||||
/* *.color5: #ba8baf */
|
||||
/* *.color6: #86c1b9 */
|
||||
/* *.color7: #d8d8d8 */
|
||||
/* *.color8: #585858 */
|
||||
/* *.color9: #ab4642 */
|
||||
/* *.color10: #a1b56c */
|
||||
/* *.color11: #f7ca88 */
|
||||
/* *.color12: #7cafc2 */
|
||||
/* *.color13: #ba8baf */
|
||||
/* *.color14: #86c1b9 */
|
||||
/* *.color15: #f8f8f8 */
|
||||
|
||||
/* !! solarized */
|
||||
/* *.color0: #073642 */
|
||||
/* *.color1: #dc322f */
|
||||
/* *.color2: #859900 */
|
||||
/* *.color3: #b58900 */
|
||||
/* *.color4: #268bd2 */
|
||||
/* *.color5: #d33682 */
|
||||
/* *.color6: #2aa198 */
|
||||
/* *.color7: #eee8d5 */
|
||||
/* *.color9: #cb4b16 */
|
||||
/* *.color8: #fdf6e3 */
|
||||
/* *.color10: #586e75 */
|
||||
/* *.color11: #657b83 */
|
||||
/* *.color12: #839496 */
|
||||
/* *.color13: #6c71c4 */
|
||||
/* *.color14: #93a1a1 */
|
||||
/* *.color15: #fdf6e3 */
|
||||
|
||||
/* !! xterm */
|
||||
/* *.color0: #000000 */
|
||||
/* *.color1: #cd0000 */
|
||||
/* *.color2: #00cd00 */
|
||||
/* *.color3: #cdcd00 */
|
||||
/* *.color4: #0000cd */
|
||||
/* *.color5: #cd00cd */
|
||||
/* *.color6: #00cdcd */
|
||||
/* *.color7: #e5e5e5 */
|
||||
/* *.color8: #4d4d4d */
|
||||
/* *.color9: #ff0000 */
|
||||
/* *.color10: #00ff00 */
|
||||
/* *.color11: #ffff00 */
|
||||
/* *.color12: #0000ff */
|
||||
/* *.color13: #ff00ff */
|
||||
/* *.color14: #00ffff */
|
||||
/* *.color15: #aabac8 */
|
||||
/* *.background: #000000 */
|
||||
|
||||
/* ! Dracula Xresources palette */
|
||||
/* *.foreground: #F8F8F2 */
|
||||
/* *.background: #282A36 */
|
||||
/* *.color0: #000000 */
|
||||
/* *.color8: #4D4D4D */
|
||||
/* *.color1: #FF5555 */
|
||||
/* *.color9: #FF6E67 */
|
||||
/* *.color2: #50FA7B */
|
||||
/* *.color10: #5AF78E */
|
||||
/* *.color3: #F1FA8C */
|
||||
/* *.color11: #F4F99D */
|
||||
/* *.color4: #BD93F9 */
|
||||
/* *.color12: #CAA9FA */
|
||||
/* *.color5: #FF79C6 */
|
||||
/* *.color13: #FF92D0 */
|
||||
/* *.color6: #8BE9FD */
|
||||
/* *.color14: #9AEDFE */
|
||||
/* *.color7: #BFBFBF */
|
||||
/* *.color15: #E6E6E6 */
|
||||
|
||||
/* *.background: .color0 */
|
||||
/* *.color256: 0#1d2021 */
|
||||
/* *.color257: 15#ebdbb2 */
|
||||
@ -9,14 +9,12 @@ alias \
|
||||
mv="mv -iv" \
|
||||
rm="rm -vI" \
|
||||
mkd="mkdir -pv" \
|
||||
yt="youtube-dl --add-metadata -i" \
|
||||
yta="yt -x -f bestaudio/best" \
|
||||
ffmpeg="ffmpeg -hide_banner"
|
||||
|
||||
# Colorize commands when possible.
|
||||
alias \
|
||||
ls="ls -hN --color=auto --group-directories-first" \
|
||||
grep="grep --color=auto" \
|
||||
ls="ls --literal -l --human-readable --color=auto --group-directories-first" \
|
||||
grep="grep -n --color=auto" \
|
||||
diff="diff --color=auto" \
|
||||
ccat="highlight --out-format=ansi"
|
||||
|
||||
@ -24,20 +22,15 @@ alias \
|
||||
alias \
|
||||
ka="killall" \
|
||||
g="git" \
|
||||
trem="transmission-remote" \
|
||||
YT="youtube-viewer" \
|
||||
sdn="sudo shutdown -h now" \
|
||||
f="$FILE" \
|
||||
e="$EDITOR" \
|
||||
v="$EDITOR" \
|
||||
p="sudo pacman" \
|
||||
xi="sudo xbps-install" \
|
||||
xr="sudo xbps-remove -R" \
|
||||
xq="xbps-query" \
|
||||
z="zathura"
|
||||
|
||||
alias \
|
||||
magit="nvim -c MagitOnly" \
|
||||
ref="shortcuts >/dev/null; source ${XDG_CONFIG_HOME:-$HOME/.config}/shortcutrc ; source ${XDG_CONFIG_HOME:-$HOME/.config}/zshnameddirrc" \
|
||||
weath="less -S ${XDG_DATA_HOME:-$HOME/.local/share}/weatherreport" \
|
||||
tmux="tmux -f ${XDG_CONFIG_HOME:-$HOME/.config}/tmux/tmux.conf" \
|
||||
weath="less -S ${XDG_DATA_HOME:-$HOME/.local/share}/weatherreport" \
|
||||
|
||||
|
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 46 KiB |
BIN
.config/assets/lockscreen.png
Normal file
BIN
.config/assets/lockscreen.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 44 KiB |
BIN
.config/assets/system_screenshot.png
Normal file
BIN
.config/assets/system_screenshot.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 270 KiB |
BIN
.config/assets/wallpaper.png
Normal file
BIN
.config/assets/wallpaper.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 441 KiB |
@ -1,40 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# If refreshing bspwm, remove all previous rules to prevent doubling up.
|
||||
bspc rule -r "*"
|
||||
|
||||
xsetroot -cursor_name left_ptr
|
||||
|
||||
# We look for a non-laptop monitor to use for default, but use the laptop
|
||||
# screen (LVDS) if there's nothing else. This is because I assume that if you
|
||||
# have an extra screen attached to a laptop, you want to use that.
|
||||
mainmonitor="$(bspc query --monitors --names | grep -v LVDS | head -n 1)"
|
||||
|
||||
# if ! echo "$mainmonitor" | grep LVDS >/dev/null 2>&1; then
|
||||
# xrandr --output "$mainmonitor" --auto --output LVDS1 --off
|
||||
# else
|
||||
# mainmonitor="LVDS1"
|
||||
# xrandr --output LVDS1 --auto
|
||||
# fi
|
||||
|
||||
# Start workspaces on the main monitor.
|
||||
bspc monitor $mainmonitor -d 1 2 3 4 5 6 7 8 9 10
|
||||
bspc desktop -f 1
|
||||
|
||||
# If you want a multi-monitor display or something else, I leave that to you to
|
||||
# arrange. I have this sensible default for most people's use cases.
|
||||
|
||||
bspc config border_width 3
|
||||
bspc config window_gap 15
|
||||
bspc config top_padding 24 # top_padding I set equal to polybar's height
|
||||
bspc config focus_follows_pointer true
|
||||
|
||||
bspc rule -a Zathura state=tiled
|
||||
|
||||
dropdownname="dropdown"
|
||||
bspc query -N -n .hidden >/dev/null || setsid $TERMINAL -n "$dropdownname" -e dropdown >/dev/null 2>&1 &
|
||||
bspc rule -a St:$dropdownname hidden=on
|
||||
bspc rule -a St:$dropdownname sticky=on
|
||||
bspc rule -a St:$dropdownname state=floating
|
||||
|
||||
bspc config external_rules_command "$(which floaters)"
|
||||
@ -1,34 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# If refreshing bspwm, remove all previous rules to prevent doubling up.
|
||||
bspc rule -r "*"
|
||||
|
||||
# We look for a non-laptop monitor to use for default, but use the laptop
|
||||
# screen (LVDS) if there's nothing else. This is because I assume that if you
|
||||
# have an extra screen attached to a laptop, you want to use that.
|
||||
mainmonitor="$(bspc query --monitors --names | grep -v LVDS | head -n 1)"
|
||||
|
||||
if ! echo "$mainmonitor" | grep LVDS >/dev/null 2>&1; then
|
||||
xrandr --output "$mainmonitor" --auto --output LVDS1 --off
|
||||
fi
|
||||
|
||||
# Start workspaces on the main monitor.
|
||||
bspc monitor $mainmonitor -d 1 2 3 4 5 6 7 8 9 10
|
||||
bspc desktop -f 1
|
||||
|
||||
# If you want a multi-monitor display or something else, I leave that to you to
|
||||
# arrange. I have this sensible default for most people's use cases.
|
||||
|
||||
|
||||
bspc config border_width 3
|
||||
bspc config window_gap 15
|
||||
bspc config top_padding 24 # top_padding I set equal to polybar's height
|
||||
bspc config focus_follows_pointer true
|
||||
|
||||
dropdownname="dropdown"
|
||||
bspc query -N -n .hidden >/dev/null || setsid $TERMINAL -n "$dropdownname" -e dropdown >/dev/null 2>&1 &
|
||||
bspc rule -a St:$dropdownname hidden=on
|
||||
bspc rule -a St:$dropdownname sticky=on
|
||||
bspc rule -a St:$dropdownname state=floating
|
||||
|
||||
bspc config external_rules_command "$(which floaters)"
|
||||
@ -1,11 +1,11 @@
|
||||
# You can add comments to these files with #
|
||||
h ~/
|
||||
d ~/Documents
|
||||
D ~/Downloads
|
||||
m ~/Music
|
||||
pp ~/Pictures
|
||||
vv ~/Videos
|
||||
cf ${XDG_CONFIG_HOME:-$HOME/.config}
|
||||
cac ${XDG_CACHE_HOME:-$HOME/.cache}
|
||||
sc ~/.local/bin
|
||||
d ~/downloads
|
||||
gh ~/github
|
||||
h ~/
|
||||
lb ~/.local/bin
|
||||
mn /mnt
|
||||
psc ~/.local/bin/polybar_scripts
|
||||
pp ~/pictures
|
||||
sc ~/.local/bin
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
[global]
|
||||
monitor = 0
|
||||
follow = keyboard
|
||||
geometry = "350x5-0+24"
|
||||
geometry = "400x5-0+24"
|
||||
indicate_hidden = yes
|
||||
shrink = yes
|
||||
transparency = 20
|
||||
|
||||
@ -1,15 +1,8 @@
|
||||
bf ${XDG_CONFIG_HOME:-$HOME/.config}/files
|
||||
bd ${XDG_CONFIG_HOME:-$HOME/.config}/directories
|
||||
bw ${XDG_CONFIG_HOME:-$HOME/.config}/bookmarks
|
||||
cfa ${XDG_CONFIG_HOME:-$HOME/.config}/aliasrc
|
||||
cfz $ZDOTDIR/.zshrc
|
||||
cfv ${XDG_CONFIG_HOME:-$HOME/.config}/nvim/init.vim
|
||||
cfm ${XDG_CONFIG_HOME:-$HOME/.config}/mutt/muttrc
|
||||
cfx ${XDG_CONFIG_HOME:-$HOME/.config}/Xresources
|
||||
cfu ${XDG_CONFIG_HOME:-$HOME/.config}/newsboat/urls
|
||||
cfn ${XDG_CONFIG_HOME:-$HOME/.config}/newsboat/config
|
||||
cfmb ${XDG_CONFIG_HOME:-$HOME/.config}/ncmpcpp/bindings
|
||||
cfmc ${XDG_CONFIG_HOME:-$HOME/.config}/ncmpcpp/config
|
||||
cfk ${XDG_CONFIG_HOME:-$HOME/.config}/sxhkd/sxhkdrc
|
||||
cfi ${XDG_CONFIG_HOME:-$HOME/.config}/i3/config
|
||||
cfb ${XDG_CONFIG_HOME:-$HOME/.config}/i3blocks/config
|
||||
bf ${XDG_CONFIG_HOME:-$HOME/.config}/files
|
||||
bd ${XDG_CONFIG_HOME:-$HOME/.config}/directories
|
||||
cfa ${XDG_CONFIG_HOME:-$HOME/.config}/aliasrc
|
||||
cfz $ZDOTDIR/.zshrc
|
||||
cfv ${XDG_CONFIG_HOME:-$HOME/.config}/nvim/init.vim
|
||||
cfi ${XDG_CONFIG_HOME:-$HOME/.config}/i3/config
|
||||
cft $~/.tmux.conf
|
||||
cfp $~/.config/polybar/config
|
||||
|
||||
@ -4,32 +4,25 @@
|
||||
<alias>
|
||||
<family>serif</family>
|
||||
<prefer>
|
||||
<family>Linux Libertine</family>
|
||||
<family>Joy Pixels</family>
|
||||
<family>Noto Color Emoji</family>
|
||||
<family>Source Code Pro</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>sans-serif</family>
|
||||
<prefer>
|
||||
<family>Linux Biolinum</family>
|
||||
<family>Joy Pixels</family>
|
||||
<family>Noto Color Emoji</family>
|
||||
<family>Source Code Pro</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>sans</family>
|
||||
<prefer>
|
||||
<family>Linux Biolinum</family>
|
||||
<family>Joy Pixels</family>
|
||||
<family>Noto Color Emoji</family>
|
||||
<family>Source Code Pro</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>monospace</family>
|
||||
<prefer>
|
||||
<family>Noto Sans Mono</family>
|
||||
<family>Liberation Mono</family>
|
||||
<family>Source Code Pro</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
</fontconfig>
|
||||
|
||||
34
.config/git/config
Normal file
34
.config/git/config
Normal file
@ -0,0 +1,34 @@
|
||||
[core]
|
||||
repositoryformatversion = 0
|
||||
filemode = true
|
||||
bare = false
|
||||
logallrefupdates = true
|
||||
editor = vim
|
||||
excludesfile = ~/.gitignore
|
||||
[user]
|
||||
name = Vlad Doster
|
||||
email = mvdoster@gmail.com
|
||||
[color]
|
||||
status = auto
|
||||
commit = auto
|
||||
diff = auto
|
||||
branch = auto
|
||||
[alias]
|
||||
a = add
|
||||
au = add -u
|
||||
p = push
|
||||
pu = pull
|
||||
st = status -uno
|
||||
co = checkout
|
||||
cm = commit -m
|
||||
br = branch
|
||||
ff = merge origin
|
||||
diff = diff --ignore-space-change
|
||||
dst = diff --staged
|
||||
[apply]
|
||||
whitespace = strip
|
||||
whitespace = nowarn
|
||||
[push]
|
||||
default = simple
|
||||
[credential]
|
||||
helper = cache --timeout=28800
|
||||
19
.config/git/ignore
Normal file
19
.config/git/ignore
Normal file
@ -0,0 +1,19 @@
|
||||
.cache/
|
||||
.local/lib/python3.7/
|
||||
.local/lib/python3.8/
|
||||
.local/share/jupyter/
|
||||
.local/share/Trash/
|
||||
.nv/
|
||||
.PyCharm20[0-9][0-9].[0-9]/
|
||||
.rstudio-desktop/
|
||||
Code - OSS/
|
||||
downloads/
|
||||
discord/
|
||||
GitKraken/
|
||||
github/
|
||||
google-chrome/
|
||||
libreoffice/
|
||||
pulse/
|
||||
Slack/
|
||||
LICENSE
|
||||
README.md
|
||||
@ -1,359 +0,0 @@
|
||||
# vim: filetype=i3
|
||||
# File originally by Luke Smith <https://lukesmith.xyz>
|
||||
|
||||
# This config file will use environmental variables such as $BROWSER and $TERMINAL.
|
||||
# You can set these variables in ~/.profile or ~/.bash_profile if you have it as below:
|
||||
#
|
||||
# export TERMINAL="st"
|
||||
|
||||
# #---Basic Definitions---# #
|
||||
set $inner_gaps 15
|
||||
set $outer_gaps 15
|
||||
set $term --no-startup-id $TERMINAL
|
||||
set $mod Mod4
|
||||
set $stoprec --no-startup-id dmenurecord kill
|
||||
set $shutdown sudo -A shutdown -h now
|
||||
set $reboot sudo -A reboot
|
||||
set $netrefresh --no-startup-id sudo -A systemctl restart NetworkManager
|
||||
set $hibernate sudo -A systemctl suspend
|
||||
|
||||
# #---Gaps---# #
|
||||
for_window [class="^.*"] border pixel 2
|
||||
gaps inner $inner_gaps
|
||||
gaps outer $outer_gaps
|
||||
|
||||
# #---Dropdown Windows---# #
|
||||
# General dropdown window traits. The order can matter.
|
||||
for_window [instance="dropdown_*"] floating enable
|
||||
for_window [instance="dropdown_*"] move scratchpad
|
||||
for_window [instance="dropdown_*"] sticky enable
|
||||
for_window [instance="dropdown_*"] scratchpad show
|
||||
for_window [instance="dropdown_tmuxdd"] resize set 625 450
|
||||
for_window [instance="dropdown_dropdowncalc"] resize set 800 300
|
||||
for_window [instance="dropdown_tmuxdd"] border pixel 3
|
||||
for_window [instance="dropdown_dropdowncalc"] border pixel 2
|
||||
for_window [instance="dropdown_*"] move position center
|
||||
|
||||
bar {
|
||||
font pango:mono 10
|
||||
status_command i3blocks
|
||||
position top
|
||||
mode dock
|
||||
modifier None
|
||||
}
|
||||
|
||||
# #---Basic Bindings---# #
|
||||
bindsym $mod+Return exec $term
|
||||
bindsym $mod+Shift+Return exec --no-startup-id samedir
|
||||
|
||||
bindsym $mod+Shift+space floating toggle
|
||||
bindsym $mod+space focus mode_toggle
|
||||
|
||||
bindsym $mod+Escape workspace prev
|
||||
bindsym $mod+Shift+Escape exec --no-startup-id prompt "Exit i3?" "i3 exit"
|
||||
|
||||
# bindsym $mod+BackSpace
|
||||
bindsym $mod+Shift+BackSpace exec --no-startup-id prompt "Reboot computer?" "$reboot"
|
||||
|
||||
bindsym $mod+grave exec --no-startup-id dmenuunicode
|
||||
##bindsym $mod+asciitilde
|
||||
|
||||
#STOP/HIDE EVERYTHING:
|
||||
bindsym $mod+Shift+Delete exec --no-startup-id pulsemixer --mute ; exec --no-startup-id mpc pause && pkill -RTMIN+10 i3blocks ; exec --no-startup-id pauseallmpv; workspace 0; exec $term -e htop ; exec $term -e lf
|
||||
|
||||
# Show selection:
|
||||
bindsym $mod+Insert exec --no-startup-id showclip
|
||||
##bindsym $mod+Pause
|
||||
|
||||
# #---Letter Key Bindings---# #
|
||||
bindsym $mod+q [con_id="__focused__" instance="^(?!dropdown_).*$"] kill
|
||||
bindsym $mod+Shift+q [con_id="__focused__" instance="^(?!dropdown_).*$"] exec --no-startup-id kill -9 `xdotool getwindowfocus getwindowpid`
|
||||
|
||||
bindsym $mod+w exec --no-startup-id $BROWSER
|
||||
bindsym $mod+Shift+w exec $term -e nmtui
|
||||
|
||||
bindsym $mod+e exec $term -e neomutt && pkill -RTMIN+12 i3blocks
|
||||
bindsym $mod+Shift+e exec --no-startup-id tutorialvids
|
||||
|
||||
bindsym $mod+r exec $term -e lf
|
||||
bindsym $mod+Shift+r exec --no-startup-id winresize
|
||||
|
||||
bindsym $mod+t split toggle
|
||||
bindsym $mod+Shift+t gaps inner current set $inner_gaps; gaps outer current set $outer_gaps
|
||||
|
||||
bindsym $mod+y exec $term -e calcurse
|
||||
bindsym $mod+Shift+y exec --no-startup-id i3resize left
|
||||
|
||||
bindsym $mod+u exec --no-startup-id ddspawn tmuxdd
|
||||
bindsym $mod+Shift+u exec --no-startup-id i3resize down
|
||||
|
||||
bindsym $mod+i exec $term -e htop
|
||||
bindsym $mod+Shift+i exec --no-startup-id i3resize up
|
||||
|
||||
bindsym $mod+o sticky toggle
|
||||
bindsym $mod+Shift+o exec --no-startup-id i3resize right
|
||||
|
||||
bindsym $mod+p exec --no-startup-id mpc toggle
|
||||
bindsym $mod+Shift+p exec --no-startup-id mpc pause
|
||||
|
||||
bindsym $mod+a exec --no-startup-id ddspawn dropdowncalc -f mono:pixelsize=24
|
||||
bindsym $mod+Shift+a exec $term -e pulsemixer
|
||||
|
||||
bindsym $mod+s gaps inner current plus 5
|
||||
bindsym $mod+Shift+s gaps inner current minus 5
|
||||
|
||||
bindsym $mod+d exec --no-startup-id dmenu_run
|
||||
bindsym $mod+Shift+d gaps inner current set 0; gaps outer current set 0
|
||||
|
||||
set $freeze Distraction-free mode (super+shift+f to reactivate bindings)
|
||||
mode "$freeze" { bindsym $mod+Shift+f mode "default"
|
||||
}
|
||||
|
||||
bindsym $mod+f fullscreen toggle
|
||||
bindsym $mod+Shift+f mode "$freeze" ;; exec --no-startup-id notify-send "Distraction-free mode activated." "Press Super+Shift+f to return."
|
||||
|
||||
bindsym $mod+g workspace prev
|
||||
bindsym $mod+Shift+g exec --no-startup-id gimp; workspace $ws5
|
||||
|
||||
bindsym $mod+h focus left
|
||||
bindsym $mod+Shift+h move left 30
|
||||
bindsym $mod+Ctrl+h move workspace to output left
|
||||
|
||||
bindsym $mod+j focus down
|
||||
bindsym $mod+Shift+j move down 30
|
||||
bindsym $mod+Ctrl+j move workspace to output down
|
||||
|
||||
bindsym $mod+k focus up
|
||||
bindsym $mod+Shift+k move up 30
|
||||
bindsym $mod+Ctrl+k move workspace to output up
|
||||
|
||||
bindsym $mod+l focus right
|
||||
bindsym $mod+Shift+l move right 30
|
||||
bindsym $mod+Ctrl+l move workspace to output right
|
||||
|
||||
bindsym $mod+z gaps outer current plus 5
|
||||
bindsym $mod+Shift+z gaps outer current minus 5
|
||||
|
||||
bindsym $mod+x exec --no-startup-id xset dpms force off && mpc pause && pauseallmpv && slock &
|
||||
bindsym $mod+Shift+x exec --no-startup-id prompt "Shutdown computer?" "$shutdown"
|
||||
|
||||
bindsym $mod+c exec --no-startup-id cabl
|
||||
bindsym $mod+Shift+c exec --no-startup-id camtoggle
|
||||
|
||||
bindsym $mod+v exec --no-startup-id $term -e $EDITOR -c "VimwikiIndex"
|
||||
#bindsym $mod+Shift+v
|
||||
|
||||
bindsym $mod+b bar mode toggle
|
||||
bindsym $mod+Shift+b floating toggle; sticky toggle; exec --no-startup-id hover left
|
||||
|
||||
bindsym $mod+n exec $term -e newsboat && pkill -RTMIN+6 i3blocks
|
||||
bindsym $mod+Shift+n floating toggle; sticky toggle; exec --no-startup-id hover right
|
||||
|
||||
bindsym $mod+m exec --no-startup-id $term -e ncmpcpp
|
||||
bindsym $mod+Shift+m exec --no-startup-id pulsemixer --toggle-mute && pkill -RTMIN+10 i3blocks
|
||||
|
||||
# #---Workspace Bindings---# #
|
||||
bindsym $mod+Home workspace $ws1
|
||||
bindsym $mod+Shift+Home move container to workspace $ws1
|
||||
bindsym $mod+End workspace $ws10
|
||||
bindsym $mod+Shift+End move container to workspace $ws10
|
||||
bindsym $mod+Prior workspace prev
|
||||
bindsym $mod+Shift+Prior move container to workspace prev
|
||||
bindsym $mod+Next workspace next
|
||||
bindsym $mod+Shift+Next move container to workspace next
|
||||
bindsym $mod+Tab workspace back_and_forth
|
||||
bindsym $mod+XF86Back workspace prev
|
||||
bindsym $mod+Shift+XF86Back move container to workspace prev
|
||||
bindsym $mod+XF86Forward workspace next
|
||||
bindsym $mod+Shift+XF86Forward move container to workspace next
|
||||
bindsym $mod+semicolon workspace next
|
||||
bindsym $mod+apostrophe split horizontal ;; exec $term
|
||||
bindsym $mod+slash split vertical ;; exec $term
|
||||
bindsym $mod+Shift+slash kill
|
||||
bindsym $mod+backslash workspace back_and_forth
|
||||
|
||||
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"
|
||||
|
||||
# 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
|
||||
|
||||
for_window [class="Pinentry"] sticky enable
|
||||
for_window [class="sent"] border pixel 0px
|
||||
for_window [title="GIMP Startup"] move workspace $ws5
|
||||
for_window [class="Gimp"] move workspace $ws5
|
||||
for_window [window_role="GtkFileChooserDialog"] resize set 800 600
|
||||
for_window [window_role="GtkFileChooserDialog"] move position center
|
||||
for_window [title="Default - Wine desktop"] floating enable
|
||||
|
||||
# Bindings to make the webcam float and stick.
|
||||
for_window [title="mpvfloat"] floating enable
|
||||
for_window [title="mpvfloat"] sticky enable
|
||||
for_window [title="mpvfloat"] border pixel 0
|
||||
no_focus [title="mpvfloat"]
|
||||
|
||||
# #---Function Buttons---# #
|
||||
bindsym $mod+F1 exec --no-startup-id groff -mom ${XDG_DATA_HOME:-$HOME/.local/share}/larbs/readme.mom -Tpdf | zathura -
|
||||
bindsym $mod+F2 restart
|
||||
bindsym $mod+F3 exec --no-startup-id displayselect
|
||||
bindsym $mod+F4 exec --no-startup-id prompt "Hibernate computer?" "$hibernate"
|
||||
bindsym $mod+F5 exec --no-startup-id $netrefresh
|
||||
bindsym $mod+F6 exec --no-startup-id torwrap
|
||||
bindsym $mod+F7 exec --no-startup-id td-toggle
|
||||
bindsym $mod+F8 exec --no-startup-id mailsync
|
||||
bindsym $mod+F9 exec --no-startup-id dmenumount
|
||||
bindsym $mod+F10 exec --no-startup-id dmenuumount
|
||||
bindsym $mod+F11 exec --no-startup-id ducksearch
|
||||
bindsym $mod+F12 exec $term -e nmtui
|
||||
bindsym $mod+Shift+F1 exec --no-startup-id toggle-welcome
|
||||
|
||||
# #---Arrow Keys---# #
|
||||
bindsym $mod+Left focus left
|
||||
bindsym $mod+Shift+Left move left
|
||||
bindsym $mod+Ctrl+Left move workspace to output left
|
||||
bindsym $mod+Down focus down
|
||||
bindsym $mod+Shift+Down move down
|
||||
bindsym $mod+Ctrl+Down move workspace to output down
|
||||
bindsym $mod+Up focus up
|
||||
bindsym $mod+Shift+Up move up
|
||||
bindsym $mod+Ctrl+Up move workspace to output up
|
||||
bindsym $mod+Right focus right
|
||||
bindsym $mod+Shift+Right move right
|
||||
bindsym $mod+Ctrl+Right move workspace to output right
|
||||
|
||||
# #---Media Keys---# #
|
||||
# Volume keys
|
||||
bindsym $mod+plus exec --no-startup-id pulsemixer --change-volume +5 && pkill -RTMIN+10 i3blocks
|
||||
bindsym $mod+Shift+plus exec --no-startup-id pulsemixer --change-volume +15 && pkill -RTMIN+10 i3blocks
|
||||
bindsym $mod+minus exec --no-startup-id pulsemixer --change-volume -5 && pkill -RTMIN+10 i3blocks
|
||||
bindsym $mod+Shift+minus exec --no-startup-id pulsemixer --change-volume -15 && pkill -RTMIN+10 i3blocks
|
||||
bindsym $mod+less exec --no-startup-id mpc prev
|
||||
bindsym $mod+Shift+less exec --no-startup-id mpc seek 0%
|
||||
bindsym $mod+greater exec --no-startup-id mpc next
|
||||
bindsym $mod+Shift+greater exec --no-startup-id mpc next
|
||||
|
||||
# For advancing forward/backward in an mpd song
|
||||
bindsym $mod+bracketleft exec --no-startup-id mpc seek -10
|
||||
bindsym $mod+Shift+bracketleft exec --no-startup-id mpc seek -120
|
||||
bindsym $mod+bracketright exec --no-startup-id mpc seek +10
|
||||
bindsym $mod+Shift+bracketright exec --no-startup-id mpc seek +120
|
||||
|
||||
# For screenshots and recording
|
||||
bindsym Print exec --no-startup-id maim pic-full-"$(date '+%y%m%d-%H%M-%S').png"
|
||||
bindsym Shift+Print exec --no-startup-id maimpick
|
||||
bindsym $mod+Print exec --no-startup-id dmenurecord
|
||||
bindsym $mod+Scroll_Lock exec --no-startup-id "killall screenkey || screenkey"
|
||||
bindsym $mod+Delete exec $stoprec
|
||||
bindsym XF86Launch1 exec --no-startup-id xset dpms force off
|
||||
|
||||
# #---Extra XF86 Keys---# #
|
||||
bindsym XF86AudioMute exec --no-startup-id pulsemixer --toggle-mute && pkill -RTMIN+10 i3blocks
|
||||
bindsym XF86AudioLowerVolume exec --no-startup-id pulsemixer --change-volume -5 && pkill -RTMIN+10 i3blocks
|
||||
bindsym Shift+XF86AudioLowerVolume exec --no-startup-id pulsemixer --change-volume -10 && pkill -RTMIN+10 i3blocks
|
||||
bindsym Control+XF86AudioLowerVolume exec --no-startup-id pulsemixer --change-volume -1 && pkill -RTMIN+10 i3blocks
|
||||
bindsym XF86AudioRaiseVolume exec --no-startup-id pulsemixer --change-volume +5 && pkill -RTMIN+10 i3blocks
|
||||
bindsym Shift+XF86AudioRaiseVolume exec --no-startup-id pulsemixer --change-volume +10 && pkill -RTMIN+10 i3blocks
|
||||
bindsym Control+XF86AudioRaiseVolume exec --no-startup-id pulsemixer --change-volume +1 && pkill -RTMIN+10 i3blocks
|
||||
bindsym XF86PowerOff exec --no-startup-id prompt "Shutdown computer?" "$shutdown"
|
||||
##bindsym XF86Copy exec
|
||||
##bindsym XF86Open exec
|
||||
##bindsym XF86Paste exec
|
||||
##bindsym XF86Cut exec
|
||||
##bindsym XF86MenuKB exec
|
||||
bindsym XF86Calculator exec --no-startup-id ddspawn dropdowncalc -f mono:pixelsize=24
|
||||
##bindsym XF86Sleep This binding is typically mapped by systemd automatically.
|
||||
##bindsym XF86WakeUp exec
|
||||
bindsym XF86Explorer exec $term -e lf
|
||||
##bindsym XF86Send exec
|
||||
##bindsym XF86Xfer exec
|
||||
bindsym XF86WWW exec --no-startup-id $BROWSER
|
||||
##bindsym XF86DOS exec
|
||||
bindsym XF86ScreenSaver exec exec --no-startup-id lockscreen
|
||||
##bindsym XF86RotateWindows exec
|
||||
##bindsym XF86TaskPane exec
|
||||
##bindsym XF86Favorites exec
|
||||
bindsym XF86MyComputer exec $term -e lf
|
||||
##bindsym XF86Back exec
|
||||
##bindsym XF86Forward exec
|
||||
bindsym XF86Eject exec --no-startup-id dmenuumount
|
||||
bindsym XF86AudioNext exec --no-startup-id mpc next
|
||||
bindsym XF86AudioPlay exec --no-startup-id mpc toggle
|
||||
bindsym XF86AudioPrev exec --no-startup-id mpc prev
|
||||
bindsym XF86AudioStop exec --no-startup-id mpc toggle
|
||||
##bindsym XF86AudioRecord
|
||||
bindsym XF86AudioRewind exec --no-startup-id mpc seek -10
|
||||
bindsym XF86AudioForward exec --no-startup-id mpc seek +10
|
||||
##bindsym XF86Phone exec
|
||||
##bindsym XF86Tools exec
|
||||
bindsym XF86HomePage exec $BROWSER https://lukesmith.xyz
|
||||
bindsym XF86Reload restart
|
||||
##bindsym XF86ScrollUp exec
|
||||
##bindsym XF86ScrollDown exec
|
||||
##bindsym XF86New exec
|
||||
##bindsym XF86LaunchA exec
|
||||
##bindsym XF86LaunchB exec
|
||||
##bindsym XF86Launch2 exec
|
||||
##bindsym XF86Launch3 exec
|
||||
##bindsym XF86Launch4 exec
|
||||
##bindsym XF86Launch5 exec
|
||||
##bindsym XF86Launch6 exec
|
||||
##bindsym XF86Launch7 exec
|
||||
##bindsym XF86Launch8 exec
|
||||
##bindsym XF86Launch9 exec
|
||||
#bindsym XF86AudioMicMute exec $micmute
|
||||
bindsym XF86TouchpadToggle exec --no-startup-id toggletouchpad
|
||||
bindsym XF86TouchpadOn exec --no-startup-id synclient TouchpadOff=0
|
||||
bindsym XF86TouchpadOff exec --no-startup-id synclient TouchpadOff=1
|
||||
bindsym XF86Suspend exec --no-startup-id lockscreen
|
||||
bindsym XF86Close kill
|
||||
bindsym XF86WebCam exec --no-startup-id camtoggle
|
||||
bindsym XF86Mail exec $term -e neomutt && pkill -RTMIN+12 i3blocks
|
||||
bindsym XF86Messenger exec $term -e weechat
|
||||
bindsym XF86Search exec $BROWSER https://duckduckgo.com
|
||||
##bindsym XF86Go exec
|
||||
##bindsym XF86Finance exec
|
||||
##bindsym XF86Game exec
|
||||
bindsym XF86Shop exec $BROWSER https://ebay.com
|
||||
bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 15
|
||||
bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -inc 15
|
||||
bindsym XF86AudioMedia exec --no-startup-id $term -e ncmpcpp
|
||||
bindsym XF86Display exec --no-startup-id displayselect
|
||||
#bindsym XF86KbdLightOnOff exec
|
||||
#bindsym XF86KbdBrightnessDown exec
|
||||
#bindsym XF86KbdBrightnessUp exec
|
||||
##bindsym XF86Reply exec
|
||||
##bindsym XF86MailForward exec
|
||||
##bindsym XF86Save exec
|
||||
bindsym XF86Documents exec $term -e lf ~/Documents
|
||||
##bindsym XF86Battery exec
|
||||
##bindsym XF86Bluetooth exec
|
||||
bindsym XF86WLAN exec $netrefresh
|
||||
@ -1,68 +0,0 @@
|
||||
command=~/.local/bin/statusbar/$BLOCK_NAME
|
||||
separator_block_width=15
|
||||
markup=pango
|
||||
|
||||
[record]
|
||||
command=cat /tmp/recordingicon
|
||||
interval=once
|
||||
signal=9
|
||||
|
||||
[music]
|
||||
label=🎼
|
||||
interval=once
|
||||
signal=11
|
||||
|
||||
[news]
|
||||
interval=once
|
||||
signal=6
|
||||
|
||||
#[iplocate]
|
||||
#interval=30
|
||||
|
||||
[pacpackages]
|
||||
interval=once
|
||||
signal=8
|
||||
|
||||
[torrent]
|
||||
interval=20
|
||||
signal=7
|
||||
|
||||
[weather]
|
||||
interval=18000
|
||||
signal=5
|
||||
|
||||
[mailbox]
|
||||
interval=180
|
||||
signal=12
|
||||
|
||||
#[memory]
|
||||
#interval=30
|
||||
|
||||
#[cpu]
|
||||
#interval=15
|
||||
|
||||
[volume]
|
||||
interval=once
|
||||
signal=10
|
||||
|
||||
#[disk]
|
||||
#interval=60
|
||||
#command=disk /
|
||||
|
||||
#[disk]
|
||||
#interval=60
|
||||
#command=disk /home
|
||||
|
||||
[battery]
|
||||
command=battery BAT0
|
||||
interval=5
|
||||
|
||||
[clock]
|
||||
label=📅
|
||||
interval=30
|
||||
|
||||
[internet]
|
||||
interval=10
|
||||
|
||||
[help-icon]
|
||||
interval=once
|
||||
@ -1,88 +0,0 @@
|
||||
# Luke's lf settings
|
||||
|
||||
# Basic vars
|
||||
set shell bash
|
||||
set shellopts '-eu'
|
||||
set ifs "\n"
|
||||
set scrolloff 10
|
||||
set color256
|
||||
set icons
|
||||
set period 1
|
||||
|
||||
# Vars that depend on environmental variables
|
||||
$lf -remote "send $id set previewer ${XDG_CONFIG_HOME:-$HOME/.config}/lf/scope"
|
||||
|
||||
# cmds/functions
|
||||
cmd open ${{
|
||||
case $(file --mime-type $f -b) in
|
||||
image/vnd.djvu|application/pdf|application/octet-stream) setsid zathura $fx >/dev/null 2>&1 & ;;
|
||||
text/troff) man ./ $f;;
|
||||
text/*) $EDITOR $fx;;
|
||||
image/x-xcf|image/svg+xml) setsid gimp $f >/dev/null 2>&1 & ;;
|
||||
image/*) rotdir $f | grep -i "\.\(png\|jpg\|jpeg\|gif\|webp\)\(_large\)*$" | setsid sxiv -aio 2>/dev/null | lf-select & ;;
|
||||
audio/*) mpv $f ;;
|
||||
video/*) setsid mpv $f -quiet >/dev/null 2>&1 & ;;
|
||||
application/pdf) setsid zathura $fx >/dev/null 2>&1 & ;;
|
||||
*) for f in $fx; do setsid $OPENER $f >/dev/null 2>&1 & done;;
|
||||
esac
|
||||
}}
|
||||
|
||||
cmd mkdir $mkdir -p "$(echo $* | tr ' ' '\ ')"
|
||||
|
||||
cmd delete ${{
|
||||
clear; tput cup $(($(tput lines)/3)); tput bold
|
||||
set -f
|
||||
printf "%s\n\t" "$fx"
|
||||
printf "delete?[y/N]"
|
||||
read ans
|
||||
[ $ans = "y" ] && rm -rf $fx
|
||||
}}
|
||||
|
||||
cmd moveto ${{
|
||||
clear; tput cup $(($(tput lines)/3)); tput bold
|
||||
set -f
|
||||
clear; echo "Move to where?"
|
||||
dest="$(cut -d' ' -f2- ${XDG_CONFIG_HOME:-$HOME/.config}/directories | fzf)" &&
|
||||
eval mv -iv $fx $dest &&
|
||||
notify-send "🚚 File(s) moved." "File(s) moved to $dest."
|
||||
}}
|
||||
|
||||
cmd copyto ${{
|
||||
clear; tput cup $(($(tput lines)/3)); tput bold
|
||||
set -f
|
||||
clear; echo "Copy to where?"
|
||||
dest="$(cut -d' ' -f2- ${XDG_CONFIG_HOME:-$HOME/.config}/directories | fzf)" &&
|
||||
eval cp -ivr $fx $dest &&
|
||||
notify-send "📋 File(s) copied." "File(s) copies to $dest."
|
||||
}}
|
||||
|
||||
cmd bulkrename ${{
|
||||
vidir
|
||||
}}
|
||||
|
||||
# Bindings
|
||||
map <c-f> $lf -remote "send $id select '$(fzf)'"
|
||||
map J $lf -remote "send $id cd $(cut -d' ' -f2 ${XDG_CONFIG_HOME:-$HOME/.config}/directories | fzf)"
|
||||
map gh
|
||||
map g top
|
||||
map D delete
|
||||
map C copyto
|
||||
map M moveto
|
||||
map <c-n> push :mkdir<space>
|
||||
map <c-r> reload
|
||||
map <enter> shell
|
||||
map x $$f
|
||||
map X !$f
|
||||
map o &mimeopen $f
|
||||
map O $mimeopen --ask $f
|
||||
|
||||
map A rename # at the very end
|
||||
map c push A<c-u> # new rename
|
||||
map I push A<c-a> # at the very beginning
|
||||
map i push A<a-b><a-b><a-f> # before extention
|
||||
map a push A<a-b> # after extention
|
||||
map b bulkrename
|
||||
|
||||
map <c-e> down
|
||||
map <c-y> up
|
||||
map V push :!nvim<space>
|
||||
@ -1,58 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -C -f -u
|
||||
#IFS=$'\n'
|
||||
IFS="$(printf '%b_' '\n')"; IFS="${IFS%_}"
|
||||
|
||||
# ANSI color codes are supported.
|
||||
# STDIN is disabled, so interactive scripts won't work properly
|
||||
|
||||
# This script is considered a configuration file and must be updated manually.
|
||||
|
||||
# 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
|
||||
|
||||
# Script arguments
|
||||
FILE_PATH="${1}" # Full path of the highlighted file
|
||||
HEIGHT="${2}"
|
||||
|
||||
#FILE_EXTENSION="${FILE_PATH##*.}"
|
||||
#FILE_EXTENSION_LOWER=$(echo ${FILE_EXTENSION} | tr '[:upper:]' '[:lower:]')
|
||||
|
||||
# Settings
|
||||
HIGHLIGHT_SIZE_MAX=262143 # 256KiB
|
||||
HIGHLIGHT_TABWIDTH=8
|
||||
HIGHLIGHT_STYLE='pablo'
|
||||
|
||||
|
||||
handle_mime() {
|
||||
local mimetype="${1}"
|
||||
case "${mimetype}" in
|
||||
text/html) w3m -dump "${FILE_PATH}" ;;
|
||||
text/troff) man ./ "${FILE_PATH}" | col -b ;;
|
||||
text/* | */xml)
|
||||
if [ "$( stat --printf='%s' -- "${FILE_PATH}" )" -gt "${HIGHLIGHT_SIZE_MAX}" ]; then
|
||||
exit 2
|
||||
fi
|
||||
if [ "$( tput colors )" -ge 256 ]; then
|
||||
local highlight_format='xterm256'
|
||||
else
|
||||
local highlight_format='ansi'
|
||||
fi
|
||||
highlight --replace-tabs="${HIGHLIGHT_TABWIDTH}" --out-format="${highlight_format}" \
|
||||
--style="${HIGHLIGHT_STYLE}" --force -- "${FILE_PATH}" ;;
|
||||
application/zip) atool --list -- "${FILE_PATH}" ;;
|
||||
image/*) chafa --fill=block --symbols=block -c 256 -s 80x"${HEIGHT}" "${FILE_PATH}" || exit 1;;
|
||||
video/* | audio/*|application/octet-stream) mediainfo "${FILE_PATH}" || exit 1;;
|
||||
*/pdf) pdftotext -l 10 -nopgbrk -q -- "${FILE_PATH}" - ;;
|
||||
*opendocument*) odt2txt "${FILE_PATH}" ;;
|
||||
esac
|
||||
}
|
||||
|
||||
MIMETYPE="$( file --dereference --brief --mime-type -- "${FILE_PATH}" )"
|
||||
handle_mime "${MIMETYPE}"
|
||||
exit 1
|
||||
@ -17,3 +17,7 @@ application/rss+xml=rss.desktop
|
||||
video/x-matroska=video.desktop
|
||||
x-scheme-handler/lbry=lbry.desktop
|
||||
inode/directory=file.desktop
|
||||
|
||||
[Added Associations]
|
||||
text/plain=code-oss.desktop;
|
||||
application/x-shellscript=code-oss.desktop;
|
||||
|
||||
@ -1,21 +0,0 @@
|
||||
music_directory "~/Music"
|
||||
playlist_directory "~/.config/mpd/playlists"
|
||||
|
||||
auto_update "yes"
|
||||
bind_to_address "127.0.0.1"
|
||||
restore_paused "yes"
|
||||
max_output_buffer_size "16384"
|
||||
|
||||
audio_output {
|
||||
type "pulse"
|
||||
name "pulse"
|
||||
#type "alsa"
|
||||
#name "ALSA"
|
||||
}
|
||||
|
||||
audio_output {
|
||||
type "fifo"
|
||||
name "Visualizer feed"
|
||||
path "/tmp/mpd.fifo"
|
||||
format "44100:16:2"
|
||||
}
|
||||
@ -1,5 +0,0 @@
|
||||
l seek 5
|
||||
h seek -5
|
||||
j seek -60
|
||||
k seek 60
|
||||
S cycle sub
|
||||
@ -1,3 +0,0 @@
|
||||
local mpv_scripts_dir_path = os.getenv("HOME") .. "/.config/mpv/scripts/"
|
||||
function load(relative_path) dofile(mpv_scripts_dir_path .. relative_path) end
|
||||
load("mpvSockets/mpvSockets.lua")
|
||||
@ -1 +0,0 @@
|
||||
Subproject commit 8415a08d99a46213c918613cfe1e088071018db9
|
||||
@ -1,479 +0,0 @@
|
||||
##############################################################
|
||||
## This is the example bindings file. Copy it to ##
|
||||
## ~/.ncmpcpp/bindings or $XDG_CONFIG_HOME/ncmpcpp/bindings ##
|
||||
## and set up your preferences ##
|
||||
##############################################################
|
||||
#
|
||||
#def_key "mouse"
|
||||
# mouse_event
|
||||
#
|
||||
#def_key "up"
|
||||
# scroll_up
|
||||
#
|
||||
#def_key "shift-up"
|
||||
# select_item
|
||||
# scroll_up
|
||||
#
|
||||
#def_key "down"
|
||||
# scroll_down
|
||||
#
|
||||
#def_key "shift-down"
|
||||
# select_item
|
||||
# scroll_down
|
||||
#
|
||||
#def_key "["
|
||||
# scroll_up_album
|
||||
#
|
||||
#def_key "]"
|
||||
# scroll_down_album
|
||||
#
|
||||
#def_key "{"
|
||||
# scroll_up_artist
|
||||
#
|
||||
#def_key "}"
|
||||
# scroll_down_artist
|
||||
#
|
||||
#def_key "page_up"
|
||||
# page_up
|
||||
#
|
||||
#def_key "page_down"
|
||||
# page_down
|
||||
#
|
||||
#def_key "home"
|
||||
# move_home
|
||||
#
|
||||
#def_key "end"
|
||||
# move_end
|
||||
#
|
||||
#def_key "insert"
|
||||
# select_item
|
||||
#
|
||||
#def_key "enter"
|
||||
# enter_directory
|
||||
#
|
||||
#def_key "enter"
|
||||
# toggle_output
|
||||
#
|
||||
#def_key "enter"
|
||||
# run_action
|
||||
#
|
||||
#def_key "enter"
|
||||
# play_item
|
||||
#
|
||||
#def_key "space"
|
||||
# add_item_to_playlist
|
||||
#
|
||||
#def_key "space"
|
||||
# toggle_lyrics_update_on_song_change
|
||||
#
|
||||
#def_key "space"
|
||||
# toggle_visualization_type
|
||||
#
|
||||
#def_key "delete"
|
||||
# delete_playlist_items
|
||||
#
|
||||
#def_key "delete"
|
||||
# delete_browser_items
|
||||
#
|
||||
#def_key "delete"
|
||||
# delete_stored_playlist
|
||||
#
|
||||
#def_key "right"
|
||||
# next_column
|
||||
#
|
||||
#def_key "right"
|
||||
# slave_screen
|
||||
#
|
||||
#def_key "right"
|
||||
# volume_up
|
||||
#
|
||||
#def_key "+"
|
||||
# volume_up
|
||||
#
|
||||
#def_key "left"
|
||||
# previous_column
|
||||
#
|
||||
#def_key "left"
|
||||
# master_screen
|
||||
#
|
||||
#def_key "left"
|
||||
# volume_down
|
||||
#
|
||||
#def_key "-"
|
||||
# volume_down
|
||||
#
|
||||
#def_key ":"
|
||||
# execute_command
|
||||
#
|
||||
#def_key "tab"
|
||||
# next_screen
|
||||
#
|
||||
#def_key "shift-tab"
|
||||
# previous_screen
|
||||
#
|
||||
#def_key "f1"
|
||||
# show_help
|
||||
#
|
||||
#def_key "1"
|
||||
# show_playlist
|
||||
#
|
||||
#def_key "2"
|
||||
# show_browser
|
||||
#
|
||||
#def_key "2"
|
||||
# change_browse_mode
|
||||
#
|
||||
#def_key "3"
|
||||
# show_search_engine
|
||||
#
|
||||
#def_key "3"
|
||||
# reset_search_engine
|
||||
#
|
||||
#def_key "4"
|
||||
# show_media_library
|
||||
#
|
||||
#def_key "4"
|
||||
# toggle_media_library_columns_mode
|
||||
#
|
||||
#def_key "5"
|
||||
# show_playlist_editor
|
||||
#
|
||||
#def_key "6"
|
||||
# show_tag_editor
|
||||
#
|
||||
#def_key "7"
|
||||
# show_outputs
|
||||
#
|
||||
#def_key "8"
|
||||
# show_visualizer
|
||||
#
|
||||
#def_key "="
|
||||
# show_clock
|
||||
#
|
||||
#def_key "@"
|
||||
# show_server_info
|
||||
#
|
||||
#def_key "s"
|
||||
# stop
|
||||
#
|
||||
#def_key "p"
|
||||
# pause
|
||||
#
|
||||
#def_key ">"
|
||||
# next
|
||||
#
|
||||
#def_key "<"
|
||||
# previous
|
||||
#
|
||||
#def_key "ctrl-h"
|
||||
# jump_to_parent_directory
|
||||
#
|
||||
#def_key "ctrl-h"
|
||||
# replay_song
|
||||
#
|
||||
#def_key "backspace"
|
||||
# jump_to_parent_directory
|
||||
#
|
||||
#def_key "backspace"
|
||||
# replay_song
|
||||
#
|
||||
#def_key "f"
|
||||
# seek_forward
|
||||
#
|
||||
#def_key "b"
|
||||
# seek_backward
|
||||
#
|
||||
#def_key "r"
|
||||
# toggle_repeat
|
||||
#
|
||||
#def_key "z"
|
||||
# toggle_random
|
||||
#
|
||||
#def_key "y"
|
||||
# save_tag_changes
|
||||
#
|
||||
#def_key "y"
|
||||
# start_searching
|
||||
#
|
||||
#def_key "y"
|
||||
# toggle_single
|
||||
#
|
||||
#def_key "R"
|
||||
# toggle_consume
|
||||
#
|
||||
#def_key "Y"
|
||||
# toggle_replay_gain_mode
|
||||
#
|
||||
#def_key "T"
|
||||
# toggle_add_mode
|
||||
#
|
||||
#def_key "|"
|
||||
# toggle_mouse
|
||||
#
|
||||
#def_key "#"
|
||||
# toggle_bitrate_visibility
|
||||
#
|
||||
#def_key "Z"
|
||||
# shuffle
|
||||
#
|
||||
#def_key "x"
|
||||
# toggle_crossfade
|
||||
#
|
||||
#def_key "X"
|
||||
# set_crossfade
|
||||
#
|
||||
#def_key "u"
|
||||
# update_database
|
||||
#
|
||||
#def_key "ctrl-s"
|
||||
# sort_playlist
|
||||
#
|
||||
#def_key "ctrl-s"
|
||||
# toggle_browser_sort_mode
|
||||
#
|
||||
#def_key "ctrl-s"
|
||||
# toggle_media_library_sort_mode
|
||||
#
|
||||
#def_key "ctrl-r"
|
||||
# reverse_playlist
|
||||
#
|
||||
#def_key "ctrl-f"
|
||||
# apply_filter
|
||||
#
|
||||
#def_key "ctrl-_"
|
||||
# select_found_items
|
||||
#
|
||||
#def_key "/"
|
||||
# find
|
||||
#
|
||||
#def_key "/"
|
||||
# find_item_forward
|
||||
#
|
||||
#def_key "?"
|
||||
# find
|
||||
#
|
||||
#def_key "?"
|
||||
# find_item_backward
|
||||
#
|
||||
#def_key "."
|
||||
# next_found_item
|
||||
#
|
||||
#def_key ","
|
||||
# previous_found_item
|
||||
#
|
||||
#def_key "w"
|
||||
# toggle_find_mode
|
||||
#
|
||||
#def_key "e"
|
||||
# edit_song
|
||||
#
|
||||
#def_key "e"
|
||||
# edit_library_tag
|
||||
#
|
||||
#def_key "e"
|
||||
# edit_library_album
|
||||
#
|
||||
#def_key "e"
|
||||
# edit_directory_name
|
||||
#
|
||||
#def_key "e"
|
||||
# edit_playlist_name
|
||||
#
|
||||
#def_key "e"
|
||||
# edit_lyrics
|
||||
#
|
||||
#def_key "i"
|
||||
# show_song_info
|
||||
#
|
||||
#def_key "I"
|
||||
# show_artist_info
|
||||
#
|
||||
#def_key "g"
|
||||
# jump_to_position_in_song
|
||||
#
|
||||
#def_key "l"
|
||||
# show_lyrics
|
||||
#
|
||||
#def_key "ctrl-v"
|
||||
# select_range
|
||||
#
|
||||
#def_key "v"
|
||||
# reverse_selection
|
||||
#
|
||||
#def_key "V"
|
||||
# remove_selection
|
||||
#
|
||||
#def_key "B"
|
||||
# select_album
|
||||
#
|
||||
#def_key "a"
|
||||
# add_selected_items
|
||||
#
|
||||
#def_key "c"
|
||||
# clear_playlist
|
||||
#
|
||||
#def_key "c"
|
||||
# clear_main_playlist
|
||||
#
|
||||
#def_key "C"
|
||||
# crop_playlist
|
||||
#
|
||||
#def_key "C"
|
||||
# crop_main_playlist
|
||||
#
|
||||
#def_key "m"
|
||||
# move_sort_order_up
|
||||
#
|
||||
#def_key "m"
|
||||
# move_selected_items_up
|
||||
#
|
||||
#def_key "n"
|
||||
# move_sort_order_down
|
||||
#
|
||||
#def_key "n"
|
||||
# move_selected_items_down
|
||||
#
|
||||
#def_key "M"
|
||||
# move_selected_items_to
|
||||
#
|
||||
#def_key "A"
|
||||
# add
|
||||
#
|
||||
#def_key "S"
|
||||
# save_playlist
|
||||
#
|
||||
#def_key "o"
|
||||
# jump_to_playing_song
|
||||
#
|
||||
#def_key "G"
|
||||
# jump_to_browser
|
||||
#
|
||||
#def_key "G"
|
||||
# jump_to_playlist_editor
|
||||
#
|
||||
#def_key "~"
|
||||
# jump_to_media_library
|
||||
#
|
||||
#def_key "E"
|
||||
# jump_to_tag_editor
|
||||
#
|
||||
#def_key "U"
|
||||
# toggle_playing_song_centering
|
||||
#
|
||||
#def_key "P"
|
||||
# toggle_display_mode
|
||||
#
|
||||
#def_key "\\"
|
||||
# toggle_interface
|
||||
#
|
||||
#def_key "!"
|
||||
# toggle_separators_between_albums
|
||||
#
|
||||
#def_key "L"
|
||||
# toggle_lyrics_fetcher
|
||||
#
|
||||
#def_key "F"
|
||||
# fetch_lyrics_in_background
|
||||
#
|
||||
#def_key "alt-l"
|
||||
# toggle_fetching_lyrics_in_background
|
||||
#
|
||||
#def_key "ctrl-l"
|
||||
# toggle_screen_lock
|
||||
#
|
||||
#def_key "`"
|
||||
# toggle_library_tag_type
|
||||
#
|
||||
#def_key "`"
|
||||
# refetch_lyrics
|
||||
#
|
||||
#def_key "`"
|
||||
# add_random_items
|
||||
#
|
||||
#def_key "ctrl-p"
|
||||
# set_selected_items_priority
|
||||
#
|
||||
#def_key "q"
|
||||
# quit
|
||||
#
|
||||
#
|
||||
#def_key "f"
|
||||
# find
|
||||
#def_key "f"
|
||||
# find_item_forward
|
||||
|
||||
def_key "+"
|
||||
show_clock
|
||||
def_key "="
|
||||
volume_up
|
||||
|
||||
def_key "j"
|
||||
scroll_down
|
||||
def_key "k"
|
||||
scroll_up
|
||||
|
||||
def_key "ctrl-u"
|
||||
page_up
|
||||
#push_characters "kkkkkkkkkkkkkkk"
|
||||
def_key "ctrl-d"
|
||||
page_down
|
||||
#push_characters "jjjjjjjjjjjjjjj"
|
||||
def_key "u"
|
||||
page_up
|
||||
#push_characters "kkkkkkkkkkkkkkk"
|
||||
def_key "d"
|
||||
page_down
|
||||
#push_characters "jjjjjjjjjjjjjjj"
|
||||
def_key "h"
|
||||
previous_column
|
||||
def_key "l"
|
||||
next_column
|
||||
|
||||
def_key "."
|
||||
show_lyrics
|
||||
|
||||
def_key "n"
|
||||
next_found_item
|
||||
def_key "N"
|
||||
previous_found_item
|
||||
|
||||
# not used but bound
|
||||
def_key "J"
|
||||
move_sort_order_down
|
||||
def_key "K"
|
||||
move_sort_order_up
|
||||
def_key "h"
|
||||
jump_to_parent_directory
|
||||
def_key "l"
|
||||
enter_directory
|
||||
def_key "l"
|
||||
run_action
|
||||
def_key "l"
|
||||
play_item
|
||||
def_key "m"
|
||||
show_media_library
|
||||
def_key "m"
|
||||
toggle_media_library_columns_mode
|
||||
def_key "t"
|
||||
show_tag_editor
|
||||
def_key "v"
|
||||
show_visualizer
|
||||
def_key "G"
|
||||
move_end
|
||||
def_key "g"
|
||||
move_home
|
||||
#jump_to_position_in_song
|
||||
def_key "U"
|
||||
update_database
|
||||
def_key "s"
|
||||
reset_search_engine
|
||||
def_key "s"
|
||||
show_search_engine
|
||||
def_key "f"
|
||||
show_browser
|
||||
def_key "f"
|
||||
change_browse_mode
|
||||
def_key "x"
|
||||
delete_playlist_items
|
||||
def_key "P"
|
||||
show_playlist
|
||||
@ -1,32 +0,0 @@
|
||||
# vim: filetype=conf
|
||||
|
||||
ncmpcpp_directory = "~/.config/ncmpcpp"
|
||||
lyrics_directory = "~/.local/share/lyrics"
|
||||
mpd_music_dir = "~/Music"
|
||||
message_delay_time = "1"
|
||||
visualizer_type = "spectrum"
|
||||
song_list_format = {$4%a - }{%t}|{$8%f$9}$R{$3(%l)$9}
|
||||
song_status_format = $b{{$8"%t"}} $3by {$4%a{ $3in $7%b{ (%y)}} $3}|{$8%f}
|
||||
song_library_format = {%n - }{%t}|{%f}
|
||||
alternative_header_first_line_format = $b$1$aqqu$/a$9 {%t}|{%f} $1$atqq$/a$9$/b
|
||||
alternative_header_second_line_format = {{$4$b%a$/b$9}{ - $7%b$9}{ ($4%y$9)}}|{%D}
|
||||
current_item_prefix = $(cyan)$r$b
|
||||
current_item_suffix = $/r$(end)$/b
|
||||
current_item_inactive_column_prefix = $(magenta)$r
|
||||
current_item_inactive_column_suffix = $/r$(end)
|
||||
playlist_display_mode = columns
|
||||
browser_display_mode = columns
|
||||
progressbar_look = ->
|
||||
media_library_primary_tag = album_artist
|
||||
media_library_albums_split_by_date = no
|
||||
startup_screen = "media_library"
|
||||
display_volume_level = no
|
||||
ignore_leading_the = yes
|
||||
external_editor = nvim
|
||||
use_console_editor = yes
|
||||
empty_tag_color = magenta
|
||||
main_window_color = white
|
||||
progressbar_color = black:b
|
||||
progressbar_elapsed_color = blue:b
|
||||
statusbar_color = red
|
||||
statusbar_time_color = cyan:b
|
||||
@ -1,52 +0,0 @@
|
||||
#show-read-feeds no
|
||||
auto-reload yes
|
||||
|
||||
external-url-viewer "urlscan -dc -r 'linkhandler {}'"
|
||||
|
||||
bind-key j down
|
||||
bind-key k up
|
||||
bind-key j next articlelist
|
||||
bind-key k prev articlelist
|
||||
bind-key J next-feed articlelist
|
||||
bind-key K prev-feed articlelist
|
||||
bind-key G end
|
||||
bind-key g home
|
||||
bind-key d pagedown
|
||||
bind-key u pageup
|
||||
bind-key l open
|
||||
bind-key h quit
|
||||
bind-key a toggle-article-read
|
||||
bind-key n next-unread
|
||||
bind-key N prev-unread
|
||||
bind-key D pb-download
|
||||
bind-key U show-urls
|
||||
bind-key x pb-delete
|
||||
|
||||
color listnormal cyan default
|
||||
color listfocus black yellow standout bold
|
||||
color listnormal_unread blue default
|
||||
color listfocus_unread yellow default bold
|
||||
color info red black bold
|
||||
color article white default bold
|
||||
|
||||
browser linkhandler
|
||||
macro , open-in-browser
|
||||
macro t set browser "qndl"; open-in-browser ; set browser linkhandler
|
||||
macro a set browser "tsp youtube-dl --add-metadata -xic -f bestaudio/best"; open-in-browser ; set browser linkhandler
|
||||
macro v set browser "setsid nohup mpv"; open-in-browser ; set browser linkhandler
|
||||
macro w set browser "lynx"; open-in-browser ; set browser linkhandler
|
||||
macro p set browser "dmenuhandler"; open-in-browser ; set browser linkhandler
|
||||
macro c set browser "xsel -b <<<" ; open-in-browser ; set browser linkhandler
|
||||
|
||||
highlight all "---.*---" yellow
|
||||
highlight feedlist ".*(0/0))" black
|
||||
highlight article "(^Feed:.*|^Title:.*|^Author:.*)" cyan default bold
|
||||
highlight article "(^Link:.*|^Date:.*)" default default
|
||||
highlight article "https?://[^ ]+" green default
|
||||
highlight article "^(Title):.*$" blue default
|
||||
highlight article "\\[[0-9][0-9]*\\]" magenta default bold
|
||||
highlight article "\\[image\\ [0-9]+\\]" green default bold
|
||||
highlight article "\\[embedded flash: [0-9][0-9]*\\]" green default bold
|
||||
highlight article ":.*\\(link\\)$" cyan default
|
||||
highlight article ":.*\\(image\\)$" blue default
|
||||
highlight article ":.*\\(embedded flash\\)$" magenta default
|
||||
@ -1,4 +0,0 @@
|
||||
http://lukesmith.xyz/rss.xml
|
||||
https://notrelated.libsyn.com/rss
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC2eYFnH61tmytImy1mTYvhA "~Luke Smith (YouTube)"
|
||||
https://www.archlinux.org/feeds/news/ "tech"
|
||||
@ -8,12 +8,12 @@ if ! filereadable(system('echo -n "${XDG_CONFIG_HOME:-$HOME/.config}/nvim/autolo
|
||||
endif
|
||||
|
||||
call plug#begin(system('echo -n "${XDG_CONFIG_HOME:-$HOME/.config}/nvim/plugged"'))
|
||||
Plug 'neoclide/coc.nvim', {'branch': 'release'}
|
||||
Plug 'tpope/vim-surround'
|
||||
Plug 'preservim/nerdtree'
|
||||
Plug 'junegunn/goyo.vim'
|
||||
Plug 'PotatoesMaster/i3-vim-syntax'
|
||||
Plug 'jreybert/vimagit'
|
||||
Plug 'lukesmithxyz/vimling'
|
||||
Plug 'vimwiki/vimwiki'
|
||||
Plug 'bling/vim-airline'
|
||||
Plug 'tpope/vim-commentary'
|
||||
@ -33,7 +33,7 @@ set clipboard+=unnamedplus
|
||||
filetype plugin on
|
||||
syntax on
|
||||
set encoding=utf-8
|
||||
set number relativenumber
|
||||
set number
|
||||
" Enable autocompletion:
|
||||
set wildmode=longest,list,full
|
||||
" Disables automatic commenting on newline:
|
||||
@ -57,13 +57,6 @@ set clipboard+=unnamedplus
|
||||
let NERDTreeBookmarksFile = '~/.vim' . '/NERDTreeBookmarks'
|
||||
endif
|
||||
|
||||
" vimling:
|
||||
nm <leader>d :call ToggleDeadKeys()<CR>
|
||||
imap <leader>d <esc>:call ToggleDeadKeys()<CR>a
|
||||
nm <leader>i :call ToggleIPA()<CR>
|
||||
imap <leader>i <esc>:call ToggleIPA()<CR>a
|
||||
nm <leader>q :call ToggleProse()<CR>
|
||||
|
||||
" Shortcutting split navigation, saving a keypress:
|
||||
map <C-h> <C-w>h
|
||||
map <C-j> <C-w>j
|
||||
@ -76,10 +69,6 @@ set clipboard+=unnamedplus
|
||||
" Check file in shellcheck:
|
||||
map <leader>s :!clear && shellcheck %<CR>
|
||||
|
||||
" Open my bibliography file in split
|
||||
map <leader>b :vsp<space>$BIB<CR>
|
||||
map <leader>r :vsp<space>$REFER<CR>
|
||||
|
||||
" Replace all is aliased to S.
|
||||
nnoremap S :%s//g<Left><Left>
|
||||
|
||||
@ -120,6 +109,47 @@ set clipboard+=unnamedplus
|
||||
" Update binds when sxhkdrc is updated.
|
||||
autocmd BufWritePost *sxhkdrc !pkill -USR1 sxhkd
|
||||
|
||||
" Code completion stuff
|
||||
" ########################
|
||||
set nobackup
|
||||
set nowritebackup
|
||||
|
||||
" Use Microsoft python language server
|
||||
|
||||
"python.jediEnabled": false
|
||||
|
||||
" Use tab for trigger completion with characters ahead and navigate.
|
||||
" Use command ':verbose imap <tab>' to make sure tab is not mapped by other plugin.
|
||||
inoremap <silent><expr> <TAB>
|
||||
\ pumvisible() ? "\<C-n>" :
|
||||
\ <SID>check_back_space() ? "\<TAB>" :
|
||||
\ coc#refresh()
|
||||
inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>"
|
||||
|
||||
function! s:check_back_space() abort
|
||||
let col = col('.') - 1
|
||||
return !col || getline('.')[col - 1] =~# '\s'
|
||||
endfunction
|
||||
|
||||
" Add status line support, for integration with other plugin, checkout `:h coc-status`
|
||||
set statusline^=%{coc#status()}%{get(b:,'coc_current_function','')}
|
||||
|
||||
" You will have bad experience for diagnostic messages when it's default 4000.
|
||||
set updatetime=300
|
||||
|
||||
" Autocomplete with control space, similiar to Pycharm
|
||||
inoremap <silent><expr> <c-space> coc#refresh()
|
||||
|
||||
" Use `:Format` to format current buffer
|
||||
command! -nargs=0 Format :call CocAction('format')
|
||||
|
||||
" Use `:Fold` to fold current buffer
|
||||
command! -nargs=? Fold :call CocAction('fold', <f-args>)
|
||||
|
||||
" use `:OR` for organize import of current buffer
|
||||
command! -nargs=0 OR :call CocAction('runCommand', 'editor.action.organizeImport')
|
||||
|
||||
|
||||
" Turns off highlighting on the bits of code that are changed, so the line that is changed is highlighted but the actual text that has changed stands out on the line and is readable.
|
||||
if &diff
|
||||
highlight! link DiffText MatchParen
|
||||
|
||||
@ -1,413 +0,0 @@
|
||||
; vim:ft=dosini
|
||||
;=====================================================
|
||||
;
|
||||
; To learn more about how to configure Polybar
|
||||
; go to https://github.com/jaagr/polybar
|
||||
;
|
||||
; The README contains alot of information
|
||||
;
|
||||
;=====================================================
|
||||
|
||||
[colors]
|
||||
black = ${xrdb:color0:#1d2021}
|
||||
darkred = ${xrdb:color1:#cc241d}
|
||||
darkgreen = ${xrdb:color2:#98971a}
|
||||
darkyellow = ${xrdb:color3:#d79921}
|
||||
darkblue = ${xrdb:color4:#458588}
|
||||
darkmagenta = ${xrdb:color5:#b16286}
|
||||
darkcyan = ${xrdb:color6:#689d6a}
|
||||
lightgray = ${xrdb:color7:#a89984}
|
||||
gray = ${xrdb:color8:#928374}
|
||||
red = ${xrdb:color9:#fb4934}
|
||||
green = ${xrdb:color10:#b8bb26}
|
||||
yellow = ${xrdb:color11:#fabd2f}
|
||||
blue = ${xrdb:color12:#83a598}
|
||||
magenta = ${xrdb:color13:#d3869b}
|
||||
cyan = ${xrdb:color14:#8ec07c}
|
||||
white = ${xrdb:color15:#ebdbb2}
|
||||
background = ${xrdb:color256:#1d2021}
|
||||
foreground = ${xrdb:color257:#ebdbb2}
|
||||
|
||||
[bar/default]
|
||||
;monitor = ${env:MONITOR:LVDS-1}
|
||||
;monitor = ${env:MONITOR:HDMI-1}
|
||||
enable-ipc = true
|
||||
width = 100%
|
||||
height = 24
|
||||
;offset-x = 1%
|
||||
;offset-y = 1%
|
||||
;radius = 6.0
|
||||
fixed-center = false
|
||||
|
||||
background = ${colors.background}
|
||||
foreground = ${colors.foreground}
|
||||
|
||||
line-size = 3
|
||||
line-color = {$xrdb:red}
|
||||
|
||||
border-size = 0
|
||||
border-color = ${colors.white}
|
||||
|
||||
padding-left = 0
|
||||
padding-right = 0
|
||||
|
||||
module-margin-left = 1
|
||||
module-margin-right = 1
|
||||
|
||||
font-0 = mono:pixelsize=9;1
|
||||
font-1 = Inconsolata Nerd Font:size=8;1
|
||||
font-2 = Noto Color Emoji:scale=10:style=Regular;2
|
||||
font-3 = Symbola:pixelsize=9;1
|
||||
|
||||
|
||||
; Other modules: xkeyboard filesystem xbacklight backlight-acpi cpu memory temperature powermenu weather
|
||||
modules-left = bspwm xwindow
|
||||
;modules-center =
|
||||
modules-right = mpd volume mutt-wizard wlan eth battery date
|
||||
|
||||
tray-position = right
|
||||
tray-padding = 0
|
||||
|
||||
wm-restack = bspwm
|
||||
|
||||
;override-redirect = true
|
||||
|
||||
scroll-up = bspwm-desknext
|
||||
scroll-down = bspwm-deskprev
|
||||
|
||||
[module/mutt-wizard]
|
||||
|
||||
type = custom/script
|
||||
exec = mailbox
|
||||
interval = 5
|
||||
format-prefix = " "
|
||||
format-underline = ${colors.red}
|
||||
|
||||
click-left = $TERMINAL -e neomutt
|
||||
|
||||
|
||||
[module/weather]
|
||||
|
||||
type = custom/script
|
||||
exec = weather
|
||||
interval = 5000
|
||||
;format-underline =
|
||||
|
||||
[module/xwindow]
|
||||
type = internal/xwindow
|
||||
label = %title:0:45:...%
|
||||
format-foreground = ${colors.blue}
|
||||
|
||||
[module/xkeyboard]
|
||||
type = internal/xkeyboard
|
||||
blacklist-0 = num lock
|
||||
|
||||
format-prefix = " "
|
||||
format-prefix-foreground = ${colors.gray}
|
||||
format-prefix-underline = ${colors.darkmagenta}
|
||||
|
||||
label-layout = %layout%
|
||||
label-layout-underline = ${colors.darkmagenta}
|
||||
|
||||
label-indicator-padding = 2
|
||||
label-indicator-margin = 1
|
||||
label-indicator-background = ${colors.darkmagenta}
|
||||
label-indicator-underline = ${colors.darkmagenta}
|
||||
|
||||
[module/filesystem]
|
||||
type = internal/fs
|
||||
interval = 25
|
||||
|
||||
mount-0 = /
|
||||
mount-1 = /home
|
||||
|
||||
label-mounted-underline = ${colors.cyan}
|
||||
label-mounted = /: %percentage_used%%
|
||||
label-unmounted = %mountpoint% not mounted
|
||||
label-unmounted-foreground = ${colors.gray}
|
||||
|
||||
[module/bspwm]
|
||||
type = internal/bspwm
|
||||
|
||||
label-focused = %index%
|
||||
label-focused-foreground = ${colors.black}
|
||||
label-focused-background = ${colors.blue}
|
||||
label-focused-underline= ${colors.yellow}
|
||||
label-focused-padding = 1
|
||||
|
||||
label-occupied = %index%
|
||||
label-occupied-underline = ${colors.blue}
|
||||
label-occupied-padding = 1
|
||||
|
||||
label-urgent = %index%!
|
||||
label-urgent-background = ${colors.red}
|
||||
label-urgent-padding = 1
|
||||
|
||||
label-empty = %index%
|
||||
label-empty-foreground = ${colors.lightgray}
|
||||
label-empty-padding = 1
|
||||
|
||||
[module/i3]
|
||||
type = internal/i3
|
||||
format = <label-state> <label-mode>
|
||||
index-sort = true
|
||||
wrapping-scroll = false
|
||||
|
||||
; Only show workspaces on the same output as the bar
|
||||
;pin-workspaces = true
|
||||
|
||||
label-mode-padding = 2
|
||||
label-mode-foreground = ${colors.white}
|
||||
label-mode-background = ${colors.darkyellow}
|
||||
|
||||
; focused = Active workspace on focused monitor
|
||||
label-focused = %index%
|
||||
label-focused-background = ${colors:black}
|
||||
;label-focused-background = ${module/bspwm.label-focused-background}
|
||||
label-focused-underline = ${module/bspwm.label-focused-underline}
|
||||
label-focused-padding = ${module/bspwm.label-focused-padding}
|
||||
|
||||
; unfocused = Inactive workspace on any monitor
|
||||
label-unfocused = %index%
|
||||
label-unfocused-padding = ${module/bspwm.label-occupied-padding}
|
||||
|
||||
; visible = Active workspace on unfocused monitor
|
||||
label-visible = %index%
|
||||
label-visible-background = ${self.label-focused-background}
|
||||
label-visible-underline = ${self.label-focused-underline}
|
||||
label-visible-padding = ${self.label-focused-padding}
|
||||
|
||||
; urgent = Workspace with urgency hint set
|
||||
label-urgent = %index%
|
||||
label-urgent-background = ${module/bspwm.label-urgent-background}
|
||||
label-urgent-padding = ${module/bspwm.label-urgent-padding}
|
||||
|
||||
[module/mpd]
|
||||
type = internal/mpd
|
||||
format-online = <label-song> <label-time>
|
||||
|
||||
click-left = $TERMINAL -e ncmpcpp
|
||||
click-right = mpc toggle
|
||||
|
||||
label-song = %artist% - %title%
|
||||
label-song-maxlen = 70
|
||||
label-song-ellipsis = true
|
||||
|
||||
format-paused-foreground = ${colors.gray}
|
||||
|
||||
[module/xbacklight]
|
||||
type = internal/xbacklight
|
||||
|
||||
format = <label> <bar>
|
||||
label = ﯧ
|
||||
|
||||
bar-width = 10
|
||||
bar-indicator = |
|
||||
bar-indicator-foreground = #ff
|
||||
bar-indicator-font = 2
|
||||
bar-fill = ─
|
||||
bar-fill-font = 2
|
||||
bar-fill-foreground = #9f78e1
|
||||
bar-empty = ─
|
||||
bar-empty-font = 2
|
||||
bar-empty-foreground = ${colors.gray}
|
||||
|
||||
[module/backlight-acpi]
|
||||
inherit = module/xbacklight
|
||||
type = internal/backlight
|
||||
card = intel_backlight
|
||||
|
||||
[module/cpu]
|
||||
type = internal/cpu
|
||||
interval = 2
|
||||
format-prefix = "🌡 "
|
||||
format-prefix-foreground = ${colors.gray}
|
||||
format-underline = ${colors.red}
|
||||
label = %percentage%%
|
||||
|
||||
[module/memory]
|
||||
type = internal/memory
|
||||
interval = 2
|
||||
format-prefix = "🧠 "
|
||||
format-prefix-foreground = ${colors.gray}
|
||||
format-underline = ${colors.darkcyan}
|
||||
label = %percentage_used%%
|
||||
|
||||
[module/wlan]
|
||||
type = internal/network
|
||||
interface = wlp2s0
|
||||
interval = 3.0
|
||||
|
||||
format-connected = 直 <label-connected>
|
||||
format-connected-underline = ${colors.darkmagenta}
|
||||
label-connected = %essid%
|
||||
|
||||
;format-disconnected =
|
||||
format-disconnected = <label-disconnected>
|
||||
format-disconnected-underline = ${self.format-connected-underline}
|
||||
;label-disconnected = %ifname% disconnected
|
||||
label-disconnected = 睊no wifi
|
||||
label-disconnected-foreground = ${colors.gray}
|
||||
|
||||
; <ramp-signal>
|
||||
ramp-signal-0 =
|
||||
ramp-signal-1 =
|
||||
ramp-signal-2 =
|
||||
ramp-signal-3 =
|
||||
ramp-signal-4 =
|
||||
ramp-signal-foreground = ${colors.gray}
|
||||
|
||||
[module/eth]
|
||||
type = internal/network
|
||||
interface = enp0s25
|
||||
interval = 3.0
|
||||
|
||||
format-connected-underline = ${colors.darkgreen}
|
||||
;format-connected-underline = ${colors.green}
|
||||
format-connected-prefix = " "
|
||||
format-connected-prefix-foreground = ${colors.gray}
|
||||
label-connected = %local_ip%
|
||||
|
||||
;format-disconnected =
|
||||
format-disconnected = <label-disconnected>
|
||||
format-disconnected-underline = ${self.format-connected-underline}
|
||||
label-disconnected = %ifname%
|
||||
label-disconnected-foreground = ${colors.gray}
|
||||
|
||||
[module/date]
|
||||
type = internal/date
|
||||
interval = 60
|
||||
|
||||
date = "%Y %b %d (%a)"
|
||||
time = "%I:%M%p"
|
||||
|
||||
# If you're not living in a country where AM and PM is used you can add -alt to the time above this line and comment it using ;, then you can remove the -alt to the time under this line and uncomment it.
|
||||
;time-alt = " at %H:%M"
|
||||
;time-alt = %H:%M:%S
|
||||
;time-alt = %H:%M:%S
|
||||
|
||||
format-prefix = " "
|
||||
format-prefix-foreground = ${colors.gray}
|
||||
format-underline = ${colors.blue}
|
||||
|
||||
label = %date% %time%
|
||||
|
||||
[module/volume]
|
||||
type = internal/alsa
|
||||
|
||||
format-volume = <label-volume> <bar-volume>
|
||||
label-volume =
|
||||
label-volume-foreground = ${root.foreground}
|
||||
|
||||
format-muted-prefix = " "
|
||||
format-muted-foreground = ${colors.gray}
|
||||
label-muted = muted
|
||||
|
||||
bar-volume-width = 10
|
||||
bar-volume-foreground-0 = ${colors.blue}
|
||||
bar-volume-foreground-1 = ${colors.blue}
|
||||
bar-volume-foreground-2 = ${colors.green}
|
||||
bar-volume-foreground-3 = ${colors.green}
|
||||
bar-volume-foreground-4 = ${colors.green}
|
||||
bar-volume-foreground-5 = ${colors.yellow}
|
||||
bar-volume-foreground-6 = ${colors.red}
|
||||
bar-volume-gradient = false
|
||||
bar-volume-indicator = |
|
||||
bar-volume-indicator-font = 2
|
||||
bar-volume-fill = =
|
||||
bar-volume-fill-font = 2
|
||||
bar-volume-empty = =
|
||||
bar-volume-empty-font = 2
|
||||
bar-volume-empty-foreground = ${colors.gray}
|
||||
|
||||
[module/battery]
|
||||
type = internal/battery
|
||||
battery = BAT0
|
||||
adapter = ADP1
|
||||
full-at = 98
|
||||
|
||||
;format-charging = Charging... <label-charging>
|
||||
format-charging = <animation-charging> <label-charging>
|
||||
format-charging-underline = ${colors.darkyellow}
|
||||
|
||||
;format-discharging = <label-discharging>
|
||||
format-discharging = <ramp-capacity> <label-discharging>
|
||||
format-discharging-underline = ${self.format-charging-underline}
|
||||
|
||||
format-full-prefix = " "
|
||||
format-full-prefix-foreground = ${colors.gray}
|
||||
format-full-underline = ${self.format-charging-underline}
|
||||
|
||||
ramp-capacity-0 =
|
||||
ramp-capacity-1 =
|
||||
ramp-capacity-2 =
|
||||
ramp-capacity-3 =
|
||||
ramp-capacity-4 =
|
||||
ramp-capacity-foreground = ${colors.gray}
|
||||
|
||||
animation-charging-0 =
|
||||
animation-charging-1 =
|
||||
animation-charging-2 =
|
||||
animation-charging-3 =
|
||||
animation-charging-4 =
|
||||
animation-charging-foreground = ${colors.gray}
|
||||
animation-charging-framerate = 500
|
||||
|
||||
[module/temperature]
|
||||
type = internal/temperature
|
||||
thermal-zone = 0
|
||||
warn-temperature = 60
|
||||
|
||||
format = <ramp> <label>
|
||||
format-underline = ${colors.red}
|
||||
format-warn = <ramp> <label-warn>
|
||||
format-warn-underline = ${self.format-underline}
|
||||
|
||||
label = %temperature-c%
|
||||
label-warn = %temperature-c%
|
||||
label-warn-foreground = ${colors.darkmagenta}
|
||||
|
||||
ramp-0 =
|
||||
ramp-1 =
|
||||
ramp-2 =
|
||||
ramp-3 =
|
||||
ramp-4 =
|
||||
ramp-foreground = ${colors.gray}
|
||||
|
||||
[module/powermenu]
|
||||
type = custom/menu
|
||||
|
||||
format-spacing = 1
|
||||
|
||||
label-open =
|
||||
label-open-foreground = ${colors.darkmagenta}
|
||||
label-close = cancel
|
||||
label-close-foreground = ${colors.darkmagenta}
|
||||
label-separator = |
|
||||
label-separator-foreground = ${colors.gray}
|
||||
|
||||
menu-0-0 = reboot
|
||||
menu-0-0-exec = menu-open-1
|
||||
menu-0-1 = power off
|
||||
menu-0-1-exec = menu-open-2
|
||||
|
||||
menu-1-0 = cancel
|
||||
menu-1-0-exec = menu-open-0
|
||||
menu-1-1 = reboot
|
||||
menu-1-1-exec = sudo reboot
|
||||
|
||||
menu-2-0 = power off
|
||||
menu-2-0-exec = sudo poweroff
|
||||
menu-2-1 = cancel
|
||||
menu-2-1-exec = menu-open-0
|
||||
|
||||
[settings]
|
||||
screenchange-reload = true
|
||||
;compositing-background = xor
|
||||
;compositing-background = screen
|
||||
;compositing-foreground = source
|
||||
;compositing-border = over
|
||||
|
||||
[global/wm]
|
||||
margin-top = 5
|
||||
margin-bottom = 5
|
||||
@ -1,8 +1,6 @@
|
||||
# Luke's ranger setup
|
||||
|
||||
## Basic Ranger shortcuts
|
||||
|
||||
These are the basic key binds in ranger, even outside of my configs. Note that they are mostly vim-based.
|
||||
These are the basic key binds in ranger. Note that they are mostly vim-based.
|
||||
|
||||
+ h/j/k/l -- Move left/down/up/right (where left moves up in the directory structure, right moves into a folder)
|
||||
+ Space -- select/highlight file
|
||||
@ -18,10 +16,7 @@ These are the basic key binds in ranger, even outside of my configs. Note that t
|
||||
+ I -- rename file adding at the beginning
|
||||
|
||||
## Shortcuts
|
||||
|
||||
As I say in the main readme, there are shortcut commands generated for ranger
|
||||
based on what bookmarked directories and files you give it. For directory
|
||||
shortcuts, here are the "verbs":
|
||||
For directory shortcuts, here are the "verbs":
|
||||
|
||||
+ g -- "go or cd"
|
||||
+ t -- "new tab"
|
||||
@ -30,12 +25,12 @@ shortcuts, here are the "verbs":
|
||||
|
||||
These "verbs" take "nouns" or "arguments," like these:
|
||||
|
||||
+ d -- "~/Documents"
|
||||
+ D -- "~/Downloads"
|
||||
+ d -- "~/documents"
|
||||
+ D -- "~/downloads"
|
||||
+ cf -- "~/.config"
|
||||
+ And many others, including those you add to `~/.bmdirs`.
|
||||
+ And many others, including those you add to `~/.directories`.
|
||||
|
||||
Press any "verb" followed by any "argument" to perform a folder operation. "gd" will cd to ~/Documents, for example. "mD" will move the selected file(s) to ~/Downloads. "tcf" will create a new tab in ~/.config, etc. etc.
|
||||
Press any "verb" followed by any "argument" to perform a folder operation. "gd" will cd to ~/documents, for example. "mD" will move the selected file(s) to ~/downloads. "tcf" will create a new tab in ~/.config, etc. etc.
|
||||
|
||||
## Many little additions!
|
||||
|
||||
@ -60,26 +55,11 @@ Press any "verb" followed by any "argument" to perform a folder operation. "gd"
|
||||
+ Txs -- copy slideshow/beamer template to new file
|
||||
+ Txh -- copy handout template to new file
|
||||
+ Image commands:
|
||||
+ bg -- makes an image your background (assuming i3 is looking at ~/.local/share/bg for your background)
|
||||
+ bg -- makes an image your background (assuming i3 is looking at ~/.config/assets/wallpaper.png for your background)
|
||||
+ bw -- runs Pywal on the selected image, making it your background and generating a color scheme based off of it.
|
||||
+ C -- rotates an image (requires imagemagick)
|
||||
+ F -- flips an image (requires imagemagick)
|
||||
+ TR -- add transparency to image file
|
||||
+ mpd/mpc shortcuts
|
||||
+ MS -- Start mpd
|
||||
+ MK -- kill mpd
|
||||
+ MN -- Start playing selected song/folder now
|
||||
+ Ma -- Enqueue selected song/folder
|
||||
+ Mp -- Pause
|
||||
+ Mn -- Next track
|
||||
+ Mb -- Previous track
|
||||
+ Mo -- Restart track
|
||||
+ Audio tagging with eye3D:
|
||||
+ Ta -- change artist name
|
||||
+ TA -- change album name
|
||||
+ Tb -- change album artist
|
||||
+ Tt -- change title
|
||||
+ Tn -- change track number
|
||||
+ Downloading:
|
||||
+ ytv -- Download online video (paste in url) (requires youtube-dl)
|
||||
+ yta -- Download audio of online video (paste in url) (requires youtube-dl)
|
||||
@ -1,270 +0,0 @@
|
||||
# The Simple X Hotkey Daemon is the program used by LARBS to map most of the
|
||||
# dwm-independent commands. This file is pretty readable, so I'll let you read
|
||||
# it.
|
||||
|
||||
# The keys NOT bound here by sxhkd, but by dwm or i3 are:
|
||||
# The t thru p keys on the top row
|
||||
# The f thru ; keys on the home row
|
||||
# The b key on the bottom row (hides the bar in either case)
|
||||
|
||||
# Basic binds
|
||||
super + Return
|
||||
$TERMINAL
|
||||
super + d
|
||||
dmenu_run
|
||||
super + r
|
||||
$TERMINAL -e $FILE
|
||||
super + e
|
||||
$TERMINAL -e neomutt; pkill -RTMIN+12 blocks
|
||||
super + m
|
||||
$TERMINAL -e ncmpcpp
|
||||
super + n
|
||||
$TERMINAL -e newsboat
|
||||
super + c
|
||||
$TERMINAL -e calcurse
|
||||
super + v
|
||||
$TERMINAL -e nvim -c VimwikiIndex
|
||||
super + shift + a
|
||||
$TERMINAL -e alsamixer; pkill -RTMIN+10 blocks
|
||||
super + shift + c
|
||||
mpv --no-osc --no-input-default-bindings --input-conf=/dev/null --title='mpvfloat' /dev/video0
|
||||
super + shift + e
|
||||
tutorialvids
|
||||
super + w
|
||||
$TERMINAL -e sudo nmtui
|
||||
super + shift + w
|
||||
$BROWSER
|
||||
|
||||
# Et cetera...
|
||||
super + grave
|
||||
dmenuunicode
|
||||
super + Scroll_Lock
|
||||
killall screenkey || screenkey
|
||||
super + Insert
|
||||
showclip
|
||||
super + shift + x
|
||||
prompt "Shutdown computer?" "sudo -A shutdown -h now"
|
||||
super + shift + BackSpace
|
||||
prompt "Reboot computer?" "sudo -A reboot"
|
||||
super + shift + Escape
|
||||
prompt 'Leave Xorg?' 'killall Xorg'
|
||||
super + x
|
||||
ifinstalled slock && ( slock & xset dpms force off ; mpc pause ; pauseallmpv )
|
||||
XF86Launch1
|
||||
xset dpms force off
|
||||
XF86TouchpadToggle
|
||||
(synclient | grep "TouchpadOff.*1" && synclient TouchpadOff=0) || synclient TouchpadOff=1
|
||||
XF86Touchpad{Off,On}
|
||||
synclient TouchpadOff={1,0}
|
||||
XF86MonBrightnessDown
|
||||
xbacklight -dec 15
|
||||
XF86MonBrightnessUp
|
||||
xbacklight -inc 15
|
||||
|
||||
# Recording
|
||||
# Take screenshot
|
||||
Print
|
||||
maim pic-full-$(date '+%y%m%d-%H%M-%S').png
|
||||
# Pick screenshot type
|
||||
shift + Print
|
||||
maimpick
|
||||
# Print: Record audio or video; Del: kill recording
|
||||
super + Print
|
||||
dmenurecord
|
||||
super + Delete
|
||||
dmenurecord kill
|
||||
|
||||
# Pause audio
|
||||
super + p
|
||||
mpc toggle
|
||||
super + shift + p
|
||||
mpc pause; pauseallmpv
|
||||
# Changes to next/previous tracks
|
||||
super + {comma,period}
|
||||
mpc {prev,next}
|
||||
# Restart track
|
||||
super + shift + less
|
||||
mpc seek 0%
|
||||
# Seek foward in song
|
||||
super + {_,shift +} bracketright
|
||||
mpc seek +{10,120}
|
||||
# Seek backward in song
|
||||
super + {_,shift +} bracketleft
|
||||
mpc seek -{10,120}
|
||||
# Increase volume
|
||||
super + {equal,plus}
|
||||
amixer sset Master {5,15}%+; pkill -RTMIN+10 blocks
|
||||
# Decrease volume
|
||||
super {_,shift +} + minus
|
||||
amixer sset Master {5,15}%-; pkill -RTMIN+10 blocks
|
||||
super + shift + m
|
||||
amixer sset Master toggle; pkill -RTMIN+10 blocks
|
||||
|
||||
# Audiokeys
|
||||
XF86AudioMute
|
||||
amixer sset Master toggle; pkill -RTMIN+10 blocks
|
||||
XF86Audio{Raise,Lower}Volume
|
||||
amixer sset Master 5%{+,-}; pkill -RTMIN+10 blocks
|
||||
XF86Audio{Next,Prev}
|
||||
mpc {next,prev}
|
||||
XF86Audio{Pause,Play,Stop}
|
||||
mpc {pause,play,stop}
|
||||
XF86Audio{Rewind,Forward}
|
||||
mpc seek {-,+}10
|
||||
XF86AudioRecord
|
||||
dmenurecord
|
||||
XF86AudioMedia
|
||||
$TERMINAL -e ncmpcpp
|
||||
|
||||
XF86PowerOff
|
||||
prompt "Shutdown computer?" "sudo -A shutdown -h now"
|
||||
XF86Calculator
|
||||
$TERMINAL -e bc
|
||||
XF86Sleep
|
||||
prompt 'Hibernate computer?' 'sudo -A zzz'
|
||||
XF86WWW
|
||||
$BROWSER
|
||||
XF86DOS
|
||||
$TERMINAL
|
||||
XF86ScreenSaver
|
||||
mpc pause; pauseallmpv; i3lock -e -f -c 1d2021; xset dpms force off
|
||||
XF86TaskPane
|
||||
$TERMINAL -e htop
|
||||
XF86Mail
|
||||
$TERMINAL -e neomutt
|
||||
XF86MyComputer
|
||||
$TERMINAL -e $FILE /
|
||||
|
||||
# Function keys
|
||||
super + shift + F1
|
||||
grep LARBSWELCOME ~/.xprofile && ( sed -i "/LARBSWELCOME/d" ~/.xprofile && notify-send "LARBS welcome message" "Welcome message disabled. Press Super+Shift+F1 again to reverse." ) || ( echo "notify-send -i "${XDG_DATA_HOME:-$HOME/.local/share}/larbs/larbs.png" \"Welcome to LARBS\" \"Press super+F1 for the help menu.\" # LARBSWELCOME" >> ~/.xprofile && notify-send "LARBS welcome message" "Welcome message re-enabled." )
|
||||
# Show readme
|
||||
super + F1
|
||||
groff -mom ${XDG_DATA_HOME:-$HOME/.local/share}/larbs/readme.mom -Tpdf | zathura -
|
||||
# F2 restarts either dwm or i3 and is bound in each.
|
||||
# Change display
|
||||
super + F3
|
||||
displayselect
|
||||
# Hibernate
|
||||
super + F4
|
||||
prompt 'Hibernate computer?' 'sudo -A zzz -Z'
|
||||
super + F5 is unbound.
|
||||
# Start torrent daemon/open interface
|
||||
super + F6
|
||||
torwrap
|
||||
# toggle torrent daemon
|
||||
super + F7
|
||||
td-toggle
|
||||
# sync email
|
||||
super + F8
|
||||
mailsync
|
||||
# Mount a USB drive or Android device
|
||||
super + {F9,F10}
|
||||
{dmenumount,dmenuumount}
|
||||
|
||||
|
||||
|
||||
# close and kill
|
||||
super + {_,shift + }q
|
||||
bspc node -{c,k}
|
||||
|
||||
# alternate between the tiled and monocle layout
|
||||
super + {_,shift + }f
|
||||
bspc {desktop -l next,node -t ~fullscreen}
|
||||
|
||||
# rotate current node 90 degrees
|
||||
super + y
|
||||
bspc node @focused:/ -R 90
|
||||
|
||||
# swap the current node and the biggest local node
|
||||
super + space
|
||||
bspc node -s biggest.local || bspc node -s next.local
|
||||
|
||||
#
|
||||
# state/flags
|
||||
#
|
||||
|
||||
# set the window state
|
||||
#super + {t,shift + t,s}
|
||||
#bspc node -t {tiled,pseudo_tiled,floating}
|
||||
|
||||
super + shift + space
|
||||
bspc node focused -t \~floating
|
||||
|
||||
# focus/swap
|
||||
|
||||
# focus the node in the given direction
|
||||
super + {_,shift + }{h,j,k,l}
|
||||
bspc node -{f,s} {west,south,north,east}
|
||||
|
||||
# focus the node for the given path jump
|
||||
super + {p,b,comma,period}
|
||||
bspc node -f @{parent,brother,first,second}
|
||||
|
||||
super + {g,semicolon}
|
||||
bspc desktop {prev,next}.occupied --focus
|
||||
super + {Prior,Next}
|
||||
bspc desktop {prev,next}.occupied --focus
|
||||
super + {Tab,backslash}
|
||||
bspc desktop last --focus
|
||||
|
||||
# focus or swap the next node
|
||||
super + {_,shift + }c
|
||||
bspc node -{f,s} next.local
|
||||
|
||||
# focus the older or newer node in the focus history
|
||||
|
||||
# focus or send to the given desktop
|
||||
super + {_,shift + }{1-9,0}
|
||||
bspc {desktop -f,node -d} ^{1-9,10}
|
||||
|
||||
# preselect the direction
|
||||
#super + {u,o}
|
||||
#bspc node -p {south,east}
|
||||
|
||||
# preselect the ratio
|
||||
super + ctrl + {1-9}
|
||||
bspc node -o 0.{1-9}
|
||||
|
||||
# cancel the preselection for the focused node
|
||||
super + ctrl + space
|
||||
bspc node -p cancel
|
||||
|
||||
# cancel the preselection for the focused desktop
|
||||
#super + space
|
||||
#bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
|
||||
|
||||
# expand a window by moving one of its side outward
|
||||
super + shift + {y,u,i,o}
|
||||
bspc node -z {right -20 0,bottom 0 20,bottom 0 -20,right 20 0}
|
||||
|
||||
# contract a window by moving one of its side inward
|
||||
|
||||
# move a floating window
|
||||
super + {Left,Down,Up,Right}
|
||||
bspc node -v {-20 0,0 20,0 -20,20 0}
|
||||
|
||||
# Toggle gaps
|
||||
super + shift + d
|
||||
bspc config window_gap {0,15}
|
||||
# Increase/descrease gap size
|
||||
super { ,+ shift }+ z
|
||||
bspc config window_gap $(($(bspc config window_gap) {+,-} 3))
|
||||
|
||||
super + u
|
||||
cat /tmp/dropdown | xargs -I win bspc node win --flag hidden;bspc node -f win
|
||||
|
||||
# Make a windoww sticky/non-sticky
|
||||
super + o
|
||||
bspc node -g sticky={on,off}
|
||||
|
||||
# remove and restore polybar
|
||||
#super + b
|
||||
#\{ pgrep polybar && \{ killall polybar ; bspc config top_padding 0 \} \} || \{ launch_polybar ; bspc config top_padding 24 \}
|
||||
|
||||
super + {i,o}
|
||||
bspc node -f {prev,next}.local
|
||||
super + shift + n
|
||||
bspc node focused -t \~floating ; hover right
|
||||
super + shift + b
|
||||
bspc node focused -t \~floating ; hover left
|
||||
@ -1,34 +0,0 @@
|
||||
#!/usr/bin/env sh
|
||||
while read file
|
||||
do
|
||||
case "$1" in
|
||||
"w") setbg "$file" & ;;
|
||||
"c")
|
||||
[ -z "$destdir" ] && destdir="$(sed "s/\s.*#.*$//;/^\s*$/d" ${XDG_CONFIG_HOME:-$HOME/.config}/directories | awk '{print $2}' | dmenu -l 20 -i -p "Copy file(s) to where?" | sed "s|~|$HOME|g")"
|
||||
[ -z "$destdir" ] && exit
|
||||
[ ! -d "$destdir" ] && notify-send "$destdir is not a directory, cancelled." && exit
|
||||
cp "$file" "$destdir" && notify-send -i "$(readlink -f "$file")" "$file copied to $destdir." &
|
||||
;;
|
||||
"m")
|
||||
[ -z "$destdir" ] && destdir="$(sed "s/\s.*#.*$//;/^\s*$/d" ${XDG_CONFIG_HOME:-$HOME/.config}/directories | awk '{print $2}' | dmenu -l 20 -i -p "Move file(s) to where?" | sed "s|~|$HOME|g")"
|
||||
[ -z "$destdir" ] && exit
|
||||
[ ! -d "$destdir" ] && notify-send "$destdir is not a directory, cancelled." && exit
|
||||
mv "$file" "$destdir" && notify-send -i "$(readlink -f "$file")" "$file moved to $destdir." &
|
||||
;;
|
||||
"r")
|
||||
convert -rotate 90 "$file" "$file" ;;
|
||||
"R")
|
||||
convert -rotate -90 "$file" "$file" ;;
|
||||
"f")
|
||||
convert -flop "$file" "$file" ;;
|
||||
"y")
|
||||
echo -n "$file" | xclip -selection clipboard &&
|
||||
notify-send "$file copied to clipboard" & ;;
|
||||
"Y")
|
||||
readlink -f "$file" | xclip -selection clipboard &&
|
||||
notify-send "$(readlink -f "$file") copied to clipboard" & ;;
|
||||
"d")
|
||||
[ "$(printf "No\\nYes" | dmenu -i -p "Really delete $file?")" = "Yes" ] && rm "$file" && notify-send "$file deleted." ;;
|
||||
"g") ifinstalled gimp && gimp "$file" & ;;
|
||||
esac
|
||||
done
|
||||
@ -10,7 +10,7 @@ set-window-option -g window-status-current-style fg=white
|
||||
setw -g window-status-current-style reverse
|
||||
setw -g automatic-rename
|
||||
set -g mouse on
|
||||
set -g history-limit 30000
|
||||
set -g history-limit 3000000
|
||||
set -g terminal-overrides 'xterm*:smcup@:rmcup@'
|
||||
set-option -g status-justify right
|
||||
set-option -g status-bg black # colour213 # pink
|
||||
|
||||
@ -1 +1,2 @@
|
||||
XDG_DESKTOP_DIR="$HOME/"
|
||||
XDG_DOWNLOAD_DIR="$HOME/downloads"
|
||||
|
||||
@ -1,33 +0,0 @@
|
||||
highlight clear
|
||||
highlight Win cterm=none ctermfg=white ctermbg=black
|
||||
highlight Directory cterm=bold ctermfg=cyan ctermbg=default
|
||||
highlight Link cterm=bold ctermfg=blue ctermbg=default
|
||||
highlight BrokenLink cterm=bold ctermfg=red ctermbg=default
|
||||
highlight Socket cterm=bold ctermfg=magenta ctermbg=default
|
||||
highlight Device cterm=bold ctermfg=red ctermbg=default
|
||||
highlight Fifo cterm=bold ctermfg=cyan ctermbg=default
|
||||
highlight Executable cterm=bold ctermfg=green ctermbg=default
|
||||
highlight Selected cterm=bold ctermfg=magenta ctermbg=default
|
||||
highlight CurrLine cterm=bold,reverse ctermfg=default ctermbg=default
|
||||
highlight TopLine cterm=none ctermfg=black ctermbg=white
|
||||
highlight TopLineSel cterm=bold ctermfg=black ctermbg=default
|
||||
highlight StatusLine cterm=bold ctermfg=black ctermbg=blue
|
||||
highlight WildMenu cterm=underline,reverse ctermfg=white ctermbg=black
|
||||
highlight CmdLine cterm=none ctermfg=white ctermbg=black
|
||||
highlight ErrorMsg cterm=none ctermfg=red ctermbg=black
|
||||
highlight Border cterm=none ctermfg=white ctermbg=black
|
||||
highlight JobLine cterm=bold,reverse ctermfg=black ctermbg=white
|
||||
highlight SuggestBox cterm=bold ctermfg=default ctermbg=default
|
||||
highlight CmpMismatch cterm=bold ctermfg=white ctermbg=red
|
||||
highlight AuxWin cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default
|
||||
highlight TabLine cterm=none ctermfg=white ctermbg=black
|
||||
highlight TabLineSel cterm=bold,reverse ctermfg=default ctermbg=default
|
||||
highlight User1 cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default
|
||||
highlight User2 cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default
|
||||
highlight User3 cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default
|
||||
highlight User4 cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default
|
||||
highlight User5 cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default
|
||||
highlight User6 cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default
|
||||
highlight User7 cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default
|
||||
highlight User8 cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default
|
||||
highlight User9 cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default
|
||||
@ -1,78 +0,0 @@
|
||||
" vim: filetype=vifm
|
||||
source ${XDG_CONFIG_HOME:-$HOME/.config}/vifm/vifmshortcuts
|
||||
|
||||
set vicmd=$EDITOR
|
||||
set syscalls
|
||||
set nofollowlinks
|
||||
set sortnumbers
|
||||
set undolevels=100
|
||||
set wildmenu
|
||||
set wildstyle=popup
|
||||
set scrolloff=4
|
||||
set ignorecase
|
||||
set smartcase
|
||||
set nohlsearch
|
||||
set incsearch
|
||||
set suggestoptions=normal,visual,view,otherpane,keys,marks,registers
|
||||
colorscheme luke
|
||||
|
||||
map <C-h> <C-w>h
|
||||
map <C-j> <C-w>j
|
||||
map <C-k> <C-w>k
|
||||
map <C-l> <C-w>l
|
||||
map <C-o> <C-w>o
|
||||
map <C-s> <C-w>s
|
||||
map <C-v> <C-w>v
|
||||
|
||||
map R :restart<CR>
|
||||
map x :!sxiv -ft * 2>/dev/null &<CR>
|
||||
nnoremap o :file &<cr>
|
||||
map E :!$EDITOR %f<CR>
|
||||
map mkd :mkdir<space>
|
||||
map bg :!setbg %f &<CR>
|
||||
map X :!ext %f &<CR>
|
||||
nnoremap s :shell<cr>
|
||||
nnoremap w :view<cr>
|
||||
vnoremap w :view<cr>gv
|
||||
nnoremap yd :!echo %d | xclip %i<cr>
|
||||
nnoremap yf :!echo %c:p | xclip %i<cr>
|
||||
nnoremap I cw<c-a>
|
||||
nnoremap cc cw<c-u>
|
||||
nnoremap A cw
|
||||
nnoremap ,w :set wrap!<cr>
|
||||
nmap <space> tj
|
||||
nmap q ZQ
|
||||
|
||||
fileview */ tree %c -L 1 --dirsfirst
|
||||
fileview ../ tree %c -L 1 --dirsfirst
|
||||
fileviewer *.html w3m -dump %c
|
||||
filextype *.html,*.htm firefox %f 2>/dev/null &
|
||||
|
||||
fileviewer *.docx docx2txt %c -
|
||||
fileviewer *.odt odt2txt %c -
|
||||
|
||||
filetype *.csv,*.xlsx sc-im %c
|
||||
fileviewer *.csv sed "s/,,,,/,,-,,/g;s/,,/ /g" %c | column -t | sed "s/ - / /g" | cut -c -%pw
|
||||
|
||||
filetype *.wav,*.mp3,*.flac,*.m4a,*.wma,*.ape,*.ac3,*.og[agx],*.spx,*.opus mpv --no-audio-display %c
|
||||
filextype *.pdf,*.ps,*.eps,*.ps.gz,*.djvu,*.epub,*.cbz,*.cbr,*.cb7 zathura %f 2>/dev/null &,
|
||||
fileviewer *.pdf pdftotext -l 1 -nopgbrk %c -
|
||||
fileviewer *.avi,*.mp4,*.wmv,*.dat,*.3gp,*.ogv,*.mkv,*.mpg,*.mpeg,*.vob,*.fl[icv],*.m2v,*.mov,*.webm,*.ts,*.mts,*.m4v,*.qt,*.divx,*.as[fx],*mp3,*.flac file
|
||||
filextype *.avi,*.mp4,*.wmv,*.dat,*.3gp,*.ogv,*.mkv,*.mpg,*.mpeg,*.vob,*.fl[icv],*.m2v,*.mov,*.webm,*.ts,*.mts,*.m4v,*.r[am],*.qt,*.divx,*.as[fx] mpv %f 2>/dev/null &,
|
||||
|
||||
fileview *.tar.gz atool -l --format=tar %f 2>/dev/null | awk '{$1=$2=$3=$4=$5=""; print $0}'
|
||||
fileview *.zip,*.cbz atool -l --format=zip %f 2>/dev/null | tail +4 | awk '{$1=$2=$3=""; print $0}'
|
||||
fileview *.rar,*.cbr atool -l --format=rar %f 2>/dev/null | tail +9 | awk '{$1=$2=$3=$4=""; print $0}'
|
||||
fileview *.7z,*.cb7 atool -l --format=7z %f 2>/dev/null | tail +20 | awk '{$1=$2=$3=$4=$5=""; print $0}'
|
||||
filetype *.zip,*.7z,*.rar,*.tar.gz,*.tar.xz ext %f
|
||||
|
||||
fileviewer *.[1-8] man ./%c | col -b
|
||||
filetype *.[1-8] man ./%c
|
||||
|
||||
fileviewer *.jpg,*.jpeg,*.png,*.ico,*.gif vifmimg draw %px %py %pw %ph %c %pc vifmimg clear
|
||||
filextype *.bmp,*.jpg,*.jpeg,*.png,*.ico,*.gif,*.xpm rotdir %f 2>/dev/null | sxiv -ia 2>/dev/null &
|
||||
|
||||
filextype *.svg inkscape %f 2>/dev/null &
|
||||
filextype *.xcf gimp %f 2>/dev/null &
|
||||
|
||||
set vifminfo=dhistory,chistory,tui,shistory,phistory,fhistory,dirstack,registers,bookmarks,bmarks
|
||||
@ -1,152 +0,0 @@
|
||||
[global]
|
||||
monitor = 0
|
||||
follow = keyboard
|
||||
geometry = "350x5-0+24"
|
||||
indicate_hidden = yes
|
||||
shrink = yes
|
||||
transparency = 20
|
||||
notification_height = 0
|
||||
separator_height = 2
|
||||
padding = 0
|
||||
horizontal_padding = 8
|
||||
frame_width = 3
|
||||
frame_color = "{color4}"
|
||||
|
||||
# Define a color for the separator.
|
||||
# possible values are:
|
||||
# * auto: dunst tries to find a color fitting to the background;
|
||||
# * foreground: use the same color as the foreground;
|
||||
# * frame: use the same color as the frame;
|
||||
# * anything else will be interpreted as a X color.
|
||||
separator_color = frame
|
||||
|
||||
# Sort messages by urgency.
|
||||
sort = yes
|
||||
|
||||
idle_threshold = 120
|
||||
font = Monospace 14
|
||||
line_height = 0
|
||||
markup = full
|
||||
|
||||
# The format of the message. Possible variables are:
|
||||
# %a appname
|
||||
# %s summary
|
||||
# %b body
|
||||
# %i iconname (including its path)
|
||||
# %I iconname (without its path)
|
||||
# %p progress value if set ([ 0%] to [100%]) or nothing
|
||||
# %n progress value if set without any extra characters
|
||||
# %% Literal %
|
||||
# Markup is allowed
|
||||
format = "<b>%s</b>\n%b"
|
||||
|
||||
alignment = left
|
||||
show_age_threshold = 60
|
||||
word_wrap = yes
|
||||
ellipsize = middle
|
||||
ignore_newline = no
|
||||
stack_duplicates = true
|
||||
hide_duplicate_count = true
|
||||
show_indicators = yes
|
||||
icon_position = left
|
||||
max_icon_size = 40
|
||||
#icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/:/usr/share/icons/Adwaita/256x256/status/
|
||||
sticky_history = yes
|
||||
history_length = 20
|
||||
dmenu = /usr/bin/dmenu -p dunst:
|
||||
browser = /usr/bin/firefox -new-tab
|
||||
|
||||
# Always run rule-defined scripts, even if the notification is suppressed
|
||||
always_run_script = true
|
||||
|
||||
title = Dunst
|
||||
class = Dunst
|
||||
startup_notification = false
|
||||
force_xinerama = false
|
||||
[experimental]
|
||||
per_monitor_dpi = false
|
||||
|
||||
[shortcuts]
|
||||
close = ctrl+space
|
||||
close_all = ctrl+shift+space
|
||||
history = ctrl+grave
|
||||
context = ctrl+shift+period
|
||||
|
||||
[urgency_low]
|
||||
# IMPORTANT: colors have to be defined in quotation marks.
|
||||
# Otherwise the "#" and following would be interpreted as a comment.
|
||||
background = "{background}"
|
||||
foreground = "{foreground}"
|
||||
timeout = 5
|
||||
# Icon for notifications with low urgency, uncomment to enable
|
||||
#icon = /path/to/icon
|
||||
|
||||
[urgency_normal]
|
||||
background = "{background}"
|
||||
foreground = "{foreground}"
|
||||
timeout = 5
|
||||
|
||||
[urgency_critical]
|
||||
background = "{background}"
|
||||
foreground = "{foreground}"
|
||||
frame_color = "#fabd2f"
|
||||
timeout = 0
|
||||
|
||||
# Every section that isn't one of the above is interpreted as a rules to
|
||||
# override settings for certain messages.
|
||||
# Messages can be matched by "appname", "summary", "body", "icon", "category",
|
||||
# "msg_urgency" and you can override the "timeout", "urgency", "foreground",
|
||||
# "background", "new_icon" and "format".
|
||||
# Shell-like globbing will get expanded.
|
||||
#
|
||||
# SCRIPTING
|
||||
# You can specify a script that gets run when the rule matches by
|
||||
# setting the "script" option.
|
||||
# The script will be called as follows:
|
||||
# script appname summary body icon urgency
|
||||
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
|
||||
#
|
||||
# NOTE: if you don't want a notification to be displayed, set the format
|
||||
# to "".
|
||||
# NOTE: It might be helpful to run dunst -print in a terminal in order
|
||||
# to find fitting options for rules.
|
||||
|
||||
#[espeak]
|
||||
# summary = "*"
|
||||
# script = dunst_espeak.sh
|
||||
|
||||
#[script-test]
|
||||
# summary = "*script*"
|
||||
# script = dunst_test.sh
|
||||
|
||||
#[ignore]
|
||||
# # This notification will not be displayed
|
||||
# summary = "foobar"
|
||||
# format = ""
|
||||
|
||||
#[history-ignore]
|
||||
# # This notification will not be saved in history
|
||||
# summary = "foobar"
|
||||
# history_ignore = yes
|
||||
|
||||
#[signed_on]
|
||||
# appname = Pidgin
|
||||
# summary = "*signed on*"
|
||||
# urgency = low
|
||||
#
|
||||
#[signed_off]
|
||||
# appname = Pidgin
|
||||
# summary = *signed off*
|
||||
# urgency = low
|
||||
#
|
||||
#[says]
|
||||
# appname = Pidgin
|
||||
# summary = *says*
|
||||
# urgency = critical
|
||||
#
|
||||
#[twitter]
|
||||
# appname = Pidgin
|
||||
# summary = *twitter.com*
|
||||
# urgency = normal
|
||||
#
|
||||
# vim: ft=cfg
|
||||
@ -1,33 +0,0 @@
|
||||
set statusbar-h-padding 0
|
||||
set statusbar-v-padding 0
|
||||
set page-padding 1
|
||||
map u scroll half-up
|
||||
map d scroll half-down
|
||||
map D toggle_page_mode
|
||||
map r reload
|
||||
map R rotate
|
||||
map K zoom in
|
||||
map J zoom out
|
||||
map i recolor
|
||||
map p print
|
||||
|
||||
set default-bg "{background}"
|
||||
set default-fg "{foreground}"
|
||||
set statusbar-bg "{background}"
|
||||
set statusbar-fg "{foreground}"
|
||||
set inputbar-bg "{background}"
|
||||
set inputbar-fg "{foreground}"
|
||||
set notification-bg "{background}"
|
||||
set notification-fg "{foreground}"
|
||||
set notification-error-bg "{background}"
|
||||
set notification-error-fg "{foreground}"
|
||||
set notification-warning-bg "{background}"
|
||||
set notification-warning-fg "{foreground}"
|
||||
set highlight-color "{color3}"
|
||||
set highlight-active-color "{color4}"
|
||||
set completion-bg "{color3}"
|
||||
set completion-fg "{color4}"
|
||||
set completion-highlight-bg "{color3}"
|
||||
set completion-highlight-fg "{color4}"
|
||||
set recolor-lightcolor "{background}"
|
||||
set recolor-darkcolor "{foreground}"
|
||||
BIN
.config/wall.png
BIN
.config/wall.png
Binary file not shown.
|
Before Width: | Height: | Size: 524 KiB |
@ -2,20 +2,6 @@
|
||||
|
||||
# xinitrc runs automatically when you run startx.
|
||||
|
||||
# There are some small but important commands that need to be run when we start
|
||||
# the graphical environment. I keep those commands in ~/config/xprofile because
|
||||
# that file is run automatically if someone uses a display manager (login
|
||||
# screen) and so they are needed there. To prevent doubling up commands, I
|
||||
# source them here with the line below.
|
||||
|
||||
# export STATUSBAR="i3blocks" # Uncomment this line when using i3.
|
||||
|
||||
[ -f "${XDG_CONFIG_HOME:-$HOME/.config}/xprofile" ] && . "${XDG_CONFIG_HOME:-$HOME/.config}/xprofile"
|
||||
|
||||
# Your default LARBS WM is determined in your `~/.profile` on login. Here we
|
||||
# run the proper command to run when the graphical environment starts.
|
||||
|
||||
# Comment/uncomment these lines depending on what wm you want to use. Also
|
||||
# check the i3blocks line above.
|
||||
ssh-agent dwm
|
||||
# ssh-agent i3
|
||||
|
||||
@ -3,18 +3,12 @@
|
||||
# This file runs when a DM logs you into a graphical session.
|
||||
# If you use startx/xinit like a Chad, this file will also be sourced.
|
||||
|
||||
# This file's true location is in ~/.config/xprofile and a link exists to it in
|
||||
# ~/.xprofile. If you do not use a DM, you may remove the link to it to have a
|
||||
# cleaner home.
|
||||
|
||||
# Fix Gnome Apps Slow Start due to failing services
|
||||
# Add this when you include flatpak in your system
|
||||
dbus-update-activation-environment --systemd DBUS_SESSION_BUS_ADDRESS DISPLAY XAUTHORITY
|
||||
|
||||
mpd & # music player daemon-you might prefer it as a service though
|
||||
remaps & # run the remaps script, switching caps/esc and more; check it for more info
|
||||
setbg & # set the background with the `setbg` script
|
||||
#xrdb ${XDG_CONFIG_HOME:-$HOME/.config}/Xresources & # Uncomment to use Xresources colors/settings on startup
|
||||
#xrdb ${XDG_CONFIG_HOME:-$HOME/.config}/Xresources & # Use Xresources colors/settings on startup
|
||||
xcompmgr & # xcompmgr for transparency
|
||||
dunst & # dunst for notifications
|
||||
xset r rate 300 50 & # Speed xrate up
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
set selection-clipboard clipboard
|
||||
set statusbar-h-padding 0
|
||||
set statusbar-v-padding 0
|
||||
set page-padding 1
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
# Luke's config for the Zoomer Shell
|
||||
#Config for the Zoomer Shell
|
||||
|
||||
# Enable colors and change prompt:
|
||||
autoload -U colors && colors # Load colors
|
||||
@ -9,7 +9,7 @@ stty stop undef # Disable ctrl-s to freeze terminal.
|
||||
# History in cache directory:
|
||||
HISTSIZE=10000
|
||||
SAVEHIST=10000
|
||||
HISTFILE=~/.cache/zsh/history
|
||||
HISTFILE=${XDG_CONFIG_HOME:-$HOME/.config}/zsh/history
|
||||
|
||||
# Load aliases and shortcuts if existent.
|
||||
[ -f "${XDG_CONFIG_HOME:-$HOME/.config}/shortcutrc" ] && source "${XDG_CONFIG_HOME:-$HOME/.config}/shortcutrc"
|
||||
@ -55,27 +55,12 @@ zle -N zle-line-init
|
||||
echo -ne '\e[5 q' # Use beam shape cursor on startup.
|
||||
preexec() { echo -ne '\e[5 q' ;} # Use beam shape cursor for each new prompt.
|
||||
|
||||
# Use lf to switch directories and bind it to ctrl-o
|
||||
lfcd () {
|
||||
tmp="$(mktemp)"
|
||||
lf -last-dir-path="$tmp" "$@"
|
||||
if [ -f "$tmp" ]; then
|
||||
dir="$(cat "$tmp")"
|
||||
rm -f "$tmp" >/dev/null
|
||||
[ -d "$dir" ] && [ "$dir" != "$(pwd)" ] && cd "$dir"
|
||||
fi
|
||||
}
|
||||
bindkey -s '^o' 'lfcd\n'
|
||||
# Use beam shape cursor on startup.
|
||||
echo -ne '\e[5 q'
|
||||
# Use beam shape cursor for each new prompt.
|
||||
preexec() { echo -ne '\e[5 q' ;}
|
||||
|
||||
bindkey -s '^a' 'bc -l\n'
|
||||
|
||||
bindkey -s '^f' 'cd "$(dirname "$(fzf)")"\n'
|
||||
|
||||
bindkey '^[[P' delete-char
|
||||
|
||||
# Edit line in vim with ctrl-e:
|
||||
autoload edit-command-line; zle -N edit-command-line
|
||||
bindkey '^e' edit-command-line
|
||||
alias clear='timeout 6 cbeams -o; clear'
|
||||
|
||||
# Load syntax highlighting; should be last.
|
||||
source /usr/share/zsh/plugins/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh 2>/dev/null
|
||||
|
||||
3
.gitmodules
vendored
3
.gitmodules
vendored
@ -1,3 +0,0 @@
|
||||
[submodule ".config/mpv/scripts/mpvSockets"]
|
||||
path = .config/mpv/scripts/mpvSockets
|
||||
url = https://github.com/wis/mpvSockets.git
|
||||
6
.local/bin/add_local_bin_to_path
Executable file
6
.local/bin/add_local_bin_to_path
Executable file
@ -0,0 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ~/.profile
|
||||
|
||||
notify-send "Added ~/.local/bin/ to \$PATH"
|
||||
|
||||
19
.local/bin/change_timezones
Executable file
19
.local/bin/change_timezones
Executable file
@ -0,0 +1,19 @@
|
||||
#!/bin/sh
|
||||
|
||||
tz=$(date "+%Z")
|
||||
|
||||
if (( $EUID != 0 )); then
|
||||
echo "Please run as root"
|
||||
exit
|
||||
elif [[ "$tz" == "CDT" ]]; then
|
||||
ln -sf /usr/share/zoneinfo/America/New_York /etc/localtime
|
||||
echo "Changed to Eastern Daylight Time timezone"
|
||||
elif [[ "$tz" == "EDT" ]]; then
|
||||
ln -sf /usr/share/zoneinfo/US/Central /etc/localtime
|
||||
echo "Changed to Central timezone"
|
||||
fi
|
||||
|
||||
# Update system clock
|
||||
echo "Updating system clock"
|
||||
ntpd -gq >/dev/null 2>&1
|
||||
|
||||
@ -1,17 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Set as a cron job to check for new RSS entries for newsboat.
|
||||
# If newsboat is open, sends it an "R" key to refresh.
|
||||
|
||||
ping -q -c 1 1.1.1.1 > /dev/null || exit
|
||||
|
||||
/usr/bin/notify-send "📰 Updating RSS feeds..."
|
||||
|
||||
ps ax | grep -q newsboat$ && /usr/bin/xdotool key --window "$(/usr/bin/xdotool search --name newsboat)" R && exit
|
||||
|
||||
echo 🔃 > /tmp/newsupdate
|
||||
pkill -RTMIN+6 "${STATUSBAR:-dwmblocks}"
|
||||
/usr/bin/newsboat -x reload
|
||||
rm -f /tmp/newsupdate
|
||||
pkill -RTMIN+6 "${STATUSBAR:-dwmblocks}"
|
||||
/usr/bin/notify-send "📰 RSS feed update complete."
|
||||
32
.local/bin/delete_certain_known_hosts
Executable file
32
.local/bin/delete_certain_known_hosts
Executable file
@ -0,0 +1,32 @@
|
||||
#!/bin/bash
|
||||
# Works on all GNU systems and tested on MacOS 10.15.13
|
||||
# Deletes certain lines of ~/.ssh/known_hosts
|
||||
# Check if any args passed
|
||||
if [ $# -eq 0 ]; then
|
||||
echo "Usage: ./delete_certain_known_hosts 3 5 7 23"
|
||||
echo "Will catch duplicate line numbers"
|
||||
exit 1
|
||||
fi
|
||||
# Set variables
|
||||
known_hosts_path=~/.ssh/known_hosts
|
||||
lines_in_known_hosts=$(wc -l "$known_hosts_path" | awk '{print $1}')
|
||||
lines_to_delete=""
|
||||
# Dedupe, sort numerically, and create array from args string
|
||||
IFS=' '
|
||||
deduped_args=$(echo "$@" | xargs -n1 | sort -nu | xargs)
|
||||
read -r -a delete_these_lines <<< "$deduped_args"
|
||||
# Loop through creating sed expression
|
||||
for var in "${delete_these_lines[@]}"; do
|
||||
if [[ "$var" -gt "$lines_in_known_hosts" ]]; then
|
||||
echo "$var is invalid line in $lines_in_known_hosts line $known_hosts_path"
|
||||
else
|
||||
lines_to_delete+="${var}d;"
|
||||
fi
|
||||
done
|
||||
# Output information to user about what happened
|
||||
if [[ -z "$lines_to_delete" ]]; then
|
||||
echo "All arguments passed were invalid lines in $known_hosts_path"
|
||||
else
|
||||
sed -i'' -e "$lines_to_delete" "$known_hosts_path"
|
||||
echo "Deleted lines $(echo $(echo "$lines_to_delete" | sed 's/d;/, /g') | sed 's/.$//' )"
|
||||
fi
|
||||
87
.local/bin/dmenu_displayselect
Executable file
87
.local/bin/dmenu_displayselect
Executable file
@ -0,0 +1,87 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
# A UI for detecting and selecting all displays. Probes xrandr for connected
|
||||
# displays and lets user select one to use. User may also select "manual
|
||||
# selection" which opens arandr.
|
||||
|
||||
twoscreen() { # If multi-monitor is selected and there are two screens.
|
||||
|
||||
mirror=$(printf "no\\nyes" | dmenu -i -p "Mirror displays?")
|
||||
# Mirror displays using native resolution of external display and a scaled
|
||||
# version for the internal display
|
||||
if [ "$mirror" = "yes" ]; then
|
||||
external=$(echo "$screens" | dmenu -i -p "Optimize resolution for:")
|
||||
internal=$(echo "$screens" | grep -v "$external")
|
||||
|
||||
res_external=$(xrandr --query | sed -n "/^$external/,/\+/p" | \
|
||||
tail -n 1 | awk '{print $1}')
|
||||
res_internal=$(xrandr --query | sed -n "/^$internal/,/\+/p" | \
|
||||
tail -n 1 | awk '{print $1}')
|
||||
|
||||
res_ext_x=$(echo $res_external | sed 's/x.*//')
|
||||
res_ext_y=$(echo $res_external | sed 's/.*x//')
|
||||
res_int_x=$(echo $res_internal | sed 's/x.*//')
|
||||
res_int_y=$(echo $res_internal | sed 's/.*x//')
|
||||
|
||||
scale_x=$(echo "$res_ext_x / $res_int_x" | bc -l)
|
||||
scale_y=$(echo "$res_ext_y / $res_int_y" | bc -l)
|
||||
|
||||
xrandr --output "$external" --auto --scale 1.0x1.0 \
|
||||
--output "$internal" --auto --same-as "$external" \
|
||||
--scale "$scale_x"x"$scale_y"
|
||||
else
|
||||
|
||||
primary=$(echo "$screens" | dmenu -i -p "Select primary display:")
|
||||
secondary=$(echo "$screens" | grep -v "$primary")
|
||||
direction=$(printf "left\\nright" | dmenu -i -p "What side of $primary should $secondary be on?")
|
||||
xrandr --output "$primary" --auto --scale 1.0x1.0 --output "$secondary" --"$direction"-of "$primary" --auto --scale 1.0x1.0
|
||||
fi
|
||||
}
|
||||
|
||||
morescreen() { # If multi-monitor is selected and there are more than two screens.
|
||||
primary=$(echo "$screens" | dmenu -i -p "Select primary display:")
|
||||
secondary=$(echo "$screens" | grep -v "$primary" | dmenu -i -p "Select secondary display:")
|
||||
direction=$(printf "left\\nright" | dmenu -i -p "What side of $primary should $secondary be on?")
|
||||
tertiary=$(echo "$screens" | grep -v "$primary" | grep -v "$secondary" | dmenu -i -p "Select third display:")
|
||||
xrandr --output "$primary" --auto --output "$secondary" --"$direction"-of "$primary" --auto --output "$tertiary" --"$(printf "left\\nright" | grep -v "$direction")"-of "$primary" --auto
|
||||
}
|
||||
|
||||
multimon() { # Multi-monitor handler.
|
||||
case "$(echo "$screens" | wc -l)" in
|
||||
*) xrandr $(echo "$allposs" | grep -v "$screens" | awk '{print "--output", $1, "--off"}' | tr '\n' ' ') ;;
|
||||
esac ;}
|
||||
|
||||
load_screen_layout() { # ~/.screenlayout loader
|
||||
# Get all screen configurations in ~.screenlayout/
|
||||
if [[ $(echo $screen_layouts | wc -l) -eq 2 ]]; then
|
||||
notify-send --urgency=critical "~/.screenlayout seems to be empty"
|
||||
else
|
||||
layout_name=$(echo "$screen_layouts" | dmenu -i -p "Screen layouts:")
|
||||
chosen_layout=$(find ~/.screenlayout -type f | grep $layout_name)
|
||||
echo "$chosen_layout"
|
||||
arandr $chosen_layout 2>/dev/null || notify-send --urgency=critical "Error loading screen layout: ~/.screenlayout/$layout_name"
|
||||
fi
|
||||
}
|
||||
|
||||
# Get all possible displays
|
||||
allposs=$(xrandr -q | grep "connected")
|
||||
|
||||
# Get all connected screens
|
||||
screens=$(echo "$allposs" | grep " connected" | awk '{print $1}')
|
||||
|
||||
# Get all screen layouts
|
||||
screen_layouts=$(find ~/.screenlayout -type f -exec basename {} \;)
|
||||
|
||||
# Get user choice including multi-monitor and manual selection:
|
||||
chosen=$(printf "%s\\nlayouts\\nmulti-monitor\\nmanual selection" "$screens" | dmenu -i -p "Select display arangement:") &&
|
||||
case "$chosen" in
|
||||
"manual selection") arandr ; exit ;;
|
||||
"multi-monitor") multimon ;;
|
||||
"layouts") load_screen_layout;;
|
||||
*) xrandr --output "$chosen" --auto --scale 1.0x1.0 $(echo "$allposs" | grep -v "$chosen" | awk '{print "--output", $1, "--off"}' | tr '\n' ' ') ;;
|
||||
esac
|
||||
|
||||
setbg # Fix background if screen size/arangement has changed.
|
||||
remaps # Re-remap keys if keyboard added (for laptop bases)
|
||||
pgrep -x dunst >/dev/null && killall dunst && setsid dunst & # Restart dunst to ensure proper location on screen
|
||||
11
.local/bin/dmenu_openmusic
Executable file
11
.local/bin/dmenu_openmusic
Executable file
@ -0,0 +1,11 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Allow you to choose which music source you want to launch
|
||||
|
||||
music_service=$(printf "Google Music\nSpotify" | dmenu -i -p "Select music service: ")
|
||||
case "$music_service" in
|
||||
"Google Music") notify-send "Opened $music_service" && google-chrome-stable https://play.google.com/music/listen\#/artists 2>/dev/null & ;;
|
||||
"Spotify") notify-send "Opened $music_service" && google-chrome-stable https://open.spotify.com/browse/ 2>/dev/null & ;;
|
||||
esac
|
||||
|
||||
|
||||
11
.local/bin/dmenu_systempoweroptions
Executable file
11
.local/bin/dmenu_systempoweroptions
Executable file
@ -0,0 +1,11 @@
|
||||
#!/bin/sh
|
||||
|
||||
user_choice=$(printf "Logout\nPoweroff\nReboot\nCancel" | dmenu -i -p "What should the computer do?: ")
|
||||
case "$user_choice" in
|
||||
"Logout") i3 exit ;;
|
||||
"Poweroff") notify-send "Shutting down in 10 seconds" && sleep 10 && shutdown ;;
|
||||
"Reboot") notify-send "Rebooting!" && sleep 5 && reboot ;;
|
||||
*) notify-send "No system power option selected" && return ;;
|
||||
esac
|
||||
|
||||
|
||||
18
.local/bin/dmenu_unicode
Executable file
18
.local/bin/dmenu_unicode
Executable file
@ -0,0 +1,18 @@
|
||||
#!/bin/sh
|
||||
|
||||
# The famous "get a menu of emojis to copy" script.
|
||||
|
||||
# Must have xclip installed to even show menu.
|
||||
xclip -h 2>/dev/null || exit 1
|
||||
|
||||
chosen=$(cut -d ';' -f1 ${XDG_DATA_HOME:-$HOME/.local/share}/dotfiles/emoji | dmenu -i -l 20 | sed "s/ .*//")
|
||||
|
||||
[ "$chosen" != "" ] || exit
|
||||
|
||||
# If you run this command with an argument, it will automatically insert the character.
|
||||
if [ -n "$1" ]; then
|
||||
xdotool key Shift+Insert
|
||||
else
|
||||
echo "$chosen" | tr -d '\n' | xclip -selection clipboard
|
||||
notify-send "'$chosen' copied to clipboard." &
|
||||
fi
|
||||
8
.local/bin/dmenu_updatemirrors
Executable file
8
.local/bin/dmenu_updatemirrors
Executable file
@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
user_choice=$(printf "Yes\nNo" | dmenu -i -p "Refresh mirrors? (It might speed up package downloads): ")
|
||||
case "$user_choice" in
|
||||
"Yes") notify-send "Refreshing mirrors" && (reflector --verbose --latest 100 --sort rate --save /etc/pacman.d/mirrorlist >/dev/null 2>&1; notify-send "Mirrors refreshed") & ;;
|
||||
"No") notify-send "Did not refresh mirrors" && return ;;
|
||||
*) notify-send "No option selected" && return ;;
|
||||
esac
|
||||
6
.local/bin/fix_zsh_history
Executable file
6
.local/bin/fix_zsh_history
Executable file
@ -0,0 +1,6 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
mv ~/.config/zsh/.history ~/.config/zsh/.bad_history
|
||||
strings ~/.config/zsh/.bad_history > ~/.config/zsh/.history
|
||||
fc -R ~/.config/zsh/.history
|
||||
rm ~/.config/zsh/.bad_history
|
||||
@ -1,5 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
cat ${XDG_DATA_HOME:-$HOME/.local/share}/larbs/getkeys/"$1" 2>/dev/null && exit
|
||||
cat ${XDG_DATA_HOME:-$HOME/.local/share}/dotfiles/getkeys/"$1" 2>/dev/null && exit
|
||||
echo "Run command with one of the following arguments for info about that program:"
|
||||
ls ${XDG_DATA_HOME:-$HOME/.local/share}/larbs/getkeys
|
||||
ls ${XDG_DATA_HOME:-$HOME/.local/share}/dotfiles/getkeys
|
||||
|
||||
@ -1,19 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Toggle floating dropdown terminal in i3, or start if non-existing.
|
||||
# $1 is the script run in the terminal.
|
||||
# All other args are terminal settings.
|
||||
# Terminal names are in dropdown_* to allow easily setting i3 settings.
|
||||
|
||||
[ -z "$1" ] && exit
|
||||
|
||||
script=$1
|
||||
shift
|
||||
if xwininfo -tree -root | grep "(\"dropdown_$script\" ";
|
||||
then
|
||||
echo "Window detected."
|
||||
i3 "[instance=\"dropdown_$script\"] scratchpad show; [instance=\"dropdown_$script\"] move position center"
|
||||
else
|
||||
echo "Window not detected... spawning."
|
||||
i3 "exec --no-startup-id $TERMINAL -n dropdown_$script $@ -e $script"
|
||||
fi
|
||||
@ -1,3 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
ifinstalled bc && echo "Welcome to the Calculator." && bc -lq
|
||||
@ -1,15 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
[ -z "$1" ] && exit # If $1 is left, hovers in the bottom left, if right, the bottom right
|
||||
current=$(xdotool getwindowfocus)
|
||||
newwidth=$(($(xdotool getdisplaygeometry | awk '{print $2}') / 3))
|
||||
newheight=$(($(xdotool getdisplaygeometry | awk '{print $1}') / 3))
|
||||
xdotool windowsize "$current" $newheight $newwidth
|
||||
newsize=$(xdotool getwindowgeometry "$current" | grep Geometry | sed -e 's/x/ /g' | awk '{print $3}')
|
||||
newwidth=$(xdotool getwindowgeometry "$current" | grep Geometry | grep -o " [0-9]*")
|
||||
|
||||
case "$1" in
|
||||
left) horizontal=0; vertical=$(($(xdotool getdisplaygeometry | awk '{print $2}') - newsize)) ;;
|
||||
right) horizontal=$(($(xdotool getdisplaygeometry | awk '{print $1}') - newwidth)) ; vertical=$(($(xdotool getdisplaygeometry | awk '{print $2}') - newsize)) ;;
|
||||
esac
|
||||
xdotool windowmove "$current" $horizontal $vertical
|
||||
@ -1,28 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# This script was made by `goferito` on Github.
|
||||
# Some cleanup by Luke.
|
||||
|
||||
[ -z "$1" ] && echo "No direction provided" && exit 1
|
||||
distanceStr="2 px or 2 ppt"
|
||||
|
||||
moveChoice() {
|
||||
i3-msg resize "$1" "$2" "$distanceStr" | grep '"success":true' || \
|
||||
i3-msg resize "$3" "$4" "$distanceStr"
|
||||
}
|
||||
|
||||
case $1 in
|
||||
up)
|
||||
moveChoice grow up shrink down
|
||||
;;
|
||||
down)
|
||||
moveChoice shrink up grow down
|
||||
;;
|
||||
left)
|
||||
moveChoice shrink right grow left
|
||||
;;
|
||||
right)
|
||||
moveChoice grow right shrink left
|
||||
;;
|
||||
esac
|
||||
|
||||
@ -1,5 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# This is the script that i3 runs to either start tmux in
|
||||
# the dropdown terminal or log into a previous session.
|
||||
tmux a || tmux
|
||||
@ -1,10 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Toggles the LARBS welcome message.
|
||||
|
||||
PIC="${XDG_DATA_HOME:-$HOME/.local/share}/larbs/larbs.png"
|
||||
|
||||
grep LARBSWELCOME "$XDG_CONFIG_HOME/xprofile" &&
|
||||
( sed -i "/LARBSWELCOME/d" "$XDG_CONFIG_HOME/xprofile" && notify-send -i "$PIC" "LARBS welcome message" "Welcome message disabled. Press Super+Shift+F1 again to reverse." ) ||
|
||||
( echo "notify-send -i \"$PIC\" \"Welcome to LARBS\" \"Press super+F1 for the help menu.\" # LARBSWELCOME" >> "$XDG_CONFIG_HOME/xprofile" &&
|
||||
notify-send -i "$PIC" "LARBS welcome message" "Welcome message re-enabled." )
|
||||
@ -1,8 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Some optional functions in LARBS require programs not installed by default. I
|
||||
# use this little script to check to see if a command exists and if it doesn't
|
||||
# it informs the user that they need that command to continue. This is used in
|
||||
# various other scripts for clarity's sake.
|
||||
# If $1 command is not available, error code and notify.
|
||||
command -v "$1" >/dev/null || { notify-send "$1" "must be installed for this function." && exit 1 ;}
|
||||
|
||||
pacman -Qq "$1" >/dev/null || { notify-send "📦 $1" "must be installed for this function." && exit 1 ;}
|
||||
|
||||
3
.local/bin/keybinding_not_assigned
Executable file
3
.local/bin/keybinding_not_assigned
Executable file
@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
notify-send "This keybinding is not assigned to anything"
|
||||
@ -1,9 +1,13 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Terminate already running bar instances
|
||||
killall -q polybar
|
||||
#killall -q polybar
|
||||
|
||||
# Wait until the processes have been shut down
|
||||
while pidof polybar >/dev/null; do sleep 1; done
|
||||
while pidof polybar >/dev/null; do killall -q polybar; done
|
||||
|
||||
for i in $(polybar -m | awk -F: '{print $1}'); do MONITOR=$i polybar default & done
|
||||
for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do
|
||||
MONITOR=$m polybar --reload main &
|
||||
done
|
||||
|
||||
sleep 5 && notify-send "Polybar launched"
|
||||
|
||||
@ -1,9 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Reads file names from stdin and selects them in lf.
|
||||
|
||||
while read -r file; do
|
||||
[ -z "$file" ] && continue
|
||||
lf -remote "send select \"$file\""
|
||||
lf -remote "send toggle"
|
||||
done
|
||||
@ -1,28 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
NUM="${2:-5}"
|
||||
|
||||
# Uncomment the following line to use Pulseaudio.
|
||||
# PULSE=true
|
||||
|
||||
if [ "$PULSE" ]; then
|
||||
toggle() { pulsemixer --toggle-mute ;}
|
||||
mute() { pulsemixer --mute ;}
|
||||
up() { pulsemixer --change-volume +"$NUM" ;}
|
||||
down() { pulsemixer --change-volume -"$NUM" ;}
|
||||
control() { pulsemixer ;}
|
||||
else
|
||||
toggle() { amixer sset Master toggle ;}
|
||||
mute() { amixer sset Master mute ;}
|
||||
up() { amixer sset Master "$NUM"%+ ;}
|
||||
down() { amixer sset Master "$NUM"%- ;}
|
||||
control() { alsamixer ;}
|
||||
fi
|
||||
|
||||
case "$1" in
|
||||
toggle) toggle ;;
|
||||
mute) mute ;;
|
||||
up) up ;;
|
||||
down) down ;;
|
||||
control) control ;;
|
||||
esac
|
||||
@ -1,8 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# This loop will update the mpd statusbar module whenever a command changes the
|
||||
# music player's status. mpd must be running on X's start for this to work.
|
||||
|
||||
while : ; do
|
||||
mpc idle >/dev/null && pkill -RTMIN+11 "${STATUSBAR:-dwmblocks}" || break
|
||||
done
|
||||
@ -1,10 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# You might notice all mpv commands are aliased to have this input-ipc-server
|
||||
# thing. That's just for this particular command, which allows us to pause
|
||||
# every single one of them with one command! This is bound to super + shift + p
|
||||
# (with other things) by default and is used in some other places.
|
||||
|
||||
for i in $(ls /tmp/mpvSockets/*); do
|
||||
echo '{ "command": ["set_property", "pause", true] }' | socat - $i;
|
||||
done
|
||||
@ -1,7 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# entr command to run `queueandnotify` when newsboat queue is changed
|
||||
|
||||
[ "$(pgrep -x $(basename $0) | wc -l)" -gt 2 ] && exit
|
||||
|
||||
echo ${XDG_DATA_HOME:-$HOME/.local/share}/newsboat/queue | entr -p queueandnotify 2>/dev/null
|
||||
@ -1,12 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# $1 is a url; $2 is a command
|
||||
[ -z "$1" ] && exit
|
||||
base="$(basename "$1")"
|
||||
notify-send "⏳ Queuing $base..."
|
||||
cmd="$2"
|
||||
[ -z "$cmd" ] && cmd="youtube-dl --add-metadata"
|
||||
idnum="$(tsp $cmd "$1")"
|
||||
realname="$(echo "$base" | sed "s/?\(source\|dest\).*//;s/%20/ /g")"
|
||||
tsp -D "$idnum" mv "$base" "$realname"
|
||||
tsp -D "$idnum" notify-send "👍 $realname done."
|
||||
@ -1,14 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Podboat sucks. This script replaces it.
|
||||
# It reads the newsboat queue, queuing downloads with taskspooler.
|
||||
# It also removes the junk from extentions.
|
||||
queuefile="${XDG_DATA_HOME:-$HOME/.local/share}/newsboat/queue"
|
||||
|
||||
while read -r line; do
|
||||
[ -z "$line" ] && continue
|
||||
url="$(echo "$line" | awk '{print $1}')"
|
||||
qndl "$url" "curl -LO"
|
||||
done < "$queuefile"
|
||||
|
||||
echo > "$queuefile"
|
||||
@ -1,5 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Refresh the dwmbar.
|
||||
# Send SIGTRAP signal to dwmbar script, which will handle it with a trap.
|
||||
pkill -SIGTRAP dwmbar
|
||||
@ -1,10 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
! echo "$1" | grep "https*://\S\+\.[A-Za-z]\+\S*" >/dev/null &&
|
||||
notify-send "That doesn't look like a full URL." && exit
|
||||
RSSFILE="${XDG_CONFIG_HOME:-$HOME/.config}/newsboat/urls"
|
||||
if awk '{print $1}' "$RSSFILE" | grep "^$1$" >/dev/null; then
|
||||
notify-send "You already have this RSS feed."
|
||||
else
|
||||
echo "$1" >> "$RSSFILE" && notify-send "RSS feed added."
|
||||
fi
|
||||
@ -1,20 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
# This script does the following:
|
||||
# Run by itself, set the wallpaper (at X start).
|
||||
# If given a file, set that as the new wallpaper.
|
||||
# If given a directory, choose random file in it.
|
||||
# If wal is installed, also generates a colorscheme.
|
||||
# ~/.config/assets/wallpaper.png is the location of the system wallpaper. This
|
||||
# script, if given an argument, moves it there. This script without an
|
||||
# argument sets ~/.config/assets/wallpaper.png as the wallpaper, which is required on login
|
||||
# if you don't want a black screen.
|
||||
|
||||
# Location of link to wallpaper link.
|
||||
bgloc="${XDG_DATA_HOME:-$HOME/.local/share/}/bg"
|
||||
|
||||
[ -f "$1" ] && ln -sf "$(readlink -f "$1")" "$bgloc" && notify-send -i "$bgloc" "Changing wallpaper..."
|
||||
|
||||
[ -d "$1" ] && ln -sf "$(find "$(readlink -f "$1")" -iregex '.*.\(jpg\|jpeg\|png\|gif\)' -type f | shuf -n 1)" "$bgloc" && notify-send -i "$bgloc" "Random Wallpaper chosen."
|
||||
|
||||
# If pywal is installed, use it.
|
||||
wal -s -i "$(readlink -f "$bgloc")" -o "${XDG_CONFIG_HOME:-$HOME/.config}/wal/postrun" >/dev/null 2>&1
|
||||
|
||||
pidof dwm >/dev/null && xdotool key super+F12
|
||||
xwallpaper --zoom "$bgloc"
|
||||
[ ! -z "$1" ] && cp "$1" ~/.config/assets/wallpaper.png && notify-send -i "$HOME/.config/assets/wallpaper.png" "Wallpaper changed."
|
||||
xwallpaper --focus ~/.config/assets/wallpaper.png
|
||||
|
||||
@ -4,26 +4,17 @@
|
||||
shell_shortcuts="${XDG_CONFIG_HOME:-$HOME/.config}/shortcutrc"
|
||||
zsh_named_dirs="${XDG_CONFIG_HOME:-$HOME/.config}/zshnameddirrc"
|
||||
ranger_shortcuts="${XDG_CONFIG_HOME:-$HOME/.config}/ranger/shortcuts.conf"
|
||||
qute_shortcuts="/dev/null"
|
||||
fish_shortcuts="/dev/null"
|
||||
vifm_shortcuts="${XDG_CONFIG_HOME:-$HOME/.config}/vifm/vifmshortcuts"
|
||||
|
||||
# Remove, prepare files
|
||||
rm -f "$ranger_shortcuts" "$qute_shortcuts" "$zsh_named_dirs" 2>/dev/null
|
||||
printf "# vim: filetype=sh\\n" > "$fish_shortcuts"
|
||||
rm -f "$ranger_shortcuts" "$zsh_named_dirs" 2>/dev/null
|
||||
printf "# vim: filetype=sh\\nalias " > "$shell_shortcuts"
|
||||
printf "\" vim: filetype=vim\\n" > "$vifm_shortcuts"
|
||||
|
||||
# Format the `directories` file in the correct syntax and sent it to all three configs.
|
||||
sed "s/\s*#.*$//;/^\s*$/d" "${XDG_CONFIG_HOME:-$HOME/.config}/directories" | tee >(awk '{print $1"=\"cd "$2" && ls -a\" \\"}' >> "$shell_shortcuts") \
|
||||
>(awk '{print "hash -d "$1"="$2}' >> "$zsh_named_dirs") \
|
||||
>(awk '{print "abbr", $1, "\"cd " $2 "; and ls -a\""}' >> "$fish_shortcuts") \
|
||||
>(awk '{print "map g" $1, ":cd", $2 "<CR>\nmap t" $1, "<tab>:cd", $2 "<CR><tab>\nmap M" $1, "<tab>:cd", $2 "<CR><tab>:mo<CR>\nmap Y" $1, "<tab>:cd", $2 "<CR><tab>:co<CR>" }' >> "$vifm_shortcuts") \
|
||||
>(awk '{print "config.bind(\";"$1"\", \"set downloads.location.directory "$2" ;; hint links download\")"}' >> "$qute_shortcuts") \
|
||||
| awk '{print "map g"$1" cd "$2"\nmap t"$1" tab_new "$2"\nmap m"$1" shell mv -v %s "$2"\nmap Y"$1" shell cp -rv %s "$2}' >> "$ranger_shortcuts"
|
||||
|
||||
# Format the `files` file in the correct syntax and sent it to both configs.
|
||||
sed "s/\s*#.*$//;/^\s*$/d" "${XDG_CONFIG_HOME:-$HOME/.config}/files" | tee >(awk '{print $1"=\"$EDITOR "$2"\" \\"}' >> "$shell_shortcuts") \
|
||||
>(awk '{print "abbr", $1, "\"$EDITOR "$2"\""}' >> "$fish_shortcuts") \
|
||||
>(awk '{print "map", $1, ":e", $2 "<CR>" }' >> "$vifm_shortcuts") \
|
||||
| awk '{print "map "$1" shell $EDITOR "$2}' >> "$ranger_shortcuts"
|
||||
|
||||
@ -1,10 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Display contents of selection via dunst if running.
|
||||
# Separate script for i3.
|
||||
|
||||
clip=$(xclip -o -selection clipboard)
|
||||
prim=$(xclip -o -selection primary)
|
||||
|
||||
[ -n "$clip" ] && notify-send "Clipboard:" "$clip"
|
||||
[ -n "$prim" ] && notify-send "Primary:" "$prim"
|
||||
[ -z "$clip" ] && notify-send "Clipboard is empty" || notify-send "Clipboard:" "$clip"
|
||||
[ -z "$prim" ] && notify-send "Primary is empty" || notify-send "Primary:" "$prim"
|
||||
|
||||
@ -1,31 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Prints all batteries, their percentage remaining and an emoji corresponding
|
||||
# to charge status (🔌 for plugged up, 🔋 for discharging on battery, etc.).
|
||||
|
||||
case $BLOCK_BUTTON in
|
||||
3) notify-send "🔋 Battery module" "🔋: discharging
|
||||
🛑: not charging
|
||||
♻: stagnant charge
|
||||
🔌: charging
|
||||
⚡: charged
|
||||
❗: battery very low!" ;;
|
||||
6) "$TERMINAL" -e "$EDITOR" "$0" ;;
|
||||
esac
|
||||
|
||||
# acpi alternative
|
||||
# acpi | sed "s/Battery [0-9]: //;s/[Dd]ischarging, /🔋/;s/[Nn]ot charging, /🛑/;s/[Cc]harging, /🔌/;s/[Uu]nknown, /♻️/;s/[Ff]ull, /⚡/;s/ \(remaining\|until charged\)//"; exit
|
||||
|
||||
# Loop through all attached batteries.
|
||||
for battery in /sys/class/power_supply/BAT?
|
||||
do
|
||||
# Get its remaining capacity and charge status.
|
||||
capacity=$(cat "$battery"/capacity) || break
|
||||
status=$(sed "s/[Dd]ischarging/🔋/;s/[Nn]ot charging/🛑/;s/[Cc]harging/🔌/;s/[Uu]nknown/♻️/;s/[Ff]ull/⚡/" "$battery"/status)
|
||||
|
||||
# If it is discharging and 25% or less, we will add a ❗ as a warning.
|
||||
[ "$capacity" -le 25 ] && [ "$status" = "🔋" ] && warn="❗"
|
||||
|
||||
printf "%s%s%s%% " "$status" "$warn" "$capacity"
|
||||
unset warn
|
||||
done | sed 's/ *$//'
|
||||
@ -1,23 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
clock=$(date '+%I')
|
||||
|
||||
case "$clock" in
|
||||
"00") icon="🕛" ;;
|
||||
"01") icon="🕐" ;;
|
||||
"02") icon="🕑" ;;
|
||||
"03") icon="🕒" ;;
|
||||
"04") icon="🕓" ;;
|
||||
"05") icon="🕔" ;;
|
||||
"06") icon="🕕" ;;
|
||||
"07") icon="🕖" ;;
|
||||
"08") icon="🕗" ;;
|
||||
"09") icon="🕘" ;;
|
||||
"10") icon="🕙" ;;
|
||||
"11") icon="🕚" ;;
|
||||
"12") icon="🕛" ;;
|
||||
esac
|
||||
|
||||
case $BLOCK_BUTTON in
|
||||
1) notify-send "This Month" "$(cal --color=always | sed "s/..7m/<b><span color=\"red\">/;s/..27m/<\/span><\/b>/")" && notify-send "Appointments" "$(calcurse -D ~/.config/calcurse -d3)" ;;
|
||||
2) setsid "$TERMINAL" -e calcurse -D ~/.config/calcurse & ;;
|
||||
@ -26,7 +8,4 @@ case $BLOCK_BUTTON in
|
||||
6) "$TERMINAL" -e "$EDITOR" "$0" ;;
|
||||
esac
|
||||
|
||||
printf '%s %s%s\n' "$(date '+%Y %b %d (%a)')" "$icon" "$(date '+%I:%M%p')"
|
||||
|
||||
#for europeans, use this
|
||||
#printf '%s %s%s\n' "$(date '+%a %d/%m')" "$icon" "$(date '+%I:%M%p')"
|
||||
printf ' %s %s%s\n' "$(date '+%Y %b %d (%a)') $(date '+%I:%M%p')"
|
||||
|
||||
@ -9,4 +9,4 @@ case $BLOCK_BUTTON in
|
||||
6) "$TERMINAL" -e "$EDITOR" "$0" ;;
|
||||
esac
|
||||
|
||||
sensors | awk '/Core 0/ {print "🌡", $3}'
|
||||
sensors | awk '/Core 0/ {print " TEMP:",$3"°C "}'
|
||||
|
||||
@ -1,54 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Shows the price for desired cryptocurrencies. Module updates automatically
|
||||
# every calendar day, but can also be updated with a middle click.
|
||||
|
||||
# Currencies should be ;-separated:
|
||||
# human-readable name;urlname;icon
|
||||
coins="Bitcoin;btc;💰
|
||||
Etherium;eth;🍸
|
||||
Basic Attention Token;bat;🦁
|
||||
LBC;lbc;📚"
|
||||
|
||||
# Directory where currency info is stored.
|
||||
dir="${XDG_DATA_HOME:-$HOME/.local/share}/crypto-prices"
|
||||
|
||||
getprices() { # The command to get the desired prices
|
||||
printf "🔃 "; printprices
|
||||
{ rm -rf "${dir:?}/*"
|
||||
echo "$coins" | while IFS=';' read -r human web icon; do
|
||||
val="$(curl -s "rate.sx/1$web")" &&
|
||||
echo "$icon;$val;$human" > "$dir/$web"
|
||||
done; [ -d "$dir" ] && touch "$dir"
|
||||
pkill -RTMIN+13 "${STATUSBAR:-dwmblocks}" ;} &
|
||||
exit
|
||||
}
|
||||
|
||||
printprices() { # Print/format all prices
|
||||
for x in "$dir"/*; do
|
||||
[ -f "$x" ] || break
|
||||
info="$(cut -d';' -f-2 --output-delimiter=' ' "$x")"
|
||||
printf "%s $%0.2f " $info
|
||||
done | sed "s/ $/\n/"
|
||||
}
|
||||
|
||||
[ ! -d "$dir" ] && mkdir -p "$dir" && { getprices; exit ;}
|
||||
|
||||
# If currencies haven't been updated today, try to update them.
|
||||
[ "$(stat -c %x "$HOME/.local/share/crypto-prices" | cut -d' ' -f1)" != "$(date '+%Y-%m-%d')" ] &&
|
||||
{ ping -q -c 1 1.1.1.1 >/dev/null 2>&1 && getprices || exit ;}
|
||||
|
||||
case $BLOCK_BUTTON in
|
||||
1) uptime="$(date -d "$(stat -c %x "$dir")" '+%D at %T' | sed "s|$(date '+%D')|Today|")"
|
||||
notify-send "Exact prices in USD" "$(awk -F';' '{print $1, $3 ":\n\t$" $2}' "$dir"/*)
|
||||
<b>Last updated:</b>
|
||||
$uptime" ;;
|
||||
2) getprices ;;
|
||||
3) notify-send "💸 Crypto-currency module" "\- Left click for exact prices.
|
||||
- Middle click to update.
|
||||
- Shows 🔃 if updating prices.
|
||||
- Manually add/remove currencies to list in the script." ;;
|
||||
6) "$TERMINAL" -e "$EDITOR" "$0" ;;
|
||||
esac
|
||||
|
||||
printprices
|
||||
@ -1,17 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# The clickable help menu. Middle click to restart wm.
|
||||
|
||||
# If dwm is running, use dwm's readme and restart.
|
||||
ps ax | grep -q "\sdwm$" &&
|
||||
READMEFILE=/usr/local/share/dwm/larbs.mom
|
||||
restartwm() { pkill -HUP dwm ;} ||
|
||||
restartwm() { i3 restart ;}
|
||||
|
||||
case $BLOCK_BUTTON in
|
||||
1) groff -mom "${READMEFILE:-${XDG_DATA_HOME:-$HOME/.local/share}/larbs/readme.mom}" -Tpdf | zathura - ;;
|
||||
2) restartwm ;;
|
||||
3) notify-send "❓ Help module" "\- Left click to open LARBS guide.
|
||||
- Middle click to refresh window manager." ;;
|
||||
6) "$TERMINAL" -e "$EDITOR" "$0" ;;
|
||||
esac; echo "❓"
|
||||
@ -15,8 +15,9 @@ case $BLOCK_BUTTON in
|
||||
esac
|
||||
|
||||
case "$(cat /sys/class/net/w*/operstate 2>/dev/null)" in
|
||||
down) wifiicon="📡 " ;;
|
||||
up) wifiicon="$(awk '/^\s*w/ { print "📶", int($3 * 100 / 70) "% " }' /proc/net/wireless)" ;;
|
||||
down) wifiicon="No Wifi" ;;
|
||||
up) wifiicon=" $(nmcli connection show | awk '{ if ($5=="wlo1" ) {print "Wifi: "$1}}'
|
||||
) - $(awk '/^\s*w/ { print int($3 * 100 / 70) "% " }' /proc/net/wireless)" ;;
|
||||
esac
|
||||
|
||||
printf "%s%s\n" "$wifiicon" "$(sed "s/down/❎/;s/up/🌐/" /sys/class/net/e*/operstate 2>/dev/null)"
|
||||
|
||||
@ -1,10 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Gets your public ip address checks which country you are in and
|
||||
# displays that information in the statusbar
|
||||
#
|
||||
# https://www.maketecheasier.com/ip-address-geolocation-lookups-linux/
|
||||
|
||||
ifinstalled "geoip" || exit
|
||||
addr="$(curl ifconfig.me 2>/dev/null)" || exit
|
||||
grep "flag: " "${XDG_DATA_HOME:-$HOME/.local/share}/larbs/emoji" | grep "$(geoiplookup "$addr" | sed 's/.*, //')" | sed "s/flag: //;s/;.*//"
|
||||
@ -1,12 +1,13 @@
|
||||
#!/bin/sh
|
||||
|
||||
case $BLOCK_BUTTON in
|
||||
1) notify-send "🧠 Memory hogs" "$(ps axch -o cmd:15,%mem --sort=-%mem | head)" ;;
|
||||
1) notify-send "RAM hogs" "$(ps axch -o cmd:15,%mem --sort=-%mem | head)" ;;
|
||||
2) setsid "$TERMINAL" -e htop & ;;
|
||||
3) notify-send "🧠 Memory module" "\- Shows Memory Used/Total.
|
||||
- Click to show memory hogs.
|
||||
3) notify-send "RAM module" "\- Shows RAM Used/Total.
|
||||
- Click to show RAM hogs.
|
||||
- Middle click to open htop." ;;
|
||||
6) "$TERMINAL" -e "$EDITOR" "$0" ;;
|
||||
esac
|
||||
|
||||
free --mebi | sed -n '2{p;q}' | awk '{printf ("%2.2f/%2.2f\n", ( $3 / 1024), ($2 / 1024))}'
|
||||
free --mebi | sed -n '2{p;q}' | awk '{printf ("RAM: %2.2fGiB/%2.2f\nGiB", ( $3 / 1024), ($2 / 1024))}'
|
||||
|
||||
|
||||
@ -16,7 +16,7 @@ txfile="${XDG_CACHE_HOME:-$HOME/.cache}/txlog"
|
||||
rxcurrent="$(cat /sys/class/net/*/statistics/rx_bytes | paste -sd '+' | bc)"
|
||||
txcurrent="$(cat /sys/class/net/*/statistics/tx_bytes | paste -sd '+' | bc)"
|
||||
|
||||
printf "🔻%sKiB 🔺%sKiB\\n" \
|
||||
printf " 🔻%04dKiB 🔺%04dKiB " \
|
||||
"$(printf -- "(%s-%s)/1024\\n" "$rxcurrent" "$(cat "$rxfile")" | bc)" \
|
||||
"$(printf -- "(%s-%s)/1024\\n" "$txcurrent" "$(cat "$txfile")" | bc)"
|
||||
|
||||
|
||||
@ -1,17 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Displays number of unread news items and an loading icon if updating.
|
||||
# When clicked, brings up `newsboat`.
|
||||
|
||||
case $BLOCK_BUTTON in
|
||||
1) setsid "$TERMINAL" -e newsboat ;;
|
||||
2) setsid newsup >/dev/null & exit ;;
|
||||
3) notify-send "📰 News module" "\- Shows unread news items
|
||||
- Shows 🔃 if updating with \`newsup\`
|
||||
- Left click opens newsboat
|
||||
- Middle click syncs RSS feeds
|
||||
<b>Note:</b> Only one instance of newsboat (including updates) may be running at a time." ;;
|
||||
6) "$TERMINAL" -e "$EDITOR" "$0" ;;
|
||||
esac
|
||||
|
||||
cat /tmp/newsupdate 2>/dev/null || echo "$(newsboat -x print-unread | awk '{ print "📰 " $1}' | sed 's/^📰 0$//g')$(cat ${XDG_CONFIG_HOME:-$HOME/.config}/newsboat/.update 2>/dev/null)"
|
||||
@ -1,17 +1,12 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Prints the current volume or 🔇 if muted. Uses PulseAudio by default,
|
||||
# uncomment the ALSA lines if you remove PulseAudio.
|
||||
# Prints the current volume or 🔇 if muted.
|
||||
|
||||
case $BLOCK_BUTTON in
|
||||
# 1) setsid "$TERMINAL" -e alsamixer & ;;
|
||||
# 2) amixer sset Master toggle ;;
|
||||
# 4) amixer sset Master 5%+ >/dev/null 2>/dev/null ;;
|
||||
# 5) amixer sset Master 5%- >/dev/null 2>/dev/null ;;
|
||||
1) setsid "$TERMINAL" -e pulsemixer & ;;
|
||||
2) pamixer -t ;;
|
||||
4) pamixer --allow-boost -i 1 ;;
|
||||
5) pamixer --allow-boost -d 1 ;;
|
||||
4) pamixer --allow-boost -i 10 ;;
|
||||
5) pamixer --allow-boost -d 10 ;;
|
||||
3) notify-send "📢 Volume module" "\- Shows volume 🔊, 🔇 if muted.
|
||||
- Middle click to mute.
|
||||
- Scroll to change." ;;
|
||||
@ -19,13 +14,10 @@ case $BLOCK_BUTTON in
|
||||
esac
|
||||
|
||||
volstat="$(pactl list sinks)"
|
||||
# volstat="$(amixer get Master)" # ALSA only equivalent.
|
||||
|
||||
echo "$volstat" | grep -q "Mute: yes" && printf "🔇\\n" && exit
|
||||
# echo "$volstat" | grep "\[off\]" >/dev/null && printf "🔇\\n" && exit # ALSA
|
||||
|
||||
vol="$(echo "$volstat" | grep '[0-9]\+%' | sed "s,.* \([0-9]\+\)%.*,\1,;1q")"
|
||||
# vol=$(echo "$volstat" | grep -o "\[[0-9]\+%\]" | sed "s/[^0-9]*//g;1q") # ALSA
|
||||
|
||||
if [ "$vol" -gt "70" ]; then
|
||||
icon="🔊"
|
||||
@ -35,4 +27,4 @@ else
|
||||
icon="🔉"
|
||||
fi
|
||||
|
||||
printf "%s %s%%\\n" "$icon" "$vol"
|
||||
printf " %s %s%% " "$icon" "$vol"
|
||||
|
||||
@ -1,34 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Displays todays precipication chance (☔) and daily low (🥶) and high (🌞).
|
||||
# Usually intended for the statusbar.
|
||||
|
||||
# If we have internet, get a weather report from wttr.in and store it locally.
|
||||
# You could set up a shell alias to view the full file in a pager in the
|
||||
# terminal if desired. This function will only be run once a day when needed.
|
||||
getforecast() { curl -sf "wttr.in/$LOCATION" > "${XDG_DATA_HOME:-$HOME/.local/share}/weatherreport" || exit 1 ;}
|
||||
|
||||
# Some very particular and terse stream manipulation. We get the maximum
|
||||
# precipication chance and the daily high and low from the downloaded file and
|
||||
# display them with coresponding emojis.
|
||||
showweather() { printf "%s" "$(sed '16q;d' "${XDG_DATA_HOME:-$HOME/.local/share}/weatherreport" |
|
||||
grep -wo "[0-9]*%" | sort -rn | sed "s/^/☔ /g;1q" | tr -d '\n')"
|
||||
sed '13q;d' "${XDG_DATA_HOME:-$HOME/.local/share}/weatherreport" | grep -o "m\\([-+]\\)*[0-9]\\+" | sort -n -t 'm' -k 2n | sed -e 1b -e '$!d' | tr '\n|m' ' ' | awk '{print " 🥶",$1 "°","🌞",$2 "°"}' ;}
|
||||
|
||||
case $BLOCK_BUTTON in
|
||||
1) setsid "$TERMINAL" -e less -Srf "${XDG_DATA_HOME:-$HOME/.local/share}/weatherreport" & ;;
|
||||
2) getforecast && showweather ;;
|
||||
3) notify-send "🌈 Weather module" "\- Left click for full forecast.
|
||||
- Middle click to update forecast.
|
||||
☔: Chance of rain/snow
|
||||
🥶: Daily low
|
||||
🌞: Daily high" ;;
|
||||
6) "$TERMINAL" -e "$EDITOR" "$0" ;;
|
||||
esac
|
||||
|
||||
# The test if our forcecast is updated to the day. If it isn't download a new
|
||||
# weather report from wttr.in with the above function.
|
||||
[ "$(stat -c %y "${XDG_DATA_HOME:-$HOME/.local/share}/weatherreport" 2>/dev/null | cut -d' ' -f1)" = "$(date '+%Y-%m-%d')" ] ||
|
||||
getforecast
|
||||
|
||||
showweather
|
||||
@ -1,20 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
vidlist="
|
||||
status bar https://www.youtube.com/watch?v=gKumet6b-WY
|
||||
sxiv (image viewer) https://www.youtube.com/watch?v=GYW9i_u5PYs
|
||||
st (terminal) https://www.youtube.com/watch?v=9H75enWM22k
|
||||
i3 (window manager) https://www.youtube.com/watch?v=GKviflL9XeI
|
||||
pacman (installing/managing programs) https://www.youtube.com/watch?v=-dEuXTMzRKs
|
||||
mutt (email) https://www.youtube.com/watch?v=2U3vRbF7v5A
|
||||
ncmpcpp (music player) https://www.youtube.com/watch?v=sZIEdI9TS2U
|
||||
newsboat (RSS reader) https://www.youtube.com/watch?v=dUFCRqs822w
|
||||
ranger (file manager) https://www.youtube.com/watch?v=L6Vu7WPkoJo
|
||||
zathura (pdf viewer) https://www.youtube.com/watch?v=V_Iz4zdyRM4
|
||||
gpg keys https://www.youtube.com/watch?v=DMGIlj7u7Eo
|
||||
calcurse (calendar) https://www.youtube.com/watch?v=hvc-pHjbhdE
|
||||
urlview https://www.youtube.com/watch?v=IgzpAjFgbCw
|
||||
colorschemes with pywal https://www.youtube.com/watch?v=Es79N_9BblE
|
||||
vi mode in shell https://www.youtube.com/watch?v=GqoJQft5R2E
|
||||
"
|
||||
echo "$vidlist" | grep -P "^$(echo "$vidlist" | grep "https:" | sed 's/\t.*//g' | dmenu -i -p "Learn about what? (ESC to cancel)" -l 20 | awk '{print $1}')\s" | sed 's/.*\t//' | xargs -r mpv
|
||||
@ -1,14 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
[ -z "$FIFO_UEBERZUG" ] && exit
|
||||
|
||||
readonly ID_PREVIEW="preview"
|
||||
|
||||
if [ "$1" = "draw" ]; then
|
||||
declare -p -A cmd=([action]=add [identifier]="$ID_PREVIEW" [x]="$2" [y]="$3" [max_width]="$4" [max_height]="$5" [path]="${PWD}/$6") > "$FIFO_UEBERZUG"
|
||||
elif [ "$1" = "videopreview" ]; then
|
||||
[ ! -f "/tmp/$6.png" ] && ffmpegthumbnailer -i "${PWD}/$6" -o "/tmp/$6.png" -s 0 -q 10 &&
|
||||
declare -p -A cmd=([action]=add [identifier]="$ID_PREVIEW" [x]="$2" [y]="$3" [max_width]="$4" [max_height]="$5" [path]="/tmp/$6.png") > "$FIFO_UEBERZUG"
|
||||
else
|
||||
declare -p -A cmd=([action]=remove [identifier]="$ID_PREVIEW") > "$FIFO_UEBERZUG"
|
||||
fi
|
||||
@ -1,18 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# This is a wrapper for vifm to allow ueberzug images.
|
||||
|
||||
export FIFO_UEBERZUG="/tmp/vifm-ueberzug-${PPID}"
|
||||
|
||||
cleanup() {
|
||||
rm "$FIFO_UEBERZUG" 2>/dev/null
|
||||
pkill -P $$ 2>/dev/null
|
||||
}
|
||||
|
||||
rm "$FIFO_UEBERZUG" 2>/dev/null
|
||||
mkfifo "$FIFO_UEBERZUG"
|
||||
trap cleanup EXIT
|
||||
tail --follow "$FIFO_UEBERZUG" | ueberzug layer --silent --parser bash &
|
||||
|
||||
vifm
|
||||
cleanup
|
||||
@ -1 +0,0 @@
|
||||
../../.config/wall.png
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user