From 42df1b23211e8f628369b9572577a29988896073 Mon Sep 17 00:00:00 2001 From: Maximilian Friedersdorff Date: Tue, 8 May 2018 15:52:32 +0100 Subject: [PATCH] Have different i3 configuration depending on hostname --- X/.xinitrc | 8 +- i3/.config/i3/config | 26 +---- i3/.config/i3/config.base | 178 +++++++++++++++++++++++++++++++++ i3/.config/i3/config.magnesium | 39 ++++++++ i3/.config/i3/config.platinum | 18 ++++ 5 files changed, 244 insertions(+), 25 deletions(-) create mode 100644 i3/.config/i3/config.base create mode 100644 i3/.config/i3/config.magnesium create mode 100644 i3/.config/i3/config.platinum diff --git a/X/.xinitrc b/X/.xinitrc index 2521a88..144eb23 100644 --- a/X/.xinitrc +++ b/X/.xinitrc @@ -85,8 +85,14 @@ if [ -x $(which xscreensaver) ]; then xscreensaver& fi +# configure i3 + +if [ -f ~/.config/i3/config.base ]; then + cat ~/.config/i3/config.base ~/.config/i3/config.${HOSTNAME} > ~/.config/i3/config +fi + case $HOSTNAME in - magnesium) + magnesium|platinum) exec i3 ;; *) diff --git a/i3/.config/i3/config b/i3/.config/i3/config index c27b0bd..b94b858 100644 --- a/i3/.config/i3/config +++ b/i3/.config/i3/config @@ -29,7 +29,6 @@ client.focused_inactive $black $black_super $white $black $black set $mod Mod4 -font pango:Liberation Mono 8 # Use Mouse+$mod to drag floating windows to their wanted position floating_modifier $mod @@ -173,25 +172,17 @@ bindsym $mod+p mode "resize" hide_edge_borders both -workspace 1 output HDMI2 -workspace 2 output VGA1 focus_follows_mouse no focus_on_window_activation urgent - - - - - # Start i3bar to display a workspace bar (plus the system information i3status # finds out, if available) bar { id bar_left status_command conky-i3bar position top - output "DVI-I-1" - font pango:Liberation Mono 10 + font pango:Liberation Mono 12 colors { background $black_super focused_background $black @@ -202,17 +193,4 @@ bar { } } -bar { - id bar_right - position top - output "HDMI-4" - font pango:Liberation Mono 10 - colors { - background $black_super - focused_background $black - focused_workspace $black_super $yellow_super $black - active_workspace $black_super $blue_super $black - inactive_workspace $black_super $black_super $white_super - urgent_workspace $black $red_super $white - } -} +font pango:Liberation Mono 10 diff --git a/i3/.config/i3/config.base b/i3/.config/i3/config.base new file mode 100644 index 0000000..0be5498 --- /dev/null +++ b/i3/.config/i3/config.base @@ -0,0 +1,178 @@ +# Colors +set_from_resource $black i3wm.color0 #000000 +set_from_resource $black_super i3wm.color8 #000000 + +set_from_resource $red i3wm.color1 #ff0000 +set_from_resource $red_super i3wm.color9 #dd0000 + +set_from_resource $green i3wm.color2 #00ff00 +set_from_resource $green_super i3wm.color10 #00dd00 + +set_from_resource $yellow i3wm.color3 #000000 +set_from_resource $yellow_super i3wm.color11 #000000 + +set_from_resource $blue i3wm.color4 #000000 +set_from_resource $blue_super i3wm.color12 #000000 + +set_from_resource $magenta i3wm.color5 #000000 +set_from_resource $magenta_super i3wm.color13 #000000 + +set_from_resource $cyan i3wm.color6 #000000 +set_from_resource $cyan_super i3wm.color14 #000000 + +set_from_resource $white i3wm.color7 #000000 +set_from_resource $white_super i3wm.color15 #000000 + +client.focused $black $yellow_super $black $black $black +client.focused_inactive $black $black_super $white $black $black + + +set $mod Mod4 + + +# Use Mouse+$mod to drag floating windows to their wanted position +floating_modifier $mod + +bindsym Control+t mode "$ratpoison" + +set $ws1 "1" +set $ws2 "2" +set $ws3 "3" +set $ws4 "4" +set $ws5 "5" +set $ws6 "6" +set $ws7 "7" +set $ws8 "8" +set $ws9 "9" +set $ws10 "10" + +mode "$ratpoison" { +# All/most commands in this mode should revert to the default mode on comleption. +# We are emulating ratpoison (kinda) here + +# Moving to workspaces +# bindsym n workspace next mode "default" +# bindsym Shift+n workspace prev mode "default" + + bindsym 1 mode "default" workspace $ws1 + bindsym 2 mode "default" workspace $ws2 + bindsym 3 mode "default" workspace $ws3 + bindsym 4 mode "default" workspace $ws4 + bindsym 5 mode "default" workspace $ws5 + bindsym 6 mode "default" workspace $ws6 + bindsym 7 mode "default" workspace $ws7 + bindsym 8 mode "default" workspace $ws8 + bindsym 9 mode "default" workspace $ws9 + bindsym 0 mode "default" workspace $ws10 + + bindsym Shift+1 mode "default" move container to workspace $ws1 + bindsym Shift+2 mode "default" move container to workspace $ws2 + bindsym Shift+3 mode "default" move container to workspace $ws3 + bindsym Shift+4 mode "default" move container to workspace $ws4 + bindsym Shift+5 mode "default" move container to workspace $ws5 + bindsym Shift+6 mode "default" move container to workspace $ws6 + bindsym Shift+7 mode "default" move container to workspace $ws7 + bindsym Shift+8 mode "default" move container to workspace $ws8 + bindsym Shift+9 mode "default" move container to workspace $ws9 + bindsym Shift+0 mode "default" move container to workspace $ws10 + +# Moving focus +# bindsym Tab focus right mode "default" +# bindsym Shift+Tab focus left mode "default" + + bindsym h focus left mode "default" + bindsym j focus down mode "default" + bindsym k focus up mode "default" + bindsym l focus right mode "default" + + +# Moving windows + bindsym Shift+h mode "default" move left + bindsym Shift+j mode "default" move down + bindsym Shift+k mode "default" move up + bindsym Shift+l mode "default" move right + +# Changing split modes + bindsym v split v mode "default" + bindsym o split h mode "default" + + + bindsym c mode "default" exec i3-sensible-terminal + bindsym q mode "default" kill + + bindsym Shift+e mode "default" exec dmenu_run + + bindsym Escape mode "default" + + bindsym $mod+l mode "default" exec "xscreensaver-command -lock&" + +} + + + +# 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 + +# enter fullscreen mode for the focused container +bindsym $mod+t fullscreen toggle + +# change container layout (stacked, tabbed, toggle split) +bindsym $mod+r layout stacking +bindsym $mod+w layout tabbed +bindsym $mod+f layout toggle split + +# toggle tiling / floating +bindsym $mod+Shift+space floating toggle + +# change focus between tiling / floating windows +bindsym $mod+space focus mode_toggle + +# focus the parent container +bindsym $mod+a focus parent + +# focus the child container +#bindsym $mod+d focus child + +# 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 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 or $mod+r + bindsym Return mode "default" + bindsym Escape mode "default" + bindsym $mod+p mode "default" +} + +bindsym $mod+p mode "resize" + + + +hide_edge_borders both + +focus_follows_mouse no + +focus_on_window_activation urgent diff --git a/i3/.config/i3/config.magnesium b/i3/.config/i3/config.magnesium new file mode 100644 index 0000000..388ba51 --- /dev/null +++ b/i3/.config/i3/config.magnesium @@ -0,0 +1,39 @@ +# Start i3bar to display a workspace bar (plus the system information i3status +# finds out, if available) +bar { + id bar_left + status_command conky-i3bar + position top + output "DVI-I-1" + font pango:Liberation Mono 10 + colors { + background $black_super + focused_background $black + focused_workspace $black_super $yellow_super $black + active_workspace $black_super $blue_super $black + inactive_workspace $black_super $black_super $white_super + urgent_workspace $black $red_super $white + } +} + +bar { + id bar_right + position top + output "HDMI-4" + font pango:Liberation Mono 10 + colors { + background $black_super + focused_background $black + focused_workspace $black_super $yellow_super $black + active_workspace $black_super $blue_super $black + inactive_workspace $black_super $black_super $white_super + urgent_workspace $black $red_super $white + } +} + + +workspace 1 output HDMI2 +workspace 2 output VGA1 + + +font pango:Liberation Mono 8 diff --git a/i3/.config/i3/config.platinum b/i3/.config/i3/config.platinum new file mode 100644 index 0000000..084cb9d --- /dev/null +++ b/i3/.config/i3/config.platinum @@ -0,0 +1,18 @@ +# Start i3bar to display a workspace bar (plus the system information i3status +# finds out, if available) +bar { + id bar_left + status_command conky-i3bar + position top + font pango:Liberation Mono 12 + colors { + background $black_super + focused_background $black + focused_workspace $black_super $yellow_super $black + active_workspace $black_super $blue_super $black + inactive_workspace $black_super $black_super $white_super + urgent_workspace $black $red_super $white + } +} + +font pango:Liberation Mono 10 -- 2.46.2