Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://jcrd.github.io/awesome-viewport/
AwesomeWM library for managing tags based on viewports
https://jcrd.github.io/awesome-viewport/
awesomewm lua tags
Last synced: 2 months ago
JSON representation
AwesomeWM library for managing tags based on viewports
- Host: GitHub
- URL: https://jcrd.github.io/awesome-viewport/
- Owner: jcrd
- License: mit
- Created: 2019-09-16T17:56:01.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-12-15T16:02:49.000Z (about 4 years ago)
- Last Synced: 2024-05-22T16:09:23.272Z (8 months ago)
- Topics: awesomewm, lua, tags
- Language: Lua
- Homepage: https://jcrd.github.io/awesome-viewport/
- Size: 42 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# awesome-viewport
awesome-viewport is a library for [Awesome](https://github.com/awesomeWM/awesome)
window manager that manages tags based on viewports.## Installation
```
$ git clone https://github.com/jcrd/awesome-viewport.git
$ cd awesome-viewport
$ luarocks make --local rockspec/awesome-viewport-devel-1.rockspec
```## Concept
Once connected to a screen, selecting a single tag will make that tag the active
viewport. This tag will remember any other selected tags when the viewport
changes, so that when it is re-selected, all previously selected tags are
viewed.For example:
![Tag 1 is selected, becoming the active viewport][1]
* Tag 1 is selected, becoming the active viewport.
![Tag 2 is toggled into view][2]
* Tag 2 is toggled into view. Tag 1, as the active viewport, will record this.
![Tag 2 is selected, but tag 1 is not viewed][3]
* If tag 2 is selected, it becomes the new active viewport, and tag 1 will not be
viewed. The association is one way.![Tag 1 is selected, toggling tag 2 into view][2]
* Tag 1 is re-selected, becoming the active viewport. Because tag 2 was viewed
when tag 1 was previously the active viewport, it is toggled back into view.[1]: https://github.com/jcrd/awesome-viewport/blob/assets/1.png
[2]: https://github.com/jcrd/awesome-viewport/blob/assets/2.png
[3]: https://github.com/jcrd/awesome-viewport/blob/assets/3.png## Usage
Require the library:
```lua
local viewport = require("awesome-viewport")
```Connect to a screen to begin managing its tags:
```lua
awful.screen.connect_for_each_screen(function (s)
viewport.connect(s)
end)
```View a single tag:
```lua
tag1:view_only()
```This tag will be the active viewport.
Get the active viewport for the focused screen:
```lua
viewport()
```Toggle another tag into view:
```lua
awful.tag.viewtoggle(tag2)
````tag1` will remember that `tag2` is toggled while its the active viewport, so
that if the viewport changes and `tag1` is re-viewed, `tag2` will also be
toggled into view.See the [API documentation](https://jcrd.github.io/awesome-viewport/) for
descriptions of all functions.## License
This project is licensed under the MIT License (see [LICENSE](LICENSE)).