diff --git a/.config/i3/autorun.conf b/.config/i3/autorun.conf new file mode 100644 index 0000000..0529048 --- /dev/null +++ b/.config/i3/autorun.conf @@ -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 diff --git a/.config/i3/config b/.config/i3/config index f8fc423..7dc3e96 100644 --- a/.config/i3/config +++ b/.config/i3/config @@ -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 diff --git a/.config/i3/default.conf b/.config/i3/default.conf new file mode 100644 index 0000000..a94cf02 --- /dev/null +++ b/.config/i3/default.conf @@ -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 diff --git a/.config/i3/i3bar.conf b/.config/i3/i3bar.conf new file mode 100644 index 0000000..1f167a9 --- /dev/null +++ b/.config/i3/i3bar.conf @@ -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 + } +} diff --git a/.config/i3/keybinds.conf b/.config/i3/keybinds.conf new file mode 100644 index 0000000..4f16cd7 --- /dev/null +++ b/.config/i3/keybinds.conf @@ -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 diff --git a/.config/i3/kratos.conf b/.config/i3/kratos.conf index a666e55..31443b4 100644 --- a/.config/i3/kratos.conf +++ b/.config/i3/kratos.conf @@ -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 diff --git a/.config/i3/theme.conf b/.config/i3/theme.conf new file mode 100644 index 0000000..abf9ba7 --- /dev/null +++ b/.config/i3/theme.conf @@ -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 diff --git a/.config/i3status/config b/.config/i3status/config index f9349eb..980b216 100644 --- a/.config/i3status/config +++ b/.config/i3status/config @@ -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 " }