From 3e33770ab05e0d3ebf96de34f3300dede8d7d407 Mon Sep 17 00:00:00 2001 From: ION606 Date: Wed, 3 Sep 2025 15:21:40 +0000 Subject: [PATCH 1/5] Update setup script to use currect home path god I am DUUUUMB --- setup.sh | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/setup.sh b/setup.sh index 1605b1e..71c44eb 100644 --- a/setup.sh +++ b/setup.sh @@ -53,8 +53,8 @@ if [ "$answer" != "y" ]; then fi # Make temporary directory -mkdir $USERTEMP/Downloads/tempinstall || "" -cd $USERTEMP/Downloads/tempinstall +mkdir /home/$USERTEMP/Downloads/tempinstall || "" +cd /home/$USERTEMP/Downloads/tempinstall # Configuration Files git clone https://github.com/ION606/config-backup.git @@ -63,7 +63,7 @@ cd config-backup # sway mv -f waybar/config /etc/xdg/waybar/ mv -f waybar/style.css /etc/xdg/waybar/ -mv -f config $USERTEMP/.config/sway/config +mv -f config /home/$USERTEMP/.config/sway/config # replace "ion606" with the selected user sed -i "s/ion606/$USERTEMP/g" config @@ -83,11 +83,11 @@ mv -f terminal/alacritty.toml /home/$USERTEMP/.config/alacritty/ mv -f terminal/starship.toml /home/$USERTEMP/.config/ # battery -mkdir -p $USERTEMP/auto-cpufreq/auto-cpufreq.conf -mv auto-cpufreq.conf $USERTEMP/auto-cpufreq/auto-cpufreq.conf +mkdir -p /home/$USERTEMP/auto-cpufreq/auto-cpufreq.conf +mv auto-cpufreq.conf /home/$USERTEMP/auto-cpufreq/auto-cpufreq.conf # set up automations in child process -mkdir -p $USERTEMP/.automations && cp -r -f auto/* $USERTEMP/.automations/ && $(sudo pacman -Sy --needed --noconfirm dunst && sudo bash $USERTEMP/.automations/setupauto.sh $USERTEMP &>$USERTEMP/setuplogs.log) & +mkdir -p /home/$USERTEMP/.automations && cp -r -f auto/* /home/$USERTEMP/.automations/ && $(sudo pacman -Sy --needed --noconfirm dunst && sudo bash /home/$USERTEMP/.automations/setupauto.sh /home/$USERTEMP &> /home/$USERTEMP/setuplogs.log) & # Installs # Librewolf @@ -111,11 +111,11 @@ mv -f Librewolf/chrome /home/$USERTEMP/.librewolf/ npm install -g @bitwarden/cli alacritty-themes typescript || echo "failed to install Typescript!" -mkdir -p $USERTEMP/.icons -echo -e "https://www.gnome-look.org/p/1305251\nhttps://www.gnome-look.org/p/2091068" >$USERTEMP/.icons/links.txt +mkdir -p /home/$USERTEMP/.icons +echo -e "https://www.gnome-look.org/p/1305251\nhttps://www.gnome-look.org/p/2091068" > /home/$USERTEMP/.icons/links.txt alacritty-themes --create && alacritty-themes Hyper || echo "alacritty theme install failed!" -cp -r $USERTEMP/.config/wofi/ wofi >/dev/null 2>&1 & +cp -r /home/$USERTEMP/.config/wofi/ wofi >/dev/null 2>&1 & gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark' # Remove old programs From 6f03a500db452b48c65292ae326c52d5d21af856 Mon Sep 17 00:00:00 2001 From: ION606 Date: Sat, 27 Sep 2025 01:42:28 +0000 Subject: [PATCH 2/5] Add background style for popup --- ion-theme.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ion-theme.css b/ion-theme.css index c66557c..0507f39 100644 --- a/ion-theme.css +++ b/ion-theme.css @@ -361,3 +361,8 @@ display: none; } +/* popup */ +.standardSidebarView__23e6b { + background: rgb(0 0 0 / 90%); +} + From 0f5bd0f36535411d583654b3e9cc674737387e96 Mon Sep 17 00:00:00 2001 From: ION606 Date: Wed, 12 Nov 2025 15:07:06 -0500 Subject: [PATCH 3/5] added support for multiple monitors --- i3/config | 14 ++++-- i3/main.module | 121 ++++++++++++++++++++++++++++++++++++++++++--- i3/setupScreens.sh | 53 ++++++++++++++++++++ 3 files changed, 177 insertions(+), 11 deletions(-) create mode 100644 i3/setupScreens.sh diff --git a/i3/config b/i3/config index 7720813..e72218a 100644 --- a/i3/config +++ b/i3/config @@ -22,7 +22,12 @@ font pango:monospace 8 # Start XDG autostart .desktop files using dex. See also # https://wiki.archlinux.org/index.php/XDG_Autostart exec --no-startup-id dex --autostart --environment i3 -exec_always --no-startup-id killall -q polybar; polybar -c .config/polybar/main.module & + +# COMMENT THIS IN FOR ONE SCREEN +# exec_always --no-startup-id killall -q polybar; polybar -c .config/polybar/main.module & + +# DELETEME if you change your monitor setup +exec_always --no-startup-id bash /home/ion606/setupScreens.sh # The combination of xss-lock, nm-applet and pactl is a popular choice, so # they are included here as an example. Modify as you see fit. @@ -30,14 +35,15 @@ exec_always --no-startup-id killall -q polybar; polybar -c .config/polybar/main. # xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the # screen before suspend. Use loginctl lock-session to lock your screen. exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork +exec_always --no-startup-id dunst # NetworkManager is the most popular way to manage wireless networks on Linux, # and nm-applet is a desktop environment-independent system tray GUI for it. exec --no-startup-id nm-applet exec --no-startup-id /usr/lib/notify-osd/notify-osd & -exec_always feh --bg-fill "$(find /home/ion606/Pictures/astolfo/ -type f | shuf -n 1)" -exec_always picom --config /home/ion606/.config/picom/picom.config +exec_always feh --bg-fill "$(find /home/ion606/Pictures/astolfo/ -type f | shuf -n 1)" +exec_always picom --config /home/ion606/.config/picom/picom.conf exec_always --no-startup-id eww daemon focus_follows_mouse no @@ -53,7 +59,7 @@ bindsym XF86MonBrightnessDown exec brightnessctl set 10%- bindsym XF86MonBrightnessUp exec brightnessctl set +10% -bindsym $mod+Shift+B exec feh --bg-fill "/home/ion606/Pictures/bk.gif" +bindsym $mod+Shift+B exec feh --bg-fill "$(find /home/ion606/Pictures/astolfo/ -type f | shuf -n 1)" # Use Mouse+$mod to drag floating windows to their wanted position floating_modifier $mod diff --git a/i3/main.module b/i3/main.module index 6849c9e..d6495a8 100644 --- a/i3/main.module +++ b/i3/main.module @@ -1,4 +1,5 @@ [bar/example] +monitor = ${env:MONITOR:} width = 100% height = 30 background = #2c2c54 @@ -41,6 +42,9 @@ pseudo-transparency = false [module/i3] type = internal/i3 +index-sort = true +sort-workspaces = true +pin-workspaces = true ws-icon-0 = 1;♚ ws-icon-1 = 2;♛ ws-icon-2 = 3;♜ @@ -123,7 +127,7 @@ label-warn = CPU %percentage%% [module/wifi] type = internal/network -interface = wlo1 +interface = wlan0 interface-type = wireless interval = 3.0 udspeed-minwidth = 5 @@ -237,10 +241,113 @@ ramp-4 = 🌕 [module/battery] -type = custom/script -exec = ~/.config/polybar/scripts/battery_status.sh -interval = 5 +type = internal/battery -; toggle the display mode (percentage vs time remaining) on left-click and refresh the module immediately -click-left = ~/.config/polybar/scripts/toggle_battery_display.sh && polybar-msg hook battery_script 1 -hook-0 = ~/.config/polybar/scripts/battery_status.sh +; This is useful in case the battery never reports 100% charge +; Default: 100 +full-at = 98 + +; format-low once this charge percentage is reached +; Default: 10 +; New in version 3.6.0 +low-at = 20 + +; Use the following command to list batteries and adapters: +; $ ls -1 /sys/class/power_supply/ +battery = BAT1 +adapter = ADP1 + +; If an inotify event haven't been reported in this many +; seconds, manually poll for new values. +; +; Needed as a fallback for systems that don't report events +; on sysfs/procfs. +; +; Disable polling by setting the interval to 0. +; +; Default: 5 +poll-interval = 5 + +; see "man date" for details on how to format the time string +; NOTE: if you want to use syntax tags here you need to use %%{...} +; Default: %H:%M:%S +time-format = %H:%M + +; Available tags: +; (default) +; +; +; +format-charging = ⚡ + +; Available tags: +; (default) +; +; +; +; format-discharging = + +; Available tags: +; (default) +; +; +format-full = + +; Format used when battery level drops to low-at +; If not defined, format-discharging is used instead. +; Available tags: +; +; +; +; +; New in version 3.6.0 +format-low = + +; Available tokens: +; %percentage% (default) - is set to 100 if full-at is reached +; %percentage_raw% +; %time% +; %consumption% (shows current charge rate in watts) +label-charging = %percentage%% + +; Available tokens: +; %percentage% (default) - is set to 100 if full-at is reached +; %percentage_raw% +label-full = %percentage%% ^~^ + +; Available tokens: +; %percentage% (default) - is set to 100 if full-at is reached +; %percentage_raw% +; %time% +; %consumption% (shows current discharge rate in watts) +; New in version 3.6.0 +label-low = BATTERY LOW AT %percentage% + +; Only applies if is used +ramp-capacity-0 =  +ramp-capacity-1 =  +ramp-capacity-2 =  +ramp-capacity-3 =  +ramp-capacity-4 =  + +; Only applies if is used +bar-capacity-width = 10 + +; Only applies if is used +animation-charging-0 =  +animation-charging-1 =  +animation-charging-2 =  +animation-charging-3 =  +animation-charging-4 =  +; Framerate in milliseconds +animation-charging-framerate = 750 + +; Only applies if is used +; New in version 3.6.0 +animation-low-0 = ⚠️ +animation-low-1 = ⚠️ +animation-low-2 = ⚠️ +animation-low-3 =  +animation-low-4 =  +animation-low-5 =  +animation-low-framerate = 600 diff --git a/i3/setupScreens.sh b/i3/setupScreens.sh new file mode 100644 index 0000000..587d2b2 --- /dev/null +++ b/i3/setupScreens.sh @@ -0,0 +1,53 @@ +# get list of connected outputs +outputs=$(xrandr --query | grep " connected" | awk '{print $1}') +current_workspace=$(i3-msg -t get_workspaces | jq -r '.[] | select(.focused==true).name') || 1 + +dp="" +hdmi="" + +for out in $outputs; do + if [[ $out == DisplayPort-* ]]; then + dp="$out" + elif [[ $out == HDMI-* ]]; then + # pick the first HDMI found + if [[ -z $hdmi ]]; then + hdmi="$out" + fi + fi +done + +if [[ -z $dp ]]; then + echo "No DisplayPort output found. Exiting." + exit 1 +fi + +if [[ -z $hdmi ]]; then + echo "No HDMI output found. Using only $dp as primary." + xrandr --output "$dp" --auto --primary + exit 0 +fi + +# both found: apply layout +xrandr --output "$dp" --auto --primary --output "$hdmi" --auto --left-of "$dp" + +# move windows + +# send workspace 1 to HDMI output +i3-msg "workspace 1; move workspace to output $hdmi" + +# move 2,3,4 to DP out +i3-msg "workspace 2; move workspace to output $dp" +i3-msg "workspace 3; move workspace to output $dp" +i3-msg "workspace 4; move workspace to output $dp" + +# polybar +killall -q polybar + +while pgrep -u $UID -x polybar >/dev/null; do sleep 0.1; done + +for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do + MONITOR=$m polybar -c .config/polybar/main.module & +done + +# switch back to the workspace I was on +i3-msg "workspace number $current_workspace" \ No newline at end of file From f8f561541679bfe54b478ff724b69fd7008a7ee7 Mon Sep 17 00:00:00 2001 From: ION606 Date: Mon, 8 Dec 2025 23:44:13 +0000 Subject: [PATCH 4/5] Modify dialog background to be transparent Updated the background style for dialog role. --- ion-theme.css | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ion-theme.css b/ion-theme.css index 0507f39..219720e 100644 --- a/ion-theme.css +++ b/ion-theme.css @@ -236,8 +236,9 @@ } [role="dialog"] { + background: transparent; /* background: linear-gradient(135deg, #7e5bef, #c084fc); */ - background: linear-gradient(135deg, #4c2889, #7a3fc3); + /* background: linear-gradient(135deg, #4c2889, #7a3fc3); */ } [role="dialog"] [data-text-variant="text-xs/normal"] { From 0e74f8056d518f9d37a50dd9b5303b37a89cdf91 Mon Sep 17 00:00:00 2001 From: ION606 Date: Sat, 13 Dec 2025 11:39:55 -0500 Subject: [PATCH 5/5] updated timeout and lock screen --- i3/config | 6 +++++ i3/lock.sh | 66 +++++++++++++++++++++++++++++------------------------- 2 files changed, 41 insertions(+), 31 deletions(-) diff --git a/i3/config b/i3/config index e72218a..f43a37b 100644 --- a/i3/config +++ b/i3/config @@ -37,6 +37,12 @@ exec_always --no-startup-id bash /home/ion606/setupScreens.sh exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork exec_always --no-startup-id dunst +# no timeout after 600 seconds ffs +exec_always --no-startup-id xset s off +exec_always --no-startup-id xset s noblank +exec_always --no-startup-id xset -dpms + + # NetworkManager is the most popular way to manage wireless networks on Linux, # and nm-applet is a desktop environment-independent system tray GUI for it. exec --no-startup-id nm-applet diff --git a/i3/lock.sh b/i3/lock.sh index 79c3482..e4f6ff6 100755 --- a/i3/lock.sh +++ b/i3/lock.sh @@ -1,8 +1,13 @@ #!/bin/bash +img="$(find /home/ion606/Pictures/astolfo/ -type f | shuf -n 1)"; +tmp="/tmp/i3lock-bg.png"; + +magick "$img" -strip "$tmp"; + if [[ "$1" == "--single" ]]; then - i3lock -i Pictures/ohnocringe.jpg -F - exit 0 + i3lock -i "$tmp" -F + exit 0 fi BLANK='#00000000' @@ -13,33 +18,32 @@ WRONG='#880000bb' VERIFYING='#00564dE6' i3lock \ ---insidever-color=$CLEAR \ ---ringver-color=$VERIFYING \ -\ ---insidewrong-color=$CLEAR \ ---ringwrong-color=$WRONG \ -\ ---inside-color=$BLANK \ ---ring-color=$DEFAULT \ ---line-color=$BLANK \ ---separator-color=$DEFAULT \ -\ ---verif-color=$TEXT \ ---wrong-color=$TEXT \ ---time-color=$TEXT \ ---date-color=$TEXT \ ---layout-color=$TEXT \ ---keyhl-color=$WRONG \ ---bshl-color=$WRONG \ -\ ---screen 1 \ ---blur 9 \ ---clock \ ---indicator \ ---time-str="%H:%M:%S" \ ---date-str="%A, %Y-%m-%d" \ ---keylayout 1 - + --insidever-color=$CLEAR \ + --ringver-color=$VERIFYING \ + \ + --insidewrong-color=$CLEAR \ + --ringwrong-color=$WRONG \ + \ + --inside-color=$BLANK \ + --ring-color=$DEFAULT \ + --line-color=$BLANK \ + --separator-color=$DEFAULT \ + \ + --verif-color=$TEXT \ + --wrong-color=$TEXT \ + --time-color=$TEXT \ + --date-color=$TEXT \ + --layout-color=$TEXT \ + --keyhl-color=$WRONG \ + --bshl-color=$WRONG \ + \ + --screen 1 \ + --blur 9 \ + --clock \ + --indicator \ + --time-str="%H:%M:%S" \ + --date-str="%A, %Y-%m-%d" \ + --keylayout 1 # # paths for temporary images # tmpbg='/tmp/lockscreen.png' @@ -72,11 +76,11 @@ i3lock \ # # while kill -0 "$lock_pid" 2>/dev/null; do # # # reset tmpbg to the original blurred image # # cp "$original_bg" "$tmpbg" - + # # # overlay the clock text on the reset image # # magick "$tmpbg" -gravity center -font Ubuntu-Bold -pointsize 50 -fill white \ # # -annotate +0+200 "$(date '+%I:%M %p')" "$tmpbg" - + # # # reload i3lock with the updated image # # i3lock -i "$tmpbg" --nofork & # # sleep 1