ravynos icon indicating copy to clipboard operation
ravynos copied to clipboard

Also check out WinObjC

Open probonopd opened this issue 3 years ago • 7 comments

https://github.com/microsoft/WinObjC by no one else but Microsoft (for the purpose of porting iOS apps to Windows) implements a lot of Frameworks and is BSD licensed.

Possibly something useful there, too?

probonopd avatar Apr 25 '21 11:04 probonopd

It's not particularly actively maintained anymore (which is sad), but it is using the same runtime as this project and is MIT licensed. A lot of the code is clean ObjC++.

davidchisnall avatar Aug 05 '21 11:08 davidchisnall

I did look at it but wasn't sure if there were significant advantages vs Cocotron which I had already ported/extended on FreeBSD. Neither are particularly active. Airyx's runtime already pulls in a few bits from other Cocoa implementations so I'm not opposed to a "mix and match" approach where it makes sense, or would it be advantageous to rebase entirely onto the MS code?

mszoek avatar Aug 05 '21 14:08 mszoek

The MS code is at least newer, in two ways: It is designed to support newer Apple APIs and it's written in a more modern style. When I evaluated Cocotron for Etoile many years ago, there were a few things that made me quite nervous.

The main disadvantage of WinObjC is that it implemented UIKit, not AppKit (though it began live supporting multiple platforms and so uses some cross-platform libraries rather than anything Windows native). As AppKit and UIKit continue to converge, this might not be such a problem.

@Dhowett can tell you more about WinObjC if he's awake.

By the way, I'm the author of the Objective-C runtime you're using. Please ping me if you have any problem - I do most of my development on FreeBSD, so that shouldn't cause any problems.

davidchisnall avatar Aug 05 '21 14:08 davidchisnall

@mszoek @DavidChisnall Speaking of Etoile there is something very visually appealing that makes it look different and sleek even nowadays. It just screams enterprise beauty in my eyes. Do you think such kind of appearance could be achieved in Plasma? Has anyone ported GNUStep themes to Plasma ?

http://etoileos.com/etoile/ https://github.com/BertrandDekoninck/NarcissusRik https://github.com/BertrandDekoninck/NesedahRik https://github.com/BertrandDekoninck/Sombre https://github.com/AlessandroSangiuliano/rik.theme

mar1n3r0 avatar Sep 09 '21 13:09 mar1n3r0

We put a lot of effort into the design of the Nesedah theme to make sure that it had the right affordances. For example, everything in Nesedah that the user can interact with has a gradient, everything that is purely decorative is flat, and everything is consistent and sized for good visibility and interaction.

Naricssus was designed by the same person who did Nesedah, though without the same usability review (he named it because it was his personal make-something-pretty project).

You can see the evolution of Nesedah on Jesse's page. He did some absolutely fantastic work for us.

We struggled a bit with the GNUstep theme engine, and in particular with the fact that macOS and GNUstep disagreed on some sizes of things (Nesedah favoured the macOS sizes) and OpenStep hard-coded sizes of everything in .nib files so porting was not always easy. Some of the things in Nesedah (and Aqua) need to render slightly outside of what GNUstep things is the boundary of the cell that it's currently displaying (for example, see the tick in the checkbox in Concept 23 below).

image .

davidchisnall avatar Sep 09 '21 15:09 davidchisnall

A lot of the other artwork that Jesse did for us is also still online: https://jesseross.com/clients/etoile/

davidchisnall avatar Sep 09 '21 15:09 davidchisnall

It's absolutely stunning stuff. I wish it could at least be ported as is in modern world. The same way I miss the good old Keramik theme from KDE 3. Desktop environments are so unified nowadays that they are all boring...

mar1n3r0 avatar Sep 09 '21 15:09 mar1n3r0