diff options
author | luxagraf <sng@luxagraf.net> | 2020-02-16 13:23:56 -0500 |
---|---|---|
committer | luxagraf <sng@luxagraf.net> | 2020-02-16 13:23:56 -0500 |
commit | cd507c92f617d4a8a3f7bb0b43e425491ef7184d (patch) | |
tree | 42144ef0f35b91e7955f570c5ecc4bcec3c4d780 /.config/sway |
initial commit of dotfiles
Diffstat (limited to '.config/sway')
-rw-r--r-- | .config/sway/config | 219 |
1 files changed, 219 insertions, 0 deletions
diff --git a/.config/sway/config b/.config/sway/config new file mode 100644 index 0000000..bcd235f --- /dev/null +++ b/.config/sway/config @@ -0,0 +1,219 @@ +set $mod Mod1 +set $term alacritty +set $background /mnt/storage/pictures/desktops/aspens1.jpg +set $screenshot grim ~/pictures/screenshots/scrn-$(date +"%Y-%m-%d-%H-%M-%S").png +set $screenclip slurp | grim -g - ~/pictures/screenshots/scrn-$(date +"%Y-%m-%d-%H-%M-%S").png + +font pango:Inconsolata, Icons 13 + +# kill focused window +bindsym $mod+Shift+q kill + +# Mouse behaviour wrt windows. +focus_follows_mouse no + +# sleep and lock +exec swayidle -w \ + timeout 300 'swaylock -f -c 000000' \ + timeout 600 'swaymsg "output * dpms off"' \ + resume 'swaymsg "output * dpms on"' \ + before-sleep 'swaylock -f -c 000000' + +# Shortcuts +bindsym $mod+Return exec $term +bindsym $mod+F11 exec $screenshot +bindsym $mod+F12 exec $screenclip + +# background +output * bg $background fill + +input "1739:0:Synaptics_TM3075-002" { + natural_scroll enabled +} +# change focus +#bindsym $mod+j focus left +#bindsym $mod+k focus right +#bindsym $mod+l focus up +#bindsym $mod+semicolon focus down + +# move focused window +bindsym $mod+Shift+j move left +bindsym $mod+Shift+k move right +bindsym $mod+Shift+l move up +bindsym $mod+Shift+semicolon move down + +# split in horizontal orientation +bindsym $mod+Shift+h split h + +# split in vertical orientation +bindsym $mod+v split v + +# enter fullscreen mode for the focused container +bindsym $mod+Shift+f fullscreen toggle +bindsym $mod+f floating toggle + +# change container layout (stacked, tabbed, toggle split) +bindsym $mod+Shift+s layout stacking +bindsym $mod+w layout tabbed +bindsym $mod+e layout toggle split + +# focus the parent container +bindsym $mod+a focus parent + +# focus the child container +bindsym $mod+d focus child + +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" + + +# switch to workspace +bindsym $mod+1 workspace $ws1 +bindsym $mod+2 workspace $ws2 +bindsym $mod+3 workspace $ws3 +bindsym $mod+4 workspace $ws4 +bindsym $mod+5 workspace $ws5 +bindsym $mod+6 workspace $ws6 +bindsym $mod+7 workspace $ws7 +bindsym $mod+8 workspace $ws8 +bindsym $mod+9 workspace $ws9 +bindsym $mod+0 workspace $ws10 + +# move focused container to workspace +bindsym $mod+Shift+1 move container to workspace $ws1 +bindsym $mod+Shift+2 move container to workspace $ws2 +bindsym $mod+Shift+3 move container to workspace $ws3 +bindsym $mod+Shift+4 move container to workspace $ws4 +bindsym $mod+Shift+5 move container to workspace $ws5 +bindsym $mod+Shift+6 move container to workspace $ws6 +bindsym $mod+Shift+7 move container to workspace $ws7 +bindsym $mod+Shift+8 move container to workspace $ws8 +bindsym $mod+Shift+9 move container to workspace $ws9 +bindsym $mod+Shift+0 move container to workspace $ws10 + +# Scratchpad: +# +# Sway has a "scratchpad", which is a bag of holding for windows. +# You can send windows there and get them back later. + +# Move the currently focused window to the scratchpad +bindsym $mod+Shift+minus move scratchpad + +# Show the next scratchpad window or hide the focused scratchpad window. +# If there are multiple scratchpad windows, this command cycles through them. +bindsym $mod+minus scratchpad show + +for_window [class="^Chromium$"] border none +for_window [title="Oracle VM VirtualBox Manager"] floating enable +for_window [class="^Pcmanfm"] floating enable +for_window [class="^lxf$"] floating enable +for_window [class="^Darktable$"] border none +for_window [app_id="darktable"] border none +for_window [app_id="python3"] border none, floating enable +for_window [app_id="org.qutebrowser.qutebrowser"] border none +for_window [app_id="kitty"] border none +for_window [app_id="qutebrowser"] border none +for_window [class="^URxvt"] border none +for_window [class="^Firefox Developer"] border none +for_window [class="^Vivaldi"] border none +for_window [class="^qutebrowser"] border none +for_window [app_id="^Alacritty"] border none +for_window [class="Pavucontrol"] floating enable +for_window [window_role="pop-up"] floating enable +for_window [class="Yad"] floating enable +for_window [class="feh"] floating enable +for_window [class="QtPass"] floating enable +for_window [class="hangouts.google.com"] floating disable +for_window [class="hangouts.google.com"] border normal + +assign [class="qutebrowser"] $ws2 +assign [app_id="org.qutebrowser.qutebrowser"] $ws2 +assign [class="Firefox Developer"] $ws4 +assign [class="Slack"] $ws6 +assign [class="Vivaldi"] $ws4 +assign [class="Darktable"] $ws3 +assign [app_id="darktable"] $ws3 +assign [title="Oracle VM VirtualBox Manager"] $ws4 + +#workspace switching +bindsym $mod+k workspace next +bindsym $mod+j workspace prev +#bindsym $mod+space exec dmenu_run + +#Volumn and Brightness +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 +bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle +bindsym --locked XF86MonBrightnessUp exec --no-startup-id light -A 10 +bindsym --locked XF86MonBrightnessDown exec --no-startup-id light -U 10 + +set $alsacard 1 + +bindsym $mod+Shift+c reload +bindsym $mod+Shift+r restart +bindsym $mod+Shift+e exit +# 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 semicolon 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" + +# Input configuration +input * { + xkb_variant nodeadkeys + xkb_options ctrl:nocaps +} + +#exec --no-startup-id redshift-gtk -l 35.052234:-118.243685 -m randr -t 5700:3600 & +exec --no-startup-id qutebrowser & +exec --no-startup-id alacritty & +exec --no-startup-id nextcloud & +#exec --no-startup-id xset r rate 250 25 & +#exec --no-startup-id xset -b +#exec --no-startup-id xcape -e 'Control_L=Escape' + +# clipboard manager +exec wl-paste -t text --watch clipman store --max-items=60 --histpath="~/.local/share/clipman-primary.json" +bindsym $mod+h exec clipman pick --tool="wofi" --max-items=30 --histpath="~/.local/share/clipman-primary.json" + +bindsym $mod+Space exec alacritty --class 'launcher' --command bash -c 'compgen -c | sort -u | fzf | xargs -r swaymsg -t command exec' + +bindsym $mod+p exec alacritty --class 'launcher' --command bash -c 'pass clip --fzf | xargs -r swaymsg -t command exec' + +bindsym $mod+s exec alacritty --class 'launcher' --command bash -c 'pet exec | wl-copy | xargs -r swaymsg -t command exec' + +for_window [app_id="^launcher$"] floating enable, border none, resize set width 25 ppt height 20 ppt, move position 0 px 0 px + +bindsym $mod+b exec alacritty --class 'qutesearch' --command bash -c 'url=$(cat .config/qutebrowser/bookmarks/urls | fzf | cut -d \" \" -f 1) && qutebrowser "$url" | xargs -r swaymsg -t command exec' + +for_window [app_id="^qutesearch$"] floating enable, border none, resize set width 80 ppt height 60 ppt, move position 0 px 0 px + +exec_always ~/.config/waybar/waybar.sh |