From 97805ee54a77c958b5cb1f97efb216a421f61e70 Mon Sep 17 00:00:00 2001 From: clint Date: Sat, 17 Sep 2022 18:27:52 -0500 Subject: [PATCH] broke apart i3 configs --- i3/.config/i3/config | 295 ++++++++---------------------- i3/.config/i3/scratchpads.conf | 9 + i3/.config/i3/themes/current.conf | 20 ++ i3/.config/i3/workspaces.conf | 43 +++++ 4 files changed, 147 insertions(+), 220 deletions(-) create mode 100644 i3/.config/i3/scratchpads.conf create mode 100644 i3/.config/i3/themes/current.conf create mode 100644 i3/.config/i3/workspaces.conf diff --git a/i3/.config/i3/config b/i3/.config/i3/config index cea43fc..cbc3c03 100644 --- a/i3/.config/i3/config +++ b/i3/.config/i3/config @@ -1,39 +1,27 @@ -# This file has been auto-generated by i3-config-wizard(1). -# It will not be overwritten, so edit it as you like. -# -# Should you change your keyboard layout some time, delete -# this file and re-run i3-config-wizard(1). -# +###################################### +# Includes +###################################### -# i3 config file (v4) -# -# Please see https://i3wm.org/docs/userguide.html for a complete reference! +include $HOME/.config/i3/workspaces.conf +include $HOME/.config/i3/scratchpads.conf +include $HOME/.config/i3/themes/current.conf + +###################################### +# Basic Set up +###################################### set $mod Mod4 - -# Font for window titles. Will also be used by the bar unless a different font -# is used in the bar {} block below. +floating_modifier $mod font pango:monospace 8 -# This font is widely installed, provides lots of unicode glyphs, right-to-left -# text rendering and scalability on retina/hidpi displays (thanks to pango). -#font pango:DejaVu Sans Mono 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 -# 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. - -# # xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the +# 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 -# 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 - # 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 @@ -42,12 +30,28 @@ bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ to bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status # Fix monitor setup on bootup -# exec xrandr --output DVI-D-0 --off --output HDMI-2 --primary --mode 1920x1080 --pos 0x0 --rotate normal --output DP-0 --off --output DP-1 --off --output HDMI-1 --mode 1920x1080 --pos 1923x0 --rotate normal --output VGA-1-1 --off --output HDMI-1-1 --off exec ~/scripts/xrandr_dual_monitor.sh +# turn picom on on start up +exec_always --no-startup-id picom & -# Use Mouse+$mod to drag floating windows to their wanted position -floating_modifier $mod +# turn off borders (required for i3-gaps) +for_window [class=".*"] border pixel 2 + +# gaps +gaps inner 10 + +# polybar +exec_always --no-startup-id $HOME/.config/polybar/launch.sh + +# set background on startup +set $wallpaper /home/clint/Pictures/wallpapers/current_wallpaper.jpg +exec --no-startup-id feh --bg-fill $wallpaper + + +###################################### +# Key Bindings +###################################### # start a terminal bindsym $mod+Return exec --no-startup-id alacritty @@ -58,33 +62,14 @@ bindsym $mod+q kill # start dmenu (a program launcher) bindsym $mod+d exec --no-startup-id dmenu_run -# bindsym $mod+d exec "rofi -show run" -# A more modern dmenu replacement is rofi: -# bindcode $mod+40 exec "rofi -modi drun,run -show drun" -# There also is i3-dmenu-desktop which only displays applications shipping a -# .desktop file. It is a wrapper around dmenu, so you need that installed. -# bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop - -# change focus -bindsym $mod+j focus left -bindsym $mod+k focus down -#bindsym $mod+l focus up -bindsym $mod+semicolon focus right - -# alternatively, you can use the cursor keys: +# you can use the cursor keys: bindsym $mod+Left focus left bindsym $mod+Down focus down bindsym $mod+Up focus up bindsym $mod+Right focus right -# move focused window -bindsym $mod+Shift+j move left -bindsym $mod+Shift+k move down -bindsym $mod+Shift+l move up -bindsym $mod+Shift+semicolon move right - -# alternatively, you can use the cursor keys: +# you can use the cursor keys: bindsym $mod+Shift+Left move left bindsym $mod+Shift+Down move down bindsym $mod+Shift+Up move up @@ -99,11 +84,6 @@ bindsym $mod+v split v # 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 @@ -113,166 +93,6 @@ bindsym $mod+space focus mode_toggle # focus the parent container bindsym $mod+a focus parent -# focus the child container -#bindsym $mod+d focus child - -# Define names for default workspaces for which we configure key bindings later on. -# We use variables to avoid repeating the names in multiple places. - -#set $ws1 "1:一" -#set $ws2 "2:二" -#set $ws3 "3:三" -#set $ws4 "4:四" -#set $ws5 "5:五" -#set $ws6 "6:六" -#set $ws7 "7:七" -#set $ws8 "8:八" -#set $ws9 "9:九" -#set $ws10 "10:十" - -set $ws1 "1" -set $ws2 "2" -set $ws3 "3" -set $ws4 "4" -set $ws5 "5" -set $ws6 "6" -set $ws7 "7" -set $ws8 "8" -set $ws9 "9" -set $ws10 "0" - -# 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 - -# tryin some stuff, not sure if this is what i want -workspace $ws1 output HDMI-0 -workspace $ws2 output HDMI-1 -workspace $ws3 output HDMI-0 -workspace $ws4 output HDMI-1 - -# set which programs open in which workspaces -# to find the class, run xprop in a terminal and click on a program -#assign [class="Alacritty"] $ws1 -assign [class="firefox"] $ws2 -# assign [class="pycharm"] $ws3 -# assign [class="Gimp"] $ws3 - -# these programs will float -for_window [class="kcalc"] floating enable - -# reload the configuration file -bindsym $mod+Shift+c reload -# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) -bindsym $mod+Shift+r restart -# exit i3 (logs you out of your X session) -bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'" - -# resize window (you can also use the mouse for that) -mode "resize" { - # These bindings trigger as soon as you enter the resize mode - - # Pressing left will shrink the window’s width. - # Pressing right will grow the window’s width. - # Pressing up will shrink the window’s height. - # Pressing down will grow the window’s height. - bindsym j resize shrink width 10 px or 10 ppt - bindsym k resize grow height 10 px or 10 ppt - bindsym l resize shrink height 10 px or 10 ppt - bindsym semicolon resize grow width 10 px or 10 ppt - - # same bindings, but for the arrow keys - bindsym Left resize shrink width 10 px or 10 ppt - bindsym Down resize grow height 10 px or 10 ppt - bindsym Up resize shrink height 10 px or 10 ppt - bindsym Right resize grow width 10 px or 10 ppt - - # back to normal: Enter or Escape or $mod+r - bindsym Return mode "default" - bindsym Escape mode "default" - bindsym $mod+r mode "default" -} - -bindsym $mod+r mode "resize" - -# Start i3bar to display a workspace bar (plus the system information i3status -# finds out, if available) - -# bar color definitions -set $bar-text #ADF1D2 -set $bar-background #231c1c -set $bar-statusline #eeeeee -set $bar-separator #eeeeee -set $bar-focused_workspace #553555 -set $bar-inactive_workspace #755B69 - -#bar { -# position top -# strip_workspace_numbers yes -# status_command i3blocks -# output HDMI-0 -# output HDMI-1 -# font pango:Hack 10 -# -# colors { -# background $bar-background -# statusline $bar-statusline -# separator $bar-separator -# -# # class border background text -# focused_workspace $bar-focused_workspace $bar-focused_workspace $bar-text -# active_workspace $bar-inactive_workspace $bar-inactive_workspace $bar-text -# inactive_workspace #333333 #222222 #888888 -# urgent_workspace #2f343a #900000 #ffffff -# binding_mode #2f343a #900000 #ffffff -# } -#} - -# set background on startup -set $wallpaper /home/clint/Pictures/wallpapers/current_wallpaper.jpg -exec --no-startup-id feh --bg-fill $wallpaper - -# turn picom on on start up -exec_always --no-startup-id picom & - -# turn off borders (required for i3-gaps) -for_window [class=".*"] border pixel 2 - -# gaps -gaps inner 10 - -# messin with colors -#set $bd-color #1de071 -#set $bd-indicator #d42069 - -set $bd-color #76b5c5 -set $bd-indicator #ffffff - -# colorclass border bg text indicator child_border -client.focused $bd-color #111111 #ffffff $bd-indicator $bd-color -client.focused_inactive $bd-color #111111 #ffffff #333333 #111111 -client.unfocused $bd-color #111111 #ffffff #333333 #333333 - # lock screen bindsym $mod+l exec ~/scripts/lock.sh @@ -284,14 +104,49 @@ bindsym $mod+x exec ~/scripts/dmenu_shutdown.sh # common programs bindsym $mod+Shift+w exec firefox bindsym $mod+Shift+p exec pycharm -bindsym $mod+g exec gimp bindsym $mod+m workspace $ws4; exec spotifyd; exec alacritty -e spt bindsym $mod+Shift+m exec killall spt; exec killall spotifyd -# Volume controls -bindsym $mod+F9 exec pactl set-sink-mute @DEFAULT_SINK@ toggle -bindsym $mod+F11 exec pactl set-sink-volume 0 +10% -bindsym $mod+F10 exec pactl set-sink-volume 0 -10% +# reload the configuration file +bindsym $mod+Shift+c reload +# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) +bindsym $mod+Shift+r restart +# exit i3 (logs you out of your X session) +bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'" + +# Volume controls +#bindsym F9 exec pactl set-sink-mute @DEFAULT_SINK@ toggle +#bindsym F11 exec pactl set-sink-volume 0 +10% +#bindsym F10 exec pactl set-sink-volume 0 -10% + +# set which programs open in which workspaces +# to find the class, run xprop in a terminal and click on a program +assign [class="firefox"] $ws2 + +# these programs will float +for_window [class="kcalc"] floating enable + +###################################### +# Resizing Windows +###################################### + +bindsym $mod+r mode "resize" + +mode "resize" { + bindsym j resize shrink width 10 px or 10 ppt + bindsym k resize grow height 10 px or 10 ppt + bindsym l resize shrink height 10 px or 10 ppt + bindsym semicolon resize grow width 10 px or 10 ppt + + bindsym Left resize shrink width 10 px or 10 ppt + bindsym Down resize grow height 10 px or 10 ppt + bindsym Up resize shrink height 10 px or 10 ppt + bindsym Right resize grow width 10 px or 10 ppt + + # back to normal: Enter or Escape or $mod+r + bindsym Return mode "default" + bindsym Escape mode "default" + bindsym $mod+r mode "default" +} + -# polybar -exec_always --no-startup-id $HOME/.config/polybar/launch.sh diff --git a/i3/.config/i3/scratchpads.conf b/i3/.config/i3/scratchpads.conf new file mode 100644 index 0000000..2b76115 --- /dev/null +++ b/i3/.config/i3/scratchpads.conf @@ -0,0 +1,9 @@ +# scratchpad stuff +exec --no-startup-id kcalc +for_window [class="kcalc"] , move scratchpad +bindsym $mod+g [class="kcalc"] scratchpad show + +exec_always --no-startup-id pgrep -f '^alacritty --class taskman,taskman' || alacritty --class taskman,taskman -e btm +for_window [class="taskman"] , move scratchpad +bindsym F1 [class="taskman"] scratchpad show + diff --git a/i3/.config/i3/themes/current.conf b/i3/.config/i3/themes/current.conf new file mode 100644 index 0000000..9b011f3 --- /dev/null +++ b/i3/.config/i3/themes/current.conf @@ -0,0 +1,20 @@ +# messin with colors +#set $bd-color #1de071 +#set $bd-indicator #d42069 + +set $bd-color #76b5c5 +set $bd-indicator #ffffff + +# colorclass border bg text indicator child_border +client.focused $bd-color #111111 #ffffff $bd-indicator $bd-color +client.focused_inactive $bd-color #111111 #ffffff #333333 #111111 +client.unfocused $bd-color #111111 #ffffff #333333 #333333 + +# bar color definitions +set $bar-text #ADF1D2 +set $bar-background #231c1c +set $bar-statusline #eeeeee +set $bar-separator #eeeeee +set $bar-focused_workspace #553555 + + diff --git a/i3/.config/i3/workspaces.conf b/i3/.config/i3/workspaces.conf new file mode 100644 index 0000000..45d7e8e --- /dev/null +++ b/i3/.config/i3/workspaces.conf @@ -0,0 +1,43 @@ +# i3 workspace conf + +set $ws1 "1" +set $ws2 "2" +set $ws3 "3" +set $ws4 "4" +set $ws5 "5" +set $ws6 "6" +set $ws7 "7" +set $ws8 "8" +set $ws9 "9" +set $ws10 "0" + +# 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 + +# tryin some stuff, not sure if this is what i want +workspace $ws1 output HDMI-0 +workspace $ws2 output HDMI-1 +workspace $ws3 output HDMI-0 +workspace $ws4 output HDMI-1 +