diff options
-rw-r--r-- | i3status.conf | 51 | ||||
-rw-r--r-- | i3wm.conf | 175 | ||||
-rwxr-xr-x | install | 31 | ||||
-rw-r--r-- | install.config | 2 |
4 files changed, 259 insertions, 0 deletions
diff --git a/i3status.conf b/i3status.conf new file mode 100644 index 0000000..32d77e9 --- /dev/null +++ b/i3status.conf @@ -0,0 +1,51 @@ +# dotfiles -- i3status +# author: johannst + +general { + colors = true + interval = 5 +} + +order += "wireless wlan0" +order += "ethernet eth0" +order += "battery 0" +order += "load" +order += "volume master" +order += "tztime local" + +wireless wlan0 { + format_up = "W: (%quality at %essid, %bitrate) %ip" + format_down = "W: down" +} + +ethernet eth0 { + format_up = "E: %ip (%speed)" + format_down = "E: down" +} + +battery 0 { + # show battery capacity in relation to last full capacity instead of the design capacity + last_full_capacity = true + integer_battery_capacity = true + low_threshold = 30 + threshold_type = "percentage" + format = "%status %percentage %remaining (%consumption)" + path = "/sys/class/power_supply/BAT%d/uevent" +} + +tztime local { + format = "%Y-%m-%d %H:%M:%S" +} + +load { + format = "%1min" +} + +volume master { + format = "♪: %volume" + format_muted = "♪: muted (%volume)" + device = "default" + mixer = "Master" + mixer_idx = 0 +} + diff --git a/i3wm.conf b/i3wm.conf new file mode 100644 index 0000000..097de41 --- /dev/null +++ b/i3wm.conf @@ -0,0 +1,175 @@ +# dotfiles -- i3config +# author: johannst + +# i3 config file (v4) + +# helpful cmdline tools: +# * xev +# * xmodmap + +# alt key +set $mod Mod1 +# super key +#set $mod Mod4 + +font pango:Terminus 10 + +# mouse+$mod to move/rezie window in floating mode +floating_modifier $mod + +# kill focused Window +bindsym $mod+Shift+q kill +# 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'" + +#{{{ basic layout hadling + +# container layout +bindsym $mod+q layout stacking +bindsym $mod+w layout tabbed +bindsym $mod+e layout toggle split + +# fullscreen focused container +bindsym $mod+f fullscreen + +# toggle tiling / floating +bindsym $mod+Shift+space floating toggle + +# split vertical -> new window right to current one +bindsym $mod+v split h + +# split horizontal -> new window below current one +bindsym $mod+s split v + +#}}} +#{{{ container focus + +# Change focus vim style +bindsym $mod+h focus left +bindsym $mod+j focus down +bindsym $mod+k focus up +bindsym $mod+l focus right +# Change focus arrow keys +bindsym $mod+Left focus left +bindsym $mod+Down focus down +bindsym $mod+Up focus up +bindsym $mod+Right focus right + +# change focus between tiling / floating windows +bindsym $mod+space focus mode_toggle + +# focus the parent container +bindsym $mod+a focus parent + +#}}} +#{{{ navigate between workspaces + +# switch to workspace +bindsym $mod+1 workspace 1 +bindsym $mod+2 workspace 2 +bindsym $mod+3 workspace 3 +bindsym $mod+4 workspace 4 +bindsym $mod+5 workspace 5 +bindsym $mod+6 workspace 6 +bindsym $mod+7 workspace 7 +bindsym $mod+8 workspace 8 +bindsym $mod+9 workspace 9 +bindsym $mod+0 workspace 10 + +#}}} +#{{{ move focused container + +# Move focused window vim style +bindsym $mod+Shift+h move left +bindsym $mod+Shift+j move down +bindsym $mod+Shift+k move up +bindsym $mod+Shift+l move right +# Move focused window arrow keys +bindsym $mod+Shift+Left move left +bindsym $mod+Shift+Down move down +bindsym $mod+Shift+Up move up +bindsym $mod+Shift+Right move right + +# move focused container to workspace +bindsym $mod+Shift+1 move container to workspace 1 +bindsym $mod+Shift+2 move container to workspace 2 +bindsym $mod+Shift+3 move container to workspace 3 +bindsym $mod+Shift+4 move container to workspace 4 +bindsym $mod+Shift+5 move container to workspace 5 +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 8 +bindsym $mod+Shift+9 move container to workspace 9 +bindsym $mod+Shift+0 move container to workspace 10 + +#}}} +#{{{ resize mode + +bindsym $mod+r mode "resize" + +# bindings for resize mode +mode "resize" { + 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 + + 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" +} + +#}}} +#{{{ Thinkpad T410 volume keys + +bindsym XF86AudioRaiseVolume exec "amixer set Master 5%+" +bindsym XF86AudioLowerVolume exec "amixer set Master 5%-" + +#}}} +#{{{ lock/suspend + +set $lock_cmd i3lock --inactivity-timeout 30s -d --ignore-empty-password -c 455a64 + +# lock screen +bindsym $mod+Control+l exec $lock_cmd + +# power mode +set $power_mode (l) lock (s) suspend +bindsym $mod+Pause mode "$power_mode" + +mode "$power_mode" { + bindsym l exec $lock_cmd, mode "default" + bindsym s exec $lock_cmd && systemctl suspend, mode "default" + + bindsym Escape mode "default" + bindsym Return mode "default" +} + +#}}} +#{{{ i3bar + +# Start i3bar +bar { + status_command i3status --config ~/.i3/i3status.conf +} + +#}}} + +# PLAYGROUND + +# pin applications to specific workspace +# helpfull to get name: 'xprop | grep WM_CLASS' (then click window) +assign [class="Firefox"] 9 + +bindsym $mod+p exec "notify-send \\"Hello, i3; $USER\\"" + +#% vim:fen:fdm=marker:fmr={{{,}}}:fdl=0:fdc=1 @@ -14,6 +14,8 @@ gToolsConfig=( "tmux.conf:tmux:tmuxConfigInstaller" "vimrc:vim:vimConfigInstaller" "Xresources:xterm:xtermConfigInstaller" +"i3config:i3:i3ConfigInstaller" +"i3status:i3status:i3statusConfigInstaller" ) gMagicNumber=e2718281 @@ -123,6 +125,35 @@ function vimConfigInstaller() { function xtermConfigInstaller() { echo "xtermConfigInstaller called" + return 0 +} + +#}}} +#{{{ i3ConfigInstaller + +function i3ConfigInstaller() { + local i3_home=~/.i3 + local i3_conf=$i3_home/config + mkdir $i3_home 2> /dev/null + if [ -f $i3_conf ]; then + return 1 + fi + cp i3wm.conf $i3_conf + return 0 +} + +#}}} +#{{{ i3statusConfigInstaller + +function i3statusConfigInstaller() { + local i3_home=~/.i3 + local i3_status_conf=$i3_home/i3status.conf + mkdir $i3_home 2> /dev/null + if [ -f $i3_status_conf ]; then + return 1 + fi + cp i3status.conf $i3_status_conf + return 0 } #}}} diff --git a/install.config b/install.config index e9d8be9..5e82273 100644 --- a/install.config +++ b/install.config @@ -11,3 +11,5 @@ n - gitconfig n - tmux.conf n - vimrc n - Xresources +n - i3config +n - i3status |