Add an option to choose wheter tag switches apply to all screens
This commit is contained in:
parent
eb555a0e09
commit
b4fb8f3785
|
@ -47,10 +47,11 @@ globalkeys = gears.table.join(globalkeys,
|
|||
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 |
|
||||
|
|
|
@ -19,6 +19,7 @@ function workspace_grid:init(args)
|
|||
self.visual = args.visual or true
|
||||
self.cycle = args.cycle or false
|
||||
self.icon_size = args.icon_size or 100
|
||||
self.switch_all_screens = args.switch_all_screens or true
|
||||
|
||||
if self.visual then
|
||||
awful.screen.connect_for_each_screen(function(s)
|
||||
|
@ -57,12 +58,17 @@ function workspace_grid:navigate(direction)
|
|||
}
|
||||
local j = action[direction]
|
||||
|
||||
if self.switch_all_screens then
|
||||
-- Switch tags on all screens at the same time.
|
||||
-- TODO: Add option to switch per-screen.
|
||||
for s in screen do
|
||||
t = s.tags[j]
|
||||
if t then t:view_only() end
|
||||
end
|
||||
else
|
||||
-- Switch tags on the focused screen only.
|
||||
t = screen.focused.tags[j]
|
||||
if t then t:view_only() end
|
||||
end
|
||||
end
|
||||
|
||||
function workspace_grid:on_tag_selected(t)
|
||||
|
|
Loading…
Reference in New Issue