diff options
author | jakob.stendahl <jakob.stendahl@infomedia.dk> | 2024-02-10 19:50:03 +0100 |
---|---|---|
committer | jakob.stendahl <jakob.stendahl@infomedia.dk> | 2024-02-10 19:50:03 +0100 |
commit | da1d7be98a50c8190719994a687cb5af0092f7a9 (patch) | |
tree | b71d6349bffffed6206048c8f0dd345b836f6f4a /linux/qtile/config/group.m4.py | |
parent | 665eaea830886d8b9aa655e526714e125ce1efce (diff) | |
download | dotfiles-da1d7be98a50c8190719994a687cb5af0092f7a9.tar.gz dotfiles-da1d7be98a50c8190719994a687cb5af0092f7a9.zip |
qtile
Diffstat (limited to 'linux/qtile/config/group.m4.py')
-rw-r--r-- | linux/qtile/config/group.m4.py | 67 |
1 files changed, 67 insertions, 0 deletions
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}") |