Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/lucmos/ultrawidewindows

KWin script to move windows quickly
https://github.com/lucmos/ultrawidewindows

Last synced: about 17 hours ago
JSON representation

KWin script to move windows quickly

Awesome Lists containing this project

README

        

# UltrawideWindows
Expose useful shortcuts to manage windows in a ultrawide monitor and, in general, in a high resolution monitor.
This solution is intended to be an easy-to-use middleground between the default behaviour and the tiling approach.

![](/docs/preview2.gif)
![](/docs/preview.gif)

# Installation

```bash
$ git clone [email protected]:lucmos/UltrawideWindows.git
$ cd UltrawideWindows
$ ./scripts/update.sh
```

# Usage
Set the desired shortcuts under `System Settings > Shortcuts > Global Shortcuts > KWin`.

My suggestion is to use the following configuration:

| Shortcuts | Commands in 3x2 grid |
| ------------------------------------ | -------------------------------------------------------- |
| Meta + Numpad7 | Ultrawide: Move Window to up-left (3x2) |
| Meta + Numpad8 | Ultrawide: Move Window to up-center (3x2) |
| Meta + Numpad9 | Ultrawide: Move Window to up-right (3x2) |
| Meta + Numpad1 | Ultrawide: Move Window to down-left (3x2) |
| Meta + Numpad2 | Ultrawide: Move Window to down-center (3x2) |
| Meta + Numpad3 | Ultrawide: Move Window to down-right (3x2) |
| Meta + Numpad4 | Ultrawide: Move Window to left-height (3x2) |
| Meta + Numpad5 | Ultrawide: Move Window to center-height (3x2) |
| Meta + Numpad6 | Ultrawide: Move Window to right-height (3x2) |

| Shortcuts | Commands in 2x2 grid |
| ------------------------------------ | -------------------------------------------------------------- |
| ctrl + Numpad7 | UltrawideWindows: Move Window to up-left (2x2) |
| ctrl + Numpad8 | UltrawideWindows: Move Window to up-width (2x2) |
| ctrl + Numpad9 | UltrawideWindows: Move Window to up-right (2x2) |
| ctrl + Numpad1 | UltrawideWindows: Move Window to down-left (2x2) |
| ctrl + Numpad2 | UltrawideWindows: Move Window to down-width (2x2) |
| ctrl + Numpad3 | UltrawideWindows: Move Window to down-right (2x2) |
| ctrl + Numpad4 | UltrawideWindows: Move Window to left-height (2x2) |
| ctrl + Numpad6 | UltrawideWindows: Move Window to right-height (2x2) |

| Shortcuts | Commands in 4x2 grid (center biased) |
| ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| ctrl + Meta + Numpad7 | UltrawideWindows: Move Window to up-left (4x2 center biased) |
| ctrl + Meta + Numpad8 | UltrawideWindows: Move Window to up-width (4x2 center biased) |
| ctrl + Meta + Numpad9 | UltrawideWindows: Move Window to up-right (4x2 center biased) |
| ctrl + Meta + Numpad1 | UltrawideWindows: Move Window to down-left (4x2 center biased) |
| ctrl + Meta + Numpad2 | UltrawideWindows: Move Window to down-width (4x2 center biased) |
| ctrl + Meta + Numpad3 | UltrawideWindows: Move Window to down-right (4x2 center biased) |
| ctrl + Meta + Numpad4 | UltrawideWindows: Move Window to left-height (4x2 center biased) |
| ctrl + Meta + shift + Numpad4 | UltrawideWindows: Move Window to center-left-height (4x2 center biased) |
| ctrl + Meta + Numpad5 | UltrawideWindows: Move Window to center-height (4x2 center biased) |
| ctrl + Meta + shift + Numpad6 | UltrawideWindows: Move Window to center-right-height (4x2 center biased) |
| ctrl + Meta + Numpad6 | UltrawideWindows: Move Window to right-height (4x2 center biased) |

| Shortcuts | Commands to fit 2/3 of the width |
| ----------------------------------- | ---------------------------------------------------------------------- |
| alt + Numpad7 | UltrawideWindows: Move Window to fit up-left 2/3 width |
| alt + Numpad1 | UltrawideWindows: Move Window to fit down-left 2/3 width |
| alt + Numpad9 | UltrawideWindows: Move Window to fit up-right 2/3 width |
| alt + Numpad3 | UltrawideWindows: Move Window to fit down-right 2/3 width |
| alt + Numpad4 | UltrawideWindows: Move Window to fit left-height 2/3 width |
| alt + Numpad6 | UltrawideWindows: Move Window to fit right-height 2/3 width |
| alt + Numpad8 | UltrawideWindows: Move Window to up-width (2x2) |
| alt + Numpad2 | UltrawideWindows: Move Window to down-width (2x2) |

| Shortcuts | Commands in 6x2 grid (center biased) |
| ----------------------------------------------------- | ----------------------------------------------------------------------------------- |
| alt + Meta + Numpad7 | UltrawideWindows: Move Window to up-left 2/3 width (center biased) |
| alt + Meta + Numpad8 | UltrawideWindows: Move Window to up-width 2/3 width (center biased) |
| alt + Meta + Numpad9 | UltrawideWindows: Move Window to up-right 2/3 width (center biased) |
| alt + Meta + Numpad1 | UltrawideWindows: Move Window to down-left 2/3 width (center biased) |
| alt + Meta + Numpad2 | UltrawideWindows: Move Window to down-width 2/3 width (center biased) |
| alt + Meta + Numpad3 | UltrawideWindows: Move Window to down-right 2/3 width (center biased) |
| alt + Meta + Numpad4 | UltrawideWindows: Move Window to left-height 2/3 width (center biased) |
| alt + Meta + Numpad5 | UltrawideWindows: Move Window to center-height 2/3 width (center biased) |
| alt + Meta + Numpad6 | UltrawideWindows: Move Window to right-height 2/3 width (center biased) |

| Shortcuts | General commands (easy to use) |
| ------------------------------------------------------ | ---------------------------------------------------------------------------- |
| Meta + Numpad0 | UltrawideWindows: Maximize Window |
| Alt + Numpad0 | UltrawideWindows: Maximize Window (copy) |
| Ctrl+ Numpad0 | UltrawideWindows: Maximize Window (copy2) |
| Ctrl + Meta + Numpad0 | UltrawideWindows: Maximize Window (copy3) |
| Alt + Meta + Numpad0 | UltrawideWindows: Maximize Window (copy4) |
| Alt + Numpad5 | UltrawideWindows: Center Window |
| Ctrl + Numpad5 | UltrawideWindows: Center Window (copy) |
| Ctrl + Meta + Numpad+ | UltrawideWindows: Increase Window Size by 20px - Maintains aspect ratio |
| Ctrl + Meta + Numpad- | UltrawideWindows: Decrease Window Size by 20px - Maintains aspect ratio |
| Ctrl + Meta + Left | UltrawideWindows: Move Window Left by 20px |
| Ctrl + Meta + Right | UltrawideWindows: Move Window Right by 20px |
| Ctrl + Meta + Up | UltrawideWindows: Move Window Up by 20px |
| Ctrl + Meta + Down | UltrawideWindows: Move Window Down by 20px |

##### Notes
The standard behaviour of going to the previous position if the window is already in the correct position causes conflicts.
Using only `Ultrawide` shortcuts, avoids these conflicts. However:
* The animations are lost.
* If maximized, a window does not go back to the previous position when maximizing it again. If for you it is a must-have, the default `maximize` doesn't work so bad.

# Update

```bash
$ cd UltrawideWindows
$ ./scripts/update.sh
```

# Remove

```bash
$ cd UltrawideWindows
$ ./scripts/uninstall.sh
```