diff options
author | Camil Staps | 2016-04-03 14:34:04 +0200 |
---|---|---|
committer | Camil Staps | 2016-11-30 19:11:08 +0100 |
commit | a11ea3b0f8c65799e0adba34a6eaaef22267446b (patch) | |
tree | 9e8b801bc83969117aff65baf8648a1bca3960b9 | |
parent | Bindsyms for moving workspaces (diff) |
Using xmobar instead of i3bar/i3status
-rwxr-xr-x | bin/i3ws | 35 | ||||
-rwxr-xr-x | bin/nowplaying | 2 | ||||
-rw-r--r-- | i3.symlink/config | 18 | ||||
-rw-r--r-- | system/i3status.conf.symlink | 2 | ||||
-rw-r--r-- | system/xmobarrc.symlink | 22 |
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: |