Window Manager plugin for Fusuma
- Move window or workspace instead of xdotool
- Works on Wayland(Not depends on xdotool)
Installation
Run the following code in your terminal.
1.Install wmctrl
For Debian Based Distros (Ubuntu, Debian, Mint, Pop!_OS)
$ sudo apt install wmctrl -y
For Arch Based Distros (Manjaro, Arch)
sudo pacman -S wmctrl
2. Install fusuma-plugin-wmctrl
This plugin requires Fusuma version 1.0 or later.
Note For Arch Based Distros: By default in Arch Linux, when running gem, gems are installed per-user (into ~/.gem/ruby/), instead of system-wide (into /usr/lib/ruby/gems/). This is considered the best way to manage gems on Arch, because otherwise they might interfere with gems installed by Pacman. (From Arch Wiki)
To install gems system-wide, see any of the methods listed on Arch Wiki
$ sudo gem install fusuma-plugin-wmctrlProperties
workspace: property
Add workspace: property in ~/.config/fusuma/config.yml.
Values following are available for workspace.
-
previs value to switch current workspace to previous workspace. -
nextis value to switch current workspace to next workspace. - [For grid-style workspaces only]
up/down/left/rightnavigate to the workspace in the direction.
window: property
Add window: property in ~/.config/fusuma/config.yml.
Values following are available for window.
-
previs value to move active window to previous workspace. -
nextis value to move active window to next workspace. - [For grid-style workspaces only]
up/down/left/rightmove window to the workspace in the direction. -
fullscreenis value to toggle fullscreen-
fullscreen: toggletoggles the active window to fullscreen.window: fullscreen # ↑ same ↓ window: fullscreen: toggle
-
fullscreen: addchanges the active window to a fullscreen.window: fullscreen: add
-
fullscreen: removerestores the active window from fullscreen.window: fullscreen: remove
-
-
maximizedis value to toggle maximized-
maximized: toggletoggles the active window to maximized.window: maximized # ↑ same ↓ window: maximized: toggle
-
maximized: addchanges the active window to a maximized.window: maximized: add
-
maximized: removerestores the active window from maximized.window: maximized: remove
-
Example
Set workspace: property and values in ~/.config/fusuma/config.yml.
swipe:
4:
left:
workspace: 'next'
right:
workspace: 'prev'Configuration
Wrap navigation
The plugin allows to enable (disabled by default) circular navigation between workspaces. To enable it set the following in your config file ~/.config/fusuma/config.yml.
plugin:
executors:
wmctrl_executor:
wrap-navigation: trueSupport grid-style workspace
For grid-style workspace users, Fusuma has an option to move workspace up, down, left or right.
To enable this option, set matrix-col-size.
For example, for a 3x2 workspace, set matrix-col-size: 3 to wmctrl_executor option.
plugin:
executors:
wmctrl_executor:
matrix-col-size: 3With this setting, the up/down/left/right properties will be enabled on workspace: and window:.
Example
swipe:
4:
up:
workspace: down
keypress:
LEFTSHIFT:
window: down
down:
workspace: up
keypress:
LEFTSHIFT:
window: up
left:
workspace: right
keypress:
LEFTSHIFT:
window: right
right:
workspace: left
keypress:
LEFTSHIFT:
window: left
plugin:
executors:
wmctrl_executor:
matrix-col-size: 3NOTE: keypress: property is enabled with fusuma-plugin-keypress
https://github.com/iberianpig/fusuma-plugin-keypress
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/iberianpig/fusuma-plugin-wmctrl. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
License
The gem is available as open source under the terms of the MIT License.
Code of Conduct
Everyone interacting in the Fusuma::Plugin::Wmctrl project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.