# ------------------------------------------------------------------------------ # Device specific include # ------------------------------------------------------------------------------ # This needs to set the following variables: # $primary_monitor_identifier - Identifier of the primary monitor # $primary_monitor_resolution - Resolution for the primary monitor # $primary_monitor_scale - Scale factor for thr primary monitor # $secondary_monitor_x_offset - X offset for the secondary monitor # $audio_out - Name of the audio drain to be controlled by shortcuts # $audio_in - Name of the audio source to be controlled by shortcuts include config.local # ------------------------------------------------------------------------------ # Variables # ------------------------------------------------------------------------------ set $mod Mod4 set $color_bg_focused #2F343F set $color_bg_unfocused #383C4A set $color_fg_unfocused #D3DAE3 set $color_fg_focused #FFFFFF set $color_indicator #4DADD4 set $color_warn #F27835 set $color_error #FC4138 set $font Roboto Regular 14 # ------------------------------------------------------------------------------ # Inputs # ------------------------------------------------------------------------------ input * { xkb_layout "de,us" xkb_variant "nodeadkeys," xkb_options grp:win_space_toggle } input 9011:26214:ydotoold_virtual_device { xkb_layout "us" xkb_variant "" } input 9456:311:Metadot_-_Das_Keyboard_Das_Keyboard_Model_S xkb_model "pc105" # ------------------------------------------------------------------------------ # Outputs # ------------------------------------------------------------------------------ output $primary_monitor_identifier pos 0 0 res $primary_monitor_resolution scale $primary_monitor_scale output DP-3 pos $secondary_monitor_x_offset 0 res 1920x1200 output * bg $HOME/Bilder/backgrounds/triangle.png fill bindswitch --reload --locked lid:on output $primary_monitor_identifier disable bindswitch --reload --locked lid:off output $primary_monitor_identifier enable # ------------------------------------------------------------------------------ # Font # ------------------------------------------------------------------------------ font pango:$font # ------------------------------------------------------------------------------ # Launcher # ------------------------------------------------------------------------------ bindsym $mod+d exec --no-startup-id rofi -show drun bindsym $mod+x exec --no-startup-id rofi -show run bindsym $mod+o exec --no-startup-id rofi-pass # ------------------------------------------------------------------------------ # Window management # ------------------------------------------------------------------------------ # terminate the active window bindsym $mod+Shift+q kill # floating modifier floating_modifier $mod # change focus bindsym $mod+j focus left bindsym $mod+k focus down bindsym $mod+l focus up bindsym $mod+odiaeresis 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+j move left bindsym $mod+Shift+k move down bindsym $mod+Shift+l move up bindsym $mod+Shift+odiaeresis 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 # 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+w 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+a focus parent # focus the child container #bindsym $mod+d focus child # resize window (you can also use the mouse for that) mode "resize" { # These bindings trigger as soon as you enter the resize mode # Pressing left will shrink the window’s width. # Pressing right will grow the window’s width. # Pressing up will shrink the window’s height. # Pressing down will grow the window’s height. 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 odiaeresis resize grow width 10 px or 10 ppt # same bindings, but for the arrow keys 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" # ------------------------------------------------------------------------------ # Workspaces # ------------------------------------------------------------------------------ set $workspace1 "1:" set $workspace2 "2:" set $workspace3 "3:" set $workspace4 "4:" set $workspace5 "5:" set $workspace6 "6:" set $workspace7 "7:…" # switch to workspace bindsym $mod+1 workspace $workspace1 bindsym $mod+2 workspace $workspace2 bindsym $mod+3 workspace $workspace3 bindsym $mod+4 workspace $workspace4 bindsym $mod+5 workspace $workspace5 bindsym $mod+6 workspace $workspace6 bindsym $mod+7 workspace $workspace7 bindsym $mod+8 workspace 8 bindsym $mod+9 workspace 9 bindsym $mod+0 workspace 10 # move focused container to workspace bindsym $mod+Shift+1 move container to workspace $workspace1 bindsym $mod+Shift+2 move container to workspace $workspace2 bindsym $mod+Shift+3 move container to workspace $workspace3 bindsym $mod+Shift+4 move container to workspace $workspace4 bindsym $mod+Shift+5 move container to workspace $workspace5 bindsym $mod+Shift+6 move container to workspace $workspace6 bindsym $mod+Shift+7 move container to workspace $workspace7 bindsym $mod+Shift+8 move container to workspace 8 bindsym $mod+Shift+9 move container to workspace 9 bindsym $mod+Shift+0 move container to workspace 10 # move current workspace to output bindsym $mod+Mod1+Right move workspace to output right bindsym $mod+Mod1+Left move workspace to output left # ------------------------------------------------------------------------------ # sway management # ------------------------------------------------------------------------------ # reload the configuration file bindsym $mod+Shift+c reload # exit sway (logs you out of your Wayland session) bindsym $mod+Shift+e exec "swaynag -f 'pango:$font' -t warning -m 'sway beenden?' -b 'Ja' 'swaymsg exit'" # ------------------------------------------------------------------------------ # Program shortcuts # ------------------------------------------------------------------------------ bindsym $mod+Return exec --no-startup-id termite bindsym $mod+c exec --no-startup-id firefox bindsym $mod+t exec --no-startup-id thunderbird bindsym $mod+g exec --no-startup-id code bindsym XF86Explorer exec --no-startup-id thunar # ------------------------------------------------------------------------------ # Audio shortcuts # ------------------------------------------------------------------------------ bindsym XF86AudioRaiseVolume exec --no-startup-id "pactl set-sink-volume $audio_out +5%; pkill -RTMIN+10 i3blocks" bindsym XF86AudioLowerVolume exec --no-startup-id "pactl set-sink-volume $audio_out -5%; pkill -RTMIN+10 i3blocks" bindsym XF86AudioMute exec --no-startup-id "pactl set-sink-mute $audio_out toggle; pkill -RTMIN+10 i3blocks" bindsym XF86AudioMicMute exec --no-startup-id "pactl set-source-mute $audio_in toggle; pkill -RTMIN+10 i3blocks" # ------------------------------------------------------------------------------ # Video shortcuts # ------------------------------------------------------------------------------ bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight +10 bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -10 # ------------------------------------------------------------------------------ # Assignment of progrmans to workspaces # ------------------------------------------------------------------------------ assign [app_id="^termite$"] $workspace1 assign [class="^code-oss$"] $workspace2 assign [class="^jetbrains-idea$"] $workspace2 assign [class="^firefox$"] $workspace3 assign [class="^Thunderbird$"] $workspace4 assign [app_id="^thunar$"] $workspace5 assign [class="^Slack$"] 8 assign [class="^Microsoft Teams - Preview$"] 9 # ------------------------------------------------------------------------------ # Screenshot shortcuts # ------------------------------------------------------------------------------ bindsym Print exec --no-startup-id grim # ------------------------------------------------------------------------------ # WIFI shortcut # ------------------------------------------------------------------------------ bindsym XF86WLAN exec --no-startup-id pkill -SIGRTMIN+12 i3blocks # ------------------------------------------------------------------------------ # Lockscreen # ------------------------------------------------------------------------------ exec --no-startup-id swayidle -w \ timeout 300 'swaylock -f' \ timeout 600 'swaymsg "output * dpms off"' \ resume 'swaymsg "output * dpms on"' \ before-sleep 'swaylock -f' bindsym control+Mod1+l exec --no-startup-id swaylock # ------------------------------------------------------------------------------ # Window theming # ------------------------------------------------------------------------------ # border background text indicator client.focused $color_bg_focused $color_bg_focused $color_fg_focused $color_bg_focused client.focused_inactive $color_bg_unfocused $color_bg_unfocused $color_fg_unfocused $color_bg_unfocused client.unfocused $color_bg_unfocused $color_bg_unfocused $color_fg_unfocused $color_bg_unfocused client.urgent $color_bg_unfocused $color_warn $color_fg_focused $color_bg_unfocused # do not display edge borders hide_edge_borders both # do not display a titlebar in tiled layout default_border pixel 0 # gaps gaps inner 10 # gaps outer -5 # ------------------------------------------------------------------------------ # Workspace bar # ------------------------------------------------------------------------------ bar { swaybar_command waybar } # ------------------------------------------------------------------------------ # Applets # ------------------------------------------------------------------------------ exec --no-startup-id nm-applet --indicator # ------------------------------------------------------------------------------ # Notification daemon # ------------------------------------------------------------------------------ exec --no-startup-id /usr/bin/mako # ------------------------------------------------------------------------------ # GTK3 # ------------------------------------------------------------------------------ set $gnome-schema org.gnome.desktop.interface exec_always { gsettings set $gnome-schema gtk-theme 'Arc-Darker' gsettings set $gnome-schema icon-theme 'Moka' gsettings set $gnome-schema cursor-theme 'Adwaita' }