- awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end),
- awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end),
- awful.key({ modkey, }, "u", awful.client.urgent.jumpto),
+ 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,
+ {description = "swap with previous client by index", group = "client"}),
+ awful.key({ modkey, }, "#49", function () awful.screen.focus_relative( 1) end, -- that's the key left of 1 (chronos)
+ {description = "focus the next screen", group = "screen"}),
+ awful.key({ modkey, }, "=", function () awful.screen.focus_relative( 1) end, -- that's the key left of 1 (kinesis)
+ {description = "focus the next screen", group = "screen"}),
+ awful.key({ modkey, "Control" }, "=",
+ function ()
+ -- swap tags in screens
+ local c = client.focus
+ local this_screen = awful.screen.focused();
+ -- TODO: only works with two screens
+ local next_screen = this_screen:get_next_in_direction("right") or this_screen:get_next_in_direction("left")
+ local this_screen_tag = this_screen.selected_tag;
+ local next_screen_tag = next_screen.selected_tag;
+
+ this_screen_tag:swap(next_screen_tag)
+
+ this_screen_tag:view_only()
+ next_screen_tag:view_only()
+
+ awful.screen.focus(this_screen)
+ c:jump_to(true)
+ end,
+ {description = "swap screens", group = "screen"}),
+ awful.key({ modkey, "Control" }, "Right", function () awful.screen.focus_relative(-1) end,
+ {description = "focus the next screen", group = "screen"}),
+ awful.key({ modkey, "Control" }, "Left", function () awful.screen.focus_relative(-1) end,
+ {description = "focus the previous screen", group = "screen"}),
+ awful.key({ modkey, }, "u", awful.client.urgent.jumpto,
+ {description = "jump to urgent client", group = "client"}),