mirror of
https://github.com/LukeSmithxyz/voidrice.git
synced 2026-03-20 01:37:45 +01:00
Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
80a1bdde7a
156
.config/Xresources
Normal file
156
.config/Xresources
Normal file
@ -0,0 +1,156 @@
|
||||
!! 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 */
|
||||
40
.config/bspwm/bspwm/bspwmrc
Executable file
40
.config/bspwm/bspwm/bspwmrc
Executable file
@ -0,0 +1,40 @@
|
||||
#!/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,30 +1,37 @@
|
||||
<?xml version='1.0'?>
|
||||
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
|
||||
<fontconfig>
|
||||
|
||||
<alias>
|
||||
<family>serif</family>
|
||||
<prefer><family>Linux Libertine</family></prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>sans-serif</family>
|
||||
<prefer><family>Linux Biolinum</family></prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>sans</family>
|
||||
<prefer><family>Linux Biolinum</family></prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>monospace</family>
|
||||
<prefer><family>Inconsolata</family></prefer>
|
||||
</alias>
|
||||
|
||||
<!-- This sets Symbola as the final fallback font for the monospace font family. -->
|
||||
<match target="pattern">
|
||||
<test name="family"><string>monospace</string></test>
|
||||
<edit name="family" mode="append"><string>Symbola</string></edit>
|
||||
</match>
|
||||
|
||||
<alias>
|
||||
<family>serif</family>
|
||||
<prefer>
|
||||
<family>Linux Libertine</family>
|
||||
<family>Joy Pixels</family>
|
||||
<family>Noto Color Emoji</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>sans-serif</family>
|
||||
<prefer>
|
||||
<family>Linux Biolinum</family>
|
||||
<family>Joy Pixels</family>
|
||||
<family>Noto Color Emoji</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>sans</family>
|
||||
<prefer>
|
||||
<family>Linux Biolinum</family>
|
||||
<family>Joy Pixels</family>
|
||||
<family>Noto Color Emoji</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>monospace</family>
|
||||
<prefer>
|
||||
<family>Liberation Mono</family>
|
||||
<family>Inconsolata</family>
|
||||
<family>Joy Pixels</family>
|
||||
<family>Noto Color Emoji</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
</fontconfig>
|
||||
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
# DO NOT EDIT! This file will be overwritten by LXAppearance.
|
||||
# Any customization should be done in ~/.gtkrc-2.0.mine instead.
|
||||
|
||||
include "/home/luke/.gtkrc-2.0.mine"
|
||||
include "~/.gtkrc-2.0.mine"
|
||||
gtk-theme-name="Arc-Gruvbox"
|
||||
gtk-icon-theme-name="Adwaita"
|
||||
gtk-font-name="Sans 10"
|
||||
|
||||
@ -4,15 +4,23 @@
|
||||
# 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 FILE="ranger"
|
||||
# export TERMINAL="st"
|
||||
|
||||
# #---Basic Definitions---# #
|
||||
for_window [class="^.*"] border pixel 2
|
||||
gaps inner 15
|
||||
gaps outer 15
|
||||
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.
|
||||
@ -35,39 +43,66 @@ bar {
|
||||
}
|
||||
|
||||
# #---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-msg exit"
|
||||
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 lmc truemute ; exec --no-startup-id lmc pause ; exec --no-startup-id pauseallmpv; workspace 0; exec $term -e htop ; exec $term -e $FILE
|
||||
bindsym $mod+Shift+Delete exec --no-startup-id lmc 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 15; gaps outer current set 15
|
||||
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 alsamixer
|
||||
|
||||
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)
|
||||
@ -78,6 +113,7 @@ 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
|
||||
@ -98,11 +134,24 @@ 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 mpc pause; exec --no-startup-id pauseallmpv ; exec --no-startup-id i3lock -e -f -c 1d2021 ; exec --no-startup-id xset dpms force off
|
||||
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 lmc toggle
|
||||
|
||||
# #---Workspace Bindings---# #
|
||||
bindsym $mod+Home workspace $ws1
|
||||
bindsym $mod+Shift+Home move container to workspace $ws1
|
||||
@ -173,18 +222,138 @@ for_window [title="mpvfloat"] border pixel 0
|
||||
no_focus [title="mpvfloat"]
|
||||
|
||||
# #---Function Buttons---# #
|
||||
bindsym $mod+F1 exec --no-startup-id groff -mom ~/.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+Ctrl+Right move workspace to output right
|
||||
bindsym $mod+Shift+Left move left
|
||||
bindsym $mod+Shift+Down move down
|
||||
bindsym $mod+Shift+Up move up
|
||||
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 lmc up
|
||||
bindsym $mod+Shift+plus exec --no-startup-id lmc up 15
|
||||
bindsym $mod+minus exec --no-startup-id lmc down
|
||||
bindsym $mod+Shift+minus exec --no-startup-id lmc down 15
|
||||
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 lmc toggle
|
||||
bindsym XF86AudioLowerVolume exec --no-startup-id lmc down
|
||||
bindsym Shift+XF86AudioLowerVolume exec --no-startup-id lmc down 10
|
||||
bindsym Control+XF86AudioLowerVolume exec --no-startup-id lmc down 1
|
||||
bindsym XF86AudioRaiseVolume exec --no-startup-id lmc up
|
||||
bindsym Shift+XF86AudioRaiseVolume exec --no-startup-id lmc up 10
|
||||
bindsym Control+XF86AudioRaiseVolume exec --no-startup-id lmc up 1
|
||||
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
|
||||
|
||||
@ -13,7 +13,6 @@ interval=once
|
||||
signal=11
|
||||
|
||||
[news]
|
||||
label=📰
|
||||
interval=once
|
||||
signal=6
|
||||
|
||||
@ -21,7 +20,6 @@ signal=6
|
||||
#interval=30
|
||||
|
||||
[pacpackages]
|
||||
label=📦
|
||||
interval=once
|
||||
signal=8
|
||||
|
||||
@ -34,17 +32,14 @@ interval=18000
|
||||
signal=5
|
||||
|
||||
[mailbox]
|
||||
label=📬
|
||||
interval=180
|
||||
signal=12
|
||||
|
||||
#[memory]
|
||||
#interval=30
|
||||
#label=🧠
|
||||
|
||||
#[cpu]
|
||||
#interval=15
|
||||
#label=💻
|
||||
|
||||
[volume]
|
||||
interval=once
|
||||
@ -56,7 +51,7 @@ signal=10
|
||||
|
||||
#[disk]
|
||||
#interval=60
|
||||
#command=disk /home 🏠
|
||||
#command=disk /home
|
||||
|
||||
[battery]
|
||||
command=battery BAT0
|
||||
|
||||
@ -70,5 +70,5 @@ map <c-r> reload
|
||||
map <enter> shell
|
||||
map x $$f
|
||||
map X !$f
|
||||
map o &mimeopen $f
|
||||
map O $mimeopen --ask $f
|
||||
map o &mimeopen "$f"
|
||||
map O $mimeopen --ask "$f"
|
||||
|
||||
@ -1,12 +1,19 @@
|
||||
[Default Applications]
|
||||
|
||||
# xdg-open will use these settings to determine how to open filetypes.
|
||||
# These .desktop entries can also be seen and changed in ~/.local/share/applications/
|
||||
|
||||
text/x-shellscript=text.desktop;
|
||||
x-scheme-handler/magnet=torrent.desktop;
|
||||
application/x-bittorrent=torrent.desktop;
|
||||
x-scheme-handler/mailto=mail.desktop;
|
||||
text/plain=text.desktop;
|
||||
text/x-shellscript=text.desktop;
|
||||
application/postscript=pdf.desktop;
|
||||
application/pdf=pdf.desktop;
|
||||
image/png=img.desktop;
|
||||
image/jpeg=img.desktop;
|
||||
image/gif=img.desktop;
|
||||
application/rss+xml=rss.desktop
|
||||
video/x-matroska=video.desktop
|
||||
x-scheme-handler/lbry=lbry.desktop
|
||||
inode/directory=file.desktop
|
||||
|
||||
@ -64,6 +64,9 @@ set clipboard+=unnamedplus
|
||||
map <C-k> <C-w>k
|
||||
map <C-l> <C-w>l
|
||||
|
||||
" Replace ex mode with gq
|
||||
map Q gq
|
||||
|
||||
" Check file in shellcheck:
|
||||
map <leader>s :!clear && shellcheck %<CR>
|
||||
|
||||
|
||||
@ -10,10 +10,6 @@
|
||||
# Basic binds
|
||||
super + Return
|
||||
$TERMINAL
|
||||
super + shift + Return
|
||||
samedir
|
||||
super + shift + q
|
||||
kill -9 `xdotool getwindowfocus getwindowpid`
|
||||
super + d
|
||||
dmenu_run
|
||||
super + r
|
||||
@ -25,7 +21,7 @@ super + m
|
||||
super + n
|
||||
$TERMINAL -e newsboat
|
||||
super + c
|
||||
$TERMINAL -e calcurse -D ~/.config/calcurse
|
||||
$TERMINAL -e calcurse
|
||||
super + v
|
||||
$TERMINAL -e nvim -c VimwikiIndex
|
||||
super + shift + a
|
||||
@ -96,7 +92,7 @@ super + {_,shift +} bracketright
|
||||
super + {_,shift +} bracketleft
|
||||
mpc seek -{10,120}
|
||||
# Increase volume
|
||||
super {_,shift +} + plus
|
||||
super + {equal,plus}
|
||||
amixer sset Master {5,15}%+; pkill -RTMIN+10 $STATUSBAR
|
||||
# Decrease volume
|
||||
super {_,shift +} + minus
|
||||
@ -165,3 +161,110 @@ super + F8
|
||||
# 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 +1,3 @@
|
||||
XDG_DESKTOP_DIR="$HOME/"
|
||||
XDG_CONFIG_HOME="$HOME/.config"
|
||||
XDG_DATA_HOME="$HOME/.local/share"
|
||||
|
||||
@ -55,18 +55,21 @@ 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 --input-ipc-server=/tmp/mpvsoc$(date +%%s) %c
|
||||
filextype *.pdf,*.ps,*.eps,*.ps.gz,*.djvu,*.epub zathura %f 2>/dev/null &,
|
||||
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 --input-ipc-server=/tmp/mpvsoc$(date +%%s) %f 2>/dev/null &,
|
||||
|
||||
fileview *.zip,*.rar,*.tar.gz atool -l %f
|
||||
filetype *.zip,*.rar,*.tar.gz ext %f
|
||||
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 vifmimg draw %px %py %pw %ph %c %pc vifmimg clear
|
||||
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 &
|
||||
|
||||
29
.config/wal/postrun
Executable file
29
.config/wal/postrun
Executable file
@ -0,0 +1,29 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "${HOME}/.cache/wal/colors.sh"
|
||||
|
||||
mkdir -p "${HOME}/.config/dunst"
|
||||
mkdir -p "${HOME}/.config/zathura"
|
||||
ln -sf "${HOME}/.cache/wal/dunstrc" "${HOME}/.config/dunst/dunstrc"
|
||||
ln -sf "${HOME}/.cache/wal/zathurarc" "${HOME}/.config/zathura/zathurarc"
|
||||
|
||||
fix_sequences() {
|
||||
e=$'\e'
|
||||
sequences=$(cat)
|
||||
foreground_color="$(echo -e "${sequences}\c" | grep --color=never -Eo "${e}]10[^${e}\\\\]*?${e}\\\\" | grep --color=never -Eo "#[0-9A-Fa-f]{6}")"
|
||||
background_color="$(echo -e "${sequences}\c" | grep --color=never -Eo "${e}]11[^${e}\\\\]*?${e}\\\\" | grep --color=never -Eo "#[0-9A-Fa-f]{6}")"
|
||||
cursor_color="$(echo -e "${sequences}\c" | grep --color=never -Eo "${e}]12[^${e}\\\\]*?${e}\\\\" | grep --color=never -Eo "#[0-9A-Fa-f]{6}")"
|
||||
|
||||
for term in /dev/pts/{0..9}*
|
||||
do
|
||||
echo -e "\e]4;256;${cursor_color}\a\c" > "${term}" 2>/dev/null
|
||||
echo -e "\e]4;258;${background_color}\a\c" > "${term}" 2>/dev/null
|
||||
echo -e "\e]4;259;${foreground_color}\a\c" > "${term}" 2>/dev/null
|
||||
done
|
||||
}
|
||||
|
||||
fix_sequences <"${HOME}/.cache/wal/sequences"
|
||||
|
||||
xsetroot -name "fsignal:xrdb"
|
||||
pkill dunst
|
||||
dunst &
|
||||
152
.config/wal/templates/dunstrc
Normal file
152
.config/wal/templates/dunstrc
Normal file
@ -0,0 +1,152 @@
|
||||
[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
|
||||
33
.config/wal/templates/zathurarc
Normal file
33
.config/wal/templates/zathurarc
Normal file
@ -0,0 +1,33 @@
|
||||
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}"
|
||||
1
.config/wget/wgetrc
Normal file
1
.config/wget/wgetrc
Normal file
@ -0,0 +1 @@
|
||||
hsts-file=~/.cache/wget-hsts
|
||||
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
# This script will compile or run another finishing operation on a document. I
|
||||
# have this script run via vim.
|
||||
@ -26,7 +26,7 @@ case "$file" in
|
||||
*\.ms) refer -PS -e "$file" | groff -me -ms -kept -T pdf > "$base".pdf ;;
|
||||
*\.mom) refer -PS -e "$file" | groff -mom -kept -T pdf > "$base".pdf ;;
|
||||
*\.[0-9]) refer -PS -e "$file" | groff -mandoc -T pdf > "$base".pdf ;;
|
||||
*\.rmd) echo "require(rmarkdown); rmarkdown::render('$file', quiet=TRUE)" | R -q --vanilla ;;
|
||||
*\.[rR]md) Rscript -e "require(rmarkdown); rmarkdown::render('$file', quiet=TRUE)" ;;
|
||||
*\.tex) textype "$file" ;;
|
||||
*\.md) pandoc "$file" --pdf-engine=xelatex -o "$base".pdf ;;
|
||||
*config.h) sudo make install ;;
|
||||
|
||||
@ -8,4 +8,4 @@ When you add them as cronjobs, I recommend you precede the command with commands
|
||||
export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus; export DISPLAY=:0; . $HOME/.zprofile; then_command_goes_here
|
||||
```
|
||||
|
||||
This ensures that notifications will display, xdotool commands will function and environmental varialbes will work as well.
|
||||
This ensures that notifications will display, xdotool commands will function and environmental variables will work as well.
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
# Syncs repositories and downloads updates, meant to be run as a cronjob.
|
||||
|
||||
ping -q -c 1 1.1.1.1 > /dev/null || exit
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
# Notify me with notify-send if my battery is below 25%.
|
||||
# You can set this to run via cron.
|
||||
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
# Toggles all cronjobs off/on.
|
||||
# Stores disabled crontabs in ~/.consaved until restored.
|
||||
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/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.
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
# 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
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
# Feed this script a link and it will give dmenu
|
||||
# some choice programs to use to open it.
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
# Gives a dmenu prompt to mount unmounted drives and Android phones. If
|
||||
# they're in /etc/fstab, they'll be mounted automatically. Otherwise, you'll
|
||||
@ -31,6 +31,8 @@ mountusb() { \
|
||||
mountandroid() { \
|
||||
chosen=$(echo "$anddrives" | dmenu -i -p "Which Android device?" | cut -d : -f 1)
|
||||
getmount "$HOME -maxdepth 3 -type d"
|
||||
simple-mtpfs --device "$chosen" "$mp"
|
||||
echo "OK" | dmenu -i -p "Tap Allow on your phone if it asks for permission and then press enter"
|
||||
simple-mtpfs --device "$chosen" "$mp"
|
||||
notify-send "🤖 Android Mounting" "Android device mounted to $mp."
|
||||
}
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
# This script is the SUDO_ASKPASS variable, meaning that it will be used as a
|
||||
# password prompt if needed.
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
# Usage:
|
||||
# `$0`: Ask for recording type via dmenu
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
# A dmenu prompt to unmount drives.
|
||||
# Provides you with mounted partitions, select one to unmount.
|
||||
# Drives mounted at /, /boot and /home will not be options to unmount.
|
||||
|
||||
@ -1,18 +1,18 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
# The famous "get a menu of emojis to copy" script.
|
||||
|
||||
# Must have xclip installed to even show menu.
|
||||
xclip -h >/dev/null || exit
|
||||
xclip -h 2>/dev/null || exit 1
|
||||
|
||||
chosen=$(grep -v "#" ~/.local/share/larbs/emoji | dmenu -i -l 20 -fn Monospace-18)
|
||||
chosen=$(cut -d ';' -f1 ~/.local/share/larbs/emoji | dmenu -i -l 20 | sed "s/ .*//")
|
||||
|
||||
[ "$chosen" != "" ] || exit
|
||||
|
||||
c=$(echo "$chosen" | sed "s/ .*//")
|
||||
echo "$c" | tr -d '\n' | xclip -selection clipboard
|
||||
notify-send "'$c' copied to clipboard." &
|
||||
|
||||
s=$(echo "$chosen" | sed "s/.*; //" | awk '{print $1}')
|
||||
echo "$s" | tr -d '\n' | xclip
|
||||
notify-send "'$s' copied to primary." &
|
||||
# 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
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
# A general, all-purpose extraction script. Not all extraction programs here
|
||||
# are installed by LARBS automatically.
|
||||
@ -24,7 +24,8 @@ fi
|
||||
|
||||
if [ -f "$archive" ] ; then
|
||||
case "$archive" in
|
||||
*.tar.bz2|*.tar.xz|*.tbz2) tar xvjf "$archive" ;;
|
||||
*.tar.bz2|*.tbz2) tar xvjf "$archive" ;;
|
||||
*.tar.xz) tar -xf "$archive" ;;
|
||||
*.tar.gz|*.tgz) tar xvzf "$archive" ;;
|
||||
*.lzma) unlzma "$archive" ;;
|
||||
*.bz2) bunzip2 "$archive" ;;
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
cat ~/.local/share/larbs/getkeys/"$1" 2>/dev/null && exit
|
||||
echo "Run command with one of the following arguments for info about that program:"
|
||||
ls ~/.local/share/larbs/getkeys
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
# Toggle floating dropdown terminal in i3, or start if non-existing.
|
||||
# $1 is the script run in the terminal.
|
||||
|
||||
@ -1,2 +1,3 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
ifinstalled bc && echo "Welcome to the Calculator." && bc -lq
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/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))
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
# This script was made by `goferito` on Github.
|
||||
# Some cleanup by Luke.
|
||||
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/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
|
||||
|
||||
10
.local/bin/i3cmds/toggle-welcome
Executable file
10
.local/bin/i3cmds/toggle-welcome
Executable file
@ -0,0 +1,10 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Toggles the LARBS welcome message.
|
||||
|
||||
PIC="$HOME/.local/share/larbs/larbs.png"
|
||||
|
||||
grep LARBSWELCOME "$HOME/.xprofile" &&
|
||||
( sed -i "/LARBSWELCOME/d" ~/.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" >> ~/.xprofile &&
|
||||
notify-send -i "$PIC" "LARBS welcome message" "Welcome message re-enabled." )
|
||||
@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
# 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 ;}
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
# Terminate already running bar instances
|
||||
killall -q polybar
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
# Feed script a url or file location.
|
||||
# If an image, it will view in sxiv,
|
||||
|
||||
30
.local/bin/lmc
Executable file
30
.local/bin/lmc
Executable file
@ -0,0 +1,30 @@
|
||||
#!/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
|
||||
|
||||
pkill -RTMIN+10 "${STATUSBAR:?}" &
|
||||
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
# This is bound to Shift+PrintScreen by default, requires maim. It lets you
|
||||
# choose the kind of screenshot to take, including copying the image or even
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/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.
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
# opout: "open output": A general handler for opening a file's intended output,
|
||||
# usually the pdf of a compiled document. I find this useful especially
|
||||
@ -7,8 +7,7 @@
|
||||
basename="$(echo "$1" | sed 's/\.[^\/.]*$//')"
|
||||
|
||||
case "$1" in
|
||||
*.tex|*.md|*.rmd|*.ms|*.me|*.mom) setsid "$READER" "$basename".pdf >/dev/null 2>&1 & ;;
|
||||
*.[0-9]) setsid "$READER" "$basename".pdf >/dev/null 2>&1 & ;;
|
||||
*.html) setsid $BROWSER "$basename".html >/dev/null 2>&1 & ;;
|
||||
*.tex|*.m[dse]|*.[rR]md|*.mom|*.[0-9]) setsid xdg-open "$basename".pdf >/dev/null 2>&1 & ;;
|
||||
*.html) setsid "$BROWSER" "$basename".html >/dev/null 2>&1 & ;;
|
||||
*.sent) setsid sent "$1" >/dev/null 2>&1 & ;;
|
||||
esac
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/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
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
# entr command to run `queueandnotify` when newsboat queue is changed
|
||||
|
||||
[ "$(pgrep -x $(basename $0) | wc -l)" -gt 2 ] && exit
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
# A dmenu binary prompt script.
|
||||
# Gives a dmenu prompt labeled with $1 to perform command $2.
|
||||
# For example:
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
# $1 is a url; $2 is a command
|
||||
[ -z "$1" ] && exit
|
||||
base="$(basename "$1")"
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
# Podboat sucks. This script replaces it.
|
||||
# It reads the newsboat queue, queuing downloads with taskspooler.
|
||||
# It also removes the junk from extentions.
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
# Refresh the dwmbar.
|
||||
# Send SIGTRAP signal to dwmbar script, which will handle it with a trap.
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env sh
|
||||
# This script is called by i3 on startup to remap keys.
|
||||
#!/bin/sh
|
||||
|
||||
# This script is called on startup to remap keys.
|
||||
# Increase key speed via a rate change
|
||||
xset r rate 300 50
|
||||
# Map the caps lock key to super...
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
# When I open an image from the file manager in sxiv (the image viewer), I want
|
||||
# to be able to press the next/previous keys to key through the rest of the
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/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="$HOME/.config/newsboat/urls"
|
||||
|
||||
@ -1,5 +1,8 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
# Open a terminal window in the same directory as the currently active window.
|
||||
|
||||
PID=$(xprop -id "$(xprop -root | awk '/_NET_ACTIVE_WINDOW\(WINDOW\)/{print $NF}')" | grep -m 1 PID | cut -d " " -f 3)
|
||||
PID=$(echo "$(pstree -lpA "$PID" | tail -n 1)" | awk -F'---' '{print $NF}' | sed -re 's/[^0-9]//g')
|
||||
cd "$(readlink /proc/"$PID"/cwd)"
|
||||
PID="$(pstree -lpA "$PID" | tail -n 1 | awk -F'---' '{print $NF}' | sed -re 's/[^0-9]//g')"
|
||||
cd "$(readlink /proc/"$PID"/cwd)" || return 1
|
||||
"$TERMINAL"
|
||||
|
||||
@ -1,9 +1,19 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
# In LARBS, ~/.config/wall.png is the location of the system wallpaper. This
|
||||
# script, if given an argument, moves it there. This script without an
|
||||
# argument sets ~/.config/wall.png as the wallpaper, which is required on login
|
||||
# if you don't want a blakc screen.
|
||||
# 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 generate a colorscheme.
|
||||
|
||||
[ ! -z "$1" ] && cp "$1" ~/.config/wall.png && notify-send -i "$HOME/.config/wall.png" "Wallpaper changed."
|
||||
xwallpaper --zoom ~/.config/wall.png
|
||||
# Location of link to wallpaper link.
|
||||
bgloc="${XDG_CACHE_HOME:-$HOME/.cache/}/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
|
||||
|
||||
xwallpaper --zoom "$bgloc"
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Output locations. Unactivated progs should go to /dev/null.
|
||||
shell_shortcuts="$HOME/.config/shortcutrc"
|
||||
ranger_shortcuts="$HOME/.config/ranger/shortcuts.conf"
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
# Display contents of selection via dunst if running.
|
||||
# Separate script for i3.
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
#!/usr/bin/env sh
|
||||
# Give a battery name (e.g. BAT0) as an argument.
|
||||
#!/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) pgrep -x dunst >/dev/null && notify-send "🔋 Battery module" "🔋: discharging
|
||||
@ -7,26 +9,19 @@ case $BLOCK_BUTTON in
|
||||
♻: stagnant charge
|
||||
🔌: charging
|
||||
⚡: charged
|
||||
❗: battery very low!
|
||||
- Text color reflects charge left" ;;
|
||||
❗: battery very low!" ;;
|
||||
esac
|
||||
|
||||
capacity=$(cat /sys/class/power_supply/"$1"/capacity) || exit
|
||||
status=$(cat /sys/class/power_supply/"$1"/status)
|
||||
# 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/Discharging/🔋/;s/Not charging/🛑/;s/Charging/🔌/;s/Unknown/♻️/;s/Full/⚡/" "$battery"/status)
|
||||
|
||||
if [ "$capacity" -ge 75 ]; then
|
||||
color="#00ff00"
|
||||
elif [ "$capacity" -ge 50 ]; then
|
||||
color="#ffffff"
|
||||
elif [ "$capacity" -ge 25 ]; then
|
||||
color="#ffff00"
|
||||
else
|
||||
color="#ff0000"
|
||||
warn="❗"
|
||||
fi
|
||||
# If it is discharging and 25% or less, we will add a ❗ as a warning.
|
||||
[ "$capacity" -le 25 ] && [ "$status" = "🔋" ] && warn="❗"
|
||||
|
||||
[ -z $warn ] && warn=" "
|
||||
|
||||
[ "$status" = "Charging" ] && color="#ffffff"
|
||||
|
||||
printf "<span color='%s'>%s%s%s</span>\n" "$color" "$(echo "$status" | sed -e "s/,//;s/Discharging/🔋/;s/Not charging/🛑/;s/Charging/🔌/;s/Unknown/♻️/;s/Full/⚡/;s/ 0*/ /g;s/ :/ /g")" "$warn" "$(echo "$capacity" | sed -e 's/$/%/')"
|
||||
printf "%s%s%s%%\n" "$status" "$warn" "$capacity"
|
||||
unset warn
|
||||
done
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
date '+%Y %b %d (%a) %I:%M%p'
|
||||
|
||||
case $BLOCK_BUTTON in
|
||||
1) pgrep -x dunst >/dev/null && 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)" ;;
|
||||
1) pgrep -x dunst >/dev/null && notify-send "This Month" "$(cal --color=always | sed "s/..7m/<b><span color=\"red\">/;s/..27m/<\/span><\/b>/")" && notify-send "Appointments" "$(calcurse -d3)" ;;
|
||||
2) $TERMINAL -e calcurse -D ~/.config/calcurse ;;
|
||||
3) pgrep -x dunst >/dev/null && notify-send "📅 Time/date module" "\- Left click to show upcoming appointments for the next three days via \`calcurse -d3\` and show the month via \`cal\`
|
||||
- Middle click opens calcurse if installed" ;;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
case $BLOCK_BUTTON in
|
||||
1) notify-send "🖥 CPU hogs" "$(ps axch -o cmd:15,%cpu --sort=-%cpu | head)" ;;
|
||||
@ -7,4 +7,4 @@ case $BLOCK_BUTTON in
|
||||
- % is of single core." ;;
|
||||
esac
|
||||
|
||||
sensors | awk '/Core 0/ {print $3}'
|
||||
sensors | awk '/Core 0/ {print "🌡", $3}'
|
||||
|
||||
@ -1,18 +1,22 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
# Status bar module for disk space
|
||||
# $1 should be drive mountpoint
|
||||
# $2 is optional icon, otherwise mountpoint will displayed
|
||||
# $1 should be drive mountpoint, otherwise assumed /.
|
||||
|
||||
[ -z "$1" ] && exit
|
||||
location=${1:-/}
|
||||
|
||||
icon="$2"
|
||||
[ -z "$2" ] && icon="$1"
|
||||
[ -d "$location" ] || exit
|
||||
|
||||
case $BLOCK_BUTTON in
|
||||
1) pgrep -x dunst >/dev/null && notify-send "💽 Disk space" "$(df -h --output=target,used,size)" ;;
|
||||
3) pgrep -x dunst >/dev/null && notify-send "💽 Disk module" "\- Shows used hard drive space.
|
||||
1) notify-send "💽 Disk space" "$(df -h --output=target,used,size)" ;;
|
||||
3) notify-send "💽 Disk module" "\- Shows used hard drive space.
|
||||
- Click to show all disk info." ;;
|
||||
esac
|
||||
|
||||
printf "%s: %s\n" "$icon" "$(df -h "$1" | awk ' /[0-9]/ {print $3 "/" $2}')"
|
||||
case "$location" in
|
||||
"/home"* ) icon="🏠" ;;
|
||||
"/mnt"* ) icon="💾" ;;
|
||||
*) icon="🖥 ";;
|
||||
esac
|
||||
|
||||
printf "%s: %s\n" "$icon" "$(df -h "$location" | awk ' /[0-9]/ {print $3 "/" $2}')"
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
case $BLOCK_BUTTON in
|
||||
1) groff -mom ~/.local/share/larbs/readme.mom -Tpdf | zathura - ;;
|
||||
2) i3 restart ;;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
case $BLOCK_BUTTON in
|
||||
1) $TERMINAL -e nmtui ;;
|
||||
@ -10,8 +10,7 @@ case $BLOCK_BUTTON in
|
||||
" ;;
|
||||
esac
|
||||
|
||||
[ "$(cat /sys/class/net/w*/operstate)" = 'down' ] && wifiicon="📡"
|
||||
[ "$(cat /sys/class/net/w*/operstate)" = 'down' ] && wifiicon="📡" ||
|
||||
wifiicon=$(grep "^\s*w" /proc/net/wireless | awk '{ print "📶", int($3 * 100 / 70) "%" }')
|
||||
|
||||
[ ! -n "${wifiicon+var}" ] && wifiicon=$(grep "^\s*w" /proc/net/wireless | awk '{ print "📶", int($3 * 100 / 70) "%" }')
|
||||
|
||||
printf "%s %s\n" "$wifiicon" "$(cat /sys/class/net/e*/operstate | sed "s/down/❎/;s/up/🌐/")"
|
||||
printf "%s %s\n" "$wifiicon" "$(sed "s/down/❎/;s/up/🌐/" /sys/class/net/e*/operstate)"
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
# Gets your public ip address checks which country you are in and
|
||||
# displays that information in the statusbar
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
# i3blocks mail module.
|
||||
# Displays number of unread mail and an loading icon if updating.
|
||||
@ -13,4 +13,8 @@ case $BLOCK_BUTTON in
|
||||
- Middle click syncs mail" ;;
|
||||
esac
|
||||
|
||||
echo "$(du -a ~/.local/share/mail/*/INBOX/new/* 2>/dev/null | sed -n '$=')$(cat /tmp/imapsyncicon_$USER 2>/dev/null)"
|
||||
unread="$(find ~/.local/share/mail/*/INBOX/new/* -type f | wc -l 2>/dev/null)"
|
||||
|
||||
icon="$(cat "/tmp/imapsyncicon_$USER")"
|
||||
|
||||
[ "$unread" = "0" ] && [ "$icon" = "" ] || echo "📬 $unread$(cat "/tmp/imapsyncicon_$USER" 2>/dev/null)"
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
case $BLOCK_BUTTON in
|
||||
1) notify-send "🧠 Memory hogs" "$(ps axch -o cmd:15,%mem --sort=-%mem | head)" ;;
|
||||
@ -6,4 +6,4 @@ case $BLOCK_BUTTON in
|
||||
- Click to show memory hogs." ;;
|
||||
esac
|
||||
|
||||
free -h | awk '/^Mem:/ {print $3 "/" $2}'
|
||||
free -h | sed -n '2{p;q}' | awk '{print "🧠", $3 "/" $2}'
|
||||
|
||||
23
.local/bin/statusbar/moonphase
Executable file
23
.local/bin/statusbar/moonphase
Executable file
@ -0,0 +1,23 @@
|
||||
#!/bin/sh
|
||||
|
||||
mnphs=$(pom $1 | grep -o 'New\|Waxing Crescent\|First Quarter\|Waxing Gibbous\|Full\|Waning Gibbous\|Last Quarter\|Waning Crescent' | grep -m1 '.')
|
||||
prcnt=$(pom $1 | grep -o '[[:digit:]]*%' | grep -o '[[:digit:]]*' )
|
||||
case "$mnphs" in
|
||||
"New") icon="🌑" prcnt="0" ;;
|
||||
"Waxing Crescent") icon="🌒" ;;
|
||||
"First Quarter") icon="🌓" prcnt="50" ;;
|
||||
"Waxing Gibbous") icon="🌔" ;;
|
||||
"Full") icon="🌕" prcnt="100" ;;
|
||||
"Waning Gibbous") icon="🌖" ;;
|
||||
"Last Quarter") icon="🌗" prcnt="50" ;;
|
||||
"Waning Crescent") icon="🌘" ;;
|
||||
*) echo errorrrr ;;
|
||||
esac
|
||||
|
||||
case $BLOCK_BUTTON in
|
||||
1) $mnphs ;;
|
||||
2) $mnphs ;;
|
||||
3) pgrep -x dunst >/dev/null && notify-send " 🌜$(pom)" ;;
|
||||
esac
|
||||
|
||||
echo "$icon" "$prcnt"%
|
||||
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
filter() {
|
||||
sed "/^volume:/d" | tac | sed -e "s/\\&/&/g;s/\\[paused\\].*/<span color=\"gray\" font_style=\"italic\">/g;s/\\[playing\\].*/<span>/g" | tr -d '\n' | sed -e "s/$/<\\/span>\n/g"
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
# i3blocks newsboat module.
|
||||
# Displays number of unread news items and an loading icon if updating.
|
||||
@ -14,4 +14,4 @@ case $BLOCK_BUTTON in
|
||||
<b>Note:</b> Only one instance of newsboat (including updates) may be running at a time." ;;
|
||||
esac
|
||||
|
||||
cat /tmp/newsupdate 2>/dev/null || echo "$(newsboat -x print-unread | awk '{ print $1}' | sed s/^0$//g)$(cat ~/.config/newsboat/.update 2>/dev/null)"
|
||||
cat /tmp/newsupdate 2>/dev/null || echo "$(newsboat -x print-unread | awk '{ print "📰 " $1}' | sed s/^0$//g)$(cat ~/.config/newsboat/.update 2>/dev/null)"
|
||||
|
||||
@ -1,10 +1,21 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
# i3blocks module for pacman upgrades.
|
||||
# Displays number of upgradeable packages.
|
||||
# For this to work, have a `pacman -Sy` command run in the background as a
|
||||
# cronjob every so often as root. This script will then read those packages.
|
||||
# When clicked, it will run an upgrade via pacman.
|
||||
#
|
||||
# Add the following text as a file in /usr/share/libalpm/hooks/statusbar.hook:
|
||||
#
|
||||
# [Trigger]
|
||||
# Operation = Upgrade
|
||||
# Type = Package
|
||||
# Target = *
|
||||
#
|
||||
# [Action]
|
||||
# Description = Updating statusbar...
|
||||
# When = PostTransaction
|
||||
# Exec = /usr/bin/pkill -RTMIN+8 dwmblocks
|
||||
|
||||
case $BLOCK_BUTTON in
|
||||
1) $TERMINAL -e popupgrade ;;
|
||||
@ -14,5 +25,4 @@ case $BLOCK_BUTTON in
|
||||
- Middle click to show upgradable packages" ;;
|
||||
esac
|
||||
|
||||
|
||||
pacman -Qu | grep -v "\[ignored\]" | wc -l | sed -e "s/^0$//g"
|
||||
pacman -Qu | grep -v "\[ignored\]" | wc -l | sed "s/^/📦/;s/^📦0$//g"
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
printf "Beginning upgrade.\\n"
|
||||
|
||||
|
||||
33
.local/bin/statusbar/statusbarinfo
Executable file
33
.local/bin/statusbar/statusbarinfo
Executable file
@ -0,0 +1,33 @@
|
||||
#!/bin/sh
|
||||
|
||||
echo "
|
||||
____ _ _ _
|
||||
/ ___|| |_ __ _| |_ _ _ ___| |__ __ _ _ __
|
||||
\___ \| __/ _\` | __| | | / __| '_ \ / _\` | '__|
|
||||
___) | || (_| | |_| |_| \__ \ |_) | (_| | |
|
||||
|____/ \__\__,_|\__|\__,_|___/_.__/ \__,_|_|
|
||||
|
||||
This is a list of the statusbar modules.
|
||||
|
||||
📦5 pacpackages: updatable packages (must have pacman -Sy run in root cronjob to check).
|
||||
📰 41 news: unread RSS entries in newsboat.
|
||||
☔ 83% ❄️ 69° 🌞 80° weather: ☔ for precipitation, 🌞 and ❄ for daily high and low.
|
||||
📬 20 mailbox: number of unread mail if mutt-wizard is active.
|
||||
🔉 62% volume: master sink volume.
|
||||
🔌83% battery: 🔌 for charging, 🔋 for discharging, ⚡ for full.
|
||||
📶 80% ❎ internet: 📶 for wifi with % (📡 if none), 🌐 for ethernet. (❎ if none).
|
||||
|
||||
Obviously the time and date are displayed as well.
|
||||
|
||||
Optional script modules:
|
||||
|
||||
Edit ~/.local/src/dwmblocks/config.h to add these or your own if you'd like (and recompile and restart dwmblocks).
|
||||
|
||||
'memory' 🧠 559Mi/3.7Gi Current used memory/total memory.
|
||||
'cpu' 🌡 +46.0°C CPU temperature.
|
||||
'disk' 🖥 : 28G/30G Remaining disk space...
|
||||
'disk ~' 🏠: 641G/850G ...can be given directory argument.
|
||||
'moonphase' 🌕 39% Phase of the moon (requires \`pom-perl\`).
|
||||
'iplocate' 🇺🇸 United States Your own or VPN location (requires \`geoiplookup\`).
|
||||
|
||||
" | less
|
||||
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
transmission-remote -l | grep % |
|
||||
sed " # This first sed command is to ensure a desirable order with sort
|
||||
@ -14,7 +14,7 @@ transmission-remote -l | grep % |
|
||||
s/L/🔼/g;
|
||||
s/M/🔽/g;
|
||||
s/N/✅/g;
|
||||
s/Z/🌱/g" | awk '{print $2, $1}' | sed -e "s/ $//g"
|
||||
s/Z/🌱/g" | awk '{print $2, $1}' | sed -e "s/ $//g" | tr '\n' ' '
|
||||
|
||||
case $BLOCK_BUTTON in
|
||||
1) $TERMINAL -e transmission-remote-cli ;;
|
||||
@ -25,4 +25,3 @@ case $BLOCK_BUTTON in
|
||||
✅: done
|
||||
🌱: done and seeding" ;;
|
||||
esac
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
case $BLOCK_BUTTON in
|
||||
1) setsid "$TERMINAL" -e alsamixer & ;;
|
||||
@ -14,7 +14,7 @@ volstat="$(amixer get Master)"
|
||||
|
||||
echo "$volstat" | grep "\[off\]" >/dev/null && printf "🔇\\n" && exit
|
||||
|
||||
vol=$(echo "$volstat" | grep -o "\[[0-9]\+%\]" | sed 's/[^0-9]*//g')
|
||||
vol=$(echo "$volstat" | grep -o "\[[0-9]\+%\]" | sed "s/[^0-9]*//g;1q")
|
||||
|
||||
if [ "$vol" -gt "70" ]; then
|
||||
icon="🔊"
|
||||
|
||||
@ -1,14 +1,13 @@
|
||||
#!/usr/bin/env sh
|
||||
location="$1"; [ -z "$location" ] || { location="$location+" && rm -f "$HOME/.local/share/weatherreport" ;}
|
||||
#!/bin/sh
|
||||
|
||||
getforecast() { ping -q -c 1 1.1.1.1 >/dev/null || exit 1
|
||||
curl -s "wttr.in/$location" > "$HOME/.local/share/weatherreport" || exit 1 ;}
|
||||
curl -sf "wttr.in/$LOCATION" > "$HOME/.local/share/weatherreport" || exit 1 ;}
|
||||
|
||||
showweather() { printf "%s" "$(sed '16q;d' "$HOME/.local/share/weatherreport" | grep -wo "[0-9]*%" | sort -n | sed -e '$!d' | sed -e "s/^/☔ /g" | tr -d '\n')"
|
||||
sed '13q;d' "$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 "°"}' ;}
|
||||
sed '13q;d' "$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) $TERMINAL -e less -S "$HOME/.local/share/weatherreport" ;;
|
||||
1) $TERMINAL -e less -Srf "$HOME/.local/share/weatherreport" ;;
|
||||
2) getforecast && showweather ;;
|
||||
3) pgrep -x dunst >/dev/null && notify-send "🌈 Weather module" "\- Left click for full forecast.
|
||||
- Middle click to update forecast.
|
||||
@ -17,7 +16,7 @@ case $BLOCK_BUTTON in
|
||||
🌞: Daily high" ;;
|
||||
esac
|
||||
|
||||
if [ "$(stat -c %y "$HOME/.local/share/weatherreport" >/dev/null 2>&1 | awk '{print $1}')" != "$(date '+%Y-%m-%d')" ]
|
||||
if [ "$(stat -c %y "$HOME/.local/share/weatherreport" 2>/dev/null | awk '{print $1}')" != "$(date '+%Y-%m-%d')" ]
|
||||
then getforecast && showweather
|
||||
else showweather
|
||||
fi
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
# If transmission-daemon is running, will ask to kill, else will ask to start.
|
||||
if pgrep -x transmission-da >/dev/null ;
|
||||
then
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
# Clears the build files of a LaTeX/XeLaTeX build.
|
||||
# I have vim run this file whenever I exit a .tex file.
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
#!/usr/bin/env sh
|
||||
ifinstalled transmission-remote-cli transmission-cli || exit
|
||||
#!/bin/sh
|
||||
|
||||
ifinstalled tremc transmission-cli || exit
|
||||
|
||||
! pgrep -x transmission-da >/dev/null && transmission-daemon && notify-send "Starting torrent daemon..." && sleep 3 && pkill -RTMIN+7 "${STATUSBAR:?}"
|
||||
|
||||
$TERMINAL -e transmission-remote-cli
|
||||
$TERMINAL -e tremc
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
# Mimeapp script for adding torrent to transmission-daemon, but will also start the daemon first if not running.
|
||||
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
vidlist="
|
||||
status bar https://www.youtube.com/watch?v=gKumet6b-WY
|
||||
sxiv (image viewer) https://www.youtube.com/watch?v=GYW9i_u5PYs
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
#original artwork by http://www.sanderfocus.nl/#/portfolio/tech-heroes
|
||||
#converted to shell by #nixers @ irc.unix.chat
|
||||
|
||||
@ -22,4 +23,4 @@ cat << 'eof'
|
||||
[38;5;118m/ [38;5;20m/ [38;5;240m%[38;5;20m%%%%[38;5;240m%;, [38;5;255m\[38;5;240m%[38;5;20m%[38;5;255ml[38;5;240m%%;// _/[38;5;20m%;,[0m [38;5;234mdmr[0m
|
||||
[38;5;20m/ [38;5;240m%[38;5;20m%%;,[0m [38;5;255m<[38;5;20m;[38;5;240m\-=-/ /[0m
|
||||
[38;5;20m;,[0m [38;5;240ml[0m
|
||||
eof
|
||||
eof
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
[ -z "$FIFO_UEBERZUG" ] && exit
|
||||
|
||||
readonly ID_PREVIEW="preview"
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
# This is a wrapper for vifm to allow ueberzug images.
|
||||
|
||||
|
||||
4
.local/share/applications/file.desktop
Normal file
4
.local/share/applications/file.desktop
Normal file
@ -0,0 +1,4 @@
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=File Manager
|
||||
Exec=/usr/local/bin/st -e lf %u
|
||||
@ -8,7 +8,7 @@
|
||||
.DOCTYPE DEFAULT
|
||||
.COPYSTYLE FINAL
|
||||
.PRINTSTYLE TYPESET
|
||||
.PT_SIZE 10
|
||||
.PT_SIZE 12
|
||||
.START
|
||||
Use vim keys (\f(CWh/j/k/l\fP) to navigate this document.
|
||||
Pressing \f(CWs\fP will fit it to window width (\f(CWa\fP to revert).
|
||||
@ -16,7 +16,7 @@ Pressing \f(CWs\fP will fit it to window width (\f(CWa\fP to revert).
|
||||
\f(CWSuper+f\fP to toggle fullscreen.
|
||||
\f(CWf\fP will highlight links to follow which are selectable by typing the number that appears plus \f(CWEnter\fP.
|
||||
\f(CWq\fP to quit.
|
||||
(These are general shortcuts of \f(CWzathura\fP, the pdf reader.)
|
||||
(These are general binds set for \fBzathura\fP, the pdf reader.)
|
||||
.LI
|
||||
.ITEM
|
||||
\f(CWMod+F1\fP will show this document at any time.
|
||||
@ -24,20 +24,6 @@ Pressing \f(CWs\fP will fit it to window width (\f(CWa\fP to revert).
|
||||
By \f(CWMod\fP I mean the Super Key, usually known as "the Windows Key."
|
||||
.LIST OFF
|
||||
.PP
|
||||
Questions or suggestions? Email me at
|
||||
.PDF_WWW_LINK "mailto:luke@lukesmith.xyz" "luke@lukesmith.xyz"
|
||||
.LI
|
||||
.ITEM
|
||||
LARBS website:
|
||||
.PDF_WWW_LINK "https://larbs.xyz"
|
||||
.ITEM
|
||||
My website:
|
||||
.PDF_WWW_LINK "https://lukesmith.xyz"
|
||||
.ITEM
|
||||
Donate:
|
||||
.PDF_WWW_LINK "https://lukesmith.xyz/donate" "https://lukesmith.xyz/donate"
|
||||
(It makes a difference!)
|
||||
.LIST OFF
|
||||
FAQs are at the end of this document.
|
||||
.HEADING 1 "Welcome!"
|
||||
.HEADING 2 "Basic goals and principles of this system:"
|
||||
@ -71,7 +57,8 @@ but you can also hold it down and it will act as another Windows/super/mod key.
|
||||
The menu button (usually between the right Alt and Ctrl) is an alternative Super/Mod button.
|
||||
This is to make one-handing on laptops easier.
|
||||
.LIST OFF
|
||||
If you'd like to change any of these keyboard changes, you need only open and change \f(CW~/.xprofile\fP.
|
||||
If you'd like to change any of these keyboard changes, you need only open and change the \f(CWremaps\fP script.
|
||||
All custom scripts in LARBS are located in \f(CW~/.local/bin/\fP.
|
||||
Actually, this should go without saying, but \fIeverything\fP here can easily be changed.
|
||||
Below in this document, there is information about where to change programs/components.
|
||||
.PP
|
||||
@ -80,23 +67,18 @@ If you want to learn more of this, run \f(CWMod+Shift+E\fP and type and select t
|
||||
This setting can be changed if you don't like it by deleting or commenting out the contents of \f(CW~/.config/inputrc\fP.
|
||||
.HEADING 2 "The Status Bar"
|
||||
.PP
|
||||
If you're new to dwm, notice the status bar on the top of the screen.
|
||||
To the left side, you'll see the numbers of your current workspace/tag(s).
|
||||
On the right side, you'll see various system status notifiers, the date, volume, even music and local weather if possible, etc.
|
||||
To the left, you'll see the numbers of your current workspace/tag(s).
|
||||
On the right, you'll see various system status notifiers, the date, volume, even music and local weather if possible, etc.
|
||||
Each module on the right of the status bar is a script located in \f(CW~/.local/bin/statusbar/\fP.
|
||||
You can see what they do and modify them from there.
|
||||
I'm sure you can figure it out.
|
||||
The script that sets the bar is \f(CW~/.local/bin/dwmbar\fP.
|
||||
You can read the specifics there or change it if you want.
|
||||
If you edit and save changes to that file in vim, vim will automatically kill and update it.
|
||||
.PP
|
||||
In i3, the program i3blocks controls what modules appear in the statusbar; its config file is in \f(CW~/.config/i3blocks/config\fP.
|
||||
.HEADING 2 "Deeper Tutorials"
|
||||
.PP
|
||||
Press \f(CWmod+shift+e\fP at any time to get a menu of programs to watch videos about streaming directly from YouTube.
|
||||
You can also check the config files for programs which detail a lot of the specific bindings.
|
||||
.HEADING 1 "Key Bindings"
|
||||
.PP
|
||||
First, the key bindings.
|
||||
Key bindings are stored in two places.
|
||||
The file \f(CW~/.config/sxhkd/sxhkdrc\fP contains most of them, which you can see and edit there if you like.
|
||||
dwm-specific binds are compiled into dwm itself, but can be found in \f(CW~/repos/dwm/config.h\fP. You'll have to recompile dwm to change them.
|
||||
.HEADING 2 "Window basics"
|
||||
.PP
|
||||
Notice the case sensitivity of the shortcuts\c
|
||||
@ -108,9 +90,7 @@ To type capital letters, hold down the \f(CWShift\fP key\(emthat might sound lik
|
||||
.ITEM
|
||||
\f(CWMod+Enter\fP \(en Spawn terminal (the default terminal is \f(CWst\fP; run \f(CWman st\fP for more.)
|
||||
.ITEM
|
||||
\f(CWMod+q\fP \(en Close window
|
||||
.ITEM
|
||||
\f(CWMod+Q\fP \(en Force close window
|
||||
\f(CWMod+q\fP \(en Close window (Hold down shift to force kill.)
|
||||
.ITEM
|
||||
\f(CWMod+d\fP \(en dmenu (For running commands or programs without shortcuts)
|
||||
.ITEM
|
||||
@ -139,19 +119,6 @@ To type capital letters, hold down the \f(CWShift\fP key\(emthat might sound lik
|
||||
.ITEM
|
||||
\f(CWMod+N\fP \(en Same as above, but for the bottom right corner.
|
||||
.LIST OFF
|
||||
.HEADING 2 "Window layouts"
|
||||
.LI
|
||||
.ITEM
|
||||
\f(CWMod+t\fP \(en Tiling mode (active by default)
|
||||
.ITEM
|
||||
\f(CWMod+f\fP \(en Monocle mode (cycle through windows fullscreen)
|
||||
.ITEM
|
||||
\f(CWMod+y\fP \(en Fibbonacci mode (similar to tiling mode)
|
||||
.ITEM
|
||||
\f(CWMod+u\fP \(en Center the master window
|
||||
.ITEM
|
||||
\f(CWMod+o\fP \(en Center and float the master window
|
||||
.LIST OFF
|
||||
.HEADING 2 "Basic Programs"
|
||||
.PP
|
||||
\fINote:\fP LARBS will install nearly all of these programs by default, but some only come if you chose an extra option.
|
||||
@ -160,23 +127,23 @@ Naturally, you can use \f(CWyay\fP to look for and install any you want to add.
|
||||
.ITEM
|
||||
\f(CWMod+r\fP \(en lf (file browser/manager)
|
||||
.ITEM
|
||||
\f(CWMod+e\fP \(en mutt (email; not installed by default, see below)
|
||||
\f(CWMod+e\fP \(en neomutt (email) \(en Must be first configured by running \f(CWmw add\fP.
|
||||
.ITEM
|
||||
\f(CWMod+m\fP \(en ncmpcpp (music player)
|
||||
.ITEM
|
||||
\f(CWMod+w\fP \(en nmtui (for connecting to wireless internet)
|
||||
.ITEM
|
||||
\f(CWMod+a\fP \(en Dropdown calculator (hide with \f(CWmod+a\fP)
|
||||
.ITEM
|
||||
\f(CWMod+a\fP \(en htop (system info)
|
||||
\f(CWMod+i\fP \(en htop (system info)
|
||||
.ITEM
|
||||
\f(CWMod+n\fP \(en newsboat (RSS feed reader)
|
||||
.ITEM
|
||||
\f(CWMod+A\fP \(en alsa (audio system control)
|
||||
.ITEM
|
||||
\f(CWMod+W\fP \(en Web Browser (Brave)
|
||||
\f(CWMod+w\fP \(en Web Browser (Brave)
|
||||
.ITEM
|
||||
\f(CWMod+G\fP \(en GIMP (for general image manipulation)
|
||||
\f(CWMod+W\fP \(en nmtui (for connecting to wireless internet)
|
||||
.ITEM
|
||||
\f(CWMod+G\fP \(en GIMP (for general image manipulation) \(en Not installed by default.
|
||||
.LIST OFF
|
||||
.HEADING 2 "System"
|
||||
.LI
|
||||
@ -187,13 +154,13 @@ Naturally, you can use \f(CWyay\fP to look for and install any you want to add.
|
||||
.ITEM
|
||||
\f(CWMod+Shift+Backspace\fP \(en reboot (will ask to confirm)
|
||||
.ITEM
|
||||
\f(CWMod+Shift+Escape\fP \(en exit the graphical environment (will ask to confirm)
|
||||
\f(CWMod+Shift+Escape\fP \(en log out of the graphical environment (will ask to confirm)
|
||||
.ITEM
|
||||
\f(CWMod+F1\fP \(en Shows this document
|
||||
.ITEM
|
||||
\f(CWMod+Shift+F1\fP \(en Toggle the LARBS welcome message
|
||||
.ITEM
|
||||
\f(CWMod+F2\fP \(en Refresh dwm
|
||||
\f(CWMod+F2\fP \(en Refresh/reload i3
|
||||
.ITEM
|
||||
\f(CWMod+F3\fP \(en Select screen/display to use
|
||||
.ITEM
|
||||
@ -244,16 +211,16 @@ I use ncmpcpp as a music player, which is a front end for mpd.
|
||||
.ITEM
|
||||
\f(CWMod+A\fP \(en alsamixer (general volume sink/source control)
|
||||
.LIST OFF
|
||||
.HEADING 2 "Tags/Workspaces"
|
||||
.HEADING 2 "Workspaces"
|
||||
.PP
|
||||
There are nine tags, active tags are highlighted in the top left.
|
||||
There are ten workspaces, active workspaces are highlighted in the top left.
|
||||
.LI
|
||||
.ITEM
|
||||
\f(CWMod+(Number)\fP \(en Go to that number tag
|
||||
\f(CWMod+(Number)\fP \(en Go to that number workspace
|
||||
.ITEM
|
||||
\f(CWMod+Shift+(Number)\fP \(en Send window to that tag
|
||||
\f(CWMod+Shift+(Number)\fP \(en Send window to that workspace
|
||||
.ITEM
|
||||
\f(CWMod+Tab\fP \(en Go to previous tag
|
||||
\f(CWMod+Tab\fP \(en Go to previous workspace (may also use \f(CW\\\fP for Tab)
|
||||
.ITEM
|
||||
\f(CWMod+g\fP \(en Go to left workspace
|
||||
.ITEM
|
||||
@ -274,9 +241,9 @@ previous recordings as their names are based on their exact times.
|
||||
.ITEM
|
||||
\f(CWMod+Delete\fP \(en Kills any recording started in the above way.
|
||||
.ITEM
|
||||
\f(CWMod+ScrollLock\fP \(en Turn on and off screenkey (if installed) for visual typing display
|
||||
.ITEM
|
||||
\f(CWMod+Shift+c\fP \(en Toggles a webcam in the bottom right for screencasting.
|
||||
.ITEM
|
||||
\f(CWMod+ScrollLock\fP \(en Toggle screenkey (if installed) to show keypresses
|
||||
.LIST OFF
|
||||
.HEADING 2 "Other buttons"
|
||||
.PP
|
||||
@ -285,17 +252,11 @@ buttons, screen brightness, email, web browsing buttons, etc.) to what you
|
||||
would expect.
|
||||
.HEADING 1 "Configuration"
|
||||
.PP
|
||||
Here's a brief reference as to what program does what and where you can modify them.
|
||||
Some of the programs marked as "suckless" programs must be recompiled after being reconfigured.
|
||||
That means you should go to their directory in \f(CW~/repos/\fP and run \f(CWmake && sudo make install\fP after making changes.
|
||||
.LI
|
||||
.ITEM
|
||||
dwm: the window manager itself \(en \f(CW~/repos/dwm/\fP (suckless)
|
||||
.ITEM
|
||||
sxhkd: key bindings \(en \f(CW~/.config/sxhkd/sxhkdrc\fP, while some dwm-related commands are configured in dwm, the rest, most of them, are set by sxhkd.
|
||||
.ITEM
|
||||
lf: the file manager, \f(CW~/.config/lfrc\fP for the main config, \f(CW~/.config/scope\fP for file previews.
|
||||
.LIST OFF
|
||||
Dotfiles/settings files are located in \f(CW~/.config/\fP, note that dotfiles to programs not included in LARBS are there as well by requests of users. I do not necessarily maintain all these dotfiles, but they remain as legacy.
|
||||
.PP
|
||||
Suckless programs, st (the terminal) and dmenu among others do not have traditional config files, but have their source code location in \f(CW~/.local/src/\fP.
|
||||
There you can modify their \f(CWconfig.h\fP files, then \f(CWsudo make install\fP to reinstall.
|
||||
(You'll have to restart the program to see its effects obviously.)
|
||||
.HEADING 1 "Frequently Asked Questions (FAQs)"
|
||||
.HEADING 2 "My keyboard isn't working as expected!"
|
||||
.PP
|
||||
@ -305,7 +266,7 @@ These settings may override your preferred settings, so you should open this fil
|
||||
.PP
|
||||
On fresh install, the Linux audio system (ALSA) often mutes outputs.
|
||||
You may want to unbind
|
||||
You may also need to set your preferred default output sink which you can do by the command line, or by selecting one with \f(CWpulsemixer\fP (\f(CWmod+A\fP).
|
||||
You may also need to set your preferred default output sink which you can do by the command line, or by selecting one with \f(CWalsamixer\fP (\f(CWmod+A\fP).
|
||||
|
||||
If you have a more complex audio setup and can't be bothered to figure out ALSA, you might want to install and enable PulseAudio, which general "just werks".
|
||||
.HEADING 2 "How do I copy and paste?"
|
||||
@ -314,7 +275,7 @@ Copying and pasting is always program-specific on any system.
|
||||
In most graphical programs, copy and paste will be the same as they are on Windows: \f(CWctrl-c\fP and \f(CWctrl-v\fP.
|
||||
In the Linux terminal, those binds have other more important purposes, so you can run \f(CWman st\fP to see how to copy and paste in my terminal build.
|
||||
.PP
|
||||
Additionally, I've set vim to use the clipboard as the default buffer, which means when you copy or delete something in vim, it will be in your system clipboard as well, so you can \f(CWctrl-v\fP it into your Firefox instance, etc. You can also paste material copied from other programs into vim with the typical vim bindings.
|
||||
Additionally, I've set vim to use the clipboard as the default buffer, which means when you copy or delete something in vim, it will be in your system clipboard as well, so you can \f(CWctrl-v\fP it into your browser instance, etc. You can also paste material copied from other programs into vim with the typical vim bindings.
|
||||
.HEADING 2 "How do I change the background/wallpaper?"
|
||||
.PP
|
||||
The system will always read the file \f(CW~/.config/wall.png\fP as the wallpaper.
|
||||
|
||||
10
.profile
10
.profile
@ -12,13 +12,17 @@ export EDITOR="nvim"
|
||||
export TERMINAL="st"
|
||||
export BROWSER="brave"
|
||||
export READER="zathura"
|
||||
export FILE="ranger"
|
||||
export STATUSBAR="${LARBSWM}blocks"
|
||||
|
||||
# Export XDG environmental variables from '~/.config/user-dirs.dirs'
|
||||
eval "$(sed 's/^[^#].*/export &/g;t;d' ~/.config/user-dirs.dirs)"
|
||||
|
||||
# ~/ Clean-up:
|
||||
#export XAUTHORITY="$XDG_RUNTIME_DIR/Xauthority" # This line will break some DMs.
|
||||
export NOTMUCH_CONFIG="$HOME/.config/notmuch-config"
|
||||
export GTK2_RC_FILES="$HOME/.config/gtk-2.0/gtkrc-2.0"
|
||||
export LESSHISTFILE="-"
|
||||
export WGETRC="$HOME/.config/wget/wgetrc"
|
||||
export INPUTRC="$HOME/.config/inputrc"
|
||||
export ZDOTDIR="$HOME/.config/zsh"
|
||||
export PASSWORD_STORE_DIR="$HOME/.local/share/password-store"
|
||||
@ -36,8 +40,6 @@ export LESS_TERMCAP_se="$(printf '%b' '[0m')"
|
||||
export LESS_TERMCAP_us="$(printf '%b' '[1;32m')"
|
||||
export LESS_TERMCAP_ue="$(printf '%b' '[0m')"
|
||||
|
||||
mpd >/dev/null 2>&1 &
|
||||
|
||||
[ ! -f ~/.config/shortcutrc ] && shortcuts >/dev/null 2>&1
|
||||
|
||||
# Start graphical server on tty1 if not already running.
|
||||
@ -45,5 +47,3 @@ mpd >/dev/null 2>&1 &
|
||||
|
||||
# Switch escape and caps if tty and no passwd required:
|
||||
sudo -n loadkeys ~/.local/share/larbs/ttymaps.kmap 2>/dev/null
|
||||
|
||||
export LF_ICONS="di=:fi=:ln=:or=:ex=:*.c=:*.cc=:*.clj=:*.coffee=:*.cpp=:*.css=:*.d=:*.dart=:*.erl=:*.exs=:*.fs=:*.go=:*.h=:*.hh=:*.hpp=:*.hs=:*.html=:*.java=:*.jl=:*.js=:*.json=:*.lua=:*.md=:*.php=:*.pl=:*.pro=:*.py=:*.rb=:*.rs=:*.scala=:*.ts=:*.vim=:*.cmd=:*.ps1=:*.sh=:*.bash=:*.zsh=:*.fish=:*.tar=:*.tgz=:*.arc=:*.arj=:*.taz=:*.lha=:*.lz4=:*.lzh=:*.lzma=:*.tlz=:*.txz=:*.tzo=:*.t7z=:*.zip=:*.z=:*.dz=:*.gz=:*.lrz=:*.lz=:*.lzo=:*.xz=:*.zst=:*.tzst=:*.bz2=:*.bz=:*.tbz=:*.tbz2=:*.tz=:*.deb=:*.rpm=:*.jar=:*.war=:*.ear=:*.sar=:*.rar=:*.alz=:*.ace=:*.zoo=:*.cpio=:*.7z=:*.rz=:*.cab=:*.wim=:*.swm=:*.dwm=:*.esd=:*.jpg=:*.jpeg=:*.mjpg=:*.mjpeg=:*.gif=:*.bmp=:*.pbm=:*.pgm=:*.ppm=:*.tga=:*.xbm=:*.xpm=:*.tif=:*.tiff=:*.png=:*.svg=:*.svgz=:*.mng=:*.pcx=:*.mov=:*.mpg=:*.mpeg=:*.m2v=:*.mkv=:*.webm=:*.ogm=:*.mp4=:*.m4v=:*.mp4v=:*.vob=:*.qt=:*.nuv=:*.wmv=:*.asf=:*.rm=:*.rmvb=:*.flc=:*.avi=:*.fli=:*.flv=:*.gl=:*.dl=:*.xcf=:*.xwd=:*.yuv=:*.cgm=:*.emf=:*.ogv=:*.ogx=:*.aac=:*.au=:*.flac=:*.m4a=:*.mid=:*.midi=:*.mka=:*.mp3=:*.mpc=:*.ogg=:*.ra=:*.wav=:*.oga=:*.opus=:*.spx=:*.xspf=:*.pdf="
|
||||
|
||||
@ -37,6 +37,7 @@ bind-key -n C-left prev
|
||||
bind-key -n C-right next
|
||||
bind-key -n C-down next
|
||||
set-window-option -g window-status-current-style bg=red
|
||||
bind C-c new-window
|
||||
bind C-j previous-window
|
||||
bind C-k next-window
|
||||
#bind-key C-a last-window # C-a C-a for last active window
|
||||
|
||||
2
.xinitrc
2
.xinitrc
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
# xinitrc runs automatically when you run startx.
|
||||
|
||||
|
||||
74
.xprofile
74
.xprofile
@ -1,15 +1,81 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
# 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.
|
||||
|
||||
# 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 ~/.config/Xresources & # Uncomment to use Xresources colors/settings on startup
|
||||
xcompmgr & # xcompmgr for transparency
|
||||
$STATUSBAR & # script for updating the status bar
|
||||
$STATUSBAR & # start the statusbar
|
||||
dunst & # dunst for notifications
|
||||
sxhkd -m 1 & # Bind keys with sxhkd
|
||||
xset r rate 300 50 & # Speed xrate up
|
||||
unclutter & # Remove mouse when idle
|
||||
mpd-module-update & # Check for when to update the mpd module
|
||||
notify-send -i /home/luke/.local/share/larbs/larbs.png "Welcome to LARBS" "Press super+F1 for the help menu." # LARBSWELCOME
|
||||
|
||||
# This is the list for lf icons:
|
||||
export LF_ICONS="di=📁:\
|
||||
fi=📃:\
|
||||
tw=🤝:\
|
||||
ow=📂:\
|
||||
ln=⛓:\
|
||||
or=❌:\
|
||||
ex=🎯:\
|
||||
*.txt=✍:\
|
||||
*.mom=✍:\
|
||||
*.me=✍:\
|
||||
*.ms=✍:\
|
||||
*.png=🖼:\
|
||||
*.ico=🖼:\
|
||||
*.jpg=📸:\
|
||||
*.jpeg=📸:\
|
||||
*.gif=🖼:\
|
||||
*.svg=🗺:\
|
||||
*.xcf=🖌:\
|
||||
*.html=🌎:\
|
||||
*.xml=📰:\
|
||||
*.gpg=🔒:\
|
||||
*.css=🎨:\
|
||||
*.pdf=📚:\
|
||||
*.djvu=📚:\
|
||||
*.epub=📚:\
|
||||
*.csv=📓:\
|
||||
*.xlsx=📓:\
|
||||
*.tex=📜:\
|
||||
*.md=📘:\
|
||||
*.r=📊:\
|
||||
*.R=📊:\
|
||||
*.rmd=📊:\
|
||||
*.Rmd=📊:\
|
||||
*.mp3=🎵:\
|
||||
*.opus=🎵:\
|
||||
*.ogg=🎵:\
|
||||
*.m4a=🎵:\
|
||||
*.flac=🎼:\
|
||||
*.mkv=🎥:\
|
||||
*.mp4=🎥:\
|
||||
*.webm=🎥:\
|
||||
*.mpeg=🎥:\
|
||||
*.zip=📦:\
|
||||
*.rar=📦:\
|
||||
*.7z=📦:\
|
||||
*.tar.gz=📦:\
|
||||
*.z64=🎮:\
|
||||
*.v64=🎮:\
|
||||
*.n64=🎮:\
|
||||
*.1=ℹ:\
|
||||
*.nfo=ℹ:\
|
||||
*.info=ℹ:\
|
||||
*.log=📙:\
|
||||
*.iso=📀:\
|
||||
*.img=📀:\
|
||||
*.bib=🎓:\
|
||||
*.ged=👪:\
|
||||
*.part=💔:\
|
||||
*.torrent=🔽:\
|
||||
"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user