summaryrefslogtreecommitdiffstats
path: root/powerline/segments/tmux.py
blob: 1f343893ffc02c4c0169d1470e1b1794430e276c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 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)