Bruce, GNUStep supports Ojbc2.0 with libobjc2.0 and clang but the versions packaged with Debian or Ubuntu are compiled with the old runtime.
https://repo.gnustep.ch/ can help you to install "gnustep2" which pulls in versions compiled with clang and libobjc2. I use this combination since years under Debian and Ubuntu on x86_64 and arm64 for my own applications as I need ARC for my peace of mind. How to build from source I have documented here: https://github.com/andreasfink/ulib/blob/master/doc/README-Debian12-bookworm.txt https://github.com/andreasfink/ulib/blob/master/doc/README-Ubuntu-22.txt However the graphical artefacts you stated are for sure not in relation to libobjc2 because this is gui stuff. And thats in gnustep-gui. The only version which is not up to date on repo.gnustep.ch is currently Ubuntu22 on Intel as I run into a strange error with configure of gnustep-base as it does not want to detect my libiconv-1.17 version for some reason. The same version I compiled and used under Ubuntu22 on arm64 and on Debian worked just fine. (if anyone has a hint on how to convince ./configure to just use my libiconv I pass, let me know. --with-libiconv-library=/usr/local/lib/libiconv.a was not enough). > On 17 Dec 2023, at 14:43, bruce <darkoverlordofd...@gmail.com> wrote: > > That's the version of Obj-C. Linux is stuck on 1.9. Obj-c 2.0 released in > 2006, as I'm sure you are aware. > I can use this build https://github.com/plaurent/gnustep-build to create 2.1 > on Linux. The FeeBSD is stuck at 2.0, as they no longer have a maintainer of > their gnustep port. > > On Sun, Dec 17, 2023 at 1:15 PM Gregory Casamento <greg.casame...@gmail.com > <mailto:greg.casame...@gmail.com>> wrote: >> Bruce, >> >> On Sun, Dec 17, 2023 at 7:57 AM bruce <darkoverlordofd...@gmail.com >> <mailto:darkoverlordofd...@gmail.com>> wrote: >>> Something clicked (about 3 this morning) about version 1.9. I’ve assumed >>> this was the version in the Linux repos due to their typical bureaucracy. >>> But more research tells me that 2.1 cannot compile using gcc. I never >>> choose gcc myself. But the linux repo maintenance tools such as Launchpad >>> depend on it. So they are stuck on 1.9, which is generally referred to as >>> obsolete. It’s a reason people tell me they don’t use gnustep. So I >>> installed Ubuntu on my backup this morning, and instead of building >>> gnustep, I installed 1.9, and the artifact issue goes away. >>> >> >> Where are you getting these version numbers from? The current releases of >> gnustep libraries are as follows: >> >> gnustep-base: 1.28.0 >> gnustep-gui: 0.30.0 >> gnustep-back: 0.30.0 >> gnustep-make: 2.9.1 >> >> I don't know what 1.9 and 2.1 are referring to. If you could clarify that >> would be immensely helpful. >> >>> Now I see the problem. 1.9 works, but few people use it. I’m not going to >>> base a new project on something that is old and deprecated past >>> obsolescence. FreeBSD uses a port of 2.0. >>> >>> My renewed interest in gnustep is due to a conversation with @gcasa on >>> github. He was complaining that helloSystem didn’t consult with the gnustep >>> project. He has a point, helloSystem is a reworking of the osx style >>> desktop on freebsd. But I chimed in, and told him I didn’t think gnustep >>> was viable. He took that personally, and it was the passion of his response >>> that convinced me that gnustep was not dead. And I decided to either prove >>> he was right or wrong. Unfortunately, I still think he’s wrong. >> >> It isn't, but you're going about this entirely the wrong way. I still KNOW >> that you're wrong. Again, you haven't consulted anyone, asked for ANY help >> on anything. Made assumptions and gone off in the wrong direction. So you >> have proved NOTHING. Given GNUstep's use, as I have pointed out, both >> commercially and many other places absolutely proves you incorrect. >> >>> Originally, I looked at ObjFw. It uses Gtk or Qt for gui. But now I >>> understand this: >>> >> >> Again, if you're looking for the ability to build macOS apps, ObjFw is NOT >> the way. >> >>> ‘It supports all modern Objective-C features when using Clang, but is also >>> compatible with GCC ≥ 4.6 to allow maximum portability.’ >> >> As is GNUstep. We are a GNU project (it's in the name) we still support >> GCC. Your failure to build with GCC is also something you never talked to >> anyone about. You simply jumped to the conclusion that because you ran >> into an issue on your system, it MUST not work. Please check on GitHub we >> have CI running for every commit. It works fine with clang and gcc. Clang >> is recommended since it fully supports ObjC2.0. This is a compiler thing, >> not a framework thing. >> >>> The main issue I have with ObjFw is lack of documentation. I have >>> complained about this with gnustep as well, but then I found old O’Reilly >>> books at the local thrift store that finally explained how that era of >>> Cocoa worked, and I was able to move forward on gnustep. Until I started >>> looking at more complex gui constructs, which is where it breaks down on >>> Linux/FreeBSD. >>> >>> I’m back to the thought that gnustep is dead. Maybe not on the Mac or >>> Windows. But on Linux/FreeBSD gnustep is effectively dead. And I’m back to >>> csharp. >> >> Good for you, you're welcome to your own opinion even though it is wrong. >> >> As I mentioned in my previous email. All you have done here is come onto >> our forum with the SAME statements you made previously in our discussion >> regarding helloSystem on Git Hub. What you have failed to do as I pointed >> out there and in my previous email is to properly engage the community. >> This is a mistake many developers make (not just with us but with many >> projects). I remain open to working with helloSystem, but as I detailed >> previously, you need to do it constructively. Coming onto the mailing list >> and complaining is not going to help your case. >> >> You are welcome to your (incorrect) opinion that GNUstep is "dead". I, >> personally, don't know anyone who uses helloSystem so... I guess it's dead. >> ;) >> >> GC >> >>> >>> On Sun, Dec 17, 2023 at 1:23 AM bruce <darkoverlordofd...@gmail.com >>> <mailto:darkoverlordofd...@gmail.com>> wrote: >>>> Yes, I’ve tried that. It doesn’t look good on any of the themes I’ve >>>> found. I’d try making my own theme if I could find documentation… >>>> >>>> >>>> But it does not address the bigger issue of artifacts. And it creates the >>>> issue of menu confusion. I always look to the top corner of my screen - no >>>> searching for menus. Then I would have to look for them on only certain >>>> gnustep apps. Not a great interface. >>>> >>>> I’m mainly interested in creating apps for Linux/FreeBSD. I’m not certain >>>> my screen lock program would even work on either Mac or Windows. The same >>>> with other desktop oriented apps, such as a shortcut editor. I haven’t >>>> used a Mac or Windows in 12 years since I left Microsoft. >>>> >>>> I agree that abandoning Cocoa seems wrong. But these bugs have been there >>>> for a decade without getting fixed, and what I’m starting to think is that >>>> this is just a linux issue. Until recently I had expected to hear that >>>> gnustep was dead. The web site is half dead links, it was offline for a >>>> while, and freshports shows that there is no longer a maintainer for >>>> FreeBSD. The version on the Linux repos is considered dead because it’s >>>> the old 1.9, so you have to build it manually to get the current version. >>>> Maybe it only makes sense for Linux devs to use gtk. Or maybe they just >>>> continue not using gnustep and I’m just the odd one out. >>>> >>>> >>>> On Sat, Dec 16, 2023 at 10:07 PM Daniel Boyd <danieljb...@icloud.com >>>> <mailto:danieljb...@icloud.com>> wrote: >>>>> Bruce, >>>>> >>>>> Have you tried >>>>> defaults write NSGlobalDomain NSMenuInterfaceStyle >>>>> NSWindows95InterfaceStyle >>>>> >>>>> That will put the menus at the top of each window. >>>>> >>>>> Abandoning cocoa doesn’t make much sense. What I think is absolutely a >>>>> good idea would be someone adopting the gtk theme and giving it some >>>>> love. >>>>> >>>>> Sent from my iPhone >>>>> >>>>>> On Dec 16, 2023, at 15:28, bruce <darkoverlordofd...@gmail.com >>>>>> <mailto:darkoverlordofd...@gmail.com>> wrote: >>>>>> >>>>>> >>>>>> Here are some examples >>>>>> >>>>>> >>>>>> >>>>>> Notice how the scroll bar splits as well. It also happens in prepackaged >>>>>> binary SystemPreferences.app: >>>>>> >>>>>> >>>>>> You can also see how the menu collides with a linux style global menu. >>>>>> This is on helloSystem. On GhostBSD-xfce, the scroll list artifacts are >>>>>> less pronounced, looking more like heavy underlines, but the menu >>>>>> collision still happens. Menu theme doesn’t align with the desktop. It’s >>>>>> jarring. What is more jarring is the ‘blip’ I get, a small rectangle >>>>>> that pops up momentarily, suspiciously the same size as the big icon, >>>>>> and then disappears when the main window appears. Xfce is the only >>>>>> desktop environment this ‘blip’ does not happen on. >>>>>> >>>>>> >>>>>> On Sat, Dec 16, 2023 at 8:10 PM Gregory Casamento >>>>>> <greg.casame...@gmail.com <mailto:greg.casame...@gmail.com>> wrote: >>>>>>> Bruce, >>>>>>> >>>>>>> I admit I looked at the mailing list and did see where you have made >>>>>>> comments both recently and a couple of years back regarding certain >>>>>>> things of interest. My apologies that you didn't get the response that >>>>>>> you felt you needed on some of these issues... >>>>>>> >>>>>>> On Sat, Dec 16, 2023 at 2:34 PM bruce <darkoverlordofd...@gmail.com >>>>>>> <mailto:darkoverlordofd...@gmail.com>> wrote: >>>>>>>> Gregory, respectfully, I’ve been trying gnustep for the last decade, >>>>>>>> waiting for it to be ready, and getting frustrated. During that time >>>>>>>> I’ve had 5 different computers, and used about 10 linux distros, and >>>>>>>> the place I find gnustep working tolerably is on freebsd-xfce. Not too >>>>>>>> many artifacts, themes are working, but it still doesn’t integrate to >>>>>>>> the desktop - that’s a design issue , and I’m not asking you to change >>>>>>>> that, just consider an alternative. >>>>>>> >>>>>>> I use GNUstep on Debian Linux at home (I have since Debian 9) and >>>>>>> Ubuntu 16-22 at work as well as Windows at work. All are tolerable >>>>>>> work environments. I use the Ubuntu and Windows instances mostly for >>>>>>> Keysight. On the windows side we use the Windows theme and it has >>>>>>> never been a problem for any of the clients that Keysight has using the >>>>>>> Eggplant software. Windows makes up approximately 90+% of their >>>>>>> user-base. >>>>>>> >>>>>>>> The artifact problems I refer to have been there all along, and I’ve >>>>>>>> talked on several forums to other users that run into them too. If no >>>>>>>> one on the project has ever noticed these issues, I don’t know what to >>>>>>>> say. >>>>>>> >>>>>>> I am familiar with some of the issues you mention. There are ways to >>>>>>> get around them. If you would like to discuss that I suggest you ask >>>>>>> about which ones specifically. I may go back and answer some of your >>>>>>> previous emails. >>>>>>> >>>>>>>> I bring up the archaic menu and there are 2 camps - one says use >>>>>>>> WindowMaker, and the other longs for something more modern - so i’m >>>>>>>> suggesting that you can kill 2 birds with one stone by using >>>>>>>> CoreGTK.framework >>>>>>> >>>>>>> Well. Here is the thing. You may be under the misconception that >>>>>>> GNUstep is intended as a Desktop Environment. It isn't or, at least, >>>>>>> it hasn't been. GNUstep's major focus over these many years has been >>>>>>> to be as cross-platform as humanly possible. Arguably it has achieved >>>>>>> that... GNUstep currently runs on any POSIX-compliant OS, as well as >>>>>>> Windows on both MSYS2 and MSVC. >>>>>>> >>>>>>> The issue is that the project has left worrying about the "Desktop" to >>>>>>> other projects... (examples of this are Etoile -- defunct, GSDE, >>>>>>> NEXTSPACE, etc). As such GNUstep is perceived as being "reluctant" to >>>>>>> change the default theme from the one many people claim is "Ugly". I >>>>>>> find that ironic given that many OSs modeled their look AFTER >>>>>>> NeXTSTEP/OPENSTEP (Windows 95 being the most prominent of these, as >>>>>>> well as AmigaOS 2+). >>>>>>> >>>>>>> One of the things that has been discussed recently has been the >>>>>>> creation of a "Reference Distribution" on Linux and, possibly, other >>>>>>> *BSD platforms to allow us to better demonstrate what GNUstep is >>>>>>> capable of doing. >>>>>>> >>>>>>> What I can tell you will never happen is throwing out gnustep-gui in >>>>>>> favor of a replacement. Let's consider your suggestion of CoreGTK. If >>>>>>> we moved to that we would no longer have compatibility with macOS, also >>>>>>> we would not be able to use libs-xcode to build projects from macOS on >>>>>>> GNUstep platforms. Additionally, the framework you suggest lacks many >>>>>>> of the widgets we already have so, while on the surface, it might seem >>>>>>> like a good move it is simply not a viable solution. So, any notion >>>>>>> of replacement is not one that we will consider under any >>>>>>> circumstances. >>>>>>> >>>>>>> NOW, all of that being said... it is perfectly acceptable and possible >>>>>>> for you to port that framework to work with GNUstep. You don't have to >>>>>>> use gnustep-gui if you don't wish to. That would be fairly awesome. >>>>>>> There is nothing that says you can't use any framework you wish in >>>>>>> conjunction with GNUstep. The more the merrier. :) >>>>>>> >>>>>>> Yours Sincerely, GC >>>>>>> >>>>>>>> On Sat, Dec 16, 2023 at 6:14 PM Gregory Casamento >>>>>>>> <greg.casame...@gmail.com <mailto:greg.casame...@gmail.com>> wrote: >>>>>>>>> Hi Bruce, >>>>>>>>> >>>>>>>>> On Sat, Dec 16, 2023 at 10:34 AM bruce <darkoverlordofd...@gmail.com >>>>>>>>> <mailto:darkoverlordofd...@gmail.com>> wrote: >>>>>>>>>> I love gnustep objective-c and Foundation. But the UI is pretty >>>>>>>>>> ugly. Theming fixes it cosmetically, but it doesn’t fix the real >>>>>>>>>> issues. The menu and main icon don’t really fit on any modern >>>>>>>>>> desktop. And the GUI itself is buggy, and leaves artifacts strewn >>>>>>>>>> all over the window. >>>>>>>>> >>>>>>>>> I am not sure what you mean by this. Instead of making general >>>>>>>>> statements like the above filing bug reports on github >>>>>>>>> (https://github.com/gnustep) would be more useful as they would >>>>>>>>> provide more context to the actual issues you are referring to and >>>>>>>>> also help us address the problem you seem to be seeing. I have been >>>>>>>>> lead for many years and use GNUstep every day, including with LARGE >>>>>>>>> customers... >>>>>>>>> >>>>>>>>> Please see https://eggplant.io <https://eggplant.io/> (Keysight) they >>>>>>>>> have 1000s of clients and their product is using GNUstep's master >>>>>>>>> branch. >>>>>>>>> >>>>>>>>> Additionally, there are some very attractive themes for GNUstep... >>>>>>>>> namely... >>>>>>>>> <gnustep-narcissus.png> >>>>>>>>> >>>>>>>>> >>>>>>>>> And... >>>>>>>>> <nesedah.png> >>>>>>>>> >>>>>>>>> >>>>>>>>> As well as the Windows theme... (on windows of course)... >>>>>>>>> <WinSavePanel_Full.jpg> >>>>>>>>> >>>>>>>>> >>>>>>>>>> So tbh, I’ve been investigating GtkSharp, since dotnet8.0 is now >>>>>>>>>> available on linux, and is in ‘beta’ on freebsd. While investigating >>>>>>>>>> that, I discovered gtkcore, a gtk binding for gnustep. It has some >>>>>>>>>> minor issues, but not the magnitude of the issues with cocoa, and >>>>>>>>>> gtk is well known territory. >>>>>>>>> >>>>>>>>> There is a GtkTheme for GNUstep... >>>>>>>>> <55085-1.png> >>>>>>>>> >>>>>>>>> https://github.com/gnustep/plugins-themes-Gtk/ >>>>>>>>> >>>>>>>>> Gtk is not my favorite toolkit, I would prefer a working cocoa, or >>>>>>>>> even qt. But the freebsd desktop uses it in xfce, and with gnustep >>>>>>>>> cocoa so unusable, I’m thinking that gtkcore is now the only way >>>>>>>>> ahead to develop gui applications with gnustep. Or, I suppose you >>>>>>>>> could fix cocoa - but that gets so much push back I’ve given up hope. >>>>>>>>> >>>>>>>>> The best way to cooperate with the community is to file bugs and give >>>>>>>>> useful feedback -- which you have NOT done here. Simply saying "it >>>>>>>>> doesn't work" or "it's ugly" is not going to help because people need >>>>>>>>> SPECIFIC feedback to make things better. >>>>>>>>> >>>>>>>>> PS. The Gtk and Windows themes both use NATIVE widgets from those >>>>>>>>> environments. >>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> >>>>>>>>>> Bruce Davidson >>>>>>>>> >>>>>>>>> Yours Sincerely, GC >>>>>>>>> -- >>>>>>>>> Gregory Casamento >>>>>>>>> GNUstep Lead Developer / OLC, Principal Consultant >>>>>>>>> http://www.gnustep.org <http://www.gnustep.org/> - >>>>>>>>> http://heronsperch.blogspot.com <http://heronsperch.blogspot.com/> >>>>>>>>> https://www.patreon.com/bePatron?u=352392 - Become a Patron >>>>>>>>> https://www.openhub.net/languages/objective_c - OpenHub standings >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> >>>>>>>> Bruce Davidson >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Gregory Casamento >>>>>>> GNUstep Lead Developer / OLC, Principal Consultant >>>>>>> http://www.gnustep.org <http://www.gnustep.org/> - >>>>>>> http://heronsperch.blogspot.com <http://heronsperch.blogspot.com/> >>>>>>> https://www.patreon.com/bePatron?u=352392 - Become a Patron >>>>>>> https://www.openhub.net/languages/objective_c - OpenHub standings >>>>>> >>>>>> >>>>>> -- >>>>>> >>>>>> Bruce Davidson >>>>>> >>>> >>>> >>>> -- >>>> >>>> Bruce Davidson >>>> >>> >>> >>> -- >>> >>> Bruce Davidson >>> >> >> >> -- >> Gregory Casamento >> GNUstep Lead Developer / OLC, Principal Consultant >> http://www.gnustep.org <http://www.gnustep.org/> - >> http://heronsperch.blogspot.com <http://heronsperch.blogspot.com/> >> https://www.patreon.com/bePatron?u=352392 - Become a Patron >> https://www.openhub.net/languages/objective_c - OpenHub standings > > > -- > > Bruce Davidson >