diff --git a/home/dot_config/sway/config.d/autostart b/home/dot_config/sway/config.d/autostart new file mode 100644 index 0000000..bd65960 --- /dev/null +++ b/home/dot_config/sway/config.d/autostart @@ -0,0 +1,10 @@ +# vi: ft=swayconfig + +# Idle configuration +exec swayidle -w + +# Dbug session +exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway + +# notification daemon +exec_always fnott& diff --git a/home/dot_config/sway/config.d/bindings b/home/dot_config/sway/config.d/bindings new file mode 100644 index 0000000..0487c5e --- /dev/null +++ b/home/dot_config/sway/config.d/bindings @@ -0,0 +1,169 @@ +# vi: ft=swayconfig + +# Basics: +# +# Start a terminal +bindsym $mod+Return exec $term + +# Kill focused window +bindsym $mod+Shift+q kill + +# Start your launcher +bindsym $mod+d exec $menu + +# Drag floating windows by holding down $mod and left mouse button. +# Resize them with right mouse button + $mod. +# Despite the name, also works for non-floating windows. + +# Change normal to inverse to use left mouse button for resizing and right +# mouse button for dragging. +floating_modifier $mod normal + +# Reload the configuration file +bindsym $mod+Shift+c reload + +# Exit sway (logs you out of your Wayland session) +bindsym $mod+Shift+e exec ~/.config/sway/power-menu +# +# Moving around: +# +# Move your focus around +bindsym $mod+$left focus left +bindsym $mod+$down focus down +bindsym $mod+$up focus up +bindsym $mod+$right focus right +# Or use $mod+[up|down|left|right] +bindsym $mod+Left focus left +bindsym $mod+Down focus down +bindsym $mod+Up focus up +bindsym $mod+Right focus right + +# Move the focused window with the same, but add Shift +bindsym $mod+Shift+$left move left +bindsym $mod+Shift+$down move down +bindsym $mod+Shift+$up move up +bindsym $mod+Shift+$right move right +# Ditto, with arrow keys +bindsym $mod+Shift+Left move left +bindsym $mod+Shift+Down move down +bindsym $mod+Shift+Up move up +bindsym $mod+Shift+Right move right +# +# Workspaces: +# +# Switch to workspace + +bindsym $mod+0 workspace number 0 + +# Move focused container to workspace +bindsym $mod+Shift+0 move container to workspace number 0 + +bindsym $mod+1 workspace number 1 + +# Move focused container to workspace +bindsym $mod+Shift+1 move container to workspace number 1 + +bindsym $mod+2 workspace number 2 + +# Move focused container to workspace +bindsym $mod+Shift+2 move container to workspace number 2 + +bindsym $mod+3 workspace number 3 + +# Move focused container to workspace +bindsym $mod+Shift+3 move container to workspace number 3 + +bindsym $mod+4 workspace number 4 + +# Move focused container to workspace +bindsym $mod+Shift+4 move container to workspace number 4 + +bindsym $mod+5 workspace number 5 + +# Move focused container to workspace +bindsym $mod+Shift+5 move container to workspace number 5 + +bindsym $mod+6 workspace number 6 + +# Move focused container to workspace +bindsym $mod+Shift+6 move container to workspace number 6 + +bindsym $mod+7 workspace number 7 + +# Move focused container to workspace +bindsym $mod+Shift+7 move container to workspace number 7 + +bindsym $mod+8 workspace number 8 + +# Move focused container to workspace +bindsym $mod+Shift+8 move container to workspace number 8 + +bindsym $mod+9 workspace number 9 + +# Move focused container to workspace +bindsym $mod+Shift+9 move container to workspace number 9 + + +# +# Layout stuff: +# +# You can "split" the current object of your focus with +# $mod+b or $mod+v, for horizontal and vertical splits +# respectively. +bindsym $mod+b splith +bindsym $mod+v splitv + +# Switch the current container between different layout styles +bindsym $mod+s layout stacking +bindsym $mod+w layout tabbed +bindsym $mod+e layout toggle split + +# Make the current focus fullscreen +bindsym $mod+f fullscreen + +# Toggle the current focus between tiling and floating mode +bindsym $mod+Shift+space floating toggle + +# Swap focus between the tiling area and the floating area +bindsym $mod+space focus mode_toggle + +# Move focus to the parent container +bindsym $mod+a focus parent +# +# Scratchpad: +# +# Sway has a "scratchpad", which is a bag of holding for windows. +# You can send windows there and get them back later. + +# Move the currently focused window to the scratchpad +bindsym $mod+Shift+minus move scratchpad + +# Show the next scratchpad window or hide the focused scratchpad window. +# If there are multiple scratchpad windows, this command cycles through them. +bindsym $mod+minus scratchpad show +# +# Resizing containers: +# +mode "resize" { +# left will shrink the containers width +# right will grow the containers width +# up will shrink the containers height +# down will grow the containers height + bindsym $left resize shrink width 10px + bindsym $down resize grow height 10px + bindsym $up resize shrink height 10px + bindsym $right resize grow width 10px + +# Ditto, with arrow keys + bindsym Left resize shrink width 10px + bindsym Down resize grow height 10px + bindsym Up resize shrink height 10px + bindsym Right resize grow width 10px + +# Return to default mode + bindsym Return mode "default" + bindsym Escape mode "default" +} +bindsym $mod+r mode "resize" + +bindsym $mod+Alt+l exec swaylock diff --git a/home/dot_config/sway/config.d/inputs b/home/dot_config/sway/config.d/inputs new file mode 100644 index 0000000..93f9392 --- /dev/null +++ b/home/dot_config/sway/config.d/inputs @@ -0,0 +1,46 @@ +# vi: ft=swayconfig +# +#### Input configuration +# +# Example configuration: +# +# input "2:14:SynPS/2_Synaptics_TouchPad" { +# dwt enabled +# tap enabled +# natural_scroll enabled +# middle_emulation enabled +# } +# +# You can get the names of your inputs by running: swaymsg -t get_inputs +# Read `man 5 sway-input` for more information about this section. +# This keyboard has this layout on all machines: + +input 5426:133:Razer_Razer_Basilisk_V2 { + accel_profile flat + pointer_accel -0.5 +} + + +input type:touchpad { + dwt enabled + tap enabled + tap_button_map lmr + natural_scroll enabled +} + +#input type:keyboard { +# xkb_layout gb +# xkb_variant colemak +# xkb_options ctrl:nocaps +#} + +input 65261:4871:TMK/Cub_Ergodox { + xkb_layout gb + xkb_options compose:prsc +} + +input 1241:36:HOLDCHIP_USB_Keyboard { + xkb_layout us + xkb_variant colemak + xkb_options ctrl:nocaps +} diff --git a/home/dot_config/sway/config.d/outputs.tmpl b/home/dot_config/sway/config.d/outputs.tmpl new file mode 100644 index 0000000..c2ab7be --- /dev/null +++ b/home/dot_config/sway/config.d/outputs.tmpl @@ -0,0 +1,41 @@ +# vi: ft=swayconfig +# +output * bg $bg fill + +{{- if eq .chezmoi.hostname "baryte" }} + +output "Acer Technologies VG270U P 0x05217924" { + position 0 0 + scale 1 + adaptive_sync on +} + +output "Acer Technologies VG270U P 0x9392CFAC" { + position 2560 0 + scale 1 + adaptive_sync on +} + + +workspace 1 output "Acer Technologies VG270U P 0x05217924" +workspace 2 output "Acer Technologies VG270U P 0x9392CFAC" +{{- end }} + +{{- if eq .chezmoi.hostname "dubnium" }} + +output "Acer Technologies VG270U P 0x05217924" { + position 0 0 + scale 1 + adaptive_sync on +} + +output "Acer Technologies VG270U P 0x9392CFAC" { + position 2560 0 + scale 1 + adaptive_sync on +} + +workspace 1 output "Acer Technologies VG270U P 0x05217924" +workspace 2 output "Acer Technologies VG270U P 0x9392CFAC" + +{{- end }} diff --git a/home/dot_config/sway/config.d/style b/home/dot_config/sway/config.d/style new file mode 100644 index 0000000..f4cea01 --- /dev/null +++ b/home/dot_config/sway/config.d/style @@ -0,0 +1,37 @@ +# vi: ft=swayconfig +# +default_border pixel 2 +font pango:JetBrainsMono Regular 10 +smart_borders on +smart_gaps off + +# Slight gaps around windows +gaps inner 12 + +# Colors +set $black #000000 +set $black_super #555555 + +set $red #f92672 +set $red_super #dd4278 + +set $green #74e22e +set $green_super #9dc54b + +set $yellow #e6db74 +set $yellow_super #d1ca89 + +set $blue #66d9ef +set $blue_super #7accda + +set $magenta #ae81ff +set $magenta_super #b392ef + +set $cyan #00d9d9 +set $cyan_super #c8f0f0 + +set $white #f5deb3 +set $white_super #ffffff + +client.focused $black $yellow_super $black $black $black +client.focused_inactive $black $black_super $white $black $black diff --git a/home/dot_config/sway/config.d/swayfx b/home/dot_config/sway/config.d/swayfx new file mode 100644 index 0000000..c433b0d --- /dev/null +++ b/home/dot_config/sway/config.d/swayfx @@ -0,0 +1,19 @@ +# vi: ft=swayconfig + +blur enable +blur_xray disable +blur_passes 3 +blur_radius 3 + +shadows enable +shadows_on_csd enable +shadow_blur_radius 20 +smart_corner_radius enable +corner_radius 15 + +layer_effects "waybar" blur enable; shadows disable; corner_radius 15 +layer_effects "notifications" blur enable; corner_radius 12 +layer_effects "gtk-layer-shell" blur enable; shadows enable; corner_radius 13 +layer_effects "wofi" blur enable; shadows enable; corner_radius 13 + +titlebar_separator disable diff --git a/home/dot_config/sway/config.d/window_rules b/home/dot_config/sway/config.d/window_rules new file mode 100644 index 0000000..3ef2dde --- /dev/null +++ b/home/dot_config/sway/config.d/window_rules @@ -0,0 +1,6 @@ +# vi: ft=swayconfig + +for_window [class="zoom"] floating enable +for_window [class="zoom" title="Zoom Workplace - Licensed account"] floating disable + +for_window [app_id="firefox" title="Extension:*"] floating enable diff --git a/home/dot_config/sway/config.tmpl b/home/dot_config/sway/config.tmpl index bc11842..7ca6cb5 100644 --- a/home/dot_config/sway/config.tmpl +++ b/home/dot_config/sway/config.tmpl @@ -1,58 +1,3 @@ -# Sway fx -blur enable -blur_xray disable -blur_passes 3 -blur_radius 3 - -shadows enable -shadows_on_csd enable -shadow_blur_radius 20 -smart_corner_radius enable -corner_radius 15 - -layer_effects "waybar" blur enable; shadows disable; corner_radius 15 -layer_effects "gtk-layer-shell" blur enable; shadows enable; corner_radius 13 -layer_effects "wofi" blur enable; shadows enable; corner_radius 13 - -titlebar_separator disable - -default_border pixel 2 -font pango:JetBrainsMono Regular 10 -smart_borders on -smart_gaps off - -# Slight gaps around windows -gaps inner 12 - -# Colors -set $black #000000 -set $black_super #555555 - -set $red #f92672 -set $red_super #dd4278 - -set $green #74e22e -set $green_super #9dc54b - -set $yellow #e6db74 -set $yellow_super #d1ca89 - -set $blue #66d9ef -set $blue_super #7accda - -set $magenta #ae81ff -set $magenta_super #b392ef - -set $cyan #00d9d9 -set $cyan_super #c8f0f0 - -set $white #f5deb3 -set $white_super #ffffff - -client.focused $black $yellow_super $black $black $black -client.focused_inactive $black $black_super $white $black $black - - # Read `man 5 sway` for a complete reference. ### Variables @@ -70,289 +15,20 @@ set $term foot # Note: pass the final command to swaymsg so that the resulting window can be opened # on the original workspace that the command was run on. set $menu wofi --show drun --gtk-dark | xargs swaymsg exec -- +set $bg /usr/share/backgrounds/archlinux/wild.png include /etc/sway/config-vars.d/* - -### Output configuration -# -# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/) -set $bg /usr/share/backgrounds/archlinux/wild.png -output * bg $bg fill - - -### Idle configuration -exec swayidle -w - - -### Input configuration -# -# Example configuration: -# -# input "2:14:SynPS/2_Synaptics_TouchPad" { -# dwt enabled -# tap enabled -# natural_scroll enabled -# middle_emulation enabled -# } -# -# You can get the names of your inputs by running: swaymsg -t get_inputs -# Read `man 5 sway-input` for more information about this section. -# This keyboard has this layout on all machines: - -input 5426:133:Razer_Razer_Basilisk_V2 { - accel_profile flat - pointer_accel -0.5 -} - - -input type:touchpad { - dwt enabled - tap enabled - tap_button_map lmr - natural_scroll enabled -} - -#input type:keyboard { -# xkb_layout gb -# xkb_variant colemak -# xkb_options ctrl:nocaps -#} - -input 65261:4871:TMK/Cub_Ergodox { - xkb_layout gb - xkb_options compose:prsc -} - -input 1241:36:HOLDCHIP_USB_Keyboard { - xkb_layout us - xkb_variant colemak - xkb_options ctrl:nocaps -} - -### Key bindings -# -# Basics: -# - # Start a terminal - bindsym $mod+Return exec $term - - # Kill focused window - bindsym $mod+Shift+q kill - - # Start your launcher - bindsym $mod+d exec $menu - - # Drag floating windows by holding down $mod and left mouse button. - # Resize them with right mouse button + $mod. - # Despite the name, also works for non-floating windows. - - # Change normal to inverse to use left mouse button for resizing and right - # mouse button for dragging. - floating_modifier $mod normal - - # Reload the configuration file - bindsym $mod+Shift+c reload - - # Exit sway (logs you out of your Wayland session) - bindsym $mod+Shift+e exec ~/.config/sway/power-menu -# -# Moving around: -# - # Move your focus around - bindsym $mod+$left focus left - bindsym $mod+$down focus down - bindsym $mod+$up focus up - bindsym $mod+$right focus right - # Or use $mod+[up|down|left|right] - bindsym $mod+Left focus left - bindsym $mod+Down focus down - bindsym $mod+Up focus up - bindsym $mod+Right focus right - - # Move the focused window with the same, but add Shift - bindsym $mod+Shift+$left move left - bindsym $mod+Shift+$down move down - bindsym $mod+Shift+$up move up - bindsym $mod+Shift+$right move right - # Ditto, with arrow keys - bindsym $mod+Shift+Left move left - bindsym $mod+Shift+Down move down - bindsym $mod+Shift+Up move up - bindsym $mod+Shift+Right move right -# -# Workspaces: -# - # Switch to workspace - - bindsym $mod+0 workspace number 0 - - # Move focused container to workspace - bindsym $mod+Shift+0 move container to workspace number 0 - - bindsym $mod+1 workspace number 1 - - # Move focused container to workspace - bindsym $mod+Shift+1 move container to workspace number 1 - - bindsym $mod+2 workspace number 2 - - # Move focused container to workspace - bindsym $mod+Shift+2 move container to workspace number 2 - - bindsym $mod+3 workspace number 3 - - # Move focused container to workspace - bindsym $mod+Shift+3 move container to workspace number 3 - - bindsym $mod+4 workspace number 4 - - # Move focused container to workspace - bindsym $mod+Shift+4 move container to workspace number 4 - - bindsym $mod+5 workspace number 5 - - # Move focused container to workspace - bindsym $mod+Shift+5 move container to workspace number 5 - - bindsym $mod+6 workspace number 6 - - # Move focused container to workspace - bindsym $mod+Shift+6 move container to workspace number 6 - - bindsym $mod+7 workspace number 7 - - # Move focused container to workspace - bindsym $mod+Shift+7 move container to workspace number 7 - - bindsym $mod+8 workspace number 8 - - # Move focused container to workspace - bindsym $mod+Shift+8 move container to workspace number 8 - - bindsym $mod+9 workspace number 9 - - # Move focused container to workspace - bindsym $mod+Shift+9 move container to workspace number 9 - - -# -# Layout stuff: -# - # You can "split" the current object of your focus with - # $mod+b or $mod+v, for horizontal and vertical splits - # respectively. - bindsym $mod+b splith - bindsym $mod+v splitv - - # Switch the current container between different layout styles - bindsym $mod+s layout stacking - bindsym $mod+w layout tabbed - bindsym $mod+e layout toggle split - - # Make the current focus fullscreen - bindsym $mod+f fullscreen - - # Toggle the current focus between tiling and floating mode - bindsym $mod+Shift+space floating toggle - - # Swap focus between the tiling area and the floating area - bindsym $mod+space focus mode_toggle - - # Move focus to the parent container - bindsym $mod+a focus parent -# -# Scratchpad: -# - # Sway has a "scratchpad", which is a bag of holding for windows. - # You can send windows there and get them back later. - - # Move the currently focused window to the scratchpad - bindsym $mod+Shift+minus move scratchpad - - # Show the next scratchpad window or hide the focused scratchpad window. - # If there are multiple scratchpad windows, this command cycles through them. - bindsym $mod+minus scratchpad show -# -# Resizing containers: -# -mode "resize" { - # left will shrink the containers width - # right will grow the containers width - # up will shrink the containers height - # down will grow the containers height - bindsym $left resize shrink width 10px - bindsym $down resize grow height 10px - bindsym $up resize shrink height 10px - bindsym $right resize grow width 10px - - # Ditto, with arrow keys - bindsym Left resize shrink width 10px - bindsym Down resize grow height 10px - bindsym Up resize shrink height 10px - bindsym Right resize grow width 10px - - # Return to default mode - bindsym Return mode "default" - bindsym Escape mode "default" -} -bindsym $mod+r mode "resize" - -bindsym $mod+Alt+l exec swaylock - - +include ~/.config/sway/config.d/* include /etc/sway/config.d/* # host specific section bar { - id waybar swaybar_command waybar } -for_window [class="zoom"] floating enable -for_window [class="zoom" title="Zoom Workplace - Licensed account"] floating disable - -for_window [app_id="firefox" title="Extension:*"] floating enable - -exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway -exec_always fnott& - {{- if eq .chezmoi.hostname "baryte" }} -output "Acer Technologies VG270U P 0x05217924" { - position 0 0 - scale 1 - adaptive_sync on -} - -output "Acer Technologies VG270U P 0x9392CFAC" { - position 2560 0 - scale 1 - adaptive_sync on -} - - -workspace 1 output "Acer Technologies VG270U P 0x05217924" -workspace 2 output "Acer Technologies VG270U P 0x9392CFAC" - exec zoom& exec kanshi& {{- end }} -{{- if eq .chezmoi.hostname "dubnium" }} - -output "Acer Technologies VG270U P 0x05217924" { - position 0 0 - scale 1 - adaptive_sync on -} - -output "Acer Technologies VG270U P 0x9392CFAC" { - position 2560 0 - scale 1 - adaptive_sync on -} - -workspace 1 output "Acer Technologies VG270U P 0x05217924" -workspace 2 output "Acer Technologies VG270U P 0x9392CFAC" - -{{- end }}