dotfiles/.i3/config

245 lines
8.5 KiB
Plaintext
Raw Permalink Normal View History

2015-12-12 23:52:58 +01:00
# This file has been auto-generated by i3-config-wizard(1).
# It will not be overwritten, so edit it as you like.
#
# Should you change your keyboard layout some time, delete
# this file and re-run i3-config-wizard(1).
#
# i3 config file (v4)
#
# Please see http://i3wm.org/docs/userguide.html for a complete reference!
set $mod Mod4
# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
# This font is widely installed, provides lots of unicode glyphs, right-to-left
# text rendering and scalability on retina/hidpi displays (thanks to pango).
font pango:DejaVu Sans Mono 8
# Before i3 v4.8, we used to recommend this one as the default:
# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
# The font above is very space-efficient, that is, it looks good, sharp and
# clear in small sizes. However, its unicode glyph coverage is limited, the old
# X core fonts rendering does not support right-to-left and this being a bitmap
# font, it doesnt scale on retina/hidpi displays.
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
hide_edge_borders both # none|vertical|horizontal|both
2015-12-12 23:52:58 +01:00
# start a terminal
2022-03-31 21:46:35 +02:00
bindsym $mod+Return exec kitty
2015-12-12 23:52:58 +01:00
# kill focused window
bindsym $mod+Shift+q kill
# start dmenu (a program launcher)
bindsym $mod+d exec dmenu_run
# There also is the (new) i3-dmenu-desktop which only displays applications
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
# installed.
# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
2018-03-06 21:17:10 +01:00
bindsym Ctrl+Shift+l exec i3lock-fancy
2022-03-11 16:52:13 +01:00
bindsym $mod+o exec speedcrunch
2015-12-15 01:21:21 +01:00
2015-12-12 23:52:58 +01:00
# change focus
bindsym $mod+j focus left
bindsym $mod+k focus down
bindsym $mod+l focus right
# alternatively, you can use the cursor keys:
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Right focus right
# move focused window
bindsym $mod+Shift+j move left
bindsym $mod+Shift+k move down
bindsym $mod+Shift+l move right
# alternatively, you can use the cursor keys:
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Right move right
# split in horizontal orientation
bindsym $mod+h split h
# split in vertical orientation
bindsym $mod+v split v
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
# float some applications
for_window [class="Tor Browser"] floating enable
2022-03-11 16:52:13 +01:00
for_window [title="SpeedCrunch"] floating enable
2015-12-12 23:52:58 +01:00
bindsym $mod+a focus parent # focus the parent container
2015-12-12 23:52:58 +01:00
# manage workspaces
2019-01-05 14:01:21 +01:00
# look for icons: https://fontawesome.com/icons?d=gallery
# firefox - browser is placed on this Workspace
set $WS1 "1 "
# git - emacs <3
set $WS2 "2 "
# terminal - place for urxvt
set $WS3 "3 "
# envelope - thunderbird windows on here
set $WS4 "4 "
# code - eclise, intellij IDEs, etc
set $WS5 "5 "
# unlock-alt - keepassxc defaults here
set $WS8 "8 "
# linux - less often used terminals for background processes
set $WS9 "9 "
assign [class="^Firefox$"] $WS1
2022-02-05 13:38:41 +01:00
assign [class="^DebugScreen"] $WS3
assign [class="^Eclipse$"] $WS5
assign [class="^Thunderbird$"] $WS4
2019-01-05 13:28:06 +01:00
assign [class=".*ee.*ass.*"] $WS8
2018-01-06 15:34:00 +01:00
# https://faq.i3wm.org/question/3726/workspace-output-multiple-values/index.html%3Fanswer=3731.html#post-id-3731
2022-03-11 16:52:13 +01:00
# set $LAPTOP LVDS-1
set $CENTER DP-0
set $RIGHT DP-3
2022-02-05 13:38:41 +01:00
set $LEFT DVI-D-0
2018-05-28 19:55:53 +02:00
# monitor settings
bindsym $mod+m mode "monitor"
mode "monitor" {
2020-11-07 19:05:22 +01:00
# only laptop
2018-05-28 19:55:53 +02:00
bindsym 1 exec xrandr --output $LAPTOP --auto --primary --output $CENTER --off $RIGHT --off
2022-02-05 13:38:41 +01:00
# CENTER main, RIGHT secondary
2020-11-07 19:05:22 +01:00
bindsym 2 exec xrandr --output $CENTER --primary --auto --output $LAPTOP --auto --left-of $CENTER --output $RIGHT --off
# HDMI main, laptop left, VGA right, *not* supported on X230
2022-03-11 16:51:43 +01:00
bindsym 3 exec xrandr --output $CENTER --primary --auto --output $LEFT --auto --left-of $CENTER --output $RIGHT --auto --right-of $CENTER
2022-02-05 13:38:41 +01:00
# CENTER main, RIGHT right, rotated
2022-04-02 09:56:50 +02:00
bindsym 4 exec xrandr --output $CENTER --primary --auto --output $RIGHT --auto --right-of $CENTER --rotate left --output $LAPTOP --off --output $LEFT --auto --left-of $CENTER --rotate right
2020-11-07 19:05:22 +01:00
# VGA main, laptop left, HDMI off
bindsym 8 exec xrandr --output $RIGHT --primary --auto --output $LAPTOP --auto --left-of $RIGHT --output $CENTER --off
# HDMI main, VGA right, laptop off
bindsym 9 exec xrandr --output $CENTER --primary --auto --output $RIGHT --auto --right-of $CENTER --output $LAPTOP --off
2018-05-28 19:55:53 +02:00
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym $mod+m mode "default"
}
workspace $WS1 output $CENTER
workspace $WS2 output $CENTER
2022-02-05 13:38:41 +01:00
workspace $WS3 output $RIGHT
workspace $WS4 output $RIGHT
workspace $WS8 output $RIGHT
workspace $WS9 output $RIGHT
2016-03-15 16:08:00 +01:00
2015-12-12 23:52:58 +01:00
# 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
2015-12-12 23:52:58 +01:00
bindsym $mod+6 workspace 6
bindsym $mod+7 workspace 7
bindsym $mod+8 workspace $WS8
bindsym $mod+9 workspace $WS9
2015-12-12 23:52:58 +01:00
bindsym $mod+0 workspace 10
# 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
2015-12-12 23:52:58 +01:00
bindsym $mod+Shift+6 move container to workspace 6
bindsym $mod+Shift+7 move container to workspace 7
bindsym $mod+Shift+8 move container to workspace $WS8
bindsym $mod+Shift+9 move container to workspace $WS9
2015-12-12 23:52:58 +01:00
bindsym $mod+Shift+0 move container to workspace 10
2015-12-15 01:21:21 +01:00
# audio controls
bindsym XF86AudioRaiseVolume exec amixer set Master 5+ #increase sound volume
bindsym XF86AudioLowerVolume exec amixer set Master 5- #decrease sound volume
bindsym XF86AudioMute exec amixer set Master 1+ toggle # mute sound
bindsym XF86AudioMicMute exec amixer set Capture toggle # mute mic
2015-12-12 23:52:58 +01:00
# 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'"
# 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.
2023-01-21 14:19:54 +01:00
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 5 px
bindsym Down resize grow height 5 px
bindsym Up resize shrink height 5 px
bindsym Right resize grow width 5 px
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
2015-12-12 23:52:58 +01:00
}
bindsym $mod+r mode "resize"
bar {
2022-04-02 09:56:50 +02:00
font pango:DejaVu Sans, FontAwesome 9
# position top
2021-09-19 00:34:34 +02:00
output $CENTER
2022-04-02 09:56:50 +02:00
status_command /usr/bin/i3status-rs /home/fschl/dotfiles/.i3/status-rust.toml
colors {
separator #166616
background #222222
statusline #166616
focused_workspace #0088CC #0088CC #ffffff
active_workspace #333333 #333333 #ffffff
inactive_workspace #333333 #333333 #888888
urgent_workspace #2f343a #900000 #ffffff
}
}
bar {
2020-11-07 19:05:22 +01:00
output $RIGHT
2022-03-11 16:51:43 +01:00
output $LEFT
status_command i3status --config ~/.i3/status_small.conf
2022-02-05 13:38:41 +01:00
tray_output $CENTER
2015-12-12 23:52:58 +01:00
}
# startup programs
2017-02-25 00:16:46 +01:00
exec --no-startup-id nm-applet
2022-04-02 09:56:50 +02:00
exec --no-startup-id xrandr --output $CENTER --primary --auto --output $RIGHT --auto --right-of $CENTER --rotate left --output $LAPTOP --off --output $LEFT --auto --left-of $CENTER --rotate right
2018-12-27 23:36:11 +01:00
exec --no-startup-id i3-msg 'workspace $WS1; exec firefox;'
exec --no-startup-id i3-msg 'workspace $WS2; exec emacs'
2019-01-05 13:29:21 +01:00
exec --no-startup-id i3-msg 'exec thunderbird'
exec --no-startup-id i3-msg 'exec keepassxc'
2022-10-27 19:47:23 +02:00
exec --no-startup-id i3-msg 'workspace $WS5; exec kitty;'
2020-11-07 19:05:22 +01:00