From 3544853025e6a5068cbd95be81b2088ea40ea5f6 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Thu, 11 Jul 2019 14:05:06 +0200 Subject: [PATCH] [ADD] i3 and i3blocks configurations --- i3/.config/i3/config | 222 +++++++++++++++++++++++++++++++ i3blocks/.config/i3blocks/config | 138 +++++++++++++++++++ 2 files changed, 360 insertions(+) create mode 100644 i3/.config/i3/config create mode 100644 i3blocks/.config/i3blocks/config diff --git a/i3/.config/i3/config b/i3/.config/i3/config new file mode 100644 index 0000000..0758e3e --- /dev/null +++ b/i3/.config/i3/config @@ -0,0 +1,222 @@ +# 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 https://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 doesn’t scale on retina/hidpi displays. + +# Use Mouse+$mod to drag floating windows to their wanted position +floating_modifier $mod + +# start a terminal +bindsym $mod+Return exec i3-sensible-terminal + +# kill focused window +bindsym $mod+Shift+q kill + +# start dmenu (a program launcher) +bindsym $mod+Shift+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 + +# change focus +bindsym $mod+j focus left +bindsym $mod+k focus down +bindsym $mod+l focus up +bindsym $mod+m focus right + +# alternatively, you can use the cursor keys: +bindsym $mod+Left focus left +bindsym $mod+Down focus down +bindsym $mod+Up focus up +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 up +bindsym $mod+Shift+m move right + +# alternatively, you can use the cursor 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 + +# 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 toggle + +# 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 + +# focus the parent container +bindsym $mod+q focus parent + +# focus the child container +#bindsym $mod+d focus child + +# Define names for default workspaces for which we configure key bindings later on. +# We use variables to avoid repeating the names in multiple places. +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" + +# switch to workspace +bindsym $mod+ampersand workspace $ws1 +bindsym $mod+eacute workspace $ws2 +bindsym $mod+quotedbl workspace $ws3 +bindsym $mod+apostrophe workspace $ws4 +bindsym $mod+parenleft workspace $ws5 +bindsym $mod+minus workspace $ws6 +bindsym $mod+egrave workspace $ws7 +bindsym $mod+underscore workspace $ws8 +bindsym $mod+ccedilla workspace $ws9 + +# move focused container to workspace +bindsym $mod+Shift+ampersand move container to workspace $ws1 +bindsym $mod+Shift+eacute move container to workspace $ws2 +bindsym $mod+Shift+quotedbl move container to workspace $ws3 +bindsym $mod+Shift+apostrophe move container to workspace $ws4 +bindsym $mod+Shift+5 move container to workspace $ws5 +bindsym $mod+Shift+minus move container to workspace $ws6 +bindsym $mod+Shift+egrave move container to workspace $ws7 +bindsym $mod+Shift+underscore move container to workspace $ws8 +bindsym $mod+Shift+ccedilla move container to workspace $ws9 +bindsym $mod+Shift+agrave move container to workspace $ws10 + +# 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 j resize shrink width 10 px or 10 ppt + bindsym k resize grow height 10 px or 10 ppt + bindsym l resize shrink height 10 px or 10 ppt + bindsym m 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+r mode "default" +} + +bindsym $mod+r mode "resize" + +# Start i3bar to display a workspace bar (plus the system information i3status +# finds out, if available) +bar { + status_command i3blocks + #status_command i3status + tray_output primary + position top + + colors { + background #021215 + statusline #93a1a1 + separator #2aa198 + + # Type border background font + focused_workspace #2aa198 #073642 #eee895 + active_workspace #073642 #002b36 #839496 + inactive_workspace #002b36 #021215 #586e75 + urgent_workspace #cb4b16 #dc322f #fdf6e3 + } +} + +# Shtudown menu +set $mode_shutdown (l)ock, (e)xit, switch_(u)ser, (s)uspend, (h)ibernate, (r)eboot, (Shift+s)hutdown + +mode "$mode_shutdown" { + # FIXME: add scripts folder to git + bindsym l exec --no-startup-id ~/scripts/i3exit lock, mode "default" + bindsym s exec --no-startup-id ~/scripts/i3exit suspend, mode "default" + bindsym u exec --no-startup-id ~/scripts/i3exit switch_user, mode "default" + bindsym e exec --no-startup-id ~/scripts/i3exit logout, mode "default" + bindsym h exec --no-startup-id ~/scripts/i3exit hibernate, mode "default" + bindsym r exec --no-startup-id ~/scripts/i3exit reboot, mode "default" + + bindsym Shift+s exec --no-startup-id i3exit shutdown, mode "default" + # exit system mode: "Enter" or "Escape" + bindsym Return mode "default" + bindsym Escape mode "default" +} + +# Bind it to the Meta + '0' key +bindsym $mod+agrave mode "$mode_shutdown" + +# Display indicators for caps-lock and num-lock +bindsym --release Caps_Lock exec pkill -SIGRTMIN+11 i3blocks +#bindsym --release Num_Lock exec pkill -SIGRTMIN+11 i3blocks + +# Bind volume control keys and signal i3blocks on update +bindsym XF86AudioRaiseVolume exec amixer -q -D pulse sset Master 5%+ && pkill -RTMIN+10 i3blocks +bindsym XF86AudioLowerVolume exec amixer -q -D pulse sset Master 5%- && pkill -RTMIN+10 i3blocks +bindsym XF86AudioMute exec amixer -q -D pulse sset Master toggle && pkill -RTMIN+10 i3blocks + +# Bind sreen brightness controls +bindsym XF86MonBrightnessUp exec xbacklight -inc 10 +bindsym XF86MonBrightnessDown exec xbacklight -dec 10 + +# Auto start system tray applets +exec --no-startup-id blueman-applet +exec --no-startup-id nm-applet + +# Set the wallpaper +exec --no-startup-id feh --bg-fill ~/Pictures/wallpapers/starry-night-tree.png diff --git a/i3blocks/.config/i3blocks/config b/i3blocks/.config/i3blocks/config new file mode 100644 index 0000000..17c4c99 --- /dev/null +++ b/i3blocks/.config/i3blocks/config @@ -0,0 +1,138 @@ +# i3blocks config file +# +# Please see man i3blocks for a complete reference! +# The man page is also hosted at http://vivien.github.io/i3blocks +# +# List of valid properties: +# +# align +# color +# command +# full_text +# instance +# interval +# label +# min_width +# name +# separator +# separator_block_width +# short_text +# signal +# urgent + +# Global properties +# +# The top properties below are applied to every block, but can be overridden. +# Each block command defaults to the script name to avoid boilerplate. +command=/usr/lib/i3blocks/$BLOCK_NAME +separator_block_width=10 +markup=none + +# Key indicators +# +# Add the following bindings to i3 config file: +# +# bindsym --release Caps_Lock exec pkill -SIGRTMIN+11 i3blocks +# bindsym --release Num_Lock exec pkill -SIGRTMIN+11 i3blocks +[keyindicator] +instance=CAPS +interval=once +signal=11 +separator_block_width=5 +separator=false + +#[keyindicator] +#instance=NUM +#interval=once +#signal=11 +#separator_block_width=5 +#separator=false + +# Generic media player support +# +# This displays "ARTIST - SONG" if a music is playing. +# Supported players are: spotify, vlc, audacious, xmms2, mplayer, and others. +[mediaplayer] +label=♪: +interval=5 +signal=10 + +# CPU usage +# +# The script may be called with -w and -c switches to specify thresholds, +# see the script for details. +[cpu_usage] +label=CPU +interval=10 + +#[load_average] +#interval=10 + +# Disk usage +# +# The directory defaults to $HOME if the instance is not specified. +# The script may be called with a optional argument to set the alert +# (defaults to 10 for 10%). +[disk] +label=DISK +interval=30 + +# Network interface monitoring +# +# If the instance is not specified, use the interface used for default route. +# The address can be forced to IPv4 or IPv6 with -4 or -6 switches. +[iface] +color=#00FF00 +interval=10 +separator=false +separator_block_width=5 + +[wifi] +interval=10 +separator=false + +[bandwidth] +interval=5 + +# Battery indicator +# +# The battery instance defaults to 0. +[battery] +label=⚡ +command=acpi +instance=0 +interval=30 +markup=pango + +# Date Time +# +[time] +command=date '+%Y-%m-%d %H:%M:%S' +interval=5 + +# OpenVPN support +# +# Support multiple VPN, with colors. +#[openvpn] +#interval=20 + +# Temperature +# +# Support multiple chips, though lm-sensors. +# The script may be called with -w and -c switches to specify thresholds, +# see the script for details. +[temperature] +label=TEMP +interval=10 + +# Volume indicator +# +# The first parameter sets the step (and units to display) +# The second parameter overrides the mixer selection +# See the script for details. +[volume] +#label=VOL +label=♪ +instance=Master +interval=once +signal=10