qtile: Add swap windows function to swap windows between two groups
This commit is contained in:
parent
7ec983116f
commit
6e221b4ed7
@ -74,6 +74,7 @@ def toggle_language(qtile):
|
|||||||
qtile.spawn("setxkbmap -layout us -variant altgr-intl")
|
qtile.spawn("setxkbmap -layout us -variant altgr-intl")
|
||||||
current_language[0] = "en"
|
current_language[0] = "en"
|
||||||
|
|
||||||
|
|
||||||
keys = [
|
keys = [
|
||||||
# A list of available commands that can be bound to keys can be found
|
# A list of available commands that can be bound to keys can be found
|
||||||
# at https://docs.qtile.org/en/latest/manual/config/lazy.html
|
# at https://docs.qtile.org/en/latest/manual/config/lazy.html
|
||||||
@ -257,6 +258,17 @@ def go_to_group(name: str) -> Callable:
|
|||||||
qtile.groups_map[name].toscreen()
|
qtile.groups_map[name].toscreen()
|
||||||
return _inner
|
return _inner
|
||||||
|
|
||||||
|
def swap_windows(name: str) -> Callable:
|
||||||
|
def _inner(qtile) -> None:
|
||||||
|
other_windows = [*qtile.groups_map[name].windows]
|
||||||
|
current_windows = [*qtile.current_group.windows]
|
||||||
|
for win in current_windows:
|
||||||
|
win.togroup(name)
|
||||||
|
for win in other_windows:
|
||||||
|
win.togroup(qtile.current_group.name)
|
||||||
|
|
||||||
|
return _inner
|
||||||
|
|
||||||
for i in groups:
|
for i in groups:
|
||||||
keys.extend(
|
keys.extend(
|
||||||
[
|
[
|
||||||
@ -275,6 +287,12 @@ for i in groups:
|
|||||||
lazy.window.togroup(i.name, switch_group=False),
|
lazy.window.togroup(i.name, switch_group=False),
|
||||||
desc="Switch to & move focused window to group {}".format(i.name),
|
desc="Switch to & move focused window to group {}".format(i.name),
|
||||||
),
|
),
|
||||||
|
Key(
|
||||||
|
[mod, "control"],
|
||||||
|
i.name,
|
||||||
|
lazy.function(swap_windows(i.name)),
|
||||||
|
desc="Swap all windows with windows from N group".format(i.name),
|
||||||
|
),
|
||||||
# Or, use below if you prefer not to switch to that group.
|
# Or, use below if you prefer not to switch to that group.
|
||||||
# # mod1 + shift + letter of group = move focused window to group
|
# # mod1 + shift + letter of group = move focused window to group
|
||||||
# Key([mod, "shift"], i.name, lazy.window.togroup(i.name),
|
# Key([mod, "shift"], i.name, lazy.window.togroup(i.name),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user