Skip to content

Commit

Permalink
awesome: switch workspaces with wheel
Browse files Browse the repository at this point in the history
  • Loading branch information
vitek committed Feb 16, 2020
1 parent 7b41b85 commit 9630763
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 10 deletions.
4 changes: 2 additions & 2 deletions awesome/mywibar.lua
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@ local taglist_buttons = awful.util.table.join(
end
end),
awful.button({ }, 4,
function(t) utils.switch_tag(t.screen, -1) end),
function(t) utils.switch_tag_prev(t.screen) end),
awful.button({ }, 5,
function(t) utils.switch_tag(t.screen, 1) end)
function(t) utils.switch_tag_next(t.screen) end)
)

-- Create a textclock widget
Expand Down
9 changes: 6 additions & 3 deletions awesome/rc.lua
Original file line number Diff line number Diff line change
Expand Up @@ -210,8 +210,8 @@ end)
-- @DOC_ROOT_BUTTONS@
root.buttons(awful.util.table.join(
awful.button({ }, 3, function () mymainmenu:toggle() end),
awful.button({ }, 4, awful.tag.viewnext),
awful.button({ }, 5, awful.tag.viewprev)
awful.button({ modkey }, 4, utils.switch_tag_prev),
awful.button({ modkey }, 5, utils.switch_tag_next)
))
-- }}}

Expand Down Expand Up @@ -453,7 +453,10 @@ clientbuttons = gears.table.join(
awful.button({ modkey }, 3, function (c)
c:emit_signal("request::activate", "mouse_click", {raise = true})
awful.mouse.client.resize(c)
end)
end),

awful.button({ modkey }, 4, function (c) utils.switch_tag_prev(c.screen) end),
awful.button({ modkey }, 5, function (c) utils.switch_tag_next(c.screen) end)
)

-- Set keys
Expand Down
27 changes: 22 additions & 5 deletions awesome/utils.lua
Original file line number Diff line number Diff line change
@@ -1,15 +1,32 @@
local awful = require("awful")
local ascreen = require("awful.screen")

require("awful.dbus")
local dbus = dbus
local capi = {
screen = screen
}

local utils = {}

function utils.switch_tag(s, step)
local tag = s.tags[s.selected_tag.index + step]
if tag then
tag:view_only()
end
local function get_screen(s)
return s and capi.screen[s]
end

function utils.switch_tag(screen, step)
screen = get_screen(screen or ascreen.focused())
local tag = screen.tags[screen.selected_tag.index + step]
if tag then
tag:view_only()
end
end

function utils.switch_tag_next(s)
utils.switch_tag(s, 1)
end

function utils.switch_tag_prev(s)
utils.switch_tag(s, -1)
end

function utils.lock_screen()
Expand Down

0 comments on commit 9630763

Please sign in to comment.