summaryrefslogblamecommitdiff
path: root/sway/config
blob: 8d5ed77981a18645a904c9391c06d0ba7596d7d2 (plain) (tree)
1
2
3
4
5
6
7
8

                                 

               



                            




                                                                 

 



                           








                                                               
 


                                     



                                                                  
              

                         




                             












                                             
                                                   



                                      
 













                                             








                                                    
                            


                                        




                                                
                           























                                                      
                                                                                           





                                 









                                       

                         











                                    

                                    
 










                                             

                                                        
 
 

                                
                           

                         



                                                           
 

                                                         
 
                                                                    
                                                                           


                                                                                                                      



                                               
 
                              


           

              
 










                                                           


















                                                                            
# ---- 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 DP-4 HDMI-A-2 eDP-1
workspace 2  output DP-4 HDMI-A-2 eDP-1
workspace 3  output DP-4 HDMI-A-2 eDP-1
workspace 4  output DP-4 HDMI-A-2 eDP-1
workspace 5  output DP-4 HDMI-A-2 eDP-1
workspace 6  output DP-4 HDMI-A-2 eDP-1
workspace 7  output DP-4 HDMI-A-2 eDP-1
workspace 8  output DP-4 HDMI-A-2 eDP-1
workspace 9  output DP-4 HDMI-A-2 eDP-1
workspace 10 output DP-4 HDMI-A-2 eDP-1
workspace 11 output eDP-1
workspace 12 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
bindsym $mod+parenright workspace 11
bindsym $mod+equal workspace 12

# 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
bindsym $mod+bracketright move container to workspace 11
bindsym $mod+plus move container to workspace 12


# ---- 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