def set_tmux_title(): if menus.face.interface == "fzf" and \ os.getenv("TMUX") is not None: try: sh.tmux("rename-window", "menu") except: pass
def changeTMUXWindowName(newName="NewName"): """ Wrapper around the tmux program tmux is imported by sh.py (sh.py makes me happy.)""" tmux("rename-window", newName)
def get_current_tmux_pane( ): window_number = None pane_number = None for line in tmux("lsw"): if '(active)' in line: window_number = int( line.split(':',1)[0] ) for line in tmux("lsp"): if '(active)' in line: pane_number = int( line.split(':',1)[0] ) return window_number, pane_number
def parse_tmux_layout(): # FIXME: # this re does not care about recursion, although it should p = re.compile(r'[[]layout [^,]*,(.*)[]]') parsed_layout = {} for line in tmux("lsw").splitlines(): window_number, layout_line = line.split(':', 1) window_number = int( window_number ) m = p.search( layout_line ) if m: parsed_layout[window_number] = parse_tmux_layout_line( m.groups(1)[0] ) return parsed_layout
def list_sessions(): return sh.tmux('ls').stdout.split('\n')
def send_tab(session): sh.tmux('send-keys', '-t', session, 'Tab')
def send_endl(session): sh.tmux('send-keys', '-t', session, 'Enter')
def send_line(session, line): sh.tmux('send-keys', '-t', session, '-l', line)