def make_unfocused(current_id): """Reset the window's property to non-floating. This automatically resets size and position as well. """ i3.focus(con_id=current_id) i3.floating('disable')
def make_focused(current_id): """Make the focused window floating, set its dimensions and position. """ i3.focus(con_id=current_id) i3.floating('enable') i3.resize(f'set {WIDTH} {HEIGHT}') i3.move('position center')
def dispatch_i3msg_com( command: str, data: Location = Location(1189, 652)) -> list: """Internal function used to dispatch specific command strings to i3-ipc. Data may also be a string.""" dispatcher = { # Dictionary of commands to execute with i3 comx "resize": lambda *d: i3.resize("set", d[0], d[1]), "move": lambda *d: i3.move("window", "position", d[0], d[1]), "float": lambda *d: i3.floating("enable"), "reset": lambda *d: (i3.resize("set", f"{d[0]}ppt", f"{d[0]}ppt") and i3.move( "window", " position", "center")), "custom": (lambda *d: i3.resize("set", d[0], d[0]) and i3.move( "window", "position", "center")), } if isinstance(data, str): return dispatcher[command](data) elif isinstance(data, Location): w = str(data.width) if data.width > 0 else "0" h = str(data.height) if data.height > 0 else "0" return dispatcher[command](w, h)
#!/usr/bin/env python import i3 import time currentWindow = i3.filter(focused=True)[0] this_id = currentWindow['id'] i3.focus(con_id=this_id) i3.move('scratchpad') i3.focus(con_id=this_id) i3.move('to workspace 10') i3.floating('disable') #parentContainer = i3.parent(currentWindow['id']) #print(parentContainer) #nodes = parentContainer['nodes'] #print([node['name'] for node in nodes]) #for node in nodes: # i3.focus(con_id=node['id']) # i3.move('scratchpad') # #i3.focus(parentContainer['id']) #i3.focus(con_id=node['id']) #i3.move('to workspace 10') ##if parentContainer['layout'] in ['splitv', 'stacked']: ## direction = 'down' ##else: ## direction = 'right' # #nodes = parentContainer['nodes']
def make_unfloat(current_id): i3.focus(con_id=current_id) i3.floating('disable')
def make_float(current_id): i3.focus(con_id=current_id) i3.floating('enable') i3.resize('set 1000 1000') i3.move('position center')
def revisualize(node, workspace_name): i3.focus(con_id=node['id']) i3.move('to workspace ' + workspace_name) i3.floating('disable')
#!/usr/bin/env python import i3 import os import subprocess import sys from lib import dmenu, dmenu_cmd if __name__ == '__main__': scratchpad = i3.filter(name="__i3_scratch")[0] nodes = scratchpad["floating_nodes"] windows = [i for i in i3.filter(tree=nodes, nodes=[])] window_titles = ['%s #%s' % (i.get('name'), i.get('window')) for i in windows] answer = dmenu(window_titles, dmenu_cmd('select window: ')) if answer: i3.scratchpad("show", id=answer.split('#')[-1]) if len(sys.argv) > 1 and sys.argv[1] == '1': # floating mode, do nothing pass else: i3.floating('disable')
def make_float(current_id): size = get_size() i3.focus(con_id=current_id) i3.floating('enable') i3.resize('set {} {}'.format((size + int(size*.56)), size)) i3.move('position center')
def make_float(current_id): size = get_size() i3.focus(con_id=current_id) i3.floating('enable') i3.resize('set {} {}'.format((size + int(size * .56)), size)) i3.move('position center')