├── dunst ├── image.sh ├── icons │ ├── volume-low.svg │ ├── volume-medium.svg │ ├── volume-high.svg │ └── volume-muted.svg ├── colors │ ├── dracula.conf │ ├── catppuccin-frappe.conf │ ├── catppuccin-latte.conf │ ├── catppuccin-mocha.conf │ └── catppuccin-macchiato.conf └── dunstrc ├── polybar ├── bar │ ├── color.ini │ ├── colors.ini │ ├── config.ini │ ├── .config.bak.ini │ └── modules.ini ├── scripts │ ├── monitor-swap.sh │ ├── spotify.sh │ ├── calendar.sh │ ├── network.sh │ ├── youtube.sh │ ├── tray.sh │ ├── multi-screens.sh │ ├── yt-lock.sh │ ├── test-fonts.pl │ ├── music-player-switch.sh │ ├── jgmenu.sh │ ├── youtube-lock.sh │ └── module-playerctl.sh ├── launch.sh └── tray │ └── config.ini ├── scripts ├── calc ├── current-window.sh ├── bwunlock ├── mouse-loc.sh ├── bspwm │ └── layoutswitch.sh ├── polybar │ ├── spotifyd │ └── spotify-playerctl.sh ├── wynnpack ├── wallpaper.sh ├── assets │ └── variety.svg ├── pipewire-simple.sh ├── screenshot-wayland ├── catfetch ├── unzip ├── wallpaper-set ├── bloons ├── git-prep.sh ├── volume └── screenshot ├── kitty ├── floating.conf ├── kitty.conf.bak ├── kitty.conf ├── dracula.colors.txt ├── Catppuccin.conf ├── current-theme.conf └── Catppuccin-mocha.conf ├── neofetch ├── logo1.png ├── .directory ├── config3.conf ├── config1.conf ├── config2.conf └── config.conf ├── bspwm ├── restart_icon.png ├── scripts │ ├── floating.sh │ ├── fullscreen.sh │ ├── borders.sh │ ├── spotify.sh │ ├── desktop-switch-monitor.sh │ ├── afk.sh │ └── jgmenu.sh ├── keyboard-colors ├── sxhkdrc └── bspwmrc ├── fonts └── icomoon_feather.ttf ├── hypr ├── scripts │ ├── color_picker.sh │ └── toggle_blur.sh └── hyprland.conf ├── rofi-own ├── scripts │ ├── cliphist.sh │ ├── pmc.sh │ ├── usedram │ ├── usedcpu │ ├── powermenu.sh │ ├── quicklinks.sh │ ├── powermenu-2.sh │ └── apps.sh ├── colors │ └── colors.rasi ├── clipmenu.rasi ├── pmc.rasi ├── wallpaper.rasi ├── catppuccin.rasi ├── clipmenu-2.rasi ├── apps.rasi ├── style.rasi ├── launcher.rasi ├── powermenu.rasi └── powermenu-2.rasi ├── zsh ├── theme.zsh ├── aliases.zsh ├── zshrc └── functions.zsh ├── waybar ├── modules │ ├── weather.sh │ ├── sysmenu.sh │ ├── layoutswitch.sh │ ├── player-swap.sh │ ├── windowbutton.sh │ ├── spotify-buttons.sh │ ├── storage.sh │ ├── spotify.sh │ ├── mail.py │ └── player.py ├── waybar.sh ├── mocha.css ├── style.css └── config ├── starship.toml ├── README.md ├── picom └── config.conf └── stalonetrayrc /dunst/image.sh: -------------------------------------------------------------------------------- 1 | feh $dir/$file -------------------------------------------------------------------------------- /polybar/bar/color.ini: -------------------------------------------------------------------------------- 1 | volume = #91d7e3 2 | -------------------------------------------------------------------------------- /scripts/calc: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | echo $((${1}${2}${3})) -------------------------------------------------------------------------------- /kitty/floating.conf: -------------------------------------------------------------------------------- 1 | include kitty.conf 2 | map escape close_window -------------------------------------------------------------------------------- /scripts/current-window.sh: -------------------------------------------------------------------------------- 1 | xdotool getwindowname $(xdotool getactivewindow) -------------------------------------------------------------------------------- /neofetch/logo1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeorgeBnrs/dotfiles/HEAD/neofetch/logo1.png -------------------------------------------------------------------------------- /bspwm/restart_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeorgeBnrs/dotfiles/HEAD/bspwm/restart_icon.png -------------------------------------------------------------------------------- /fonts/icomoon_feather.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeorgeBnrs/dotfiles/HEAD/fonts/icomoon_feather.ttf -------------------------------------------------------------------------------- /hypr/scripts/color_picker.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | color=$(hyprpicker) 4 | wl-copy $color 5 | dunstify $color -------------------------------------------------------------------------------- /neofetch/.directory: -------------------------------------------------------------------------------- 1 | [Dolphin] 2 | Timestamp=2022,1,31,20,52,31.432 3 | Version=4 4 | ViewMode=2 5 | 6 | [Settings] 7 | HiddenFilesShown=true 8 | -------------------------------------------------------------------------------- /bspwm/scripts/floating.sh: -------------------------------------------------------------------------------- 1 | if [[ -n $(bspc query -N -n focused.floating) ]] 2 | then 3 | bspc node -t tiled 4 | else 5 | bspc node -t floating 6 | fi -------------------------------------------------------------------------------- /rofi-own/scripts/cliphist.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | if [ -z "$1" ]; then 4 | cliphist list 5 | else 6 | cliphist decode <<<"$1" | wl-copy 7 | fi -------------------------------------------------------------------------------- /bspwm/scripts/fullscreen.sh: -------------------------------------------------------------------------------- 1 | if [[ -n $(bspc query -N -n focused.fullscreen) ]] 2 | then 3 | bspc node -t tiled 4 | else 5 | bspc node -t fullscreen 6 | 7 | fi -------------------------------------------------------------------------------- /zsh/theme.zsh: -------------------------------------------------------------------------------- 1 | PS1="%B%{$fg[red]%}[%{$fg[yellow]%}%n%{$fg[green]%}@%{$fg[cyan]%}%M%{$fg[blue]%} %{$fg[magenta]%}%~% %B%{$fg[red]%}]%{$fg[blue]%}~> %b%{$reset_color%}%" -------------------------------------------------------------------------------- /polybar/scripts/monitor-swap.sh: -------------------------------------------------------------------------------- 1 | if [ $(bspc query -M -m .focused --names) == "HDMI-A-0" ]; then 2 | bspc node -m HDMI-A-1 3 | else 4 | bspc node -m HDMI-A-0 5 | fi -------------------------------------------------------------------------------- /bspwm/scripts/borders.sh: -------------------------------------------------------------------------------- 1 | if [ -f /tmp/borders ]; then 2 | bspc config border_width 2 3 | del /tmp/borders 4 | else 5 | bspc config border_width 0 6 | touch /tmp/borders 7 | fi -------------------------------------------------------------------------------- /polybar/scripts/spotify.sh: -------------------------------------------------------------------------------- 1 | #if [ $(playerctl metadata -f '{{playerName}}') == 'spotify' ] 2 | if pgrep spotify >/dev/null ; then 3 | echo $(playerctl --player=spotify metadata -f '{{artist}} - {{title}}') 4 | fi -------------------------------------------------------------------------------- /polybar/scripts/calendar.sh: -------------------------------------------------------------------------------- 1 | if [ $(bspc query -M -m --names) == "HDMI-A-0" ]; 2 | then 3 | $HOME/.config/eww-own/bar/scripts/popup calendar 4 | else 5 | $HOME/.config/eww--own/bar2/scripts/popup calendar 6 | fi -------------------------------------------------------------------------------- /scripts/bwunlock: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | sessionid=$(bw unlock "$1" | grep "==" | sed -n 3p | sed -e 's/$ bw list items --session //g') 3 | echo $sessionid 4 | echo $sessionid > ~/.bwsession 5 | bspc wm -r && pkill -USR1 -x sxhkd -------------------------------------------------------------------------------- /waybar/modules/weather.sh: -------------------------------------------------------------------------------- 1 | class=display 2 | text=$(busctl --user -j get-property io.ntfd /weather openweathermap.strings RenderedTemplate | jq -r .data) 3 | 4 | 5 | echo -e "{\"text\":\""$text"\", \"class\":\""$class"\"}" -------------------------------------------------------------------------------- /scripts/mouse-loc.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | 4 | if [ $1 = "-x" ]; then 5 | xdotool getmouselocation --shell | cut -b 3,4,5,6 | sed -n '1 p' 6 | elif [ $1 = "-y" ]; then 7 | xdotool getmouselocation --shell | cut -b 3,4,5,6 | sed -n '2 p' 8 | fi -------------------------------------------------------------------------------- /waybar/modules/sysmenu.sh: -------------------------------------------------------------------------------- 1 | text= 2 | tooltip=$(uptime -p | sed -e 's/up //g'| sed -e 's/ hours/h/g' | sed -e 's/ minutes/m/g' | sed -e 's/,//g') 3 | class=sysmenu 4 | 5 | echo -e "{\"text\":\""$text"\", \"tooltip\":\""$tooltip"\", \"class\":\""$class"\"}" -------------------------------------------------------------------------------- /waybar/waybar.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | # Terminate already running bar instances 4 | killall -q waybar 5 | 6 | # Wait until the processes have been shut down 7 | while pgrep -x waybar >/dev/null; do sleep 1; done 8 | 9 | # Launch main 10 | waybar 11 | -------------------------------------------------------------------------------- /scripts/bspwm/layoutswitch.sh: -------------------------------------------------------------------------------- 1 | if [ $(cat ~/.kblayout) == us ]; then 2 | setxkbmap -layout gr 3 | echo gr > ~/.kblayout 4 | polybar-msg action "#keyboard.hook.0" 5 | else 6 | setxkbmap -layout us 7 | echo us > ~/.kblayout 8 | polybar-msg action "#keyboard.hook.0" 9 | fi -------------------------------------------------------------------------------- /dunst/icons/volume-low.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /polybar/scripts/network.sh: -------------------------------------------------------------------------------- 1 | open_nm () { 2 | touch /tmp/nm-lockfile 3 | nm-connection-editor 4 | } 5 | close_nm () { 6 | del /tmp/nm-lockfile 7 | killall nm-connection-editor 8 | } 9 | 10 | if [ -f /tmp/nm-lockfile ]; then 11 | close_nm 12 | else 13 | open_nm 14 | fi -------------------------------------------------------------------------------- /polybar/scripts/youtube.sh: -------------------------------------------------------------------------------- 1 | if [ $(playerctl metadata -f '{{playerName}}') == 'firefox' ]; then 2 | if [ $(cat ~/.polybar-yt-module) == "" ]; then 3 | echo $(playerctl metadata -f '{{title}}') 4 | fi 5 | fi 6 | ##playerctl metadata -f '{{artist}}' | sed "s/ - Topic//g" && echo "-" && 7 | -------------------------------------------------------------------------------- /polybar/scripts/tray.sh: -------------------------------------------------------------------------------- 1 | #CMD="trayer --margin 1 --padding 10 --expand true --edge top --widthtype request --height 30 --SetDockType false --distancefrom right --distance 45 --alpha 10 --align right --transparent true --expand true --tint 0x44475a" 2 | pgrep -x stalonetray >/dev/null && pkill stalonetray || stalonetray & -------------------------------------------------------------------------------- /scripts/polybar/spotifyd: -------------------------------------------------------------------------------- 1 | while true; do 2 | sleep 1 3 | if [[ ! $(cat /tmp/polybarDataSpotify) == $(playerctl --player=spotify metadata -f '{{artist}} - {{title}}') ]]; then 4 | echo "" > /tmp/polybarIconSpotify 5 | polybar-msg action "#playerctl-spotify.hook.0" > /dev/null 6 | fi 7 | done 8 | -------------------------------------------------------------------------------- /polybar/scripts/multi-screens.sh: -------------------------------------------------------------------------------- 1 | pkill polybar 2 | #if type "xrandr"; then 3 | for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do 4 | MONITOR=$m polybar -r main -c $HOME/.config/polybar/bar/config.ini & 5 | done 6 | #else 7 | # polybar --reload main -c /home/george/.config/polybar/bar/config.ini & 8 | #fi 9 | -------------------------------------------------------------------------------- /polybar/scripts/yt-lock.sh: -------------------------------------------------------------------------------- 1 | 2 | fun () { 3 | if [ $(cat ~/.polybar-yt-module) == "" ]; then 4 | echo "" > ~/.polybar-yt-module 5 | else 6 | echo "" > ~/.polybar-yt-module 7 | fi 8 | } 9 | 10 | if [ $1 == "echosym" ]; then 11 | cat ~/.polybar-yt-module 12 | else 13 | fun 14 | reload-pb 15 | fi -------------------------------------------------------------------------------- /waybar/modules/layoutswitch.sh: -------------------------------------------------------------------------------- 1 | if [[ $(hyprctl devices | /usr/bin/grep "active" | head -8 | tail -1 | sed -e 's/active keymap: //g' | sed -e 's/ //g') = " English(US)" ]]; then hyprctl switchxkblayout logitech-g512-rgb-mechanical-gaming-keyboard 1; else hyprctl switchxkblayout logitech-g512-rgb-mechanical-gaming-keyboard 0; fi -------------------------------------------------------------------------------- /dunst/colors/dracula.conf: -------------------------------------------------------------------------------- 1 | [urgency_low] 2 | background = "#282a36" 3 | foreground = "#6272a4" 4 | timeout = 10 5 | 6 | [urgency_normal] 7 | background = "#282a36" 8 | foreground = "#bd93f9" 9 | timeout = 10 10 | 11 | [urgency_critical] 12 | background = "#ff5555" 13 | foreground = "#f8f8f2" 14 | frame_color = "#ff5555" 15 | timeout = 0 -------------------------------------------------------------------------------- /dunst/icons/volume-medium.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dunst/icons/volume-high.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /polybar/scripts/test-fonts.pl: -------------------------------------------------------------------------------- 1 | use strict; 2 | use warnings; 3 | use Font::FreeType; 4 | my ($char) = @ARGV; 5 | foreach my $font_def (`fc-list`) { 6 | my ($file, $name) = split(/: /, $font_def); 7 | my $face = Font::FreeType->new->face($file); 8 | my $glyph = $face->glyph_from_char($char); 9 | if ($glyph) { 10 | print $font_def; 11 | } 12 | } -------------------------------------------------------------------------------- /dunst/colors/catppuccin-frappe.conf: -------------------------------------------------------------------------------- 1 | [global] 2 | frame_color = "#8CAAEE" 3 | separator_color= frame 4 | 5 | [urgency_low] 6 | background = "#303446" 7 | foreground = "#C6D0F5" 8 | 9 | [urgency_normal] 10 | background = "#303446" 11 | foreground = "#C6D0F5" 12 | 13 | [urgency_critical] 14 | background = "#303446" 15 | foreground = "#C6D0F5" 16 | frame_color = "#EF9F76" 17 | -------------------------------------------------------------------------------- /dunst/colors/catppuccin-latte.conf: -------------------------------------------------------------------------------- 1 | [global] 2 | frame_color = "#1E66F5" 3 | separator_color= frame 4 | 5 | [urgency_low] 6 | background = "#EFF1F5" 7 | foreground = "#4C4F69" 8 | 9 | [urgency_normal] 10 | background = "#EFF1F5" 11 | foreground = "#4C4F69" 12 | 13 | [urgency_critical] 14 | background = "#EFF1F5" 15 | foreground = "#4C4F69" 16 | frame_color = "#FE640B" 17 | -------------------------------------------------------------------------------- /dunst/colors/catppuccin-mocha.conf: -------------------------------------------------------------------------------- 1 | [global] 2 | frame_color = "#89B4FA" 3 | separator_color= frame 4 | 5 | [urgency_low] 6 | background = "#1E1E2E" 7 | foreground = "#CDD6F4" 8 | 9 | [urgency_normal] 10 | background = "#1E1E2E" 11 | foreground = "#CDD6F4" 12 | 13 | [urgency_critical] 14 | background = "#1E1E2E" 15 | foreground = "#CDD6F4" 16 | frame_color = "#FAB387" 17 | -------------------------------------------------------------------------------- /dunst/colors/catppuccin-macchiato.conf: -------------------------------------------------------------------------------- 1 | [global] 2 | frame_color = "#8AADF4" 3 | separator_color= frame 4 | 5 | [urgency_low] 6 | background = "#24273A" 7 | foreground = "#CAD3F5" 8 | 9 | [urgency_normal] 10 | background = "#24273A" 11 | foreground = "#CAD3F5" 12 | 13 | [urgency_critical] 14 | background = "#24273A" 15 | foreground = "#CAD3F5" 16 | frame_color = "#F5A97F" 17 | -------------------------------------------------------------------------------- /dunst/icons/volume-muted.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /rofi-own/colors/colors.rasi: -------------------------------------------------------------------------------- 1 | * { 2 | background: #1A1B26; 3 | background-alt: #16161E; 4 | background-alt2: #414868; 5 | foreground: #A9B1D6; 6 | foreground-alt: #061115; 7 | accent: #7DCFFF; 8 | transparent: #00000000; 9 | text-color: @fg; 10 | } 11 | -------------------------------------------------------------------------------- /waybar/modules/player-swap.sh: -------------------------------------------------------------------------------- 1 | var="$(hyprctl activeworkspace | head -1 | sed -e 's/workspace ID //g' | sed -e 's/ on monitor HDMI-A-1://g')" 2 | var2=${var:0:1} 3 | if [ $var2 == "5" ]; then 4 | hyprctl dispatch workspace $(cat /tmp/music-player-switch) 5 | del /tmp/music-player-switch 6 | else 7 | echo $var2 > /tmp/music-player-switch 8 | hyprctl dispatch workspace 5 9 | fi 10 | -------------------------------------------------------------------------------- /polybar/scripts/music-player-switch.sh: -------------------------------------------------------------------------------- 1 | if [ $1 == spotify ]; then 2 | var=5 3 | elif [ $1 == yt ]; then 4 | var=4 5 | fi 6 | if [ $(bspc query -D -d 'focused' --names) == $var ]; then 7 | bspc desktop -f $(cat /tmp/music-player-switch) 8 | del /tmp/music-player-switch 9 | else 10 | bspc query -D -d 'focused' --names > /tmp/music-player-switch 11 | bspc desktop -f $var 12 | fi 13 | -------------------------------------------------------------------------------- /polybar/scripts/jgmenu.sh: -------------------------------------------------------------------------------- 1 | if [ -f ~/.jgmenu-lockfile ]; then 2 | del ~/.jgmenu-lockfile 3 | pgrep jgmenu >/dev/null && pkill jgmenu && jgmenu --csv-file=/home/george/.config/jgmenu/polybar.csv || jgmenu --csv-file=/home/george/.config/jgmenu/polybar.csv 4 | else 5 | pgrep jgmenu >/dev/null && pkill jgmenu && jgmenu --csv-file=/home/george/.config/jgmenu/polybar.csv || jgmenu --csv-file=/home/george/.config/jgmenu/polybar.csv 6 | fi -------------------------------------------------------------------------------- /polybar/launch.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Add this script to your wm startup file. 4 | 5 | DIR="$HOME/.config/polybar/bar" 6 | 7 | # Terminate already running bar instances 8 | killall -q polybar 9 | 10 | # Wait until the processes have been shut down 11 | while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done 12 | 13 | # Launch the bar 14 | # polybar -q second -c "$DIR"/config.ini & 15 | polybar -q main -c "$DIR"/config.ini & 16 | 17 | -------------------------------------------------------------------------------- /scripts/wynnpack: -------------------------------------------------------------------------------- 1 | #! /usr/bin/sh 2 | 3 | mkdir /tmp/wynnpack 4 | cp $1 /tmp/wynnpack/$1 5 | dir=$(pwd) 6 | cd /tmp/wynnpack 7 | jar -xf $1 8 | /usr/bin/rm $1 9 | d=$(date '+%d-%m') 10 | df=$(date '+%a %b %d %H:%M') 11 | echo '{"pack":{"pack_format":8,"description":"§7WynnResourcePack - 2.0\n§a(1.18, '$df')"}}' > pack.mcmeta 12 | zip -r WynnPack-$d.zip assets/ pack.mcmeta pack.png 13 | mv WynnPack-$d.zip $dir/ 14 | cd $dir 15 | /usr/bin/rm -r /tmp/wynnpack -------------------------------------------------------------------------------- /bspwm/keyboard-colors: -------------------------------------------------------------------------------- 1 | #!/bin/zsh 2 | 3 | g512-led -gn keys 89b4fa 4 | g512-led -gn fkeys ff79c6 5 | g512-led -gn arrows ff5555 6 | g512-led -gn numeric bd93f9 7 | g512-led -gn functions ffb86c 8 | g512-led -gn modifiers ff79c6 9 | g512-led -kn tab ff79c6 10 | g512-led -kn capslock ff79c6 11 | g512-led -kn backspace ff79c6 12 | g512-led -kn enter ff79c6 13 | #g512-led -kn space 89b4fa 14 | g512-led -kn escape ff79c6 15 | #g512-led -kn tilde ff79c6 16 | g512-led -c -------------------------------------------------------------------------------- /polybar/scripts/youtube-lock.sh: -------------------------------------------------------------------------------- 1 | #polybar-msg action playerctl-youtube module_toggle >/dev/null 2 | #if [ $(cat /tmp/yt-lock) ]; then 3 | # echo lockfile exists 4 | 5 | # del /tmp/yt-lock 6 | # touch /tmp/yt-lock 7 | #else 8 | # echo str > /tmp/yt-lock 9 | #fi 10 | 11 | if [ "$1" = "toggle" ]; then 12 | if [ $(cat /tmp/yt-lock) ]; then 13 | del /tmp/yt-lock 14 | else 15 | echo str > /tmp/yt-lock 16 | fi 17 | else 18 | echo $(cat /tmp/yt-lock) 19 | fi -------------------------------------------------------------------------------- /hypr/scripts/toggle_blur.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | HYPRGAMEMODE=$(hyprctl getoption animations:enabled | awk 'NR==2{print $2}') 3 | if [ "$HYPRGAMEMODE" = 1 ] ; then 4 | hyprctl --batch "\ 5 | keyword animations:enabled 0;\ 6 | keyword decoration:drop_shadow 0;\ 7 | keyword decoration:blur 0;\ 8 | keyword general:gaps_in 0;\ 9 | keyword general:gaps_out 0;\ 10 | keyword general:border_size 1;\ 11 | keyword decoration:rounding 0" 12 | exit 13 | fi 14 | hyprctl reload -------------------------------------------------------------------------------- /waybar/modules/windowbutton.sh: -------------------------------------------------------------------------------- 1 | if [[ $(hyprctl activewindow) = 'Invalid' ]]; then 2 | text="" 3 | class="empty" 4 | tooltip="" 5 | else 6 | if [ $1 = "-cl" ]; then 7 | text=" " 8 | class=close 9 | tooltip="Close" 10 | elif [ $1 = "-fl" ]; then 11 | text="" 12 | class=floating 13 | tooltip="Toggle float" 14 | elif [ $1 = "-max" ]; then 15 | text=" " 16 | class=maximize 17 | tooltip="Fullscreen" 18 | fi 19 | fi 20 | 21 | echo -e "{\"text\":\""$text"\", \"tooltip\":\""$tooltip"\", \"class\":\""$class"\"}" -------------------------------------------------------------------------------- /rofi-own/scripts/pmc.sh: -------------------------------------------------------------------------------- 1 | wynnicon='\0icon\x1f/home/george/Documents/stuff/random-mc-stuff/wynncraft.png' 2 | var1=' Wynncraft (Fabric 1.19.3)' 3 | var2=' Wynncraft (Fabric 1.18.2)' 4 | var3=' Wynncraft (Forge 1.12.2)' 5 | cmd () { 6 | echo -en "$var1$wynnicon\n$var2$wynnicon\n$var3$wynnicon\n" | rofi -dmenu -theme ~/.config/rofi-own/pmc.rasi 7 | } 8 | chosen="$(cmd)" 9 | echo $chosen 10 | case ${chosen} in 11 | $var1) 12 | prismlauncher -l "wynn-1.19.3" 13 | ;; 14 | $var2) 15 | prismlauncher -l "wynn-1.18" 16 | ;; 17 | $var3) 18 | prismlauncher -l "wynn" 19 | ;; 20 | esac -------------------------------------------------------------------------------- /waybar/modules/spotify-buttons.sh: -------------------------------------------------------------------------------- 1 | if [ $1 = "-prev" ]; then 2 | text="" 3 | class=prev 4 | tooltip="Previous" 5 | elif [ $1 = "-p" ]; then 6 | class=$(playerctl metadata --player=spotify --format '{{lc(status)}}') 7 | if [[ $class == "playing" ]]; then 8 | text="" 9 | tooltip="Pause" 10 | elif [[ $class == "paused" ]]; then 11 | text="" 12 | tooltip="Play" 13 | fi 14 | elif [ $1 = "-next" ]; then 15 | text="" 16 | class=next 17 | tooltip="Next" 18 | fi 19 | 20 | echo -e "{\"text\":\""$text"\", \"tooltip\":\""$tooltip"\", \"class\":\""$class"\"}" -------------------------------------------------------------------------------- /waybar/modules/storage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | mount="/" 4 | warning=20 5 | critical=10 6 | 7 | df -h -P -l "$mount" | awk -v warning=$warning -v critical=$critical ' 8 | /\/.*/ { 9 | text=$4 10 | tooltip="Filesystem: "$1"\rSize: "$2"\rUsed: "$3"\rAvail: "$4"\rUse%: "$5"\rMounted on: "$6 11 | use=$5 12 | exit 0 13 | } 14 | END { 15 | class="" 16 | gsub(/%$/,"",use) 17 | if ((100 - use) < critical) { 18 | class="critical" 19 | } else if ((100 - use) < warning) { 20 | class="warning" 21 | } 22 | print "{\"text\":\""text"\", \"percentage\":"use",\"tooltip\":\""tooltip"\", \"class\":\""class"\"}" 23 | } 24 | ' 25 | -------------------------------------------------------------------------------- /scripts/wallpaper.sh: -------------------------------------------------------------------------------- 1 | icon='\0icon\x1f/home/george/scripts/assets/variety.svg' 2 | var1=' Select wallpaper' 3 | var2=' See wallpaper history' 4 | var3=' Clear wallpaper history' 5 | cmd () { 6 | echo -en "$var1$icon\n$var2$icon\n$var3$icon\n" | rofi -dmenu -theme ~/.config/rofi-own/pmc.rasi 7 | } 8 | if pgrep Hyprland; then var=-wl; else var=""; fi 9 | chosen="$(cmd)" 10 | echo $chosen 11 | case ${chosen} in 12 | $var1) 13 | kitty sh -c "wallpaper-set select ${var}" 14 | ;; 15 | $var2) 16 | kitty sh -c "wallpaper-set history" 17 | ;; 18 | $var3) 19 | wallpaper-set clr-history 20 | ;; 21 | esac -------------------------------------------------------------------------------- /kitty/kitty.conf.bak: -------------------------------------------------------------------------------- 1 | 2 | #fonts 3 | font_family FantasqueSansMono Nerd Font 4 | bold_font auto 5 | italic_font auto 6 | bold_italic_font auto 7 | font_size 13.0 8 | background_opacity 0.6 9 | 10 | #Misc 11 | confirm_os_window_close 0 12 | map ctrl+v paste_from_clipboard 13 | copy_on_select yes 14 | shell_integration no-prompt-mark no-cursor 15 | update_check_interval 0 16 | remember_window_size no 17 | tab_title_template "Kitty : {title}" 18 | 19 | #Appearance 20 | # BEGIN_KITTY_THEME 21 | # Dracula 22 | include current-theme.conf 23 | # END_KITTY_THEME 24 | window_padding_width 4 25 | 26 | cursor_shape underline 27 | cursor_underline_thickness 1.0 28 | -------------------------------------------------------------------------------- /kitty/kitty.conf: -------------------------------------------------------------------------------- 1 | 2 | #fonts 3 | font_family FantasqueSansMono Nerd Font 4 | bold_font auto 5 | italic_font auto 6 | bold_italic_font auto 7 | font_size 13.0 8 | background_opacity 0.6 9 | 10 | #Misc 11 | confirm_os_window_close 0 12 | map ctrl+v paste_from_clipboard 13 | copy_on_select yes 14 | shell_integration no-prompt-mark no-cursor 15 | update_check_interval 0 16 | remember_window_size no 17 | tab_title_template "Kitty : {title}" 18 | 19 | #Appearance 20 | # BEGIN_KITTY_THEME 21 | # Catppuccin-Mocha 22 | include current-theme.conf 23 | # END_KITTY_THEME 24 | window_padding_width 4 25 | 26 | cursor_shape underline 27 | cursor_underline_thickness 1.0 28 | -------------------------------------------------------------------------------- /polybar/tray/config.ini: -------------------------------------------------------------------------------- 1 | [bar/systray] 2 | # As small as possible, polybar will resize it when items get added 3 | width = 1 4 | 5 | # Whatever fits your needs 6 | height = 40 7 | 8 | # Bottom left to imitate gnome-shells systray 9 | bottom = true 10 | 11 | # REQUIRED for us to be able to move the window 12 | override-redirect = true 13 | 14 | modules-right = placeholder 15 | tray-position = left 16 | tray-maxsize = 16 17 | tray-padding = 8 18 | tray-transparent = false 19 | tray-background = #99282a36 20 | 21 | 22 | border-color = #bd93f9 23 | 24 | [module/placeholder] 25 | # Just a dummy module as polybar always requires at least one amodule 26 | type = custom/script 27 | width = 1 -------------------------------------------------------------------------------- /bspwm/scripts/spotify.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | #thanks spotify for being a pain in the ass 3 | 4 | id="${1?}" \ 5 | instance="$3" \ 6 | class="$2"; 7 | desktop="5" 8 | 9 | case "$class" in 10 | (foo) 11 | bar;; 12 | ("") 13 | unset -v _NET_WM_PID; 14 | . /dev/fd/0 2>/dev/null </dev/null)" in 24 | (spotify) 25 | echo desktop=$desktop;; 26 | esac;; 27 | esac; -------------------------------------------------------------------------------- /scripts/assets/variety.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /starship.toml: -------------------------------------------------------------------------------- 1 | add_newline = false 2 | [username] 3 | format = "[╭─](bold blue)[in]($style) " 4 | style_user = "bold yellow" 5 | style_root = "bold red" 6 | show_always = true 7 | 8 | # Second param 9 | [hostname] 10 | format = "[$hostname]($style) [in](blue) " 11 | style = "bold yellow" 12 | trim_at = "-" 13 | ssh_only = true 14 | disabled = false 15 | 16 | # Third param 17 | [directory] 18 | read_only = " " 19 | read_only_style = "bold red" 20 | style = "bold cyan" 21 | truncation_length = 0 22 | truncate_to_repo = false 23 | truncation_symbol = "repo: " 24 | 25 | [character] 26 | #success_symbol = "[╰─](bold blue)" 27 | success_symbol = "[╰─>](bold blue)" 28 | error_symbol = "[╰─×](bold red)" 29 | 30 | -------------------------------------------------------------------------------- /bspwm/scripts/desktop-switch-monitor.sh: -------------------------------------------------------------------------------- 1 | if [ $(bspc query -M -m .focused --names) == "HDMI-A-0" ]; then 2 | if [ $1 == "1" ]; then 3 | var="1" 4 | elif [ $1 == "2" ]; then 5 | var="2" 6 | elif [ $1 == "3" ]; then 7 | var="6" 8 | elif [ $1 == "4" ]; then 9 | var="7" 10 | elif [ $1 == "5" ]; then 11 | var="8" 12 | fi 13 | else 14 | if [ $1 == "1" ]; then 15 | var="3" 16 | elif [ $1 == "2" ]; then 17 | var="4" 18 | elif [ $1 == "3" ]; then 19 | var="5" 20 | elif [ $1 == "4" ]; then 21 | var="9" 22 | elif [ $1 == "5" ]; then 23 | var="0" 24 | fi 25 | fi 26 | bspc desktop -f $var -------------------------------------------------------------------------------- /polybar/bar/colors.ini: -------------------------------------------------------------------------------- 1 | [color] 2 | bg1 = #282a36 3 | bg2 = #44475a 4 | bg3 = #44475a 5 | white = #f8f8f2 6 | 7 | # Dracula # 8 | #fg = #f8f8f2 9 | #bgt = #90282a36 10 | #blue = #6272a4 11 | #cyan = #8be9fd 12 | #green = #50fa7b 13 | #orange = #ffb86c 14 | #pink = #ff79c6 15 | #purple = #bd93f9 16 | #red = #ff5555 17 | #yellow = #f1fa8c 18 | 19 | # Catppuccin # 20 | fg = #cdd6f4 21 | bgt = #1E1E2E 22 | blue = #8aadf4 23 | cyan = #91d7e3 24 | green = #a6da95 25 | orange = #f5a97f 26 | pink = #f5bde6 27 | purple = #c6a0f6 28 | red = #ed8796 29 | yellow = #eed49f 30 | 31 | ### window buttons and workspaces have to be changed manually cause polybar is stupid 32 | 33 | [colors] 34 | include-file = ~/.config/polybar/bar/color.ini -------------------------------------------------------------------------------- /waybar/modules/spotify.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | class=$(playerctl metadata --player=spotify --format '{{lc(status)}}') 4 | icon="" 5 | 6 | if [[ $class == "playing" ]]; then 7 | info=$(playerctl metadata --player=spotify --format '{{artist}} - {{title}}') 8 | if [[ ${#info} > 40 ]]; then 9 | info=$(echo $info | cut -c1-40)"..." 10 | fi 11 | text=$info" "$icon 12 | elif [[ $class == "paused" ]]; then 13 | info=$(playerctl metadata --player=spotify --format '{{artist}} - {{title}}') 14 | if [[ ${#info} > 40 ]]; then 15 | info=$(echo $info | cut -c1-40)"..." 16 | fi 17 | text=$info" "$icon 18 | elif [[ $class == "stopped" ]]; then 19 | text="" 20 | fi 21 | 22 | echo -e "{\"text\":\""$text"\", \"class\":\""$class"\"}" 23 | -------------------------------------------------------------------------------- /rofi-own/scripts/usedram: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | mem_info=$(/tmp/afk-lock 6 | bspc monitor -f HDMI-A-1 7 | bspc query -D -d focused --names >/tmp/afk-lock-2 8 | kitty --class=afk-1 --start-as=fullscreen sh -c "tty-clock -s -c -C 4 -b" & 9 | kitty --class=afk-2 --start-as=fullscreen sh -c "cbonsai -l -i" & 10 | # g512-led -a ff5555 11 | g512-led -fx cwave keys 2a 12 | killall polybar 13 | else 14 | pkill tty-clock 15 | pkill cbonsai 16 | bspc desktop -f $(cat /tmp/afk-lock) 17 | bspc desktop -f $(cat /tmp/afk-lock-2) 18 | del /tmp/afk-lock 19 | del /tmp/afk-lock-2 20 | sh $HOME/.config/bspwm/keyboard-colors 21 | reload-pb 22 | fi 23 | 24 | -------------------------------------------------------------------------------- /scripts/pipewire-simple.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | getDefaultSink() { 4 | defaultSink=$(pactl info | awk -F : '/Default Sink:/{print $2}') 5 | description=$(pactl list sinks | sed -n "/${defaultSink}/,/Description/s/^\s*Description: \(.*\)/\1/p") 6 | echo "${description}" 7 | } 8 | 9 | getDefaultSource() { 10 | defaultSource=$(pactl info | awk -F : '/Default Source:/{print $2}') 11 | description=$(pactl list sources | sed -n "/${defaultSource}/,/Description/s/^\s*Description: \(.*\)/\1/p") 12 | echo "${description}" 13 | } 14 | 15 | VOLUME=$(pamixer --get-volume-human) 16 | SINK=$(getDefaultSink) 17 | SOURCE=$(getDefaultSource) 18 | 19 | case $1 in 20 | "--up") 21 | pamixer --increase 10 22 | ;; 23 | "--down") 24 | pamixer --decrease 10 25 | ;; 26 | "--mute") 27 | pamixer --toggle-mute 28 | ;; 29 | *) 30 | echo "${VOLUME}" 31 | esac 32 | -------------------------------------------------------------------------------- /kitty/dracula.colors.txt: -------------------------------------------------------------------------------- 1 | foreground #f8f8f2 2 | background #282a36 3 | selection_foreground #ffffff 4 | selection_background #44475a 5 | 6 | url_color #8be9fd 7 | 8 | # black 9 | color0 #21222c 10 | color8 #6272a4 11 | 12 | # red 13 | color1 #ff5555 14 | color9 #ff6e6e 15 | 16 | # green 17 | color2 #50fa7b 18 | color10 #69ff94 19 | 20 | # yellow 21 | color3 #f1fa8c 22 | color11 #ffffa5 23 | 24 | # blue 25 | color4 #bd93f9 26 | color12 #d6acff 27 | 28 | # magenta 29 | color5 #ff79c6 30 | color13 #ff92df 31 | 32 | # cyan 33 | color6 #8be9fd 34 | color14 #a4ffff 35 | 36 | # white 37 | color7 #f8f8f2 38 | color15 #ffffff 39 | 40 | # Cursor colors 41 | cursor #d6acff 42 | cursor_text_color background 43 | 44 | # Tab bar colors 45 | active_tab_foreground #282a36 46 | active_tab_background #f8f8f2 47 | inactive_tab_foreground #282a36 48 | inactive_tab_background #6272a4 49 | 50 | # Marks 51 | mark1_foreground #282a36 52 | mark1_background #ff5555 -------------------------------------------------------------------------------- /neofetch/config3.conf: -------------------------------------------------------------------------------- 1 | print_info() { 2 | 3 | prin " " 4 | #prin "$(color 7)╭──────────────$(color 4) Info $(color 7)─────────────╮" 5 | #prin " " 6 | 7 | info "$(color 6) (os)" distro 8 | info "$(color 2) (wm)" wm 9 | info "$(color 1) (upt)" uptime 10 | info "$(color 5) (pkgs)" packages 11 | info "$(color 3) (ram)" memory 12 | 13 | #prin " " 14 | #prin "$(color 7)╰─────────────────────────────────╯" 15 | } 16 | 17 | 18 | kernel_shorthand="on" 19 | distro_shorthand="on" 20 | os_arch="off" 21 | uptime_shorthand="tiny" 22 | memory_percent="off" 23 | memory_unit="M" 24 | package_managers="off" 25 | shell_path="off" 26 | shell_version="off" 27 | cpu_brand="on" 28 | cpu_speed="off" 29 | cpu_cores="off" 30 | cpu_temp="off" 31 | gpu_brand="on" 32 | gpu_type="all" 33 | refresh_rate="off" 34 | gtk_shorthand="on" 35 | bold="on" 36 | separator=" " 37 | image_source="auto" 38 | image_backend="ascii" 39 | ascii_distro="Arch_small" 40 | gap=3 41 | stdout="off" 42 | #ascii_colors=(4 7) 43 | 44 | 45 | -------------------------------------------------------------------------------- /scripts/screenshot-wayland: -------------------------------------------------------------------------------- 1 | #!/usr/bin/zsh 2 | 3 | time=`date +%Y-%m-%d-%I-%M-%S` 4 | dir="$HOME/Pictures/screenshots-wayland" 5 | file="Screenshot_${time}.png" 6 | 7 | ## Add Minecraft and Hades cases 8 | 9 | notify_user () { 10 | if [[ -e "$dir/$file" ]]; then 11 | ACTION=$(dunstify -i $dir/$file --action="clicked,ACTION" 'Screenshot Saved') 12 | case "$ACTION" in 13 | "clicked") 14 | feh $dir/$file 15 | ;; 16 | esac 17 | else 18 | dunstify "Screenshot Deleted." 19 | fi 20 | 21 | } 22 | 23 | shotarea () { 24 | grim -g "$(slurp)" ${dir}/${file} 25 | wl-copy < ${dir}/${file} 26 | notify_user 27 | } 28 | 29 | ## Add area freeze 30 | 31 | imgtotxt () { 32 | grim -g "$(slurp)" ${dir}/${file} 33 | tesseract ${dir}/${file} /tmp/text.tmp --psm 6 -l eng txt 34 | wl-copy $(cat /tmp/text.tmp.txt) 35 | dunstify "Text copied" 36 | } 37 | 38 | if [[ "$1" == "--area" ]]; then 39 | shotarea 40 | #elif [[ "$1" == "--freeze" ]]; then 41 | # shotfreeze 42 | elif [[ "$1" == "--img-to-text" ]]; then 43 | imgtotxt 44 | fi -------------------------------------------------------------------------------- /scripts/catfetch: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Tiny colored fetch script 3 | # elenapan @ github || edited by Firewolf05 @ github 4 | 5 | f=3 b=4 6 | for j in f b; do 7 | for i in {0..7}; do 8 | printf -v $j$i %b "\e[${!j}${i}m" 9 | done 10 | done 11 | d=$'\e[1m' 12 | t=$'\e[0m' 13 | v=$'\e[7m' 14 | 15 | # Items 16 | h=wm 17 | wmname="$(xprop -id $(xprop -root -notype | awk '$1=="_NET_SUPPORTING_WM_CHECK:"{print $5}') -notype -f _NET_WM_NAME 8t | grep "WM_NAME" | cut -f2 -d \")" 18 | 19 | k=kr 20 | kernel="$(uname -r | cut -d '-' -f1)" 21 | 22 | sh=sh 23 | shell=$(basename $SHELL) 24 | 25 | o=os 26 | os="$(uname -s)" 27 | 28 | 29 | p=pk 30 | pk="$(pacman -Q | wc -l)" 31 | 32 | u=up 33 | up="$(uptime -p | sed -e 's/up //g'| sed -e 's/ hours/h/g' | sed -e 's/ minutes/m/g' | sed -e 's/,//g')" 34 | #up="$(awk '{print int($1/3600)"h,"int(($1%3600)/60)"m"}' /proc/uptime)" 35 | 36 | cat << EOF 37 | 38 | /l、 $f3$o $t~ arch 39 | (゚、 。7 $f1$u $t~ $up 40 | l ~ヽ $f6$h $t~ $wmname 41 | じしf_,)ノ $f5$p $t~ $pk 42 | 43 | EOF -------------------------------------------------------------------------------- /waybar/mocha.css: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Catppuccin Mocha palette 4 | * Maintainer: rubyowo 5 | * 6 | */ 7 | 8 | @define-color base #1e1e2e; 9 | @define-color mantle #181825; 10 | @define-color crust #11111b; 11 | 12 | @define-color text #cdd6f4; 13 | @define-color subtext0 #a6adc8; 14 | @define-color subtext1 #bac2de; 15 | 16 | @define-color surface0 #313244; 17 | @define-color surface1 #45475a; 18 | @define-color surface2 #585b70; 19 | 20 | @define-color overlay0 #6c7086; 21 | @define-color overlay1 #7f849c; 22 | @define-color overlay2 #9399b2; 23 | 24 | @define-color blue #89b4fa; 25 | @define-color lavender #b4befe; 26 | @define-color sapphire #74c7ec; 27 | @define-color sky #89dceb; 28 | @define-color teal #94e2d5; 29 | @define-color green #a6e3a1; 30 | @define-color yellow #f9e2af; 31 | @define-color peach #fab387; 32 | @define-color maroon #eba0ac; 33 | @define-color red #f38ba8; 34 | @define-color mauve #cba6f7; 35 | @define-color pink #f5c2e7; 36 | @define-color flamingo #f2cdcd; 37 | @define-color rosewater #f5e0dc; 38 | -------------------------------------------------------------------------------- /scripts/unzip: -------------------------------------------------------------------------------- 1 | #! /usr/bin/bash 2 | 3 | _unzip () { 4 | if [[ ! -f "$1" ]]; then 5 | echo -e "File \e[31m$1\e[0m does not exist, exiting" 6 | exit 7 | fi 8 | 9 | if [ -n "$2" ]; then 10 | dir=$2 11 | dircheck=true 12 | else 13 | dir=$(echo "${1%.*}") 14 | dircheck=false 15 | fi 16 | 17 | while [ -d "$dir" ] 18 | do 19 | echo -e "Directory already exists, extracting into \e[32m$dir(2) \e[0minstead" 20 | dir="$dir(2)" 21 | done 22 | 23 | mkdir $dir 24 | bsdtar xf$cmdh $1 -C $dir 25 | if $dircheck ; then 26 | echo -e "Successfully extracted into \e[32m$dir\e[0m" 27 | else 28 | echo -e "No directory given, extracted into \e[32m$dir\e[0m" 29 | fi 30 | } 31 | 32 | _help () { 33 | echo -e "\e[31m ===> \e[32munzip\e[0m [source] [target directory]" 34 | } 35 | 36 | case $1 in 37 | "--help") 38 | _help 39 | ;; 40 | "--silent") 41 | cmdh="" 42 | _unzip $2 $3 43 | ;; 44 | *) 45 | cmdh="v" 46 | _unzip $@ 47 | ;; 48 | esac 49 | 50 | 51 | -------------------------------------------------------------------------------- /polybar/scripts/module-playerctl.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | display () { 4 | if [[ $(cat ~/.module-playerctl) = " " ]]; then 5 | echo "%{u#cdd6f4}%{F#cdd6f4} - " 6 | elif [[ $(cat ~/.module-playerctl) = "--player=spotify" ]]; then 7 | echo "%{u#a6da95}%{F#a6da95}󰓇 " 8 | elif [[ $(cat ~/.module-playerctl) = "--player=firefox" ]]; then 9 | echo "%{u#ed8796}%{F#ed8796}" 10 | fi 11 | 12 | } 13 | 14 | switch () { 15 | if [[ $(cat ~/.module-playerctl) = " " ]]; then 16 | echo "--player=spotify" > ~/.module-playerctl 17 | polybar-msg action "#playerctl-display.hook.0" 18 | elif [[ $(cat ~/.module-playerctl) = "--player=spotify" ]]; then 19 | echo "--player=firefox" > ~/.module-playerctl 20 | polybar-msg action "#playerctl-display.hook.0" 21 | elif [[ $(cat ~/.module-playerctl) = "--player=firefox" ]]; then 22 | echo " " > ~/.module-playerctl 23 | polybar-msg action "#playerctl-display.hook.0" 24 | fi 25 | } 26 | 27 | if [ $1 == "display" ]; then 28 | display 29 | elif [ $1 == "switch" ]; then 30 | switch 31 | fi -------------------------------------------------------------------------------- /waybar/modules/mail.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | 3 | import os 4 | import imaplib 5 | 6 | import mailsecrets 7 | 8 | def getmails(username, password, server): 9 | imap = imaplib.IMAP4_SSL(server, 993) 10 | imap.login(username, password) 11 | imap.select('INBOX') 12 | ustatus, uresponse = imap.uid('search', None, 'UNSEEN') 13 | if ustatus == 'OK': 14 | unread_msg_nums = uresponse[0].split() 15 | else: 16 | unread_msg_nums = [] 17 | 18 | fstatus, fresponse = imap.uid('search', None, 'FLAGGED') 19 | if fstatus == 'OK': 20 | flagged_msg_nums = fresponse[0].split() 21 | else: 22 | flagged_msg_nums = [] 23 | 24 | return [len(unread_msg_nums), len(flagged_msg_nums)] 25 | 26 | ping = os.system("ping " + mailsecrets.server + " -c1 > /dev/null 2>&1") 27 | if ping == 0: 28 | mails = getmails(mailsecrets.username, mailsecrets.password, mailsecrets.server) 29 | text = '' 30 | alt = '' 31 | 32 | if mails[0] > 0: 33 | text = alt = str(mails[0]) 34 | if mails[1] > 0: 35 | alt = str(mails[1]) + "  " + alt 36 | else: 37 | exit(1) 38 | 39 | print('{"text":"' + text + '", "alt": "' + alt + '"}') 40 | 41 | else: 42 | exit(1) 43 | -------------------------------------------------------------------------------- /rofi-own/scripts/usedcpu: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | PREV_TOTAL=0 4 | PREV_IDLE=0 5 | 6 | cpuFile="/tmp/.cpu" 7 | 8 | if [[ -f "${cpuFile}" ]]; then 9 | fileCont=$(cat "${cpuFile}") 10 | PREV_TOTAL=$(echo "${fileCont}" | head -n 1) 11 | PREV_IDLE=$(echo "${fileCont}" | tail -n 1) 12 | fi 13 | 14 | CPU=(`cat /proc/stat | grep '^cpu '`) # Get the total CPU statistics. 15 | unset CPU[0] # Discard the "cpu" prefix. 16 | IDLE=${CPU[4]} # Get the idle CPU time. 17 | 18 | # Calculate the total CPU time. 19 | TOTAL=0 20 | 21 | for VALUE in "${CPU[@]:0:4}"; do 22 | let "TOTAL=$TOTAL+$VALUE" 23 | done 24 | 25 | if [[ "${PREV_TOTAL}" != "" ]] && [[ "${PREV_IDLE}" != "" ]]; then 26 | # Calculate the CPU usage since we last checked. 27 | let "DIFF_IDLE=$IDLE-$PREV_IDLE" 28 | let "DIFF_TOTAL=$TOTAL-$PREV_TOTAL" 29 | let "DIFF_USAGE=(1000*($DIFF_TOTAL-$DIFF_IDLE)/$DIFF_TOTAL+5)/10" 30 | if [[ $1 = "-i" ]]; then 31 | echo " ${DIFF_USAGE}%" 32 | else 33 | echo "${DIFF_USAGE}%" 34 | fi 35 | else 36 | if [[ $1 = "-i" ]]; then 37 | echo " ?" 38 | else 39 | echo "?" 40 | fi 41 | fi 42 | 43 | # Remember the total and idle CPU times for the next check. 44 | echo "${TOTAL}" > "${cpuFile}" 45 | echo "${IDLE}" >> "${cpuFile}" 46 | -------------------------------------------------------------------------------- /rofi-own/scripts/powermenu.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ## Author : Aditya Shakya 4 | ## Mail : adi1090x@gmail.com 5 | ## Github : @adi1090x 6 | ## Twitter : @adi1090x 7 | 8 | style="rounded" 9 | 10 | dir="$HOME/.config/rofi/" 11 | rofi_command="rofi -theme $dir/powermenu.rasi" 12 | 13 | uptime=$(uptime -p | sed -e 's/up //g') 14 | cpu=$($HOME/.config/rofi/scripts/usedcpu) 15 | memory=$($HOME/.config/rofi/scripts/usedram) 16 | 17 | # Options 18 | shutdown="" 19 | reboot="" 20 | lock="" 21 | suspend="" 22 | logout="" 23 | 24 | # Confirmation 25 | confirm_exit() { 26 | rofi -dmenu\ 27 | -i\ 28 | -no-fixed-num-lines\ 29 | -p "Are You Sure? : "\ 30 | -theme $HOME/.config/rofi-new/confirm.rasi 31 | } 32 | 33 | 34 | # Variable passed to rofi 35 | options="$shutdown\n$reboot\n$lock\n$suspend\n$logout" 36 | 37 | chosen="$(echo -e "$options" | $rofi_command -p "祥 $uptime |  $cpu | ﬙ $memory " -dmenu -selected-row 2)" 38 | case $chosen in 39 | $shutdown) 40 | systemctl poweroff 41 | ;; 42 | $reboot) 43 | systemctl reboot 44 | ;; 45 | $lock) 46 | betterlockscreen -l 47 | ;; 48 | $suspend) 49 | mpc -q pause 50 | amixer set Master mute 51 | systemctl suspend 52 | ;; 53 | $logout) 54 | bspc quit 55 | ;; 56 | esac 57 | -------------------------------------------------------------------------------- /rofi-own/scripts/quicklinks.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ## Author : Aditya Shakya 4 | ## Mail : adi1090x@gmail.com 5 | ## Github : @adi1090x 6 | ## Twitter : @adi1090x 7 | 8 | rofi_command="rofi -theme $HOME/.config/rofi/style.rasi" 9 | 10 | # Error msg 11 | msg() { 12 | rofi -theme "$dir/message.rasi" -e "$1" 13 | } 14 | 15 | # Browser 16 | if [[ -f /usr/bin/firefox ]]; then 17 | app="firefox" 18 | elif [[ -f /usr/bin/chromium ]]; then 19 | app="chromium" 20 | elif [[ -f /usr/bin/midori ]]; then 21 | app="midori" 22 | else 23 | msg "No suitable web browser found!" 24 | exit 1 25 | fi 26 | 27 | # Links 28 | google="" 29 | 30 | twitter="" 31 | github="" 32 | mail="" 33 | youtube="" 34 | 35 | # Variable passed to rofi 36 | options="$google\n$twitter\n$github\n$mail\n$youtube" 37 | 38 | chosen="$(echo -e "$options" | $rofi_command -p "Open In : Firefox" -dmenu -selected-row 0)" 39 | case $chosen in 40 | $google) 41 | $app https://duckduckgo.com/ & 42 | ;; 43 | $twitter) 44 | $app https://www.twitter.com & 45 | ;; 46 | $github) 47 | $app https://www.github.com & 48 | ;; 49 | $mail) 50 | $app https://www.gmail.com & 51 | ;; 52 | $youtube) 53 | $app https://www.youtube.com & 54 | ;; 55 | esac 56 | 57 | -------------------------------------------------------------------------------- /scripts/wallpaper-set: -------------------------------------------------------------------------------- 1 | temp=/tmp/rangerfilechooser 2 | dir=$HOME/Documents/wallpapers/ 3 | hist=$HOME/Documents/wallpapers/.history/ 4 | 5 | sel () { 6 | ranger --choosefile $temp --selectfile ${dir}$(/bin/ls --group-directories-first | head -1) 7 | feh --bg-fill "$(cat $temp)" 8 | cp "$(cat $temp)" ${hist} 9 | if [ -f ${hist}1 ]; then /bin/rm ${hist}1; fi 10 | } 11 | 12 | sel_wl () { 13 | ranger --choosefile $temp --selectfile ${dir}$(/bin/ls --group-directories-first | head -1) 14 | pkill swaybg && swaybg -m fill -i "$(cat $temp)" || swaybg -m fill -i "$(cat $temp)" &! 15 | cp $temp ~/.lastwallpaper-wl 16 | cp "$(cat $temp)" ${hist} 17 | if [ -f ${hist}1 ]; then /bin/rm ${hist}1; fi 18 | } 19 | 20 | history () { 21 | ranger -r $HOME/.config/ranger/sec --choosefile $temp --selectfile ${hist}$(/bin/ls -tr ${hist} | tail -1) 22 | feh --bg-fill "$(cat $temp)" 23 | file=$(basename $(cat $temp)) 24 | cp $(cat $temp) /tmp/$file 25 | /bin/rm $(cat $temp) 26 | mv "/tmp/$file" ${hist} 27 | } 28 | 29 | if [ $1 = "select" ]; then 30 | if [ $2 = "-wl" ]; then 31 | sel_wl 32 | else 33 | sel 34 | fi 35 | elif [ $1 = "history" ]; then 36 | history 37 | elif [ $1 = "clr-history" ]; then 38 | /bin/rm ${hist}* 39 | echo "No recent wallpapers" > ${hist}1 40 | fi -------------------------------------------------------------------------------- /scripts/bloons: -------------------------------------------------------------------------------- 1 | gameDir=/mnt/1tb-hdd/SteamLibrary/steamapps/common/BloonsTD6 2 | modsDir=~/BloonMods 3 | 4 | enable () { 5 | x=0 6 | mv $modsDir/version.dll $gameDir/version.dll && x=$((x+1)) 7 | mv $modsDir/MelonLoader $gameDir/MelonLoader && x=$((x+1)) 8 | mv $modsDir/Mods $gameDir/Mods && x=$((x+1)) 9 | mv $modsDir/dobby.dll $gameDir/dobby.dll && x=$((x+1)) 10 | if [ $x == 4 ]; then 11 | echo Enabled > $modsDir/lockfile 12 | echo Enabled mods 13 | else 14 | echo Something failed :c 15 | fi 16 | } 17 | 18 | disable () { 19 | x=0 20 | mv $gameDir/version.dll $modsDir/version.dll && x=$((x+1)) 21 | mv $gameDir/MelonLoader $modsDir/MelonLoader && x=$((x+1)) 22 | mv $gameDir/Mods $modsDir/Mods && x=$((x+1)) 23 | mv $gameDir/dobby.dll $modsDir/dobby.dll && x=$((x+1)) 24 | if [ $x == 4 ]; then 25 | echo Disabled > $modsDir/lockfile 26 | echo Disabled mods 27 | else 28 | echo Something failed :c 29 | fi 30 | } 31 | 32 | toggle () { 33 | if [ $(cat $modsDir/lockfile) == "Disabled" ]; then 34 | enable 35 | else 36 | disable 37 | fi 38 | } 39 | 40 | case $1 in 41 | "enable") 42 | enable 43 | ;; 44 | "disable") 45 | disable 46 | ;; 47 | "toggle") 48 | toggle 49 | ;; 50 | "status") 51 | cat $modsDir/lockfile 52 | ;; 53 | esac 54 | -------------------------------------------------------------------------------- /scripts/polybar/spotify-playerctl.sh: -------------------------------------------------------------------------------- 1 | action () { 2 | if [[ $1 == "pause" ]]; then 3 | echo "" > /tmp/polybarIconSpotify 4 | polybar-msg action "#playerctl-spotify.hook.0" > /dev/null 5 | playerctl --player=spotify pause 6 | elif [[ $1 == "play" ]]; then 7 | echo "" > /tmp/polybarIconSpotify 8 | polybar-msg action "#playerctl-spotify.hook.0" > /dev/null 9 | playerctl --player=spotify play 10 | fi 11 | } 12 | 13 | display () { 14 | echo $(playerctl --player=spotify metadata -f '{{artist}} - {{title}}') > /tmp/polybarDataSpotify 15 | icon=$(cat /tmp/polybarIconSpotify) 16 | if pgrep spotify >/dev/null ; then 17 | if [ $icon = "" ]; then 18 | echo "%{A1:playerctl --player=spotify previous:}  %{A}%{A1:~/scripts/polybar/spotify-playerctl.sh action pause:}$icon%{A}%{A1:playerctl --player=spotify next:}  %{A}| " $(playerctl --player=spotify metadata -f '{{artist}} - {{title}}') 19 | else 20 | echo "%{A1:playerctl --player=spotify previous:}  %{A}%{A1:~/scripts/polybar/spotify-playerctl.sh action play:}$icon%{A}%{A1:playerctl --player=spotify next:}  %{A}| " $(playerctl --player=spotify metadata -f '{{artist}} - {{title}}') 21 | fi 22 | else 23 | echo 24 | fi 25 | } 26 | 27 | 28 | if [[ $1 == "display" ]]; then 29 | display 30 | elif [[ $1 == "action" ]]; then 31 | action $2 32 | fi -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # dotfiles 2 | **Window Manager**: bspwm \ 3 | **Compositor**: [Picom (jonaburg fork)](https://github.com/jonaburg/picom) \ 4 | **Bar**: [Polybar](https://github.com/polybar/polybar/) 5 | 6 | **Discord customization**: [Vencord](https://github.com/Vendicated/Vencord) - [OpenAsar](https://openasar.dev/) - [Catppuccin theme (fork of the official theme with slightly edited colors)](https://github.com/Firewolf05/catppuccin-discord) \ 7 | **Editor**: [Code - OSS](https://archlinux.org/packages/community/x86_64/code/) - [Catppuccin theme (Mocha)](https://github.com/catppuccin/vscode) \ 8 | **File manager**: ranger \ 9 | **Fetch programs**: neofetch - [catfetch](https://github.com/Firewolf05/dotfiles/blob/main/neofetch/catfetch) \ 10 | **Other**: [cava](https://github.com/karlstav/cava) - tty-clock 11 | 12 | **GTK theme**: [Catppuccin-Blue](https://github.com/catppuccin/gtk) \ 13 | **Icons**: [Papirus](https://github.com/PapirusDevelopmentTeam/papirus-icon-theme) 14 | 15 | **Firefox**: [WaveFox](https://github.com/QNetITQ/WaveFox) - Catppuccin-mocha-lavender 16 | 17 | ![image](https://user-images.githubusercontent.com/77410335/200916066-fc0b178c-a0cf-4e12-9c63-6b39e251b4e0.png) 18 | 19 | ![image](https://user-images.githubusercontent.com/77410335/200916154-f3037944-4feb-41ab-bd17-7d6d739aa22a.png) 20 | 21 | ![image](https://user-images.githubusercontent.com/77410335/200916226-b9e7c586-9713-47da-aa57-053f1d54ed83.png) 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /bspwm/scripts/jgmenu.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | command=$(xdotool getmouselocation --shell | cut -b 3,4,5,6 | sed -n '2 p') 3 | 4 | if_polybar () { 5 | if (($command > 31)); then 6 | if [ -f ~/.jgmenu-lockfile ]; then 7 | del ~/.jgmenu-lockfile 8 | pgrep jgmenu >/dev/null && pkill jgmenu && jgmenu || jgmenu 9 | else 10 | pgrep jgmenu >/dev/null && pkill jgmenu && jgmenu || jgmenu 11 | fi 12 | fi 13 | } 14 | 15 | if_kitty () { 16 | if [[ $(xdotool getactivewindow getwindowclassname) == "kitty" ]]; then 17 | if (($command > 40)); then 18 | if [ -f ~/.jgmenu-lockfile ]; then 19 | del ~/.jgmenu-lockfile 20 | pgrep jgmenu >/dev/null && pkill jgmenu && jgmenu --csv-file=/home/george/.config/jgmenu/kitty.csv || jgmenu --csv-file=/home/george/.config/jgmenu/kitty.csv 21 | else 22 | pgrep jgmenu >/dev/null && pkill jgmenu && jgmenu --csv-file=/home/george/.config/jgmenu/kitty.csv || jgmenu --csv-file=/home/george/.config/jgmenu/kitty.csv 23 | fi 24 | fi 25 | fi 26 | } 27 | 28 | if_variety () { 29 | if [[ $(xdotool getactivewindow getwindowname) == "Variety Images" ]]; then 30 | if_polybar 31 | elif [[ $(xdotool getactivewindow getwindowname) == "Variety History" ]]; then 32 | if_polybar 33 | fi 34 | } 35 | 36 | if bspc query -D -d 'focused.!occupied' ; then 37 | if_polybar 38 | else 39 | if_variety 40 | fi 41 | 42 | -------------------------------------------------------------------------------- /scripts/git-prep.sh: -------------------------------------------------------------------------------- 1 | #! /usr/bin/bash 2 | 3 | cfg="$HOME/.config" 4 | dots="$HOME/dotfiles" 5 | x=0 6 | 7 | # configs 8 | rm -r $dots/bspwm && cp -r $cfg/bspwm $dots/ && echo Copied bspwm config && x=$((x+1)) 9 | rm -r $dots/ranger && cp -r $cfg/ranger $dots/ && echo Copied ranger config && x=$((x+1)) 10 | rm -r $dots/dunst && cp -r $cfg/dunst $dots/ && echo Copied dunst config && x=$((x+1)) 11 | rm -r $dots/kitty && cp -r $cfg/kitty $dots/ && echo Copied kitty config && x=$((x+1)) 12 | rm -r $dots/neofetch && cp -r $cfg/neofetch $dots/ && echo Copied neofetch config && x=$((x+1)) 13 | rm -r $dots/picom && cp -r $cfg/picom $dots/ && echo Copied picom config && x=$((x+1)) 14 | rm -r $dots/polybar && cp -r $cfg/polybar $dots/ && echo Copied polybar config && x=$((x+1)) 15 | rm -r $dots/rofi-own && cp -r $cfg/rofi-own $dots/ && echo Copied rofi config && x=$((x+1)) 16 | rm -r $dots/stalonetrayrc && cp $cfg/stalonetrayrc $dots/ && echo Copied stalonetray config && x=$((x+1)) 17 | rm -r $dots/starship.toml && cp $cfg/starship.toml $dots/ && echo Copied starship config && x=$((x+1)) 18 | rm -r $dots/hypr && cp -r $cfg/hypr $dots/ && echo Copied Hyprland config && x=$((x+1)) 19 | rm -r $dots/waybar && cp -r $cfg/waybar $dots/ && echo Copied Waybar config && x=$((x+1)) 20 | 21 | 22 | # scripts 23 | rm -r $dots/scripts && cp -r $HOME/scripts $dots/scripts && rm -r $dots/scripts/wip && echo Copied scripts && x=$((x+1)) 24 | 25 | # zsh 26 | rm -r $dots/zsh/* && cp -r $cfg/zsh/aliases.zsh $cfg/zsh/functions.zsh $cfg/zsh/theme.zsh $cfg/zsh/zshrc $dots/zsh && echo Copied zsh config && x=$((x+1)) 27 | 28 | echo 29 | if [ $x == 14 ]; then 30 | echo Copied everything successfully 31 | else 32 | echo Something failed 33 | fi 34 | 35 | echo "git add ." 36 | echo "git commit -m " 37 | echo "git push -u origin main" 38 | cd $dots 39 | $SHELL 40 | -------------------------------------------------------------------------------- /kitty/Catppuccin.conf: -------------------------------------------------------------------------------- 1 | # vim:ft=kitty 2 | 3 | ## name: Catppuccin 4 | ## author: Pocco81 (https://github.com/Pocco81) 5 | ## license: MIT 6 | ## upstream: https://raw.githubusercontent.com/catppuccin/kitty/main/catppuccin.conf 7 | ## blurb: Soothing pastel theme for the high-spirited! 8 | 9 | # The basic colors 10 | foreground #D9E0EE 11 | background #1E1E2E 12 | selection_foreground #D9E0EE 13 | selection_background #575268 14 | 15 | # Cursor colors 16 | cursor #F5E0DC 17 | cursor_text_color #1E1E2E 18 | 19 | # URL underline color when hovering with mouse 20 | url_color #F5E0DC 21 | 22 | # kitty window border colors 23 | active_border_color #C9CBFF 24 | inactive_border_color #575268 25 | bell_border_color #FAE3B0 26 | 27 | # OS Window titlebar colors 28 | wayland_titlebar_color system 29 | macos_titlebar_color system 30 | 31 | #: Tab bar colors 32 | active_tab_foreground #F5C2E7 33 | active_tab_background #575268 34 | inactive_tab_foreground #D9E0EE 35 | inactive_tab_background #1E1E2E 36 | tab_bar_background #161320 37 | 38 | # Colors for marks (marked text in the terminal) 39 | 40 | mark1_foreground #1E1E2E 41 | mark1_background #96CDFB 42 | mark2_foreground #1E1E2E 43 | mark2_background #F5C2E7 44 | mark3_foreground #1E1E2E 45 | mark3_background #B5E8E0 46 | 47 | #: The 16 terminal colors 48 | 49 | #: black 50 | color0 #6E6C7E 51 | color8 #988BA2 52 | 53 | #: red 54 | color1 #F28FAD 55 | color9 #F28FAD 56 | 57 | #: green 58 | color2 #ABE9B3 59 | color10 #ABE9B3 60 | 61 | #: yellow 62 | color3 #FAE3B0 63 | color11 #FAE3B0 64 | 65 | #: blue 66 | color4 #96CDFB 67 | color12 #96CDFB 68 | 69 | #: magenta 70 | color5 #F5C2E7 71 | color13 #F5C2E7 72 | 73 | #: cyan 74 | color6 #89DCEB 75 | color14 #89DCEB 76 | 77 | #: white 78 | color7 #D9E0EE 79 | color15 #D9E0EE 80 | -------------------------------------------------------------------------------- /kitty/current-theme.conf: -------------------------------------------------------------------------------- 1 | # vim:ft=kitty 2 | 3 | ## name: Catppuccin-Mocha 4 | ## author: Pocco81 (https://github.com/Pocco81) 5 | ## license: MIT 6 | ## upstream: https://github.com/catppuccin/kitty/blob/main/mocha.conf 7 | ## blurb: Soothing pastel theme for the high-spirited! 8 | 9 | 10 | 11 | # The basic colors 12 | foreground #CDD6F4 13 | background #1E1E2E 14 | selection_foreground #1E1E2E 15 | selection_background #F5E0DC 16 | 17 | # Cursor colors 18 | cursor #F5E0DC 19 | cursor_text_color #1E1E2E 20 | 21 | # URL underline color when hovering with mouse 22 | url_color #F5E0DC 23 | 24 | # Kitty window border colors 25 | active_border_color #B4BEFE 26 | inactive_border_color #6C7086 27 | bell_border_color #F9E2AF 28 | 29 | # OS Window titlebar colors 30 | wayland_titlebar_color system 31 | macos_titlebar_color system 32 | 33 | # Tab bar colors 34 | active_tab_foreground #11111B 35 | active_tab_background #CBA6F7 36 | inactive_tab_foreground #CDD6F4 37 | inactive_tab_background #181825 38 | tab_bar_background #11111B 39 | 40 | # Colors for marks (marked text in the terminal) 41 | mark1_foreground #1E1E2E 42 | mark1_background #B4BEFE 43 | mark2_foreground #1E1E2E 44 | mark2_background #CBA6F7 45 | mark3_foreground #1E1E2E 46 | mark3_background #74C7EC 47 | 48 | # The 16 terminal colors 49 | 50 | # black 51 | color0 #45475A 52 | color8 #585B70 53 | 54 | # red 55 | color1 #F38BA8 56 | color9 #F38BA8 57 | 58 | # green 59 | color2 #A6E3A1 60 | color10 #A6E3A1 61 | 62 | # yellow 63 | color3 #F9E2AF 64 | color11 #F9E2AF 65 | 66 | # blue 67 | color4 #89B4FA 68 | color12 #89B4FA 69 | 70 | # magenta 71 | color5 #F5C2E7 72 | color13 #F5C2E7 73 | 74 | # cyan 75 | color6 #94E2D5 76 | color14 #94E2D5 77 | 78 | # white 79 | color7 #BAC2DE 80 | color15 #A6ADC8 81 | -------------------------------------------------------------------------------- /neofetch/config1.conf: -------------------------------------------------------------------------------- 1 | print_info() { 2 | 3 | prin " " 4 | info " ​ ​  " title 5 | prin "$(color 7)┌──────────────────────────────────────┐" 6 | #prin " " 7 | 8 | #info " ​ ​ $(color 4) \n" model 9 | info " ​ ​ $(color 6) \n" cpu 10 | prin " ​ ​ $(color 2) \n" AMD\ ATI\ Radeon\ RX\ 580 11 | info " ​ ​ $(color 1) \n" memory 12 | info " ​ ​ $(color 5) \n" resolution 13 | 14 | #prin " " 15 | #prin "$(color 7)╰──────────────────────────────────────╯" 16 | #prin " " 17 | prin "$(color 7)├──────────────────────────────────────┤" 18 | #prin " " 19 | 20 | info " ​ ​ $(color 4) \n" distro 21 | #prin " ​ ​ $(color 4) \n" SteamOS 22 | info " ​ ​ $(color 4) \n" kernel 23 | info " ​ ​ $(color 6) \n" wm 24 | info " ​ ​ $(color 2) \n" shell 25 | info " ​ ​ $(color 3) \n" term 26 | #info " ​ ​ $(color 7) \n" term_font 27 | info " ​ ​ $(color 5) \n" theme 28 | info " ​ ​ $(color 1) \n" icons 29 | info " ​ ​ $(color 2) \n" packages 30 | info " ​ ​ $(color 3) \n" uptime 31 | 32 | #prin " " 33 | prin "$(color 7)└──────────────────────────────────────┘" 34 | prin " " 35 | } 36 | 37 | 38 | kernel_shorthand="on" 39 | distro_shorthand="on" 40 | os_arch="off" 41 | uptime_shorthand="on" 42 | memory_percent="on" 43 | memory_unit="gib" 44 | package_managers="on" 45 | shell_path="off" 46 | shell_version="off" 47 | cpu_brand="on" 48 | cpu_speed="off" 49 | cpu_cores="off" 50 | cpu_temp="off" 51 | gpu_brand="on" 52 | gpu_type="all" 53 | refresh_rate="off" 54 | gtk_shorthand="on" 55 | bold="on" 56 | separator="  " 57 | image_source="auto" 58 | #ascii_distro="ArchLinux_small" 59 | gap=3 60 | stdout="off" 61 | ascii_colors=(distro) 62 | image_backend="ascii" 63 | image_source="/home/george/.config/neofetch/logo1.png" 64 | #image_source="/home/george/.config/neofetch/logo1.png" -------------------------------------------------------------------------------- /kitty/Catppuccin-mocha.conf: -------------------------------------------------------------------------------- 1 | # vim:ft=kitty 2 | 3 | ## name: Catppuccin-Mocha 4 | ## author: Pocco81 (https://github.com/Pocco81) 5 | ## license: MIT 6 | ## upstream: https://github.com/catppuccin/kitty/blob/main/mocha.conf 7 | ## blurb: Soothing pastel theme for the high-spirited! 8 | 9 | 10 | 11 | # The basic colors 12 | foreground #CDD6F4 13 | background #1E1E2E 14 | selection_foreground #1E1E2E 15 | selection_background #F5E0DC 16 | 17 | # Cursor colors 18 | cursor #F5E0DC 19 | cursor_text_color #1E1E2E 20 | 21 | # URL underline color when hovering with mouse 22 | url_color #F5E0DC 23 | 24 | # Kitty window border colors 25 | active_border_color #B4BEFE 26 | inactive_border_color #6C7086 27 | bell_border_color #F9E2AF 28 | 29 | # OS Window titlebar colors 30 | wayland_titlebar_color system 31 | macos_titlebar_color system 32 | 33 | # Tab bar colors 34 | active_tab_foreground #11111B 35 | active_tab_background #CBA6F7 36 | inactive_tab_foreground #CDD6F4 37 | inactive_tab_background #181825 38 | tab_bar_background #11111B 39 | 40 | # Colors for marks (marked text in the terminal) 41 | mark1_foreground #1E1E2E 42 | mark1_background #B4BEFE 43 | mark2_foreground #1E1E2E 44 | mark2_background #CBA6F7 45 | mark3_foreground #1E1E2E 46 | mark3_background #74C7EC 47 | 48 | # The 16 terminal colors 49 | 50 | # black 51 | color0 #45475A 52 | color8 #585B70 53 | 54 | # red 55 | color1 #F38BA8 56 | color9 #F38BA8 57 | 58 | # green 59 | color2 #A6E3A1 60 | color10 #A6E3A1 61 | 62 | # yellow 63 | color3 #F9E2AF 64 | color11 #F9E2AF 65 | 66 | # blue 67 | color4 #89B4FA 68 | color12 #89B4FA 69 | 70 | # magenta 71 | color5 #F5C2E7 72 | color13 #F5C2E7 73 | 74 | # cyan 75 | color6 #94E2D5 76 | color14 #94E2D5 77 | 78 | # white 79 | color7 #BAC2DE 80 | color15 #A6ADC8 81 | 82 | -------------------------------------------------------------------------------- /waybar/style.css: -------------------------------------------------------------------------------- 1 | 2 | * { 3 | border: none; 4 | border-radius: 0; 5 | font-family: WeatherIcons, "icomoon\-feather", Iosevka; 6 | font-size: 15px; 7 | box-shadow: none; 8 | text-shadow: none; 9 | transition-duration: 0s; 10 | margin: 0px; 11 | } 12 | 13 | window { 14 | padding-top: 10px; 15 | color: rgba(217, 216, 216, 1); 16 | background: rgba(30, 30, 46, 1); 17 | } 18 | 19 | 20 | 21 | #workspaces { 22 | border-radius: 4px; 23 | background: rgba(30, 30, 46, 1); 24 | } 25 | 26 | #workspaces button { 27 | padding: 0 3px; 28 | color: #6272a4; 29 | } 30 | 31 | 32 | #workspaces button.persistent { 33 | color: #44475a; 34 | } 35 | 36 | #workspaces button.active { 37 | color: #8aadf4; 38 | } 39 | 40 | #workspaces button.urgent { 41 | color: #f38ba8; 42 | } 43 | 44 | #pulseaudio { 45 | color: #89dceb; 46 | } 47 | 48 | #pulseaudio.muted { 49 | color: #f38ba8; 50 | } 51 | 52 | #clock { 53 | color: #f38ba8; 54 | padding-right: 10; 55 | } 56 | 57 | #window { 58 | color: #fab387; 59 | } 60 | 61 | #custom-weather.display { 62 | color: #f5c2e7; 63 | } 64 | 65 | #custom-spotify.playing { 66 | color: #a6e3a1; 67 | } 68 | 69 | #custom-windowbutton-close { 70 | color: #f38ba8; 71 | } 72 | 73 | #custom-windowbutton-float { 74 | color: #89dceb; 75 | } 76 | 77 | #custom-windowbutton-fullscreen { 78 | color: #f9e2af; 79 | } 80 | 81 | #custom-sysmenu { 82 | padding-left: 5; 83 | color: #fab387; 84 | } 85 | 86 | #custom-spotify-prev { 87 | padding-right: 3px; 88 | color: #a6e3a1; 89 | } 90 | 91 | #custom-spotify-play-pause { 92 | color: #a6e3a1; 93 | } 94 | 95 | #custom-spotify-next { 96 | padding-left: 3px; 97 | color: #a6e3a1; 98 | } 99 | 100 | #language { 101 | color: #f9e2af; 102 | } -------------------------------------------------------------------------------- /zsh/aliases.zsh: -------------------------------------------------------------------------------- 1 | alias ls='exa --color=always --group-directories-first --icons' 2 | alias lsa='exa -la --color=always --group-directories-first --icons' 3 | alias la='exa -a --color=always --group-directories-first --icons' 4 | alias ll='exa -l --color=always --group-directories-first --icons' 5 | alias lt='exa -aT --color=always --group-directories-first --icons' 6 | alias l.="exa --all --icons" 7 | alias ..='cd ..' 8 | alias ...='cd ../../' 9 | alias ....='cd ../../../' 10 | alias nano='nano -c -g -m' 11 | alias hi='figlet HELLO!!! | lolcat' 12 | alias ytmusic-dl='youtube-dl -f mp4 -x --audio-format mp3' 13 | alias neofetch_3='neofetch --config $HOME/.config/neofetch/config3.conf' 14 | alias neofetch='neofetch --config $HOME/.config/neofetch/config.conf' 15 | alias neofetch_2='neofetch --config $HOME/.config/neofetch/config2.conf' 16 | alias neofetch_1='neofetch --config $HOME/.config/neofetch/config1.conf' 17 | alias winfetch='neofetch --config $HOME/.config/neofetch/winfetch.conf' 18 | alias pls='sudo' 19 | alias matrix='neo-matrix -D' 20 | alias S='paru -S' 21 | alias Ss='pacman -Ss' 22 | alias Si='pacman -Si' 23 | alias R='paru -Rns' 24 | alias Syu='sudo pacman -Syu' 25 | alias Qs='paru -Qs' 26 | alias Qi='paru -Qi' 27 | alias ySi='paru -Si' 28 | alias ySs='paru -Ss' 29 | alias yay='paru' 30 | alias getgit='git config --get remote.origin.url' 31 | alias clock='tty-clock -s -c -C 4 -b' 32 | alias orphans='pacman -Qdtq && sudo pacman -Rs $(pacman -Qdtq)' 33 | alias conf='cd $HOME/.config' 34 | alias gitrepos='cd $HOME/Documents/git-repos' 35 | alias .h='cd /mnt/1tb-hdd/SteamLibrary/steamapps/common/Hades/' 36 | alias audio='pavucontrol' 37 | alias thunar='thunar &!' 38 | alias c='code' 39 | alias grep='grep --color=always' 40 | alias y='echo ":clown:"' 41 | alias tr='ls ~/.trash' 42 | alias trr='ranger ~/trash' 43 | alias cdz='cd $ZSH' 44 | alias packages='pacman -Qq > ~/packagelist.txt' 45 | alias space='duf' 46 | alias led='g512-led' 47 | alias rr='ranger' 48 | alias py='python' 49 | alias pgrep='pgrep -l' 50 | -------------------------------------------------------------------------------- /zsh/zshrc: -------------------------------------------------------------------------------- 1 | zsh="$HOME/.config/zsh" 2 | ZSH="$HOME/.config/zsh" 3 | wynn="$HOME/polymc/instances/wynn-1.18/.minecraft/" 4 | GIT="$HOME/Documents/git-repos" 5 | git="$HOME/Documents/git-repos" 6 | HADES="/mnt/1tb-hdd/SteamLibrary/steamapps/common/Hades/" 7 | HISTSIZE=500000 8 | HISTFILE=$zsh/history 9 | SAVEHIST=500000 10 | setopt appendhistory 11 | setopt sharehistory 12 | setopt incappendhistory 13 | 14 | setopt autocd 15 | 16 | autoload -Uz compinit 17 | autoload -Uz colors && colors 18 | zstyle :compinstall filename '/home/george/.zshrc' 19 | compinit 20 | 21 | #aliases 22 | source $zsh/aliases.zsh 23 | 24 | #functions 25 | source $zsh/functions.zsh 26 | 27 | #custom binds 28 | bindkey '^H' backward-kill-word 29 | bindkey "^[[1;5C" forward-word 30 | bindkey "^[[1;5D" backward-word 31 | bindkey "\e[3~" delete-char 32 | bindkey "^z" undo 33 | bindkey -s '^[[1;5A' "sudo " 34 | bindkey -s '^[[1;5B' "update" 35 | bindkey '^[[A' history-substring-search-up 36 | bindkey '^[[B' history-substring-search-down 37 | 38 | #  themes # 39 | 40 | #zsh 41 | source $zsh/theme.zsh 42 | 43 | #starship 44 | #eval "$(starship init zsh)" 45 | 46 | 47 | #paths 48 | source $zsh/paths.zsh 49 | 50 | # plugins # 51 | source $zsh/syntax-highlighting/zsh-syntax-highlighting.zsh ## https://github.com/zsh-users/zsh-syntax-highlighting 52 | source $zsh/autosuggestions/zsh-autosuggestions.zsh ## https://github.com/zsh-users/zsh-autosuggestions 53 | source $zsh/auto-ls/auto-ls.zsh ## https://github.com/Firewolf05/zsh-auto-ls 54 | source $zsh/zsh-history-substring-search/zsh-history-substring-search.zsh ## https://github.com/zsh-users/zsh-history-substring-search 55 | 56 | plugins () { 57 | en="\e[32m " 58 | dis="\e[31m " 59 | echo 60 | echo -e "\e[36mPlugins:" 61 | echo -e " $en ./zsh-syntax-highlighting" 62 | echo -e " $en ./zsh-autosuggestions" 63 | echo -e " $en ./auto-ls" 64 | echo -e " $en ./zsh-history-substring-search" 65 | echo -e " $dis ./oh-my-zsh" 66 | echo 67 | echo -e "\e[36mThemes:" 68 | echo -e " $dis ../starship" 69 | echo -e " $en ./theme.zsh" 70 | echo 71 | } 72 | 73 | catfetch -------------------------------------------------------------------------------- /neofetch/config2.conf: -------------------------------------------------------------------------------- 1 | 2 | LC_ALL=C 3 | LANG=C 4 | 5 | print_info() { 6 | info " ​ ​  " title 7 | prin "$(color 7)┌────────────────────────────────┐" 8 | info " ​ ​  " distro 9 | info " ​ ​  " wm 10 | info " ​ ​  " shell 11 | info " ​ ​  " term 12 | info " ​ ​ 神" uptime 13 | info " ​ ​  " packages 14 | prin "$(color 7)└────────────────────────────────┘" 15 | prin "\n \n $(color 1) \n \n $(color 2) \n \n $(color 3) \n \n $(color 4) \n \n $(color 5) \n \n $(color 6) \n \n $(color 7) \n \n $(color 0) \n" 16 | } 17 | 18 | title_fqdn="off" 19 | kernel_shorthand="on" 20 | distro_shorthand="off" 21 | os_arch="off" 22 | uptime_shorthand="on" 23 | memory_percent="off" 24 | memory_unit="mib" 25 | package_managers="on" 26 | shell_path="off" 27 | shell_version="on" 28 | speed_type="bios_limit" 29 | speed_shorthand="off" 30 | cpu_brand="on" 31 | cpu_speed="on" 32 | cpu_cores="logical" 33 | cpu_temp="off" 34 | gpu_brand="on" 35 | gpu_type="all" 36 | refresh_rate="off" 37 | gtk_shorthand="off" 38 | gtk2="on" 39 | gtk3="on" 40 | public_ip_host="http://ident.me" 41 | public_ip_timeout=2 42 | de_version="on" 43 | disk_show=('/') 44 | disk_subtitle="mount" 45 | disk_percent="on" 46 | music_player="auto" 47 | song_format="%artist% - %album% - %title%" 48 | song_shorthand="off" 49 | mpc_args=() 50 | colors=(distro) 51 | bold="on" 52 | underline_enabled="on" 53 | underline_char="-" 54 | separator="  " 55 | block_range=(0 15) 56 | color_blocks="on" 57 | block_width=3 58 | block_height=1 59 | col_offset="auto" 60 | bar_char_elapsed="-" 61 | bar_char_total="=" 62 | bar_border="on" 63 | bar_length=15 64 | bar_color_elapsed="distro" 65 | bar_color_total="distro" 66 | cpu_display="off" 67 | memory_display="off" 68 | battery_display="off" 69 | disk_display="off" 70 | image_backend="kitty" 71 | image_source="/home/george/Downloads/Archlinux-icon-crystal-64.svg.png" 72 | ascii_distro="Arch_small" 73 | ascii_colors=(distro) 74 | ascii_bold="on" 75 | image_loop="off" 76 | thumbnail_dir="${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch" 77 | crop_mode="normal" 78 | crop_offset="center" 79 | image_size="200px" 80 | gap=3 81 | yoffset=0 82 | xoffset=0 83 | background_color= 84 | stdout="off" 85 | -------------------------------------------------------------------------------- /rofi-own/clipmenu.rasi: -------------------------------------------------------------------------------- 1 | * { 2 | bg0: #44475a69; 3 | bg1: #3B4252; 4 | bg2: #4C566A80; 5 | bg3: #b4befe; 6 | fg0: #D8DEE9; 7 | fg1: #ECEFF4; 8 | fg2: #D8DEE9; 9 | fg3: #4C566A; 10 | } 11 | 12 | * { 13 | font: "Roboto 12"; 14 | 15 | background-color: transparent; 16 | text-color: @fg0; 17 | 18 | margin: 0px; 19 | padding: 0px; 20 | spacing: 0px; 21 | } 22 | 23 | window { 24 | location: center; 25 | width: 480; 26 | y-offset: -200; 27 | border: 2px; 28 | border-color: @bg3; 29 | border-radius: 24px; 30 | 31 | background-color: @bg0; 32 | } 33 | 34 | mainbox { 35 | padding: 12px; 36 | } 37 | 38 | inputbar { 39 | background-color: @bg0; 40 | border-color: @bg3; 41 | 42 | border: 2px; 43 | border-radius: 16px; 44 | 45 | padding: 8px 16px; 46 | spacing: 8px; 47 | children: [ prompt, entry ]; 48 | } 49 | 50 | prompt { 51 | text-color: @fg2; 52 | } 53 | 54 | entry { 55 | placeholder: "Clipmenu"; 56 | placeholder-color: @fg3; 57 | y-offset: 200; 58 | } 59 | 60 | message { 61 | margin: 12px 0 0; 62 | border-radius: 16px; 63 | border-color: @bg2; 64 | background-color: @bg2; 65 | } 66 | 67 | textbox { 68 | padding: 8px 24px; 69 | } 70 | 71 | listview { 72 | background-color: transparent; 73 | 74 | margin: 12px 0 0; 75 | lines: 8; 76 | columns: 1; 77 | 78 | fixed-height: false; 79 | } 80 | 81 | element { 82 | padding: 8px 16px; 83 | spacing: 8px; 84 | border-radius: 16px; 85 | } 86 | 87 | element normal active { 88 | text-color: @bg3; 89 | } 90 | 91 | element selected normal, element selected active { 92 | background-color: @bg3; 93 | } 94 | 95 | element-icon { 96 | size: 1em; 97 | vertical-align: 0.5; 98 | } 99 | 100 | element-text { 101 | text-color: inherit; 102 | } 103 | 104 | element selected { 105 | text-color: @bg1; 106 | } -------------------------------------------------------------------------------- /scripts/volume: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | DIR="$HOME/.config/dunst/icons" 4 | 5 | function is_mute { 6 | amixer -D pipewire get Master | grep '%' | grep -oE '[^ ]+$' | grep off 7 | } 8 | 9 | 10 | function get_volume { 11 | if is_mute >/dev/null; then 12 | echo 0 13 | else 14 | amixer -D pipewire get Master | grep '%' | head -n 1 | awk -F'[' '{print $2}' | awk -F'%' '{print $1}' 15 | fi 16 | } 17 | 18 | 19 | function return_volume { 20 | volume=`get_volume` 21 | if [ "$volume" == 0 ] ; then 22 | echo "%{u#ed8796}%{F#ed8796} Muted" 23 | elif [ "$volume" -lt "10" ]; then 24 | echo "$volume%" 25 | elif [ "$volume" -lt "30" ]; then 26 | echo "$volume%" 27 | else 28 | echo " $volume%" 29 | fi 30 | } 31 | 32 | function send_notification { 33 | volume=`get_volume` 34 | if [ "$volume" = "0" ]; then 35 | icon_name="$DIR/volume-muted.svg" 36 | dunstify "Muted" -a Muted -t 2000 -i $icon_name -r 5555 -u normal 37 | else 38 | if [ "$volume" -lt "10" ]; then 39 | icon_name="$DIR/volume-low.svg" 40 | elif [ "$volume" -lt "30" ]; then 41 | icon_name="$DIR/volume-medium.svg" 42 | else 43 | icon_name="$DIR/volume-high.svg" 44 | fi 45 | dunstify "Volume" -a Volume -t 2000 -i $icon_name -r 5555 -u normal -h int:value:$(($volume)) 46 | fi 47 | } 48 | 49 | if [[ $2 ]]; then 50 | amount=$2 51 | else 52 | amount="2" 53 | fi 54 | 55 | 56 | case $1 in 57 | up) 58 | amixer -D pipewire set Master on > /dev/null 59 | amixer -D pipewire set Master $amount%+ > /dev/null 60 | send_notification 61 | ;; 62 | down) 63 | amixer -D pipewire set Master on > /dev/null 64 | amixer -D pipewire set Master $amount%- > /dev/null 65 | send_notification 66 | ;; 67 | mute) 68 | amixer -D pipewire set Master 1+ toggle > /dev/null 69 | if is_mute ; then 70 | icon_name="$DIR/volume-muted.svg" 71 | dunstify "Muted" -a Muted -t 2000 -i $icon_name -r 5555 -u normal -h int:value:0 72 | else 73 | send_notification 74 | 75 | fi 76 | ;; 77 | get) 78 | return_volume 79 | ;; 80 | *) 81 | echo "Available options: up down mute get" 82 | esac 83 | 84 | 85 | -------------------------------------------------------------------------------- /rofi-own/pmc.rasi: -------------------------------------------------------------------------------- 1 | * { 2 | bg-col: #1e1e2e; 3 | bg-col-light: #1e1e2e; 4 | border-col: #1e1e2e; 5 | selected-col: #1e1e2e; 6 | blue: #89b4fa; 7 | fg-col: #cdd6f4; 8 | fg-col2: #f38ba8; 9 | grey: #6c7086; 10 | 11 | width: 600; 12 | font: "JetBrainsMono Nerd Font 14"; 13 | } 14 | 15 | configuration { 16 | icon-theme: "Papirus"; 17 | show-icons: true; 18 | } 19 | 20 | element-text, element-icon , mode-switcher { 21 | background-color: inherit; 22 | text-color: inherit; 23 | } 24 | 25 | window { 26 | height: 170px; 27 | border-color: @border-col; 28 | background-color: @bg-col; 29 | border: 2px; 30 | border-radius: 3px; 31 | border-color: @blue; 32 | } 33 | 34 | mainbox { 35 | background-color: @bg-col; 36 | } 37 | 38 | inputbar { 39 | children: [prompt,entry]; 40 | background-color: @bg-col; 41 | border-radius: 5px; 42 | padding: 2px; 43 | } 44 | 45 | prompt { 46 | background-color: @blue; 47 | padding: 6px; 48 | text-color: @bg-col; 49 | border-radius: 3px; 50 | margin: 20px 0px 0px 20px; 51 | } 52 | 53 | textbox-prompt-colon { 54 | expand: false; 55 | str: ":"; 56 | } 57 | 58 | entry { 59 | padding: 6px; 60 | margin: 20px 0px 0px 10px; 61 | text-color: @fg-col; 62 | background-color: @bg-col; 63 | } 64 | 65 | listview { 66 | border: 0px 0px 0px; 67 | padding: 6px 0px 0px; 68 | margin: 4px 0px 0px 20px; 69 | columns: 1; 70 | lines: 3; 71 | background-color: @bg-col; 72 | } 73 | 74 | element { 75 | padding: 5px; 76 | background-color: @bg-col; 77 | text-color: @fg-col ; 78 | } 79 | 80 | element-icon { 81 | size: 25px; 82 | } 83 | 84 | element selected { 85 | background-color: @selected-col ; 86 | text-color: @fg-col2 ; 87 | } 88 | 89 | mode-switcher { 90 | spacing: 0; 91 | } 92 | 93 | button { 94 | padding: 10px; 95 | background-color: @bg-col-light; 96 | text-color: @grey; 97 | vertical-align: 0.5; 98 | horizontal-align: 0.5; 99 | } 100 | 101 | button selected { 102 | background-color: @bg-col; 103 | text-color: @blue; 104 | } 105 | 106 | -------------------------------------------------------------------------------- /polybar/bar/config.ini: -------------------------------------------------------------------------------- 1 | [global/wm] 2 | 3 | margin-bottom = 0 4 | 5 | margin-top = 0 6 | 7 | include-file = ~/.config/polybar/bar/modules.ini 8 | include-file = ~/.config/polybar/bar/colors.ini 9 | 10 | 11 | [bar/main] 12 | 13 | monitor = ${env:MONITOR} 14 | 15 | monitor-fallback = 16 | 17 | monitor-strict = false 18 | 19 | override-redirect = false 20 | wm-restack = bspwm 21 | 22 | bottom = false 23 | 24 | fixed-center = true 25 | 26 | #width = 100%:-12 27 | height = 30 28 | 29 | #offset-x = 4 30 | #offset-y = 4 31 | 32 | background = ${color.bgt} 33 | 34 | foreground = #FFFFFF 35 | 36 | #radius-top = 6.0 37 | #radius-bottom = 6.0 38 | 39 | #border-bottom = 1 40 | 41 | border-color = ${color.blue} 42 | 43 | line-size = 2 44 | line-color = #90282a36 45 | 46 | padding = 0 47 | 48 | module-margin-left = 0 49 | module-margin-right = 0 50 | 51 | font-0 = WeatherIcons:size=12;4 52 | font-1 = Iosevka:antialias=true:size=10;4 53 | font-2 = icomoon\-feather:antialias=true:size=12;4 54 | font-3 = DroidSansM Nerd Font:antialias=true:size=14;4 55 | font-4 = Sarasa Term Slab SC Semibold:size=11;4 56 | font-5 = font\-logos:size=12;4 57 | 58 | modules-left = sep sysmenu sep2 workspaces sep2 playerctl-display sep playerctl-spotify sep playerctl-youtube playerctl-resonance 59 | modules-center = title 60 | modules-right = sep menu-misc sep2 network sep2 keyboard sep2 appearance sep2 weather sep2 date sep2 pipewire sep2 tray-icon sep sep 61 | 62 | separator = 63 | dim-value = 1.0 64 | wm-name = bspwm 65 | locale = 66 | 67 | tray-position = none 68 | tray-detached = false 69 | tray-maxsize = 24 70 | tray-background = ${color.bgt} 71 | tray-offset-x = 0 72 | tray-offset-y = 0 73 | tray-padding = 0 74 | tray-scale = 1.0 75 | 76 | enable-ipc = true 77 | 78 | click-left = 79 | click-middle = 80 | click-right = 81 | scroll-up = 82 | scroll-down = 83 | double-click-left = 84 | double-click-middle = 85 | double-click-right = 86 | cursor-click = 87 | cursor-scroll = 88 | 89 | screenchange-reload = false 90 | compositing-background = source 91 | compositing-foreground = source 92 | compositing-overline = source 93 | compositing-underline = source 94 | compositing-border = source 95 | pseudo-transparency = false 96 | 97 | ;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ 98 | -------------------------------------------------------------------------------- /rofi-own/wallpaper.rasi: -------------------------------------------------------------------------------- 1 | * { 2 | bg-col: #1e1e2e; 3 | bg-col-light: #1e1e2e; 4 | border-col: #1e1e2e; 5 | selected-col: #1e1e2e; 6 | blue: #89b4fa; 7 | fg-col: #cdd6f4; 8 | fg-col2: #f38ba8; 9 | grey: #6c7086; 10 | 11 | width: 600; 12 | font: "JetBrainsMono Nerd Font 14"; 13 | } 14 | 15 | configuration { 16 | icon-theme: "Papirus"; 17 | show-icons: true; 18 | } 19 | 20 | element-text, element-icon , mode-switcher { 21 | background-color: inherit; 22 | text-color: inherit; 23 | } 24 | 25 | window { 26 | height: 170px; 27 | border-color: @border-col; 28 | background-color: @bg-col; 29 | border: 2px; 30 | border-radius: 3px; 31 | border-color: @blue; 32 | } 33 | 34 | mainbox { 35 | background-color: @bg-col; 36 | } 37 | 38 | inputbar { 39 | children: [prompt,entry]; 40 | background-color: @bg-col; 41 | border-radius: 5px; 42 | padding: 2px; 43 | } 44 | 45 | prompt { 46 | background-color: @blue; 47 | padding: 6px; 48 | text-color: @bg-col; 49 | border-radius: 3px; 50 | margin: 20px 0px 0px 20px; 51 | } 52 | 53 | textbox-prompt-colon { 54 | expand: false; 55 | str: ":"; 56 | } 57 | 58 | entry { 59 | padding: 6px; 60 | margin: 20px 0px 0px 10px; 61 | text-color: @fg-col; 62 | background-color: @bg-col; 63 | } 64 | 65 | listview { 66 | border: 0px 0px 0px; 67 | padding: 6px 0px 0px; 68 | margin: 4px 0px 0px 20px; 69 | columns: 1; 70 | lines: 3; 71 | background-color: @bg-col; 72 | } 73 | 74 | element { 75 | padding: 5px; 76 | background-color: @bg-col; 77 | text-color: @fg-col ; 78 | } 79 | 80 | element-icon { 81 | size: 25px; 82 | } 83 | 84 | element selected { 85 | background-color: @selected-col ; 86 | text-color: @fg-col2 ; 87 | } 88 | 89 | mode-switcher { 90 | spacing: 0; 91 | } 92 | 93 | button { 94 | padding: 10px; 95 | background-color: @bg-col-light; 96 | text-color: @grey; 97 | vertical-align: 0.5; 98 | horizontal-align: 0.5; 99 | } 100 | 101 | button selected { 102 | background-color: @bg-col; 103 | text-color: @blue; 104 | } 105 | 106 | -------------------------------------------------------------------------------- /rofi-own/scripts/powermenu-2.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ## Author : Aditya Shakya (adi1090x) 4 | ## Github : @adi1090x 5 | # 6 | ## Rofi : Power Menu 7 | # 8 | ## Available Styles 9 | # 10 | ## style-1 style-2 style-3 style-4 style-5 11 | 12 | # Current Theme 13 | dir="$HOME/.config/rofi" 14 | theme='powermenu-2' 15 | 16 | # CMDs 17 | uptime="`uptime -p | sed -e 's/up //g'`" 18 | host=`hostname` 19 | 20 | # Options 21 | shutdown='' 22 | reboot='' 23 | lock='' 24 | suspend='' 25 | logout='' 26 | yes='' 27 | no='' 28 | 29 | # Rofi CMD 30 | rofi_cmd() { 31 | rofi -dmenu \ 32 | -p "Uptime: $uptime" \ 33 | -mesg "Uptime: $uptime" \ 34 | -theme ${dir}/${theme}.rasi 35 | } 36 | 37 | # Confirmation CMD 38 | 39 | # Ask for confirmation 40 | confirm_exit() { 41 | echo -e "$yes\n$no" | confirm_cmd 42 | } 43 | 44 | # Pass variables to rofi dmenu 45 | run_rofi() { 46 | echo -e "$lock\n$suspend\n$logout\n$reboot\n$shutdown" | rofi_cmd 47 | } 48 | 49 | # Execute Command 50 | run_cmd() { 51 | selected="$(confirm_exit)" 52 | if [[ "$selected" == "$yes" ]]; then 53 | if [[ $1 == '--shutdown' ]]; then 54 | systemctl poweroff 55 | elif [[ $1 == '--reboot' ]]; then 56 | systemctl reboot 57 | elif [[ $1 == '--suspend' ]]; then 58 | mpc -q pause 59 | amixer set Master mute 60 | systemctl suspend 61 | elif [[ $1 == '--logout' ]]; then 62 | if [[ "$DESKTOP_SESSION" == 'openbox' ]]; then 63 | openbox --exit 64 | elif [[ "$DESKTOP_SESSION" == 'bspwm' ]]; then 65 | bspc quit 66 | elif [[ "$DESKTOP_SESSION" == 'i3' ]]; then 67 | i3-msg exit 68 | elif [[ "$DESKTOP_SESSION" == 'plasma' ]]; then 69 | qdbus org.kde.ksmserver /KSMServer logout 0 0 0 70 | fi 71 | fi 72 | else 73 | exit 0 74 | fi 75 | } 76 | 77 | # Actions 78 | chosen="$(run_rofi)" 79 | case ${chosen} in 80 | $shutdown) 81 | run_cmd --shutdown 82 | ;; 83 | $reboot) 84 | run_cmd --reboot 85 | ;; 86 | $lock) 87 | if [[ -x '/usr/bin/betterlockscreen' ]]; then 88 | betterlockscreen -l 89 | elif [[ -x '/usr/bin/i3lock' ]]; then 90 | i3lock 91 | fi 92 | ;; 93 | $suspend) 94 | run_cmd --suspend 95 | ;; 96 | $logout) 97 | run_cmd --logout 98 | ;; 99 | esac 100 | -------------------------------------------------------------------------------- /rofi-own/scripts/apps.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ## Author : Aditya Shakya 4 | ## Mail : adi1090x@gmail.com 5 | ## Github : @adi1090x 6 | ## Twitter : @adi1090x 7 | 8 | dir="$HOME/.config/rofi" 9 | rofi_command="rofi -theme $dir/apps.rasi" 10 | 11 | # Links 12 | terminal="" 13 | files="" 14 | editor="" 15 | browser="" 16 | music="" 17 | settings="" 18 | launcher="" 19 | 20 | # Error msg 21 | msg() { 22 | rofi -theme "$dir/message.rasi" -e "$1" 23 | } 24 | 25 | # Variable passed to rofi 26 | options="$terminal\n$files\n$editor\n$browser\n$music\n$settings\n$launcher" 27 | 28 | chosen="$(echo -e "$options" | $rofi_command -p "Most Used" -dmenu -selected-row 0)" 29 | case $chosen in 30 | $terminal) 31 | if [[ -f /usr/bin/termite ]]; then 32 | termite & 33 | elif [[ -f /usr/bin/urxvt ]]; then 34 | urxvt & 35 | elif [[ -f /usr/bin/kitty ]]; then 36 | kitty & 37 | elif [[ -f /usr/bin/xterm ]]; then 38 | xterm & 39 | elif [[ -f /usr/bin/xfce4-terminal ]]; then 40 | xfce4-terminal & 41 | elif [[ -f /usr/bin/gnome-terminal ]]; then 42 | gnome-terminal & 43 | else 44 | msg "No suitable terminal found!" 45 | fi 46 | ;; 47 | $files) 48 | if [[ -f /usr/bin/thunar ]]; then 49 | thunar & 50 | elif [[ -f /usr/bin/pcmanfm ]]; then 51 | pcmanfm & 52 | else 53 | msg "No suitable file manager found!" 54 | fi 55 | ;; 56 | $editor) 57 | if [[ -f /usr/bin/geany ]]; then 58 | geany & 59 | elif [[ -f /usr/bin/leafpad ]]; then 60 | leafpad & 61 | elif [[ -f /usr/bin/mousepad ]]; then 62 | mousepad & 63 | elif [[ -f /usr/bin/code ]]; then 64 | code & 65 | else 66 | msg "No suitable text editor found!" 67 | fi 68 | ;; 69 | $browser) 70 | if [[ -f /usr/bin/firefox ]]; then 71 | firefox & 72 | elif [[ -f /usr/bin/chromium ]]; then 73 | chromium & 74 | elif [[ -f /usr/bin/midori ]]; then 75 | midori & 76 | else 77 | msg "No suitable web browser found!" 78 | fi 79 | ;; 80 | $music) 81 | if [[ -f /usr/bin/lxmusic ]]; then 82 | lxmusic & 83 | else 84 | spotify & 85 | fi 86 | ;; 87 | $settings) 88 | if [[ -f /usr/bin/xfce4-settings-manager ]]; then 89 | xfce4-settings-manager & 90 | else 91 | msg "No suitable settings manager found!" 92 | fi 93 | ;; 94 | $launcher) 95 | rofi -no-lazy-grab -show drun -modi drun,window -theme $HOME/.config/rofi/launcher.rasi 96 | ;; 97 | esac 98 | 99 | -------------------------------------------------------------------------------- /rofi-own/catppuccin.rasi: -------------------------------------------------------------------------------- 1 | * { 2 | bg-col: #1e1e2e; 3 | bg-col-light: #1e1e2e; 4 | border-col: #1e1e2e; 5 | selected-col: #1e1e2e; 6 | blue: #89b4fa; 7 | fg-col: #cdd6f4; 8 | fg-col2: #f38ba8; 9 | grey: #6c7086; 10 | 11 | width: 600; 12 | font: "JetBrainsMono Nerd Font 14"; 13 | } 14 | 15 | configuration { 16 | icon-theme: "Papirus"; 17 | show-icons: true; 18 | terminal: "kitty"; 19 | drun-display-format: "{icon} {name}"; 20 | location: 0; 21 | disable-history: false; 22 | hide-scrollbar: false; 23 | display-drun: " Apps "; 24 | display-run: " Run "; 25 | display-window: "﩯 Window"; 26 | display-Network: " 󰤨 Network"; 27 | sidebar-mode: true; 28 | } 29 | 30 | element-text, element-icon , mode-switcher { 31 | background-color: inherit; 32 | text-color: inherit; 33 | } 34 | 35 | window { 36 | height: 360px; 37 | border-color: @border-col; 38 | background-color: @bg-col; 39 | border: 2px; 40 | border-radius: 3px; 41 | border-color: @blue; 42 | } 43 | 44 | mainbox { 45 | background-color: @bg-col; 46 | } 47 | 48 | inputbar { 49 | children: [prompt,entry]; 50 | background-color: @bg-col; 51 | border-radius: 5px; 52 | padding: 2px; 53 | } 54 | 55 | prompt { 56 | background-color: @blue; 57 | padding: 6px; 58 | text-color: @bg-col; 59 | border-radius: 3px; 60 | margin: 20px 0px 0px 20px; 61 | } 62 | 63 | textbox-prompt-colon { 64 | expand: false; 65 | str: ":"; 66 | } 67 | 68 | entry { 69 | padding: 6px; 70 | margin: 20px 0px 0px 10px; 71 | text-color: @fg-col; 72 | background-color: @bg-col; 73 | } 74 | 75 | listview { 76 | border: 0px 0px 0px; 77 | padding: 6px 0px 0px; 78 | margin: 10px 0px 0px 20px; 79 | columns: 2; 80 | lines: 5; 81 | background-color: @bg-col; 82 | } 83 | 84 | element { 85 | padding: 5px; 86 | background-color: @bg-col; 87 | text-color: @fg-col ; 88 | } 89 | 90 | element-icon { 91 | size: 25px; 92 | } 93 | 94 | element selected { 95 | background-color: @selected-col ; 96 | text-color: @fg-col2 ; 97 | } 98 | 99 | mode-switcher { 100 | spacing: 0; 101 | } 102 | 103 | button { 104 | padding: 10px; 105 | background-color: @bg-col-light; 106 | text-color: @grey; 107 | vertical-align: 0.5; 108 | horizontal-align: 0.5; 109 | } 110 | 111 | button selected { 112 | background-color: @bg-col; 113 | text-color: @blue; 114 | } 115 | 116 | -------------------------------------------------------------------------------- /rofi-own/clipmenu-2.rasi: -------------------------------------------------------------------------------- 1 | * { 2 | bg-col: #1e1e2e; 3 | bg-col-light: #1e1e2e; 4 | border-col: #1e1e2e; 5 | selected-col: #1e1e2e; 6 | blue: #89b4fa; 7 | fg-col: #cdd6f4; 8 | fg-col2: #f38ba8; 9 | grey: #6c7086; 10 | 11 | width: 600; 12 | font: "JetBrainsMono Nerd Font 12"; 13 | } 14 | 15 | configuration { 16 | icon-theme: "Papirus"; 17 | show-icons: false; 18 | terminal: "kitty"; 19 | drun-display-format: "{icon} {name}"; 20 | location: 0; 21 | disable-history: false; 22 | hide-scrollbar: false; 23 | display-dmenu: " Clipboard"; 24 | display-run: " Run "; 25 | display-clipboard: " Clipboard"; 26 | display-Network: " 󰤨 Network"; 27 | sidebar-mode: true; 28 | } 29 | 30 | element-text, element-icon , mode-switcher { 31 | background-color: inherit; 32 | text-color: inherit; 33 | } 34 | 35 | window { 36 | height: 360px; 37 | border-color: @border-col; 38 | background-color: @bg-col; 39 | border: 2px; 40 | border-radius: 3px; 41 | border-color: @blue; 42 | } 43 | 44 | mainbox { 45 | background-color: @bg-col; 46 | } 47 | 48 | inputbar { 49 | children: [prompt,entry]; 50 | background-color: @bg-col; 51 | border-radius: 5px; 52 | padding: 2px; 53 | } 54 | 55 | prompt { 56 | background-color: @blue; 57 | padding: 6px; 58 | text-color: @bg-col; 59 | border-radius: 3px; 60 | margin: 20px 0px 0px 20px; 61 | } 62 | 63 | textbox-prompt-colon { 64 | expand: false; 65 | str: ":"; 66 | } 67 | 68 | entry { 69 | padding: 6px; 70 | margin: 20px 0px 0px 10px; 71 | text-color: @fg-col; 72 | background-color: @bg-col; 73 | } 74 | 75 | listview { 76 | border: 0px 0px 0px; 77 | padding: 6px 0px 0px; 78 | margin: 10px 0px 0px 20px; 79 | columns: 1; 80 | lines: 5; 81 | background-color: @bg-col; 82 | } 83 | 84 | element { 85 | padding: 5px; 86 | background-color: @bg-col; 87 | text-color: @fg-col ; 88 | } 89 | 90 | element-icon { 91 | size: 25px; 92 | } 93 | 94 | element selected { 95 | background-color: @selected-col ; 96 | text-color: @fg-col2 ; 97 | } 98 | 99 | mode-switcher { 100 | spacing: 0; 101 | } 102 | 103 | button { 104 | padding: 10px; 105 | background-color: @bg-col-light; 106 | text-color: @grey; 107 | vertical-align: 0.5; 108 | horizontal-align: 0.5; 109 | } 110 | 111 | button selected { 112 | background-color: @bg-col; 113 | text-color: @blue; 114 | } 115 | 116 | -------------------------------------------------------------------------------- /zsh/functions.zsh: -------------------------------------------------------------------------------- 1 | update () { 2 | echo 3 | echo -e "\e[32m:: Paru\e[0m" 4 | echo 5 | paru 6 | echo 7 | echo -e "\e[32m:: Flatpak\e[0m" 8 | echo 9 | flatpak update 10 | } 11 | 12 | 13 | class () { 14 | class=$(xprop WM_CLASS) 15 | echo $class 16 | copyq copy $class > /dev/null 17 | } 18 | 19 | 20 | dl () { 21 | file=${1##*/} 22 | echo $file 23 | curl -L -o $file $1 24 | } 25 | 26 | price () { 27 | curl -X GET moulberry.codes/lowestbin.json -s | jq ."${1:u}" 28 | } 29 | 30 | 31 | cltr () { 32 | echo -n "Are you sure you want to clear the trash folder? (yes/no): " 33 | read ans 34 | if [ $ans = "yes" ]; then 35 | /usr/bin/rm -r $HOME/.trash/* 36 | fi 37 | } 38 | 39 | rm () { 40 | for i in $@ 41 | do 42 | fl=$HOME/.trash/$i 43 | x="1" 44 | while [ -f "$fl" ] 45 | do 46 | fl="$fl($x)" 47 | x=$((x+1)) 48 | done 49 | mv $i $fl 50 | done 51 | } 52 | 53 | 54 | _test () { 55 | echo -e "\e[31merror:\e[0m Not testing anything currently" 56 | } 57 | 58 | 59 | chjv () { 60 | sudo archlinux-java set java-$1-openjdk 61 | } 62 | 63 | .r () { 64 | cd /mnt/1tb-hdd/SteamLibrary/steamapps/common/Hades/Content/ >/dev/null 65 | python modimporter.py 66 | cd - >/dev/null 67 | } 68 | 69 | clone () { 70 | cd $HOME/Documents/git-repos 71 | git clone $1 72 | cd ${1##*/} 73 | } 74 | 75 | 76 | function drag () { 77 | dragon-drop -x $@ 78 | } 79 | 80 | function picoms () { 81 | pkill picom 82 | if [[ $1 == "anim" ]] then 83 | picom-animations --config ~/.config/picom/config.conf --experimental-backends &! 84 | echo "picom-animations" > ~/.picomlockfile 85 | elif [[ $1 == "norm" ]] then 86 | picom --config ~/.config/picom/config.conf --experimental-backends &! 87 | echo "picom" > ~/.picomlockfile 88 | fi 89 | } 90 | 91 | function neovim () { 92 | kitty sh -c "nvim $@" 93 | } 94 | 95 | 96 | #alias z='echo -e "\e[32m...Reloaded\e[0m" && zsh' 97 | alias z='_reload' 98 | _reload () { 99 | source $zsh/zshrc 100 | echo -e "\e[32m...Reloaded\e[0m" 101 | } 102 | 103 | gitclone () { 104 | git clone https://github.com/$@ 105 | } 106 | 107 | __wynnpack () { 108 | mkdir /tmp/wynnpack 109 | cp $1 /tmp/wynnpack/$1 110 | dir=$(pwd) 111 | cd /tmp/wynnpack 112 | jar -xf $1 113 | del $1 114 | d=$(date '+%d-%m') 115 | df=$(date '+%a %b %d %H:%M') 116 | echo '{"pack":{"pack_format":8,"description":"§7WynnResourcePack - 2.0\n§a(1.18, '$df')"}}' > pack.mcmeta 117 | zip -r WynnPack-$d.zip assets/ pack.mcmeta pack.png 118 | mv WynnPack-$d.zip $dir/ 119 | cd $dir 120 | del -r /tmp/wynnpack 121 | } 122 | 123 | 124 | math () { 125 | echo $(($@)) 126 | } 127 | -------------------------------------------------------------------------------- /rofi-own/apps.rasi: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Author : Aditya Shakya 4 | * Mail : adi1090x@gmail.com 5 | * Github : @adi1090x 6 | * Twitter : @adi1090x 7 | * 8 | */ 9 | 10 | configuration { 11 | show-icons: false; 12 | disable-history: false; 13 | sidebar-mode: false; 14 | } 15 | 16 | * { 17 | accent: #b4befe; 18 | background: #181825; 19 | background-light: #1e1e2e; 20 | foreground: #E4E4E4; 21 | on: #44ad4d; 22 | off: #e34039; 23 | } 24 | 25 | * { 26 | background-color: @background; 27 | text-color: @foreground; 28 | } 29 | 30 | window { 31 | transparency: "real"; 32 | border-radius: 12px; 33 | width: 100px; 34 | location: east; 35 | x-offset: -15px; 36 | y-offset: 0px; 37 | } 38 | 39 | listview { 40 | lines: 6; 41 | margin: 8px; 42 | spacing: 8px; 43 | cycle: true; 44 | dynamic: true; 45 | layout: vertical; 46 | } 47 | 48 | mainbox { 49 | background-color: @background; 50 | children: [ listview ]; 51 | } 52 | 53 | element { 54 | background-color: @background-light; 55 | text-color: @foreground; 56 | orientation: vertical; 57 | border-radius: 12px; 58 | } 59 | 60 | element-text { 61 | background-color: inherit; 62 | text-color: inherit; 63 | font: "feather 20"; 64 | expand: true; 65 | horizontal-align: 0.5; 66 | vertical-align: 0.5; 67 | margin: 26px 26px 26px 26px; 68 | } 69 | 70 | element normal.urgent, 71 | element alternate.urgent { 72 | background-color: @off; 73 | text-color: @background; 74 | border-radius: 10px; 75 | } 76 | 77 | element normal.active, 78 | element alternate.active { 79 | background-color: @on; 80 | text-color: @background; 81 | } 82 | 83 | element selected { 84 | background-color: @accent; 85 | text-color: @background; 86 | border: 0px; 87 | border-radius: 10px; 88 | border-color: @border; 89 | } 90 | 91 | element selected.urgent { 92 | background-color: @on; 93 | text-color: @background; 94 | } 95 | 96 | element selected.active { 97 | background-color: @off; 98 | color: @background; 99 | } 100 | -------------------------------------------------------------------------------- /rofi-own/style.rasi: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Author : Aditya Shakya 4 | * Mail : adi1090x@gmail.com 5 | * Github : @adi1090x 6 | * Twitter : @adi1090x 7 | * 8 | */ 9 | 10 | configuration { 11 | show-icons: false; 12 | disable-history: false; 13 | sidebar-mode: false; 14 | } 15 | 16 | * { 17 | accent: #b4befe; 18 | background: #181825; 19 | background-light: #1e1e2e; 20 | foreground: #E4E4E4; 21 | on: #44ad4d; 22 | off: #e34039; 23 | } 24 | 25 | * { 26 | background-color: @background; 27 | text-color: @foreground; 28 | } 29 | 30 | window { 31 | transparency: "real"; 32 | border-radius: 12px; 33 | width: 100px; 34 | location: east; 35 | x-offset: -15px; 36 | y-offset: 0px; 37 | } 38 | 39 | listview { 40 | lines: 5; 41 | margin: 8px; 42 | spacing: 8px; 43 | cycle: true; 44 | dynamic: true; 45 | layout: vertical; 46 | } 47 | 48 | mainbox { 49 | background-color: @background; 50 | children: [ listview ]; 51 | } 52 | 53 | element { 54 | background-color: @background-light; 55 | text-color: @foreground; 56 | orientation: vertical; 57 | border-radius: 12px; 58 | } 59 | 60 | element-text { 61 | background-color: inherit; 62 | text-color: inherit; 63 | font: "feather 20"; 64 | expand: true; 65 | horizontal-align: 0.5; 66 | vertical-align: 0.5; 67 | margin: 26px 26px 26px 26px; 68 | } 69 | 70 | element normal.urgent, 71 | element alternate.urgent { 72 | background-color: @off; 73 | text-color: @background; 74 | border-radius: 10px; 75 | } 76 | 77 | element normal.active, 78 | element alternate.active { 79 | background-color: @on; 80 | text-color: @background; 81 | } 82 | 83 | element selected { 84 | background-color: @accent; 85 | text-color: @background; 86 | border: 0px; 87 | border-radius: 10px; 88 | border-color: @border; 89 | } 90 | 91 | element selected.urgent { 92 | background-color: @on; 93 | text-color: @background; 94 | } 95 | 96 | element selected.active { 97 | background-color: @off; 98 | color: @background; 99 | } 100 | -------------------------------------------------------------------------------- /scripts/screenshot: -------------------------------------------------------------------------------- 1 | #!/usr/bin/zsh 2 | 3 | time=`date +%Y-%m-%d-%I-%M-%S` 4 | geometry=`xrandr | head -n1 | cut -d',' -f2 | tr -d '[:blank:],current'` 5 | dir="$HOME/Pictures/screenshots" 6 | file="Screenshot_${time}_${geometry}.png" 7 | copy-img () { copyq write image/png - < $dir/$file && copyq select 0 } 8 | 9 | 10 | # custom screenshot directories 11 | if [[ "$(current-window.sh)" == Minecraft* ]]; then 12 | dir="$HOME/.local/share/PrismLauncher/instances/wynn-1.19.3/.minecraft/screenshots" 13 | file=$(date +%Y-%m-%d_%H.%M.%S)_screenshot.png 14 | fi 15 | 16 | if [[ "$(current-window.sh)" == "Hades" ]]; then 17 | bspc desktop -l monocle 18 | bspc node -t tiled 19 | ACTION=$(dunstify -t 5000 --action="clicked,ACTION" 'Click here to save screenshot as a win') 20 | bspc node -t fullscreen 21 | case "$ACTION" in 22 | "clicked") 23 | dir="$HOME/Pictures/Hades" 24 | echo $(($(cat ~/Pictures/Hades/count)+1)) > ~/Pictures/Hades/count 25 | file="hades$(cat ~/Pictures/Hades/count).png" 26 | sleep 1 27 | ;; 28 | esac 29 | fi 30 | 31 | # notify 32 | notify_user () { 33 | if [ ! $(pgrep copyq) ]; then 34 | dunstify "CopyQ isnt running, screenshots wont be copied to the clickboard" 35 | fi 36 | if [[ -e "$dir/$file" ]]; then 37 | ACTION=$(dunstify -i $dir/$file --action="clicked,ACTION" 'Screenshot Saved') 38 | case "$ACTION" in 39 | "clicked") 40 | feh $dir/$file 41 | ;; 42 | esac 43 | else 44 | dunstify "Screenshot Deleted." 45 | if [ $dir = "$HOME/Pictures/Hades" ]; then 46 | echo $(($(cat ~/Pictures/Hades/count)-1)) > ~/Pictures/Hades/count 47 | fi 48 | fi 49 | 50 | } 51 | 52 | shotarea () { 53 | cd ${dir} && maim -u -f png -s "$file" 54 | copy-img 55 | notify_user 56 | } 57 | 58 | shotfreeze () { 59 | cd ${dir} && maim -u | feh -F - & maim -s "$file" 60 | copy-img 61 | pidof feh | { read first rest ; kill $first ; } 62 | notify_user 63 | } 64 | 65 | imgtotxt () { 66 | cd $dir && maim -u -f png -s "$file" 67 | tesseract $file text.tmp --psm 6 -l eng txt 68 | copyq copy "$(cat text.tmp.txt)" 69 | dunstify "Text copied" 70 | del text.tmp.txt 71 | } 72 | 73 | 74 | if [[ "$1" == "--area" ]]; then 75 | shotarea 76 | elif [[ "$1" == "--freeze" ]]; then 77 | shotfreeze 78 | elif [[ "$1" == "--img-to-text" ]]; then 79 | imgtotxt 80 | elif [[ "$1" == "--deps" ]]; then 81 | echo 82 | cat << EOF 83 | Dependencies: 84 | maim (screenshotting tool) 85 | copyq (tool used for clipboard) 86 | feh (used to open images/freeze option) 87 | dunst (for notifications) 88 | tesseract tesseract-data-eng (image to text tool) 89 | EOF 90 | echo 91 | elif [[ "$1" == "--install-deps" ]]; then 92 | echo maim copyq feh dunst tesseract-data-eng tesseract 93 | sudo pacman -Sy maim copyq feh dunst tesseract-data-eng tesseract 94 | else 95 | echo 96 | cat << EOF 97 | Available Options: 98 | --freeze Freezes the screen (using feh) before taking screenshot (might me weird with more than one screen) 99 | --area Takes screenshot using selection 100 | --img-to-text Image to text (experimental, might have issues with special characters) 101 | --deps Lists dependencies 102 | --install-deps Installs dependencies (Arch Linux) 103 | EOF 104 | echo 105 | fi -------------------------------------------------------------------------------- /picom/config.conf: -------------------------------------------------------------------------------- 1 | ################################# 2 | # Shadows # 3 | ################################# 4 | 5 | shadow = false; 6 | #shadow-radius = 7; 7 | #shadow-offset-x = -7; 8 | #shadow-offset-y = -7; 9 | shadow-exclude = [ 10 | "name = 'Notification'", 11 | "class_g = 'Conky'", 12 | "class_g ?= 'Notify-osd'", 13 | "class_g = 'Cairo-clock'", 14 | "_GTK_FRAME_EXTENTS@:c", 15 | "class_g = 'jgmenu'" 16 | ]; 17 | 18 | ################################# 19 | # Fading # 20 | ################################# 21 | 22 | fading = false; 23 | fade-in-step = 0.07; 24 | fade-out-step = 0.07; 25 | 26 | ################################# 27 | # Transparency / Opacity # 28 | ################################# 29 | 30 | inactive-opacity = 1 31 | frame-opacity = 0.7 32 | inactive-opacity-override = false 33 | focus-exclude = [ "class_g = 'Cairo-clock'" ]; 34 | opacity-rule = [ 35 | "100:window_type = 'tooltip'", 36 | # "90:class_g = 'code-oss'", 37 | # "80:class_g = 'discord'", 38 | ] 39 | 40 | ################################# 41 | # Corners # 42 | ################################# 43 | 44 | #rounded-corners-exclude = [ 45 | # "window_type = 'tooltip'", 46 | # "window_type = 'dock'", 47 | # "class_g = 'rofi'", 48 | # "class_g = 'Minecraft 1.12.2'", 49 | # "window_type = 'desktop'" 50 | #]; 51 | #corner-radius = 5 52 | #round-borders = 8 53 | 54 | ################################# 55 | # Background-Blurring # 56 | ################################# 57 | 58 | blur-method = "dual_kawase"; 59 | blur-exclude = ["class_g = 'eww'"] 60 | blur-strength = 8; 61 | blur-background = false; 62 | blur-background-frame = false; 63 | blurbackground-fixed = false; 64 | blur-background-exclude = [ 65 | "class_g = 'slop'", 66 | "class_g = 'eww-bar'", 67 | "class_g = 'eww-calendar'", 68 | "class_g = 'stalonetray'", 69 | "window_type = 'menu'", 70 | "window_type = 'dropdown_menu'", 71 | "window_type = 'popup_menu'", 72 | "window_type = 'tooltip'", 73 | "class_g = 'firefox'" 74 | ]; 75 | 76 | 77 | # Parameters for background blurring, see the *BLUR* section for more information. 78 | 79 | ################################# 80 | # General Settings # 81 | ################################# 82 | 83 | backend = "glx" 84 | vsync = true; 85 | mark-wmwin-focused = true; 86 | mark-ovredir-focused = true; 87 | detect-rounded-corners = true; 88 | detect-client-opacity = true; 89 | detect-transient = true; 90 | use-damage = true; 91 | transparent-clipping = false 92 | log-level = "warn"; 93 | wintypes: 94 | { 95 | blur-background = false 96 | tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; }; 97 | dock = { shadow = false; clip-shadow-above = true; } 98 | dnd = { shadow = false; } 99 | }; 100 | 101 | ################################# 102 | # Transitions # 103 | ################################# 104 | 105 | transition-length = 250; 106 | transition-pow-x = 0.35; 107 | transition-pow-y = 0.1; 108 | size-transition = false; 109 | spawn-center = false; 110 | no-scale-down = false; 111 | 112 | ################################# 113 | # Animations # 114 | ################################# 115 | 116 | animations = true 117 | # `auto`, `none`, `fly-in`, `zoom`, `slide-down`, `slide-up`, `slide-left`, `slide-right` `slide-in`, `slide-out` 118 | animation-for-transient-window = "zoom" 119 | animation-for-open-window = "zoom" 120 | animation-for-unmap-window = "zoom" 121 | animation-for-menu-window = "zoom" 122 | animation-for-workspace-switch-out = "zoom" 123 | animation-for-workspace-switch-in = "zoom" 124 | animation-stiffness = 400; 125 | animation-dampening = 30; 126 | animation-window-mass = 0.8; 127 | animation-clamping = false; 128 | animation-delta = 16; 129 | animation-force-steps = true; 130 | 131 | 132 | -------------------------------------------------------------------------------- /rofi-own/launcher.rasi: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Author : Aditya Shakya 4 | * Mail : adi1090x@gmail.com 5 | * Github : @adi1090x 6 | * Twitter : @adi1090x 7 | * 8 | */ 9 | 10 | configuration { 11 | font: "Noto Sans Bold 10"; 12 | show-icons: true; 13 | icon-theme: "Papirus"; 14 | display-drun: ""; 15 | display-window: "W"; 16 | drun-display-format: "{name}"; 17 | disable-history: false; 18 | sidebar-mode: false; 19 | } 20 | 21 | * { 22 | background: #00000000; 23 | background-alt: #00000000; 24 | background-bar: #f2f2f215; 25 | foreground: #f2f2f2EE; 26 | accent: #3DAEE966; 27 | } 28 | 29 | window { 30 | transparency: "real"; 31 | background-color: #00000000; 32 | text-color: @foreground; 33 | border: 3px; 34 | border-color: #b4befe; 35 | border-radius: 12px; 36 | width: 40%; 37 | location: center; 38 | x-offset: 0; 39 | y-offset: 0; 40 | } 41 | 42 | prompt { 43 | enabled: true; 44 | padding: 0.30% 1% 0% -0.5%; 45 | background-color: @background-alt; 46 | text-color: @foreground; 47 | font: "FantasqueSansMono Nerd Font 12"; 48 | } 49 | 50 | entry { 51 | background-color: @background-alt; 52 | text-color: @foreground; 53 | placeholder-color: @foreground; 54 | expand: true; 55 | horizontal-align: 0; 56 | placeholder: "Search"; 57 | padding: 0.10% 0% 0% 0%; 58 | blink: true; 59 | } 60 | 61 | inputbar { 62 | children: [ prompt, entry ]; 63 | background-color: @background-bar; 64 | text-color: @foreground; 65 | expand: false; 66 | border: 0% 0% 0% 0%; 67 | border-radius: 12px; 68 | border-color: @accent; 69 | margin: 0% 0% 0% 0%; 70 | padding: 1.5%; 71 | } 72 | 73 | listview { 74 | background-color: @background-alt; 75 | columns: 5; 76 | lines: 3; 77 | spacing: 0%; 78 | cycle: false; 79 | dynamic: true; 80 | layout: vertical; 81 | } 82 | 83 | mainbox { 84 | background-color: @background-alt; 85 | border: 0% 0% 0% 0%; 86 | border-radius: 0% 0% 0% 0%; 87 | border-color: @accent; 88 | children: [ inputbar, listview ]; 89 | spacing: 2%; 90 | padding: 2% 1% 2% 1%; 91 | } 92 | 93 | element { 94 | background-color: @background-alt; 95 | text-color: @foreground; 96 | orientation: vertical; 97 | border-radius: 0%; 98 | padding: 2% 0% 2% 0%; 99 | } 100 | 101 | element-icon { 102 | background-color: @background; 103 | text-color: inherit; 104 | horizontal-align: 0.5; 105 | vertical-align: 0.5; 106 | size: 64px; 107 | border: 0px; 108 | } 109 | 110 | element-text { 111 | background-color: @background; 112 | text-color: inherit; 113 | expand: true; 114 | horizontal-align: 0.5; 115 | vertical-align: 0.5; 116 | margin: 0.5% 0.5% -0.5% 0.5%; 117 | } 118 | 119 | element selected { 120 | background-color: @background-bar; 121 | text-color: @foreground; 122 | border: 0% 0% 0% 0%; 123 | border-radius: 12px; 124 | border-color: @accent; 125 | } 126 | -------------------------------------------------------------------------------- /rofi-own/powermenu.rasi: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Author : Aditya Shakya 4 | * Mail : adi1090x@gmail.com 5 | * Github : @adi1090x 6 | * Twitter : @adi1090x 7 | * 8 | */ 9 | 10 | configuration { 11 | show-icons: false; 12 | font: "FantasqueSansMono Nerd Font"; 13 | disable-history: false; 14 | sidebar-mode: false; 15 | } 16 | 17 | 18 | * { 19 | accent: #b4befe; 20 | background: #141c21; 21 | background-light: #00000000; 22 | foreground: #93a1a1; 23 | background-bar: #f2f2f215; 24 | on: #5BB462; 25 | off: #DE635E; 26 | text-color: #93a1a1; 27 | background-color: #00000000; 28 | } 29 | 30 | 31 | 32 | window { 33 | transparency: "real"; 34 | background-color: #f2f2f215; 35 | text-color: @foreground; 36 | border: 3px; 37 | border-color: #b4befe; 38 | border-radius: 12px; 39 | width: 40%; 40 | location: center; 41 | x-offset: 0; 42 | y-offset: 0; 43 | } 44 | 45 | prompt { 46 | enabled: true; 47 | padding: 10px; 48 | background-color: #00000000; 49 | text-color: @accent; 50 | border: 0px 2px 0px 2px; 51 | border-radius: 12px; 52 | border-color: @accent; 53 | } 54 | 55 | textbox-prompt-colon { 56 | expand: false; 57 | str: " System "; 58 | background-color: @accent; 59 | text-color: @background; 60 | padding: 10px 10px 0px 10px; 61 | border-radius: 12px; 62 | } 63 | 64 | inputbar { 65 | children: [ textbox-prompt-colon, prompt ]; 66 | spacing: 15px; 67 | background-color: #141c21; 68 | text-color: #f2f2f215; 69 | expand: false; 70 | border: 0px; 71 | border-radius: 12px; 72 | border-color: @accent; 73 | margin: 0px 0px 0px 0px; 74 | padding: 0px; 75 | position: center; 76 | } 77 | 78 | listview { 79 | columns: 5; 80 | lines: 1; 81 | spacing: 15px; 82 | cycle: true; 83 | dynamic: true; 84 | layout: vertical; 85 | } 86 | 87 | mainbox { 88 | background-color: #00000000; 89 | children: [ inputbar, listview ]; 90 | spacing: 15px; 91 | margin: 40px; 92 | border-radius: 12px; 93 | } 94 | 95 | element { 96 | background-color: @background; 97 | text-color: @foreground; 98 | orientation: vertical; 99 | border-radius: 20px; 100 | } 101 | 102 | element-text { 103 | background-color: inherit; 104 | text-color: inherit; 105 | font: "feather 32"; 106 | expand: true; 107 | horizontal-align: 0.5; 108 | vertical-align: 0.5; 109 | margin: 40px 0px 40px 0px; 110 | } 111 | 112 | element normal.urgent, 113 | element alternate.urgent { 114 | background-color: @off; 115 | text-color: #f2f2f215; 116 | border-radius: 20px; 117 | } 118 | 119 | element normal.active, 120 | element alternate.active { 121 | background-color: @on; 122 | text-color: @background; 123 | } 124 | 125 | element selected { 126 | background-color: @accent; 127 | text-color: @background; 128 | border: 0px; 129 | border-radius: 20px; 130 | border-color: #ffb86c; 131 | } 132 | 133 | element selected.urgent { 134 | background-color: @on; 135 | text-color: #f2f2f215; 136 | } 137 | 138 | element selected.active { 139 | background-color: @off; 140 | color: @background; 141 | } 142 | -------------------------------------------------------------------------------- /waybar/modules/player.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | import argparse 3 | import logging 4 | import sys 5 | import signal 6 | import gi 7 | import json 8 | gi.require_version('Playerctl', '2.0') 9 | from gi.repository import Playerctl, GLib 10 | 11 | logger = logging.getLogger(__name__) 12 | 13 | 14 | def write_output(text, player): 15 | logger.info('Writing output') 16 | 17 | output = {'text': text, 18 | 'class': 'custom-' + player.props.player_name, 19 | 'alt': player.props.player_name} 20 | 21 | sys.stdout.write(json.dumps(output) + '\n') 22 | sys.stdout.flush() 23 | 24 | 25 | def on_play(player, status, manager): 26 | logger.info('Received new playback status') 27 | on_metadata(player, player.props.metadata, manager) 28 | 29 | 30 | def on_metadata(player, metadata, manager): 31 | logger.info('Received new metadata') 32 | track_info = '' 33 | 34 | if player.props.player_name == 'spotify' and \ 35 | 'mpris:trackid' in metadata.keys() and \ 36 | ':ad:' in player.props.metadata['mpris:trackid']: 37 | track_info = 'AD PLAYING' 38 | elif player.get_artist() != '' and player.get_title() != '': 39 | track_info = '{artist} - {title}'.format(artist=player.get_artist(), 40 | title=player.get_title()) 41 | else: 42 | track_info = player.get_title() 43 | 44 | if player.props.status != 'Playing' and track_info: 45 | track_info = ' ' + track_info 46 | write_output(track_info, player) 47 | 48 | 49 | def on_player_appeared(manager, player, selected_player=None): 50 | if player is not None and (selected_player is None or player.name == selected_player): 51 | init_player(manager, player) 52 | else: 53 | logger.debug("New player appeared, but it's not the selected player, skipping") 54 | 55 | 56 | def on_player_vanished(manager, player): 57 | logger.info('Player has vanished') 58 | sys.stdout.write('\n') 59 | sys.stdout.flush() 60 | 61 | 62 | def init_player(manager, name): 63 | logger.debug('Initialize player: {player}'.format(player=name.name)) 64 | player = Playerctl.Player.new_from_name(name) 65 | player.connect('playback-status', on_play, manager) 66 | player.connect('metadata', on_metadata, manager) 67 | manager.manage_player(player) 68 | on_metadata(player, player.props.metadata, manager) 69 | 70 | 71 | def signal_handler(sig, frame): 72 | logger.debug('Received signal to stop, exiting') 73 | sys.stdout.write('\n') 74 | sys.stdout.flush() 75 | # loop.quit() 76 | sys.exit(0) 77 | 78 | 79 | def parse_arguments(): 80 | parser = argparse.ArgumentParser() 81 | 82 | # Increase verbosity with every occurrence of -v 83 | parser.add_argument('-v', '--verbose', action='count', default=0) 84 | 85 | # Define for which player we're listening 86 | parser.add_argument('--player') 87 | 88 | return parser.parse_args() 89 | 90 | 91 | def main(): 92 | arguments = parse_arguments() 93 | 94 | # Initialize logging 95 | logging.basicConfig(stream=sys.stderr, level=logging.DEBUG, 96 | format='%(name)s %(levelname)s %(message)s') 97 | 98 | # Logging is set by default to WARN and higher. 99 | # With every occurrence of -v it's lowered by one 100 | logger.setLevel(max((3 - arguments.verbose) * 10, 0)) 101 | 102 | # Log the sent command line arguments 103 | logger.debug('Arguments received {}'.format(vars(arguments))) 104 | 105 | manager = Playerctl.PlayerManager() 106 | loop = GLib.MainLoop() 107 | 108 | manager.connect('name-appeared', lambda *args: on_player_appeared(*args, arguments.player)) 109 | manager.connect('player-vanished', on_player_vanished) 110 | 111 | signal.signal(signal.SIGINT, signal_handler) 112 | signal.signal(signal.SIGTERM, signal_handler) 113 | signal.signal(signal.SIGPIPE, signal.SIG_DFL) 114 | 115 | for player in manager.props.player_names: 116 | if arguments.player is not None and arguments.player != player.name: 117 | logger.debug('{player} is not the filtered player, skipping it' 118 | .format(player=player.name) 119 | ) 120 | continue 121 | 122 | init_player(manager, player) 123 | 124 | loop.run() 125 | 126 | 127 | if __name__ == '__main__': 128 | main() -------------------------------------------------------------------------------- /waybar/config: -------------------------------------------------------------------------------- 1 | { 2 | "layer": "top", 3 | "position": "top", 4 | "height": 30, 5 | 6 | "modules-left": [ 7 | "custom/sysmenu", "custom/sep", 8 | "wlr/workspaces","custom/sep", 9 | "custom/spotify-prev", 10 | "custom/spotify-play-pause", 11 | "custom/spotify-next", "custom/spotify-sep", 12 | "custom/spotify" 13 | ], 14 | "modules-center": [ 15 | "custom/windowbutton-close", 16 | "custom/windowbutton-fullscreen", 17 | "custom/windowbutton-float", "custom/windowbutton-sep", 18 | "hyprland/window" 19 | ], 20 | "modules-right": [ 21 | "tray", "custom/sep", 22 | "hyprland/language", "custom/sep", 23 | "custom/weather", "custom/sep", 24 | "pulseaudio", "custom/sep", 25 | "clock" 26 | ], 27 | "hyprland/language": { 28 | "format": " {}", 29 | "format-en": "us", 30 | "format-gr": "gr", 31 | "keyboard-name": "logitech-g512-rgb-mechanical-gaming-keyboard", 32 | "on-click": "~/.config/waybar/modules/layoutswitch.sh" 33 | }, 34 | "custom/sep": { 35 | "exec": "echo ' | '", 36 | "tooltip": false 37 | }, 38 | "custom/windowbutton-close": { 39 | "interval": 1, 40 | "return-type": "json", 41 | "exec": "~/.config/waybar/modules/windowbutton.sh -cl", 42 | "tooltip": true, 43 | "on-click": "hyprctl dispatch killactive" 44 | }, 45 | "custom/windowbutton-fullscreen": { 46 | "interval": 1, 47 | "return-type": "json", 48 | "exec": "~/.config/waybar/modules/windowbutton.sh -max", 49 | "tooltip": true, 50 | "on-click": "hyprctl dispatch fullscreen" 51 | }, 52 | "custom/windowbutton-float": { 53 | "interval": 1, 54 | "return-type": "json", 55 | "exec": "~/.config/waybar/modules/windowbutton.sh -fl", 56 | "tooltip": true, 57 | "on-click": "hyprctl dispatch togglefloating ''" 58 | }, 59 | "custom/windowbutton-sep": { 60 | "interval": 1, 61 | "exec": "echo ' | '", 62 | "exec-if": " ! [[ $(hyprctl activewindow) = 'Invalid' ]];" 63 | }, 64 | "custom/sysmenu": { 65 | "interval": 60, 66 | "return-type": "json", 67 | "exec":"~/.config/waybar/modules/sysmenu.sh", 68 | "toolip": true, 69 | "on-click": "~/.config/rofi/powermenu/type-4/powermenu.sh", 70 | "on-click-right": "launcher" 71 | }, 72 | "custom/spotify": { 73 | "interval": 1, 74 | "return-type": "json", 75 | "exec": "~/.config/waybar/modules/spotify.sh", 76 | "exec-if": "pgrep spotify", 77 | "escape": true, 78 | "on-click": "~/.config/waybar/modules/player-swap.sh" 79 | }, 80 | "custom/spotify-prev": { 81 | "interval": 1, 82 | "return-type": "json", 83 | "exec": "~/.config/waybar/modules/spotify-buttons.sh -prev", 84 | "exec-if": "pgrep spotify", 85 | "on-click": "playerctl --player=spotify previous" 86 | }, 87 | "custom/spotify-play-pause": { 88 | "interval": 1, 89 | "return-type": "json", 90 | "exec": "~/.config/waybar/modules/spotify-buttons.sh -p", 91 | "exec-if": "pgrep spotify", 92 | "on-click": "playerctl --player=spotify play-pause", 93 | "signal": 2 94 | }, 95 | "custom/spotify-next": { 96 | "interval": 1, 97 | "return-type": "json", 98 | "exec": "~/.config/waybar/modules/spotify-buttons.sh -next", 99 | "exec-if": "pgrep spotify", 100 | "on-click": "playerctl --player=spotify next" 101 | }, 102 | "custom/spotify-sep": { 103 | "interval": 1, 104 | "exec": "echo ' | '", 105 | "exec-if": "pgrep spotify" 106 | }, 107 | "wlr/workspaces": { 108 | "format-icons": { 109 | "1": "", 110 | "2": "", 111 | "3": "", 112 | "4": "", 113 | "5": "", 114 | "6": "", 115 | "7": "", 116 | "8": "", 117 | "default": "" 118 | }, 119 | "persistent_workspaces": { 120 | "1": [], 121 | "2": [], 122 | "3": [], 123 | "4": [], 124 | "5": [], 125 | "6": [], 126 | "7": [], 127 | "8": [] 128 | }, 129 | "active-only": "false", 130 | "on-click": "activate", 131 | "format": "{icon}", 132 | "disable-scroll": false, 133 | "sort-by-number": true 134 | 135 | }, 136 | "hyprland/window": { 137 | "max-length": 80, 138 | "tooltip": false 139 | }, 140 | "clock": { 141 | "format": "{: %I:%M %p}", 142 | "format-alt": "{: %a, %d %b %Y}", 143 | "tooltip": false 144 | }, 145 | "pulseaudio": { 146 | "format-alt": "{icon}", 147 | "format": "{icon} {volume}%", 148 | "format-alt-click": "click-right", 149 | "format-muted": "", 150 | "format-icons": { 151 | "phone": [" ", " ", " ", " "], 152 | "default": ["", "", ""] 153 | }, 154 | "on-click": "volume mute", 155 | "on-click-middle": "pavucontrol", 156 | "tooltip": false, 157 | "on-scroll-up" : "volume up", 158 | "on-scroll-down" : "volume down" 159 | }, 160 | "custom/weather": { 161 | "interval": 1, 162 | "return-type": "json", 163 | "exec": "~/.config/waybar/modules/weather.sh" 164 | }, 165 | "tray": { 166 | "spacing": 5, 167 | "icon-size": 18 168 | } 169 | } 170 | -------------------------------------------------------------------------------- /bspwm/sxhkdrc: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | #### KEYBINDS #### 3 | ############################################################################### 4 | 5 | #while true; do sleep 1 && while cat ~/autoclicker; do xdotool click 1; done; done 6 | #if cat ~/autoclicker; then del ~/autoclicker; else touch ~/autoclicker; fi 7 | 8 | #################### 9 | #### BSPWM #### 10 | #################### 11 | 12 | super + k 13 | dunstify "$(xdotool getwindowname $(xdotool getactivewindow))" 14 | 15 | # change focus and move focused window # 16 | super + {_,shift + }{Left,Down,Up,Right} 17 | mode=$(bspc query -T -d | jq -r .layout); \ 18 | [[ "$mode" == "tiled" ]] && bspc node --{focus,swap} {west,south,north,east}; \ 19 | [[ "$mode" == "monocle" ]] && bspc node --{focus,swap} {prev,next,prev,next}.local 20 | 21 | # kill the focused window 22 | super + q 23 | bspc node -c 24 | 25 | super + ~button2 26 | bspc node -c 27 | 28 | # switch workspaces 29 | super + {1-9,0} 30 | bspc desktop -f {1-9,10} 31 | 32 | super + button{4,5} 33 | bspc desktop {next,prev}.occupied -f 34 | 35 | super + control + {Right,Left} 36 | bspc desktop {next,prev} -f 37 | 38 | # send window to workspace and switch # 39 | super + shift + {1-9,0} 40 | bspc node -d {1-9,10} --follow 41 | 42 | # floating # 43 | super + shift + space 44 | sh $HOME/.config/bspwm/scripts/floating.sh 45 | 46 | # fullscreen # 47 | super + f 48 | sh $HOME/.config/bspwm/scripts/fullscreen.sh 49 | 50 | # alternate between the tiled and monocle layout 51 | super + m 52 | bspc desktop -l next 53 | 54 | # vertical # 55 | super + v 56 | bspc node @parent -R 90 57 | 58 | # xkill # 59 | super + ctrl + x 60 | xkill 61 | 62 | # restart bspwm # 63 | super + shift + r 64 | bspc wm -r && pkill -USR1 -x sxhkd 65 | 66 | # restart polybar # 67 | super + r 68 | reload-pb 69 | 70 | # afk # 71 | super + Escape 72 | sh ~/.config/bspwm/scripts/afk.sh 73 | 74 | # change language # 75 | alt + Shift_L 76 | ~/scripts/bspwm/layoutswitch.sh 77 | 78 | # picom # 79 | super + control + c 80 | pgrep picom >/dev/null && pkill picom || $(cat ~/.picomlockfile) --config ~/.config/picom/config.conf --experimental-backends & 81 | 82 | # borders # 83 | #super + control + z 84 | # bash ~/.config/bspwm/scripts/borders.sh 85 | 86 | #################### 87 | #### APPS #### 88 | #################### 89 | 90 | # dunst history # 91 | super + grave 92 | while read; do dunstctl history-pop; done <<<$(dunstctl history|grep '"id" :') 93 | 94 | # keyboards # 95 | #super + s 96 | # bash ~/.config/bspwm/scripts/switch_kb.sh 97 | 98 | # color picker # 99 | super + p 100 | xcolor-pick 101 | 102 | # Screenshots # 103 | alt + s 104 | screenshot --area 105 | 106 | super + s 107 | screenshot --img-to-text 108 | 109 | alt +a 110 | flameshot screen 111 | 112 | super + shift + f 113 | flameshot launcher 114 | 115 | ~Print 116 | flameshot gui 117 | 118 | # rofi # 119 | #launcher 120 | super + space 121 | rofi -no-lazy-grab -show drun -modi drun,window -theme ~/.config/rofi-own/catppuccin.rasi 122 | 123 | #window 124 | super + a 125 | rofi -no-lazy-grab -show window -modi drun,window -theme ~/.config/rofi-own/catppuccin.rasi 126 | 127 | alt + Tab 128 | rofi -no-lazy-grab -show window -modi window -theme ~/.config/rofi-own/catppuccin.rasi 129 | 130 | #clipmenu-2 selection 131 | super + c 132 | CM_LAUNCHER=rofi clipmenu -theme $HOME/.config/rofi-own/clipmenu-2.rasi 133 | 134 | #clipmenu ctrl c 135 | super + shift + c 136 | rofi -modi "clipboard:greenclip print" -show clipboard -run-command '{cmd}' -theme ~/.config/rofi-own/clipmenu-2.rasi 137 | 138 | ~button2 139 | bspc query -D -d 'focused.!occupied' && launcher 140 | 141 | # terminal # 142 | super + Return 143 | kitty 144 | 145 | super + slash 146 | kitty --class=floating --config=$HOME/.config/kitty/floating.conf 147 | 148 | # prismlauncher # 149 | super + F1 150 | prismlauncher 151 | 152 | # steam # 153 | super + F2 154 | if pgrep steam; then steam -foreground; else steam & fi 155 | # discord # 156 | super + F3 157 | discord 158 | 159 | # firefox # 160 | super + F4 161 | firefox 162 | 163 | # spotify # 164 | super + F5 165 | spotify 166 | 167 | # thunar # 168 | #super + F1 169 | # thunar 170 | 171 | # jgmenu # 172 | ~button3 173 | bash ~/.config/bspwm/scripts/jgmenu.sh 174 | 175 | alt + button3 176 | jgmenud 177 | 178 | ~Alt_R 179 | jgmenud 180 | 181 | # thunderbird # 182 | XF86Mail 183 | thunderbird 184 | 185 | # calculator # 186 | XF86Calculator 187 | io.elementary.calculator 188 | 189 | XF86HomePage 190 | code ~/.config/bspwm/bspwmrc 191 | 192 | #################### 193 | #### OTHER ### 194 | #################### 195 | 196 | # volume # 197 | XF86Audio{Raise,Lower}Volume 198 | volume {up,down} 199 | 200 | XF86AudioMute 201 | volume mute 202 | 203 | # playerctl control # 204 | XF86AudioPlay 205 | playerctl $(cat ~/.module-playerctl) play-pause 206 | 207 | control + KP_Divide 208 | playerctl $(cat ~/.module-playerctl) play-pause 209 | 210 | XF86AudioNext 211 | playerctl $(cat ~/.module-playerctl) next 212 | 213 | XF86AudioPrev 214 | playerctl $(cat ~/.module-playerctl) previous 215 | 216 | XF86AudioStop 217 | playerctl $(cat ~/.module-playerctl) stop 218 | 219 | # power-menu # 220 | #1 221 | super + x 222 | $HOME/.config/rofi/powermenu/type-4/powermenu.sh 223 | 224 | #lock 225 | super + l 226 | betterlockscreen -l 227 | 228 | ######################## 229 | #### COOL STUFF ### 230 | ####################### 231 | 232 | -------------------------------------------------------------------------------- /bspwm/bspwmrc: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # ############################################################################## 4 | # # ENV VARS # 5 | # ############################################################################## 6 | 7 | #export PATH="/home/george/scripts" 8 | export GCM_CREDENTIAL_STORE=cache 9 | export BROWSER=firefox 10 | export EDITOR=code 11 | export TERMINAL= 12 | export _JAVA_AWT_WM_NONREPARENTING=1 # Fix for JetBrains IDEs 13 | export DOTNET_ROOT=~/.dotnet 14 | export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools 15 | 16 | # ############################################################################## 17 | # # FUNCTIONS # 18 | # ############################################################################## 19 | 20 | rule() { bspc rule -a "$@" & } 21 | config() { bspc config "$@" & } 22 | monitor() { bspc monitor "$@" & } 23 | start() { pkill -x "$1"; { sleep 0.1; "$@" & }; } 24 | start_if() { pgrep -x $1 >/dev/null || $@ & } 25 | startup() { pgrep -i $1 >/dev/null || $@ & } 26 | 27 | # ############################################################################## 28 | # # GENERAL CONFIGURATION # 29 | # ############################################################################## 30 | 31 | config pointer_modifier Mod4 32 | config focus_follows_pointer true 33 | config single_monocle true 34 | config borderless_monocle true 35 | if [[ ! -f /tmp/borders ]]; then 36 | bspc config border_width 2 37 | del /tmp/borders 38 | fi 39 | config window_gap 0 40 | config top_padding 30 41 | config split_ratio 0.45 42 | config external_rules_command "$HOME/.config/bspwm/scripts/spotify.sh" 43 | config left_padding 0 44 | config bottom_padding 0 45 | 46 | # ############################################################################## 47 | # # WINDOW RULES # 48 | # ############################################################################## 49 | 50 | monitor HDMI-A-0 -d 1 2 3 4 5 6 7 8 9 10 51 | #monitor HDMI-A-0 -d 1 2 6 7 8 52 | #monitor HDMI-A-1 -d 3 4 5 9 10 53 | 54 | rule firefox desktop=4 55 | rule discord desktop=3 56 | rule Variety state=floating 57 | rule Pavucontrol state=floating 58 | rule Lxappearance state=floating 59 | rule Gpick state=floating 60 | rule Nm-connection-editor state=floating 61 | rule copyq state=floating 62 | rule Places state=floating 63 | rule "Primenote" state=floating 64 | bspc rule -a floating state=floating 65 | rule feh state=floating 66 | rule "Spotify" desktop=5 67 | rule Bitwarden state=floating 68 | 69 | rule "SkyClient (Forge 1.8.9)" desktop=2 border=off 70 | rule MultiMC desktop=2 71 | rule PolyMC desktop=2 72 | rule PrismLauncher desktop=2 73 | rule "Minecraft 1.8.9" desktop=2 border=off 74 | rule "Minecraft 1.12.2" desktop=2 border=off 75 | rule "Minecraft* 1.18.2" desktop=2 border=off 76 | rule "Minecraft* 1.19.3" desktop=2 border=off 77 | rule lunarclient desktop=2 78 | rule Steam desktop=2 q 79 | rule steam_app_1145360 desktop=2 border=off 80 | rule steam_app_444090 desktop=2 81 | rule steam_app_960090 desktop=2 82 | rule steam_proton desktop=2 83 | rule heroic desktop=2 84 | rule PortalWars-Linux-Shipping desktop=2 border=off 85 | rule Lutris desktop=2 86 | 87 | rule afk-1 desktop=8 88 | rule afk-2 desktop=10 89 | 90 | # ############################################################################## 91 | # # MISCELLANEOUS # 92 | # ############################################################################## 93 | 94 | config normal_border_color "#44475a" 95 | config active_border_color "#44475a" 96 | config focused_border_color "#b4befe" 97 | config presel_feedback_color "#b24744" 98 | 99 | # ############################################################################## 100 | # # STARTUP # 101 | # ############################################################################## 102 | 103 | #variety 104 | bash ~/.fehbg & 105 | 106 | #weather 107 | ntfd & 108 | 109 | #polybar 110 | exec ~/.config/polybar/scripts/multi-screens.sh & 111 | 112 | #picom 113 | #pgrep -x picom >/dev/null || picom --config ~/.config/picom/config.conf --experimental-backends & 114 | start_if picom --config ~/.config/picom/config.conf --experimental-backends 115 | 116 | #mouse settings 117 | xsetroot -cursor_name left_ptr & 118 | xinput set-prop 'Mice&MultiKB USB product Mice&MultiKB USB product' 'libinput Accel Speed' -0.7 119 | 120 | #keyboard layout 121 | setxkbmap -layout us,gr & 122 | $HOME/.config/bspwm/keyboard-colors & 123 | #g512-led -fx cwave keys 1a 124 | 125 | #clipman 126 | start clipmenud 127 | start greenclip daemon 128 | pgrep -x copyq >/dev/null || copyq & 129 | 130 | #dunst 131 | start dunst 132 | dunstify "Restarted" -a Bspwm -t 2000 --icon=/home/george/.config/bspwm/restart_icon.png 133 | #if [ -d /usr/share/icons/default ]; then dunstify -t 15000 "/usr/share/icons/default exists, cursor theme might not work properly" --icon=/home/george/.icons/Papirus-Dark/32x32/categories/bell.svg; fi 134 | 135 | 136 | #polkit 137 | start gnome-polkit 138 | 139 | #numlock 140 | numlockx on 141 | 142 | #Network Applet 143 | start nm-applet 144 | 145 | #sxhkd 146 | start sxhkd -c ~/.config/bspwm/sxhkdrc 147 | 148 | #brightness 149 | brightness-set $(cat /tmp/brightness-value) & 150 | #brightness-set 1 151 | #volume up 152 | 153 | 154 | ## Autostart ## 155 | startup discord 156 | 157 | 158 | while true; do sleep 1; if [[ ! $(cat /tmp/polybarDataSpotify) == $(playerctl --player=spotify metadata -f '{{artist}} - {{title}}') ]]; then echo "" > /tmp/polybarIconSpotify; polybar-msg action "#playerctl-spotify.hook.0" > /dev/null; fi; done & 159 | 160 | 161 | 162 | -------------------------------------------------------------------------------- /stalonetrayrc: -------------------------------------------------------------------------------- 1 | # vim:filetype=config:tw=80:et 2 | # 3 | # This is sample ~/.stalonetrayrc, resembling default configuration. 4 | # Remember: command line parameters take precedence. 5 | # 6 | # Directives introduced in @VERSION_STR@ are marked with "NEW in @VERSION_STR@" 7 | # 8 | #################################################################### 9 | # 10 | # stalonetray understands following directives 11 | # 12 | #################################################################### 13 | 14 | # background # color can be specified as an HTML hex triplet or 15 | # as a name from rgb.txt, note that '#' must be quoted 16 | background "#282a36" 17 | 18 | # decorations # set trays window decorations; possible values for 19 | # decspec are: all, title, border, none 20 | decorations none 21 | 22 | # display # as usual 23 | 24 | # dockapp_mode # set dockapp mode, which can be either simple (for 25 | # e.g. OpenBox, wmaker for WindowMaker, or none 26 | # (default). NEW in @VERSION_STR@. 27 | dockapp_mode none 28 | 29 | # fuzzy_edges [] # enable fuzzy edges and set fuzziness level. level 30 | # can be from 0 (disabled) to 3; this setting works 31 | # with tinting and/or transparent and/or pixmap 32 | # backgrounds 33 | fuzzy_edges 3 34 | 35 | # geometry # tray's geometry in standard X notation; width and 36 | # height are specified in slot_size multiples 37 | geometry 1x1+2532+28 38 | 39 | # grow_gravity # one of N, S, E, W, NW, NE, SW, SE; tray will grow 40 | # in the direction opposite to one specified by 41 | # grow_gravity; if horizontal or vertical 42 | # direction is not specified, tray will not grow in 43 | # that direction 44 | grow_gravity NW 45 | 46 | # icon_gravity # icon placement gravity, one of NW, NE, SW, SE 47 | icon_gravity NW 48 | 49 | # icon_size # specifies dimensions of typical icon slot 50 | icon_size 22 51 | 52 | # log_level # controls the amount of logging output, level can 53 | # be err (default), info, or trace (enabled only 54 | # when stalonetray configured with --enable-debug) 55 | # NEW in @VERSION_STR@. 56 | log_level err 57 | 58 | # kludges kludge[,kludge] # enable specific kludges to work around 59 | # non-conforming WMs and/or stalonetray bugs. 60 | # NEW in @VERSION_STR@. Argument is a 61 | # comma-separated list of 62 | # * fix_window_pos - fix tray window position on 63 | # erroneous moves by WM 64 | # * force_icons_size - ignore resize events on all 65 | # icons; force their size to be equal to 66 | # icon_size 67 | # * use_icon_hints - use icon window hints to 68 | # dtermine icon size 69 | 70 | # max_geometry # maximal tray dimensions; 0 in width/height means 71 | # no limit 72 | max_geometry 0x0 73 | 74 | # no_shrink [] # disables shrink-back mode 75 | no_shrink false 76 | 77 | # parent_bg [] # whether to use pseudo-transparency 78 | # (looks better when reparented into smth like FvwmButtons) 79 | parent_bg false 80 | 81 | # pixmap_bg # use pixmap from specified xpm file for (tiled) background 82 | # pixmap_bg /home/user/.stalonetraybg.xpm 83 | 84 | # scrollbars # enable/disable scrollbars; mode is either 85 | # vertical, horizontal, all or none (default) 86 | # NEW in @VERSION_STR@. 87 | scrollbars none 88 | 89 | # scrollbars-size # scrollbars step in pixels; default is slot_size / 4 90 | # scrollbars-step 8 91 | 92 | # scrollbars-step # scrollbars step in pixels; default is slot_size / 2 93 | # scrollbars-step 32 94 | 95 | # slot_size # specifies size of icon slot, defaults to 96 | # icon_size NEW in @VERSION_STR@. 97 | 98 | # skip_taskbar [] # hide tray`s window from the taskbar 99 | skip_taskbar true 100 | 101 | # sticky [] # make a tray`s window sticky across the 102 | # desktops/pages 103 | sticky true 104 | 105 | # tint_color # set tinting color 106 | tint_color white 107 | 108 | # tint_level # set tinting level; level ranges from 0 (disabled) 109 | # to 255 110 | tint_level 0 111 | 112 | # transparent [] # whether to use root-transparency (background 113 | # image must be set with Esetroot or compatible utility) 114 | transparent false 115 | 116 | # vertical [] # whether to use vertical layout (horisontal layout 117 | # is used by default) 118 | vertical true 119 | 120 | # window_layer # set the EWMH-compatible window layer; one of: 121 | # bottom, normal, top 122 | window_layer normal 123 | 124 | # window_strut # enable/disable window struts for tray window (to 125 | # avoid converting of tray window by maximized 126 | # windows); mode defines to which screen border tray 127 | # will be attached; it can be either top, bottom, 128 | # left, right, none or auto (default) 129 | window_strut auto 130 | 131 | # window_type # set the EWMH-compatible window type; one of: 132 | # desktop, dock, normal, toolbar, utility 133 | window_type dock 134 | 135 | # xsync [] # whether to operate on X server synchronously (SLOOOOW) 136 | xsync false 137 | 138 | -------------------------------------------------------------------------------- /rofi-own/powermenu-2.rasi: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | * Author : Aditya Shakya (adi1090x) 4 | * Github : @adi1090x 5 | * 6 | * Rofi Theme File 7 | * Rofi Version: 1.7.3 8 | **/ 9 | 10 | /*****----- Configuration -----*****/ 11 | 12 | 13 | configuration { 14 | show-icons: false; 15 | } 16 | 17 | * { 18 | font: "JetBrains Mono Nerd Font 12"; 19 | } 20 | 21 | * { 22 | background: #1E1D2FFF; 23 | background-alt: #282839FF; 24 | foreground: #D9E0EEFF; 25 | selected: #7AA2F7FF; 26 | active: #ABE9B3FF; 27 | urgent: #F28FADFF; 28 | } 29 | 30 | /*****----- Global Properties -----*****/ 31 | /** @import "shared/colors.rasi" 32 | #@import "shared/fonts.rasi" 33 | **/ 34 | * { 35 | /* Resolution : 1920x1080 */ 36 | box-spacing: 50px; 37 | box-margin: 370px 350px; 38 | message-margin: 0px 350px; 39 | inputbar-spacing: 0px; 40 | list-spacing: 50px; 41 | general-padding: 20px; 42 | element-padding: 55px 10px; 43 | element-radius: 20px; 44 | general-radius: 100%; 45 | element-font: "feather 48"; 46 | } 47 | 48 | /*****----- Main Window -----*****/ 49 | window { 50 | /* properties for window widget */ 51 | transparency: "real"; 52 | location: center; 53 | anchor: center; 54 | fullscreen: true; 55 | width: 1366px; 56 | x-offset: 0px; 57 | y-offset: 0px; 58 | 59 | /* properties for all widgets */ 60 | enabled: true; 61 | margin: 0px; 62 | padding: 0px; 63 | border: 0px solid; 64 | border-radius: 0px; 65 | border-color: @selected; 66 | cursor: "default"; 67 | background-color: @background; 68 | } 69 | 70 | /*****----- Main Box -----*****/ 71 | mainbox { 72 | enabled: true; 73 | spacing: var(box-spacing); 74 | margin: 0px; 75 | padding: var(box-margin); 76 | border: 0px solid; 77 | border-radius: 0px; 78 | border-color: @selected; 79 | background-color: transparent; 80 | children: [ "message", "listview" ]; 81 | } 82 | 83 | /*****----- Inputbar -----*****/ 84 | inputbar { 85 | enabled: true; 86 | spacing: var(inputbar-spacing); 87 | margin: 0px; 88 | padding: 0px; 89 | border: 0px; 90 | border-radius: 0px; 91 | border-color: @selected; 92 | background-color: transparent; 93 | text-color: @foreground; 94 | children: [ "dummy", "textbox-prompt-colon", "prompt", "dummy"]; 95 | } 96 | 97 | dummy { 98 | background-color: transparent; 99 | } 100 | 101 | textbox-prompt-colon { 102 | enabled: true; 103 | expand: false; 104 | str: "SYSTEM"; 105 | padding: var(general-padding); 106 | border-radius: var(general-radius); 107 | background-color: @urgent; 108 | text-color: @background; 109 | } 110 | prompt { 111 | enabled: true; 112 | padding: var(general-padding); 113 | border-radius: var(general-radius); 114 | background-color: @active; 115 | text-color: @background; 116 | } 117 | 118 | /*****----- Message -----*****/ 119 | message { 120 | enabled: true; 121 | margin: var(message-margin); 122 | padding: var(general-padding); 123 | border: 0px; 124 | border-radius: var(general-radius); 125 | border-color: @selected; 126 | background-color: @background-alt; 127 | text-color: @foreground; 128 | } 129 | textbox { 130 | background-color: inherit; 131 | text-color: inherit; 132 | vertical-align: 0.5; 133 | horizontal-align: 0.5; 134 | placeholder-color: @foreground; 135 | blink: true; 136 | markup: true; 137 | } 138 | error-message { 139 | padding: var(general-padding); 140 | border: 0px solid; 141 | border-radius: var(general-radius); 142 | border-color: @selected; 143 | background-color: @background; 144 | text-color: @foreground; 145 | } 146 | 147 | /*****----- Listview -----*****/ 148 | listview { 149 | enabled: true; 150 | columns: 5; 151 | lines: 1; 152 | cycle: true; 153 | dynamic: true; 154 | scrollbar: false; 155 | layout: vertical; 156 | reverse: false; 157 | fixed-height: true; 158 | fixed-columns: true; 159 | 160 | spacing: var(list-spacing); 161 | margin: 0px; 162 | padding: 0px; 163 | border: 0px solid; 164 | border-radius: 0px; 165 | border-color: @selected; 166 | background-color: transparent; 167 | text-color: @foreground; 168 | cursor: "default"; 169 | } 170 | 171 | /*****----- Elements -----*****/ 172 | element { 173 | enabled: true; 174 | spacing: 0px; 175 | margin: 0px; 176 | padding: var(element-padding); 177 | border: 0px solid; 178 | border-radius: var(element-radius); 179 | border-color: @selected; 180 | background-color: @background-alt; 181 | text-color: @foreground; 182 | cursor: pointer; 183 | } 184 | element-text { 185 | font: var(element-font); 186 | background-color: transparent; 187 | text-color: inherit; 188 | cursor: inherit; 189 | vertical-align: 0.5; 190 | horizontal-align: 0.5; 191 | } 192 | element selected.normal { 193 | background-color: var(selected); 194 | text-color: var(background); 195 | } 196 | -------------------------------------------------------------------------------- /hypr/hyprland.conf: -------------------------------------------------------------------------------- 1 | # This is an example Hyprland config file. 2 | # 3 | # Refer to the wiki for more information. 4 | 5 | # 6 | # Please note not all available settings / options are set here. 7 | # For a full list, see the wiki 8 | # 9 | 10 | # See https://wiki.hyprland.org/Configuring/Monitors/ 11 | monitor=,2560x1080@75,0x0,1 12 | 13 | 14 | # See https://wiki.hyprland.org/Configuring/Keywords/ for more 15 | 16 | # Execute your favorite apps at launch 17 | # exec-once = waybar & hyprpaper & firefox 18 | 19 | # Source a file (multi-file configs) 20 | # source = ~/.config/hypr/myColors.conf 21 | 22 | # For all categories, see https://wiki.hyprland.org/Configuring/Variables/ 23 | input { 24 | kb_layout = us,gr 25 | kb_options = grp:alt_shift_toggle 26 | numlock_by_default = true 27 | follow_mouse = 1 28 | 29 | touchpad { 30 | natural_scroll = no 31 | } 32 | 33 | sensitivity = 0 # -1.0 - 1.0, 0 means no modification. 34 | } 35 | 36 | general { 37 | # See https://wiki.hyprland.org/Configuring/Variables/ for more 38 | 39 | gaps_in = 1 40 | gaps_out = 1 41 | border_size = 2 42 | col.active_border = rgb(cba6f7) 43 | col.inactive_border = rgba(595959aa) 44 | 45 | layout = dwindle 46 | } 47 | 48 | decoration { 49 | # See https://wiki.hyprland.org/Configuring/Variables/ for more 50 | 51 | rounding = 3 52 | blur = yes 53 | blur_size = 10 54 | blur_passes = 1 55 | blur_new_optimizations = on 56 | 57 | drop_shadow = yes 58 | shadow_range = 4 59 | shadow_render_power = 3 60 | col.shadow = rgba(1a1a1aee) 61 | } 62 | 63 | animations { 64 | enabled = yes 65 | 66 | # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more 67 | 68 | bezier = myBezier, 0.05, 0.9, 0.1, 1.05 69 | 70 | animation = windows, 1, 7, myBezier 71 | animation = windowsOut, 1, 7, default, popin 40% 72 | animation = border, 1, 10, default 73 | animation = fade, 1, 7, default 74 | animation = workspaces, 1, 6, default 75 | } 76 | 77 | dwindle { 78 | # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more 79 | pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below 80 | preserve_split = yes # you probably want this 81 | no_gaps_when_only = true 82 | split_width_multiplier = 2 83 | force_split = 2 84 | } 85 | 86 | master { 87 | # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more 88 | new_is_master = false 89 | no_gaps_when_only = true 90 | orientation = right 91 | allow_small_split = true 92 | } 93 | 94 | gestures { 95 | # See https://wiki.hyprland.org/Configuring/Variables/ for more 96 | workspace_swipe = off 97 | } 98 | 99 | # Example per-device config 100 | # See https://wiki.hyprland.org/Configuring/Keywords/#executing for more 101 | device:mice&multikb-usb-product-mice&multikb-usb-product { 102 | sensitivity = -0.7 103 | } 104 | 105 | misc { 106 | focus_on_activate = 1 107 | } 108 | 109 | # Example windowrule v1 110 | # windowrule = float, ^(kitty)$ 111 | # Example windowrule v2 112 | # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ 113 | # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more 114 | 115 | windowrule = float, floating 116 | 117 | windowrule = workspace 2, steam 118 | windowrule = workspace 2, PortalWars-Linux-Shipping 119 | windowrule = workspace 2, org.prismlauncher.PrismLauncher 120 | windowrule = workspace 2, *SkyClient* 121 | 122 | windowrule = workspace 3, discord 123 | windowrule = workspace 4, firefox 124 | windowrule = workspace 5, Spotify 125 | 126 | 127 | #Apps 128 | exec = $HOME/.config/waybar/waybar.sh 129 | exec = copyq --start-server 130 | exec-once = swaybg -m fill -i $(cat ~/.lastwallpaper-wl) 131 | exec-once = $HOME/.config/bspwm/keyboard-colors 132 | exec = ntfd 133 | 134 | 135 | exec-once = wl-paste --watch cliphist store 136 | 137 | # See https://wiki.hyprland.org/Configuring/Keywords/ for more 138 | $mod = SUPER 139 | $scripts = ~/.config/hypr/scripts 140 | 141 | # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more 142 | bind = $mod, Return, exec, kitty 143 | bind = $mod, slash, exec, kitty --class=floating --config=$HOME/.config/kitty/floating.conf 144 | bind = $mod, Q, killactive, 145 | bind = $mod, M, exit, 146 | bind = SUPER_SHIFT, space, togglefloating, 147 | bind = $mod, space, exec, launcher 148 | bind = $mod, K, pseudo, # dwindle 149 | bind = $mod, J, togglesplit, # dwindle 150 | bind = SUPER_SHIFT, R, exec, hyprctl reload 151 | bind = SUPER_SHIFT, E, exec, dunstify -t 2000 :angy: 152 | bind = $mod, F, fullscreen 153 | bind = SUPER_SHIFT, F, fullscreen, 1 154 | bind = SUPER_CTRL, C, exec, ~/.config/hypr/scripts/toggle_blur.sh 155 | bind =, SHIFT_ALT, exec, ~/.config/waybar/modules/layoutswitch.sh 156 | 157 | # Move focus with mainMod + arrow keys 158 | bind = $mod, left, movefocus, l 159 | bind = $mod, right, movefocus, r 160 | bind = $mod, up, movefocus, u 161 | bind = $mod, down, movefocus, d 162 | 163 | # Move window to direction 164 | bind = SUPER_SHIFT, left, movewindow, l 165 | bind = SUPER_SHIFT, right, movewindow, r 166 | bind = SUPER_SHIFT, up, movewindow, u 167 | bind = SUPER_SHIFT, down, movewindow, d 168 | 169 | # Switch workspaces with mainMod + [0-9] 170 | bind = $mod, 1, workspace, 1 171 | bind = $mod, 2, workspace, 2 172 | bind = $mod, 3, workspace, 3 173 | bind = $mod, 4, workspace, 4 174 | bind = $mod, 5, workspace, 5 175 | bind = $mod, 6, workspace, 6 176 | bind = $mod, 7, workspace, 7 177 | bind = $mod, 8, workspace, 8 178 | bind = $mod, 9, workspace, 9 179 | bind = $mod, 0, workspace, 10 180 | 181 | # Move active window to a workspace with mainMod + SHIFT + [0-9] 182 | bind = $mod SHIFT, 1, movetoworkspace, 1 183 | bind = $mod SHIFT, 2, movetoworkspace, 2 184 | bind = $mod SHIFT, 3, movetoworkspace, 3 185 | bind = $mod SHIFT, 4, movetoworkspace, 4 186 | bind = $mod SHIFT, 5, movetoworkspace, 5 187 | bind = $mod SHIFT, 6, movetoworkspace, 6 188 | bind = $mod SHIFT, 7, movetoworkspace, 7 189 | bind = $mod SHIFT, 8, movetoworkspace, 8 190 | bind = $mod SHIFT, 9, movetoworkspace, 9 191 | bind = $mod SHIFT, 0, movetoworkspace, 10 192 | 193 | # Scroll through existing workspaces with mainMod + scroll 194 | bind = $mod, mouse_down, workspace, e+1 195 | bind = $mod, mouse_up, workspace, e-1 196 | 197 | # Move/resize windows with mainMod + LMB/RMB and dragging 198 | bindm = $mod, mouse:272, movewindow 199 | bindm = $mod, mouse:273, resizewindow 200 | 201 | ## Custom binds 202 | 203 | # rofi menus 204 | bind = $mod, X, exec, $HOME/.config/rofi/powermenu/type-4/powermenu.sh 205 | bind = $mod, C, exec, rofi -modi clipboard:$HOME/.config/rofi-own/scripts/cliphist.sh -show clipboard -theme ~/.config/rofi-own/clipmenu-2.rasi 206 | 207 | bind = ALT, S, exec, screenshot-wayland --area 208 | bind = $mod, S, exec, screenshot-wayland --img-to-text 209 | bind = $mod, P, exec, $scripts/color_picker.sh 210 | 211 | bind = $mod, F1, exec, prism 212 | bind = $mod, F2, exec, steam 213 | bind = $mod, F3, exec, discord --enable-features=UseOzonePlatform --ozone-platform=wayland 214 | bind = $mod, F4, exec, firefox 215 | bind = $mod, F5, exec, spotify 216 | 217 | bind =, XF86AudioRaiseVolume, exec, volume up 218 | bind =, XF86AudioLowerVolume, exec, volume down 219 | bind =, XF86AudioMute, exec, volume mute 220 | 221 | bind =, XF86AudioPlay, exec, playerctl play-pause 222 | bind =, XF86AudioNext, exec, playerctl next 223 | bind =, XF86AudioPrev, exec, playerctl previous 224 | bind =, XF86AudioStop, exec, playerctl stop 225 | 226 | 227 | -------------------------------------------------------------------------------- /dunst/dunstrc: -------------------------------------------------------------------------------- 1 | # See dunst(5) for all configuration options 2 | 3 | [global] 4 | ### Display ### 5 | 6 | # Which monitor should the notifications be displayed on. 7 | monitor = 0 8 | 9 | # Display notification on focused monitor. Possible modes are: 10 | # mouse: follow mouse pointer 11 | # keyboard: follow window with keyboard focus 12 | # none: don't follow anything 13 | # 14 | # "keyboard" needs a window manager that exports the 15 | # _NET_ACTIVE_WINDOW property. 16 | # This should be the case for almost all modern window managers. 17 | # 18 | # If this option is set to mouse or keyboard, the monitor option 19 | # will be ignored. 20 | follow = none 21 | 22 | ### Geometry ### 23 | 24 | # dynamic width from 0 to 300 25 | # width = (0, 300) 26 | # constant width of 300 27 | width = (0, 300) 28 | 29 | # The maximum height of a single notification, excluding the frame. 30 | height = 300 31 | 32 | # Position the notification in the top right corner 33 | origin = top-right 34 | 35 | # Offset from the origin 36 | #offset = 10x50 37 | 38 | # Scale factor. It is auto-detected if value is 0. 39 | scale = 0 40 | 41 | # Maximum number of notification (0 means no limit) 42 | notification_limit = 0 43 | 44 | ### Progress bar ### 45 | 46 | # Turn on the progess bar. It appears when a progress hint is passed with 47 | # for example dunstify -h int:value:12 48 | progress_bar = true 49 | 50 | # Set the progress bar height. This includes the frame, so make sure 51 | # it's at least twice as big as the frame width. 52 | progress_bar_height = 10 53 | 54 | # Set the frame width of the progress bar 55 | progress_bar_frame_width = 1 56 | 57 | # Set the minimum width for the progress bar 58 | progress_bar_min_width = 150 59 | 60 | # Set the maximum width for the progress bar 61 | progress_bar_max_width = 300 62 | 63 | 64 | # Show how many messages are currently hidden (because of 65 | # notification_limit). 66 | indicate_hidden = yes 67 | 68 | # The transparency of the window. Range: [0; 100]. 69 | # This option will only work if a compositing window manager is 70 | # present (e.g. xcompmgr, compiz, etc.). (X11 only) 71 | transparency = 20 72 | 73 | # Draw a line of "separator_height" pixel height between two 74 | # notifications. 75 | # Set to 0 to disable. 76 | separator_height = 1 77 | 78 | # Padding between text and separator. 79 | padding = 7 80 | 81 | # Horizontal padding. 82 | horizontal_padding = 10 83 | 84 | # Padding between text and icon. 85 | text_icon_padding = 0 86 | 87 | # Defines width in pixels of frame around the notification window. 88 | # Set to 0 to disable. 89 | frame_width = 2 90 | 91 | # Defines color of the frame around the notification window. 92 | #frame_color = "" 93 | 94 | # Define a color for the separator. 95 | # possible values are: 96 | # * auto: dunst tries to find a color fitting to the background; 97 | # * foreground: use the same color as the foreground; 98 | # * frame: use the same color as the frame; 99 | # * anything else will be interpreted as a X color. 100 | separator_color = auto 101 | 102 | # Sort messages by urgency. 103 | sort = yes 104 | 105 | # Don't remove messages, if the user is idle (no mouse or keyboard input) 106 | # for longer than idle_threshold seconds. 107 | # Set to 0 to disable. 108 | # A client can set the 'transient' hint to bypass this. See the rules 109 | # section for how to disable this if necessary 110 | idle_threshold = 120 111 | 112 | ### Text ### 113 | 114 | font = Monospace 10 115 | 116 | # The spacing between lines. If the height is smaller than the 117 | # font height, it will get raised to the font height. 118 | line_height = 0 119 | 120 | # Possible values are: 121 | # full: Allow a small subset of html markup in notifications: 122 | # bold 123 | # italic 124 | # strikethrough 125 | # underline 126 | # 127 | # For a complete reference see 128 | # . 129 | # 130 | # strip: This setting is provided for compatibility with some broken 131 | # clients that send markup even though it's not enabled on the 132 | # server. Dunst will try to strip the markup but the parsing is 133 | # simplistic so using this option outside of matching rules for 134 | # specific applications *IS GREATLY DISCOURAGED*. 135 | # 136 | # no: Disable markup parsing, incoming notifications will be treated as 137 | # plain text. Dunst will not advertise that it has the body-markup 138 | # capability if this is set as a global setting. 139 | # 140 | # It's important to note that markup inside the format option will be parsed 141 | # regardless of what this is set to. 142 | markup = full 143 | 144 | # The format of the message. Possible variables are: 145 | # %a appname 146 | # %s summary 147 | # %b body 148 | # %i iconname (including its path) 149 | # %I iconname (without its path) 150 | # %p progress value if set ([ 0%] to [100%]) or nothing 151 | # %n progress value if set without any extra characters 152 | # %% Literal % 153 | # Markup is allowed 154 | # %a \n 155 | format = "%s\n%n%b" 156 | 157 | # Alignment of message text. 158 | # Possible values are "left", "center" and "right". 159 | alignment = left 160 | 161 | # Vertical alignment of message text and icon. 162 | # Possible values are "top", "center" and "bottom". 163 | vertical_alignment = center 164 | 165 | # Show age of message if message is older than show_age_threshold 166 | # seconds. 167 | # Set to -1 to disable. 168 | show_age_threshold = 60 169 | 170 | # Specify where to make an ellipsis in long lines. 171 | # Possible values are "start", "middle" and "end". 172 | ellipsize = middle 173 | 174 | # Ignore newlines '\n' in notifications. 175 | ignore_newline = no 176 | 177 | # Stack together notifications with the same content 178 | stack_duplicates = true 179 | 180 | # Hide the count of stacked notifications with the same content 181 | hide_duplicate_count = false 182 | 183 | # Display indicators for URLs (U) and actions (A). 184 | show_indicators = no 185 | 186 | ### Icons ### 187 | 188 | # Align icons left/right/off 189 | icon_position = left 190 | 191 | # Scale small icons up to this size, set to 0 to disable. Helpful 192 | # for e.g. small files or high-dpi screens. In case of conflict, 193 | # max_icon_size takes precedence over this. 194 | min_icon_size = 0 195 | 196 | # Scale larger icons down to this size, set to 0 to disable 197 | max_icon_size = 64 198 | 199 | # Paths to default icons. 200 | icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/ 201 | 202 | ### History ### 203 | 204 | # Should a notification popped up from history be sticky or timeout 205 | # as if it would normally do. 206 | sticky_history = yes 207 | 208 | # Maximum amount of notifications kept in history 209 | history_length = 20 210 | 211 | ### Misc/Advanced ### 212 | 213 | # dmenu path. 214 | dmenu = /usr/bin/dmenu -p dunst: 215 | 216 | # Browser for opening urls in context menu. 217 | browser = /usr/bin/firefox -new-tab 218 | 219 | # Always run rule-defined scripts, even if the notification is suppressed 220 | always_run_script = true 221 | 222 | # Define the title of the windows spawned by dunst 223 | title = Dunst 224 | 225 | # Define the class of the windows spawned by dunst 226 | class = Dunst 227 | 228 | # Define the corner radius of the notification window 229 | # in pixel size. If the radius is 0, you have no rounded 230 | # corners. 231 | # The radius will be automatically lowered if it exceeds half of the 232 | # notification height to avoid clipping text and/or icons. 233 | corner_radius = 8 234 | 235 | # Ignore the dbus closeNotification message. 236 | # Useful to enforce the timeout set by dunst configuration. Without this 237 | # parameter, an application may close the notification sent before the 238 | # user defined timeout. 239 | ignore_dbusclose = false 240 | 241 | ### Wayland ### 242 | # These settings are Wayland-specific. They have no effect when using X11 243 | 244 | # Uncomment this if you want to let notications appear under fullscreen 245 | # applications (default: overlay) 246 | # layer = top 247 | 248 | # Set this to true to use X11 output on Wayland. 249 | force_xwayland = false 250 | 251 | ### Legacy 252 | 253 | # Use the Xinerama extension instead of RandR for multi-monitor support. 254 | # This setting is provided for compatibility with older nVidia drivers that 255 | # do not support RandR and using it on systems that support RandR is highly 256 | # discouraged. 257 | # 258 | # By enabling this setting dunst will not be able to detect when a monitor 259 | # is connected or disconnected which might break follow mode if the screen 260 | # layout changes. 261 | force_xinerama = false 262 | 263 | mouse_right_click = close_current 264 | mouse_left_click = do_action, close_current 265 | mouse_middle_click = close_all 266 | 267 | frame_color = "#89B4FA" 268 | 269 | [urgency_low] 270 | background = "#1E1E2E" 271 | foreground = "#CDD6F4" 272 | 273 | [urgency_normal] 274 | background = "#1E1E2E" 275 | foreground = "#CDD6F4" 276 | 277 | [urgency_critical] 278 | background = "#1E1E2E" 279 | foreground = "#CDD6F4" 280 | frame_color = "#FAB387" 281 | 282 | 283 | [volume] 284 | appname = Volume 285 | format="%a\n[%n%%]" 286 | history_ignore=yes 287 | alignment = right 288 | highlight = "#b4befe" 289 | 290 | [muted] 291 | appname = Muted 292 | format="%a\n[%n%%]" 293 | history_ignore=yes 294 | alignment = right 295 | frame_color = "#f38ba8" 296 | 297 | [restart] 298 | appname = Bspwm 299 | format="%a\n%s" 300 | alignment = left -------------------------------------------------------------------------------- /polybar/bar/.config.bak.ini: -------------------------------------------------------------------------------- 1 | ;; ┌────────────────────────────────────────────────────────────┐ 2 | ;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀│ 3 | ;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█░░░█░█░█░█░█▀▀░░█░░█░█│ 4 | ;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀│ 5 | ;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░░░░░░░░░│ 6 | ;; └────────────────────────────────────────────────────────────┘ 7 | 8 | ;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ 9 | 10 | ;; Global WM Settings 11 | 12 | 13 | [global/wm] 14 | ; Adjust the _NET_WM_STRUT_PARTIAL top value 15 | ; Used for top aligned bars 16 | margin-bottom = 0 17 | 18 | ; Adjust the _NET_WM_STRUT_PARTIAL bottom value 19 | ; Used for bottom aligned bars 20 | margin-top = 0 21 | 22 | ;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ 23 | 24 | ;; File Inclusion 25 | ; include an external file, like module file, etc. 26 | 27 | include-file = ~/.config/polybar/bar/colors.ini 28 | include-file = ~/.config/polybar/bar/modules.ini 29 | 30 | ;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ 31 | 32 | ;; Bar Settings 33 | 34 | [bar/main] 35 | ; Use either of the following command to list available outputs: 36 | ; If unspecified, the application will pick the first one it finds. 37 | ; $ polybar -m | cut -d ':' -f 1 38 | ; $ xrandr -q | grep " connected" | cut -d ' ' -f1 39 | monitor = ${env:MONITOR} 40 | 41 | ; Use the specified monitor as a fallback if the main one is not found. 42 | monitor-fallback = 43 | 44 | ; Require the monitor to be in connected state 45 | ; XRandR sometimes reports my monitor as being disconnected (when in use) 46 | monitor-strict = false 47 | 48 | ; Tell the Window Manager not to configure the window. 49 | ; Use this to detach the bar if your WM is locking its size/position. 50 | override-redirect = false 51 | wm-restack = bspwm 52 | 53 | ; Put the bar at the bottom of the screen 54 | bottom = false 55 | 56 | ; Prefer fixed center position for the `modules-center` block 57 | ; When false, the center position will be based on the size of the other blocks. 58 | fixed-center = true 59 | 60 | ; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%), 61 | ; the percentage can optionally be extended with a pixel offset like so: 62 | ; 50%:-10, this will result in a width or height of 50% minus 10 pixels 63 | width = 100%:-11 64 | height = 34 65 | 66 | ; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) 67 | ; the percentage can optionally be extended with a pixel offset like so: 68 | ; 50%:-10, this will result in an offset in the x or y direction 69 | ; of 50% minus 10 pixels 70 | offset-x = 4 71 | offset-y = 4 72 | 73 | ; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) 74 | background = ${color.background} 75 | 76 | ; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) 77 | foreground = ${color.foreground} 78 | 79 | ; Background gradient (vertical steps) 80 | ; background-[0-9]+ = #aarrggbb 81 | ;;background-0 = 82 | 83 | ; Value used for drawing rounded corners 84 | ; Note: This shouldn't be used together with border-size because the border 85 | ; doesn't get rounded 86 | ; Individual top/bottom values can be defined using: 87 | ; radius-{top,bottom} 88 | radius-top = 5.0 89 | radius-bottom = 5.0 90 | border-size = 2 91 | #border-{left,top,right,bottom}-size = 1 92 | #border-bottom-size = 1 93 | border-color = #bd93f9 94 | ; Under-/overline pixel size and argb color 95 | ; Individual values can be defined using: 96 | ; {overline,underline}-size 97 | ; {overline,underline}-color 98 | line-size = 3 99 | line-color = ${color.background} 100 | 101 | ; Values applied to all borders 102 | ; Individual side values can be defined using: 103 | ; border-{left,top,right,bottom}-size 104 | ; border-{left,top,right,bottom}-color 105 | ; The top and bottom borders are added to the bar height, so the effective 106 | ; window height is: 107 | ; height + border-top-size + border-bottom-size 108 | ; Meanwhile the effective window width is defined entirely by the width key and 109 | ; the border is placed withing this area. So you effectively only have the 110 | ; following horizontal space on the bar: 111 | ; width - border-right-size - border-left-size 112 | #border-bottom-size = 0 113 | #border-bottom-color = ${color.primary} 114 | 115 | ; Number of spaces to add at the beginning/end of the bar 116 | ; Individual side values can be defined using: 117 | ; padding-{left,right} 118 | padding = 0 119 | 120 | ; Number of spaces to add before/after each module 121 | ; Individual side values can be defined using: 122 | ; module-margin-{left,right} 123 | module-margin-left = 0 124 | module-margin-right = 0 125 | 126 | ;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ 127 | 128 | ; Fonts are defined using ; 129 | ; Font names are specified using a fontconfig pattern. 130 | ; font-0 = NotoSans-Regular:size=8;2 131 | ; font-1 = MaterialIcons:size=10 132 | ; font-2 = Termsynu:size=8;-1 133 | ; font-3 = FontAwesome:size=10 134 | ; See the Fonts wiki page for more details 135 | 136 | font-0 = "Iosevka Nerd Font:size=10;4" 137 | font-1 = "feather:size=10;3" 138 | font-2 = "Font Awesome 6 Free Solid:size=10;4" 139 | font-3 = "Font Awesome 6 Brands Regular:size=9;3" 140 | font-4 = "Font Awesome v4 Compatibility Regular:size=9;3" 141 | font-5 = "Font Awesome 6 Free Regular:size=9;3" 142 | 143 | ; Modules are added to one of the available blocks 144 | ; modules-left = cpu ram 145 | ; modules-center = xwindow xbacklight 146 | ; modules-right = ipc clock 147 | 148 | modules-left = sep workspaces sep playerctl-spotify playerctl-youtube 149 | modules-center = title 150 | modules-right = network sep xkeyboard sep style-switch sep date sep pulseaudio sep tray-icon sep 151 | 152 | ;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ 153 | 154 | ; The separator will be inserted between the output of each module 155 | separator = 156 | 157 | ; Opacity value between 0.0 and 1.0 used on fade in/out 158 | dim-value = 1.0 159 | 160 | ; Value to be used to set the WM_NAME atom 161 | ; If the value is empty or undefined, the atom value 162 | ; will be created from the following template: polybar-[BAR]_[MONITOR] 163 | ; NOTE: The placeholders are not available for custom values 164 | wm-name = 165 | 166 | ; Locale used to localize various module data (e.g. date) 167 | ; Expects a valid libc locale, for example: sv_SE.UTF-8 168 | locale = 169 | 170 | ; Position of the system tray window 171 | ; If empty or undefined, tray support will be disabled 172 | ; NOTE: A center aligned tray will cover center aligned modules 173 | ; 174 | ; Available positions: 175 | ; left 176 | ; center 177 | ; right 178 | ; none 179 | tray-position = none 180 | 181 | ; If true, the bar will not shift its 182 | ; contents when the tray changes 183 | tray-detached = true 184 | 185 | ; Tray icon max size 186 | tray-maxsize = 16 187 | 188 | ; Background color for the tray container 189 | ; ARGB color (e.g. #f00, #ff992a, #ddff1023) 190 | ; By default the tray container will use the bar 191 | ; background color. 192 | tray-background = #90282a36 193 | 194 | ; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%) 195 | tray-offset-x = 0 196 | tray-offset-y = 0 197 | 198 | ; Pad the sides of each tray icon 199 | tray-padding = 0 200 | 201 | ; Scale factor for tray clients 202 | tray-scale = 1.0 203 | 204 | ; Restack the bar window and put it above the 205 | ; selected window manager's root 206 | ; 207 | ; Fixes the issue where the bar is being drawn 208 | ; on top of fullscreen window's 209 | ; 210 | ; Currently supported WM's: 211 | ; bspwm 212 | ; i3 (requires: `override-redirect = true`) 213 | ;;wm-restack = 214 | 215 | ; Set a DPI values used when rendering text 216 | ; This only affects scalable fonts 217 | ; dpi = 218 | 219 | ; Enable support for inter-process messaging 220 | ; See the Messaging wiki page for more details. 221 | enable-ipc = true 222 | 223 | ; Fallback click handlers that will be called if 224 | ; there's no matching module handler found. 225 | click-left = 226 | click-middle = 227 | click-right = 228 | scroll-up = 229 | scroll-down = 230 | double-click-left = 231 | double-click-middle = 232 | double-click-right = 233 | 234 | ; Requires polybar to be built with xcursor support (xcb-util-cursor) 235 | ; Possible values are: 236 | ; - default : The default pointer as before, can also be an empty string (default) 237 | ; - pointer : Typically in the form of a hand 238 | ; - ns-resize : Up and down arrows, can be used to indicate scrolling 239 | cursor-click = 240 | cursor-scroll = 241 | 242 | ;; WM Workspace Specific 243 | 244 | ; bspwm 245 | ;;scroll-up = bspwm-desknext 246 | ;;scroll-down = bspwm-deskprev 247 | ;;scroll-up = bspc desktop -f prev.local 248 | ;;scroll-down = bspc desktop -f next.local 249 | 250 | ;i3 251 | ;;scroll-up = i3wm-wsnext 252 | ;;scroll-down = i3wm-wsprev 253 | ;;scroll-up = i3-msg workspace next_on_output 254 | ;;scroll-down = i3-msg workspace prev_on_output 255 | 256 | ;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ 257 | 258 | 259 | ;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ 260 | 261 | ;; Application Settings 262 | 263 | [settings] 264 | ; The throttle settings lets the eventloop swallow up til X events 265 | ; if they happen within Y millisecond after first event was received. 266 | ; This is done to prevent flood of update event. 267 | ; 268 | ; For example if 5 modules emit an update event at the same time, we really 269 | ; just care about the last one. But if we wait too long for events to swallow 270 | ; the bar would appear sluggish so we continue if timeout 271 | ; expires or limit is reached. 272 | throttle-output = 5 273 | throttle-output-for = 10 274 | 275 | ; Time in milliseconds that the input handler will wait between processing events 276 | ;throttle-input-for = 30 277 | 278 | ; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events 279 | screenchange-reload = false 280 | 281 | ; Compositing operators 282 | ; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t 283 | compositing-background = source 284 | compositing-foreground = over 285 | compositing-overline = over 286 | compositing-underline = over 287 | compositing-border = over 288 | 289 | ; Define fallback values used by all module formats 290 | ;format-foreground = 291 | ;format-background = 292 | ;format-underline = 293 | ;format-overline = 294 | ;format-spacing = 295 | ;format-padding = 296 | ;format-margin = 297 | ;format-offset = 298 | 299 | ; Enables pseudo-transparency for the bar 300 | ; If set to true the bar can be transparent without a compositor. 301 | pseudo-transparency = false 302 | 303 | ;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ 304 | -------------------------------------------------------------------------------- /polybar/bar/modules.ini: -------------------------------------------------------------------------------- 1 | #https://www.nerdfonts.com/cheat-sheet 2 | #https://fontawesome.com/v5/cheatsheet/free/solid 3 | #https://dropways.github.io/feathericons/ 4 | 5 | [module/playerctl-resonance] 6 | type = custom/script 7 | interval = -1 8 | format-prefix = "%{A1:playerctl --player=io previous:}  %{A}%{A1:playerctl --player=io play-pause:}%{A}%{A1:playerctl --player=io next:}  %{A}| " 9 | #format-prefix = " " 10 | exec = playerctl metadata -f '{{artist}} - {{title}}' 11 | exec-if = pgrep resonance 12 | click-left = $HOME/.config/polybar/scripts/music-player-switch.sh spotify 13 | format-underline = ${color.cyan} 14 | underline-size = 1 15 | label-maxlen = 40 16 | format-foreground = ${color.fg} 17 | 18 | 19 | [module/menu-misc] 20 | type = custom/menu 21 | expand-right = true 22 | 23 | menu-0-1 = "" 24 | menu-0-1-exec = #menu-misc.open.1 25 | menu-0-1-foreground = ${color.fg} 26 | menu-0-1-underline = ${color.blue} 27 | menu-0-2 = %{A3:CM_LAUNCHER=rofi clipmenu -theme $HOME/.config/rofi-own/clipmenu-2.rasi:}%{A} 28 | menu-0-2-exec = rofi -modi "clipboard:greenclip print" -show clipboard -run-command '{cmd}' -theme ~/.config/rofi-own/clipmenu-2.rasi 29 | menu-0-2-foreground = ${color.fg} 30 | menu-0-2-underline = ${color.cyan} 31 | menu-0-3 = "" 32 | menu-0-3-exec = screenshot --area 33 | menu-0-3-foreground = ${color.fg} 34 | menu-0-3-underline = ${color.green} 35 | menu-0-4 = "" 36 | menu-0-4-exec = reload-pb 37 | menu-0-4-foreground = ${color.fg} 38 | menu-0-4-underline = ${color.purple} 39 | menu-0-5 = "" 40 | menu-0-5-exec = ~/.config/polybar/scripts/youtube-lock.sh toggle 41 | menu-0-5-foreground = ${color.fg} 42 | menu-0-5-underline = ${color.red} 43 | menu-0-0 = "" 44 | menu-0-0-exec = ~/.config/polybar/scripts/jgmenu.sh 45 | menu-0-0-foreground = ${color.fg} 46 | menu-0-0-underline = ${color.cyan} 47 | 48 | menu-1-0 = Borders 49 | menu-1-0-exec = bash ~/.config/bspwm/scripts/borders.sh 50 | menu-1-0-foreground = ${color.fg} 51 | menu-1-0-underline = ${color.blue} 52 | menu-1-1 = Picom 53 | menu-1-1-exec = pgrep picom >/dev/null && pkill picom || $(cat ~/.picomlockfile) --config ~/.config/picom/config.conf --experimental-backends & 54 | menu-1-1-foreground = ${color.fg} 55 | menu-1-1-underline = ${color.blue} 56 | 57 | label-open = "" 58 | label-open-foreground = ${color.fg} 59 | label-open-underline = ${color.cyan} 60 | label-separator = " | " 61 | label-separator-foreground = ${color.fg} 62 | label-close = "" 63 | label-close-foreground = ${color.red} 64 | 65 | [module/weather] 66 | #### https://github.com/kamek-pf/ntfd is needed for this #### 67 | type = custom/script 68 | exec = busctl --user -j get-property io.ntfd /weather openweathermap.strings RenderedTemplate | jq -r .data 69 | interval = 60 70 | format-underline = ${color.orange} 71 | format-foreground = ${color.fg} 72 | click-left = firefox https://openweathermap.org/city/264371 73 | 74 | [module/layout] 75 | type = custom/script 76 | format-underline = ${color.yellow} 77 | exec = echo "" 78 | click-left = bspc desktop -l next 79 | format-foreground = ${color.fg} 80 | 81 | [module/yt-lock] 82 | type = custom/script 83 | format-underline = ${color.red} 84 | exec = ~/.config/polybar/scripts/yt-lock.sh echosym 85 | click-left = ~/.config/polybar/scripts/yt-lock.sh 86 | format-foreground = ${color.fg} 87 | 88 | [module/keyboard] 89 | type = custom/ipc 90 | hook-0 = cat ~/.kblayout 91 | initial = 1 92 | click-left = sh /home/george/scripts/bspwm/layoutswitch.sh 93 | format-underline = ${color.red} 94 | format-foreground = ${color.fg} 95 | format-prefix = " " 96 | 97 | [module/xkeyboard] 98 | type = internal/xkeyboard 99 | format-underline = ${color.red} 100 | format-foreground = ${color.fg} 101 | #format-prefix = "language: " 102 | format-prefix = " " 103 | click-left = sh /home/george/scripts/bspwm/layoutswitch.sh 104 | #format-prefix-foreground = ${color.red} 105 | blacklist-0 = num lock 106 | #blacklist-1 = scroll lock 107 | 108 | [module/clipboard] 109 | type = custom/script 110 | format-underline = ${color.green} 111 | exec = echo "" 112 | click-left = CM_LAUNCHER=rofi clipmenu -theme $HOME/.config/rofi-own/clipmenu-2.rasi 113 | click-right = rofi -modi "clipboard:greenclip print" -show clipboard -run-command '{cmd}' -theme ~/.config/rofi-own/clipmenu-2.rasi 114 | format-foreground = ${color.fg} 115 | 116 | [module/maim] 117 | type = custom/script 118 | format-underline = ${color.cyan} 119 | exec = echo "" 120 | click-left = screenshot --area 121 | format-foreground = ${color.fg} 122 | 123 | [module/reload] 124 | type = custom/script 125 | format-underline = ${color.purple} 126 | exec = echo "" 127 | click-left = reload-pb 128 | format-foreground = ${color.fg} 129 | 130 | [module/playerctl-youtube] 131 | type = custom/script 132 | interval = 1 133 | format-prefix = "%{A1:playerctl --player=firefox previous:}  %{A}%{A1:playerctl --player=firefox play-pause:}%{A}%{A1:playerctl --player=firefox next:}  %{A}| " 134 | #format-prefix = " " 135 | exec = sh ~/.config/polybar/scripts/youtube.sh 136 | exec-if = cat /tmp/yt-lock 137 | click-left = $HOME/.config/polybar/scripts/music-player-switch.sh yt 138 | format-underline = ${color.red} 139 | underline-size = 1 140 | label-maxlen = 40 141 | format-foreground = ${color.fg} 142 | 143 | 144 | [module/playerctl-spotify-old] 145 | type = custom/script 146 | #%{A2:pkill spotify && sleep 1 && reload-pb:}%{A} 147 | format-prefix = "%{A1:playerctl --player=spotify previous:}  %{A}%{A1:playerctl --player=spotify play-pause:}%{A}%{A1:playerctl --player=spotify next:}  %{A}| " 148 | interval = 1 149 | exec = sh ~/.config/polybar/scripts/spotify.sh 150 | exec-if = playerctl metadata -f {{playerName}} 2>/dev/null | grep -Ev 'mopidy' >/dev/null 151 | click-left = $HOME/.config/polybar/scripts/music-player-switch.sh spotify 152 | format-underline = ${color.green} 153 | line-size = 5 154 | label-maxlen = 40 155 | format-foreground = ${color.fg} 156 | #  157 | 158 | 159 | 160 | [module/playerctl-display] 161 | type = custom/ipc 162 | initial = 1 163 | hook-0 = ~/.config/polybar/scripts/module-playerctl.sh display 164 | click-left = ~/.config/polybar/scripts/module-playerctl.sh switch 165 | click-right = ~/.config/polybar/scripts/youtube-lock.sh toggle 166 | format-foreground = ${color.fg} 167 | format-underline = ${color.white} 168 | format-len = 10 169 | format-maxlen = 10 170 | 171 | 172 | [module/playerctl-spotify] 173 | type = custom/ipc 174 | hook-0 = ~/scripts/polybar/spotify-playerctl.sh display 175 | initial = 1 176 | click-left = $HOME/.config/polybar/scripts/music-player-switch.sh spotify 177 | format-underline = ${color.green} 178 | format-foreground = ${color.fg} 179 | #  180 | 181 | [module/cpu] 182 | type = internal/cpu 183 | interval = 1 184 | format =