From da1d7be98a50c8190719994a687cb5af0092f7a9 Mon Sep 17 00:00:00 2001 From: "jakob.stendahl" Date: Sat, 10 Feb 2024 19:50:03 +0100 Subject: qtile --- linux/qtile/config/group.m4.py | 67 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 linux/qtile/config/group.m4.py (limited to 'linux/qtile/config/group.m4.py') diff --git a/linux/qtile/config/group.m4.py b/linux/qtile/config/group.m4.py new file mode 100644 index 0000000..abb64a6 --- /dev/null +++ b/linux/qtile/config/group.m4.py @@ -0,0 +1,67 @@ +groups = [ + Group(name="1"), + Group(name="2"), + Group(name="3"), + Group(name="4"), + Group(name="5"), + Group(name="6"), + Group(name="7"), + Group(name="8"), + Group(name="9"), +] + +group_screen_map = dict() + +def to_group(name: str): + def _inner(qtile): + g = qtile.groups_map[name] + if (sc := group_screen_map[name]) is not None: + if sc < num_monitors: + qtile.to_screen(sc) + g.toscreen() + return _inner + + +for g in groups: + group_screen_map[g.name] = None + keys.extend( + [ + Key( + [mod], + g.name, + lazy.function(to_group(g.name)), + desc="Switch to group {}".format(g.name), + ), + Key( + [mod, "shift"], + g.name, + lazy.window.togroup(g.name), + desc="move focused window to group {}".format(g.name) + ), + ] + ) + +@hook.subscribe.group_window_add +def group_window_add(group, window): + groups = qtile.get_groups() + global group_screen_map + group_screen_map[group.name] = groups[group.name]["screen"] + logger.warning(group_screen_map) + + +@hook.subscribe.delgroup +def group_deleted(group_name): + send_notification("qtile", f"Group deleted: {group_name}") + +@hook.subscribe.setgroup +def setgroup(): + send_notification("qtile", "Group set") + + +@hook.subscribe.changegroup +def change_group(): + send_notification("qtile", "Change group event") + +@hook.subscribe.addgroup +def group_added(group_name): + send_notification("qtile", f"New group added: {group_name}") -- cgit v1.2.3