def window_cached(func): cache = {} def ret(segment_info, *args, **kwargs): window_id = segment_info['window_id'] if segment_info['mode'] == 'nc': return cache.get(window_id) else: r = func(*args, **kwargs) cache[window_id] = r return r ret = requires_segment_info(ret) ret.__name__ = func.__name__ return ret
if username is False: username = _get_user(segment_info) if username is None: pl.warn('Failed to get username') return None if username == hide_user: return None euid = _geteuid() return [{ 'contents': username, 'highlight_group': 'user' if euid != 0 else ['superuser', 'user'], }] if 'psutil' not in globals(): user = requires_segment_info(user) if os.path.exists('/proc/uptime'): def _get_uptime(): with open('/proc/uptime', 'r') as f: return int(float(f.readline().split()[0])) elif 'psutil' in globals(): from time import time def _get_uptime(): # NOQA # psutil.BOOT_TIME is not subject to clock adjustments, but time() is. # Thus it is a fallback to /proc/uptime reading and not the reverse. return int(time() - psutil.BOOT_TIME) else:
Highlight groups used: ``superuser`` or ``user``. It is recommended to define all highlight groups. ''' global username if username is False: username = _get_user(segment_info) if username is None: pl.warn('Failed to get username') return None euid = _geteuid() return [{ 'contents': username, 'highlight_group': 'user' if euid != 0 else ['superuser', 'user'], }] if 'psutil' not in globals(): user = requires_segment_info(user) if os.path.exists('/proc/uptime'): def _get_uptime(): with open('/proc/uptime', 'r') as f: return int(float(f.readline().split()[0])) elif 'psutil' in globals(): from time import time def _get_uptime(): # NOQA # psutil.BOOT_TIME is not subject to clock adjustments, but time() is. # Thus it is a fallback to /proc/uptime reading and not the reverse. return int(time() - psutil.BOOT_TIME) else: def _get_uptime(): # NOQA