-
-
Notifications
You must be signed in to change notification settings - Fork 355
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 an app icon #38
Comments
I can help with the app icon design. Do you have something in mind @lwouis? |
@fturcheti thank you for your interest. I feel terrible that I didn't take time to write some description for this ticket to provide some direction/guidelines to help the creation process. I even rejected today #99 and felt terrible because i should have provided this earlier. I will update the description to provide some guiding ideas for the icon. Please feel free to discuss here what you think too. Hopefully we can all agree on something we all like :) |
Reference: Apple's Human Interface Guidelines: App Icons |
@fturcheti did you get a chance to draft something? :) |
Hey, @lwouis. Yes, I've sketched some ideas! Here are my proposals: I'm not using colors yet because I'll tackle that when we decide the way to go. For now we should focus on the form of the icon. After that I'll try some color schemes. |
@fturcheti wow these are incredible! Are you a professional artist? I find the first one very visually pleasing. I guess the 8 degrees titling from the HIG does work ;p However, I'm not sure about the usability of the 3 icons. They are a bit conceptual with "change" being translated visually with an arrow. The windows are direct depiction though, and very nice and recognizable. To be very clear, I love what you've done here! And looking at the other apps I listed above, clearly they all have a similar approach. Could I ask a favor? If it's not too much work, I would love to see another deviation on icon C. Icon C has 4 icons, and the way they are in 2 columns 2 rows, and same size - they look more like post-it notes to me from a distance. Could you possibly try a deviation of icon C with maybe only 3 windows, and a background behind them? That would evoke the actual app UI a bit more I think. It's kind of what HyperSwitch has been doing, but they their windows are simple boxes, and there is a creepy eye in the middle: Let me know if you would like to explore that approach, or if you prefer going forward with the first 3 designs you shared. If you prefer going forward, I personally prefer A, I think because it is so 3D and "touchable" |
Nice! I like design A most too, but I'd "zoom in" the windows a little (so the titlebar is relatively larger) and make the windows a little less square. Upon quick measurement, they're 273x247, for an aspect ratio of 1.10. Looking at my dock at present, there're two window-evoking icons and the windows are 62x55 and 65x57 px, for wider aspect ratios of 1.13 and 1.14 respectively :) (and yes yes, I'll address those Slack notifications, don't worry) |
Thanks @lwouis! And yes, I'm a professional designer.
Actually, as "change" is a concept, there's no way to depict it objectively. Then we have to go with some common sense representations of this idea, something related to motion, movement. There's where the arrows come in.
Yes! That was the last idea that I've sketched and I agree there's room for improvement in this direction. Here we have another principle: instead of focusing on the "window switch", we try to represent the "interface of the switcher" in action. And that's a challenging exercise, because we have to come up with something concise, recognizable, yet pleasant to the eyes. But that's the challenge of designing icons, after all :)
Hey @akx! I agree with you, those window are too squarish. None of the options were polished yet, I just draw the ideas I had for the icon. If we decide for that option, I'll make the windows aspect ratio more pleasing, like the screen of option C (that's very similar to the one on the iTerm icon). |
Wow i just checked the icons from my phone and you're so right. Once the icon is smaller or when you're further away, it's impossible to see the titlebar. I guess the proportions should be non-realistic to convey the essential features of a window. Reminds me of the emoji scissors that are exagerated to convey their purpose, and some guy noticed that they wouldn't close in real life |
Nice work, I like the 2nd one from the left bottom row the best.
…On Sun, Jan 19, 2020 at 11:14 AM Felipe Turcheti ***@***.***> wrote:
Hey, guys. Here's a screenshot of my progress working on the icon:
[image: Screen Shot 2020-01-19 at 16 03 12]
<https://user-images.githubusercontent.com/365403/72686625-6da20080-3ad5-11ea-9eae-c6d867e5aa55.png>
I've developed each idea a bit more, testing different approaches, but I'm
not sure which one I like the best. So, instead of trying to decide for
myself, I'll let these drafts here and wait for your thoughts.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#38?email_source=notifications&email_token=AB4CUJW2WFO6LWVVOCGYIEDQ6SRC5A5CNFSM4JBUA5W2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEJKZ6SY#issuecomment-576036683>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AB4CUJVNZ36C23J5PZLRNU3Q6SRC5ANCNFSM4JBUA5WQ>
.
|
@fturcheti very interesting! Here is some feedback:
What I would love to see more explored, if you have time and you think that it's an interesting endeavor like me: I would love to see icon 4 from row 1, with a center radial gradient, a dark background with rounded corners behind the 3 windows, and with the window titlebar red/yellow/green buttons drawn to make it clearer that the 3 rectangles are windows. Maybe the titlebar could be even taller like a toy with a big head, to exaggerate the traits and make it even more recognizable. Another thing that may be a good addition is to add the app's icon somewhere, like they do in the Mission Control icon: |
Thanks @nathang21! I'm leaning toward that solution too. I wanted to hear some feedback before putting my opinions, but here they are: The first group (rows 1-2): Actual UIThe big problem with this approach is that the windows are too small (it's easy to understand why HyperSwitch icon ended up with just plain rectangles for their windows). As the depicted interface is so small, I fear the buttons on the titlebar and the dark frame below the windows will add some noise instead of bringing clarity. But as I have the ingredients prepared, it's easy to create the combination @lwouis asked for. So I'll do it in the next round and we will have something concrete to judge. The second group (row 3): Big windows with arrowsI think these are good options. All of them could perfectly be picked as the app icon. I don't think the arrows direction or the windows stack are a problem, because we are just suggesting what the app does. And, personally, I'm preferring the "back and forth" arrows instead of the "refresh" one. Although Witch and WindowSwitcher use these "refresh" arrows, I think the "back and forth" pair fits better this kind of app. The third group (row 4): Focused UI
An app UI is too complex to be fully represented on a icon. That's why we should generally focus on a certain aspect of the UI when creating an app icon from it. And that's where this third group comes to the party. Here we zoom on the UI and bring the idea of switching windows by presenting a selected one, highlighted in the middle of the screen, and unselected ones, fading to the edges of the screen. This idea seems to be situated in the middle of the way between the others. Comparing to the first group, it is more abstract. Comparing to the second, it is closer to the actual UI. And a plus is that it is more distinguishable along the ones from similar apps. To conclude this stage I'll present 3 "final options", one from each "group" above. After we decide the final app icon, I'll work on the accompanying menubar icon and we'll be ready to launch them. |
@fturcheti could you share the original files you're working with at the moment? This way i may try to play around |
@lwouis Sure! I'm trying to use Figma for this task, and since this is a new territory for me, I'm not 100% sure, but I think you can duplicate the file from this link: https://www.figma.com/file/7XE9aC4MvsUhjA6PvsFdxm/AltTab-Icon I'm going to put my work on hold while you have your time playing with the icons. So, have a good time! I'll wait for you to bring some news. |
Thanks @fturcheti, I could access the file! I'll play around and update here |
I showed this thread to a friend and we discussed the goals and design, and overall his feedback was that a simpler, more abstract icon is easier to understand from a distance. My icons for instances are too noisy/complex, especially once their size is reduced. Another feedback he gave was that the rotating arrow make him think of recycling or refreshing something rather than shifting/switching. This concurs with previous feedback from @fturcheti I will explore more his favorite design which is row 3 in @fturcheti latest work: |
Sharing some exploration: I used the 9 degree stack of windows base, and added the left/right arrows. On that base, I played with blurriness, transparency, an image of space. I also tried to evoke "shifting" by doing some kind of chromatic aberration effect. My skills suck so I can't make it the way I would like though, like maybe "glitching" the icon a bit by slicing and shifting parts of it along the color shift axis. Something like this: Anyway just sharing some exploration. Here are the original files on Figma. Feel free to give feedback :) By the way Figma exports to SVG, so once the drafting is done and we pick one design, we can store the SVG here on github :) |
I like the chromatic aberration one a whole lot, but the colors remind me of JetBrains' tools somehow – maybe other colors? FWIW, if you want to glitch images online, I've written a tool for that... https://akx.github.io/glitch2 |
Exactly!
Yes! That's why I focused on those
That's really nice! I like these realistic icons too, as they seem to follow a tradition in MacOS icons design, but this one has a lot of personality. It shines among the others! I vote for it too! Talking about its refinement, I don't think that making it more glitchy is a good idea. But we could explore this idea of color blending (evoking a "chromatic aberration effect") a little bit more, testing different colors and trying some subtle effects to give some depth to the icon. I'll try to evolve these ideas this week.
Great! |
Some ideas for inspiration: |
For some reason, the SVGs produced by Figma are hard to convert to PNG using OSS. Here are my attempts using various libraries: sharplibrsvgImageMagickEmpty image with these logs:
Figma PNG exportconvert-svg |
I was thinking that windows tend to be wider, but I agree with you. Remembering that "this is an app icon", I should have kept it squarish. Besides that, do you have any other comment in regard to the appearance of the icon? I'll try to work on it between today and tomorrow. |
@fturcheti outside of the aspect ratio, I like the icon a lot! I think it's a clear winner! For the menubar icon, the dimensions are undocumented as far as I've read. I found this interesting post. Could you maybe take it into account for the menubar icon? I now realize that many of the apps in my menubar have pixelated or miss-aligned icons. Let's avoid that for AltTab :o Update: oh maybe something to do would be to make sure the icon is centered within the 1024x1024 box and that it is as big as possible within that box. The current state created some issue for me when converting to PNG because of dimensions |
FWIW, macOS's Preview renders the SVG correctly. |
Very interesting how all these SVG renderers are different than Figma, and than each others. Inkscape has some wrong "shadows" around each rectangle. It also has worse anti-aliasing than Figma. If you compare all the images I posted above, and the one you posted, none of them is as good as Figma export, unfortunately :/ |
@fturcheti here is how it looks with the icons you shared today. I think that making them more squarish would be better. For the menubar, it would be more aligned with other icons which are squared. Non-squared icons are possible, as is the case currently on the screenshot bellow, but I think Apple promotes icons to be squares if possible. For the Dock, it would make it bigger to square it, so it can occupy more space in the square it is in, and be more present/visible. |
For some reason, XCode includes the app icon 2 times, doubling the size in the .app. I'll try to either find a way for XCode to not bundle the app icon twice: once in Assets.car, and once in the .icns, or I will stop using an asset catalog for the app icon and make the icns manually. I really want the app to stay lean and performant. |
It looks good! But would be much better if more squarish. Let's do it so.
I agree. Also, I think it could be a little shorter. It seems too heavy compared to the others on its left. |
Actually I think it could be hollow. A black line to draw the outline of the window, and black arrows and dots, but no fill color for the window |
Hey @fturcheti, did you have time to look at the icons by any chance? I would love to release v3 and the icons are the only remaining piece missing for that. If you're too busy in the comings weeks, let me know and I'll work on it. I wanted to launch v3 with the best icons possible (which means your work not mine ;p) but actually it is fine to release further versions that refines these I guess. In any case, let me know what you think I should do! :) |
Hey, @lwouis! Things went crazy here these weeks and I couldn't find a time to work on the icons. If you don't mind waiting a bit more, I'll try to do this job sometime until the next weekend. |
@fturcheti sounds good! 👍 |
Voilà: https://www.figma.com/file/pttC1fJmNFSCZzE0vUj2xy/AltTab-Icon-Finalizing?node-id=80%3A2 I've finally found some time to give the icons the last touches before the release. Both icons are more squarish now. For the menubar, I think I prefer the filled version instead of the outlined—it seems more harmonious to my eyes. But you can test both and decide which one looks better when sitting on the menubar itself. |
@fturcheti thank you for sharing these final versions! I've started integration. I'm running into a few issues. The menubar is very small. This means that once we convert it from vector to bitmap, choices are made by the rasterization algo, such as "what does a circle look like when drawn using 4px by 4px?". Also as I documented above, the official size for these icons is undocumented. I think it looks best on my non-retina display with a 16x16 icon. Here are some experiences: I tried to mitigate the poor rasterization from Figma when exporting to PNG by doing the following things:
My latest result is this (on non-retina screens): Basically I think at high resolutions, life is easy, but when generating bitmaps at low res, for the menubar but also for the app icon, then it becomes pretty messy and hard to read. Another thing I'm wondering is if I should ship multiple icon sizes. There are 2 options here:
To illustrate why I think option #2 makes more sense, compare how the OS downscaled the 32x32 image here: Compared to if I manually generate a 16x16 image from Figma: And here is how the same 32x32 looks on a retina screen: Here is how it looks in the Dock btw: |
Another issue with Assets Catalogs is that XCode generate PNGs that are bigger than the original PNGs provided. I give a 600kb PNG, and inside the I'll try to not use catalogs at all and just bundle one file. How to do this is not documented, but I think it's possible. Update: I added a commit that optimizes icons payload |
It's difficult to judge the look of the icons in low-res environments if you're comparing them to how they look in high-res. It's a better idea to compare them with other icon in low-res situations. Anyway, I like the results you got! From what I can, they seem good enough for me. |
@fturcheti yes, i think it looks pretty good! I'll try to release v3 this week! |
# [2.4.0](v2.3.4...v2.4.0) (2020-03-10) ### Bug Fixes * a title change often means the content has change ([b8d6bc9](b8d6bc9)) * add rough downscaling when there are many windows (closes [#69](#69)) ([ced5ee6](ced5ee6)) * added releases link and aligned layout left on tab 3 ([6bb73dc](6bb73dc)) * also codesign debug builds ([a5f9911](a5f9911)) * app launched while in fullscreen shows first window ([c5cbcdb](c5cbcdb)), closes [/github.com//pull/114#issuecomment-576384795](https://github.com//github.com/lwouis/alt-tab-macos/pull/114/issues/issuecomment-576384795) * auto-update preferences sync with os from launch ([b3fb222](b3fb222)) * avoid rendering if app is not used ([fdddb0f](fdddb0f)) * better float rounding = sharper cell contents ([9a96e49](9a96e49)) * better focus/order for preferences (closes [#80](#80)) ([4a8bdeb](4a8bdeb)) * better textareas ([efc9bd3](efc9bd3)) * bring back the window delay that regressed with v2 ([bb95e55](bb95e55)) * compare correctly since pid can go away when an app dies ([4ded030](4ded030)) * compiler warnings ([1faa74c](1faa74c)) * cpu and memory leaks (see discussion in [#117](#117)) ([52626aa](52626aa)) * dock being shown was blocking alt-tab ([2826a1b](2826a1b)) * don't show floating windows + efficiencies ([3f8e3ea](3f8e3ea)) * don't show ui on fast trigger ([f8e1b00](f8e1b00)) * don't trigger ui refreshes if the app is not active ([b9a0152](b9a0152)) * don't upscale thumbnails of small windows ([0bc7472](0bc7472)) * feedback token injected during ci ([effdc5f](effdc5f)) * getting sparkle ready for release ([9f1f522](9f1f522)) * handle on-all-spaces windows better ([4abe9f3](4abe9f3)) * ignore build folder ([a2bb19f](a2bb19f)) * ignore trigger shortcuts if mission control is active ([b03b0aa](b03b0aa)) * initial discovery when single space was glitching the os ([3cd4b6d](3cd4b6d)) * keyboard shortcuts didn't work without a menu ([cf92dc1](cf92dc1)) * layout is now correct; also removed layout preferences for now ([a1b5266](a1b5266)) * layout regression introduced by eed0353 ([bdc41be](bdc41be)) * layout was incorrect resulting in thumbnails clipping ([fd906f4](fd906f4)) * letsmove was not active on release builds ([6ac0658](6ac0658)) * list temporary AXDialog windows like activity monitor ([51a8838](51a8838)) * more robust screen-recording permission check ([ce574a2](ce574a2)) * notarization issues ([d125dd3](d125dd3)) * observer leak would throw and crash the app sometimes ([9ca28eb](9ca28eb)) * only test permissions on the correct os versions ([4612e37](4612e37)) * open alt-tab during space transitions (closes [#92](#92)) ([141562d](141562d)) * prevent visual flickering (closes [#115](#115)) ([9a8c83e](9a8c83e)) * quitting apps was not properly removing apps from the list ([10b2c71](10b2c71)) * quitting multiple apps would refresh the ui multiple times ([bfc2700](bfc2700)) * regression on collectionviewitem titles (not showing) ([8cb6d86](8cb6d86)) * remove debug colors ([e588d55](e588d55)) * remove unnecessary/wrong layout code ([9e719e6](9e719e6)) * sharper images on non-retina displays ([1bb4d2a](1bb4d2a)) * smaller payload for the icons ([bddb6fa](bddb6fa)) * some apps have messy launch behavior ([7eb216d](7eb216d)), closes [/github.com//issues/117#issuecomment-583868046](https://github.com//github.com/lwouis/alt-tab-macos/issues/117/issues/issuecomment-583868046) * some apps should retry observing until it works ([0c731f4](0c731f4)) * using floor() everywhere to avoid blurry rendering ([2a36196](2a36196)) ### Code Refactoring * complete rework of the internals ([547311e](547311e)), closes [#93](#93) [#24](#24) [#117](#117) [/github.com//issues/45#issuecomment-571898826](https://github.com//github.com/lwouis/alt-tab-macos/issues/45/issues/issuecomment-571898826) ### Features * add an app icon and menubar icon (closes [#38](#38)) ([a345dae](a345dae)) * add back the preferences for the new layout algo ([d52eb6d](d52eb6d)) * add debug profile to feedback message ([a14f965](a14f965)) * add feedback button on about window ([4046136](4046136)) * add in-app feedback form (closes [#145](#145)) ([725a030](725a030)) * add licence to about page ([cb66b79](cb66b79)) * add preference to start at login (closes [#159](#159)) ([982fe6c](982fe6c)) * adding cocoapods and letsmove/sparkle ([606bae7](606bae7)) * better packing; tall thumbnails are 1/2 the width of wide ones ([e34e3b1](e34e3b1)) * cleaner layout and explanation text ([fd3e768](fd3e768)) * debug build has code-signing to preserve permissions ([34a32f3](34a32f3)) * divide preferences by topic (closes [#130](#130)) ([291f872](291f872)) * drag-and-drop files on the ui (closes [#74](#74)) ([e1e3633](e1e3633)) * german and spanish localization ([6c440a7](6c440a7)) * improved translations ([debd3ae](debd3ae)) * integrate sparkle for auto-updates (closes [#131](#131)) ([069382c](069382c)) * localization (closes [#134](#134)) ([36e4bb0](36e4bb0)) * make system calls more parallel (closes [#160](#160)) ([a29b39f](a29b39f)) * migrate to standard os-backed preferences (closes [#161](#161)) ([e28c43f](e28c43f)) * more appealing presentation + minor refac ([67f291d](67f291d)) * nicer layout for about preferences ([03a5f77](03a5f77)) * quit button is clearer with explicit mention of the name ([6b6d748](6b6d748)) * replace default copyright with correct licence ([60b49ea](60b49ea)) * separating the quit button as it is a special case ([9fa0c06](9fa0c06)) * slightly increase contrast (mitigates [#82](#82)) ([291770e](291770e)) * support macos "sudden termination" ([671fdab](671fdab)), closes [/developer.apple.com/documentation/foundation/processinfo#1651129](https://github.com//developer.apple.com/documentation/foundation/processinfo/issues/1651129) ### BREAKING CHANGES * Instead of asking the OS about the state of the whole system on trigger (what we do today; hard to do fast), or asking the state of the whole system on a timer (what HyperSwitch does today; inaccurate) - instead of one of 2 approaches, v3 observes the Accessibility events such as "an app was launched", "a window was closed". This means we build a cache as we receive these events in the background, and when the user trigger the app, we can show accurate state of the windows instantly. Of course there is no free lunch, so this approach has its own issues. However from my work on it from the past week, I'm very optimistic! The thing I'm the most excited about actually is not the perf (because on my machine even v2 is instant; I have a recent macbook and no 4k displays), but the fact that we will finally have the thumbnails in order of recently-used to least-recently-used, instead of the order of their stack (z-index) on the desktop. It's a big difference! There are many more limitations that are no longer applying also with this approach.
# [3.0.0](v2.3.4...v3.0.0) (2020-03-10) ### Bug Fixes * a title change often means the content has change ([b8d6bc9](b8d6bc9)) * add rough downscaling when there are many windows (closes [#69](#69)) ([ced5ee6](ced5ee6)) * added releases link and aligned layout left on tab 3 ([6bb73dc](6bb73dc)) * also codesign debug builds ([a5f9911](a5f9911)) * app launched while in fullscreen shows first window ([c5cbcdb](c5cbcdb)), closes [/github.com//pull/114#issuecomment-576384795](https://github.com//github.com/lwouis/alt-tab-macos/pull/114/issues/issuecomment-576384795) * auto-update preferences sync with os from launch ([b3fb222](b3fb222)) * avoid rendering if app is not used ([fdddb0f](fdddb0f)) * better float rounding = sharper cell contents ([9a96e49](9a96e49)) * better focus/order for preferences (closes [#80](#80)) ([4a8bdeb](4a8bdeb)) * better textareas ([efc9bd3](efc9bd3)) * bring back the window delay that regressed with v2 ([bb95e55](bb95e55)) * compare correctly since pid can go away when an app dies ([4ded030](4ded030)) * compiler warnings ([1faa74c](1faa74c)) * cpu and memory leaks (see discussion in [#117](#117)) ([52626aa](52626aa)) * dock being shown was blocking alt-tab ([2826a1b](2826a1b)) * don't show floating windows + efficiencies ([3f8e3ea](3f8e3ea)) * don't show ui on fast trigger ([f8e1b00](f8e1b00)) * don't trigger ui refreshes if the app is not active ([b9a0152](b9a0152)) * don't upscale thumbnails of small windows ([0bc7472](0bc7472)) * feedback token injected during ci ([effdc5f](effdc5f)) * getting sparkle ready for release ([9f1f522](9f1f522)) * handle on-all-spaces windows better ([4abe9f3](4abe9f3)) * ignore build folder ([a2bb19f](a2bb19f)) * ignore trigger shortcuts if mission control is active ([b03b0aa](b03b0aa)) * initial discovery when single space was glitching the os ([3cd4b6d](3cd4b6d)) * keyboard shortcuts didn't work without a menu ([cf92dc1](cf92dc1)) * layout is now correct; also removed layout preferences for now ([a1b5266](a1b5266)) * layout regression introduced by eed0353 ([bdc41be](bdc41be)) * layout was incorrect resulting in thumbnails clipping ([fd906f4](fd906f4)) * letsmove was not active on release builds ([6ac0658](6ac0658)) * list temporary AXDialog windows like activity monitor ([51a8838](51a8838)) * more robust screen-recording permission check ([ce574a2](ce574a2)) * notarization issues ([d125dd3](d125dd3)) * observer leak would throw and crash the app sometimes ([9ca28eb](9ca28eb)) * only test permissions on the correct os versions ([4612e37](4612e37)) * open alt-tab during space transitions (closes [#92](#92)) ([141562d](141562d)) * prevent visual flickering (closes [#115](#115)) ([9a8c83e](9a8c83e)) * quitting apps was not properly removing apps from the list ([10b2c71](10b2c71)) * quitting multiple apps would refresh the ui multiple times ([bfc2700](bfc2700)) * regression on collectionviewitem titles (not showing) ([8cb6d86](8cb6d86)) * remove debug colors ([e588d55](e588d55)) * remove unnecessary/wrong layout code ([9e719e6](9e719e6)) * sharper images on non-retina displays ([1bb4d2a](1bb4d2a)) * smaller payload for the icons ([bddb6fa](bddb6fa)) * some apps have messy launch behavior ([7eb216d](7eb216d)), closes [/github.com//issues/117#issuecomment-583868046](https://github.com//github.com/lwouis/alt-tab-macos/issues/117/issues/issuecomment-583868046) * some apps should retry observing until it works ([0c731f4](0c731f4)) * using floor() everywhere to avoid blurry rendering ([2a36196](2a36196)) ### Code Refactoring * complete rework of the internals ([547311e](547311e)), closes [#93](#93) [#24](#24) [#117](#117) [/github.com//issues/45#issuecomment-571898826](https://github.com//github.com/lwouis/alt-tab-macos/issues/45/issues/issuecomment-571898826) ### Features * add an app icon and menubar icon (closes [#38](#38)) ([a345dae](a345dae)) * add back the preferences for the new layout algo ([d52eb6d](d52eb6d)) * add debug profile to feedback message ([a14f965](a14f965)) * add feedback button on about window ([4046136](4046136)) * add in-app feedback form (closes [#145](#145)) ([725a030](725a030)) * add licence to about page ([cb66b79](cb66b79)) * add preference to start at login (closes [#159](#159)) ([982fe6c](982fe6c)) * adding cocoapods and letsmove/sparkle ([606bae7](606bae7)) * better packing; tall thumbnails are 1/2 the width of wide ones ([e34e3b1](e34e3b1)) * bump major version ([3c3b18c](3c3b18c)) * cleaner layout and explanation text ([fd3e768](fd3e768)) * debug build has code-signing to preserve permissions ([34a32f3](34a32f3)) * divide preferences by topic (closes [#130](#130)) ([291f872](291f872)) * drag-and-drop files on the ui (closes [#74](#74)) ([e1e3633](e1e3633)) * german and spanish localization ([6c440a7](6c440a7)) * improved translations ([debd3ae](debd3ae)) * integrate sparkle for auto-updates (closes [#131](#131)) ([069382c](069382c)) * localization (closes [#134](#134)) ([36e4bb0](36e4bb0)) * make system calls more parallel (closes [#160](#160)) ([a29b39f](a29b39f)) * migrate to standard os-backed preferences (closes [#161](#161)) ([e28c43f](e28c43f)) * more appealing presentation + minor refac ([67f291d](67f291d)) * nicer layout for about preferences ([03a5f77](03a5f77)) * quit button is clearer with explicit mention of the name ([6b6d748](6b6d748)) * replace default copyright with correct licence ([60b49ea](60b49ea)) * separating the quit button as it is a special case ([9fa0c06](9fa0c06)) * slightly increase contrast (mitigates [#82](#82)) ([291770e](291770e)) * support macos "sudden termination" ([671fdab](671fdab)), closes [/developer.apple.com/documentation/foundation/processinfo#1651129](https://github.com//developer.apple.com/documentation/foundation/processinfo/issues/1651129) ### BREAKING CHANGES * bump major version * Instead of asking the OS about the state of the whole system on trigger (what we do today; hard to do fast), or asking the state of the whole system on a timer (what HyperSwitch does today; inaccurate) - instead of one of 2 approaches, v3 observes the Accessibility events such as "an app was launched", "a window was closed". This means we build a cache as we receive these events in the background, and when the user trigger the app, we can show accurate state of the windows instantly. Of course there is no free lunch, so this approach has its own issues. However from my work on it from the past week, I'm very optimistic! The thing I'm the most excited about actually is not the perf (because on my machine even v2 is instant; I have a recent macbook and no 4k displays), but the fact that we will finally have the thumbnails in order of recently-used to least-recently-used, instead of the order of their stack (z-index) on the desktop. It's a big difference! There are many more limitations that are no longer applying also with this approach.
# [3.0.0](v2.3.4...v3.0.0) (2020-03-10) ### Bug Fixes * a title change often means the content has change ([b8d6bc9](b8d6bc9)) * add rough downscaling when there are many windows (closes [#69](#69)) ([ced5ee6](ced5ee6)) * added releases link and aligned layout left on tab 3 ([6bb73dc](6bb73dc)) * also codesign debug builds ([a5f9911](a5f9911)) * app launched while in fullscreen shows first window ([c5cbcdb](c5cbcdb)), closes [/github.com//pull/114#issuecomment-576384795](https://github.com//github.com/lwouis/alt-tab-macos/pull/114/issues/issuecomment-576384795) * auto-update preferences sync with os from launch ([b3fb222](b3fb222)) * avoid rendering if app is not used ([fdddb0f](fdddb0f)) * better float rounding = sharper cell contents ([9a96e49](9a96e49)) * better focus/order for preferences (closes [#80](#80)) ([4a8bdeb](4a8bdeb)) * better textareas ([efc9bd3](efc9bd3)) * bring back the window delay that regressed with v2 ([bb95e55](bb95e55)) * compare correctly since pid can go away when an app dies ([4ded030](4ded030)) * compiler warnings ([1faa74c](1faa74c)) * cpu and memory leaks (see discussion in [#117](#117)) ([52626aa](52626aa)) * dock being shown was blocking alt-tab ([2826a1b](2826a1b)) * don't show floating windows + efficiencies ([3f8e3ea](3f8e3ea)) * don't show ui on fast trigger ([f8e1b00](f8e1b00)) * don't trigger ui refreshes if the app is not active ([b9a0152](b9a0152)) * don't upscale thumbnails of small windows ([0bc7472](0bc7472)) * feedback token injected during ci ([effdc5f](effdc5f)) * getting sparkle ready for release ([9f1f522](9f1f522)) * handle on-all-spaces windows better ([4abe9f3](4abe9f3)) * ignore build folder ([a2bb19f](a2bb19f)) * ignore trigger shortcuts if mission control is active ([b03b0aa](b03b0aa)) * initial discovery when single space was glitching the os ([3cd4b6d](3cd4b6d)) * keyboard shortcuts didn't work without a menu ([cf92dc1](cf92dc1)) * layout is now correct; also removed layout preferences for now ([a1b5266](a1b5266)) * layout regression introduced by eed0353 ([bdc41be](bdc41be)) * layout was incorrect resulting in thumbnails clipping ([fd906f4](fd906f4)) * letsmove was not active on release builds ([6ac0658](6ac0658)) * list temporary AXDialog windows like activity monitor ([51a8838](51a8838)) * more robust screen-recording permission check ([ce574a2](ce574a2)) * notarization issues ([d125dd3](d125dd3)) * observer leak would throw and crash the app sometimes ([9ca28eb](9ca28eb)) * only test permissions on the correct os versions ([4612e37](4612e37)) * open alt-tab during space transitions (closes [#92](#92)) ([141562d](141562d)) * prevent visual flickering (closes [#115](#115)) ([9a8c83e](9a8c83e)) * quitting apps was not properly removing apps from the list ([10b2c71](10b2c71)) * quitting multiple apps would refresh the ui multiple times ([bfc2700](bfc2700)) * regression on collectionviewitem titles (not showing) ([8cb6d86](8cb6d86)) * remove debug colors ([e588d55](e588d55)) * remove unnecessary/wrong layout code ([9e719e6](9e719e6)) * sharper images on non-retina displays ([1bb4d2a](1bb4d2a)) * smaller payload for the icons ([bddb6fa](bddb6fa)) * some apps have messy launch behavior ([7eb216d](7eb216d)), closes [/github.com//issues/117#issuecomment-583868046](https://github.com//github.com/lwouis/alt-tab-macos/issues/117/issues/issuecomment-583868046) * some apps should retry observing until it works ([0c731f4](0c731f4)) * using floor() everywhere to avoid blurry rendering ([2a36196](2a36196)) ### Code Refactoring * complete rework of the internals ([547311e](547311e)), closes [#93](#93) [#24](#24) [#117](#117) [/github.com//issues/45#issuecomment-571898826](https://github.com//github.com/lwouis/alt-tab-macos/issues/45/issues/issuecomment-571898826) ### Features * add an app icon and menubar icon (closes [#38](#38)) ([a345dae](a345dae)) * add back the preferences for the new layout algo ([d52eb6d](d52eb6d)) * add debug profile to feedback message ([a14f965](a14f965)) * add feedback button on about window ([4046136](4046136)) * add in-app feedback form (closes [#145](#145)) ([725a030](725a030)) * add licence to about page ([cb66b79](cb66b79)) * add preference to start at login (closes [#159](#159)) ([982fe6c](982fe6c)) * adding cocoapods and letsmove/sparkle ([606bae7](606bae7)) * better packing; tall thumbnails are 1/2 the width of wide ones ([e34e3b1](e34e3b1)) * bump major version ([3c3b18c](3c3b18c)) * cleaner layout and explanation text ([fd3e768](fd3e768)) * debug build has code-signing to preserve permissions ([34a32f3](34a32f3)) * divide preferences by topic (closes [#130](#130)) ([291f872](291f872)) * drag-and-drop files on the ui (closes [#74](#74)) ([e1e3633](e1e3633)) * german and spanish localization ([6c440a7](6c440a7)) * improved translations ([debd3ae](debd3ae)) * integrate sparkle for auto-updates (closes [#131](#131)) ([069382c](069382c)) * localization (closes [#134](#134)) ([36e4bb0](36e4bb0)) * make system calls more parallel (closes [#160](#160)) ([a29b39f](a29b39f)) * migrate to standard os-backed preferences (closes [#161](#161)) ([e28c43f](e28c43f)) * more appealing presentation + minor refac ([67f291d](67f291d)) * nicer layout for about preferences ([03a5f77](03a5f77)) * quit button is clearer with explicit mention of the name ([6b6d748](6b6d748)) * replace default copyright with correct licence ([60b49ea](60b49ea)) * separating the quit button as it is a special case ([9fa0c06](9fa0c06)) * slightly increase contrast (mitigates [#82](#82)) ([291770e](291770e)) * support macos "sudden termination" ([671fdab](671fdab)), closes [/developer.apple.com/documentation/foundation/processinfo#1651129](https://github.com//developer.apple.com/documentation/foundation/processinfo/issues/1651129) ### BREAKING CHANGES * bump major version * Instead of asking the OS about the state of the whole system on trigger (what we do today; hard to do fast), or asking the state of the whole system on a timer (what HyperSwitch does today; inaccurate) - instead of one of 2 approaches, v3 observes the Accessibility events such as "an app was launched", "a window was closed". This means we build a cache as we receive these events in the background, and when the user trigger the app, we can show accurate state of the windows instantly. Of course there is no free lunch, so this approach has its own issues. However from my work on it from the past week, I'm very optimistic! The thing I'm the most excited about actually is not the perf (because on my machine even v2 is instant; I have a recent macbook and no 4k displays), but the fact that we will finally have the thumbnails in order of recently-used to least-recently-used, instead of the order of their stack (z-index) on the desktop. It's a big difference! There are many more limitations that are no longer applying also with this approach.
# [3.0.0](v2.3.4...v3.0.0) (2020-03-10) ### Bug Fixes * a title change often means the content has change ([b8d6bc9](b8d6bc9)) * add rough downscaling when there are many windows (closes [#69](#69)) ([ced5ee6](ced5ee6)) * added releases link and aligned layout left on tab 3 ([6bb73dc](6bb73dc)) * also codesign debug builds ([a5f9911](a5f9911)) * app launched while in fullscreen shows first window ([c5cbcdb](c5cbcdb)), closes [/github.com//pull/114#issuecomment-576384795](https://github.com//github.com/lwouis/alt-tab-macos/pull/114/issues/issuecomment-576384795) * auto-update preferences sync with os from launch ([b3fb222](b3fb222)) * avoid rendering if app is not used ([fdddb0f](fdddb0f)) * better float rounding = sharper cell contents ([9a96e49](9a96e49)) * better focus/order for preferences (closes [#80](#80)) ([4a8bdeb](4a8bdeb)) * better textareas ([efc9bd3](efc9bd3)) * bring back the window delay that regressed with v2 ([bb95e55](bb95e55)) * compare correctly since pid can go away when an app dies ([4ded030](4ded030)) * compiler warnings ([1faa74c](1faa74c)) * cpu and memory leaks (see discussion in [#117](#117)) ([52626aa](52626aa)) * dock being shown was blocking alt-tab ([2826a1b](2826a1b)) * don't show floating windows + efficiencies ([3f8e3ea](3f8e3ea)) * don't show ui on fast trigger ([f8e1b00](f8e1b00)) * don't trigger ui refreshes if the app is not active ([b9a0152](b9a0152)) * don't upscale thumbnails of small windows ([0bc7472](0bc7472)) * feedback token injected during ci ([effdc5f](effdc5f)) * getting sparkle ready for release ([9f1f522](9f1f522)) * handle on-all-spaces windows better ([4abe9f3](4abe9f3)) * ignore build folder ([a2bb19f](a2bb19f)) * ignore trigger shortcuts if mission control is active ([b03b0aa](b03b0aa)) * initial discovery when single space was glitching the os ([3cd4b6d](3cd4b6d)) * keyboard shortcuts didn't work without a menu ([cf92dc1](cf92dc1)) * layout is now correct; also removed layout preferences for now ([a1b5266](a1b5266)) * layout regression introduced by eed0353 ([bdc41be](bdc41be)) * layout was incorrect resulting in thumbnails clipping ([fd906f4](fd906f4)) * letsmove was not active on release builds ([6ac0658](6ac0658)) * list temporary AXDialog windows like activity monitor ([51a8838](51a8838)) * more robust screen-recording permission check ([ce574a2](ce574a2)) * notarization issues ([d125dd3](d125dd3)) * observer leak would throw and crash the app sometimes ([9ca28eb](9ca28eb)) * only test permissions on the correct os versions ([4612e37](4612e37)) * open alt-tab during space transitions (closes [#92](#92)) ([141562d](141562d)) * prevent visual flickering (closes [#115](#115)) ([9a8c83e](9a8c83e)) * quitting apps was not properly removing apps from the list ([10b2c71](10b2c71)) * quitting multiple apps would refresh the ui multiple times ([bfc2700](bfc2700)) * regression on collectionviewitem titles (not showing) ([8cb6d86](8cb6d86)) * remove debug colors ([e588d55](e588d55)) * remove unnecessary/wrong layout code ([9e719e6](9e719e6)) * sharper images on non-retina displays ([1bb4d2a](1bb4d2a)) * smaller payload for the icons ([bddb6fa](bddb6fa)) * some apps have messy launch behavior ([7eb216d](7eb216d)), closes [/github.com//issues/117#issuecomment-583868046](https://github.com//github.com/lwouis/alt-tab-macos/issues/117/issues/issuecomment-583868046) * some apps should retry observing until it works ([0c731f4](0c731f4)) * using floor() everywhere to avoid blurry rendering ([2a36196](2a36196)) ### Code Refactoring * complete rework of the internals ([547311e](547311e)), closes [#93](#93) [#24](#24) [#117](#117) [/github.com//issues/45#issuecomment-571898826](https://github.com//github.com/lwouis/alt-tab-macos/issues/45/issues/issuecomment-571898826) ### Features * add an app icon and menubar icon (closes [#38](#38)) ([a345dae](a345dae)) * add back the preferences for the new layout algo ([d52eb6d](d52eb6d)) * add debug profile to feedback message ([a14f965](a14f965)) * add feedback button on about window ([4046136](4046136)) * add in-app feedback form (closes [#145](#145)) ([725a030](725a030)) * add licence to about page ([cb66b79](cb66b79)) * add preference to start at login (closes [#159](#159)) ([982fe6c](982fe6c)) * adding cocoapods and letsmove/sparkle ([606bae7](606bae7)) * better packing; tall thumbnails are 1/2 the width of wide ones ([e34e3b1](e34e3b1)) * bump major version ([3c3b18c](3c3b18c)) * cleaner layout and explanation text ([fd3e768](fd3e768)) * debug build has code-signing to preserve permissions ([34a32f3](34a32f3)) * divide preferences by topic (closes [#130](#130)) ([291f872](291f872)) * drag-and-drop files on the ui (closes [#74](#74)) ([e1e3633](e1e3633)) * german and spanish localization ([6c440a7](6c440a7)) * improved translations ([debd3ae](debd3ae)) * integrate sparkle for auto-updates (closes [#131](#131)) ([069382c](069382c)) * localization (closes [#134](#134)) ([36e4bb0](36e4bb0)) * make system calls more parallel (closes [#160](#160)) ([a29b39f](a29b39f)) * migrate to standard os-backed preferences (closes [#161](#161)) ([e28c43f](e28c43f)) * more appealing presentation + minor refac ([67f291d](67f291d)) * nicer layout for about preferences ([03a5f77](03a5f77)) * quit button is clearer with explicit mention of the name ([6b6d748](6b6d748)) * replace default copyright with correct licence ([60b49ea](60b49ea)) * separating the quit button as it is a special case ([9fa0c06](9fa0c06)) * slightly increase contrast (mitigates [#82](#82)) ([291770e](291770e)) * support macos "sudden termination" ([671fdab](671fdab)), closes [/developer.apple.com/documentation/foundation/processinfo#1651129](https://github.com//developer.apple.com/documentation/foundation/processinfo/issues/1651129) ### BREAKING CHANGES * bump major version * Instead of asking the OS about the state of the whole system on trigger (what we do today; hard to do fast), or asking the state of the whole system on a timer (what HyperSwitch does today; inaccurate) - instead of one of 2 approaches, v3 observes the Accessibility events such as "an app was launched", "a window was closed". This means we build a cache as we receive these events in the background, and when the user trigger the app, we can show accurate state of the windows instantly. Of course there is no free lunch, so this approach has its own issues. However from my work on it from the past week, I'm very optimistic! The thing I'm the most excited about actually is not the perf (because on my machine even v2 is instant; I have a recent macbook and no 4k displays), but the fact that we will finally have the thumbnails in order of recently-used to least-recently-used, instead of the order of their stack (z-index) on the desktop. It's a big difference! There are many more limitations that are no longer applying also with this approach.
# [3.0.0](v2.3.4...v3.0.0) (2020-03-10) ### Bug Fixes * a title change often means the content has change ([b8d6bc9](b8d6bc9)) * add rough downscaling when there are many windows (closes [#69](#69)) ([ced5ee6](ced5ee6)) * added releases link and aligned layout left on tab 3 ([6bb73dc](6bb73dc)) * also codesign debug builds ([a5f9911](a5f9911)) * app launched while in fullscreen shows first window ([c5cbcdb](c5cbcdb)), closes [/github.com//pull/114#issuecomment-576384795](https://github.com//github.com/lwouis/alt-tab-macos/pull/114/issues/issuecomment-576384795) * auto-update preferences sync with os from launch ([b3fb222](b3fb222)) * avoid rendering if app is not used ([fdddb0f](fdddb0f)) * better float rounding = sharper cell contents ([9a96e49](9a96e49)) * better focus/order for preferences (closes [#80](#80)) ([4a8bdeb](4a8bdeb)) * better textareas ([efc9bd3](efc9bd3)) * bring back the window delay that regressed with v2 ([bb95e55](bb95e55)) * compare correctly since pid can go away when an app dies ([4ded030](4ded030)) * compiler warnings ([1faa74c](1faa74c)) * cpu and memory leaks (see discussion in [#117](#117)) ([52626aa](52626aa)) * dock being shown was blocking alt-tab ([2826a1b](2826a1b)) * don't show floating windows + efficiencies ([3f8e3ea](3f8e3ea)) * don't show ui on fast trigger ([f8e1b00](f8e1b00)) * don't trigger ui refreshes if the app is not active ([b9a0152](b9a0152)) * don't upscale thumbnails of small windows ([0bc7472](0bc7472)) * feedback token injected during ci ([effdc5f](effdc5f)) * getting sparkle ready for release ([9f1f522](9f1f522)) * handle on-all-spaces windows better ([4abe9f3](4abe9f3)) * ignore build folder ([a2bb19f](a2bb19f)) * ignore trigger shortcuts if mission control is active ([b03b0aa](b03b0aa)) * initial discovery when single space was glitching the os ([3cd4b6d](3cd4b6d)) * keyboard shortcuts didn't work without a menu ([cf92dc1](cf92dc1)) * layout is now correct; also removed layout preferences for now ([a1b5266](a1b5266)) * layout regression introduced by eed0353 ([bdc41be](bdc41be)) * layout was incorrect resulting in thumbnails clipping ([fd906f4](fd906f4)) * letsmove was not active on release builds ([6ac0658](6ac0658)) * list temporary AXDialog windows like activity monitor ([51a8838](51a8838)) * more robust screen-recording permission check ([ce574a2](ce574a2)) * notarization issues ([d125dd3](d125dd3)) * observer leak would throw and crash the app sometimes ([9ca28eb](9ca28eb)) * only test permissions on the correct os versions ([4612e37](4612e37)) * open alt-tab during space transitions (closes [#92](#92)) ([141562d](141562d)) * prevent visual flickering (closes [#115](#115)) ([9a8c83e](9a8c83e)) * quitting apps was not properly removing apps from the list ([10b2c71](10b2c71)) * quitting multiple apps would refresh the ui multiple times ([bfc2700](bfc2700)) * regression on collectionviewitem titles (not showing) ([8cb6d86](8cb6d86)) * remove debug colors ([e588d55](e588d55)) * remove unnecessary/wrong layout code ([9e719e6](9e719e6)) * sharper images on non-retina displays ([1bb4d2a](1bb4d2a)) * smaller payload for the icons ([bddb6fa](bddb6fa)) * some apps have messy launch behavior ([7eb216d](7eb216d)), closes [/github.com//issues/117#issuecomment-583868046](https://github.com//github.com/lwouis/alt-tab-macos/issues/117/issues/issuecomment-583868046) * some apps should retry observing until it works ([0c731f4](0c731f4)) * using floor() everywhere to avoid blurry rendering ([2a36196](2a36196)) ### Code Refactoring * complete rework of the internals ([547311e](547311e)), closes [#93](#93) [#24](#24) [#117](#117) [/github.com//issues/45#issuecomment-571898826](https://github.com//github.com/lwouis/alt-tab-macos/issues/45/issues/issuecomment-571898826) ### Features * add an app icon and menubar icon (closes [#38](#38)) ([a345dae](a345dae)) * add back the preferences for the new layout algo ([d52eb6d](d52eb6d)) * add debug profile to feedback message ([a14f965](a14f965)) * add feedback button on about window ([4046136](4046136)) * add in-app feedback form (closes [#145](#145)) ([725a030](725a030)) * add licence to about page ([cb66b79](cb66b79)) * add preference to start at login (closes [#159](#159)) ([982fe6c](982fe6c)) * adding cocoapods and letsmove/sparkle ([606bae7](606bae7)) * better packing; tall thumbnails are 1/2 the width of wide ones ([e34e3b1](e34e3b1)) * bump major version ([3c3b18c](3c3b18c)) * cleaner layout and explanation text ([fd3e768](fd3e768)) * debug build has code-signing to preserve permissions ([34a32f3](34a32f3)) * divide preferences by topic (closes [#130](#130)) ([291f872](291f872)) * drag-and-drop files on the ui (closes [#74](#74)) ([e1e3633](e1e3633)) * german and spanish localization ([6c440a7](6c440a7)) * improved translations ([debd3ae](debd3ae)) * integrate sparkle for auto-updates (closes [#131](#131)) ([069382c](069382c)) * localization (closes [#134](#134)) ([36e4bb0](36e4bb0)) * make system calls more parallel (closes [#160](#160)) ([a29b39f](a29b39f)) * migrate to standard os-backed preferences (closes [#161](#161)) ([e28c43f](e28c43f)) * more appealing presentation + minor refac ([67f291d](67f291d)) * nicer layout for about preferences ([03a5f77](03a5f77)) * quit button is clearer with explicit mention of the name ([6b6d748](6b6d748)) * replace default copyright with correct licence ([60b49ea](60b49ea)) * separating the quit button as it is a special case ([9fa0c06](9fa0c06)) * slightly increase contrast (mitigates [#82](#82)) ([291770e](291770e)) * support macos "sudden termination" ([671fdab](671fdab)), closes [/developer.apple.com/documentation/foundation/processinfo#1651129](https://github.com//developer.apple.com/documentation/foundation/processinfo/issues/1651129) ### BREAKING CHANGES * bump major version * Instead of asking the OS about the state of the whole system on trigger (what we do today; hard to do fast), or asking the state of the whole system on a timer (what HyperSwitch does today; inaccurate) - instead of one of 2 approaches, v3 observes the Accessibility events such as "an app was launched", "a window was closed". This means we build a cache as we receive these events in the background, and when the user trigger the app, we can show accurate state of the windows instantly. Of course there is no free lunch, so this approach has its own issues. However from my work on it from the past week, I'm very optimistic! The thing I'm the most excited about actually is not the perf (because on my machine even v2 is instant; I have a recent macbook and no 4k displays), but the fact that we will finally have the thumbnails in order of recently-used to least-recently-used, instead of the order of their stack (z-index) on the desktop. It's a big difference! There are many more limitations that are no longer applying also with this approach.
# [3.0.0](v2.3.4...v3.0.0) (2020-03-10) ### Bug Fixes * a title change often means the content has change ([b8d6bc9](b8d6bc9)) * add rough downscaling when there are many windows (closes [#69](#69)) ([ced5ee6](ced5ee6)) * added releases link and aligned layout left on tab 3 ([6bb73dc](6bb73dc)) * also codesign debug builds ([a5f9911](a5f9911)) * app launched while in fullscreen shows first window ([c5cbcdb](c5cbcdb)), closes [/github.com//pull/114#issuecomment-576384795](https://github.com//github.com/lwouis/alt-tab-macos/pull/114/issues/issuecomment-576384795) * auto-update preferences sync with os from launch ([b3fb222](b3fb222)) * avoid rendering if app is not used ([fdddb0f](fdddb0f)) * better float rounding = sharper cell contents ([9a96e49](9a96e49)) * better focus/order for preferences (closes [#80](#80)) ([4a8bdeb](4a8bdeb)) * better textareas ([efc9bd3](efc9bd3)) * bring back the window delay that regressed with v2 ([bb95e55](bb95e55)) * compare correctly since pid can go away when an app dies ([4ded030](4ded030)) * compiler warnings ([1faa74c](1faa74c)) * cpu and memory leaks (see discussion in [#117](#117)) ([52626aa](52626aa)) * dock being shown was blocking alt-tab ([2826a1b](2826a1b)) * don't show floating windows + efficiencies ([3f8e3ea](3f8e3ea)) * don't show ui on fast trigger ([f8e1b00](f8e1b00)) * don't trigger ui refreshes if the app is not active ([b9a0152](b9a0152)) * don't upscale thumbnails of small windows ([0bc7472](0bc7472)) * feedback token injected during ci ([effdc5f](effdc5f)) * getting sparkle ready for release ([9f1f522](9f1f522)) * handle on-all-spaces windows better ([4abe9f3](4abe9f3)) * ignore build folder ([a2bb19f](a2bb19f)) * ignore trigger shortcuts if mission control is active ([b03b0aa](b03b0aa)) * initial discovery when single space was glitching the os ([3cd4b6d](3cd4b6d)) * keyboard shortcuts didn't work without a menu ([cf92dc1](cf92dc1)) * layout is now correct; also removed layout preferences for now ([a1b5266](a1b5266)) * layout regression introduced by eed0353 ([bdc41be](bdc41be)) * layout was incorrect resulting in thumbnails clipping ([fd906f4](fd906f4)) * letsmove was not active on release builds ([6ac0658](6ac0658)) * list temporary AXDialog windows like activity monitor ([51a8838](51a8838)) * more robust screen-recording permission check ([ce574a2](ce574a2)) * notarization issues ([d125dd3](d125dd3)) * observer leak would throw and crash the app sometimes ([9ca28eb](9ca28eb)) * only test permissions on the correct os versions ([4612e37](4612e37)) * open alt-tab during space transitions (closes [#92](#92)) ([141562d](141562d)) * prevent visual flickering (closes [#115](#115)) ([9a8c83e](9a8c83e)) * quitting apps was not properly removing apps from the list ([10b2c71](10b2c71)) * quitting multiple apps would refresh the ui multiple times ([bfc2700](bfc2700)) * regression on collectionviewitem titles (not showing) ([8cb6d86](8cb6d86)) * remove debug colors ([e588d55](e588d55)) * remove unnecessary/wrong layout code ([9e719e6](9e719e6)) * sharper images on non-retina displays ([1bb4d2a](1bb4d2a)) * smaller payload for the icons ([bddb6fa](bddb6fa)) * some apps have messy launch behavior ([7eb216d](7eb216d)), closes [/github.com//issues/117#issuecomment-583868046](https://github.com//github.com/lwouis/alt-tab-macos/issues/117/issues/issuecomment-583868046) * some apps should retry observing until it works ([0c731f4](0c731f4)) * using floor() everywhere to avoid blurry rendering ([2a36196](2a36196)) ### Code Refactoring * complete rework of the internals ([547311e](547311e)), closes [#93](#93) [#24](#24) [#117](#117) [/github.com//issues/45#issuecomment-571898826](https://github.com//github.com/lwouis/alt-tab-macos/issues/45/issues/issuecomment-571898826) ### Features * add an app icon and menubar icon (closes [#38](#38)) ([a345dae](a345dae)) * add back the preferences for the new layout algo ([d52eb6d](d52eb6d)) * add debug profile to feedback message ([a14f965](a14f965)) * add feedback button on about window ([4046136](4046136)) * add in-app feedback form (closes [#145](#145)) ([725a030](725a030)) * add licence to about page ([cb66b79](cb66b79)) * add preference to start at login (closes [#159](#159)) ([982fe6c](982fe6c)) * adding cocoapods and letsmove/sparkle ([606bae7](606bae7)) * better packing; tall thumbnails are 1/2 the width of wide ones ([e34e3b1](e34e3b1)) * bump major version ([3c3b18c](3c3b18c)) * cleaner layout and explanation text ([fd3e768](fd3e768)) * debug build has code-signing to preserve permissions ([34a32f3](34a32f3)) * divide preferences by topic (closes [#130](#130)) ([291f872](291f872)) * drag-and-drop files on the ui (closes [#74](#74)) ([e1e3633](e1e3633)) * german and spanish localization ([6c440a7](6c440a7)) * improved translations ([debd3ae](debd3ae)) * integrate sparkle for auto-updates (closes [#131](#131)) ([069382c](069382c)) * localization (closes [#134](#134)) ([36e4bb0](36e4bb0)) * make system calls more parallel (closes [#160](#160)) ([a29b39f](a29b39f)) * migrate to standard os-backed preferences (closes [#161](#161)) ([e28c43f](e28c43f)) * more appealing presentation + minor refac ([67f291d](67f291d)) * nicer layout for about preferences ([03a5f77](03a5f77)) * quit button is clearer with explicit mention of the name ([6b6d748](6b6d748)) * replace default copyright with correct licence ([60b49ea](60b49ea)) * separating the quit button as it is a special case ([9fa0c06](9fa0c06)) * slightly increase contrast (mitigates [#82](#82)) ([291770e](291770e)) * support macos "sudden termination" ([671fdab](671fdab)), closes [/developer.apple.com/documentation/foundation/processinfo#1651129](https://github.com//developer.apple.com/documentation/foundation/processinfo/issues/1651129) ### BREAKING CHANGES * bump major version * Instead of asking the OS about the state of the whole system on trigger (what we do today; hard to do fast), or asking the state of the whole system on a timer (what HyperSwitch does today; inaccurate) - instead of one of 2 approaches, v3 observes the Accessibility events such as "an app was launched", "a window was closed". This means we build a cache as we receive these events in the background, and when the user trigger the app, we can show accurate state of the windows instantly. Of course there is no free lunch, so this approach has its own issues. However from my work on it from the past week, I'm very optimistic! The thing I'm the most excited about actually is not the perf (because on my machine even v2 is instant; I have a recent macbook and no 4k displays), but the fact that we will finally have the thumbnails in order of recently-used to least-recently-used, instead of the order of their stack (z-index) on the desktop. It's a big difference! There are many more limitations that are no longer applying also with this approach.
# [3.0.0](v2.3.4...v3.0.0) (2020-03-10) ### Bug Fixes * a title change often means the content has change ([b8d6bc9](b8d6bc9)) * add rough downscaling when there are many windows (closes [#69](#69)) ([ced5ee6](ced5ee6)) * added releases link and aligned layout left on tab 3 ([6bb73dc](6bb73dc)) * also codesign debug builds ([a5f9911](a5f9911)) * app launched while in fullscreen shows first window ([c5cbcdb](c5cbcdb)), closes [/github.com//pull/114#issuecomment-576384795](https://github.com//github.com/lwouis/alt-tab-macos/pull/114/issues/issuecomment-576384795) * auto-update preferences sync with os from launch ([b3fb222](b3fb222)) * avoid rendering if app is not used ([fdddb0f](fdddb0f)) * better float rounding = sharper cell contents ([9a96e49](9a96e49)) * better focus/order for preferences (closes [#80](#80)) ([4a8bdeb](4a8bdeb)) * better textareas ([efc9bd3](efc9bd3)) * bring back the window delay that regressed with v2 ([bb95e55](bb95e55)) * compare correctly since pid can go away when an app dies ([4ded030](4ded030)) * compiler warnings ([1faa74c](1faa74c)) * cpu and memory leaks (see discussion in [#117](#117)) ([52626aa](52626aa)) * dock being shown was blocking alt-tab ([2826a1b](2826a1b)) * don't show floating windows + efficiencies ([3f8e3ea](3f8e3ea)) * don't show ui on fast trigger ([f8e1b00](f8e1b00)) * don't trigger ui refreshes if the app is not active ([b9a0152](b9a0152)) * don't upscale thumbnails of small windows ([0bc7472](0bc7472)) * feedback token injected during ci ([effdc5f](effdc5f)) * getting sparkle ready for release ([9f1f522](9f1f522)) * handle on-all-spaces windows better ([4abe9f3](4abe9f3)) * ignore build folder ([a2bb19f](a2bb19f)) * ignore trigger shortcuts if mission control is active ([b03b0aa](b03b0aa)) * initial discovery when single space was glitching the os ([3cd4b6d](3cd4b6d)) * keyboard shortcuts didn't work without a menu ([cf92dc1](cf92dc1)) * layout is now correct; also removed layout preferences for now ([a1b5266](a1b5266)) * layout regression introduced by eed0353 ([bdc41be](bdc41be)) * layout was incorrect resulting in thumbnails clipping ([fd906f4](fd906f4)) * letsmove was not active on release builds ([6ac0658](6ac0658)) * list temporary AXDialog windows like activity monitor ([51a8838](51a8838)) * more robust screen-recording permission check ([ce574a2](ce574a2)) * notarization issues ([d125dd3](d125dd3)) * observer leak would throw and crash the app sometimes ([9ca28eb](9ca28eb)) * only test permissions on the correct os versions ([4612e37](4612e37)) * open alt-tab during space transitions (closes [#92](#92)) ([141562d](141562d)) * prevent visual flickering (closes [#115](#115)) ([9a8c83e](9a8c83e)) * quitting apps was not properly removing apps from the list ([10b2c71](10b2c71)) * quitting multiple apps would refresh the ui multiple times ([bfc2700](bfc2700)) * regression on collectionviewitem titles (not showing) ([8cb6d86](8cb6d86)) * remove debug colors ([e588d55](e588d55)) * remove unnecessary/wrong layout code ([9e719e6](9e719e6)) * sharper images on non-retina displays ([1bb4d2a](1bb4d2a)) * smaller payload for the icons ([bddb6fa](bddb6fa)) * some apps have messy launch behavior ([7eb216d](7eb216d)), closes [/github.com//issues/117#issuecomment-583868046](https://github.com//github.com/lwouis/alt-tab-macos/issues/117/issues/issuecomment-583868046) * some apps should retry observing until it works ([0c731f4](0c731f4)) * using floor() everywhere to avoid blurry rendering ([2a36196](2a36196)) ### Code Refactoring * complete rework of the internals ([547311e](547311e)), closes [#93](#93) [#24](#24) [#117](#117) [/github.com//issues/45#issuecomment-571898826](https://github.com//github.com/lwouis/alt-tab-macos/issues/45/issues/issuecomment-571898826) ### Features * add an app icon and menubar icon (closes [#38](#38)) ([a345dae](a345dae)) * add back the preferences for the new layout algo ([d52eb6d](d52eb6d)) * add debug profile to feedback message ([a14f965](a14f965)) * add feedback button on about window ([4046136](4046136)) * add in-app feedback form (closes [#145](#145)) ([725a030](725a030)) * add licence to about page ([cb66b79](cb66b79)) * add preference to start at login (closes [#159](#159)) ([982fe6c](982fe6c)) * adding cocoapods and letsmove/sparkle ([606bae7](606bae7)) * better packing; tall thumbnails are 1/2 the width of wide ones ([e34e3b1](e34e3b1)) * bump major version ([3c3b18c](3c3b18c)) * cleaner layout and explanation text ([fd3e768](fd3e768)) * debug build has code-signing to preserve permissions ([34a32f3](34a32f3)) * divide preferences by topic (closes [#130](#130)) ([291f872](291f872)) * drag-and-drop files on the ui (closes [#74](#74)) ([e1e3633](e1e3633)) * german and spanish localization ([6c440a7](6c440a7)) * improved translations ([debd3ae](debd3ae)) * integrate sparkle for auto-updates (closes [#131](#131)) ([069382c](069382c)) * localization (closes [#134](#134)) ([36e4bb0](36e4bb0)) * make system calls more parallel (closes [#160](#160)) ([a29b39f](a29b39f)) * migrate to standard os-backed preferences (closes [#161](#161)) ([e28c43f](e28c43f)) * more appealing presentation + minor refac ([67f291d](67f291d)) * nicer layout for about preferences ([03a5f77](03a5f77)) * quit button is clearer with explicit mention of the name ([6b6d748](6b6d748)) * replace default copyright with correct licence ([60b49ea](60b49ea)) * separating the quit button as it is a special case ([9fa0c06](9fa0c06)) * slightly increase contrast (mitigates [#82](#82)) ([291770e](291770e)) * support macos "sudden termination" ([671fdab](671fdab)), closes [/developer.apple.com/documentation/foundation/processinfo#1651129](https://github.com//developer.apple.com/documentation/foundation/processinfo/issues/1651129) ### BREAKING CHANGES * bump major version * Instead of asking the OS about the state of the whole system on trigger (what we do today; hard to do fast), or asking the state of the whole system on a timer (what HyperSwitch does today; inaccurate) - instead of one of 2 approaches, v3 observes the Accessibility events such as "an app was launched", "a window was closed". This means we build a cache as we receive these events in the background, and when the user trigger the app, we can show accurate state of the windows instantly. Of course there is no free lunch, so this approach has its own issues. However from my work on it from the past week, I'm very optimistic! The thing I'm the most excited about actually is not the perf (because on my machine even v2 is instant; I have a recent macbook and no 4k displays), but the fact that we will finally have the thumbnails in order of recently-used to least-recently-used, instead of the order of their stack (z-index) on the desktop. It's a big difference! There are many more limitations that are no longer applying also with this approach.
This is OSS, so for the icon creation process, I don't want to decide everything. However, I would like to share some important considerations:
Asks:
Discussion:
I looked at
/System/Library/CoreServices/Dock.app
, and I like the abstract icon:Also the Mission Control icon (can't find where it is again today):
I think something similar may be a good idea: an abstract list of windows, and maybe some arrow showing a switch from one to another.
Also as inspiration, here is what similar apps have gone with:
Windows Switcher

HyperSwitch

Witch

Context

The text was updated successfully, but these errors were encountered: