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-wmctrl
Properties
workspace:
property
Add workspace:
property in ~/.config/fusuma/config.yml
.
Values following are available for workspace
.
-
prev
is value to switch current workspace to previous workspace. -
next
is value to switch current workspace to next workspace. - [For grid-style workspaces only]
up
/down
/left
/right
navigate to the workspace in the direction.
window:
property
Add window:
property in ~/.config/fusuma/config.yml
.
Values following are available for window
.
-
prev
is value to move active window to previous workspace. -
next
is value to move active window to next workspace. - [For grid-style workspaces only]
up
/down
/left
/right
move window to the workspace in the direction. -
fullscreen
is value to toggle fullscreen-
fullscreen: toggle
toggles the active window to fullscreen.window: fullscreen # ↑ same ↓ window: fullscreen: toggle
-
fullscreen: add
changes the active window to a fullscreen.window: fullscreen: add
-
fullscreen: remove
restores the active window from fullscreen.window: fullscreen: remove
-
-
maximized
is value to toggle maximized-
maximized: toggle
toggles the active window to maximized.window: maximized # ↑ same ↓ window: maximized: toggle
-
maximized: add
changes the active window to a maximized.window: maximized: add
-
maximized: remove
restores 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: true
Support 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: 3
With 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: 3
NOTE: 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.