From: martin f. krafft Date: Tue, 12 Dec 2023 15:52:48 +0000 (+0100) Subject: moving tags between screens X-Git-Url: https://git.madduck.net/etc/awesome.git/commitdiff_plain/9f7c8f11ec42744de1e01a9e0a3abf424d965e50 moving tags between screens --- diff --git a/.config/awesome/rc.lua b/.config/awesome/rc.lua index eadc1c9..770d367 100644 --- a/.config/awesome/rc.lua +++ b/.config/awesome/rc.lua @@ -607,6 +607,14 @@ local function toggle_tag_by_name(tagname, exclusive) end end +local function move_tags_to_screen_relative(direction) + local s = awful.screen.focused() + for _,tag in ipairs(s.selected_tags) do + print("index: " .. s.index .. " count: " .. screen:count()) + tag.screen = screen[(s.index + screen:count() + direction) % screen.count()] + end +end + globalkeys = gears.table.join( awful.key({ modkey, }, "s", hotkeys_popup.show_help, {description="show help", group="awesome"}), @@ -614,10 +622,6 @@ globalkeys = gears.table.join( {description = "view previous", group = "tag"}), awful.key({ modkey, }, "Right", awful.tag.viewnext, {description = "view next", group = "tag"}), - awful.key({ modkey, "Shift" }, "Left", function () awful.screen.focus_relative( 1) end, - {description = "focus the next screen", group = "screen"}), - awful.key({ modkey, "Shift" }, "Right", function () awful.screen.focus_relative(-1) end, - {description = "focus the previous screen", group = "screen"}), awful.key({ modkey, }, "Escape", awful.tag.history.restore, {description = "go back", group = "tag"}), @@ -635,14 +639,18 @@ globalkeys = gears.table.join( ), -- Layout manipulation - awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( 1) end, + awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( 1) end, {description = "swap with next client by index", group = "client"}), - awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( -1) end, + awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx(-1) end, {description = "swap with previous client by index", group = "client"}), awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative( 1) end, {description = "focus the next screen", group = "screen"}), awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative(-1) end, {description = "focus the previous screen", group = "screen"}), + awful.key({ modkey, "Shift", "Control" }, "k", function () move_tags_to_screen_relative( 1) end, + {description = "move tags to the next screen", group = "screen"}), + awful.key({ modkey, "Shift", "Control" }, "j", function () move_tags_to_screen_relative(-1) end, + {description = "move tags to the previous screen", group = "screen"}), awful.key({ modkey, "Shift" }, "Return", awful.client.urgent.jumpto, {description = "jump to urgent client", group = "client"}), awful.key({ modkey, }, "Tab",