lwouis / alt-tab-macos

Windows alt-tab on macOS
https://alt-tab-macos.netlify.app
GNU General Public License v3.0
10.68k stars 323 forks source link

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

Open iheshun opened 4 years ago

iheshun commented 4 years ago

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)

lwouis commented 4 years ago

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.

iheshun commented 4 years ago

Hi !

Thank you so much for your reply, I can see that you are a very enthusiastic person.

First of all, I regret that, as a questioner, one should first identify one's question carefully. The first question I misdescribed and caused you unnecessary trouble.

I tried to type "option+tab", but I ended up typing "command+tab".

Regarding the first question, I found the cause of the problem, I couldn't activate "option+tab" with the mouse because I used an external keyboard and modified the modifier keys.  picture1 So when I was setting the mouse shortcut, it changed to  picture2  , and the correct one should be   picture3  . Now the first problem has been solved.

Regarding the second question, the starting point is to improve the efficiency of software positioning(定位:fixed position), we usually switch between similar applications (COMMAND+C, COMMAND+V) and similar software is easier to find when presented together. Here I found two pictures for comparison.    Picture4    and    picture5

This problem can also be solved if you can set the applications to be in window order. Like this: 3 (current window), 1, 2, 4, 5. Because I can select a certain application to open in a specific window, like in     picture6    .

Like you said, this feature may not be very important and doesn't require you to spend much time thinking about it.

Finally thanks again for your reply and good luck.

  Picture1

  Picture2

  Picture3

  Picture4

  Picture5

  Picture6

Harlan

heshun@outlook.com 在 2020年5月13日 +0800 PM4:36,lwouis notifications@github.com,写道:

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: There you can configure every shortcut: 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: 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 prime real-estate 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. — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

iheshun commented 4 years ago

Image 6 was not sent successfully, I tried to send it again. "Assigned to this desktop"


发件人: he shun heshun@outlook.com 发送时间: 2020年5月13日 10:16 收件人: lwouis/alt-tab-macos reply@reply.github.com 主题: Re: [lwouis/alt-tab-macos] Two recommendations on the use of software (#337)

Hi !

Thank you so much for your reply, I can see that you are a very enthusiastic person.

First of all, I regret that, as a questioner, one should first identify one's question carefully. The first question I misdescribed and caused you unnecessary trouble.

I tried to type "option+tab", but I ended up typing "command+tab".

Regarding the first question, I found the cause of the problem, I couldn't activate "option+tab" with the mouse because I used an external keyboard and modified the modifier keys. picture1 So when I was setting the mouse shortcut, it changed to picture2 , and the correct one should be picture3 . Now the first problem has been solved.

Regarding the second question, the starting point is to improve the efficiency of software positioning(定位:fixed position), we usually switch between similar applications (COMMAND+C, COMMAND+V) and similar software is easier to find when presented together. Here I found two pictures for comparison. Picture4 and picture5

This problem can also be solved if you can set the applications to be in window order. Like this: 3 (current window), 1, 2, 4, 5. Because I can select a certain application to open in a specific window, like in picture6 .

Like you said, this feature may not be very important and doesn't require you to spend much time thinking about it.

Finally thanks again for your reply and good luck.

[cid:26E29A9A6EF047EE8CA49D3A696A4586] Picture1

[cid:DAD9B9FD79AA4F0DABB0E1FFCC15F29A] Picture2

[cid:E6FB7F40F7B6427683D31CCCD018D898] Picture3

[cid:1D2AACC7025B443699AE3C3F2E94A5D8] Picture4

[cid:919AE03804254796907A0B3E8DAB9A67] Picture5

[cid:EA9D9CEC10A741EE9ECE44CC709F6E2F] Picture6

Harlan

heshun@outlook.com 在 2020年5月13日 +0800 PM4:36,lwouis notifications@github.com,写道:

Hi @iheshunhttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fiheshun&data=02%7C01%7C%7C71e876aa512c44852bab08d7f718b1ac%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637249557733315836&sdata=ubHqVfIIRA9oNbLhQge8a6NYvjDC9MvP7gAuizl2CQM%3D&reserved=0! 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]https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fuser-images.githubusercontent.com%2F106195%2F81789298-baa35a00-953e-11ea-8ea5-75e42cce7cc9.png&data=02%7C01%7C%7C71e876aa512c44852bab08d7f718b1ac%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637249557733329235&sdata=9jkV4ZGBlVMGu8jBJw%2B10AMCH2kN556YPFsb4FQQYS4%3D&reserved=0

There you can configure every shortcut:

[image]https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fuser-images.githubusercontent.com%2F106195%2F81789339-cd1d9380-953e-11ea-9b9d-7903a9a90f91.png&data=02%7C01%7C%7C71e876aa512c44852bab08d7f718b1ac%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637249557733335830&sdata=B3qC4LybcOithpj2N%2FTRtGrcJWNuJK6FDzuYhPSyZMc%3D&reserved=0

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]https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fuser-images.githubusercontent.com%2F106195%2F81789480-02c27c80-953f-11ea-8d53-0436d0d4a332.png&data=02%7C01%7C%7C71e876aa512c44852bab08d7f718b1ac%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637249557733345823&sdata=Wppiui0KWTFZobgWtPIURe1xdQtQH9x96wUFXHXZSFM%3D&reserved=0

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 prime real-estate 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.

― You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Flwouis%2Falt-tab-macos%2Fissues%2F337%23issuecomment-627837281&data=02%7C01%7C%7C71e876aa512c44852bab08d7f718b1ac%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637249557733355818&sdata=B4WxTmE0I4RDbFMuKh%2FGLBa7ODSr%2B6E30UM79eu2i3A%3D&reserved=0, or unsubscribehttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAPAGLFMNH45OLKPDBHIB35LRRJLXXANCNFSM4M7ORXDQ&data=02%7C01%7C%7C71e876aa512c44852bab08d7f718b1ac%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637249557733365814&sdata=NW0L8Qt7RFaA%2BKKBei3VkFEkOGjeREtGA6IsRfC0SkY%3D&reserved=0.

lwouis commented 4 years ago

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 commented 4 years ago

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 commented 4 years ago

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 commented 4 years ago

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 commented 4 years ago

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:

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

dvcrn commented 3 years ago

I came here from the https://github.com/lwouis/alt-tab-macos/issues/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:

wfaulk commented 3 years ago

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 commented 3 years ago

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

ejabu commented 2 years ago

Hi, @lwouis @ggedde @iheshun

I looked into the codebase, and I assume it has something to do with this function called reorderList

static func reorderList() {
        list.sort {
            if let bool = sortByBooleanAttribute($0.isWindowlessApp, $1.isWindowlessApp) {
                return bool
            }
            if Preferences.showHiddenWindows[App.app.shortcutIndex] == .showAtTheEnd,
               let bool = sortByBooleanAttribute($0.isHidden, $1.isHidden) {
                return bool
            }
            if Preferences.showMinimizedWindows[App.app.shortcutIndex] == .showAtTheEnd,
               let bool = sortByBooleanAttribute($0.isMinimized, $1.isMinimized) {
                return bool
            }
            return $0.lastFocusOrder < $1.lastFocusOrder
        }
    }

image832

My simple solution is first, we may group these Visual Studio Code adjacent to its counterpart and also group Google Chrome next to another two windows.

we can sort it by the Suffix of Window Title

 - Visual Studio Code
- Google Chrome
lwouis commented 2 years ago

@ejabu there is no need to parse the app name from the title. You can access the app name directly from $0.application.runningApplication.localizedName. However, you don't want to group/match by localized name. You should do it based on the bundleIdentifier which uniquely identifies an app on macOS, so $0.application.runningApplication.bundleIdentifier.

Note that the sorting of windows based on app or space is a very small part of this ticket. Most of the work lies in thinking about the UX that would be added, and these topics here:

There are many workflows requested by various users here. It would be nice to find a way to combine them, or find a UX which can satisfy various users even though they are currently asking for different things. Some asked for a drill-down UI, some just want grouping without any way to drill-drown, some want a main/details split-view like this, etc.

There is some UX/workflow thinking to do here. Then there is work specifying in more details how it would work and how it would integrate with all other features of the app. Then it's implementation time, of which I think most of the work will be on a new layout system.

alonpr commented 2 years ago

@lwouis , I believe that a "simple" optional sorting by the app name, as suggested by @ejabu , can be helpful for many users, especially when working with multiple windows of the same app.

universvm commented 1 year ago

Are there any updates on this by any chance? I see this issue has been mentioned several times - are there still plans to implement it?

vanchKong commented 1 year ago

nothing changed :cry: This feature makes AltTab perfect.

XOR-op commented 1 year ago

Hello @lwouis, since #1801 I have created a fork to fulfill my own need. That works well to me for months. Therefore, I want to hear from your opinion and if you think it's ok, I will open a pull request to address current issue.

Here is what I added:

alttab

I create another option "Group By", of which the currently available options are "Disable" (classic AltTab ordering) and "By space" (windows are grouped by space, numerically increasing, and the ordering of applications inside the same space follows the classic). If I had time I may add other options like "By app", or it can be added in other PRs.

Here I want to see your response including: 1. Is the design ok? 2. Is the naming ok, or you think there are better names?

Edited: sorry to mention that this solution does not include drill-down feature. Only grouping.

lwouis commented 1 year ago

Hi @XOR-op,

It seems to me that you implemented sorting, not grouping. Grouping would manifest the group visually. It could be a line surrounding the items from a group, a background color, etc.

Could you share what the UI looks like? It would help understand what your new preference does exactly.

This ticket here is a bit ambitious. It aims to have groups and drill-down. So users have "levels" like folders, and can see one level, then go down another. The goal being to not be overwhelmed by a large number of windows

universvm commented 1 year ago

imo having sorting by application is already a step forward but I'd agree it'd be better to see what the feature looks like

XOR-op commented 1 year ago

Hi @XOR-op,

It seems to me that you implemented sorting, not grouping. Grouping would manifest the group visually. It could be a line surrounding the items from a group, a background color, etc.

Could you share what the UI looks like? It would help understand what your new preference does exactly.

This ticket here is a bit ambitious. It aims to have groups and drill-down. So users have "levels" like folders, and can see one level, then go down another. The goal being to not be overwhelmed by a large number of windows

The unsorted version:

unsorted

The sorted version:

sorted

This is a purely sorting without any touching with UI. And I also saw #1936 but that PR has been inactive for long. I'm not sure how to contribute is better but I think at least a similar feature should be merged into mainstream. Lots of users are waiting for this.

lwouis commented 1 year ago

Let's please keep in topic, and hold conversations about sorting in the sorting ticket, or in the sorting PR.

This ticket here is about grouping, drill-down, hierarchy. You can scroll up and see the kind of ideas people discuss here.

ZHDI-1 commented 1 year ago

I think things like ubuntu do is not really great, user may dont want a extra large icon to fill space and crowding the space of windows, here might has a better way to do it:

_______________________________________________________
| small icon with name of application
| ______________
| |              |
| |              |         
| |______________|.....
|here will be a line split space to another application
|another icon and name of another application
| ______________
| |              |
| |              |         
| |______________|.....
| ______________________________________________________

we will use <Tab> or <>` to switch application and another to switch window, arrow keys will support to switch windows and here will two situations:

  1. windows of an application only occupie one line, down arrow key will just jump to other application
  2. windows of an application occupie more than one line, and down arrow key will jump to another line of application, utils the next line is next application

in summary, arrow keys will only support windows jump unless the next one is another application's. there may be several problems here, like if a application only has one or two window, then we may should let these things dont take up an entire line...

and, this solution will does not break current layout too much, it should take less time. I want to hear your opinion! @lwouis

whoisdecoy commented 1 year ago

2833 I think mimicking native Mac OS and grouping all windows to once icon is a key feature. showing all windows when selecting one icon. I would prefer that as an option over drilling down or having them all separate.

anonymous-si commented 10 months ago

3040 I was able to make the change to the source code to show only one window of each application, in the same way that the native macOS shortcut ali+tab works. Thank you very much.

Screenshot 2023-12-09 at 19 57 50

azhongzl commented 10 months ago

3040 I was able to make the change to the source code to show only one window of each application, in the same way that the native macOS shortcut ali+tab works. Thank you very much.

Screenshot 2023-12-09 at 19 57 50

Could you please put this to the release so that others can use as well?

anonymous-si commented 10 months ago

3040 I was able to make the change to the source code to show only one window of each application, in the same way that the native macOS shortcut ali+tab works. Thank you very much.

Screenshot 2023-12-09 at 19 57 50

Could you please put this to the release so that others can use as well?

I can create a fork of the project and then make a PR. But first I need to do some more tests because I still don't know how the application will behave when using this feature with all the window order options.

I believe I can do the PR until next weekend. But I cannot guarantee that the PR will be accepted so that this feature will be made available to everyone in the release.

lwouis commented 10 months ago

Hi @anonymous-si,

Thank you for sharing your work.

I believe, from the screenshot your shared, that you did something quite different from the ambitions of this ticket here. Here is what we are trying to discuss here. There is grouping by different characteristics, and there is navigation within an app (i.e. drilldown).

It seems that you went with a simplified approach where each app only shows 1 window. I'm not sure how many users would use this.

Thank you

vip9 commented 10 months ago

Hi @anonymous-si,

It seems that you went with a simplified approach where each app only shows 1 window. I'm not sure how many users would use this.

If it would be the latest used window, I would use it. To switch to oldests windows from app, there's still cmd+`.

anonymous-si commented 10 months ago

Hi @anonymous-si,

Thank you for sharing your work.

I believe, from the screenshot your shared, that you did something quite different from the ambitions of this ticket here. Here is what we are trying to discuss here. There is grouping by different characteristics, and there is navigation within an app (i.e. drilldown).

It seems that you went with a simplified approach where each app only shows 1 window. I'm not sure how many users would use this.

Thank you

Yes, I understand. I think it would be very interesting to be able to group several windows of an application into the same icon, and I would be interested in using this feature. But I believe that implementing this feature is something very ambitious and should take some time to get ready, so I decided to make the change in the source code myself to meet my specific need. But from what I could see searching for tickets opened by other users, I'm not the only one who would also like to use the alt+tab shortcut organized by applications and not by windows.

I understand that this app was created to give the alt+tab shortcut on macOS a behavior and appearance similar to Windows. This is a very good thing for Windows users who are migrating to macOS, but for those who have been using macOS for many years, this app can make the use of the alt+tab shortcut a little confusing.

I think giving more options for users to choose what they want is not a bad thing, especially when the necessary change is not difficult to implement. I understand that the change I made to the source code may affect the ability to group windows by different characteristics when it is implemented, but I believe this should not have much impact because what I did was just to create an option to limit the number of windows to only 1 per application. If the user does not choose this option, the application will continue to work exactly as before.

anonymous-si commented 10 months ago

Hi @anonymous-si,

It seems that you went with a simplified approach where each app only shows 1 window. I'm not sure how many users would use this.

If it would be the latest used window, I would use it. To switch to oldests windows from app, there's still cmd+`.

Yes, I agree with you. It makes a lot of sense to display only the last used window of each application. But in order not to break existing features and others that will still be implemented, I worried about implementing this feature respecting the window order option chosen by the user.

azhongzl commented 10 months ago

Hi @anonymous-si,

Thank you for sharing your work.

I believe, from the screenshot your shared, that you did something quite different from the ambitions of this ticket here. Here is what we are trying to discuss here. There is grouping by different characteristics, and there is navigation within an app (i.e. drilldown).

It seems that you went with a simplified approach where each app only shows 1 window. I'm not sure how many users would use this.

Thank you

Two ways are accepted from my side:

  1. like MacOS mission control->"Group windows by application", it shows all active windows of the same active app in a group, and the latest one on the top
  2. just show the latest window of an app, if the first option is hard to implement.
anonymous-si commented 10 months ago

Hi @anonymous-si, Thank you for sharing your work. I believe, from the screenshot your shared, that you did something quite different from the ambitions of this ticket here. Here is what we are trying to discuss here. There is grouping by different characteristics, and there is navigation within an app (i.e. drilldown). It seems that you went with a simplified approach where each app only shows 1 window. I'm not sure how many users would use this. Thank you

Two ways are accepted from my side:

  1. like MacOS mission control->"Group windows by application", it shows all active windows of the same active app in a group, and the latest one on the top
  2. just show the latest window of an app, if the first option is hard to implement.

Thank you @azhongzl.

I think option 2 is a feature that is necessary and that can be implemented first, mainly because it is less difficult to implement than option 1.

Option 1 is a more complex feature that should take longer to be implemented. I believe it is okay for option 2 to be implemented first, and to use this as a starting point to implement option 1 in the future.

anonymous-si commented 8 months ago

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 commented 8 months ago

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

anonymous-si commented 8 months ago

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 commented 6 months ago

@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 commented 3 months ago

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.