Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

feat: Appearance tab re-design #2697

Draft
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

sapoepsilon
Copy link

@sapoepsilon sapoepsilon commented Jul 25, 2023

  • Create a macos theme that looks exactly like MacOS' native tab switcher
    • auto appearance change
      alt-tab:
image

mac-os native:
image

  • Change appearance settings tab view
    • Group by themes
    • Create individual settings for each theme

Figma link
image

@sapoepsilon sapoepsilon changed the title feat: auto-appearance change feat: Appearance tab re-design Jul 25, 2023
@@ -178,7 +178,7 @@ class App: AppCenterApplication, NSApplicationDelegate {

func showSecondaryWindow(_ window: NSWindow?) {
if let window = window {
NSScreen.preferred().repositionPanel(window, .appleCentered)
NSScreen.preferred().repositionPanel(window, .centered)
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Once we are firm on the theme and appearance tab, I will ensure all the static code is dynamic.

@lwouis
Copy link
Owner

lwouis commented Jul 26, 2023

Hi @sapoepsilon,

Thank you for sharing this PR! Today i start moving out to a new place. So please forgive me if it takes a while until i can review it 🙇‍♂️

Hopefully next week i can do a review.

Thank you

@sapoepsilon
Copy link
Author

Hi @sapoepsilon,

Thank you for sharing this PR! Today i start moving out to a new place. So please forgive me if it takes a while until i can review it 🙇‍♂️

Hopefully next week i can do a review.

Thank you

Take your time! This PR is WIP and will probably take me weeks to fully implement the full redesign. At this stage is more of a POC.

Good luck with moving. That's always a pain!

@AlejandroVolkova
Copy link

I was about to submit the same request since the only issue I have with my AltTab setup is the theme color because it's always in dark mode, but I'm happy to see @lwouis is open to making it, anyways here are some screenshots of my configuration.

Screenshot 2023-07-31 at 05 08 22 Screenshot 2023-07-31 at 05 08 54

@sapoepsilon
Copy link
Author

Hey @lwouis, I am struggling here a bit. I am trying to align a new TabView in the Appearance tab of the Preferences Window. However, whenever I am shifting a MacOS theme with one element in it the TabView is shifting to the bottom. Have you encountered this kinda issue?

image

alttab

@lwouis
Copy link
Owner

lwouis commented Aug 21, 2023

@sapoepsilon i'm afraid it's a classic AppKit layout issue. I've spent countless hours on such issues.

We still have a few open issues users get into on older macOS releases for instance. In addition, there have been layout conflict warnings in the logs for many years, and i haven't been able to remove them. As far as i can tell, the preference window with its header of buttons at the top is bugged straight from the SDK. Unless we would re-implement it from scratch, it's literally bugged from the SDK at the internal level. That's for the warnings.

in your case, it's probably the layout engine not figuring out what to do. It's about trial and error in my experience. AppKit has 3 layout systems that were introduced over the years, and all 3 exist on top of each other. I invite you to look at guides to go more in depth on the topic.

If you prefer, feel free to throw away a lot of the current approach and write something better, for the layout part of the preferences tabs.

@sapoepsilon
Copy link
Author

Sounds good! Will experiment with the UI, then! Thank you for the advise.

@lwouis
Copy link
Owner

lwouis commented Aug 22, 2023

@sapoepsilon some extra tips:

  • Don't hesitate to use this. It will add an overlay on the windows when it detects conflicts. This is in addition to what AppKit already logs in that regards, when you launch the app and open windows.
  • You can add a symbolic breakpoint to help debug layout issues
    image
  • The overlap between the various layout system can be tamed by using some of these methods:
    • translatesAutoresizingMaskIntoConstraints
    • Using contraints with contraint(...).isActive = true (example)
    • Positionning things "manually" with frame, frame.width/frame.height, setFrame, setFrameOrigin, setContentSize, etc.

@lwouis
Copy link
Owner

lwouis commented Aug 22, 2023

Some of the long-lasting issues I've mentioned: #1062, #814, #2663 and #1279

@sapoepsilon
Copy link
Author

Some of the long-lasting issues I've mentioned: #1062, #814, #2663 and #1279

Those are interesting issues. Will tackle them down too. This is awesome, thanks!

@lwouis
Copy link
Owner

lwouis commented Sep 19, 2023

Hi @sapoepsilon,

I was able to review this work a bit today. I ran the app, but it seems that the preference UI is not yet changed in a usable way.

I think the state of this MR is work-in-progress, right? I mean that it's still a bit far away from the Figma, right?

Please let me know when you've made more progress, and I'll check it out again 👍

Thank you

@sapoepsilon
Copy link
Author

sapoepsilon commented Sep 19, 2023

Hi @sapoepsilon,

I was able to review this work a bit today. I ran the app, but it seems that the preference UI is not yet changed in a usable way.

I think the state of this MR is work-in-progress, right? I mean that it's still a bit far away from the Figma, right?

Please let me know when you've made more progress, and I'll check it out again 👍

Thank you

Hello @lwouis , yes, it is still in work in progress.

I have made a little more progress in my fork, and have not committed it here yet. Also, my school has started(last semester) and I have been neglecting this project for the last couple of weeks. As soon as I figure out my time management, I will be back to active contributions.

I, initially, planned that the work be done in 2 weeks(ha-ha), but I think I would be done by January next year with my current schedule.

@ThatGuyWhomAsked
Copy link

ThatGuyWhomAsked commented Oct 4, 2023

Hi, I don't wanna be that rude person but if you haven't thought of it yet, the original cmd tab has the application name under thee icon. Do not wanna be rude! Thanks for making this app! MAYBE wee could use custom fonts? Again, up to you

@jacksongoode
Copy link

Hoping we can see a redesign :)

@sapoepsilon
Copy link
Author

Hoping we can see a redesign :)

I will resume my work in November. I'm projecting it to be done by January.

@conker-rsc
Copy link

This will be a lifesaver given the recent Sonoma updates - thank you for your efforts on this!

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

Successfully merging this pull request may close these issues.

None yet

6 participants