# ---- GENERAL CONFIGURATION ---- xwayland enable output 'HDMI-A-2' pos 1920 0 seat '*' hide_cursor 5000 input "*" { xkb_layout 'fr-custom-lx' xkb_options 'altwin:swap_lalt_lwin,caps:super' # possible xkb options: localectl list-x11-keymap-options } # ---- COLORS & THEME ---- font pango:Inconsolata 15px client.focused #000000 #000000 #dddddd #000000 #000000 client.focused_inactive #000000 #000000 #AAAAAA #000000 #000000 client.unfocused #000000 #000000 #888888 #000000 #000000 client.urgent #000000 #900000 #ffffff #900000 #900000 client.background #000000 gaps outer 0 gaps inner 8 # ---- WINDOW MANAGEMENT KEY BINDINGS set $mod Mod4 # Use Mouse+$mod to drag floating windows to their wanted position floating_modifier $mod # close window bindsym $mod+Shift+Q kill # change window borders default_border pixel 2 bindsym $mod+t border normal bindsym $mod+y border pixel 2 bindsym $mod+u border none # change focus bindsym $mod+h focus left bindsym $mod+j focus down bindsym $mod+k focus up bindsym $mod+l 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 # common shortcuts (alt+tab, etc) for moving around bindsym $mod+Tab focus next bindsym $mod+Shift+Tab focus prev bindsym $mod+Ctrl+Right workspace next bindsym $mod+Ctrl+Left workspace prev # 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 # 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+b split h # split in vertical orientation bindsym $mod+v split v # enter fullscreen mode for the focused container bindsym $mod+f fullscreen # change container layout (stacked, tabbed, default) bindsym $mod+s layout stacking bindsym $mod+z layout tabbed bindsym $mod+e layout splith # 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 bindcode $mod+d focus child mode "resize" { bindsym h resize shrink width 5 px or 5 ppt bindsym j resize grow height 5 px or 5 ppt bindsym k resize shrink height 5 px or 5 ppt bindsym l resize grow width 5 px or 5 ppt bindsym Left resize shrink width 5 px or 5 ppt bindsym Down resize grow height 5 px or 5 ppt bindsym Up resize shrink height 5 px or 5 ppt bindsym Right resize grow width 5 px or 5 ppt bindsym Return mode "default" bindsym Escape mode "default" } bindsym $mod+r mode "resize" # ---- CUSTOM WINDOW ACTIONS ---- for_window [window_type="dialog"] floating enable for_window [window_role="dialog"] floating enable for_window [app_id="thunderbird" title=""] floating enable # thunderbird notifications # ---- WORKSPACES CONFIG ---- workspace_auto_back_and_forth yes workspace 1 output HDMI-A-2 eDP-1 workspace 2 output HDMI-A-2 eDP-1 workspace 3 output HDMI-A-2 eDP-1 workspace 4 output HDMI-A-2 eDP-1 workspace 5 output HDMI-A-2 eDP-1 workspace 6 output HDMI-A-2 eDP-1 workspace 7 output HDMI-A-2 eDP-1 workspace 8 output HDMI-A-2 eDP-1 workspace 9 output HDMI-A-2 eDP-1 workspace 10 output eDP-1 # switch to workspace bindsym $mod+braceleft workspace 1 bindsym $mod+eacute workspace 2 bindsym $mod+quotedbl workspace 3 bindsym $mod+apostrophe workspace 4 bindsym $mod+parenleft workspace 5 bindsym $mod+minus workspace 6 bindsym $mod+dead_grave workspace 7 bindsym $mod+underscore workspace 8 bindsym $mod+ccedilla workspace 9 bindsym $mod+braceright workspace 10 # move focused container to workspace bindsym $mod+1 move container to workspace 1 bindsym $mod+2 move container to workspace 2 bindsym $mod+3 move container to workspace 3 bindsym $mod+4 move container to workspace 4 bindsym $mod+5 move container to workspace 5 bindsym $mod+6 move container to workspace 6 bindsym $mod+7 move container to workspace 7 bindsym $mod+8 move container to workspace 8 bindsym $mod+9 move container to workspace 9 bindsym $mod+0 move container to workspace 10 # ---- ACTIONS KEY BINDINGS ---- bindsym $mod+Shift+C reload bindsym $mod+Shift+E exit bindsym $mod+Return exec alacritty bindsym $mod+p exec bemenu-run --fn 'DejaVu Sans Mono 16px' bindsym $mod+Shift+X exec swaylock -c 000000 bindsym XF86MonBrightnessDown exec brightnessctl set 10%- bindsym XF86MonBrightnessUp exec brightnessctl set +10% bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle bindsym XF86AudioRaiseVolume exec pactl set-sink-mute @DEFAULT_SINK@ false && pactl set-sink-volume @DEFAULT_SINK@ +5% bindsym XF86AudioLowerVolume exec pactl set-sink-mute @DEFAULT_SINK@ false && pactl set-sink-volume @DEFAULT_SINK@ -5% bindsym XF86AudioPlay exec playerctl play-pause bindsym XF86AudioNext exec playerctl next bindsym XF86AudioPrev exec playerctl previous # ---- AUTOSTART PROGRAMS ---- exec waybar exec nm-applet exec fcitx5 # ---- GTK THEMING CONFIG ---- set $gnome-schema org.gnome.desktop.interface exec_always { gsettings set $gnome-schema gtk-theme 'Adwaita' gsettings set $gnome-schema icon-theme 'Adwaita' gsettings set $gnome-schema cursor-theme 'Adwaita' #gsettings set $gnome-schema font-name 'Your font name' } # ---- INCLUDED FROM 50-systemd-user.conf FROM ARCHLINUX sway PACKAGE ---- # sway does not set DISPLAY/WAYLAND_DISPLAY in the systemd user environment # See FS#63021 # Adapted from xorg's 50-systemd-user.sh, which achieves a similar goal. # Upstream refuses to set XDG_CURRENT_DESKTOP so we have to. exec systemctl --user set-environment XDG_CURRENT_DESKTOP=sway exec systemctl --user import-environment DISPLAY \ SWAYSOCK \ WAYLAND_DISPLAY \ XDG_CURRENT_DESKTOP exec hash dbus-update-activation-environment 2>/dev/null && \ dbus-update-activation-environment --systemd DISPLAY \ SWAYSOCK \ XDG_CURRENT_DESKTOP=sway \ WAYLAND_DISPLAY