From 134ee81a86a683418ac56f1b8d8504ba7a288622 Mon Sep 17 00:00:00 2001 From: Ian Adam Naval Date: Mon, 21 Jul 2014 19:55:39 -0400 Subject: [PATCH] Update i3 config to be more awesome. --- i3/i3.dotfile/config | 22 +++++++----- i3/i3.dotfile/status.py | 67 ++++++++++++++++++++++++++++++++++++ i3/i3status.configdir/config | 3 +- 3 files changed, 83 insertions(+), 9 deletions(-) create mode 100644 i3/i3.dotfile/status.py diff --git a/i3/i3.dotfile/config b/i3/i3.dotfile/config index 5756583..4f124f8 100644 --- a/i3/i3.dotfile/config +++ b/i3/i3.dotfile/config @@ -3,7 +3,7 @@ # # Should you change your keyboard layout somewhen, 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! @@ -18,7 +18,7 @@ set $mod Mod4 # right-to-left text rendering, you should instead use pango for rendering and # chose a FreeType font, such as: # font pango:DejaVu Sans Mono 10 -font pango:Meslo LG S 9 +font pango:Meslo LG M 10 # Use Mouse+$mod to drag floating windows to their wanted position floating_modifier $mod @@ -28,10 +28,10 @@ bindsym $mod+Return exec terminator # kill focused window bindsym $mod+Shift+q kill - # start dmenu (a program launcher) #bindsym $mod+d exec dmenu_run -sb "#880000" -bindsym $mod+d exec gnome-do +bindsym $mod+d exec --no-startup-id j4-dmenu-desktop --dmenu="dmenu -i -sb '#800' -nb '#000' -fn 'Meslo LG S-10'" +bindsym $mod+Shift+d exec --no-startup-id dmenu_run -i -sb '#800' -nb '#000' -fn 'Meslo LG S-10' # 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. @@ -75,6 +75,8 @@ bindsym $mod+s layout stacking bindsym $mod+w layout tabbed bindsym $mod+e layout toggle split +bindsym $mod+q exec i3lock -c 000000 + # toggle tiling / floating bindsym $mod+Shift+space floating toggle @@ -128,7 +130,8 @@ bindsym XF86MonBrightnessUp exec xbacklight -inc 5 # increase screen brightness bindsym XF86MonBrightnessDown exec xbacklight -dec 5 # decrease screen brightness bindsym Shift+XF86MonBrightnessUp exec xbacklight -inc 1 # increase screen brightness bindsym Shift+XF86MonBrightnessDown exec xbacklight -dec 1 # decrease screen brightness -# + +bindsym Print exec gnome-screenshot -i # resize window (you can also use the mouse for that) mode "resize" { @@ -141,7 +144,7 @@ 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 OBresize grow width 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 @@ -169,7 +172,7 @@ client.unfocused #333333 #222222 #888888 #000000 # Start i3bar to display a workspace bar (plus the system information i3status # finds out, if available) bar { - status_command i3status + status_command python ~/.i3/status.py position top colors { @@ -183,4 +186,7 @@ bar { } } -exec --no-startup-id xsetroot -solid "#000000" +exec --no-startup-id compton -b --vsync opengl-swc --backend glx --config /dev/null +exec --no-startup-id feh --bg-scale /home/ian/Pictures/Wallpapers/wallpaper.jpg +exec --no-startup-id nm-applet +exec --no-startup-id seafile-applet diff --git a/i3/i3.dotfile/status.py b/i3/i3.dotfile/status.py new file mode 100644 index 0000000..74c0277 --- /dev/null +++ b/i3/i3.dotfile/status.py @@ -0,0 +1,67 @@ +# -*- coding: utf-8 -*- + +import subprocess + +from i3pystatus import Status + +status = Status(standalone=True) + +# Displays clock like this: +# Tue 30 Jul 11:59:46 PM KW31 +# ^-- calendar week +status.register("clock", + format="%a %Y-%m-%d %H:%M:%S",) + +# Shows the average load of the last minute and the last 5 minutes +# (the default value for format is used) +status.register("load") + +# # Shows your CPU temperature, if you have a Intel CPU +# status.register("temp", +# format="{temp:.0f}°C",) + +# The battery monitor has many formatting options, see README for details + +# This would look like this, when discharging (or charging) +# ↓14.22W 56.15% [77.81%] 2h:41m +# And like this if full: +# =14.22W 100.0% [91.21%] +# +# This would also display a desktop notification (via dbus) if the percentage +# goes below 5 percent while discharging. The block will also color RED. +status.register("battery", + battery_ident="BAT1", + format="{status}/{consumption:.2f}W {percentage:.2f}% [{percentage_design:.2f}%] {remaining:%E%h:%M}", + alert=True, + alert_percentage=5, + status={ + "DIS": "↓", + "CHR": "↑", + "FULL": "=", + },) + +# Has all the options of the normal network and adds some wireless specific things +# like quality and network names. +# +# Note: requires both netifaces and basiciw +status.register("wireless", + interface="wlp0s29u1u7i2", + format_up="{essid} {quality:03.0f}%",) + +# Shows disk usage of / +# Format: +# 42/128G [86G] +status.register("disk", + path="/", + format="{avail}G",) + +status.register("mem") + +# Shows pulseaudio default sink volume +# +# Note: requires libpulseaudio from PyPI +status.register("pulseaudio", + format="♪{volume}%",) + +status.run() + diff --git a/i3/i3status.configdir/config b/i3/i3status.configdir/config index 1b038ae..5772d62 100644 --- a/i3/i3status.configdir/config +++ b/i3/i3status.configdir/config @@ -5,6 +5,7 @@ general { } order += "wireless wlp0s29u1u7i2" +order += "ethernet enp0s20u4" order += "disk /" order += "load" order += "battery 1" @@ -17,7 +18,7 @@ wireless wlp0s29u1u7i2 { format_down = "W: down" } -ethernet eth0 { +ethernet enp0s20u4 { # if you use %speed, i3status requires the cap_net_admin capability format_up = "E: %ip (%speed)" format_down = "E: down"