etc/i3/config.m4

175 lines
4.9 KiB
Plaintext
Raw Normal View History

2015-06-03 15:43:02 +02:00
# vim:ft=conf:
2015-11-22 09:21:47 +01:00
changequote([,])
2015-06-03 15:43:02 +02:00
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($@)])])
2015-06-03 15:43:02 +02:00
set $mod Mod4
font pango:monospace 7
new_window none
hide_edge_borders both
2016-02-28 14:56:00 +01:00
focus_on_window_activation urgent
2015-06-03 15:43:02 +02:00
floating_modifier $mod
2018-11-18 11:45:39 +01:00
bindsym $mod+Return exec alacritty
2015-06-03 15:43:02 +02:00
bindsym $mod+Shift+q kill
bindsym $mod+d exec rofi -show run
2015-07-09 11:10:49 +02:00
bindsym $mod+Tab exec rofi -show window
2016-07-24 09:55:26 +02:00
bindsym $mod+p exec rofi-pass
2015-06-03 15:43:02 +02:00
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
2016-02-28 14:56:00 +01:00
bindsym $mod+Ctrl+space focus mode_toggle
2015-06-03 15:43:02 +02:00
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], [
2015-06-03 15:43:02 +02:00
# brightness control
2016-08-01 09:11:30 +02:00
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
2015-06-03 15:43:02 +02:00
])
# 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
2015-06-03 15:43:02 +02:00
# 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" {
2017-07-02 18:26:36 +02:00
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
2017-07-02 18:26:36 +02:00
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"])])
2015-11-22 09:21:47 +01:00
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
2015-06-03 15:43:02 +02:00
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
bar {
2015-11-22 09:21:47 +01:00
status_command i3status
2018-11-19 14:14:19 +01:00
font pango:DejaVu Sans, Noto Sans CJK JP 8
2015-11-22 09:21:47 +01:00
2020-07-14 13:15:16 +02:00
ifelse(hostname, [archachatina], [
tray_output DisplayPort-3
])
2015-11-22 09:21:47 +01:00
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
}
2015-06-03 15:43:02 +02:00
}
2015-11-22 09:21:47 +01:00
2015-06-03 15:43:02 +02:00
exec --no-startup-id nm-applet
2019-01-06 17:27:18 +01:00
# exec --no-startup-id pa-applet
2019-05-28 09:42:02 +02:00
exec --no-startup-id blueman-applet
2019-05-28 09:42:11 +02:00
exec --no-startup-id unclutter --timeout 1
2015-06-03 15:43:02 +02:00
2016-07-24 08:53:42 +02:00
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
2015-06-03 15:43:02 +02:00
2018-10-28 14:53:19 +01:00
exec_always --no-startup-id xsetroot -solid grey
exec_always --no-startup-id feh --bg-fill /home/gebner/Desktop/background.png
2015-06-03 15:43:02 +02:00
ifelse(hostname, [theba], [
workspace 1 output eDP1
workspace 9 output DP2 # VGA
])
2015-07-12 15:36:06 +02:00
ifelse(hostname, [archachatina], [
exec --no-startup-id ~/.screenlayout/studyroom.sh
])
ifelse(hostname, [decoysnail], [
exec --no-startup-id ~/.screenlayout/desk.sh
])
2015-07-12 15:36:06 +02:00
2015-06-03 15:43:02 +02:00
# pdfpc
assign [[window_role="presenter"]] 1
assign [[window_role="presentation"]] 9