Some style fixes

This commit is contained in:
ZyX 2014-02-15 21:01:14 +04:00
parent 97c93fc7c0
commit 8041ea0956
4 changed files with 56 additions and 38 deletions

View File

@ -235,13 +235,15 @@ Add the following to your :file:`~/.config/qtile/config.py`:
),
]
with i3bar replacement
-----------------
I3 bar
------
.. note:: Until the patch is done in i3, you will need a custom ``i3bar`` build called ``i3bgbar``.
The source is available `here <https://github.com/S0lll0s/i3bgbar>`_.
.. note:: Until the patch is done in i3, you will need a custom ``i3bar`` build
called ``i3bgbar``. The source is available `here
<https://github.com/S0lll0s/i3bgbar>`_.
Add the following to your :file:`~/.i3/config`::
bar {
i3bar_command i3bgbar
@ -249,4 +251,5 @@ Add the following to your :file:`~/.i3/config`::
font pango:PowerlineFont 12
}
where ``i3bgbar`` may be replaced with the path to the custom i3bar binary and ``PowerlineFont`` is any system font with powerline support.
where ``i3bgbar`` may be replaced with the path to the custom i3bar binary and
``PowerlineFont`` is any system font with powerline support.

View File

@ -10,9 +10,12 @@ import time
import i3
from threading import Lock
if __name__ == '__main__':
name = 'wm'
if len(sys.argv) > 1:
name = sys.argv[1]
powerline = Powerline(name, renderer_module='i3bgbar')
powerline.update_renderer()
@ -20,7 +23,7 @@ interval = 0.5
print ('{"version": 1, "custom_workspace": true}')
print ('[')
print( ' [[],[]]' )
print ('\t[[],[]]')
lock = Lock()

View File

@ -1,9 +1,9 @@
# vim:fileencoding=utf-8:noet
from powerline.renderer import Renderer
from powerline.colorscheme import ATTR_BOLD, ATTR_ITALIC, ATTR_UNDERLINE
import json
class i3bgbarRenderer(Renderer):
'''i3bgbar Segment Renderer'''
@ -15,7 +15,11 @@ class i3bgbarRenderer(Renderer):
def hl(self, contents, fg=None, bg=None, attr=None):
'''Highlight a segment.'''
segment = { "full_text": contents, "separator": False, "separator_block_width": 0 } # no seperators
segment = {
"full_text": contents,
"separator": False,
"separator_block_width": 0, # no seperators
}
if fg is not None:
if fg is not False and fg[1] is not False:
@ -23,7 +27,8 @@ class i3bgbarRenderer(Renderer):
if bg is not None:
if bg is not False and bg[1] is not False:
segment['background_color'] = "#{0:06x}".format(bg[1])
return json.dumps( segment ) + ",\n" # i3bar "pseudo json" requires one line at a time
# i3bar "pseudo json" requires one line at a time
return json.dumps(segment) + ",\n"
renderer = i3bgbarRenderer

View File

@ -1,19 +1,26 @@
# vim:fileencoding=utf-8:noet
from powerline.theme import requires_segment_info
import i3
def calcgrp(w):
group = []
if w['focused']: group.append( 'w_focused' )
if w['urgent']: group.append( 'w_urgent' )
if w['visible']: group.append( 'w_visible' )
if w['focused']:
group.append('w_focused')
if w['urgent']:
group.append('w_urgent')
if w['visible']:
group.append('w_visible')
group.append('workspace')
return group
def workspaces(pl):
'''Return workspace list
Highlight groups used: ``workspace``, ``w_visible``, ``w_focused``, ``w_urgent``
'''
return [ {'contents': w['name'], 'highlight_group': calcgrp( w )} for w in i3.get_workspaces() ]
return [{
'contents': w['name'],
'highlight_group': calcgrp(w)
} for w in i3.get_workspaces()]