diff --git a/i3/i3/config.d/default b/i3/i3/config.d/default new file mode 100644 index 0000000..b3c19a2 --- /dev/null +++ b/i3/i3/config.d/default @@ -0,0 +1,3 @@ +bar { + status_command i3status +} diff --git a/i3/i3/config.d/netbook b/i3/i3/config.d/netbook new file mode 100644 index 0000000..5197a9f --- /dev/null +++ b/i3/i3/config.d/netbook @@ -0,0 +1,38 @@ + +# bind some keys +bindsym XF86Sleep exec --no-startup-id $path_i3exit suspend +bindsym XF86AudioMute exec --no-startup-id amixer set Master toggle +bindsym XF86AudioRaiseVolume exec --no-startup-id amixer set Master %5+ +bindsym XF86AudioLowerVolume exec --no-startup-id amixer set Master %5- + +# start i3bar to display a workspace bar (plus the system information i3status +# finds out, if available) +bar { + # always show at the bottom of the screen + mode dock + position bottom + + # show a tray area + tray_output primary + + # show workspace buttons + workspace_buttons yes + + id bar-1 + + font pango:DejaVu Sans Mono 8 + + colors { + background #000000 + statusline #ffffff + separator #666666 + + focused_workspace #4c7899 #285577 #ffffff + active_workspace #333333 #5f676a #ffffff + inactive_workspace #333333 #222222 #888888 + urgent_workspace #2f343a #900000 #ffffff + } + + i3bar_command i3bar + status_command i3status --config $path_i3status_config +} diff --git a/i3/i3/genconfig.bash b/i3/i3/genconfig.bash new file mode 100644 index 0000000..c0a6115 --- /dev/null +++ b/i3/i3/genconfig.bash @@ -0,0 +1,31 @@ +#!/bin/bash + +# main configuration file that is always used +MAIN_CONF="$HOME/.i3/config" +# temporary configuration file used for this session +SESSION_CONF="$HOME/.i3/session.config" +# directory that contains host specific configuration +CONF_DIR="$HOME/.i3/config.d" +# file that should be used when no host specific configuration present +DEFAULT_CONF="$CONF_DIR/default" + +host_specific_conf="$CONF_DIR/$(hostname).config" + +# if it's a symlink to $MAIN_CONF, cat will fail +[[ -f "$SESSION_CONF" ]] && rm "$SESSION_CONF" + +if [[ ! -f "$host_specific_conf" ]] && [[ ! -f "$DEFAULT_CONF" ]]; then + # if there is no host-specific configuration and no default one, just use + # the main config + ln -sf "$MAIN_CONF" "$SESSION_CONF" +else + # either use the host specific config if present, or the default if not + if [[ -f "$host_specific_conf" ]]; then + conf_to_use="$host_specific_conf" + else + conf_to_use="$DEFAULT_CONF" + fi + cat "$MAIN_CONF" "$conf_to_use" > "$SESSION_CONF" +fi + +echo "$SESSION_CONF"