dotfiles

git clone git://archive.git.mtrnord.blog/MTRNord/dotfiles.git
Log | Files | Refs | README

config (9096B)


      1 # Variables
      2 set $mod Mod4
      3 set $menu /usr/bin/sirula
      4 set $term kitty
      5 #set $browser firefox
      6 set $browser "firefox-nightly -P default-release --marionette"
      7 set $file_manager nautilus
      8 
      9 # Named workspaces
     10 set $ws1 "1:"
     11 set $ws2 "2:"
     12 set $ws3 "3:"
     13 set $ws4 number 4
     14 set $ws5 "5:"
     15 set $ws6 number 6
     16 set $ws7 number 7
     17 set $ws8 number 8
     18 set $ws9 number 9
     19 set $ws10 number 10
     20 set $ws11 "11:"
     21 set $ws12 "12:"
     22 set $ws13 "13:"
     23 set $ws14 number 15
     24 set $ws15 number 15
     25 set $ws16 number 16
     26 set $ws17 number 17
     27 set $ws18 number 18
     28 set $ws19 "19:"
     29 set $ws20 "20:"
     30 set $ws21 "21:"
     31 set $ws42 "42:"
     32 
     33 # Colors               (border  bg      text    indicator child_border)
     34 #client.focused          #bdbdbd #bdbdbd #000000 #bdbdbd   #bdbdbd
     35 #client.focused_inactive #333333 #5f676a #ffffff #5f676a   #5f676a
     36 #client.unfocused        #1e1e1e #1e1e1e #bdbdbd #1e1e1e   #1e1e1e
     37 #client.urgent           #2f343a #900000 #ffffff #900000   #900000
     38 
     39 client.focused          #5e81ac #5e81ac #eceff4 #434c5e   #5e81ac
     40 client.focused_inactive #4c566a #4c566a #d8dee9 #3b4252   #434c5e
     41 client.unfocused        #4c566a #4c566a #d8dee9 #3b4252   #434c5e
     42 client.urgent           #bf616a #bf616a #eceff4 #900000   #bf616a
     43 client.placeholder      #000000 #0c0c0c #eceff4 #000000   #0c0c0c
     44 
     45 
     46 # Font
     47 font pango:Encode Sans 11
     48 #font pango:Monospace, FontAwesome, 9
     49 
     50 # Window borders
     51 default_border pixel 3
     52 #default_floating_border pixel 1
     53 hide_edge_borders --i3 smart
     54 
     55 workspace_layout default
     56 #popup_during_fullscreen leave_fullscreen # TODO
     57 
     58 
     59 # Input device configuration
     60 input * {
     61     xkb_layout de
     62     xkb_variant nodeadkeys
     63     xkb_options compose:caps
     64     xkb_numlock enabled
     65 }
     66 
     67 # Output configuration
     68 #output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill
     69 output * bg /home/marcel/wallpaper/cherry_blossom_by_tomprante_d8shzqg.jpg fill
     70 
     71 output DP-1 scale 1.75 pos 0 0
     72 output HDMI-A-1 pos 2194 0
     73 
     74 # Default workspaces for common programs
     75 assign [class="^Signal$"] $ws2
     76 assign [class="^Element"] $ws2
     77 assign [class="^hydrogen"] $ws2
     78 assign [class="^whatsapp"] $ws2
     79 assign [app_id="^thunderbird$"] $ws3
     80 assign [class="^Steam$"] $ws11
     81 assign [class="^Spotify"] $ws42
     82 assign [app_id="^org.keepassxc.KeePassXC$" title="KeePassXC$"] $ws21
     83 
     84 # Layout defaults
     85 #for_window [app_id="^firefox$"] layout tabbed
     86 for_window [app_id="^thunderbird$"] layout tabbed
     87 #for_window [class="^Code" title="Visual Studio Code"] layout tabbed
     88 # Nautilus typeahead popup
     89 for_window [app_id="^nautilus$" title="^nautilus$"] floating enable
     90 # gtk-rs programs have this id by default
     91 for_window [app_id="^\.$"] floating enable
     92 for_window [title="Discord Updater"] floating enable
     93 for_window [app_id="imv"] floating enable
     94 for_window [app_id="pavucontrol"] floating enable, sticky enable, resize set width 550 px height 600px, move position cursor, move down 330
     95 
     96 # Other window-specific settings
     97 for_window [class="^Signal$"] opacity 0.9
     98 for_window [class="^Riot$"] opacity 0.9
     99 for_window [class="^Element$"] opacity 0.9
    100 for_window [app_id="^org.gnome.Nautilus$"] opacity 0.9
    101 for_window [class="^hydrogen"] opacity 0.9
    102 for_window [class="^whatsapp"] opacity 0.9
    103 for_window [app_id="kitty"] opacity 0.7
    104 
    105 # Program shortcuts
    106 bindsym $mod+Return exec $term
    107 bindsym $mod+n exec $file_manager
    108 bindsym $mod+y workspace $ws1; exec $browser
    109 
    110 # Autostart
    111 exec mako
    112 exec autotiling
    113 exec $browser
    114 exec /home/marcel/Applications/hydrogen/hydrogen
    115 exec /home/marcel/Applications/whatsapp/whatsapp
    116 exec "dex /usr/share/applications/org.keepassxc.KeePassXC.desktop"
    117 exec signal
    118 exec spotify
    119 #exec sh -c "nmcli monitor | while read _; do pkill -RTMIN+1 waybar; done >/dev/null"
    120 
    121 # Notifications
    122 bindsym Control+Space exec makoctl dismiss
    123 bindsym Control+Shift+Space exec makoctl dismiss --all
    124 
    125 # Kill focused window
    126 bindsym $mod+Shift+q kill
    127 
    128 # Start your launcher
    129 bindsym $mod+d exec $menu
    130 
    131 # Reload the configuration file
    132 bindsym $mod+Shift+c reload
    133 
    134 # Exit sway (logs you out of your wayland session)
    135 bindsym $mod+Shift+e exit
    136 
    137 # Move your focus around with $mod+[h|j|k|l], like vim
    138 bindsym $mod+h focus left
    139 bindsym $mod+j focus down
    140 bindsym $mod+k focus up
    141 bindsym $mod+l focus right
    142 # or use $mod+[up|down|left|right]
    143 bindsym $mod+Left focus left
    144 bindsym $mod+Down focus down
    145 bindsym $mod+Up focus up
    146 bindsym $mod+Right focus right
    147 
    148 # _move_ the focused window with the same, but add Shift
    149 bindsym $mod+Shift+h move left
    150 bindsym $mod+Shift+j move down
    151 bindsym $mod+Shift+k move up
    152 bindsym $mod+Shift+l move right
    153 # ditto, with arrow keys
    154 bindsym $mod+Shift+Left move left
    155 bindsym $mod+Shift+Down move down
    156 bindsym $mod+Shift+Up move up
    157 bindsym $mod+Shift+Right move right
    158 
    159 # Move workspace to monitor
    160 bindsym $mod+Ctrl+Left move workspace to output left
    161 bindsym $mod+Ctrl+Down move workspace to output down
    162 bindsym $mod+Ctrl+Up move workspace to output up
    163 bindsym $mod+Ctrl+Right move workspace to output right
    164 
    165 # Switch to workspace
    166 bindsym $mod+1 workspace $ws1
    167 bindsym $mod+2 workspace $ws2
    168 bindsym $mod+3 workspace $ws3
    169 bindsym $mod+4 workspace $ws4
    170 bindsym $mod+5 workspace $ws5
    171 bindsym $mod+6 workspace $ws6
    172 bindsym $mod+7 workspace $ws7
    173 bindsym $mod+8 workspace $ws8
    174 bindsym $mod+9 workspace $ws9
    175 bindsym $mod+0 workspace $ws10
    176 bindsym $mod+F1 workspace $ws11
    177 bindsym $mod+F2 workspace $ws12
    178 bindsym $mod+F3 workspace $ws13
    179 bindsym $mod+F4 workspace $ws14
    180 bindsym $mod+F5 workspace $ws15
    181 bindsym $mod+F6 workspace $ws16
    182 bindsym $mod+F7 workspace $ws17
    183 bindsym $mod+F8 workspace $ws18
    184 bindsym $mod+F9 workspace $ws19
    185 bindsym $mod+F10 workspace $ws20
    186 bindsym $mod+F11 workspace $ws21
    187 bindsym $mod+F12 workspace $ws42
    188 
    189 
    190 # Move focused container to workspace
    191 bindsym $mod+Shift+1 move container to workspace $ws1
    192 bindsym $mod+Shift+2 move container to workspace $ws2
    193 bindsym $mod+Shift+3 move container to workspace $ws3
    194 bindsym $mod+Shift+4 move container to workspace $ws4
    195 bindsym $mod+Shift+5 move container to workspace $ws5
    196 bindsym $mod+Shift+6 move container to workspace $ws6
    197 bindsym $mod+Shift+7 move container to workspace $ws7
    198 bindsym $mod+Shift+8 move container to workspace $ws8
    199 bindsym $mod+Shift+9 move container to workspace $ws9
    200 bindsym $mod+Shift+0 move container to workspace $ws10
    201 bindsym $mod+Shift+F1 move container to workspace $ws11
    202 bindsym $mod+Shift+F2 move container to workspace $ws12
    203 bindsym $mod+Shift+F3 move container to workspace $ws13
    204 bindsym $mod+Shift+F4 move container to workspace $ws14
    205 bindsym $mod+Shift+F5 move container to workspace $ws15
    206 bindsym $mod+Shift+F6 move container to workspace $ws16
    207 bindsym $mod+Shift+F7 move container to workspace $ws17
    208 bindsym $mod+Shift+F8 move container to workspace $ws18
    209 bindsym $mod+Shift+F9 move container to workspace $ws19
    210 bindsym $mod+Shift+F10 move container to workspace $ws20
    211 bindsym $mod+Shift+F11 move container to workspace $ws21
    212 bindsym $mod+Shift+F12 move container to workspace $ws42
    213 
    214 # Layout stuff
    215 bindsym $mod+b splith
    216 bindsym $mod+v splitv
    217 
    218 # Switch the current container between different layout styles
    219 bindsym $mod+s layout stacking
    220 bindsym $mod+w layout tabbed
    221 bindsym $mod+e layout toggle split
    222 
    223 # Make the current focus fullscreen
    224 bindsym $mod+f fullscreen
    225 
    226 # Toggle the current focus between tiling and floating mode
    227 bindsym $mod+Shift+space floating toggle
    228 
    229 # Swap focus between the tiling area and the floating area
    230 bindsym $mod+space focus mode_toggle
    231 
    232 # move focus to the parent container
    233 bindsym $mod+a focus parent
    234 
    235 # Move the currently focused window to the scratchpad
    236 bindsym $mod+Shift+minus move scratchpad
    237 
    238 # Show the next scratchpad window or hide the focused scratchpad window.
    239 # If there are multiple scratchpad windows, this command cycles through them.
    240 bindsym $mod+minus scratchpad show
    241 
    242 exec waybar -c ~/.config/waybar/config.json
    243 #exec swayidle -w \
    244 #          timeout 300 'swaylock -f -c 000000' \
    245 #          timeout 600 'swaymsg "output * dpms off"' \
    246 #               resume 'swaymsg "output * dpms on"' \
    247 #          before-sleep 'swaylock -e -F -f -c 000000'
    248 
    249 #bindsym $mod+p exec swaylock -i "/usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png" fill
    250 #set $screenshot grim ~/Downloads/scrn-$(date +"%Y-%m-%d-%H-%M-%S").png
    251 #set $screenclip slurp | grim -g - ~/Downloads/scrn-$(date +"%Y-%m-%d-%H-%M-%S").png
    252 set $screenclip grim -g "$(slurp)" - | swappy -f -
    253 set $screenshot grim - | swappy -f - 
    254 set $fullscreenshot ~/fullscreenshot.sh
    255 
    256 bindsym $mod+Print exec $screenshot
    257 bindsym $mod+Shift+Print exec $screenclip
    258 bindsym $mod+Ctrl+Print exec $fullscreenshot
    259 
    260 
    261 bindsym XF86AudioPlay exec playerctl play-pause
    262 bindsym XF86AudioNext exec playerctl next
    263 bindsym XF86AudioPrev exec playerctl previous
    264 
    265 gaps inner 12
    266 gaps outer 5
    267 
    268 bindsym $mod+Ctrl+e exec wlogout -p layer-shell
    269 
    270 
    271 # Volume controls
    272 bindsym XF86AudioRaiseVolume exec pamixer -i 5
    273 bindsym XF86AudioLowerVolume exec pamixer -d 5
    274 bindsym XF86AudioMute        exec pamixer -t
    275 
    276 # Music player controls
    277 bindsym XF86AudioPrev exec playerctl stop && playerctl previous && playerctl play
    278 bindsym XF86AudioPlay exec playerctl play-pause || quodlibet --run --play
    279 bindsym XF86AudioNext exec playerctl next && playerctl play