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

Closed

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.

@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!

@sapoepsilon
Copy link
Author

Update maybe?

Hey, I’ve been thinking about finishing up the work this summer. Sorry, I got really busy with work and school.

@AlejandroVolkova
Copy link

I don’t mean to sound rude or complain, but I wish someone could fully commit to moving things forward, it's been a long time and unfortunately still there's no advancement in this matter, Maybe involving the app owner could help move things forward

@lwouis
Copy link
Owner

lwouis commented Jul 1, 2024

@AlejandroVolkova pinned issue: #1179

@lwouis lwouis force-pushed the master branch 2 times, most recently from 7d7d9cf to 8abb9b4 Compare October 10, 2024 09:28
@lwouis
Copy link
Owner

lwouis commented Oct 12, 2024

With v7.0.0, the settings have been revamped completely. I'll close this PR for now. If you see more improvements to be made, let's open a ticket to discuss what can be refined 👍

@lwouis lwouis closed this Oct 12, 2024
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.

5 participants