All Projects → iberianpig → fusuma-plugin-wmctrl

iberianpig / fusuma-plugin-wmctrl

Licence: MIT license
Window Manager plugin for Fusuma

Programming Languages

ruby
36898 projects - #4 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to fusuma-plugin-wmctrl

fusuma-plugin-tap
Tap and Hold gestures plugin for Fusuma
Stars: ✭ 16 (-55.56%)
Mutual labels:  fusuma, fusuma-plugin
fusuma-plugin-sendkey
Fusuma plugin that sending virtual keyboard events
Stars: ✭ 41 (+13.89%)
Mutual labels:  fusuma, fusuma-plugin
fusuma-plugin-keypress
Keypress combination plugin for Fusuma
Stars: ✭ 21 (-41.67%)
Mutual labels:  fusuma, fusuma-plugin
shod
mouse-based window manager that can tile windows inside floating containers
Stars: ✭ 126 (+250%)
Mutual labels:  window-manager
qtile-config
My qtile config
Stars: ✭ 47 (+30.56%)
Mutual labels:  window-manager
Hypr
Hypr is a tiling window manager written in modern C++.
Stars: ✭ 659 (+1730.56%)
Mutual labels:  window-manager
hammerspoon
Boosts productivity and adds useful features to OSX.
Stars: ✭ 18 (-50%)
Mutual labels:  window-manager
i3wins
A better i3 windows switcher with rofi
Stars: ✭ 24 (-33.33%)
Mutual labels:  window-manager
swayfire
Sway/I3 inspired tiling window manager for Wayfire
Stars: ✭ 146 (+305.56%)
Mutual labels:  window-manager
Chafu
A photo browser and camera library for Xamarin.iOS
Stars: ✭ 36 (+0%)
Mutual labels:  fusuma
HotSwitch
Fastest window switcher using 2 stroke hotkey for macOS
Stars: ✭ 46 (+27.78%)
Mutual labels:  window-manager
muxed
Another TMUX project manager
Stars: ✭ 58 (+61.11%)
Mutual labels:  window-manager
forge
Forge - Tiling and Window Manager for Gnome-Shell
Stars: ✭ 144 (+300%)
Mutual labels:  window-manager
blackboxwm
A window manager for X11
Stars: ✭ 117 (+225%)
Mutual labels:  window-manager
katriawm
A non-reparenting, dynamic window manager with decorations
Stars: ✭ 53 (+47.22%)
Mutual labels:  window-manager
emacs-rotate
Rotate the layout of emacs.
Stars: ✭ 68 (+88.89%)
Mutual labels:  window-manager
flutter multi window
Multi Window Plugin for Flutter
Stars: ✭ 19 (-47.22%)
Mutual labels:  window-manager
LFSDesktopProject
A low resource/dependency desktop for Linux From Scratch
Stars: ✭ 16 (-55.56%)
Mutual labels:  window-manager
godot-launcher
Alternative launcher for single-board computers
Stars: ✭ 107 (+197.22%)
Mutual labels:  window-manager
dotfiles
🏡 There's no place like ~/
Stars: ✭ 59 (+63.89%)
Mutual labels:  window-manager

Fusuma::Plugin::Wmctrl Gem Version Build Status

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].