diff --git a/.config/i3/config b/.config/i3/config new file mode 100644 index 00000000..5c733764 --- /dev/null +++ b/.config/i3/config @@ -0,0 +1,169 @@ +# +# Salt's i3 configuration file +# Licensed under the terms of the MIT License +# + +## STARTUP TASKS +# High-priority +exec --no-startup-id pulseaudio +exec --no-startup-id ~/.config/compton/launch.sh +exec --no-startup-id nitrogen --restore +exec --no-startup-id ~/.config/polybar/launch.sh +exec --no-startup-id redshift +# Low-priority +exec --no-startup-id dunst +exec --no-startup-id "sleep 15 && mpd" +exec --no-startup-id "g910-lights" +# XDG +exec --no-startup-id "dex -a" + +## WORKSPACES +set $w1 1 +set $w2 2 +set $w3 3 +set $w4 4 +set $w5 5 +set $w6 6 +set $w7 7 +set $w8 8 +# Workspace setup for my desktop +# Defaults to whatever on my laptop and on other machines +set $monprim DisplayPort-0 +set $monsec HDMI-A-0 +workspace $w1 output $monprim +workspace $w2 output $monprim +workspace $w3 output $monprim +workspace $w4 output $monprim +workspace $w5 output $monprim +# Putting 8 here first so it's the default for my secondary +workspace $w8 output $monsec +workspace $w6 output $monsec +workspace $w7 output $monsec + +## COSMETICS +font pango:Roboto 10 +new_window pixel 4 +focus_on_window_activation none +gaps inner 8 + +## KEYBINDINGS +# Set modifiers +set $mod Mod1 +set $sup Mod4 +set $ctl Ctrl +set $shift Shift + +# Use Mouse+$mod to drag floating windows to their wanted position +floating_modifier $mod + +# Program opening and closing +bindsym $mod+Return exec "konsole" +bindsym $mod+q kill +bindsym $mod+space exec "rofi -show drun" +bindsym $mod+backslash exec "rofi -show ssh" +bindsym $mod+Tab exec "rofi -show window" + +# Pulse controls +bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5% #increase sound volume +bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5% #decrease sound volume +bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle # mute sound + +# Brightness controls +bindsym XF86MonBrightnessUp exec xbacklight -inc 5 # increase screen brightness +bindsym XF86MonBrightnessDown exec xbacklight -dec 5 # decrease screen brightness + +# pavucontrol-qt controls +bindsym $mod+p exec --no-startup-id "pgrep pavucontrol-qt || pavucontrol-qt" +bindsym $mod+$shift+p exec --no-startup-id "pkill pavucontrol-qt" + +# i3-settree +bindsym $mod+o exec --no-startup-id "~/.bin/i3-settree" + +# Miscellaneous non-movement hotkeys +bindsym $ctl+$mod+l exec --no-startup-id "~/.bin/i3lock-custom" +bindsym $mod+$shift+c reload +bindsym $mod+$shift+r restart + +# 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 + +# move focused workspace between monitors +bindsym $sup+h move workspace to output left +bindsym $sup+j move workspace to output down +bindsym $sup+k move workspace to output up +bindsym $sup+l move workspace to output right + +# split in horizontal orientation +bindsym $mod+semicolon split h + +# split in vertical orientation +bindsym $mod+v split v + +# toggle tiling / floating +bindsym $mod+f floating toggle + +# enter fullscreen mode for the focused container +bindsym $mod+$shift+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 + +# focus the parent container +bindsym $mod+a focus parent + +# focus the child container +bindsym $mod+d focus child + +# switch to workspace +bindsym $mod+1 workspace $w1 +bindsym $mod+2 workspace $w2 +bindsym $mod+3 workspace $w3 +bindsym $mod+4 workspace $w4 +bindsym $mod+5 workspace $w5 +bindsym $mod+6 workspace $w6 +bindsym $mod+7 workspace $w7 +bindsym $mod+8 workspace $w8 + +# switch to next and previous workspaces +bindsym $mod+period workspace next +bindsym $mod+comma workspace prev + +# move focused container to workspace +bindsym $mod+$shift+1 move container to workspace $w1 +bindsym $mod+$shift+2 move container to workspace $w2 +bindsym $mod+$shift+3 move container to workspace $w3 +bindsym $mod+$shift+4 move container to workspace $w4 +bindsym $mod+$shift+5 move container to workspace $w5 +bindsym $mod+$shift+6 move container to workspace $w6 +bindsym $mod+$shift+7 move container to workspace $w7 +bindsym $mod+$shift+8 move container to workspace $w8 + +## MODES +# Resize +bindsym $mod+r mode "resize" +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 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 + + bindsym Return mode "default" + bindsym Escape mode "default" + bindsym $mod+r mode "default" +} diff --git a/.config/polybar/config b/.config/polybar/config new file mode 100644 index 00000000..43090197 --- /dev/null +++ b/.config/polybar/config @@ -0,0 +1,209 @@ +# vim:ft=dosini +# _ _ +# _ __ ___ | |_ _| |__ __ _ _ __ +# | '_ \ / _ \| | | | | '_ \ / _` | '__| +# | |_) | (_) | | |_| | |_) | (_| | | +# | .__/ \___/|_|\__, |_.__/ \__,_|_| +# |_| |___/ +# +# Copyright (c) 2020 Vintage Salt +# Distributed under the terms of the MIT License +# + +## VARIABLES +[res/colors] +red = #BF616A +green = #A3BE8C +yellow = #EBCB8B +blue = #81A1C1 +magenta = #B48EAD +cyan = #88C0D0 +white = #D8DEE9 +black = #2E3440 +gray = #3B4252 + +bg = #2E3440 +fg = #D8DEE9 +border = #3B4252 +selection = #88C0D0 + +[res/config] +padding = 2 + +[settings] +screenchange-reload = true +format-padding = ${res/config.padding} +format-background = ${res/colors.bg} + +## BARS +[template/bar] +bottom = true +wm-restack = ${env:PB_WM_RESTACK:i3} +tray-maxsize = 16 +background = ${res/colors.bg} +foreground = ${res/colors.fg} +border-color = ${res/colors.border} +tray-background = ${res/colors.bg} +height = 48 +font-0 = "Inconsolata:style=Medium:size=11;2" +font-1 = "Deja Vu Sans Mono:style=Regular:size=11;2" + +[bar/primary] +monitor = ${env:PB_MONITOR:eDP-1} +inherit = template/bar +border-top-size = 4 +modules-left = i3 cpu memory battery temp +modules-right = backlight pulse date + +## MODULES +[module/backlight] +type = internal/xbacklight +format =