/wintile

Windows 10 window tiling for GNOME

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

WinTile: Windows 10 window tiling for GNOME

WinTile is a hotkey driven window tiling system for GNOME that imitates the standard Win-Arrow keys of Windows 10, allowing you to maximize, maximize to sides, or 1/4 sized to corner a window using just <Super>+<Arrows>.

WinTile also supports:

  • 1-5 columns for standard or ultrawide monitors
  • 1-5 rows for standard or ultrawide monitors
  • Mouse preview and snapping for placing tiles
  • "Maximize" mode, which adds/removes GNOME animations
  • Ultrawide-only mode allows 16:9 screens to use separate row/col counts
  • Portrait screens will automatically swap columns and rows
  • Adding gaps around tiles

Usage:

Moving with arrow key:

Pressing <Super>+<Arrows> will move tile around the screen.

  • <Super>+<Up> will maximize your tile with a few different levels

    • Maximized vertically in the current column
    • Maximized horizontally in the top row
    • If you're using 4-5 col mode, it will maximize in the center leaving 1 column on either side first
  • <Super>+<Left> or <Super>+<Right>

    • Move a tile in that direction. If it's at the edge of a screen, it will go full-height
    • If a tile is more than 1 column wide and on the edge in that direction it will shrink by 1 column
  • <Super>+<Down> will maximize your tile with a few different levels

    • If you're already maximized in 4/5 col mode, it will downsize in the center leaving 1 column on either side
    • If maximized vertically, it will shrink to the bottom row
    • If minimizing is enabled, the tile will disappear to the task bar
  • <Super>+<Ctrl>+<Arrow> will grow the window in that direction if there is room

Moving with the mouse:

Dragging a window around the edge of the screen will create a preview of where that tile will snap.

There are a few zones to be aware of

  • Top Center maximizes a window

  • Bottom Center maximizes horizontally in the bottom row

  • In the center of any column on the bottom row will maximize vertically in that column

  • Right or left center will maximize vertically in a column

    • If using 4/5 columns and double-width is enabled, it will maximize on that half of the screen
  • Holding <CTRL> while dragging will create a 1x1 anywhere in the grid without needing to be at an edge

  • Holding <SUPER>+<CTRL> will create a start point for multi-row/col tiles

  • Any other zone along the edge will create a 1x1 tile

Configuration

Browser

  1. Visit https://extensions.gnome.org/local/
  2. Click on the "Configure this extension" button.

Gnome-tweaks

  1. Open Extension settings in Gnome Tweaks
  2. locate Wintile and click on the cogwheel button to bring up the configuration dialog.

Installation

GNOME Extension site:

https://extensions.gnome.org/extension/1723/wintile-windows-10-window-tiling-for-gnome/

Building from source

  1. Download source code from the Master or develop branches.
  2. unzip the file
  3. cd into the directory it creates
  4. run ./build.sh
  5. run unzip -d wintile@nowsci.com wintile@nowsci.com.zip
  6. run cp -r wintile@nowsci.com ~/.local/share/gnome-shell/extensions/
  7. restart your session

Wayland users need to reboot to enable the extension.

Gnome users can press <Alt>+<F2> and run r from the prompt. (IT WILL NOT WORK from a terminal)

Debugging

If you're having issues, please attach some debug logs to your issue. Note: debugging must be enabled in WinTile settings

journalctl -qf | grep -i -e wintile -e 'js error'