Skip to content

Releases: domferr/tilingshell

Tiling Shell v16.1 | Some fixes and stability changes for Windows Suggestions

13 Jan 20:42
Compare
Choose a tag to compare
  • Fix: windows suggestions are working on GNOME 45+. Closes #246
  • Fix: clicking outside a window suggestion or pressing ESC button closes the whole windows suggestions more reliably

Tiling Shell v16.0 | Introducing Windows Suggestions!

This update of Tiling Shell introduces Windows Suggestions, a feature designed to provide intelligent recommendations for other windows to tile, making window management smoother and more intuitive. While other operating systems have offered similar features, Linux has often lacked similar implementations with a great user experience. With this update of Tiling Shell, I'm focusing on delivering a polished and efficient solution...finally!

✨ How It Works

After placing a window in a tile using the tiling system, you’ll see suggestions for other windows to fill the remaining tiles. Got too many windows open? No problem! If all suggestions don’t fit within the available space, you’ll get a scrollable list for quick and easy navigation. See it in action:

windows_suggestions.mp4

What About Snap Assistant and Screen Edge Snapping?
Don’t worry, I’ve got plans for those too! Although Windows Suggestions won’t initially be enabled for the snap assistant or active screen edges in this release, this is only to ensure the feature is rock-solid at scale. If no major issues arise, I’ll gradually roll out support for them in the coming weeks. Want me to prioritize enabling these features? Let me know! Your input helps me a lot 😊

Can I choose to opt in or out?
Yes. From the extension's preferences you'll find a new section called Windows Suggestions. You can enable and disable windows suggestions for tiling system, snap assistant and screen edges. You can choose which of the three to keep enabled, or all of them, to personalize for your needs and preferences.

As always, your feedback is invaluable. It helps me continue improving and making Tiling Shell the best window management tool for Linux.

Let me know what you think, and happy tiling! 🎉

Closes #62

🌟 Join the Tiling Shell Community! 🌟

Are you a fan of Tiling Shell or someone passionate about contributing to open-source projects? I'm looking for contributors—both developers and non-developers—to help make Tiling Shell even better!

Here's how you can get involved:

  • 🎨 Translations – Help make Tiling Shell accessible in more languages! Find out more
  • ✍️ Written Guides – Write tutorials or documentation to guide new users. Find out more
  • 🎥 Video Guides – Create videos showcasing features and how to use Tiling Shell. Find out more
  • 💡 Your Ideas – Got a creative way to contribute? Let me know! Open an issue
  • You can't contribute but you know who could? Spread the verb! Let's use the power of community to grow and make Tiling Shell the go-to solution for window management in GNOME ❤️

If you're interested in joining the community and making a difference, feel free to reach out to me. Together, we can take Tiling Shell to the next level!

How to install

⭐ This update of Tiling Shell is on GSE too!

Manual installation

There are two builds and you need only one of them, according to your GNOME Shell version:

To know your GNOME Shell version, run gnome-shell --version.

Extract the downloaded archive. Copy its content to ~/.local/share/gnome-shell/extensions/[email protected] directory. You need to reload GNOME Shell afterwards (e.g. by logging out). Then you can enable the extension:

/usr/bin/gnome-extensions enable [email protected]

Tiling Shell v16.0 | Introducing Windows Suggestions!

12 Jan 15:09
Compare
Choose a tag to compare

Tiling Shell v16.0 | Introducing Windows Suggestions!

This update of Tiling Shell introduces Windows Suggestions, a feature designed to provide intelligent recommendations for other windows to tile, making window management smoother and more intuitive. While other operating systems have offered similar features, Linux has often lacked similar implementations with a great user experience. With this update of Tiling Shell, I'm focusing on delivering a polished and efficient solution...finally!

✨ How It Works

After placing a window in a tile using the tiling system, you’ll see suggestions for other windows to fill the remaining tiles. Got too many windows open? No problem! If all suggestions don’t fit within the available space, you’ll get a scrollable list for quick and easy navigation. See it in action:

windows_suggestions.mp4

What About Snap Assistant and Screen Edge Snapping?
Don’t worry, I’ve got plans for those too! Although Windows Suggestions won’t initially be enabled for the snap assistant or active screen edges in this release, this is only to ensure the feature is rock-solid at scale. If no major issues arise, I’ll gradually roll out support for them in the coming weeks. Want me to prioritize enabling these features? Let me know! Your input helps me a lot 😊

Can I choose to opt in or out?
Yes. From the extension's preferences you'll find a new section called Windows Suggestions. You can enable and disable windows suggestions for tiling system, snap assistant and screen edges. You can choose which of the three to keep enabled, or all of them, to personalize for your needs and preferences.

As always, your feedback is invaluable. It helps me continue improving and making Tiling Shell the best window management tool for Linux.

Let me know what you think, and happy tiling! 🎉

Closes #62

🌟 Join the Tiling Shell Community! 🌟

Are you a fan of Tiling Shell or someone passionate about contributing to open-source projects? I'm looking for contributors—both developers and non-developers—to help make Tiling Shell even better!

Here's how you can get involved:

  • 🎨 Translations – Help make Tiling Shell accessible in more languages! Find out more
  • ✍️ Written Guides – Write tutorials or documentation to guide new users. Find out more
  • 🎥 Video Guides – Create videos showcasing features and how to use Tiling Shell. Find out more
  • 💡 Your Ideas – Got a creative way to contribute? Let me know! Open an issue
  • You can't contribute but you know who could? Spread the verb! Let's use the power of community to grow and make Tiling Shell the go-to solution for window management in GNOME ❤️

If you're interested in joining the community and making a difference, feel free to reach out to me. Together, we can take Tiling Shell to the next level!

How to install

⭐ This update of Tiling Shell is on GSE too!

Manual installation

There are two builds and you need only one of them, according to your GNOME Shell version:

To know your GNOME Shell version, run gnome-shell --version.

Extract the downloaded archive. Copy its content to ~/.local/share/gnome-shell/extensions/[email protected] directory. You need to reload GNOME Shell afterwards (e.g. by logging out). Then you can enable the extension:

/usr/bin/gnome-extensions enable [email protected]

Tiling Shell v15.1 | Smart border radius, more keybindings, bug fixes and more!

10 Dec 13:29
8595fd9
Compare
Choose a tag to compare
  • New: introducing smart border radius! In GNOME, different windows may have different border radius. Drawing a border around the focused window is hard because it is not possible to know the window border radius. All the existing extensions just draw a border with a static value, making the UI less polished. Tiling Shell, instead, now dynamically computes the focused window border radius at runtime. Moreover, if you have an extension or anything else who customize the border radius, the focused window border radius adapts as well! This can be enabled/disabled from the extension's preferences. Closes #135. Discover more at the end of this release notes!

  • New: the width of the focused window's border now adapts to the monitor scaling factor and differences in DPI scaling or fractional scaling. Tiling Shell now scales focused window border according to monitor scaling factor. Closes #191

  • New: focused window's border is now above the actual border. Prior this update it was inside.

  • New: added keybindings to focus next or previous window. Thank you to jessedhillon for contributing and adding this new feature! ❤️

  • New: added button in the indicator menu to open preferences. Closes #208

  • New: added internal documentation about the format of the exported layouts (in JSON). Thank you to sebastiaanfranken for contributing! ❤️ Closes #177

  • New: new workspaces now have the same layout as the one used by the last workspace. This is still under testing and might not always work with multiple monitors. We are tracking this here #182. If you can, please share your feedback! Thank you

  • Fix: focusing windows using keybinding were stop working after the computer is suspended. Thank you to jessedhillon for contributing and fixing this problem! ❤️ Closes #184

  • Fix: moving windows across monitors using keybindings were not working. Closes #197

  • Fix: increased maximum value of snap assistant's threshold. Closes #205

  • Fix: to some users with multiple monitors tiles are appearing on the wrong monitor when moving a window. This update contains a bugfix but I haven't a secondary monitor, at the moment, to test extensively. If you can, please share your feedback here #194. Thank you!




kofi


Introducing smart border radius!

We all know how unpolished GNOME feels when multiple windows are opened and they have different border radius. GNOME traditionally uses static, predefined values for window border radii. Certain applications may request specific border radii through client-side decorations or their toolkit (e.g., GTK vs. Electron apps).

To my knowledge there isn't any solution to this and people end up using extensions to customize (and normalize!) windows border radius. I wanted to provide a solution: now Tiling Shell dynamically computes the focused window border radius at runtime. Moreover, if you have an extension or anything else who customize the border radius, the focused window border radius adapts as well!

How it works?

When a window gets created, after (approximately) 180ms, Tiling Shell captures the pixels of the entire window's left border, excluding any padding or shadow. Then, starting from topmost pixel, Tiling Shell counts the number of progressively transparent pixels until we hit the first fully opaque one. This count determines the top-left border radius. Indeed, the top left border radius is the number of pixels from the top pixel to the first non transparent pixel!

This process is repeated from the bottommost pixel upwards to compute the bottom-left border radius. All of this is done extremely fast, behind the scenes and with the lowest resource consumption possible.

The top-right border radius mirrors the top-left, and the bottom-right mirrors the bottom-left. This approach ensures that border radii dynamically adapt to the window’s actual design.


Tiling Shell v15.0 Release Notes

  • New: Finally, automatic tiling! When a window is created, it is automatically moved to the best tile according to where other windows are tiled and the current layout. The setting can be enabled/disabled from the extension's preferences (disabled by default). It follows the currently selected layout to pick the best tile for newly created windows. The best tile is the vacant tile nearest to the center of the screen. Closes #169
autotiling.mp4
  • Fix: improved user experience of keybindings. Closes #180 and #159

How to install

⭐ This update of Tiling Shell is on GSE too!

Manual installation

There are two builds and you need only one of them, according to your GNOME Shell version:

To know your GNOME Shell version, run gnome-shell --version.

Extract the downloaded archive. Copy its content to ~/.local/share/gnome-shell/extensions/[email protected] directory. You need to reload GNOME Shell afterwards (e.g. by logging out). Then you can enable the extension:

/usr/bin/gnome-extensions enable [email protected]

Tiling Shell v15.0 | Automatically tile new windows and more!

15 Nov 11:32
Compare
Choose a tag to compare
  • New: Finally, automatic tiling! When a window is created, it is automatically moved to the best tile according to where other windows are tiled and the current layout. The setting can be enabled/disabled from the extension's preferences (disabled by default). It follows the currently selected layout to pick the best tile for newly created windows. The best tile is the vacant tile nearest to the center of the screen. Closes #169
autotiling.mp4
  • Fix: improved user experience of keybindings. Closes #180 and #159




kofi

How to install

⭐ This update of Tiling Shell is landing on GSE too!

Manual installation

There are two builds and you need only one of them, according to your GNOME Shell version:

To know your GNOME Shell version, run gnome-shell --version.

Extract the downloaded archive. Copy its content to ~/.local/share/gnome-shell/extensions/[email protected] directory. You need to reload GNOME Shell afterwards (e.g. by logging out). Then you can enable the extension:

/usr/bin/gnome-extensions enable [email protected]

Tiling Shell v14.1 | Support different layouts accross workspaces and more!

03 Nov 09:04
Compare
Choose a tag to compare
  • New: It is now possible to have a different layout for each workspace. With this addition you can now select your favorite layout for each workspace of each monitor. Closes #137 #153 #118 #47 (one of the most requested feature, isn't it? 😄)
perworkspacelayout.mp4
  • New: You can choose a key to be pressed to deactivate the tiling system while moving a window. Pretty useful if you prefer the tiling system always on (i.e. without activation key) but sometimes you want to move a window without using the tiling system. Closes #164 #141 #130
  • New: When you export layouts or settings, the file chooser now comes with the name pre-filled.
  • Fix: Improved reliability of windows borders. Closes #171




kofi

How to install

⭐ This update of Tiling Shell is on GSE too!

Manual installation

There are two builds and you need only one of them, according to your GNOME Shell version:

To know your GNOME Shell version, run gnome-shell --version.

Extract the downloaded archive. Copy its content to ~/.local/share/gnome-shell/extensions/[email protected] directory. You need to reload GNOME Shell afterwards (e.g. by logging out). Then you can enable the extension:

/usr/bin/gnome-extensions enable [email protected]

Tiling Shell v14 | Customize window border color and animations, add support to translations, new keybindings and more!

24 Oct 14:28
Compare
Choose a tag to compare
  • New: Tiling Shell can now be translated to other languages 🌏 🌍 🌎! The 🇮🇹 Italian translation is already available. Contribute with your language by opening a new issue! Closes #146

  • New: Choose any color you want for focused window's border. Closes #149

Screencast.from.2024-10-06.11-47-23.webm
  • New: Move window to the center of the screen with keybinding. Closes #139
Screencast.from.2024-10-06.12-09-14.webm
  • New: Focus windows with keybindings. Closes #69 and #116
Screencast.from.2024-10-06.17-34-01.webm
  • New: Customize snap assistant and tiles animations. You can disable them too, by setting a speed of 0. Closes #61 and #150

  • New: You can now import, export and reset Tiling Shell's settings, thanks to the amazing contribution made by theoforger. Closes #122

  • Fix: Restoring a tiled window to its original size is now delayed a little bit, fixing compatibility issues with Google Chrome and Chromium based browsers and avoiding restoring if clicking or moving a window by mistake. Closes #148 and #126.

  • Fix: On GNOME 42 it wasn't possible to export and import layouts. Closes #134.




kofi

How to install

⭐ This update of Tiling Shell is on GSE too!

Manual installation

There are two builds and you need only one of them, according to your GNOME Shell version:

To know your GNOME Shell version, run gnome-shell --version.

Extract the downloaded archive. Copy its content to ~/.local/share/gnome-shell/extensions/[email protected] directory. You need to reload GNOME Shell afterwards (e.g. by logging out). Then you can enable the extension:

/usr/bin/gnome-extensions enable [email protected]

Tiling Shell v13.1 | Bug fix when moving windows using keyboard

30 Sep 16:28
Compare
Choose a tag to compare
  • Fix: Moving windows with keyboard is now more reliable. Closes #143




kofi

How to install

⭐ This update of Tiling Shell will land on GSE soon!

Manual installation

There are two builds and you need only one of them, according to your GNOME Shell version:

To know your GNOME Shell version, run gnome-shell --version.

Extract the downloaded archive. Copy its content to ~/.local/share/gnome-shell/extensions/[email protected] directory. You need to reload GNOME Shell afterwards (e.g. by logging out). Then you can enable the extension:

/usr/bin/gnome-extensions enable [email protected]

Release notes of Tiling Shell v13.0

  • New: Show a border around focused window. Can be enabled/disabled from the preferences and you can customize the width as well. Closes #132

  • New: Added keybinding to span multiple tiles. Closes #45 and #120
  • New: Added keybinding to untile the focused window. Closes #83
  • New:Added keybinding to resize the focused window to span all the tiles. Closes #114
  • New: Manage your keybindings from a dedicated dialog.

Tiling Shell v13.0 | GNOME 47 support, show border around focused window, new keybindings and more!

11 Sep 15:24
Compare
Choose a tag to compare
  • New: Show a border around focused window. Can be enabled/disabled from the preferences and you can customize the width as well. Closes #132

  • New: Added keybinding to span multiple tiles. Closes #45 and #120
  • New: Added keybinding to untile the focused window. Closes #83
  • New:Added keybinding to resize the focused window to span all the tiles. Closes #114
  • New: Manage your keybindings from a dedicated dialog.




kofi

How to install

⭐ This update of Tiling Shell will land on GSE soon!

Manual installation

There are two builds and you need only one of them, according to your GNOME Shell version:

To know your GNOME Shell version, run gnome-shell --version.

Extract the downloaded archive. Copy its content to ~/.local/share/gnome-shell/extensions/[email protected] directory. You need to reload GNOME Shell afterwards (e.g. by logging out). Then you can enable the extension:

/usr/bin/gnome-extensions enable [email protected]

Tiling Shell v12.2 | Customize quarter tiling activation area, snap assistant opens below the pointer, and more

05 Aug 14:49
Compare
Choose a tag to compare
  • New: Customize quarter tiling activation area!
Quarter.Tiling.Activation.Area.mp4
  • New: When the snap assistant opens, it is placed where the mouse pointer is and below it.
Snap.Assistant.Trigger.Threshold.mp4
  • Fix: Tiling buttons now support maximized windows. Closes #113
  • Fix: Snap assistant threshold now follows monitor's scaling factor and it is more precise on multi-monitors setups with different scaling factors.




kofi

How to install

⭐ This update of Tiling Shell is on GSE too!

Manual installation

There are two builds and you need only one of them, according to your GNOME Shell version:

To know your GNOME Shell version, run gnome-shell --version.

Extract the downloaded archive. Copy its content to ~/.local/share/gnome-shell/extensions/[email protected] directory. You need to reload GNOME Shell afterwards (e.g. by logging out). Then you can enable the extension:

/usr/bin/gnome-extensions enable [email protected]

Tiling Shell v12.1 | Customize Snap Assistant threshold, window menu now supports multiple scaling factors, and more!

29 Jul 16:08
Compare
Choose a tag to compare
  • New: You can now choose the minimum distance from the Snap Assistant to trigger its opening. Closes #95

  • Fix: There were some issues with keybindings that were solved. Closes #98
  • New: Edge Tiling now also works when the pointer is above top panel! Closes #109 and #108. Thanks to Philipp Jungkamp (PJungkamp)

How to install

⭐ This update of Tiling Shell is on GSE too!

Manual installation

There are two builds and you need only one of them, according to your GNOME Shell version:

To know your GNOME Shell version, run gnome-shell --version.

Extract the downloaded archive. Copy its content to ~/.local/share/gnome-shell/extensions/[email protected] directory. You need to reload GNOME Shell afterwards (e.g. by logging out). Then you can enable the extension:

/usr/bin/gnome-extensions enable [email protected]

v12 Release Notes

  • New: Right-click on a window to use the auto-tile buttons and the snap assistant from there! Closes #74 and #77. The auto-tile buttons allow you to tile to the leftmost or rightmost empty tile, based on your selected layout. The "Move to best tile" button suggests tiling to the nearest empty tile to the center of the screen. This is something new in the GNOME ecosystem, especially considering how the layout and tile buttons are drawn: feel free to share your thoughts and ideas by opening a new issue!

Check the demonstration video to see it in action!

Screencast.from.2024-07-13.18-21-57.webm

The original idea was to show the snap assistant when hovering the maximize button (as it is done on Windows 11). Unfortunately, GNOME doesn't let us handle the hovering of the maximize button or add another button near it...

  • New: keybindings for moving/tile windows now consider other monitors too, so you can move and tile the window from one monitor to another. Closes #73
  • New: auto-resize now works when resizing with window-action key. Closes #76
  • Fix: Keybindings for moving windows accross the tiles are more precise
  • Fix: Snap assistant, with blur enabled, had wrong colors on light themes (left picture). Now it has the right transparency and colors (right picture)

  • Fix: in some edge-cases the indicator was showing the monitors with a wrong order. Closes #92