diff --git a/.config/sway/config b/.config/sway/config new file mode 100644 index 0000000..df60204 --- /dev/null +++ b/.config/sway/config @@ -0,0 +1,155 @@ +# Set variables +include "$HOME/.cache/wal/colors-sway" +set $mod Mod4 +set $left h +set $down j +set $up k +set $right l +set $term kitty +set $launcher bemenu-run -i -l 8 -H 30 -m 1 -f -p "Run:" -P ">>"\ + --nb="$color0" --nf="$color1" --hb="$color1" --hf="$color0" --tb="$color0" --tf="$color4" \ + --ff="$color5" --fb="$color0" +set $launcher dmenu-wl_run -i -b -p Run -h 30 -nb "$color0" -nf "$color1" -sb "$color1" -sf "$color0" -m "$scr_bige" + +# Input/output configuration +output * bg $color0 solid_color +output * bg $wallpaper fill +exec wal -c +exec wal -i $wallpaper +exec autotiling + +include display +include input + +floating_modifier Mod1 + +# Window settings and layout +for_window [class=".*"] border pixel 3 +for_window [app_id=".*"] border pixel 3 +for_window [app_id="$term"] opacity 0.9 +gaps inner 25 +gaps outer 0 +mouse_warping none +focus_follows_mouse no + +# Idle +exec swayidle -w timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' + +# Status Bar +bar { + swaybar_command waybar +} + +# Notification daemon +exec_always ~/.config/mako/launch.sh + +# Automounting +exec udiskie + +# Window border colors. Transparent borders on unfocused windows +client.focused $color0 $color0 $color0 $color4 $color4 +client.focused_inactive #00000000 #00000000 #00000000 #00000000 + +# Wallpaper script +include wallpaper + +# General bindings +bindsym $mod+Return exec $term +bindsym $mod+q kill +bindsym $mod+d exec $launcher +bindsym $mod+Ctrl+d exec $launcher +bindsym $mod+Shift+c reload +bindsym $mod+f fullscreen +bindsym $mod+v exec ~/.scripts/record +bindsym $mod+a focus parent +bindsym $mod+Shift+space floating toggle +bindsym $mod+space focus mode_toggle +bindsym $mod+minus scratchpad show +bindsym $mod+Shift+minus move scratchpad +bindsym $mod+dead_grave scratchpad show +bindsym $mod+Shift+dead_grave move scratchpad +bindsym $mod+s gaps inner current plus 5 +bindsym $mod+Shift+s gaps inner current minus 5 +bindsym $mod+Ctrl+s gaps outer current plus 5 +bindsym $mod+Ctrl+Shift+s gaps outer current minus 5 +bindsym $mod+Shift+backspace exec wlogout + +# Application bindings +bindsym $mod+Shift+w exec firefox +bindsym $mod+Shift+Ctrl+w exec firefox -P Shinobi +bindsym $mod+e exec $term ranger +bindsym $mod+Shift+e exec steam +bindsym $mod+Shift+a exec $term -e pulsemixer +bindsym $mod+i exec $term -e htop --user mark +bindsym $mod+Shift+d exec lightcord --no-sandbox +bindsym $mod+Shift+m exec $term -e ncmpcpp +bindsym $mod+p exec pass clip -r +bindsym $mod+Shift+p exec grim -g "$(slurp -p)" -t ppm - | convert - -format '%[pixel:p{0,0}]' txt:- | tail -1 | grep '#' | awk '{print $3}' | wl-copy +bindsym $mod+Shift+t exec teams +bindsym $mod+b exec $term -e xfreerdp ~/workspace/bonusan/bonusan.rdp /gateway-usage-method:direct + +# Screenshotting +bindsym Print exec grim -g "$(slurp)" - | wl-copy +bindsym Ctrl+Print exec grim -g "$(slurp)" ~/screenshot.png +bindsym Shift+Ctrl+Print exec grim ~/screenshot.png +bindsym Shift+Print exec grim -g "$(slurp)" - | swappy -f - + +# Moving around +bindsym $mod+$left focus left +bindsym $mod+$down focus down +bindsym $mod+$up focus up +bindsym $mod+$right focus right +bindsym $mod+Shift+$left move left +bindsym $mod+Shift+$down move down +bindsym $mod+Shift+$up move up +bindsym $mod+Shift+$right move right +bindsym $mod+g focus output left +bindsym $mod+semicolon focus output right +bindsym $mod+Shift+g move workspace to output left +bindsym $mod+Shift+semicolon move workspace to output right + +# Workspaces: +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 + +bindsym $mod+1 workspace $ws1 +bindsym $mod+2 workspace $ws2 +bindsym $mod+3 workspace $ws3 +bindsym $mod+4 workspace $ws4 +bindsym $mod+5 workspace $ws5 +bindsym $mod+6 workspace $ws6 +bindsym $mod+7 workspace $ws7 +bindsym $mod+8 workspace $ws8 +bindsym $mod+9 workspace $ws9 +bindsym $mod+0 workspace $ws10 +bindsym $mod+Shift+1 move container to workspace $ws1 +bindsym $mod+Shift+2 move container to workspace $ws2 +bindsym $mod+Shift+3 move container to workspace $ws3 +bindsym $mod+Shift+4 move container to workspace $ws4 +bindsym $mod+Shift+5 move container to workspace $ws5 +bindsym $mod+Shift+6 move container to workspace $ws6 +bindsym $mod+Shift+7 move container to workspace $ws7 +bindsym $mod+Shift+8 move container to workspace $ws8 +bindsym $mod+Shift+9 move container to workspace $ws9 +bindsym $mod+Shift+0 move container to workspace $ws10 + +# App fixes +assign [class="discord"] $ws3 +assign [class="lightcord"] $ws3 +for_window [class="discord"] move workspace $ws3 +for_window [class="lightcord"] move workspace $ws3 +assign [class="Steam"] $ws4 +for_window [class="Steam"] move workspace $ws4 +for_window [title="Firefox — Sharing Indicator"] floating enable +for_window [title="Firefox — Sharing Indicator"] nofocus + + +include /etc/sway/config.d/* diff --git a/.config/sway/display b/.config/sway/display new file mode 100644 index 0000000..d81389c --- /dev/null +++ b/.config/sway/display @@ -0,0 +1,15 @@ +set $scr_smol DP-2 +set $scr_bige DP-1 + +output $scr_bige resolution 3840x2160 position 0 0 +output $scr_bige scale 1.5 +output $scr_smol mode --custom 1920x1080 position 2560 0 +output $scr_smol adaptive_sync on + +# Bind workspaces to output +workspace $ws3 output $scr_smol +workspace $ws2 output $scr_bige +workspace $ws1 output $scr_bige +workspace $ws4 output $scr_bige +workspace $ws9 output $scr_bige +workspace $ws10 output $scr_smol diff --git a/.config/sway/input b/.config/sway/input new file mode 100644 index 0000000..5db6f7b --- /dev/null +++ b/.config/sway/input @@ -0,0 +1,6 @@ +input * { + xkb_layout "us" + xkb_variant "intl" + xkb_options caps:escape + xkb_numlock enable +}