# Sway config file # configure keyboard input * xkb_layout "fr" input * xkb_variant "oss" input * xkb_options "grp:win_space_toggle" input * xkb_numlock "enabled" input "MANUFACTURER1 Keyboard" xkb_model "pc101" # configure touchpad input type:touchpad dwt disabled input type:touchpad click_method clickfinger # mod key set $mod Mod4 # fonts font pango: "{{ font }}"{% for i in font_icon %}, "{{ i }}"{% endfor %} 10 # gaps default_border none hide_edge_borders --i3 both smart_borders off smart_gaps on gaps inner 4 gaps outer -4 # start a terminal bindsym $mod+Return exec wezterm # start wofi bindsym $mod+Shift+d exec --no-startup-id wofi --show run -p "shell:" -L10 bindsym $mod+d exec --no-startup-id wofi --show drun -p "app:" -L 10 bindsym $mod+s exec --no-startup-id gopass ls --flat | wofi --dmenu -p "password:" -L 10 | xargs --no-run-if-empty gopass show -c bindsym $mod+Shift+s exec --no-startup-id gopass ls --flat web | wofi --dmenu -p "password:" -L 10 | xargs --no-run-if-empty gopass totp -c # Use Mouse+$mod to drag floating windows to their wanted position floating_modifier $mod # kill focused window bindsym $mod+Shift+a kill # change focus bindsym $mod+j focus left bindsym $mod+k focus down bindsym $mod+l focus up bindsym $mod+m focus right # alternatively, you can use the cursor keys: 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+j move left bindsym $mod+Shift+k move down bindsym $mod+Shift+l move up bindsym $mod+Shift+m move right # alternatively, you can use the cursor 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 # split in horizontal orientation bindsym $mod+h split h # split in vertical orientation bindsym $mod+v split v # enter fullscreen mode for the focused container bindsym $mod+f fullscreen toggle # change container layout (stacked, tabbed, toggle split) #bindsym $mod+s layout stacking bindsym $mod+z layout tabbed bindsym $mod+e layout toggle split # toggle tiling / floating bindsym $mod+Shift+space floating toggle # change focus between tiling / floating windows #bindsym $mod+space focus mode_toggle # focus the parent container bindsym $mod+q focus parent # focus the child container #bindsym $mod+d focus child #scratchpad bindsym $mod+twosuperior scratchpad show bindsym $mod+Shift+twosuperior move scratchpad #Swith with same key to precedent workspace workspace_auto_back_and_forth yes # set workspace names set $tag1 "1:" set $tag2 "2:" set $tag3 "3:" set $tag4 "4:" set $tag5 "5:" set $tag6 "6:" set $tag7 "7:" set $tag8 "8:" set $tag9 "9:" set $tag10 "10:" #colors # class border backgr. text indicator child_border client.focused #222222 #5A5A5A #E1E1E1 #000000 #000000 client.focused_inactive #222222 #5A5A5A #E1E1E1 #484e50 #000000 client.unfocused #222222 #323232 #888888 #292d2e #222222 client.urgent #2f343a #900000 #ffffff #900000 #900000 client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c #rofi_power menu bindsym $mod+Shift+q exec ~/.config/wofi/powermenu.sh #grimshot bindsym Shift+Print exec grimshot save area /home/user/img/screenshots/$(zenity --entry --text "Set filename:" --entry-text ".png") | wl-copy -p bindsym Control+Print exec grimshot save window /home/user/img/screenshots/$(zenity --entry --text "Set filename:" --entry-text ".png") | wl-copy -p bindsym Print exec grimshot save output /home/user/img/screenshots/$(zenity --entry --text "Set filename:" --entry-text ".png") | wl-copy -p # variety bindsym $mod+less exec variety --next # apps bindsym $mod+Control+z exec zim bindsym $mod+Control+t exec nemo bindsym $mod+Control+p exec pavucontrol bindsym $mod+Control+b exec blueman-manager bindsym $mod+Control+w exec iwgtk # bindsym spotify bindsym $mod+Control+left exec playerctl -p spotify previous bindsym $mod+Control+down exec playerctl -p spotify play-pause bindsym $mod+Control+right exec playerctl -p spotify next # switch to workspace bindsym $mod+ampersand workspace $tag1 bindsym $mod+eacute workspace $tag2 bindsym $mod+quotedbl workspace $tag3 bindsym $mod+apostrophe workspace $tag4 bindsym $mod+parenleft workspace $tag5 bindsym $mod+minus workspace $tag6 bindsym $mod+egrave workspace $tag7 bindsym $mod+underscore workspace $tag8 bindsym $mod+ccedilla workspace $tag9 bindsym $mod+agrave workspace $tag10 # move focused container to workspace bindsym $mod+Shift+ampersand move container to workspace $tag1 bindsym $mod+Shift+eacute move container to workspace $tag2 bindsym $mod+Shift+quotedbl move container to workspace $tag3 bindsym $mod+Shift+apostrophe move container to workspace $tag4 bindsym $mod+Shift+parenleft move container to workspace $tag5 bindsym $mod+Shift+minus move container to workspace $tag6 bindsym $mod+Shift+egrave move container to workspace $tag7 bindsym $mod+Shift+underscore move container to workspace $tag8 bindsym $mod+Shift+ccedilla move container to workspace $tag9 bindsym $mod+Shift+agrave move container to workspace $tag10 # floatings for_window [title="Images de Variety"] floating enable, border pixel 1, move left 647px for_window [app_id="zenity"] floating enable # assign and focus xwayland assign [class="Spotify"] $tag6 for_window [class="Spotify"] focus assign [class="code-oss"] $tag8 for_window [class="code-oss"] focus assign [class="gimp"] $tag8 for_window [class="gimp"] focus # assign and focus wayland assign [app_id="evolution"] $tag3 for_window [app_id="evolution"] focus assign [app_id="virt-manager"] $tag8 for_window [app_id="virt-manager"] focus assign [app_id="zim"] $tag8 for_window [app_id="zim"] focus assign [app_id="transmission-gtk"] $tag9 for_window [app_id="transmission-gtk"] focus assign [app_id="pavucontrol"] $tag10 for_window [app_id="pavucontrol"] focus assign [app_id="iwgtk"] $tag10 for_window [app_id="iwgtk"] focus for_window [title="Firefox - Indicateur de partage"] floating enable # move workspace between screens bindsym $mod+Prior move workspace to output left bindsym $mod+Next move workspace to output right {% include 'hosts/sway/' + ansible_hostname + '/config.j2' ignore missing %} # exec background apps # irc client {% if ansible_distribution == "Archlinux" %} {% set senpai_bin = "senpai" %} {% else %} {% set senpai_bin = "senpai" %} {% endif %} # mako exec_always bash -c "pgrep -x mako || mako" # wlsunset #exec_always bash -c "pgrep -x wlsunset || wlsunset -l 43.6 -L 3.9" # xdg-desktop-portal-wlr {% if ansible_service_mgr == "systemd" %} exec systemctl --user import-environment DISPLAY WAYLAND_DISPLAY XDG_CURRENT_DESKTOP XDG_SESSION_TYPE XAUTHORITY exec source /etc/X11/xinit/xinitrc.d/50-systemd-user.sh {% else %} exec dbus-update-activation-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway {% endif %} # exec foreground apps # variery exec variety & # irc client exec swaymsg 'workspace $tag4; exec kitty bash -c "senpai"' # waybar exec exec_always ~/.config/waybar/waybar.sh & # wob exec exec mkfifo $SWAYSOCK.wob && tail -f $SWAYSOCK.wob | wob # mako away #exec swayidle timeout 30 "makoctl set-mode away" resume "makoctl set-mode default" # set gtk theme exec_always ~/.config/sway/import-gsettings # reload the configuration file bindsym $mod+Shift+r reload # resize window (you can also use the mouse for that) mode "resize" { bindsym j resize shrink width 10 px or 10 ppt bindsym k resize grow height 10 px or 10 ppt bindsym l resize shrink height 10 px or 10 ppt bindsym m 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 # back to normal: Enter or Escape bindsym Return mode "default" bindsym Escape mode "default" } bindsym $mod+r mode "resize"