Go to file
Manu Cornet c675f0e8be Also only show tag change visual feedback on the selected screen unless we are switching all of them 2022-01-23 18:12:13 +00:00
icons Support grids up to 9 x 9 2021-12-25 08:02:09 +00:00
screenshots Add screenshots 2021-12-26 08:25:52 +00:00
.gitignore Start generating icons automatically. Only generate the outer rectangle for now. 2021-12-25 01:15:42 +00:00
README.md Add an option to choose wheter tag switches apply to all screens 2022-01-22 06:49:57 +00:00
awesome-workspace-grid.lua Also only show tag change visual feedback on the selected screen unless we are switching all of them 2022-01-23 18:12:13 +00:00
init.lua Initial version 2021-12-14 06:13:48 +00:00
screenshot.gif Add a GIF screenshot 2021-12-26 08:09:32 +00:00

README.md

Animated screenshot

Installation

Clone this repository into your awesome configuration directory:

cd ~/.config/awesome
git clone https://github.com/lmanul/awesome-workspace-grid.git

Usage

Basic usage, in rc.lua:

local workspace_grid = require("awesome-workspace-grid")
grid = workspace_grid({
  rows = 3,
  columns = 3,
})

Please make sure that rows × columns is equal to your number of tags, as defined by the call to awful.tag() in your configuration.

Define keyboard shortcuts like so:

-- Insert after 'globalkeys' is defined but before it is passed to 'root':

tag_nav_mod_keys = { "Control" }
globalkeys = gears.table.join(globalkeys,
  awful.key(tag_nav_mod_keys, "Up",
            function () grid:navigate("up") end, {description = "Up", group="Tag"}),
  awful.key(tag_nav_mod_keys, "Down",
            function () grid:navigate("down") end, {description = "Down", group="Tag"}),
  awful.key(tag_nav_mod_keys, "Left",
            function () grid:navigate("left") end, {description = "Left", group="Tag"}),
  awful.key(tag_nav_mod_keys, "Right",
            function () grid:navigate("right") end, {description = "Right", group="Tag"}),
)

Options

Arguments that can be passed to the contructor (all of them are optional):

Arg Default Description
rows 2 Number of rows (1 to 9)
columns 3 Number of columns (1 to 9)
cycle false Whether to cycle at grid edges
icon_size 100 Size of icon in notification
position "top_middle" Notification position on the screen
visual true Whether to show workspace changes
switch_all_screens true Whether tag changes apply to all screens