Initial sway support.

This commit is contained in:
Gabriel Ebner 2019-03-09 20:37:53 +01:00
parent bb0e0dbd5d
commit b13ad503cc
4 changed files with 189 additions and 1 deletions

1
.gitignore vendored

@ -5,6 +5,7 @@ procmailrc
gitconfig gitconfig
ctags ctags
i3/config i3/config
config/sway/config
i3status.conf i3status.conf
mbsyncrc mbsyncrc
msmtprc msmtprc

@ -4,7 +4,7 @@ FILES = bashrc bash_profile vimrc zshrc gitconfig screenrc commonshrc liquidprom
config/qutebrowser config/nvim/init.vim ideavimrc \ config/qutebrowser config/nvim/init.vim ideavimrc \
config/khal config/vdirsyncer/config config/khard \ config/khal config/vdirsyncer/config config/khard \
config/rofi-pass gdbinit notmuch-config \ config/rofi-pass gdbinit notmuch-config \
config/fish tridactylrc \ config/fish tridactylrc config/sway/config \
$(wildcard sbt/0.13/*.sbt sbt/0.13/plugins/*.sbt) \ $(wildcard sbt/0.13/*.sbt sbt/0.13/plugins/*.sbt) \
$(wildcard sbt/1.0/plugins/*.sbt) $(wildcard sbt/1.0/plugins/*.sbt)

178
config/sway/config.m4 Normal file

@ -0,0 +1,178 @@
# vim:ft=conf:
changequote([,])
define([hostname], esyscmd([echo -n `hostname`]))
define([forloop], [pushdef([$1], [$2])_forloop($@)popdef([$1])])
define([_forloop],
[$4[]ifelse($1, [$3], [], [define([$1], incr($1))$0($@)])])
set $mod Mod4
font pango:monospace 7
new_window none
hide_edge_borders both
focus_on_window_activation urgent
floating_modifier $mod
bindsym $mod+Return exec alacritty
bindsym $mod+Shift+q kill
bindsym $mod+d exec rofi -show run
bindsym $mod+Tab exec rofi -show window
bindsym $mod+p exec rofi-pass
define([dir_bind], [
bindsym $mod+$2 focus $1
bindsym $mod+Shift+$2 move $1
bindsym $mod+Mod1+$2 move workspace to output $1
])
dir_bind(left, h) dir_bind(left, Left)
dir_bind(down, j) dir_bind(down, Down)
dir_bind(up, k) dir_bind(up, Up)
dir_bind(right, l) dir_bind(right, Right)
bindsym $mod+v split h
bindsym $mod+g split v
bindsym $mod+f fullscreen toggle
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
bindsym $mod+Shift+space floating toggle
bindsym $mod+Ctrl+space focus mode_toggle
bindsym $mod+a focus parent
bindsym $mod+b focus child
forloop([i], 1,9, [
bindsym $mod+i workspace i
bindsym $mod+Shift+i move container to workspace i
])
# reload the configuration file
bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# 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'"
# TODO
# ifelse(hostname, [petalius], [
# # brightness control
# bindsym XF86MonBrightnessDown exec light -U 10
# bindsym XF86MonBrightnessUp exec light -A 10
# bindsym Shift+XF86MonBrightnessDown exec light -U 1
# bindsym Shift+XF86MonBrightnessUp exec light -A 1
# ])
# 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 windows width.
# Pressing right will grow the windows width.
# Pressing up will shrink the windows height.
# Pressing down will grow the windows height.
bindsym h resize shrink width 10 px or 10 ppt
bindsym j resize grow height 10 px or 10 ppt
bindsym k resize shrink height 10 px or 10 ppt
bindsym l 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"
mode "moveit" {
bindsym h move left 25 px
bindsym j move down 25 px
bindsym k move up 25 px
bindsym l move right 25 px
# same bindings, but for the arrow keys
bindsym Left move left 25 px
bindsym Down move down 25 px
bindsym Up move up 25 px
bindsym Right move right 25 px
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+m mode "moveit"
define([defcolor], [define(base$1, ["[#]$2"])])
include([base16.m4])
# client.focused base0D base0D base00 base01
# client.focused_inactive base02 base02 base03 base01
# client.unfocused base01 base01 base03 base01
# client.urgent base02 base08 base07 base08
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
bar {
status_command i3status
font pango:DejaVu Sans, Noto Sans CJK JP 8
colors {
separator base03
background base01
statusline base05
focused_workspace base0C base0D base00
active_workspace base02 base02 base07
inactive_workspace base01 base01 base03
urgent_workspace base08 base08 base07
}
}
# exec --no-startup-id nm-applet
# exec --no-startup-id pa-applet
# exec --no-startup-id blueman-applet
bindsym $mod+Ctrl+l exec --no-startup-id loginctl lock-session
exec swayidle -w \
timeout 300 /home/gebner/etc/swaylock.sh \
timeout 600 'swaymsg "output * dpms off"' \
resume 'swaymsg "output * dpms on"' \
before-sleep /home/gebner/etc/swaylock.sh
output * bg gray solid_color
output * bg /home/gebner/Desktop/background.png fill
input * xkb_layout us
input * xkb_variant altgr-intl
input * xkb_options caps:ctrl_modifier
ifelse(hostname, [theba], [
workspace 1 output eDP1
workspace 9 output DP2 # VGA
])
# TODO
ifelse(hostname, [archachatina], [
# exec --no-startup-id ~/.screenlayout/studyroom.sh
])
ifelse(hostname, [decoysnail], [
# exec --no-startup-id ~/.screenlayout/desk.sh
])
# pdfpc
assign [[window_role="presenter"]] 1
assign [[window_role="presentation"]] 9

9
swaylock.sh Executable file

@ -0,0 +1,9 @@
#!/bin/sh
bg_img=~/Desktop/background.png
if [ -f $bg_img ]; then
exec swaylock -f -i $bg_img
else
exec swaylock -f -c 777777
fi