# sway configuration file # man sway(5) # ================================================================================ # output device configuration # man sway-output(5) # ================================================================================ # force_xinerama yes # fake-outputs 3840x1080+0+0 output DP-2 { pos 0 0 res 1920x1080 background ~/.local/share/backgrounds/01-0.jpg fill dpms on } output DP-1 { pos 1920 0 res 1920x1080 background ~/.local/share/backgrounds/01-1.jpg fill # transform 270 dpms on } # ================================================================================ # Workspace settings # ================================================================================ workspace 1 output VGA1 workspace_layout tabbed # customize workspace names set $WS0 0:🄌 set $WS1 1:➊ set $WS2 2:➋ set $WS3 3:➌ set $WS4 4:➍ set $WS5 5:➎ set $WS6 6:➏ set $WS7 7:➐ set $WS8 8:➑ set $WS9 9:➒ workspace $WS0 output XWAYLAND1 HDMI-1 DP-1 VGA-1 workspace $WS1 output primary workspace $WS9 output XWAYLAND1 HDMI-1 DP-1 VGA-1 bindsym Mod4+BackSpace exec i3-msg move workspace to output right # switch to workspace bindsym Mod4+0 workspace $WS0 bindsym Mod4+1 workspace $WS1 bindsym Mod4+2 workspace $WS2 bindsym Mod4+3 workspace $WS3 bindsym Mod4+4 workspace $WS4 bindsym Mod4+5 workspace $WS5 bindsym Mod4+6 workspace $WS6 bindsym Mod4+7 workspace $WS7 bindsym Mod4+8 workspace $WS8 bindsym Mod4+9 workspace $WS9 # move focused container to workspace bindsym Mod4+Shift+0 move container to workspace $WS0 bindsym Mod4+Shift+1 move container to workspace $WS1 bindsym Mod4+Shift+2 move container to workspace $WS2 bindsym Mod4+Shift+3 move container to workspace $WS3 bindsym Mod4+Shift+4 move container to workspace $WS4 bindsym Mod4+Shift+5 move container to workspace $WS5 bindsym Mod4+Shift+6 move container to workspace $WS6 bindsym Mod4+Shift+7 move container to workspace $WS7 bindsym Mod4+Shift+8 move container to workspace $WS8 bindsym Mod4+Shift+9 move container to workspace $WS9 # ================================================================================ # base16 Xressource depenend color configuration # with default values from base16-tomorrow-night # ================================================================================ xwayland enable hide_edge_borders both title_align left # gaps inner 6 # smart_gaps on # smart_borders no_gaps # focus_follows_mouse no # mouse_warping none # we basically want to configure our font with ~/.config/fontconfig/* and can # configure what is called monospace that way. It is more portable that way. font pango:monospace 9 # font pango:GoMono Nerd Font 9 # font pango:FuraCode Nerd Font Mono 9 # font pango:Code New Roman Nerd Font 9 # load xrdb exec xrdb ~/.Xresources ; swaymsg reload # include /home/max/.config/base16/base16-sway/themes/base16-tomorrow.config # include /home/max/.config/base16/base16-sway/themes/base16-papercolor-light.config # main variables ssource default # d variable default set $background $base00 set $foreground $base05 set $cursorColor $foreground # set_from_resource $foreground base16.cursor $cursorColor # set_from_resource $foreground base16.cursor $base05 # Basic bar configuration using the Base16 variables. bar { # status_command i3status --config ~/.config/i3/i3status.conf font pango:monospace 9 status_command i3status --config ~/.config/i3/i3status.conf # swaybar_command swaybar tray_padding 2 tray_output DP-1 mode dock strip_workspace_numbers yes # separator_symbol "|" separator_symbol " " colors { background $background separator $foreground statusline $foreground focused_workspace $background $background $base05 active_workspace $background $background $cursorColor inactive_workspace $background $background $base03 urgent_workspace $background $background $base08 binding_mode $background $background $foreground } } # Basic color configuration using the Base16 variables for windows and borders. # Property Name Border BG Text Indicator Child Border client.focused $base05 $base04 $base00 $base04 $base04 client.focused_inactive $base05 $base0F $base07 $base03 $base01 client.unfocused $base05 $base00 $base05 $base01 $base01 client.urgent $base08 $base08 $base00 $base08 $base08 client.placeholder $base00 $base00 $base05 $base00 $base00 client.background $background # ================================================================================ # windows assignments and special treatment, e.g. icons # ================================================================================ assign [class="^Pidgin"] $WS0 assign [class="^Hexchat"] $WS0 assign [class="(?i)pidgin"] $WS0 assign [class="^Thunderbird$"] $WS0 assign [title="(?i)weechat"] $WS0 # for_window [class="^.*"] border normal 3 # for_window [title="^.*Thunderbird"] border pixel 0 # for_window [title="^.*Chromium"] border pixel 0 # for_window [class="Gvim"] border pixel 0 for_window [title="(?i)Evolution"] title_format "📧 %title" for_window [class="(?i)firefox"] title_format " %title" for_window [class="(?i)chromium"] title_format " %title" for_window [class="(?i)hexchat"] title_format " %title" for_window [class="(?i)pidgin"] title_format "👥 %title" for_window [class="(?i)thunar"] title_format "🗄️ %title" for_window [class="(?i)keepassx?"] title_format "🔑 %title" for_window [class="(?i).*terminal?"] title_format " %title" for_window [class="(?i).*termite?"] title_format " %title" for_window [class="(?i)xfce4-appfinder"] title_format " %title" for_window [class="(?i)thunderbird"] title_format " %title" for_window [title="(?i)weechat"] title_format " %title" for_window [title="YouTube"] title_format " %title" for_window [title=""] title_format "%title" for_window [title=" "] title_format "%title" # for_window [class="(?i)xfce4-terminal"] border pixel 0 # for_window [class="(?i)xfce4-appfinder"] border pixel 0 # for_window [title="^.*\|"] border pixel 4 # for_window [title="^HexChat.*"] border pixel 0 # for_window [title="^.*"] exec pkill -SIGRTMIN+11 i3blocks # for_window [title="^.*"] exec pkill -SIGRTMIN+11 i3blocks # for_window [title="cairo-dock"] floating enable ; border none # for_window[class="Plank"] floating enable,move absolute center # for_window [class=".*"] title_format "┋ %title" # for_window [con_id="__focused__"] title_format "%title" # ================================================================================ # Keyboard mappings # Mod1 ctrl # Mod4 windows key # ================================================================================ set $mod Mod4 bindsym $mod+j "mark --toggle a" # Use Mouse+$mod to drag floating windows to their wanted position floating_modifier $mod # restart sway or reload config bindsym $mod+Shift+c reload bindsym $mod+Shift+r restart # kill focused window bindsym $mod+Shift+q kill bindsym Mod1+F4 kill bindsym $mod+F2 exec i3-input -F 'rename workspace to "%s"' -P 'New name: ' bindsym Control+Mod1+Left workspace prev_on_output bindsym Control+Mod1+Right workspace next_on_output # 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+Tab focus output right bindsym $mod+Shift+Tab focus output left bindsym mod1+Tab focus right bindsym mod1+Shift+Tab focus left bindsym $mod+Next focus child bindsym $mod+Left focus left bindsym $mod+Right focus right bindsym $mod+Down focus down bindsym $mod+Up focus up bindsym $mod+Prior focus parent bindsym $mod+a focus parent # alternatively, you can use the cursor keys: bindsym $mod+Shift+Left move left ; exec pkill -SIGRTMIN+11 i3blocks bindsym $mod+Shift+Down move down ; exec pkill -SIGRTMIN+11 i3blocks bindsym $mod+Shift+Up move up ; exec pkill -SIGRTMIN+11 i3blocks bindsym $mod+Shift+Right move right ; exec pkill -SIGRTMIN+11 i3blocks # change container layout (stacked, tabbed, toggle split) bindsym $mod+s layout stacking bindsym $mod+w layout tabbed bindsym $mod+q layout toggle split bindsym $mod+x layout toggle all bindsym $mod+v split toggle bindsym $mod+space split toggle # enter fullscreen mode for the focused container bindsym $mod+f fullscreen toggle bindsym $mod+g fullscreen toggle global # toggle tiling / floating bindsym $mod+Shift+space floating toggle bindsym $mod+m move scratchpad bindsym $mod+Shift+m scratchpad show ; resize set 1920 920 ; move position center # start a terminal # bindsym $mod+Return exec i3-sensible-terminal bindsym $mod+Return exec "killall rofi ; rofi -show drun -show-icons" bindsym Mod1+F2 exec "killall rofi ; rofi -show drun -bg #222222 -fg #888888 -hlbg #285577 -hlfg #ffffff -show-icons -5" bindsym $mod+t exec alacritty bindsym $mod+e exec thunar bindsym $mod+l exec swaylock -K -f -F -c "#000000" --text-color '#ffffff' --indicator-radius 200 --indicator-thickness 10 bindsym $mod+d exec i3-dmenu-desktop # Pulse Audio controls bindsym $mod+F10 exec pactl set-sink-mute @DEFAULT_SINK@ toggle bindsym $mod+F11 exec pactl set-sink-volume @DEFAULT_SINK@ -5% bindsym $mod+F12 exec pactl set-sink-volume @DEFAULT_SINK@ +5% bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5% bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle # change focus between tiling / floating windows # bindsym $mod+space focus mode_toggle # focus the child container #bindsym $mod+d focus child # exit i3 (logs you out of your X session) # bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'" # split in horizontal orientation # bindsym $mod+h split h # split in vertical orientation # bindsym $mod+v split v # resize window (you can also use the mouse for that) bindsym $mod+r mode "resize" 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 $mod+h resize shrink width 4 px or 4 ppt bindsym $mod+j resize grow height 4 px or 4 ppt bindsym $mod+k resize shrink height 4 px or 4 ppt bindsym $mod+l resize grow width 4 px or 4 ppt # same bindings, but for the arrow keys bindsym Left resize shrink width 4 px or 4 ppt bindsym Up resize grow height 4 px or 4 ppt bindsym Down resize shrink height 4 px or 4 ppt bindsym Right resize grow width 4 px or 4 ppt # back to normal: Enter or Escape bindsym Return mode "default" bindsym Escape mode "default" } set $mode_brightness "display brightness 🔅 🔆" bindsym $mod+b mode $mode_brightness mode $mode_brightness { bindsym Up exec xrandr-brightness .1 bindsym Down exec xrandr-brightness -.1 bindsym Return mode "default" bindsym Escape mode "default" } # Press $mod+o followed by either f, t, Escape or Return to launch firefox, # thunderbird or return to the default mode, respectively. set $mode_launcher Launch: [f]irefox [t]hunderbird bindsym $mod+o mode "$mode_launcher" mode "$mode_launcher" { bindsym f exec firefox bindsym t exec thunderbird bindsym Escape mode "default" bindsym Return mode "default" } # bindsym $mod+d exec --no-startup-id j4-dmenu-desktop # exec xrandr --dpi 95.48 --output LVDS-1 --mode 1024x768 && xrandr --output LVDS-1 --mode 1280x800 # bindcode 156 # exec xrandr --output DP-1 --rotate left --pos 1920x-420 # exec xrandr --output DP1 --rotate left --right-of HDMI1 # exec xrandr --output DP1 --rotate left --pos 1920x-420 # ================================================================================ # Execute (autostart) further applications #! exec: execute when starting #! exec_always: execute when starting or restarting # ================================================================================ # exec xrandr --output HDMI-1 --right-of DP-1 # exec xrandr --output HDMI-1 --right-of VGA-1 # exec /usr/bin/xrandr-reset.sh # exec setsid xautolock -locker swaylock exec swayidle -w timeout 300 'swaylock -f' timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' before-sleep 'swaylock -f -c 000000' # exec gnome-keyring-daemon --start --components=secrets # start compositor... # exec compton -b --config ~/.config/i3/compton.conf # exec nitrogen --restore exec mako bindsym ctrl+space exec makoctl dismiss -a exec nm-applet # exec pidgin exec bash -c 'for d in ~/.config/autostart/*.desktop; do awk -e 'match($0,"Exec=(.*)",q){ gsub(/ %.+/, "", q[1]); system("setsid -f " q[1])};' $d; done' # exec setxkbmap de,us -device evdev -model pc105 -option "" -option keypad:pointerkeys,grp_led:caps,grp:caps_toggle,terminate:ctrl_alt_bksp -v 1 -print # exec xset r rate 330 40 # exec xinput --set-prop 'Xornet gaming mouse' 'libinput Accel Speed' 0.1 # exec setxkbmap -option caps:escape # input 16700:8467:Dell_KB216_Wired_Keyboard_Consumer_Control { # xkb_layout "us" # xkb_variant "altgr-intl,nodeadkeys" # xkb_options "keypad:pointerkeys,grp_led:caps,grp:caps_toggle,terminate:ctrl_alt_bksp" # xkb_model "pc105" # xkb_numlock "enable" # repeat_delay 100 # repeat_rate 330 # } # exec setsid hexchat -e --minimize=2 exec termite -e /home/max/.local/bin/weechat # vim: iskeyword+=\$,\-,\#,(,) nospell ft=tcl