mirror of
https://github.com/ION606/config-backup.git
synced 2026-05-14 22:16:58 +00:00
added support for multiple monitors
This commit is contained in:
@@ -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
|
||||
|
||||
+114
-7
@@ -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:
|
||||
; <label-charging> (default)
|
||||
; <bar-capacity>
|
||||
; <ramp-capacity>
|
||||
; <animation-charging>
|
||||
format-charging = ⚡ <animation-charging> <label-charging>
|
||||
|
||||
; Available tags:
|
||||
; <label-discharging> (default)
|
||||
; <bar-capacity>
|
||||
; <ramp-capacity>
|
||||
; <animation-discharging>
|
||||
; format-discharging = <ramp-capacity> <label-discharging>
|
||||
|
||||
; Available tags:
|
||||
; <label-full> (default)
|
||||
; <bar-capacity>
|
||||
; <ramp-capacity>
|
||||
format-full = <ramp-capacity> <label-full>
|
||||
|
||||
; Format used when battery level drops to low-at
|
||||
; If not defined, format-discharging is used instead.
|
||||
; Available tags:
|
||||
; <label-low>
|
||||
; <animation-low>
|
||||
; <bar-capacity>
|
||||
; <ramp-capacity>
|
||||
; New in version 3.6.0
|
||||
format-low = <label-low> <animation-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 <ramp-capacity> is used
|
||||
ramp-capacity-0 =
|
||||
ramp-capacity-1 =
|
||||
ramp-capacity-2 =
|
||||
ramp-capacity-3 =
|
||||
ramp-capacity-4 =
|
||||
|
||||
; Only applies if <bar-capacity> is used
|
||||
bar-capacity-width = 10
|
||||
|
||||
; Only applies if <animation-charging> 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 <animation-low> 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
|
||||
|
||||
@@ -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"
|
||||
Reference in New Issue
Block a user