diff --git a/home/user/.config/sway/autostart.conf b/home/user/.config/sway/autostart.conf new file mode 100644 index 0000000..84b8df1 --- /dev/null +++ b/home/user/.config/sway/autostart.conf @@ -0,0 +1,11 @@ +# vim: ft=swayconfig +# Sway autostart + +exec swayidle -w \ + timeout 1800 'swaylock -f' \ + timeout 1805 'swaymsg "output * power off"' \ + resume 'swaymsg "output * power on"' + +# Notifications +#systemctl --user enable --now dbus.service +exec --no-startup-id dunst diff --git a/home/user/.config/sway/bindings.conf b/home/user/.config/sway/bindings.conf new file mode 100644 index 0000000..2c5d65c --- /dev/null +++ b/home/user/.config/sway/bindings.conf @@ -0,0 +1,205 @@ +# vim: ft=swayconfig +# Sway bindings + +set $mod Mod4 + +bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +10% +bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -10% +bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle + +bindsym XF86AudioPlay exec playerctl play-pause +bindsym XF86AudioPause exec playerctl play-pause +bindsym XF86AudioNext exec playerctl next +bindsym XF86AudioPrev exec playerctl previous + +bindsym XF86MonBrightnessUp exec xbacklight -inc 20 +bindsym XF86MonBrightnessDown exec xbacklight -dec 20 + + +# bindsym $mod+p exec pomodoro toggle + +bindsym $mod+z exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ 0 ## Hold to talk +bindsym --release $mod+z exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ 1 ## Release to mute + +bindsym $mod+Shift+z exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle +bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle + +bindsym XF86PickupPhone exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ 0 ## Hold to talk +bindsym --release XF86PickupPhone exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ 1 ## Release to mute + +bindsym XF86Go exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ 0 ## Hold to talk, x1carb11 +bindsym --release XF86Go exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ 1 ## Release to mute, x1carb11 + + +bindsym $mod+XF86AudioMicMute exec --no-startup-id pactl list short sources | awk '/input.*RUNNING/ {system("pactl set-source-mute " $1 " toggle")}' ## Find and mute mics + +bindsym $mod+Return exec alacritty + +bindsym --to-code $mod+Shift+q kill +bindsym --to-code $mod+Shift+r reload + +set $menu rofi -show drun -m -1 +bindsym --to-code $mod+d exec $menu +# bindsym $mod+i exec --no-startup-id i3_switch_workspace.sh +# bindsym $mod+o exec --no-startup-id slm_rofi.sh + +# Change focus +bindsym --to-code $mod+h focus left +bindsym --to-code $mod+j focus down +bindsym --to-code $mod+k focus up +bindsym --to-code $mod+l focus right +bindsym --to-code $mod+Left focus left +bindsym --to-code $mod+Down focus down +bindsym --to-code $mod+Up focus up +bindsym --to-code $mod+Right focus right + +# Move focused window +bindsym --to-code $mod+Shift+h move left +bindsym --to-code $mod+Shift+j move down +bindsym --to-code $mod+Shift+k move up +bindsym --to-code $mod+Shift+l move right +bindsym --to-code $mod+Shift+Left move left +bindsym --to-code $mod+Shift+Down move down +bindsym --to-code $mod+Shift+Up move up +bindsym --to-code $mod+Shift+Right move right + + +bindsym --to-code $mod+Ctrl+Shift+l move workspace to output right +bindsym --to-code $mod+Ctrl+Shift+h move workspace to output left +bindsym --to-code $mod+Ctrl+Shift+k move workspace to output up +bindsym --to-code $mod+Ctrl+Shift+j move workspace to output down + + +bindsym --to-code $mod+f fullscreen toggle + +bindsym --to-code $mod+t layout tabbed +bindsym --to-code $mod+v layout toggle split +bindsym --to-code $mod+a focus parent + +bindsym --to-code $mod+Shift+slash floating toggle +bindsym --to-code $mod+Shift+comma sticky toggle + +bindsym --to-code Print exec --no-startup-id screenshot select copy +bindsym --to-code $mod+Print exec --no-startup-id screenshot window copy +bindsym --to-code Ctrl+Print exec --no-startup-id screenshot entire copy + +bindsym --to-code Shift+Print exec --no-startup-id screenshot select save +bindsym --to-code Shift+$mod+Print exec --no-startup-id screenshot window save +bindsym --to-code Shift+Ctrl+Print exec --no-startup-id screenshot entire save + +# bindsym $mod+s exec --no-startup-id i3_swap_workspaces + + +bindsym --to-code $mod+q exec --no-startup-id i3-msg workspace hide1; workspace hide2 + + +set $exitmode "Power: [e]xit, [r]eboot, [s]hutdown, s[u]spend, [l]ock, [b]lack" +mode $exitmode { + bindsym --to-code e exit + bindsym --to-code r exec reboot + bindsym --to-code s exec shutdown -h now + bindsym --to-code u exec systemctl suspend; mode "default" + bindsym --to-code l exec $i3lock_cmd; mode "default" + bindsym --to-code b exec magick canvas:none PNG:- | feh -YFx -; mode "default" + + bindsym Escape mode "default" + bindsym Return mode "default" +} +bindsym --to-code $mod+x mode $exitmode + + +set $ws1 "1 Browser" +set $ws2 "2  Code" +set $ws3 "3  Code" +set $ws4 "4" +set $ws5 "5" +set $ws6 "6" +set $ws7 "7" +set $ws8 "8💬Social" +set $ws9 "9🎵Music" +set $ws10 "10🍿Media" + +workspace $ws1 output DP-1 +workspace $ws2 output DP-1 +workspace $ws3 output DP-1 +workspace $ws9 output HDMI-A-1 +workspace $ws10 output HDMI-A-1 + +workspace hide1 output DP-1 +workspace hide2 output HDMI-A-1 + + +# switch to workspace +bindsym --to-code $mod+1 workspace number $ws1 +bindsym --to-code $mod+2 workspace number $ws2 +bindsym --to-code $mod+3 workspace number $ws3 +bindsym --to-code $mod+4 workspace number $ws4 +bindsym --to-code $mod+5 workspace number $ws5 +bindsym --to-code $mod+6 workspace number $ws6 +bindsym --to-code $mod+7 workspace number $ws7 +bindsym --to-code $mod+8 workspace number $ws8 +bindsym --to-code $mod+9 workspace number $ws9 +bindsym --to-code $mod+0 workspace number $ws10 + +# move focused container to workspace +bindsym --to-code $mod+Shift+1 move container to workspace number $ws1 +bindsym --to-code $mod+Shift+2 move container to workspace number $ws2 +bindsym --to-code $mod+Shift+3 move container to workspace number $ws3 +bindsym --to-code $mod+Shift+4 move container to workspace number $ws4 +bindsym --to-code $mod+Shift+5 move container to workspace number $ws5 +bindsym --to-code $mod+Shift+6 move container to workspace number $ws6 +bindsym --to-code $mod+Shift+7 move container to workspace number $ws7 +bindsym --to-code $mod+Shift+8 move container to workspace number $ws8 +bindsym --to-code $mod+Shift+9 move container to workspace number $ws9 +bindsym --to-code $mod+Shift+0 move container to workspace number $ws10 + +bindsym --to-code $mod+u workspace prev +bindsym --to-code $mod+Shift+u workspace next + +# workspace_auto_back_and_forth no +bindsym --to-code $mod+Tab workspace back_and_forth + +# resize window (you can also use the mouse for that) +mode "resize" { + bindsym --to-code h resize shrink width 10 px or 10 ppt + bindsym --to-code j resize grow height 10 px or 10 ppt + bindsym --to-code k resize shrink height 10 px or 10 ppt + bindsym --to-code l resize grow width 10 px or 10 ppt + + bindsym --to-code $mod+r mode "default" + bindsym --to-code p mode "resize_precise" + + bindsym --to-code Return mode "default" + bindsym --to-code Escape mode "default" +} +mode "resize_precise" { + bindsym --to-code h resize shrink width 1 px or 1 ppt + bindsym --to-code j resize grow height 1 px or 1 ppt + bindsym --to-code k resize shrink height 1 px or 1 ppt + bindsym --to-code l resize grow width 1 px or 1 ppt + + bindsym --to-code $mod+r mode "default" + bindsym --to-code p mode "resize" + + bindsym --to-code Return mode "default" + bindsym --to-code Escape mode "default" +} +bindsym --to-code $mod+r mode "resize" + + +# Change focus between tiling / floating windows +bindsym --to-code $mod+slash focus mode_toggle + +input type:keyboard { + xkb_layout us,ru + xkb_options grp:win_space_toggle +} + +input * { + xkb_layout "us,ru" + xkb_options "grp:win_space_toggle" + xkb_options caps:ctrl_modifier + xkb_model "pc101" + repeat_delay 250 + repeat_rate 100 +} diff --git a/home/user/.config/sway/config b/home/user/.config/sway/config index dc78bc2..1870b33 100644 --- a/home/user/.config/sway/config +++ b/home/user/.config/sway/config @@ -1,240 +1,4 @@ -set $mod Mod4 - - -set $ws1 "1 Browser" -set $ws2 "2  Code" -set $ws3 "3  Code" -set $ws4 "4" -set $ws5 "5" -set $ws6 "6" -set $ws7 "7" -set $ws8 "8💬Social" -set $ws9 "9🎵Music" -set $ws10 "10🍿Media" - -workspace $ws1 output DP-1 -workspace $ws2 output DP-1 -workspace $ws3 output DP-1 -workspace $ws9 output HDMI-A-1 -workspace $ws10 output HDMI-A-1 - -workspace hide1 output DP-1 -workspace hide2 output HDMI-A-1 - - - -# Hide cursor -seat seat0 hide_cursor 300 - - -input * { - xkb_layout "us,ru" - xkb_options "grp:win_space_toggle" - xkb_options caps:ctrl_modifier - xkb_model "pc101" - repeat_delay 250 - repeat_rate 100 -} - - -set $font_size 11 -font xft:FiraCode $font_size - -floating_modifier $mod - -focus_follows_mouse no -mouse_warping none -popup_during_fullscreen smart -smart_borders on - -# kill focused window -for_window [tiling] border pixel 3 -for_window [title="Picture-in-Picture"] sticky enable -for_window [title="Picture-in-Picture"] border pixel 0 - - -no_focus [title="^Peek preview$"] -no_focus [class="feh"] - - -bar { - position bottom - status_command i3blocks -} - - - -# Bindings -bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +10% -bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -10% -bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle - -bindsym XF86AudioPlay exec playerctl play-pause -bindsym XF86AudioPause exec playerctl play-pause -bindsym XF86AudioNext exec playerctl next -bindsym XF86AudioPrev exec playerctl previous - -bindsym XF86MonBrightnessUp exec xbacklight -inc 20 -bindsym XF86MonBrightnessDown exec xbacklight -dec 20 - - -# bindsym $mod+p exec pomodoro toggle - -bindsym $mod+z exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ 0 ## Hold to talk -bindsym --release $mod+z exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ 1 ## Release to mute - -bindsym $mod+Shift+z exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle -bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle - -bindsym XF86PickupPhone exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ 0 ## Hold to talk -bindsym --release XF86PickupPhone exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ 1 ## Release to mute - -bindsym XF86Go exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ 0 ## Hold to talk, x1carb11 -bindsym --release XF86Go exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ 1 ## Release to mute, x1carb11 - - -bindsym $mod+XF86AudioMicMute exec --no-startup-id pactl list short sources | awk '/input.*RUNNING/ {system("pactl set-source-mute " $1 " toggle")}' ## Find and mute mics - -bindsym $mod+Return exec alacritty - -bindsym $mod+Shift+q kill -bindsym $mod+Shift+r reload - -set $menu rofi -show drun -m -1 -bindsym --to-code $mod+d exec $menu -# bindsym $mod+i exec --no-startup-id i3_switch_workspace.sh -# bindsym $mod+o exec --no-startup-id slm_rofi.sh - -# Change focus -bindsym $mod+h focus left -bindsym $mod+j focus down -bindsym $mod+k focus up -bindsym $mod+l focus right -bindsym $mod+Left focus left -bindsym $mod+Down focus down -bindsym $mod+Up focus up -bindsym $mod+Right 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 -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+Ctrl+Shift+l move workspace to output right -bindsym $mod+Ctrl+Shift+h move workspace to output left -bindsym $mod+Ctrl+Shift+k move workspace to output up -bindsym $mod+Ctrl+Shift+j move workspace to output down - - -bindsym $mod+f fullscreen toggle - -bindsym $mod+t layout tabbed -bindsym $mod+v layout toggle split -bindsym $mod+a focus parent - -bindsym $mod+Shift+slash floating toggle -bindsym $mod+Shift+comma sticky toggle - -bindsym Print exec --no-startup-id screenshot select copy -bindsym $mod+Print exec --no-startup-id screenshot window copy -bindsym Ctrl+Print exec --no-startup-id screenshot entire copy - -bindsym Shift+Print exec --no-startup-id screenshot select save -bindsym Shift+$mod+Print exec --no-startup-id screenshot window save -bindsym Shift+Ctrl+Print exec --no-startup-id screenshot entire save - -# bindsym $mod+s exec --no-startup-id i3_swap_workspaces - - -bindsym $mod+q exec --no-startup-id i3-msg workspace hide1; workspace hide2 - - -set $exitmode "Power: [e]xit, [r]eboot, [s]hutdown, s[u]spend, [l]ock, [b]lack" -mode $exitmode { - bindsym e exit - bindsym r exec reboot - bindsym s exec shutdown -h now - bindsym u exec systemctl suspend; mode "default" - bindsym l exec $i3lock_cmd; mode "default" - bindsym b exec magick canvas:none PNG:- | feh -YFx -; mode "default" - - bindsym Escape mode "default" - bindsym Return mode "default" -} -bindsym $mod+x mode $exitmode - - -# switch to workspace -bindsym $mod+1 workspace number $ws1 -bindsym $mod+2 workspace number $ws2 -bindsym $mod+3 workspace number $ws3 -bindsym $mod+4 workspace number $ws4 -bindsym $mod+5 workspace number $ws5 -bindsym $mod+6 workspace number $ws6 -bindsym $mod+7 workspace number $ws7 -bindsym $mod+8 workspace number $ws8 -bindsym $mod+9 workspace number $ws9 -bindsym $mod+0 workspace number $ws10 - -# move focused container to workspace -bindsym $mod+Shift+1 move container to workspace number $ws1 -bindsym $mod+Shift+2 move container to workspace number $ws2 -bindsym $mod+Shift+3 move container to workspace number $ws3 -bindsym $mod+Shift+4 move container to workspace number $ws4 -bindsym $mod+Shift+5 move container to workspace number $ws5 -bindsym $mod+Shift+6 move container to workspace number $ws6 -bindsym $mod+Shift+7 move container to workspace number $ws7 -bindsym $mod+Shift+8 move container to workspace number $ws8 -bindsym $mod+Shift+9 move container to workspace number $ws9 -bindsym $mod+Shift+0 move container to workspace number $ws10 - -bindsym $mod+u workspace prev -bindsym $mod+Shift+u workspace next - -# workspace_auto_back_and_forth no -bindsym $mod+Tab workspace back_and_forth - -# resize window (you can also use the mouse for that) -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 $mod+r mode "default" - bindsym p mode "resize_precise" - - bindsym Return mode "default" - bindsym Escape mode "default" -} -mode "resize_precise" { - bindsym h resize shrink width 1 px or 1 ppt - bindsym j resize grow height 1 px or 1 ppt - bindsym k resize shrink height 1 px or 1 ppt - bindsym l resize grow width 1 px or 1 ppt - - bindsym $mod+r mode "default" - bindsym p mode "resize" - - bindsym Return mode "default" - bindsym Escape mode "default" -} - - -# Change focus between tiling / floating windows -bindsym $mod+slash focus mode_toggle - - - - - +# Sway config sourcer @@ -242,20 +6,6 @@ bindsym $mod+slash focus mode_toggle # exec --no-startup-id ~/.screenlayout/default -exec swayidle -w \ - timeout 1800 'swaylock -f' \ - timeout 1805 'swaymsg "output * power off"' \ - resume 'swaymsg "output * power on"' - - -# Notifications -#systemctl --user enable --now dbus.service -exec --no-startup-id dunst - - - - - # Wallpapers # exec --no-startup-id nitrogen --restore; sleep 1; picom -b --config ~/.config/picom/picom.conf @@ -263,6 +13,8 @@ exec --no-startup-id dunst # exec --no-startup-id feh --randomize --no-fehbg --bg-scale $HOME/.wallpaper/* - +include ~/.config/sway/bindings.conf +include ~/.config/sway/autostart.conf +include ~/.config/sway/other.conf include ~/.config/sway/config.d/*.conf diff --git a/home/user/.config/sway/config.d/.gitkeep b/home/user/.config/sway/config.d/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/home/user/.config/sway/other.conf b/home/user/.config/sway/other.conf new file mode 100644 index 0000000..d62ae6f --- /dev/null +++ b/home/user/.config/sway/other.conf @@ -0,0 +1,31 @@ +# vim: ft=swayconfig +# Other sway config + +# Hide cursor +seat seat0 hide_cursor 300 + + +set $font_size 11 +font xft:FiraCode $font_size + +floating_modifier $mod + +focus_follows_mouse no +mouse_warping none +popup_during_fullscreen smart +smart_borders on + +# kill focused window +for_window [tiling] border pixel 3 +for_window [title="Picture-in-Picture"] sticky enable +for_window [title="Picture-in-Picture"] border pixel 0 + + +no_focus [title="^Peek preview$"] +no_focus [class="feh"] + + +bar { + position bottom + status_command i3blocks +}