Update muh dotfiles

This commit is contained in:
foo-dogsquared 2020-05-21 23:16:15 +08:00
parent a2ecc9e0a9
commit cb8a0128e2
26 changed files with 494 additions and 430 deletions

View File

@ -80,8 +80,9 @@ scrolling:
# Font configuration (changes require restart) # Font configuration (changes require restart)
font: font:
# Normal (roman) font face
normal: normal:
family: monospace
family: Source Code Pro
family: Fira Code family: Fira Code
family: Iosevka family: Iosevka
#normal: #normal:

View File

@ -1,17 +1,21 @@
buku 4.3-1 android-studio
doom1-wad 1.9-2 buku
ffcast 1:2.5.0-1 doom1-wad
freedoom 0.12.1-2 ffcast
gzdoom 4.3.3-2 freedoom
lf-bin 14-2 gzdoom
otf-stix 2.0.2-1 lf-bin
pipes.sh 1.3.0-1 nix
polybar 3.4.2-2 otf-stix
screenkey 0.9-4 pipes.sh
tdrop-git 0.3.0.r9.geb09fc2-1 polybar
ttf-computer-modern-fonts 1-3 python2-scour
ttf-iosevka 2.3.3-1 screenkey
wpgtk-git r783.2e009c3-1 tabbed
xorg-server-xdmx 1.20.6-1 tdrop-git
xurls 2.2.0-1 ttf-computer-modern-fonts
yay 9.4.6-2 ttf-iosevka
wpgtk-git
xorg-server-xdmx
xurls
yay

0
bin/askpass Normal file → Executable file
View File

2
bin/choose-emoji-menu Normal file → Executable file
View File

@ -12,7 +12,7 @@
emoji_file="$HOME/.local/share/emoji-test.txt" emoji_file="$HOME/.local/share/emoji-test.txt"
selection=$(awk 'match($0, /([0-9A-F ]+)\s+; fully-qualified\s+# (\S+) E[[:digit:]]+.[[:digit:]]+ (.+)$/, a){print a[2], a[3]}' "$emoji_file" \ selection=$(awk 'match($0, /([0-9A-F ]+)\s+; fully-qualified\s+# (\S+) E[[:digit:]]+.[[:digit:]]+ (.+)$/, a){print a[2], a[3]}' "$emoji_file" \
| rofi -dmenu -p "Choose an emoji to copy." \ | rofi -dmenu -i -fuzzy -p "Choose an emoji to copy." \
| awk '{print $1}') | awk '{print $1}')
if [ -n "$selection" ]; then if [ -n "$selection" ]; then

2
bin/choose-manual-menu Normal file → Executable file
View File

@ -17,6 +17,6 @@
set -o pipefail set -o pipefail
man -k . | rofi -dmenu -p 'Choose a manual' -theme fds-mini-sidebar | awk '{print $1}' | xargs --no-run-if-empty $TERMINAL --command man man -k . | rofi -dmenu -p 'Choose a manual' -theme fds-mini-sidebar -width 60 | awk '{print $1}' | xargs --no-run-if-empty $TERMINAL --command man

18
bin/colorpicker Executable file
View File

@ -0,0 +1,18 @@
#!/usr/bin/env sh
# Selects the region, echoes the hex string (in RGBA format) of the average color of the region.
# Depedencies:
# * maim v5.6.3
# * ImageMagick 7.0.10
# It's a small script and the main code is a chain of commands so a pipeline fail is appropriate here.
set -o pipefail
# Make some form of user feedback.
notify-send "Select a region for color picking."
# The color picker code.
# Take note it uses a slop shader named `crosshair` from the shader examples of the official repo at https://github.com/naelstrof/slop.
maim --select --shader crosshair --tolerance 0 --hidecursor | magick convert - -resize 1x1\! -format '#%[hex:p{0,0}]' info:-

0
bin/commit-pkglist Normal file → Executable file
View File

0
bin/export-wal-theme Normal file → Executable file
View File

0
bin/extract Normal file → Executable file
View File

4
bin/install-wal-theme Normal file → Executable file
View File

@ -6,7 +6,7 @@
readonly cache=${XDG_CACHE_HOME:-"$HOME/.cache"} readonly cache=${XDG_CACHE_HOME:-"$HOME/.cache"}
readonly config=${XDG_CONFIG_HOME:-"$HOME/.config"} readonly config=${XDG_CONFIG_HOME:-"$HOME/.config"}
readonly pywal_cache=$cache/wal readonly pywal_cache=${PYWAL_CACHE_DIR:-"$cache/wal"}
# Copying the Pywal color scheme JSON into the theme list. # Copying the Pywal color scheme JSON into the theme list.
# This file suffix removal is based on the linked code: # This file suffix removal is based on the linked code:
@ -23,7 +23,7 @@ cp "$pywal_cache/fds-center-menu.rasi" "$XDG_CONFIG_HOME/rofi"
cp "$pywal_cache/dmenu.rasi" "$XDG_CONFIG_HOME/rofi" cp "$pywal_cache/dmenu.rasi" "$XDG_CONFIG_HOME/rofi"
# Copying bspwm config and reloading it. # Copying bspwm config and reloading it.
cp "$pywal_cache/bspwmrc" "$XDG_CONFIG_HOME/bspwm" && bspc wm -r cp "$pywal_cache/bspwmrc" "$XDG_CONFIG_HOME/bspwm" && bspc wm --restart
# Reloading polybar. # Reloading polybar.
pkill -USR1 polybar pkill -USR1 polybar

2
bin/ocr Normal file → Executable file
View File

@ -15,5 +15,5 @@
set -o pipefail set -o pipefail
notify-send "Select a region for the OCR" notify-send "Select a region for the OCR"
maim -s | tesseract - stdout | xclip -in -selection clipboard && notify-send "Image content has been copied on the clipboard." maim -s | tesseract - stdout

16
bin/parse-barcodes Executable file
View File

@ -0,0 +1,16 @@
#!/usr/bin/env sh
# Parse various code from image selection with zbarimg and maim.
# Depedencies:
# * maim v5.6.3
# * zbarimg v0.23.1
# * GNU awk v5.1.0
# * perl v5.30.2
# This is a small script so pipeline fails can be accepted here.
set -o pipefail
notify-send "Select a region for the barcode (QR codes, ISBN, bar codes)"
maim -s | zbarimg - --quiet | perl -pe 's|(.+?):||'

32
bin/rofi-screenshot-menu Normal file → Executable file
View File

@ -214,14 +214,14 @@ record_screen_to_mkv() {
###################### ######################
get_options() { get_options() {
echo "Capture Region Clip" echo "Capture Region --> Clip"
echo "Capture Region File" echo "Capture Region --> File"
echo "Capture Screen Clip" echo "Capture Screen --> Clip"
echo "Capture Screen File" echo "Capture Screen --> File"
echo "Record Region File (GIF)" echo "Record Region --> File (GIF)"
echo "Record Screen File (GIF)" echo "Record Screen --> File (GIF)"
echo "Record Region File (MKV)" echo "Record Region --> File (MKV)"
echo "Record Screen File (MKV)" echo "Record Screen --> File (MKV)"
} }
# Checks if the shell has the following binary in $PATH through the `hash` builtin. # Checks if the shell has the following binary in $PATH through the `hash` builtin.
@ -287,37 +287,37 @@ main() {
# Run the selected command. # Run the selected command.
case $choice in case $choice in
'Capture Region Clip') 'Capture Region --> Clip')
delay=$(rofi -dmenu -p "How many seconds for delay?") delay=$(rofi -dmenu -p "How many seconds for delay?")
capture_region_to_clipboard $delay capture_region_to_clipboard $delay
;; ;;
'Capture Screen Clip') 'Capture Screen --> Clip')
delay=$(rofi -dmenu -p "How many seconds for delay?") delay=$(rofi -dmenu -p "How many seconds for delay?")
capture_screen_to_clipboard $delay capture_screen_to_clipboard $delay
;; ;;
'Capture Region File') 'Capture Region --> File')
delay=$(rofi -dmenu -p "How many seconds for delay?") delay=$(rofi -dmenu -p "How many seconds for delay?")
capture_region_to_file $delay capture_region_to_file $delay
;; ;;
'Capture Screen File') 'Capture Screen --> File')
delay=$(rofi -dmenu -p "How many seconds for delay?") delay=$(rofi -dmenu -p "How many seconds for delay?")
_countdown $delay _countdown $delay
capture_screen_to_file capture_screen_to_file
;; ;;
'Record Region File (GIF)') 'Record Region --> File (GIF)')
delay=$(rofi -dmenu -p "How many seconds for delay?") delay=$(rofi -dmenu -p "How many seconds for delay?")
record_region_to_gif $delay record_region_to_gif $delay
;; ;;
'Record Screen File (GIF)') 'Record Screen --> File (GIF)')
delay=$(rofi -dmenu -p "How many seconds for delay?") delay=$(rofi -dmenu -p "How many seconds for delay?")
_countdown $delay _countdown $delay
record_screen_to_gif record_screen_to_gif
;; ;;
'Record Region File (MKV)') 'Record Region --> File (MKV)')
delay=$(rofi -dmenu -p "How many seconds for delay?") delay=$(rofi -dmenu -p "How many seconds for delay?")
record_region_to_mkv $delay record_region_to_mkv $delay
;; ;;
'Record Screen File (MKV)') 'Record Screen --> File (MKV)')
delay=$(rofi -dmenu -p "How many seconds for delay?") delay=$(rofi -dmenu -p "How many seconds for delay?")
_countdown $delay _countdown $delay
record_screen_to_mkv record_screen_to_mkv

0
bin/select-wal-theme Normal file → Executable file
View File

0
bin/toggle-process Normal file → Executable file
View File

0
bin/user-prompt Normal file → Executable file
View File

5
bspwm/bspwmrc Normal file → Executable file
View File

@ -9,12 +9,15 @@ bspc monitor -d I II III IV V
bspc config border_width 2 bspc config border_width 2
bspc config window_gap 9 bspc config window_gap 9
bspc config split_ratio 0.52 bspc config split_ratio 0.50
bspc config borderless_monocle true bspc config borderless_monocle true
bspc config gapless_monocle true bspc config gapless_monocle true
bspc config focused_border_color "#88C0D0" bspc config focused_border_color "#88C0D0"
bspc config focus_follows_pointer true bspc config focus_follows_pointer true
# Set the default cursor to pointer
xsetroot -cursor_name left_ptr
# Rules # Rules
bspc rule -a code-oss desktop=^2 bspc rule -a code-oss desktop=^2
bspc rule -a firefox desktop=^1 bspc rule -a firefox desktop=^1

View File

@ -19,7 +19,7 @@
;;japanese ;;japanese
:completion :completion
companyj ; the ultimate code completion backend company ; the ultimate code completion backend
;;helm ; the *other* search engine for love and life ;;helm ; the *other* search engine for love and life
;;ido ; the other *other* search engine... ;;ido ; the other *other* search engine...
ivy ; a search engine for love and life ivy ; a search engine for love and life

13
manager.py Normal file → Executable file
View File

@ -26,23 +26,20 @@ from pathlib import Path
import subprocess import subprocess
import sys import sys
PACKAGE_DATA_FILE="locations.json" DEFAULT_PACKAGE_DATA_FILE="locations.json"
class PackageDir: class PackageDir:
""" A package directory should have a file named `locations.json` where it contains a top-level object of the stow packages with their usual target path. """ """ A package directory should have a file named `locations.json` where it contains a top-level object of the stow packages with their usual target path. """
def __init__(self, package_path = None): def __init__(self, package_path = os.getcwd(), package_data_path = DEFAULT_PACKAGE_DATA_FILE):
""" """
Creates an instance of PackageDir Creates an instance of PackageDir
:param: package_path - The directory where it should contain a file named `locations.json`. :param: package_path - The directory where it should contain a file named `locations.json`.
""" """
if package_path is None: self.path = Path(package_path)
package_path = os.getcwd() self.data_path = Path(package_data_path)
package_path = Path(package_path)
self.path = package_path
# Loads the packages # Loads the packages
self.packages = {} self.packages = {}
@ -116,7 +113,7 @@ class PackageDir:
@property @property
def json_location(self): def json_location(self):
""" Simply appends the path with the required JSON file. """ """ Simply appends the path with the required JSON file. """
return self.path / PACKAGE_DATA_FILE return self.path / self.data_path
def setup_logging(): def setup_logging():

View File

@ -12,6 +12,9 @@ call plug#begin('~/.config/nvim/plugged')
Plug 'arcticicestudio/nord-vim' Plug 'arcticicestudio/nord-vim'
Plug 'gruvbox-community/gruvbox' Plug 'gruvbox-community/gruvbox'
" Colorize common color strings
Plug 'lilydjwg/colorizer'
" A snippets engine. " A snippets engine.
" One of the must-haves for me. " One of the must-haves for me.
Plug 'sirver/ultisnips' Plug 'sirver/ultisnips'

View File

@ -1,305 +1,317 @@
0ad a23.1-8 0ad
0ad-data a23.1-1 0ad-data
adobe-source-sans-pro-fonts 3.006-1 adobe-source-sans-pro-fonts
adobe-source-serif-pro-fonts 3.001-1 adobe-source-serif-pro-fonts
alacritty 0.4.2-2 alacritty
alex 3.2.5-8 alex
alsa-plugins 1.2.2-1 alsa-plugins
alsa-utils 1.2.2-1 alsa-utils
amd-ucode 20200421.78c0348-1 amd-ucode
anki 2.1.15-1 android-tools
apache 2.4.43-1 anki
arandr 0.1.10-4 apache
arc-gtk-theme 20190917-1 arandr
arc-icon-theme 20161122-2 arc-gtk-theme
arch-audit 0.1.15-1 arc-icon-theme
archiso 43-1 arch-audit
archlinux-contrib 20190911-1 archiso
ardour 5.12-14 archlinux-contrib
asciidoctor 2.0.10-2 ardour
audacious 4.0.3-1 asciidoctor
audacity 1:2.3.3-2 audacious
autoconf 2.69-7 audacity
automake 1.16.2-1 autoconf
base 2-2 automake
bash 5.0.016-1 base
bat 0.13.0-1 bash
binutils 2.34-2 bat
bison 3.5.4-1 binutils
blender 17:2.82.a-3 bison
breeze-gtk 5.18.4.1-1 blender
breeze-icons 5.69.0-1 breeze-gtk
bspwm 0.9.9-1 breeze-icons
bzip2 1.0.8-3 bspwm
cabal-install 3.2.0.0-3 bzip2
cadence 0.9.1-2 cabal-install
carla 2.1-1 cadence
chromium 81.0.4044.129-1 carla
clang 10.0.0-2 chromium
code 1.44.2-1 clang
coreutils 8.32-1 code
cowsay 3.04-1 coreutils
cronie 1.5.5-1 cowsay
cryptsetup 2.3.2-1 cronie
device-mapper 2.02.187-1 cryptsetup
dhall 1.31.1-17 device-mapper
dhall-json 1.6.3-21 dhall
dhcpcd 9.0.2-1 dhall-json
diffutils 3.7-3 dhcpcd
dmenu 4.9-1 diffutils
docker 1:19.03.8-2 dmenu
docker-compose 1.25.5-1 docker
dunst 1.4.1-1 docker-compose
e2fsprogs 1.45.6-1 dunst
editorconfig-core-c 0.12.3-1 e2fsprogs
efibootmgr 17-1 editorconfig-core-c
emacs 26.3-1 efibootmgr
entr 4.4-1 emacs
erlang 22.2.7-1 entr
espeak 1:1.48.04-2 erlang
exa 0.9.0-1 espeak
fakeroot 1.24-2 exa
fd 8.0.0-1 fakeroot
feh 3.4-1 fd
file 5.38-3 feh
filesystem 2019.10-2 festival
findutils 4.7.0-2 file
firefox 75.0-2 filesystem
firefox-developer-edition 76.0b8-1 findutils
flex 2.6.4-3 firefox
freeglut 3.2.1-1 firefox-developer-edition
fzf 0.21.1-1 flex
gawk 5.1.0-1 fontforge
gcc 9.3.0-1 foremost
gcc-libs 9.3.0-1 freeglut
gdb 9.1-2 fzf
gettext 0.20.2-1 gawk
ghc 8.10.1-2 gcc
gimp 2.10.18-6 gcc-libs
gimp-help-en 2.10.0-1 gdb
git 2.26.2-1 gettext
glava 1.6.3-1 ghc
glibc 2.31-2 gimp
gnu-netcat 0.7.1-7 gimp-help-en
go 2:1.14.2-1 git
gource 0.51-3 glava
graphviz 2.44.0-1 glibc
grep 3.4-1 gnu-netcat
groff 1.22.4-3 go
gucharmap 13.0.0-1 gource
gvfs 1.44.1-1 graphviz
gzip 1.10-3 grep
happy 1.19.12-7 groff
hexyl 0.7.0-1 gucharmap
htop 2.2.0-3 gvfs
hugo 0.69.2-1 gzip
i3-gaps 4.18.1-1 happy
i3blocks 1.5-3 hexyl
i3status 2.13-2 htop
inetutils 1.9.4-8 hugo
inkscape 0.92.5-1 inetutils
iproute2 5.6.0-1 inkscape
iputils 20190709-2 iproute2
jack2 1.9.14-1 iputils
jdk-openjdk 13.0.2.u8-1 iwd
jfsutils 1.1.15-7 jack2
jq 1.6-2 jdk-openjdk
jre-openjdk 13.0.2.u8-1 jfsutils
keybase 5.4.2-1 jq
kicad 5.1.5-2 jre-openjdk
kicad-library 5.1.5-1 kcharselect
krita 4.2.9-2 keybase
less 551-3 kicad
libtool 2.4.6+42+gb88cebd5-11 kicad-library
licenses 20200427-1 krita
linux 5.6.8.arch1-1 less
linux-firmware 20200421.78c0348-1 libtool
lldb 10.0.0-2 licenses
llvm 10.0.0-1 linux
lmms 1.2.1-3 linux-firmware
logrotate 3.16.0-1 lldb
lolcat 100.0.0-2 llvm
lvm2 2.02.187-1 lmms
lxappearance 0.6.3-2 logrotate
lxsession 1:0.5.5-1 lolcat
m4 1.4.18-3 lvm2
maim 5.6.3-1 lxappearance
make 4.3-3 lxsession
man-db 2.9.1-2 m4
man-pages 5.06-2 maim
mdadm 4.1-2 make
mediawiki 1.34.1-1 man-db
moreutils 0.63-1 man-pages
mpg123 1.25.13-1 mdadm
mpv 1:0.32.0-4 mediawiki
musescore 3.4.2-1 moreutils
musl 1.2.0-1 mpg123
nano 4.9.2-1 mpv
ncmpcpp 0.8.2-11 musescore
neofetch 7.0.0-1 musl
neovim 0.4.3-3 nano
netctl 1.22-1 ncmpcpp
networkmanager 1.22.11dev+36+g6abf71f05-1 neofetch
nnn 3.1-1 neomutt
nodejs 14.1.0-1 neovim
nodejs-material-design-icons 3.0.1-2 netctl
noto-fonts 20190926-4 networkmanager
noto-fonts-emoji 20191016-6 newsboat
npm 6.14.4-1 nnn
ntfs-3g 2017.3.23-4 nodejs
obs-studio 25.0.8-1 nodejs-material-design-icons
octave 5.2.0-2 noto-fonts
otf-latin-modern 2.004-3 noto-fonts-cjk
otf-latinmodern-math 1.959-3 noto-fonts-emoji
p7zip 16.02-5 npm
pacman 5.2.1-4 ntfs-3g
pacman-contrib 1.3.0-1 obs-studio
pamixer 1.4-3 octave
pandoc 2.9.2.1-25 orca
patch 2.7.6-8 otf-latin-modern
pavucontrol 1:4.0-1 otf-latinmodern-math
pciutils 3.6.4-1 p7zip
perl 5.30.2-1 pacman
php 7.4.5-1 pacman-contrib
picom 7.5-3 pamixer
pkgconf 1.6.3-4 pandoc
processing 3.5.4-1 patch
procps-ng 3.3.16-1 pavucontrol
psmisc 23.3-2 pciutils
pstoedit 3.75-1 perl
pulseaudio 13.0-3 php
pulseaudio-alsa 2-5 picom
pulseaudio-jack 13.0-3 pkgconf
pulsemixer 1.5.0-2 powertop
pv 1.6.6-2 procps-ng
python-pip 20.0.2-1 psmisc
python-pynvim 0.4.1-1 pstoedit
python-pywal 3.3.0-2 pulseaudio
python2-scour 0.37-4 pulseaudio-alsa
qbittorrent 4.2.5-1 pulseaudio-jack
qrencode 4.0.2-1 pulsemixer
qt5-script 5.14.2-1 pv
r 4.0.0-1 python-pip
racket 7.5-2 python-pynvim
reiserfsprogs 3.6.27-3 python-pywal
rofi 1.5.4-1 qbittorrent
ruby 2.7.1-2 qemu
ruby-rouge 3.14.0-2 qrencode
s-nail 14.9.19-1 qt5-script
scrot 1.2-1 r
sed 4.8-1 racket
shadow 4.8.1-1 reiserfsprogs
shotcut 20.04.12-1 repo
sonic-pi 3.2.2-1 rofi
soundfont-fluid 3.1-2 ruby
sox 14.4.2-5 ruby-rouge
stack 2.3.0.1-8 s-nail
stow 2.3.1-2 scrot
strace 5.6-1 sed
sudo 1.8.31.p1-1 shadow
sxhkd 0.6.1-1 shotcut
sxiv 26-1 sonic-pi
sysfsutils 2.1.0-11 soundfont-fluid
systemd 245.5-2 sox
systemd-sysvcompat 245.5-2 stack
tabbed 0.6-3 stow
tar 1.32-3 strace
telegram-desktop 2.1.0-1 sudo
tesseract 4.1.1-1 sxhkd
tesseract-data-eng 1:4.0.0-1 sxiv
texinfo 6.7-3 syncthing
texlive-bibtexextra 2019.52577-1 sysfsutils
texlive-core 2019.52579-1 systemd
texlive-fontsextra 2019.52580-1 systemd-sysvcompat
texlive-formatsextra 2019.51280-1 tar
texlive-latexextra 2019.52575-1 telegram-desktop
texlive-pictures 2019.52499-1 tesseract
texlive-science 2019.52582-1 tesseract-data-eng
thunar 1.8.14-1 texinfo
thunar-volman 0.9.5-2 texlive-bibtexextra
thunderbird 68.7.0-1 texlive-core
timidity++ 2.15.0-2 texlive-fontsextra
tmux 3.1_a-1 texlive-formatsextra
tor 0.4.2.7-1 texlive-latexextra
tree 1.8.0-2 texlive-pictures
ttf-bitstream-vera 1.10-12 texlive-science
ttf-dejavu 2.37-2 thunar
ttf-fira-code 3.1-1 thunar-volman
ttf-font-awesome 5.13.0-1 thunderbird
ttf-ibm-plex 4.0.2-2 timidity++
ttf-jetbrains-mono 1.0.5-1 tmux
ttf-joypixels 5.5.0-3 tor
ttf-nerd-fonts-symbols 2.1.0+36+gd0bf73a1-2 tree
udiskie 2.1.1-1 ttf-bitstream-vera
upx 3.96-2 ttf-dejavu
usbutils 012-2 ttf-fira-code
util-linux 2.35.1-2 ttf-font-awesome
vagrant 2.2.7-5 ttf-ibm-plex
vi 1:070224-4 ttf-jetbrains-mono
vim 8.2.0510-2 ttf-joypixels
vlc 3.0.10-1 ttf-nerd-fonts-symbols
weechat 2.8-2 udiskie
wget 1.20.3-2 unison
which 2.21-5 upx
xarchiver 0.5.4.14-1 usbutils
xautomation 1.09-3 util-linux
xclip 0.13-2 vagrant
xdg-user-dirs 0.17-2 vi
xdotool 3.20160805.1-2 vim
xf86-video-nouveau 1.0.16-1 vlc
xf86-video-vesa 2.4.0-2 weechat
xfsprogs 5.6.0-1 wesnoth
xorg-bdftopcf 1.1-1 wget
xorg-docs 1.7.1-2 which
xorg-font-util 1.3.2-1 wkhtmltopdf
xorg-fonts-100dpi 1.0.3-4 xarchiver
xorg-fonts-75dpi 1.0.3-4 xautomation
xorg-fonts-encodings 1.0.5-1 xclip
xorg-iceauth 1.0.8-1 xdg-user-dirs
xorg-luit 1.1.1-3 xdotool
xorg-mkfontscale 1.2.1-2 xf86-video-nouveau
xorg-server 1.20.8-1 xf86-video-vesa
xorg-server-common 1.20.8-1 xfsprogs
xorg-server-devel 1.20.8-1 xorg-bdftopcf
xorg-server-xephyr 1.20.8-1 xorg-docs
xorg-server-xnest 1.20.8-1 xorg-font-util
xorg-server-xvfb 1.20.8-1 xorg-fonts-100dpi
xorg-server-xwayland 1.20.8-1 xorg-fonts-75dpi
xorg-sessreg 1.1.2-1 xorg-fonts-encodings
xorg-setxkbmap 1.3.2-1 xorg-iceauth
xorg-smproxy 1.0.6-2 xorg-luit
xorg-x11perf 1.6.1-1 xorg-mkfontscale
xorg-xauth 1.1-1 xorg-server
xorg-xbacklight 1.2.3-1 xorg-server-common
xorg-xcmsdb 1.0.5-2 xorg-server-devel
xorg-xcursorgen 1.0.7-1 xorg-server-xephyr
xorg-xdpyinfo 1.3.2-3 xorg-server-xnest
xorg-xdriinfo 1.0.6-1 xorg-server-xvfb
xorg-xev 1.2.3-1 xorg-server-xwayland
xorg-xgamma 1.0.6-2 xorg-sessreg
xorg-xhost 1.0.8-1 xorg-setxkbmap
xorg-xinit 1.4.1-1 xorg-smproxy
xorg-xinput 1.6.3-1 xorg-x11perf
xorg-xkbcomp 1.4.3-1 xorg-xauth
xorg-xkbevd 1.1.4-2 xorg-xbacklight
xorg-xkbutils 1.0.4-3 xorg-xcmsdb
xorg-xkill 1.0.5-1 xorg-xcursorgen
xorg-xlsatoms 1.1.3-1 xorg-xdpyinfo
xorg-xlsclients 1.1.4-1 xorg-xdriinfo
xorg-xmodmap 1.0.10-1 xorg-xev
xorg-xpr 1.0.5-1 xorg-xgamma
xorg-xprop 1.2.4-1 xorg-xhost
xorg-xrandr 1.5.1-1 xorg-xinit
xorg-xrdb 1.2.0-1 xorg-xinput
xorg-xrefresh 1.0.6-1 xorg-xkbcomp
xorg-xset 1.2.4-1 xorg-xkbevd
xorg-xsetroot 1.1.2-1 xorg-xkbutils
xorg-xvinfo 1.1.4-1 xorg-xkill
xorg-xwd 1.0.7-1 xorg-xlsatoms
xorg-xwininfo 1.1.5-1 xorg-xlsclients
xorg-xwud 1.0.5-1 xorg-xmodmap
youtube-dl 2020.03.24-1 xorg-xpr
zathura 0.4.5-1 xorg-xprop
zathura-pdf-mupdf 0.3.5-3 xorg-xrandr
zsh 5.8-1 xorg-xrdb
zsh-completions 0.31.0-1 xorg-xrefresh
xorg-xset
xorg-xsetroot
xorg-xvinfo
xorg-xwd
xorg-xwininfo
xorg-xwud
youtube-dl
zathura
zathura-pdf-mupdf
zbar
zsh
zsh-completions

View File

@ -24,13 +24,13 @@
module-margin = 1 module-margin = 1
module-padding = 1 module-padding = 1
font-0 = "Iosevka" font-0 = "Iosevka;2"
font-1 = "Fira Code" font-1 = "Fira Code;2"
; Our fallback fonts are mostly used as icon fonts. ; Our fallback fonts are mostly used as icon fonts.
; For future references, the version of Font Awesome used here is at v5.13.0. ; For future references, the version of Font Awesome used here is at v5.13.0.
; I also installed the font myself that I downloaded from the official website (https://fontawesome.com/). ; I also installed the font myself that I downloaded from the official website (https://fontawesome.com/).
font-2 = "Font Awesome 5 Free,Font Awesome 5 Free Solid:style=Solid" font-2 = "Font Awesome 5 Free,Font Awesome 5 Free Solid:style=Solid;2"
; This creates the illusion as if the modules are in the center. ; This creates the illusion as if the modules are in the center.
__border-size = 5 __border-size = 5
@ -49,13 +49,6 @@
label-padding = 1 label-padding = 1
; Usually used for
[module-button-style]
format-padding = 2
format-background = ${colors.accent}
format-foreground = ${colors.background}
; The main bar. ; The main bar.
[bar/fds-bar] [bar/fds-bar]
background = ${colors.background} background = ${colors.background}
@ -64,24 +57,36 @@
inherit = bar-common-style inherit = bar-common-style
enable-ipc = true enable-ipc = true
modules-left = start-menu bspwm modules-left = bspwm
modules-right = pulseaudio memory eth date modules-center = date
modules-right = pulseaudio eth memory home-fs root-fs
[module/start-menu] [module/home-fs]
inherit = module-button-style type = internal/fs
type = custom/script mount-0 = /home
exec = echo ';' format-margin = 0
click-left = rofi -show drun -sidebar-mode -theme fds-mini-sidebar format-padding = 0
label = "" label-margin = 0
label-padding = 0
format-mounted-prefix = ""
format-mounted-prefix-margin-right = 1
format-unmounted-prefix = ""
format-unmounted-prefix-margin-right = 1
label-mounted = %free%
label-unmounted = N/A
[module/power-menu] [module/root-fs]
inherit = module-button-style type = internal/fs
type = custom/script mount-0 = /
exec = echo ';' format-mounted-prefix = ""
click-left = $HOME/bin/prompt "Proceed to shutdown?" "sudo -A shutdown 0" format-mounted-prefix-margin-right = 1
label = "" format-unmounted-prefix = ""
format-unmounted-prefix-margin-right = 1
label-mounted = %free%
label-unmounted = N/A
[module/bspwm] [module/bspwm]
@ -129,7 +134,6 @@
[module/eth] [module/eth]
inherit = module-common-style
type = internal/network type = internal/network
interface = enp4s0 interface = enp4s0
interval = 3 interval = 3
@ -150,13 +154,13 @@
; We've formatted the time string to alter between the time and the date instead. ; We've formatted the time string to alter between the time and the date instead.
; Although, I feel it's a hacky workaround, it still is functional as a date module. ; Although, I feel it's a hacky workaround, it still is functional as a date module.
date = "%F" date = "%A, %F"
date-alt = "%B %d, %Y" date-alt = "%B %d, %Y"
time = %T time = %T
time-alt = %F time-alt = %F
format-prefix = "" format-prefix = ""
label = %time% label = %date% %time%
[module/pulseaudio] [module/pulseaudio]

0
polybar/launch.sh Normal file → Executable file
View File

View File

@ -10,10 +10,6 @@ super + shift + Return
super + t super + t
toggle-process screenkey toggle-process screenkey
# Utility keyboard shortcuts.
# Application launcher. # Application launcher.
super + d super + d
rofi -show drun -sidebar-mode -theme fds-mini-sidebar rofi -show drun -sidebar-mode -theme fds-mini-sidebar
@ -29,16 +25,15 @@ super + F12
user-prompt "Exit from X session?" "killall Xorg" user-prompt "Exit from X session?" "killall Xorg"
# Screenshot and screencast launcher. # Screenshot and screencast launcher.
{_, shift + } Print super + {_, shift + } Print
rofi-screenshot-menu {_, --stop} rofi-screenshot-menu {_, --stop && notify-send "All recording has stopped" || notify-send "There's no active recording process"}
# Screenshot with OCR capability # A bunch of miscellaneous scripts.
super + shift + w super + x ; {a, s, d}
ocr set -o pipefail && \
{ocr | xclip -in -selection clipboard && notify-send "Image content has been copied on the clipboard.", \
# Screen record shortcuts. parse-barcodes | xclip -selection clipboard && notify-send "Bar code content has been copied.", \
{_,shift +} {_,control +} super + Print colorpicker | xclip -selection clipboard && notify-send "Color copied to clipboard."}
record --output $\{VIDEOS_DIRECTORY:-$HOME/recordings\} {_,--disable-cursor} {_,--follow-mouse}
# Miscellaneous shortcuts. # Miscellaneous shortcuts.
super + shift + m super + shift + m
@ -58,7 +53,7 @@ shift + super + r
# The usual application suite shortcuts. # The usual application suite shortcuts.
# I'm separating them according to the keyboard row (in the QWERTY layout anyway). # I'm separating them according to the keyboard row (in the QWERTY layout anyway).
super + a ; {z, x, c, v, b, n, m} super + a ; {z, x, c, v, b, n, m}
{ nvim, code, inkscape, gimp, blender, kdenlive, lmms } { $TERMINAL -e nvim, code, inkscape, gimp, blender, kdenlive, lmms }
super + a ; {f, a, d} super + a ; {f, a, d}
{ firefox, $TERMINAL -e lf, krita } { firefox, $TERMINAL -e lf, krita }
@ -73,29 +68,36 @@ super + a ; {t, r}
# Over time, I may replace one of the usual shortcut # Over time, I may replace one of the usual shortcut
# with something more generally applied (with `xdotool` for example). # with something more generally applied (with `xdotool` for example).
# Kill the focused window. # Close/Kill the focused window.
# Difference between closing a window and killing a window is how the process is killed.
# Closing a window only terminates the process for that window while killing a window terminates all of the related process of that window.
# For example, try opening two Firefox instance and test how it differs.
super + {_, shift +} + q super + {_, shift +} + q
bspc node -{c,k} bspc node --{close,kill}
# Move desktop/node view to the specified desktop. # Move desktop/node view to the specified desktop.
super + {_,shift + }{1-9,0} super + {_,shift + }{1-9,0}
bspc {desktop -f,node -d} '^{1-9,10}' bspc {desktop --focus,node --to-desktop} '^{1-9,10}'
super + z
bspc node -t '~floating'
super + x
bspc node -t '~fullscreen'
super + c
bspc node -t '~tiled'
# Desktop and node movements. # Desktop and node movements.
super + {_, shift + } Tab super + {_, shift + } Tab
bspc desktop {next, prev} --focus bspc desktop {next, prev} --focus
super + {_, shift + } + grave # less is <, greater is >
bspc {desktop last --focus, node --to-desktop last} super + {less, greater}
bspc node --to-desktop {prev,next}
# Window state 'mode'
super + z ; {z,x,c,v}
bspc node --state {floating,fullscreen,tiled,pseudo_tiled}
# Window resize 'mode'
super + r : {h,j,k,l}
bspc node --resize {left -10 0,bottom 0 10,top 0 -10,right 10 0}
# grave is `
super + grave
bspc desktop --focus last.occupied
super + {Up,Down,Left,Right} super + {Up,Down,Left,Right}
bspc node {north,south,west,east} --focus bspc node {north,south,west,east} --focus

View File

@ -15,6 +15,9 @@ bspc config gapless_monocle true
bspc config focused_border_color "{color6}" bspc config focused_border_color "{color6}"
bspc config focus_follows_pointer true bspc config focus_follows_pointer true
# Set the default cursor to pointer
xsetroot -cursor_name left_ptr
# Rules # Rules
bspc rule -a code-oss desktop=^2 bspc rule -a code-oss desktop=^2
bspc rule -a firefox desktop=^1 bspc rule -a firefox desktop=^1

View File

@ -18,7 +18,8 @@ export BIN_DIRECTORY=$HOME/bin
export VIDEO_DIRECTORY=$HOME/recordings export VIDEO_DIRECTORY=$HOME/recordings
# If you come from bash you might have to change your $PATH. # If you come from bash you might have to change your $PATH.
export PATH="$BIN_DIRECTORY:/usr/local/bin:$HOME/.local/bin:$HOME/.cargo/bin:$HOME/.gem/ruby/2.7.0/bin:$PATH" export DENO_INSTALL="$HOME/.deno"
export PATH="$BIN_DIRECTORY:/usr/local/bin:$HOME/.local/bin:$HOME/.cargo/bin:$HOME/.gem/ruby/2.7.0/bin:$DENO_INSTALL/bin:$PATH"
# export MANPATH="$MANPATH:$HOME/.local/share/man" # export MANPATH="$MANPATH:$HOME/.local/share/man"
# Common environmental variables. # Common environmental variables.