183 lines
5.1 KiB
Plaintext
183 lines
5.1 KiB
Plaintext
# 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 ~/etc/my-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'"
|
||
|
||
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
|
||
])
|
||
|
||
bindsym Print exec ~/etc/toggle_mute.sh
|
||
ifelse(hostname, [petalius], [
|
||
bindsym Ctrl+Print exec ~/etc/toggle_mute.sh
|
||
])
|
||
|
||
# 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 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:Noto Sans Mono CJK JP 8
|
||
font pango:Fira Sans Mono 8
|
||
|
||
ifelse(hostname, [flammea], [
|
||
tray_output DisplayPort-0
|
||
])
|
||
|
||
colors {
|
||
separator "#999999"
|
||
background "#000000"
|
||
statusline base05
|
||
focused_workspace "#777777" "#777777" "#ffffff"
|
||
active_workspace "#444444" "#444444" "#ffffff"
|
||
inactive_workspace "#333333" "#333333" "#666666"
|
||
urgent_workspace "#ff4500" "#ff4500" "#ffffff"
|
||
}
|
||
}
|
||
|
||
|
||
exec --no-startup-id gsd-xsettings
|
||
exec --no-startup-id nm-applet
|
||
# exec --no-startup-id pa-applet
|
||
exec --no-startup-id pasystray
|
||
exec --no-startup-id blueman-applet
|
||
exec --no-startup-id unclutter --timeout 1
|
||
|
||
bindsym $mod+Ctrl+l exec --no-startup-id loginctl lock-session
|
||
exec --no-startup-id xset s 300
|
||
exec --no-startup-id xss-lock -lv /home/gebner/etc/lock.sh
|
||
|
||
exec_always --no-startup-id xsetroot -solid grey
|
||
exec_always --no-startup-id feh --bg-fill /home/gebner/Desktop/background.png
|
||
|
||
ifelse(hostname, [theba], [
|
||
workspace 1 output eDP1
|
||
workspace 9 output DP2 # VGA
|
||
])
|
||
|
||
ifelse(hostname, [flammea], [
|
||
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
|