summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config242
-rwxr-xr-xservices15
2 files changed, 257 insertions, 0 deletions
diff --git a/config b/config
new file mode 100644
index 0000000..31b4635
--- /dev/null
+++ b/config
@@ -0,0 +1,242 @@
+#
+# SWAY
+#
+
+# Requirements
+# swaybg wmenu foot waybar
+
+# Environment Fixes
+#exec export SWAYSOCK="$(ls /run/user/1000/sway-ipc.* | head -n 1)"
+exec dbus-update-activation-environment WAYLAND_DISPLAY DISPLAY XDG_CURRENT_DESKTOP=sway SWAYSOCK I3SOCK XCURSOR_SIZE XCURSOR_THEME
+
+# Variables
+set $mod Mod4
+
+set $up j
+set $down k
+set $left l
+set $right semicolon
+
+set $term foot
+set $menu wmenu-run
+
+set $igap 40
+set $ogap 40
+set $focuscol "#aaaaaa"
+set $inactcol "#444444"
+
+# Commands
+set $exit swaynag -t warning -m 'Exit Sway?' -B 'Exit Sway' 'swaymsg exit'
+
+set $audio_play exec playerctl play-pause
+set $audio_next exec playerctl next
+set $audio_prev exec playerctl previous
+
+set $volup exec wpctl set-volume --limit 1.0 @DEFAULT_SINK@ 5%+
+set $voldown exec wpctl set-volume @DEFAULT_SINK@ 5%-
+set $mute exec wpctl set-mute @DEFAULT_SINK@ toggle
+set $mutemic exec wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
+
+# Wallpaper
+exec_always [ -f ~/.cache/wallpaper ] \
+|| cp /usr/share/backgrounds/sway/*_1920x1080.png ~/.cache/wallpaper
+
+exec_always [ -f ~/.cache/lockwallpaper ] \
+|| cp ~/.cache/wallpaper ~/.cache/lockwallpaper
+
+# Output
+output * bg ~/.cache/wallpaper fill #123456
+
+# Monitor 1
+output 'Microstep MAG274QRF-QD CA8A391600566' {
+ resolution 3840x2160@60Hz
+ scale 2
+ position 0 0
+}
+
+# Monitor 2
+output 'Samsung Electric Company SyncMaster H9XB215463' {
+ resolution 1920x1200@59.950Hz
+ transform 270
+ scale 1
+ # position must be x/2 and y/2 of monitor 1
+ position 1920 0
+}
+
+# Workspace assignment
+workspace 1 output DP-3
+workspace 0 output HDMI-A-1
+
+# Input
+seat * hide_cursor when-typing enable
+seat * xcursor_theme Adwaita 30
+
+input type:touchpad {
+ dwt enable
+ tap enable
+ natural_scroll disable
+ middle_emulation enable
+}
+
+input type:keyboard {
+ xkb_layout gb
+ xkb_options caps:ctrl_modifier
+}
+
+# Gaps
+gaps inner $igap
+gaps outer $ogap
+gaps horizontal 60
+gaps vertical 60
+
+# Borders
+smart_borders off
+default_border pixel 2
+client.focused $focuscol $focuscol #000000 $focuscol
+client.unfocused $inactcol $inactcol #000000 $inactcol
+client.focused_inactive $inactcol $inactcol #000000 $inactcol
+
+# Waybar
+bindsym $mod+b exec pkill -10 waybar
+
+# Actions
+bindsym $mod+q kill
+bindsym $mod+r reload
+bindsym $mod+Escape exit
+
+bindsym $mod+Return exec $term
+bindsym $mod+Space exec $menu
+bindsym $mod+Shift+e exec $exit
+bindsym $mod+i exec $term vim
+bindsym $mod+n exec makoctl dismiss
+bindsym $mod+u exec swayimg -g ~/images/wallpaper
+bindsym $mod+d exec swaymsg 'output "*" power toggle'
+
+# Layout
+bindsym $mod+h splith
+bindsym $mod+v splitv
+
+bindsym $mod+equal layout toggle stacking split
+bindsym $mod+t layout toggle tabbed split
+bindsym $mod+s layout toggle split
+bindsym $mod+f fullscreen
+bindsym $mod+m \
+ gaps inner current toggle $igap, \
+ gaps outer current toggle $ogap
+
+bindsym $mod+Tab floating toggle
+bindsym $mod+Control+Tab focus mode_toggle
+bindsym $mod+y sticky toggle
+
+bindsym $mod+Shift+Grave move scratchpad
+bindsym $mod+Grave scratchpad show
+
+# Gaps
+bindsym $mod+g gaps inner current toggle $igap, gaps outer current toggle $ogap
+bindsym $mod+Ctrl+g gaps inner current plus 10, gaps outer current plus 10
+bindsym $mod+Shift+g gaps inner current minus 10, gaps outer current minus 10
+bindsym $mod+Shift+Ctrl+g gaps inner all set $igap, gaps outer all set $ogap
+
+# Inner gaps
+bindsym $mod+Ctrl+i gaps inner current plus 10, gaps vertical current plus 10
+bindsym $mod+Shift+i gaps inner current minus 10, gaps vertical current minus 10
+bindsym $mod+Shift+Ctrl+i gaps inner all set $igap
+
+# Outer gaps
+bindsym $mod+Ctrl+o gaps outer current plus 10, gaps vertical current plus 10
+bindsym $mod+Shift+o gaps outer current minus 10, gaps vertical current minus 10
+bindsym $mod+Shift+Ctrl+o gaps outer all set $ogap
+
+# Focus
+bindsym $mod+$up focus up
+bindsym $mod+$down focus down
+bindsym $mod+$left focus left
+bindsym $mod+$right focus right
+bindsym $mod+a focus parent
+bindsym $mod+Ctrl+a focus child
+
+# Move window
+bindsym $mod+Shift+$up move up 20px
+bindsym $mod+Shift+$down move down 20px
+bindsym $mod+Shift+$left move left 20px
+bindsym $mod+Shift+$right move right 20px
+
+# Resize window
+bindsym $mod+Shift+Equal resize grow height 20px
+bindsym $mod+Shift+Minus resize shrink height 20px
+bindsym $mod+Control+Minus resize shrink width 20px
+bindsym $mod+Control+Equal resize grow width 20px
+
+bindsym $mod+z mode "resize"
+
+mode "resize" {
+ bindsym $up resize grow height 10px
+ bindsym $down resize shrink height 10px
+ bindsym $left resize shrink width 10px
+ bindsym $right resize grow width 10px
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+}
+
+# Workspace
+bindsym $mod+1 workspace number 1
+bindsym $mod+2 workspace number 2
+bindsym $mod+3 workspace number 3
+bindsym $mod+4 workspace number 4
+bindsym $mod+5 workspace number 5
+bindsym $mod+6 workspace number 6
+bindsym $mod+7 workspace number 7
+bindsym $mod+8 workspace number 8
+bindsym $mod+9 workspace number 9
+bindsym $mod+0 workspace number 0
+
+# Move window to workspace
+bindsym $mod+Shift+1 move container to workspace number 1
+bindsym $mod+Shift+2 move container to workspace number 2
+bindsym $mod+Shift+3 move container to workspace number 3
+bindsym $mod+Shift+4 move container to workspace number 4
+bindsym $mod+Shift+5 move container to workspace number 5
+bindsym $mod+Shift+6 move container to workspace number 6
+bindsym $mod+Shift+7 move container to workspace number 7
+bindsym $mod+Shift+8 move container to workspace number 8
+bindsym $mod+Shift+9 move container to workspace number 9
+bindsym $mod+Shift+0 move container to workspace number 0
+
+# Function
+bindsym --locked XF86AudioRaiseVolume $volup
+bindsym --locked XF86AudioLowerVolume $voldown
+bindsym --locked XF86AudioMute $mute
+bindsym --locked XF86AudioMicMute $mutemic
+
+bindsym --locked XF86AudioPlay $audio_play
+bindsym --locked XF86AudioNext $audio_next
+bindsym --locked XF86AudioPrev $audio_prev
+
+#bindsym --locked XF86MonBrightnessUp exec brightnessctl -s set +10%
+#bindsym --locked XF86MonBrightnessDown exec brightnessctl -s -n10 set 10%-
+
+# Window Rules
+# Float all, manually disable floating for windows
+#for_window [title="."] floating enable
+#for_window [app_id="$term"] floating disable
+#for_window [app_id="firefox|librewolf"] floating disable
+for_window [title="Save Image"] float enable
+
+# Picture-in-picture window
+for_window [title="Picture-in-Picture"] \
+ floating enable, \
+ sticky enable, \
+ move position 1470 750, \
+ border none
+
+# Don't lock the screen if program is running in fullscreen
+for_window [app_id="^.*"] inhibit_idle fullscreen
+
+# Start-up apps
+assign [app_id=$term title="btop|log"] "0"
+exec $term -Tbtop btop
+exec $term -Tlog tail -f /var/log/messages
+
+# Services
+exec ~/.config/sway/services
+
diff --git a/services b/services
new file mode 100755
index 0000000..ce1866a
--- /dev/null
+++ b/services
@@ -0,0 +1,15 @@
+#!/bin/sh
+distro="$(sed '/NAME/q' /etc/os-release | cut -d'"' -f2)"
+
+if command -v rc-service >/dev/null 2>&1; then
+ # run openrc user services
+ openrc -U gui
+else
+ # run user services manually
+ pipewire&
+ pipewire-pulse&
+ wireplumber&
+ mako&
+ wlsunset -l 51.5 -L -0.1 -t 2800 -T 6000&
+ waybar&
+fi