23 lines
799 B
Python
23 lines
799 B
Python
# vim:fileencoding=utf-8:noet
|
|
from __future__ import (unicode_literals, division, absolute_import, print_function)
|
|
|
|
from powerline.bindings.tmux import get_tmux_output
|
|
|
|
|
|
def attached_clients(pl, minimum=1):
|
|
'''Return the number of tmux clients attached to the currently active session
|
|
|
|
:param int minimum:
|
|
The minimum number of attached clients that must be present for this
|
|
segment to be visible.
|
|
'''
|
|
session_output = get_tmux_output(pl, 'list-panes', '-F', '#{session_name}')
|
|
if not session_output:
|
|
return None
|
|
session_name = session_output.rstrip().split('\n')[0]
|
|
|
|
attached_clients_output = get_tmux_output(pl, 'list-clients', '-t', session_name)
|
|
attached_count = len(attached_clients_output.rstrip().split('\n'))
|
|
|
|
return None if attached_count < minimum else str(attached_count)
|