aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCamil Staps2016-04-03 14:34:04 +0200
committerCamil Staps2016-11-30 19:11:08 +0100
commita11ea3b0f8c65799e0adba34a6eaaef22267446b (patch)
tree9e8b801bc83969117aff65baf8648a1bca3960b9
parentBindsyms for moving workspaces (diff)
Using xmobar instead of i3bar/i3status
-rwxr-xr-xbin/i3ws35
-rwxr-xr-xbin/nowplaying2
-rw-r--r--i3.symlink/config18
-rw-r--r--system/i3status.conf.symlink2
-rw-r--r--system/xmobarrc.symlink22
5 files changed, 59 insertions, 20 deletions
diff --git a/bin/i3ws b/bin/i3ws
new file mode 100755
index 0000000..a1c487a
--- /dev/null
+++ b/bin/i3ws
@@ -0,0 +1,35 @@
+#!/usr/bin/env python3
+from functools import partial
+import json
+from subprocess import check_output
+import sys
+
+def get_unique(func, wss):
+ return list(set(map(func, wss)))
+
+def get_unique_key(key, wss):
+ return get_unique(lambda ws: ws[key], wss)
+
+def show_workspace(ws):
+ color = 'f00' if ws['urgent'] else \
+ '00fcff' if ws['focused'] else \
+ '6aa3f8' if ws['visible'] else \
+ '777'
+ return '<fc=#%s>%s</fc>' % (color, ws['name'])
+
+def show_output(wss, op):
+ wss = list(filter(lambda ws: ws['output'] == op, wss))
+ wss.sort(key=lambda ws: ws['name'])
+
+ return op + ' ' + ' '.join(map(show_workspace, wss))
+
+def main():
+ i3ws = check_output(['i3-msg', '-t', 'get_workspaces']).decode('utf-8')
+ wss = json.loads(i3ws)
+
+ outputs = sorted(get_unique_key('output', wss))
+ print(' * '.join(map(partial(show_output, wss), outputs)))
+
+if __name__ == '__main__':
+ main()
+
diff --git a/bin/nowplaying b/bin/nowplaying
new file mode 100755
index 0000000..650e6e8
--- /dev/null
+++ b/bin/nowplaying
@@ -0,0 +1,2 @@
+#!/bin/sh
+cmus-remote -Q | grep '^tag \(artist\|album\|title\) ' | cut -d' ' -f 3- | tr '\n' '\t' | awk 'BEGIN { FS = "\t" } ; { print $3 " (" $2 ", " $1 ")" }'; echo -n ' '
diff --git a/i3.symlink/config b/i3.symlink/config
index 988c4e7..c658e43 100644
--- a/i3.symlink/config
+++ b/i3.symlink/config
@@ -4,8 +4,8 @@ floating_modifier $mod
font pango:DejaVu Sans Mono 8
focus_follows_mouse no
-# kill focused window
-bindsym $mod+Shift+Q kill
+# Bar
+exec xmobar -d
# Autolock
exec xautolock -time 3 -locker 'i3lock -d'
@@ -15,6 +15,9 @@ bindsym $mod+Control+Shift+l exec xautolock -locknow
bindsym $mod+d exec dmenu_run
bindsym $mod+p exec passmenu -i
+# kill focused window
+bindsym $mod+Shift+Q kill
+
# Programs
bindsym $mod+Return exec uxterm
bindsym $mod+Shift+v exec uxterm -e vim
@@ -26,9 +29,9 @@ bindsym Shift+Print exec scrot -u '/tmp/%Y-%m-%d-%H%M%S_$wx$h.png'
bindsym --release Control+Print exec scrot -s '/tmp/%Y-%m-%d-%H%M%S_$wx$h.png'
bindsym XF86KbdBrightnessUp exec sudo -A ~/bin/kbdbacklight up
bindsym XF86KbdBrightnessDown exec sudo -A ~/bin/kbdbacklight down
-bindsym XF86AudioMute exec amixer sset Master toggle && kill -n 10 `pidof i3status`
-bindsym XF86AudioRaiseVolume exec amixer sset Master 1%+ && kill -n 10 `pidof i3status`
-bindsym XF86AudioLowerVolume exec amixer sset Master 1%- && kill -n 10 `pidof i3status`
+bindsym XF86AudioMute exec amixer sset Master toggle
+bindsym XF86AudioRaiseVolume exec amixer sset Master 1%+
+bindsym XF86AudioLowerVolume exec amixer sset Master 1%-
bindsym $mod+F6 exec xbacklight -inc 5 -time 80
bindsym $mod+F5 exec xbacklight -dec 5 -time 80
@@ -110,8 +113,3 @@ mode "resize" {
bindsym $mod+r mode "default"
}
-bar {
- font pango:DejaVu Sans Mono, 9
- status_command i3status
-}
-
diff --git a/system/i3status.conf.symlink b/system/i3status.conf.symlink
index c011019..211b6e8 100644
--- a/system/i3status.conf.symlink
+++ b/system/i3status.conf.symlink
@@ -28,7 +28,7 @@ wireless wlan0 {
}
battery 0 {
- format = "%status %percentage %remaining %emptytime"
+ format = "%status %percentage %remaining"
status_chr = "⚇"
status_bat = "⚡"
status_full = "☻"
diff --git a/system/xmobarrc.symlink b/system/xmobarrc.symlink
index cc55142..feef098 100644
--- a/system/xmobarrc.symlink
+++ b/system/xmobarrc.symlink
@@ -1,27 +1,31 @@
-Config { font = "-*-Fixed-Bold-R-Normal-*-13-*-*-*-*-*-*-*"
+Config
+ { font = "-*-Fixed-Bold-R-Normal-*-13-*-*-*-*-*-*-*"
, borderColor = "black"
, border = TopB
, bgColor = "black"
, fgColor = "grey"
- , position = BottomW L 100
+ , position = Bottom
, commands =
- [ Run Weather "EHDL" ["-t","<tempC>C","-L","18","-H","25","--low","lightblue","--normal","green","--high","red"] 9000
- , Run DynNetwork ["-L","10000","-H","50000","--low","green","--normal","orange","--high","red"] 10
- , Run Com "wireless-status" ["wlan0"] "wlan0stat" 10
+ [ Run Com "i3ws" [] "i3ws" 10
, Run Battery ["--normal","red","--high","green","-t","<left>% (<timeleft>)"] 150
+ , Run Volume "default" "Master" [] 10
, Run Cpu ["-L","10","-H","50","--low","green","--normal","orange","--high","red"] 10
, Run Memory ["-t","Mem: <usedratio>%","-L","30","-H","60","--low","green","--normal","orange","--high","red"] 10
, Run Swap ["-L","10","-H","30","--low","green","--normal","orange","--high","red"] 10
- , Run Com "uname" ["-s","-r"] "" 36000
+ , Run DynNetwork ["-L","10000","-H","50000","--low","green","--normal","orange","--high","red"] 10
+ , Run Com "wireless-status" ["wlan0"] "wlan0stat" 10
+
+ , Run Com "nowplaying" [] "nowplaying" 50
+ , Run Date "%a %b %_d %Y %H:%M:%S" "date" 50
+ , Run Com "uname" ["-s","-r"] "" 0
, Run Kbd [("us(intl)", "<fc=#66ccff>US</fc>")
,("us(dvorak-intl)", "<fc=#dc68fc>DV</fc>")
,("ru(phonetic)", "<fc=#ff3300>RU</fc>")
,("il(biblicalSIL)", "<fc=#66ff66>HE</fc>")]
- , Run Date "%a %b %_d %Y %H:%M:%S" "date" 10
- , Run StdinReader
+ , Run Weather "EHDL" ["-t","<tempC> °C","-L","15","-H","25","--low","lightblue","--normal","green","--high","red"] 9000
]
, sepChar = "%"
, alignSep = "}{"
- , template = "%StdinReader% | %battery% | %cpu% | %memory% * %swap% | %dynnetwork% %wlan0stat% }{<fc=#ee9a00>%date%</fc> | %uname% | %kbd% | %EHDL% "
+ , template = "%i3ws% | %battery% | %default:Master% | %cpu% | %memory% * %swap% | %dynnetwork% %wlan0stat% }{ %nowplaying% | <fc=#ee9a00>%date%</fc> | %uname% | %kbd% | %EHDL% "
}
-- vim:ft=haskell:tw=9999: