diff --git a/desktop-gruvbox-sway/.config/sway/config b/desktop-gruvbox-sway/.config/sway/config new file mode 100644 index 00000000..62dee9de --- /dev/null +++ b/desktop-gruvbox-sway/.config/sway/config @@ -0,0 +1,192 @@ +# +# Salt's Sway configuration file +# Licensed under the terms of the MIT License +# + +## 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 +set $w9 9 +set $w10 10 +# 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 +workspace $w6 output $monprim +workspace $w7 output $monprim +# Putting 10 here first so it's the default for my secondary +workspace $w10 output $monsec +workspace $w8 output $monsec +workspace $w9 output $monsec + +## COSMETICS +font pango:Roboto 10 +default_border pixel 4 +focus_on_window_activation none +gaps inner 6 + +set $red #fb4934 +set $green #b8bb26 +set $yellow #fabd2f +set $blue #83a598 +set $magenta #de869b +set $cyan #8ec07c +set $white #ebdbb2 +set $black #282828 +set $gray #32302f + +# + client.focused $blue $black $white $gray $blue + client.focused_inactive $gray $black $white $gray $gray + client.unfocused $gray $black $white $gray $gray + client.urgent $yellow $black $white $gray $yellow + client.placeholder $magenta $black $white $gray $magenta + client.background $bg + +## 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 +bindsym $mod+9 workspace $w9 +bindsym $mod+0 workspace $w10 + +# 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 +bindsym $mod+$shift+9 move container to workspace $w9 +bindsym $mod+$shift+0 move container to workspace $w10 + +## INPUTS +# Touchpad +input "type:touchpad" { + accel_profile flat # Disables mouse acceleration + drag enabled # Enable tap-dragging + dwt enabled # Disable device while typing + pointer_accel 0 # REALLY disable mouse accel + tap enabled # Enable tapping + tap_button_map lrm # 1/2/3-finger tap (left, right, middle) +} + +## 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/desktop-gruvbox-sway/.config/waybar/config b/desktop-gruvbox-sway/.config/waybar/config new file mode 100644 index 00000000..02cc6227 --- /dev/null +++ b/desktop-gruvbox-sway/.config/waybar/config @@ -0,0 +1,49 @@ +{ + "layer": "top", // Waybar at top layer + "height": 40, // Waybar height (to be removed for auto height) + "modules-left": ["sway/workspaces", "sway/mode", "custom/media"], + "modules-center": ["tray"], + "modules-right": ["pulseaudio", "battery", "clock"], + "sway/workspaces": { + "disable-scroll": true + }, + "tray": { + "icon-size": 16, + "spacing": 10 + }, + "clock": { + "format": "{:%a %b %d %I:%M %p}", + "format-alt": "{:%Y-%m-%d}", + "tooltip": false + }, + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{icon}", + "format-charging": "{icon}", + "format-plugged": "{icon}", + "format-icons": ["", "", "", "", ""] + }, + "pulseaudio": { + "scroll-step": 0, + "format": "{volume}% {icon} {format_source}", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphones": "", + "handsfree": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "on-click": "pavucontrol-qt" + } +} diff --git a/desktop-gruvbox-sway/.config/waybar/style.css b/desktop-gruvbox-sway/.config/waybar/style.css new file mode 100644 index 00000000..a87c4e84 --- /dev/null +++ b/desktop-gruvbox-sway/.config/waybar/style.css @@ -0,0 +1,58 @@ +/* + * style.css + * Copyright (C) 2021 Vintage Salt + * + * Distributed under terms of the MIT license. + */ + +* { + border: none; + border-radius: 0; + font-family: IBM Plex Sans Medium; + font-size: 13px; +} + +window#waybar { + background: @theme_base_color; + border-bottom: 4px solid #32302f; +} + +/* swaywm stuff */ +#workspaces { + padding: 0 6px; +} +#workspaces button { + background: transparent; + padding: 0 0.9em; +} +#workspaces button.focused { + background: #83a598; + color: @theme_base_color; +} +#mode { + background: #fb4934; + color: @theme_base_color; + padding: 0 1em; +} + +/* widgets */ +#pulseaudio { + padding: 0 1em; +} +#battery { + padding: 0 1em; + font-size: 16px; +} +#battery.charging { + color: #b8bb26; +} +#battery.warning { + color: #fabd2f; +} +#battery.criticcal { + color: #fb4934; +} +#clock { + border-left: 1px solid #32302f; + padding: 0 1em; +}