/kde-manualtiling

A manual tiling kwin script like Divvy from mac os

Primary LanguageQMLGNU General Public License v3.0GPL-3.0

Table of Contents

About The Project

This is a Kwin Script to tile windows by clicking in a grid. For now, its a Divvy clone from Mac Osx in KDE.

Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

This was tested in the following settings. If you try it in another and it works, let me know so i can put it here.

  • Plasma 5.24.4
  • KDE Frameworks 5.92.0
  • Qt 5.15.3

Installation

  1. Download the release file
  2. Load it from System Settings -> Window Management -> KWin Scripts -> Install from file
  3. You could change the number of columns and rows from the settings.
  4. The default shortcut is Meta+Ctrl+D. If you dont like it, you could change it from System Settings -> Shortcuts -> Kwin -> Manual Tiling

Usage

2022-07-03.01-10-26.mp4
2022-07-08.19-37-02.mp4

Press the assigned shortcut and the applet will be shown. On the right, you could choose the window to tile clicking it. It would bring it to focus. On the left, click on a grid square, then on another, and the window will be resized to fit that space. Do the same for another one. When you are done, press the assigned shortcut again to hide it.

The icons on the grid are merely decorative, you could still click on the squares, but would you?

Opening and closing the applet will clean the grid, the idea is to launch it, arrange the windows and then forget about it. I dont want to force already placed windows into a made up grid.

Roadmap

See the open issues for a list of proposed features (and known issues).

Acknowledgements

Thanks to this for letting me read scripting code, and understand better some things.

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the GPL-3.0 License. See LICENSE for more information.

Contact

Federico Scodelaro - @pudymody - federicoscodelaro@gmail.com