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

Add a preference: Group/sort windows by app/space/screen then drill-down #337

Open
iheshun opened this issue May 13, 2020 · 40 comments
Open
Labels
enhancement New feature or request

Comments

@iheshun
Copy link

iheshun commented May 13, 2020

I'm sorry, I'm a Chinese person, so I'm using translation software to write this paragraph, if there is a problem with the expression, please understand.

Currently using the software you provided and it's great. But in use, I have 2 small comments that I hope you will consider.

1、Does activating (command+tap) the "panel" allow setting shortcut keys? This allows me to set shortcuts on the mouse and activate the panel with one click.
2、After the panel is activated, the current App is sorted according to the order of the window, whether you can support sorting by application category. For example, 1(word)3(word),2(Powerpoint),3(Excel),3(Evernote),4(Facetime)

Finally thanks again for making such great software and good luck!

Translated with www.DeepL.com/Translator (free version)

@iheshun iheshun added the enhancement New feature or request label May 13, 2020
@lwouis
Copy link
Owner

lwouis commented May 13, 2020

Hi @iheshun! Thanks for sharing this feedback!

I will try to answer your suggestions:

  1. Does activating (command+tap) the "panel" allow setting shortcut keys

You can change the shortcuts easily in the preferences panel:

image

There you can configure every shortcut:

image

If you want to trigger the shortcuts using the mouse, most mouse manufacturers let you assign keyboard keys to a mouse click. On my Logicool mouse for example, I set it like this:

image

For example, you would set your mouse click4 to send alt-tab, then you would set AltTab to trigger on alt-tab. You can change the keyboard shortcut of course.

  1. After the panel is activated, the current App is sorted according to the order of the window, whether you can support sorting by application category. For example, 1(word)3(word),2(Powerpoint),3(Excel),3(Evernote),4(Facetime)

It is an interesting idea, but I think it is a bit complex and may not be as useful as it seems. Let's say I have this today:

Word1, Powerpoint, Excel, Evernote, Facetime, Word2, Word3, Word4

If we group by app, then you would see this:

Word1, Word2, Word3, Word4, Powerpoint, Excel, Evernote, Facetime

So even though you haven't opened Word2, Word3, Word4 maybe in a long time, they are taking up all the important space on the UI, just because you recently opened Word1.

That being said, maybe other people would want that feature, so I'm going to keep this ticket open, and rename it to reflect your second suggestion. If it gets enough upvotes, then I'll probably implement it. Another option is that you, or someone who wants that feature submits a pull-request. I would gladly merge it as it would a preference, so would not impact people who don't want it, but would help people who want it.

@lwouis lwouis changed the title Two recommendations on the use of software Add a preference: Group windows by app May 13, 2020
@iheshun
Copy link
Author

iheshun commented May 13, 2020 via email

@iheshun
Copy link
Author

iheshun commented May 13, 2020 via email

@lwouis
Copy link
Owner

lwouis commented May 14, 2020

Actually, all the pictures in your post are not showing. I think there was an issue with you posting them using email instead of the github.com website.

image

@iheshun
Copy link
Author

iheshun commented May 14, 2020

The email client I used was spark; there was indeed a problem.

The first problem has been solved, the reasons are:

  1. I used an external keyboard;【Pic 1】
  2. I modified the modifier key;【Pic 2】
    000
    【Pic 1】

002
【Pic 2】

So I wanted to set option + tab, but in the end it became command + tab, and the Logitech panel display in Chinese is also wrong(tab translates to "标签")【pic 3】, causing me to find no problems.
007

【Pic 3】

The second question, I mainly consider the situation of frequently copying and pasting content in the same application. Here I use 2 pictures as examples.【Pic 4】and 【Pic 5】
008
【Pic 4】

009
【Pic 5】

In fact, I thought about a compromise method, as long as the application is allowed to sort according to the window serial number.
Like this: 3 (current window), 1, 2, 4, 5.

Because I can set the application to appear in only one window.【Pic 6】
003
【Pic 6】

@lwouis
Copy link
Owner

lwouis commented May 22, 2020

AltTab is a port of Windows 10. As such, it shows windows in chronological order. While I believe it to be the best general approach for productivity, I'm open to introducing other workflows to the app. People have suggested direct access for instance (#210).

The issue however with adding more workflows into the same tool, is the explosion of preferences. The tool already has a large number of preferences because I find myself wanting to let people have it their way, and be empowered. The downside of that is that the tool is becoming unwelcoming/overwhelming, especially to new and more casual users.

Let's imagine we add a new preference to group the windows by app. That's yet one more preference. Now in your example (Pic 5), you say that the windows for each app could be ordered based on the screen they are on. Some people may prefer that they be in chronological order, instead of based on which screen. Actually if you have multiple windows of the same app on the same screen, you need to sort them anyway, and chronological seems the way to go. My point being that we are already talking about adding 2 new preferences here.

Another issue is that I decided our of principles to have 0 telemetry in the app, website, etc. This means that I have 0 statistics on users preferences, usage pattern, etc, outside of the active people like you who take the time to discuss on the Issues here. I think everyone would agree that adding a preference to accommodate 1 person is not the best idea. Preferences should be useful to a bunch of people. However as I said there is no way to know even if current preferences in the app are of any use.

Really, I'm not sure how to pilot this project forwards without data. I all falls down to my judgment in the end since I'm the main contributor. It's not necessarily a bad thing btw to not follow data. Data is why fast food in the US is so big. They optimize demand and human feedback for caloric-rich food, and now they have a terrible obesity problem. I rather like the idea of not always optimizing for real-world usage as people's habits may not be the direction we should reinforce.

I'll keep this ticket open as a discussion point. I think I'll open a new ticket to kind of review the current preferences and features of the app, and discuss the project direction there.

@BBartosz
Copy link

BBartosz commented Jun 5, 2020

I think OP is talking about behaviour which you might find in Ubuntu or other gnome UI's

image

I find it very useful, would be a great feature but I guess not trivial to implement. Sometimes I have 3+ windows of my IDE opened and then number of rows in alt tab menu increase but with grouping it would stay minimal and expand when needed . Anyway this plugin save my life in macos, amazing job 👏

@lwouis
Copy link
Owner

lwouis commented Aug 13, 2020

I was thinking about this, and observed that this is creating a hierarchy. AltTab currently shows all the information on first interaction. All windows are shown, annotated with which app, Space they are on, with title, minimized/hidden state, etc. Here you are talking about showing a first organization layer, then drilling down. Note that this concept could be done for any characteristic of the windows. On the screenshot, the grouping is done by app, but you could imagine presenting Spaces, screens, etc.

The way I see it is that it's the same information, presenting in a different layout. Other layouts have been requested, such as #384. To be honest, I would like to provide the option. Having a Layout preference where you select between:

  • All windows shown (classic)
  • Group by app
  • Group by Space
  • Group by Screen

Another question is: do we still show the apps when one is drilled, as in the screenshot, or could we prefer drilling in and only showing the windows after the app is selected?

The issue right now is time. Making the original layout took me hundreds of hours. It's quite hard, as it turns out, to do layout when you support dozens of preferences that affect it, different screen sizes and ratios, scrolling when there are too many windows (mouse wheel and trackpad need separate support), drag-and-drop on the windows, mouse-hover, click of the windows and out of the ui to close it, 4 versions of macOS, showing the ui within a few frames of the shortcut being triggered, etc. The current UI is seemingly simple but represent a pretty insane amount of time and knowledge.

Anyway PRs welcome, as always ;p

@lwouis lwouis changed the title Add a preference: Group windows by app Add a preference: Group windows by app/space/screen Aug 14, 2020
@lwouis lwouis changed the title Add a preference: Group windows by app/space/screen Add a preference: Group windows by app/space/screen then drill-down Sep 9, 2020
This was referenced Nov 11, 2020
@dvcrn
Copy link

dvcrn commented Jun 23, 2021

I came here from the #532 feature request.

I want to give my +1 for a feature that allows to restore the existing CMD-TAB functionality to switch based on applications, and not windows.

So why not just use the built-in thing then? Well it doesn't look as nice, but it can also not be restricted to the current space, or use the filters that alt-tab has like blacklisting apps, or hiding stuff without windows. The built-in switcher will always grab all apps across all spaces.

It could be as simple as adding an option here that specifies whether to show windows or apps.

Screen Shot 2021-06-23 at 13 05 17

So I can see 3 main patterns:

  • Switch across all apps
  • Switch across all windows
  • Switch across current apps windows

@wfaulk
Copy link

wfaulk commented Jul 26, 2021

I just wanted to mention that HyperSwitch does (did?) this as well. It somehow tied into the normal Cmd-Tab UI and showed the list of windows for the highlighted app as a separate subwindow:

Hyperswitch

@ggedde
Copy link

ggedde commented Sep 29, 2021

Hi @lwouis,
Thank you and all contributors that have worked on this.
It is really awesome and I appreciate it.

I understanding that drilling down is the main question right now, but honestly I just need a "Group by Apps" option.
I don't need to show or drill down multiple windows from the same apps. I would just prefer that when selecting a grouped app that it just focuses on the last opened window from that app. Most of my apps have their own keyboard command for switching between windows within them. I can see some people wanting a number on the grouped apps that show how many there are, but I personally don't need that. Just a simple a checkbox for "Group by Apps". It would be great to get that added in then keep working with the community on ideas for drilling down and then changing this feature once that has been decided, etc.

EDIT: Also this should be a setting on each shortcut and not Appearance as I can see that someone may want this for Shortcut 1, but not Shortcut 2. Thanks

@ghost
Copy link

ghost commented Jan 15, 2024

Hello guys.

I was out of free time during the last days of last year because of the holidays, so I could not continue my work for the resolution of this ticket. But I have already been able to work again on this ticket and I would like to share with you the result of my work.

I had to change the layout of the Control tab a little so that I could add one more option. I demonstrated the changes I made in the preference window interface with more details in ticket #351.

Screenshot 2024-01-15 at 18 56 38

The grouping of windows by app is already working, as well as the limitation of display of only one window per app.

Without groupping:

Screenshot 2024-01-16 at 17 31 41

Grouping windows by app:

Screenshot 2024-01-16 at 17 32 13

It is still necessary to implement the grouping of windows by Space and by Screen. Now that the grouping by app is already working, I believe that implementing the grouping by Space and by Screen will not be difficult, but first I would like to know your opinion.

@lwouis
Copy link
Owner

lwouis commented Jan 16, 2024

Hi @anonymous-si,

As it stands, it looks like it's not really grouping, but rather showing only 1 window per app/Space/screen. Do you intend on adding the in-group navigation / drilldown? If not, I suggest to rename "Group windows by:" to "Show only first window per:".

Without the in-group navigation, I'm not sure how useful it is to users in that thread. I'm not sure it could be released as it is.

Thank you

@ghost
Copy link

ghost commented Jan 16, 2024

Hi @anonymous-si,

As it stands, it looks like it's not really grouping, but rather showing only 1 window per app/Space/screen. Do you intend on adding the in-group navigation / drilldown? If not, I suggest to rename "Group windows by:" to "Show only first window per:".

Without the in-group navigation, I'm not sure how useful it is to users in that thread. I'm not sure it could be released as it is.

Thank you

Hi @lwouis.

In fact, I was demonstrating the window grouping feature. I updated my previous comment to show more windows at the same time and thus make it easier to perceive the window grouping feature in action.

But yes, I developed 2 features, one that limits the display of only one window per app, and another that shows all the windows of each app next to each other (window grouping).

Limiting only one window per app:
Screenshot 2024-01-16 at 17 26 36

Window grouping:
Screenshot 2024-01-16 at 17 26 47

Regarding the drilldown feature, I think it's better that it be developed by a more experienced developer, because I don't have much experience in AppKit development. But I wanted to develop the window limit per app and window grouping features because I realized that these features would not be so difficult to develop, and that I would like AltTab to have it.

@vurtomatic
Copy link

@anonymous-si I just started a ticket asking about "grouping windows by display".

Or any kind of indicator, such as a badge, to show the window is on a different display would be extremely helpful and quicker when switching windows.

@erikhuizinga
Copy link

erikhuizinga commented Jul 10, 2024

Just dropping by to express my interest in a feature to group the AltTab layout by app. I use 3 displays and 3+ browser windows at all times. While I like the existing feature to only show windows from the active app, I think there indeed is a use case to group windows of all apps. E.g. right now I have 15 open windows of various apps. Switching within my browser I have a shortcut for, but finding a specific app that I used a few screens ago (it's lower on the stack, somewhere in the middle–end), can be hard and require a lot of keystrokes after looking for the correct app window, or even mouse movement (😱 the horror! 🤢).

My personal preferences are:

  1. : My main use case for AltTab is just being able to hit the shorcut and switch back to my previous window, regardless of app. This feature I would never change.
  2. : My secondary use case is the one of this issue: switch to some app further down the (potentially large) stack.
  3. `: My tertiary use case is switching between windows of the current app, which is already a feature.

Probably, use cases 1 and 2 could merge into one, because if the current app is grouped first in use case 2, it features a superset of use case 1.

@tkunze
Copy link

tkunze commented Oct 26, 2024

Love the visual nature of AltTab but miss the one, much simpler feature which makes Witch great: listing windows in a predictable order. In particular:

  1. Group all windows by app, using the order in which apps appear in the Dock.
  2. Sort windows within each app by title.

This would massively reduce the cognitive energy needed to find the window one is looking for. No more scanning, simply zero in on the location where that app/window tends to be.

No UI changes. Just one new "Sort apps by" setting in Preferences: Sort apps by: {None, Alphabetical order, Dock order}. The Sort windows by(Alphabetical order) already exists.

@rhyek
Copy link

rhyek commented Nov 28, 2024

It would be great if we could get the "Group windows by application" feature here. I decided to disable the cmd+tab shortcut in AltTab and just use the native mac os switcher in the meantime while keeping cmd+` to switch within same app, but it is not ideal since I have three screens and:

  1. The native switcher shows only on the main screen. (Got around this using: defaults write com.apple.dock appswitcher-all-displays -bool true; killall Dock)
  2. Shows windows from all screens which AltTab has already solved.

I really don't think the current suggestions of being able to group by screen and space are a good idea. If I wanted that I would first switch to the screen or space and press alt+tab or w/e key shortcut there. Also I don't think it's important to "drill down". It'd be much easier to switch to an app with alt+tab, then switch to a different window of it with alt+`.

I think discussions here should be about simplifying the feature requested and then implement that.

@risalfajar
Copy link

I agree with @rhyek

I don't think it's important to "drill down". It'd be much easier to switch to an app with alt+tab, then switch to a different window of it with alt+`.

This is the better approach, trying to add the "drill down" would increase complexity unnecessarily.

I think discussions here should be about simplifying the feature requested and then implement that.

The feature should be developed as simple as possible, then iterate from there. It has been years, it's too long.

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

No branches or pull requests