Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revisiting the OOTB experience and main settings #245

Open
Leleat opened this issue Mar 16, 2023 · 5 comments
Open

Revisiting the OOTB experience and main settings #245

Leleat opened this issue Mar 16, 2023 · 5 comments

Comments

@Leleat
Copy link
Owner

Leleat commented Mar 16, 2023

I am reviewing the current state of Tiling Assistant and would like to improve (aside from the code 🙃) the OOTB experience and main settings (i. e. no advanced/experimental stuff that's hidden away for now). I am concerned about the discoverability of features and the terminology I've used so far. Especially, the names of

don't communicate what they do well. But I couldn't come up with better terms...

As for the discoverability: most features can only be discovered by looking at the preference window and finding a related setting. The window grab modes are especially bad since the only way to be aware of them is to read the repo's wiki. To at least fix the window grab modes, I thought that highlights could be added to the screen edges/quarters when a window is grabbed to indicate them as 'drop targets'. Maybe also have a small pills/popup appear at the bottom of the screen to hint at/list the grab modes in a subtle manner. Question is, whether that is too annoying for people who already know about those features. A nice animation, a setting to disable it and only enabling it on 'new installs' might be enough to address those concerns...

Here is a screenshot of the default settings (as of v39)

prefs

@Marathon2112
Copy link

Related to this issue might be #246.

@Leleat
Copy link
Owner Author

Leleat commented Mar 21, 2023

One more idea:

Merging the Tile Editing Mode and the Tiling Popup

The Tile Editing Mode is a keyboard-driven mode to manage tiled windows. It has a few problems though (see below). I hope to fix those by adding a UI component to the Tile Editing Mode, and merging it and the Tiling Popup into one (which I'll just call Tile Editor). The UI is inspired by KDE 5.27's new tiling feature.

Current Problems aka Motivations

  • Users cannot understand how to use the Tile Editing Mode by themselves. They need to read the wiki to find the neccessary keys and key combinations. Similarly, the Tiling Popup also has an undiscoverable feature (holding Shift/Alt during the activation).
  • The pointer-based workflow and the keyboard-based workflow currently do not support the same feature set. For instance, it is pretty easy to create a 'custom' layout on the fly with the pointer by using Adaptive Tiling. On the other hand creating a custom layout with the Tile Editing Mode is fairly clunky and certain layouts cannot even be created with it.

Current Plans

Mockups:

2

1

  • The Tile Editor has different modes
    • Split and Insert replicate the features from the Adaptive Tiling Grab Mode
    • Swap swaps windows from 2 tiles
    • Resize allows you to resize tiles
    • Move allows to you to change the workspace/monitor the tile group is on
    • Layout applies one of the user defined layouts to the selected tile
    • Delete untiles a window and removes the selected tile, if possible. If other tiles cannot expand to cover the to-be-deleted tile, it shouldn't possible to delete the tile.
    • Apps opens the Tiling Popup so that you can add a window to that tile. Currently, the Tiling Popup only allows to tile apps from the open-windows list. Maybe it'd be good to expand this to all apps (i. e. also include unopened apps) so that a user could open an app and have it tile into that spot. Maybe a + icon at the end of the Tiling Popup could open an all-apps-list.
    • From the Tiling Popup: up returns you to the mode selection of the Tile Editor

Problems with the idea

  • The different mode names need to be improved since they don't communicate what they do well. Don't know if there are succinct and meaningful names for them though. So maybe a tooltip or a short on-screen explanation (after entering or hovering the mode) could be added.
  • The mnemonics probably don't work because of translations. So I guess I'd need to show the key after the name.
  • How should the focus on a tile with a window be indicated? Is darkening the window enough?
  • Dark window content means that the mode pills/popups don't stand out very much (although that is also a problem with GNOME's vanilla popups/osds)

@tsoulard
Copy link

Apologies if these suggestions are unwarranted, but I've been using tiling assistant for a while and love it but thought I'd throw in a few suggestions in regards to the OOTB settings.

Favourites

  • In order to use a favourite layout you're required to enable the panel indicator then select a favourite, Doing this in the settings where you create and manage saved layouts would be great in addition to the panel indicator.
  • A Default layout upon install that is relevant to the current monitor for example on a 16:9 monitor at 1080p having a side by side layout is probably fine. But on larger 32:9 a layout such as below may work better so something along those lines perhaps to get a user up and running faster?
    image

Keybinds

  • As you've mentioned the Grab modes and things like Edge tiling and corner tiling are ambiguous i don't know how feesable it is but a graphic similar to that found in the Gnome settings could go a long way at least initially to resolving that confusion.
    image
  • Adding a shortcut for Tiling aware snapping could also be useful similar to how fancy zones under windows allows you to essentially press super + up to snap to a favourite layout depending on the current position of the window. (This feels related to "Favourite Layout" under dynamic keybind behaviour so may not be related to this issue)

General Settings

  • The other section feels like it could do with some love there are settings there related to "Mode activiators" that feel like they'd be more at home in Keybinds.
  • Add the option to override the shift key in gnome and use that for the favourite zone activation similar to KDE and Windows

@Leleat
Copy link
Owner Author

Leleat commented Apr 28, 2023

Apologies if these suggestions are unwarranted

Feedback is always welcome 🙂!

The layouts are currently under the advanced/experimental umbrella so they are hidden by default. I do hope that I can rework them eventually and promote them to the 'main settings'. I am mostly unhappy with how users need to set them up and how layouts use the Tiling Popup (which causes confusion for most users since that doesn't really fit the name 'layout').

Your 2 suggestions with regards to the favorite layout make sense. I'll add them when I eventually rework the layouts.

Adding a shortcut for Tiling aware snapping could also be useful similar to how fancy zones under windows allows you to essentially press super + up to snap to a favourite layout depending on the current position of the window.

This sounds similiar to existing features in T-A. Do you have a video of this feature in fancy zones in action so I can have a better understanding of what you exactly meant?

Add the option to override the shift key in gnome and use that for the favourite zone activation similar to KDE and Windows

I don't think that is possible. IIRC mutter doesn't expose that feature so I wouldn't be able to overwrite. Although I may be misremembering it.

@tsoulard
Copy link

This sounds similiar to existing features in T-A

So you can use Super + Left or Right to move them along but in Fancy Zones you can do super + up with an item in the middle of the screen and it'll snap to the "Favourite layout" closest as seen in this video.

Fancy.Zones.Demo.mp4

I don't think that is possible.

That's a shame to be honest not the end of the world though!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants