def __init__(self, stacks=2, **config): """ - stacks: Number of stacks to start with. """ Layout.__init__(self, **config) self.stacks = [_WinStack() for i in range(stacks)] self.add_defaults(Stack.defaults)
def __init__(self, **config): Layout.__init__(self, **config) self.add_defaults(Stack.defaults) self.stacks = [_WinStack() for i in range(self.num_stacks)] for stack in self.stacks: if self.autosplit: stack.split = True
def __init__(self, ratio=0.618, masterWindows = 1, expand=True): Layout.__init__(self) self.clients = [] self.ratio = ratio self.master = masterWindows self.focused = None self.expand = expand
def __init__(self, ratio=0.618, masterWindows=1, expand=True, ratio_increment=0.05, **config): Layout.__init__(self, **config) self.clients = [] self.ratio = ratio self.master = masterWindows self.focused = None self.expand = expand self.ratio_increment = ratio_increment
def __init__(self, ratio=GOLDEN_RATIO, ratio_increment=0.1, fancy=False, **config): Layout.__init__(self, **config) self.windows = [] self.ratio_increment = ratio_increment self.ratio = ratio self.focused = None self.dirty = True # need to recalculate self.layout_info = [] self.last_size = None self.fancy = fancy
def __init__(self, stacks=2, wmii_style=False, **config): """ - stacks: Number of stacks to start with. - wmii_style: if True, when trying to move a client to a non-existing stack, a new stak will be created to contain the client. (off by default) """ Layout.__init__(self, **config) self.wmii_style = wmii_style self.stacks = [_WinStack() for i in range(stacks)]
def __init__(self, ratio=0.618, masterWindows=1, expand=True, ratio_increment=0.05, add_on_top=True, shift_windows=False, **config): Layout.__init__(self, **config) self.clients = [] self.ratio = ratio self.master = masterWindows self.focused = None self.expand = expand self.ratio_increment = ratio_increment self.add_on_top = add_on_top self.shift_windows = shift_windows
def __init__(self, ratio=GOLDEN_RATIO, ratio_increment=0.1, fancy=False, **config): Layout.__init__(self, **config) self.add_defaults(RatioTile.defaults) self.clients = [] self.ratio_increment = ratio_increment self.ratio = ratio self.focused = None self.dirty = True # need to recalculate self.layout_info = [] self.last_size = None self.last_screen = None self.fancy = fancy
def info(self): d = Layout.info(self) d["rows"] = [[win.name for win in self.get_row(i)] for i in xrange(self.get_num_rows())] d["current_window"] = self.current_window d["clients"] = [x.name for x in self.clients] return d
def clone(self, group): c = Layout.clone(self, group) # These are mutable c.stacks = [_WinStack() for i in self.stacks] for stack in c.stacks: if self.autosplit: stack.split = True return c
def info(self): d = Layout.info(self) d["rows"] = [ [win.name for win in self.get_row(i)] for i in xrange(self.get_num_rows()) ] d["current_window"] = self.current_window d["clients"] = [x.name for x in self.clients] return d
def __init__(self, float_rules=None, **config): """ If you have certain apps that you always want to float you can provide ``float_rules`` to do so. ``float_rules`` is a list of dictionaries containing: {wmname: WM_NAME, wmclass: WM_CLASS role: WM_WINDOW_ROLE} The keys must be specified as above. You only need one, but you need to provide the value for it. When a new window is opened it's ``match`` method is called with each of these rules. If one matches, the window will float. The following will float gimp and skype: float_rules=[dict(wmclass="skype"), dict(wmclass="gimp")] Specify these in the ``floating_layout`` in your config. """ Layout.__init__(self, **config) self.clients = [] self.focused = None self.float_rules = float_rules or []
def clone(self, group): c = Layout.clone(self, group) c.windows = [] return c
def clone(self, group): res = Layout.clone(self, group) res._slice = self._slice.clone(group) res._fallback = self._fallback.clone(group) res._window = None return res
def info(self): d = Layout.info(self) d["clients"] = [i.name for i in self._nodes] d["sections"] = [i.title for i in self._tree.children] return d
def clone(self, group): c = Layout.clone(self, group) # These are mutable c.stacks = [_WinStack() for i in self.stacks] return c
def info(self): d = Layout.info(self) d["stacks"] = [i.info() for i in self.stacks] d["current_stack"] = self.currentStackOffset return d
def __init__(self): Layout.__init__(self) self.clients = []
def info(self): d = Layout.info(self) d["clients"] = [x.name for x in self.clients] return d
def clone(self, group): c = Layout.clone(self, group) c.clients = [] return c
def info(self): d = Layout.info(self) d["clients"] = [i.name for i in self.clients] return d
def __init__(self, gap=50): Layout.__init__(self) self.clients = [] self.gap = gap
def clone(self, group): c = Layout.clone(self, group) c._focused = None c._panel = None c._tree = Root(self.sections) return c
def info(self): d = Layout.info(self) d["stacks"] = [i.info() for i in self.stacks] d["current_stack"] = self.currentStackOffset d["clients"] = [c.name for c in self.clients] return d
def __init__(self, **config): Layout.__init__(self, **config) self._focused = None self._panel = None self._tree = Root(self.sections) self._nodes = {}
def __init__(self, columns=2, **config): Layout.__init__(self, **config) self.add_defaults(Matrix.defaults) self.current_window = None self.columns = columns self.windows = []
def __init__(self, **config): Layout.__init__(self, **config) self.clients = [] self.focused = None
def __init__(self, columns=2, **config): Layout.__init__(self, **config) self.add_defaults(Matrix.defaults) self.current_window = None self.columns = columns self.clients = []