From 82db8c5d7a1b55f00476497887d2f177d36efb20 Mon Sep 17 00:00:00 2001 From: Thomas Preisner Date: Thu, 1 Mar 2018 18:52:22 +0100 Subject: [PATCH] config: barpyrus: config.py: reinit with basic configuration The current config.py is rather messy. In order to get a nice and clean configuration for barpyrus I decided to completely rewrite it from scratch. For now it will only show the tags, the focused window title and the date/time. Further functionality will be added later. --- config/barpyrus/config.py | 97 ++++++++++----------------------------- 1 file changed, 24 insertions(+), 73 deletions(-) diff --git a/config/barpyrus/config.py b/config/barpyrus/config.py index 61f5803..f6359e7 100644 --- a/config/barpyrus/config.py +++ b/config/barpyrus/config.py @@ -5,94 +5,45 @@ from barpyrus import lemonbar from barpyrus import conky import sys import os -# Copy this config to ~/.config/barpyrus/config.py -# set up a connection to herbstluftwm in order to get events -# and in order to call herbstclient commands +# set up connection to herbstluftwm in order to get events and to call +# herbstclient commands hc = hlwm.connect() -# get the geometry of the monitor +# get monitor geometry monitor = sys.argv[1] if len(sys.argv) >= 2 else 0 (x, y, monitor_w, monitor_h) = hc.monitor_rect(monitor) -if os.uname().nodename == "warthog": - height = 30 # height of the panel -else: - height = 16 # height of the panel -width = monitor_w # width of the panel -hc(['pad', str(monitor), str(height)]) # get space for the panel +# height/width of the panel +height = 16 +width = monitor_w -# An example conky-section: -# icons -bat_icons = [ - 0xe242, 0xe243, 0xe244, 0xe245, 0xe246, - 0xe247, 0xe248, 0xe249, 0xe24a, 0xe24b, -] -# first icon: 0 percent -# last icon: 100 percent -bat_delta = 100 / len(bat_icons) -conky_text = '%{F\\#9fbc00}%{T2}\ue026%{T-}%{F\\#989898}${cpu}% ' -conky_text += '%{F\\#9fbc00}%{T2}\ue021%{T-}%{F\\#989898}${memperc}% ' -conky_text += '%{F\\#9fbc00}%{T2}\ue13c%{T-}%{F\\#989898}${downspeedf}K ' -conky_text += '%{F\\#9fbc00}%{T2}\ue13b%{T-}%{F\\#989898}${upspeedf}K ' -conky_text += "${if_existing /sys/class/power_supply/BAT0}" -conky_text += "%{T2}" -conky_text += "${if_match \"$battery\" == \"discharging $battery_percent%\"}" -conky_text += "%{F\\#FFC726}" -conky_text += "$else" -conky_text += "%{F\\#9fbc00}" -conky_text += "$endif" -for i,icon in enumerate(bat_icons[:-1]): - conky_text += "${if_match $battery_percent < %d}" % ((i+1)*bat_delta) - conky_text += chr(icon) - conky_text += "${else}" -conky_text += chr(bat_icons[-1]) # icon for 100 percent -for _ in bat_icons[:-1]: - conky_text += "${endif}" -conky_text += "%{T-} $battery_percent% " -conky_text += "${endif}" -conky_text += "%{F-}" +# set fonts used by lemonbar +text_font = '*-*-lucidatypewriter-medium-*-*-*-12-*-*-*-*-*-*-*' +symbol_font = '*-wuncon-siji-medium-r-normal-*-12-100-100-*-c-80-iso10646-1' -# example options for the hlwm.HLWMLayoutSwitcher widget -xkblayouts = [ - 'us us -variant altgr-intl us'.split(' '), - 'de de de'.split(' '), -] -setxkbmap = 'setxkbmap -option compose:menu -option ctrl:nocaps' -setxkbmap += ' -option compose:ralt -option compose:rctrl' +# get space for the panel +hc(['pad', str(monitor), str(height)]) -# you can define custom themes +# theme for grey frame: grey_frame = Theme(bg = '#303030', fg = '#EFEFEF', padding = (3,3)) -# Widget configuration: -if os.uname().nodename == "warthog": - bar = lemonbar.Lemonbar(geometry = (x,y,width,height), - font = "*-*-lucidatypewriter-medium-*-*-*-26-*-*-*-*-*-*-*", - symbol_font = "-wuncon-siji-medium-r-normal--26-200-100-*-c-*-iso10646-1") -else: - bar = lemonbar.Lemonbar(geometry = (x,y,width,height), - font = "*-*-lucidatypewriter-medium-*-*-*-12-*-*-*-*-*-*-*", - symbol_font = "-wuncon-siji-medium-r-normal--10-100-75-75-c-80-iso10646-1") +# initialize lemonbar +bar = lemonbar.Lemonbar(geometry = (x, y, width, height), + font = text_font, symbol_font = symbol_font) + +# widget configuration bar.widget = W.ListLayout([ W.RawLabel('%{l}'), hlwm.HLWMTags(hc, monitor, tag_renderer = hlwm.underlined_tags), + W.RawLabel('%{c}'), hlwm.HLWMMonitorFocusLayout(hc, monitor, - # this widget is shown on the focused monitor: - grey_frame(hlwm.HLWMWindowTitle(hc)), - # this widget is shown on all unfocused monitors: - conky.ConkyWidget('df /: ${fs_used_perc /}%') - ), + # this widget is shown on the focused monitor: + grey_frame(hlwm.HLWMWindowTitle(hc)), + # this widget is shown on all unfocused monitors: + W.RawLabel('')), + W.RawLabel('%{r}'), - conky.ConkyWidget(text= conky_text), - # something like a tabbed widget with the tab labels '>' and '<' - W.ShortLongLayout( - W.RawLabel(''), - W.ListLayout([ - hlwm.HLWMLayoutSwitcher(hc, xkblayouts, command = setxkbmap.split(' ')), - W.RawLabel(' '), - ])), - grey_frame(W.DateTime('%d. %B, %H:%M')), + grey_frame(W.DateTime('%d. %B, %H:%M')), ]) - -