refactor i3 config

This commit is contained in:
2023-06-17 07:54:54 -04:00
parent f38298c90f
commit 9b426e7908
8 changed files with 336 additions and 274 deletions
+14
View File
@@ -0,0 +1,14 @@
exec --no-startup-id dex --autostart --environment i3
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
# Autorun
#/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec_always --no-startup-id feh -z --bg-scale /usr/share/backgrounds/arcolinux-candy
exec_always --no-startup-id picom --config ~/.config/picom/picom.conf
exec --no-startup-id discord
exec --no-startup-id signal-desktop
exec --no-startup-id nm-applet
#exec --no-startup-id volumeicon
exec --no-startup-id dunst
#add nextcloud client
#add i3-restore
+31 -238
View File
@@ -1,122 +1,24 @@
# i3 config file (v4)
#
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
include $HOME/.config/i3/`hostname`.conf
include $HOME/.config/i3/keybinds.conf
include $HOME/.config/i3/theme.conf
include $HOME/.config/i3/i3bar.conf
include $HOME/.config/i3/autorun.conf
# i3-gaps
#hide_edge_borders smart
hide_edge_borders both
default_border none
smart_borders on
smart_gaps on
for_window [class="^.*"] border pixel 2
gaps inner 8
gaps outer 0
no_focus [window_role="pop-up"]
workspace_auto_back_and_forth yes
focus_follows_mouse no
default_border pixel 2
default_floating_border normal 0
font pango:monospace 8
set $mod Mod4
font pango:monospace 8
exec --no-startup-id dex --autostart --environment i3
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
bindsym $mod+Ctrl+l exec betterlockscreen -l dimblur
#bindsym $mod+Ctrl+Escape exec "i3-nagbar -t warning -m 'CHOOSE' -B 'LOCK' 'betterlockscreen -l dimblur' -B 'SUSPEND' 'betterlockscreen -s -l dimblur' -B 'LOGOUT' 'i3-msg exit && exit' -B 'REBOOT' 'systemctl reboot' -B 'POWER OFF' 'systemctl poweroff'"
bindsym $mod+Ctrl+Escape exec --no-startup-id archlinux-logout
bindsym $mod+Ctrl+0 exec --no-startup-id archlinux-logout
#set $mode_system (l)ock (e)xit switch_(u)ser (s)uspend (h)ibernate (r)eboot (shift+s)hutdown
#bindsym $mod+Ctrl+Escape mode "$mode_system"
#mode "$mode_system" {
# bindsym l exec --no-startup-id betterlockscreen -l dimblur
# bindsym e exec --no-startup-id i3exit logout, mode "default"
# bindsym u exec --no-startup-id i3exit switch_user, mode "default"
# #bindsym s exec --no-startup-id i3-msg exit && exit
# bindsym s exec betterlockscreen -s -l dimblur
# bindsym h exec --no-startup-id i3exit hibernate, mode "default"
# bindsym r exec --no-startup-id i3exit reboot, mode "default"
# bindsym Shift+s exec --no-startup-id i3exit shutdown, mode "default"
# bindsym Escape mode "default"
# bindsym Return mode "default"
#}
# Use pactl to adjust volume in PulseAudio.
set $refresh_i3status killall -SIGUSR1 i3status
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
floating_modifier $mod
#floating_minimum_size 1500 x 850
#floating_maximum_size -1 x -1
# move tiling windows via drag & drop by left-clicking into the title bar,
# or left-clicking anywhere into the window while holding the floating modifier.
#tiling_drag modifier titlebar
# start a terminal
bindsym $mod+Return exec alacritty
# kill focused window
bindsym $mod+q kill
# start dmenu (a program launcher)
bindsym $mod+d exec --no-startup-id dmenu_run
bindsym $mod+Shift+d exec "rofi -modi drun,run -show drun"
bindsym $mod+Ctrl+d exec --no-startup-id "xlunch ~/.config/xlunch/default.config"
# change focus
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
# move focused window
bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right
# split in horizontal orientation
#bindsym $mod+Ctrl+h split h; exec notify-send 'Horizontal Split Mode'
# split in vertical orientation
#bindsym $mod+Ctrl+v split v; exec notify-send 'Vertical Split Mode'
#toggle split mode
bindsym $mod+Shift+plus split toggle
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
# focus the parent container
bindsym $mod+a focus parent
# focus the child container
#bindsym $mod+d focus child
# workspace names
set $ws1 "1: term"
set $ws2 "2: www"
set $ws1 "1"
set $ws2 "2"
set $ws3 "3"
set $ws4 "4"
set $ws5 "5"
@@ -126,145 +28,36 @@ set $ws8 "8"
set $ws9 "9"
set $ws10 "10"
# switch to workspace
bindsym $mod+1 workspace number $ws1
bindsym $mod+2 workspace number $ws2
bindsym $mod+3 workspace number $ws3
bindsym $mod+4 workspace number $ws4
bindsym $mod+5 workspace number $ws5
bindsym $mod+6 workspace number $ws6
bindsym $mod+7 workspace number $ws7
bindsym $mod+8 workspace number $ws8
bindsym $mod+9 workspace number $ws9
bindsym $mod+0 workspace number $ws10
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace number $ws1
bindsym $mod+Shift+2 move container to workspace number $ws2
bindsym $mod+Shift+3 move container to workspace number $ws3
bindsym $mod+Shift+4 move container to workspace number $ws4
bindsym $mod+Shift+5 move container to workspace number $ws5
bindsym $mod+Shift+6 move container to workspace number $ws6
bindsym $mod+Shift+7 move container to workspace number $ws7
bindsym $mod+Shift+8 move container to workspace number $ws8
bindsym $mod+Shift+9 move container to workspace number $ws9
bindsym $mod+Shift+0 move container to workspace number $ws10
# navigate next/prev workspace
bindsym $mod+Tab workspace next
bindsym $mod+Shift+Tab workspace prev
bindsym $mod+Ctrl+Right workspace next
bindsym $mod+Ctrl+Left workspace prev
# scratchpad
# move current window to a scratchpad
bindsym $mod+Shift+minus move scratchpad
# show scratchpad
bindsym $mod+minus scratchpad show
bindsym $mod+Shift+r restart
mode "resize" {
bindsym h resize shrink width 10 px or 10 ppt
bindsym j resize grow height 10 px or 10 ppt
bindsym k resize shrink height 10 px or 10 ppt
bindsym l resize grow width 10 px or 10 ppt
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym $mod+r mode "default"
}
bindsym $mod+r mode "resize"
# Colors
set $nord0 #2E344080
set $nord1 #3B4252
set $nord2 #434C5E
set $nord3 #4C566A
set $nord4 #D8DEE9
set $nord5 #E5E9F0
set $nord6 #ECEFF4
set $nord7 #8FBCBB
set $nord8 #88C0D0
set $nord9 #81A1C1
set $nord10 #5E81AC
set $nord11 #BF616A
set $nord12 #D08770
set $nord13 #EBCB8B
set $nord14 #A3BE8C
set $nord15 #B48EAD
# Window color settings
# class border backgr. text indicator
client.focused $nord15 $nord15 $nord4 $nord15
client.unfocused $nord2 $nord2 $nord6 $nord2
client.focused_inactive $nord2 $nord2 $nord6 $nord2
client.placeholder $nord2 $nord2 $nord6 $nord2
client.urgent #d42121 #d42121 #f7f7f7 #d42121
client.background $nord04
bar {
font pango:SpaceMono Nerd Font 10
position top
status_command i3status
tray_output primary
tray_padding 2
separator_symbol ":|:"
i3bar_command i3bar --transparency
strip_workspace_numbers no
strip_workspace_name no
binding_mode_indicator yes
colors {
background $nord0
statusline $nord9
separator $nord10
# colorclass border backgr. text
focused_workspace $nord3 $nord8 $nord4
active_workspace $nord3 $nord8 $nord4
inactive_workspace $nord8 $nord10 $nord4
urgent_workspace $nord3 $nord11 $nord4
}
}
# Launchers
bindsym Print exec flameshot gui
bindsym $mod+b exec librewolf
bindsym $mod+m exec dolphin
# Autorun
exec_always --no-startup-id feh -z --bg-scale /usr/share/backgrounds/arcolinux
exec --no-startup-id discord
exec --no-startup-id signal-desktop
exec_always --no-startup-id picom --config ~/.config/picom/picom.conf
exec --no-startup-id nm-applet
exec --no-startup-id volumeicon
exec --no-startup-id dunst
# Scratchpads
bindsym $mod+m [class="fm"] scratchpad show; move position center
bindsym $mod+v [class="vol"] scratchpad show; move position center
bindsym $mod+Shift+s [class="mus"] scratchpad show; move position center
exec_always --no-startup-id pgrep -f '^alacritty --class fm,fm' || alacritty --class fm,fm -e ranger
exec_always --no-startup-id pgrep -f '^alacritty --class vol,vol' || alacritty --class vol,vol -e pulsemixer
exec_always --no-startup-id pgrep -f '^alacritty --class mus,mus' || alacritty --class mus,mus -e ncspot
# add volmixer, spotify, email (maybe), calendar (maybe)
# Specific windows
#floating_minimum_size 1500 x 850
#floating_maximum_size -1 x -1
no_focus [window_role="pop-up"]
for_window [class="^.*"] border pixel 2
for_window [class="Spotify"] floating enable
for_window [class="cutefish-calculator"] floating enable
for_window [class="kcalc"] floating enable
for_window [class="Galculator"] floating enable
for_window [class="systemsettings"] floating enable
for_window [title="Friends List"] floating enable
for_window [class="Streamdeck UI"] floating enable, resize set 500 508
for_window [class="fm|vol|mus"] floating enable, resize set 1250 700, move scratchpad, border pixel 0
# Assign workspaces (find class with xprop)
assign [class="LibreWolf"] 2
assign [class="Firefox-esr"] 2
assign [class="firefox"] 2
assign [class="Brave-browser"] 2
assign [class="firedragon"] 2
assign [class="Signal"] 4
assign [class="discord"] 4
assign [class="Spotify"] 10
# workstation specific overrides
include ~/.config/i3/`hostname`.conf
assign [class="Signal"] 7
assign [class="discord"] 7
assign [class="Spotify"] 9
assign [class="Steam"] 10
+7
View File
@@ -0,0 +1,7 @@
#exec xrandr --output eDP-1 --primary --rate 100 --mode ####x####
gaps inner 8
gaps outer 0
set $font "SpaceMono Nerd Font"
set $font_size 8
+47
View File
@@ -0,0 +1,47 @@
# Colors
set $nord0 #2E344080
set $nord1 #3B4252
set $nord2 #434C5E
set $nord3 #4C566A
set $nord4 #D8DEE9
set $nord5 #E5E9F0
set $nord6 #ECEFF4
set $nord7 #8FBCBB
set $nord8 #88C0D0
set $nord9 #81A1C1
set $nord10 #5E81AC
set $nord11 #BF616A
set $nord12 #D08770
set $nord13 #EBCB8B
set $nord14 #A3BE8C
set $nord15 #B48EAD
bar {
font pango:SpaceMono Nerd Font 10
position top
status_command i3status
tray_output primary
tray_padding 2
separator_symbol ":|:"
i3bar_command i3bar --transparency
strip_workspace_numbers no
strip_workspace_name no
binding_mode_indicator yes
colors {
background $nord0
statusline $nord9
separator $nord14
# colorclass border backgr. text
focused_workspace $nord3 $nord8 $nord4
active_workspace $nord3 $nord8 $nord4
inactive_workspace $nord8 $nord10 $nord4
urgent_workspace $nord3 $nord11 $nord4
}
}
+157
View File
@@ -0,0 +1,157 @@
#set $mod Mod4
floating_modifier $mod
# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
# focus the parent container
bindsym $mod+a focus parent
# focus the child container
#bindsym $mod+d focus child
# start dmenu (a program launcher)
bindsym $mod+d exec --no-startup-id dmenu_run
bindsym $mod+Shift+d exec "rofi -modi drun,run -show drun"
bindsym $mod+Ctrl+d exec --no-startup-id "xlunch ~/.config/xlunch/default.config"
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
# change focus
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
# kill focused window
bindsym $mod+q kill
bindsym $mod+r mode "resize"
#bindsym $mod+Ctrl+l exec --no-startup-id betterlockscreen -l dimblur
bindsym $mod+Ctrl+Escape exec --no-startup-id archlinux-logout
bindsym $mod+Ctrl+0 exec --no-startup-id archlinux-logout
#set $mode_system (l)ock (e)xit switch_(u)ser (s)uspend (h)ibernate (r)eboot (shift+s)hutdown
#bindsym $mod+Ctrl+Escape mode "$mode_system"
#mode "$mode_system" {
# bindsym l exec --no-startup-id betterlockscreen -l dimblur
# bindsym e exec --no-startup-id i3exit logout, mode "default"
# bindsym u exec --no-startup-id i3exit switch_user, mode "default"
# #bindsym s exec --no-startup-id i3-msg exit && exit
# bindsym s exec betterlockscreen -s -l dimblur
# bindsym h exec --no-startup-id i3exit hibernate, mode "default"
# bindsym r exec --no-startup-id i3exit reboot, mode "default"
# bindsym Shift+s exec --no-startup-id i3exit shutdown, mode "default"
# bindsym Escape mode "default"
# bindsym Return mode "default"
#}
# move focused window
bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right
# split in horizontal orientation
#bindsym $mod+Ctrl+h split h; exec notify-send 'Horizontal Split Mode'
# split in vertical orientation
#bindsym $mod+Ctrl+v split v; exec notify-send 'Vertical Split Mode'
#toggle split mode
bindsym $mod+Shift+plus split toggle; exec notify-send "Toggled split"
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking; exec notify-send "Stacking mode"
bindsym $mod+t layout tabbed; exec notify-send "Tab mode"
bindsym $mod+e layout toggle split
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# switch to workspace
bindsym $mod+1 workspace number $ws1
bindsym $mod+2 workspace number $ws2
bindsym $mod+3 workspace number $ws3
bindsym $mod+4 workspace number $ws4
bindsym $mod+5 workspace number $ws5
bindsym $mod+6 workspace number $ws6
bindsym $mod+7 workspace number $ws7
bindsym $mod+8 workspace number $ws8
bindsym $mod+9 workspace number $ws9
bindsym $mod+0 workspace number $ws10
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace number $ws1
bindsym $mod+Shift+2 move container to workspace number $ws2
bindsym $mod+Shift+3 move container to workspace number $ws3
bindsym $mod+Shift+4 move container to workspace number $ws4
bindsym $mod+Shift+5 move container to workspace number $ws5
bindsym $mod+Shift+6 move container to workspace number $ws6
bindsym $mod+Shift+7 move container to workspace number $ws7
bindsym $mod+Shift+8 move container to workspace number $ws8
bindsym $mod+Shift+9 move container to workspace number $ws9
bindsym $mod+Shift+0 move container to workspace number $ws10
# navigate next/prev workspace
bindsym $mod+Tab workspace next
bindsym $mod+Shift+Tab workspace prev
bindsym $mod+Ctrl+l workspace next
bindsym $mod+Ctrl+h workspace prev
bindsym $mod+Ctrl+Right workspace next
bindsym $mod+Ctrl+Left workspace prev
# scratchpad
# move current window to a scratchpad
bindsym $mod+Shift+minus move scratchpad
# show scratchpad
bindsym $mod+minus scratchpad show
bindsym $mod+Shift+r restart
mode "resize" {
bindsym h resize shrink width 10 px or 10 ppt
bindsym j resize grow height 10 px or 10 ppt
bindsym k resize shrink height 10 px or 10 ppt
bindsym l resize grow width 10 px or 10 ppt
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym $mod+r mode "default"
}
# Multimedia keys
set $refresh_i3status killall -SIGUSR1 i3status
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
# Launchers
bindsym Print exec flameshot gui
bindsym $mod+b exec librewolf
#bindsym $mod+m exec dolphin
# start a terminal
bindsym $mod+Return exec alacritty
# Unused
#bindsym $mod+c
#bindsym $mod+e
#bindsym $mod+g
#bindsym $mod+i
#bindsym $mod+n
#bindsym $mod+o
#bindsym $mod+p
#bindsym $mod+s
#bindsym $mod+t
#bindsym $mod+u
#bindsym $mod+v
#bindsym $mod+w
#bindsym $mod+x
#bindsym $mod+y
#bindsym $mod+z
+3 -14
View File
@@ -1,18 +1,7 @@
# i3 overrides
# gaps
gaps inner 45
exec xrandr --output DP-4 --primary --rate 100 --mode 3440x1440
gaps inner 55
gaps outer -20
# floating windows
#floating_minimum_size 1500 x 850
#floating_maximum_size -1 x -1
# Launchers
# Autorun
# Specific windows
for_window [class="Streamdeck UI"] floating enable
for_window [class="Streamdeck UI"] resize set 500 508
# Assign workspaces
+37
View File
@@ -0,0 +1,37 @@
# Colors
set $nord0 #2E344080
set $nord1 #3B4252
set $nord2 #434C5E
set $nord3 #4C566A
set $nord4 #D8DEE9
set $nord5 #E5E9F0
set $nord6 #ECEFF4
set $nord7 #8FBCBB
set $nord8 #88C0D0
set $nord9 #81A1C1
set $nord10 #5E81AC
set $nord11 #BF616A
set $nord12 #D08770
set $nord13 #EBCB8B
set $nord14 #A3BE8C
set $nord15 #B48EAD
# Window color settings
# class border backgr. text indicator
#client.focused $nord15 $nord15 $nord4 $nord15
#client.unfocused $nord2 $nord2 $nord6 $nord2
#client.focused_inactive $nord2 $nord2 $nord6 $nord2
#client.placeholder $nord2 $nord2 $nord6 $nord2
#client.urgent #d42121 #d42121 #f7f7f7 #d42121
#
#client.background $nord04
#nord
# class border backgr. text indicator child_border
client.focused #8fbcbb #8fbcbb #1a1826 #8fbcbb #8fbcbb
client.focused_inactive #4c566a #4c566a #ffffff #4c566a #4c566a
client.unfocused #333333 #222222 #888888 #292d2e #222222
client.urgent #cc241d #900000 #ffffff #cc241d #cc241d
client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c
client.background #ffffff
+40 -22
View File
@@ -1,56 +1,74 @@
# i3status configuration file.
# see "man i3status" for documentation.
# It is important that this file is edited as UTF-8.
# The following line should contain a sharp s:
# ß
# If the above line is not correctly displayed, fix your editor first!
general {
output_format = i3bar
colors = true
colors = true
color_good = "#A3BE8C"
color_degraded = "#ebcb8b"
color_bad = "#b48ead"
markup = pango
interval = 5
interval = 5
}
#order += "ipv6"
order += "wireless _first_"
order += "ethernet _first_"
order += "battery all"
order += "disk /"
#order += "disk /"
order += "cpu_usage"
order += "load"
order += "memory"
order += "volume master"
order += "tztime local"
wireless _first_ {
format_up = "W: (%quality at %essid) %ip"
format_down = ""
format_up = "W: (%quality at %essid) %ip"
format_down = ""
}
ethernet _first_ {
format_up = "E: %ip (%speed)"
format_down = ""
format_up = "E: %ip (%speed)"
format_down = ""
}
battery all {
format = "%status %percentage %remaining"
format = "%status %percentage %remaining %emptytime"
format_down = ""
status_chr = "⚡ CHR"
status_bat = "🔋 BAT"
status_unk = "? UNK"
status_full = "☻ FULL"
path = "/sys/class/power_supply/BAT%d/uevent"
low_threshold = 10
integer_battery_capacity = true
}
disk "/" {
format = "%avail"
format = "%avail"
}
cpu_usage {
format = "CPU: %usage"
format_above_threshold = "High CPU: %usage"
max_threshold = 75
}
load {
format = "LOAD: %1min"
format = "LOAD: %1min"
}
memory {
format = "MEM: %used | %available"
threshold_degraded = "1G"
format_degraded = "MEMORY < %available"
format = "MEM: %used/%free (%available)"
threshold_degraded = "10%"
threshold_critical = "5%"
format_degraded = "Low Memory < %free"
}
volume master {
format = "♪: %volume"
format_muted = "♪: muted (%volume)"
device = "default"
mixer = "Master"
}
tztime local {
format = "%Y-%m-%d %H:%M "
format = "%Y-%m-%d %H:%M "
}