discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Consider GtkCore as UI


From: bruce
Subject: Re: Consider GtkCore as UI
Date: Sun, 17 Dec 2023 15:22:54 +0000

btw - I'm not associated with helloSystem other than as a user. 

On Sun, Dec 17, 2023 at 2:56 PM bruce <darkoverlordofdata@gmail.com> wrote:
I've tried using libobjc2 with the other runtimes from the linux repo. I couldn't get it to work, but it sounds like other people have under certain circumstances.
Hm, I'll give that a try,.
But to build a product, I want to know that my users can install it without all the monkey business. Otherwise it becomes a support nightmare.

On Sun, Dec 17, 2023 at 2:44 PM Gregory Casamento <greg.casamento@gmail.com> wrote:
Bruce,

On Sun, Dec 17, 2023 at 8:43 AM bruce <darkoverlordofdata@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 am using 2.x on my Debian Linux 12 install here, but then again I am building from source.

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.

Understood, as you mentioned before. I am not sure what to do to remedy that situation.

GC

On Sun, Dec 17, 2023 at 1:15 PM Gregory Casamento <greg.casamento@gmail.com> wrote:
Bruce,

On Sun, Dec 17, 2023 at 7:57 AM bruce <darkoverlordofdata@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 <darkoverlordofdata@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 <danieljboyd@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 <darkoverlordofdata@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.casamento@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 <darkoverlordofdata@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.casamento@gmail.com> wrote:
Hi Bruce,

On Sat, Dec 16, 2023 at 10:34 AM bruce <darkoverlordofdata@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 (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://heronsperch.blogspot.com
https://www.patreon.com/bePatron?u=352392 - Become a Patron


--

Bruce Davidson



--
Gregory Casamento
GNUstep Lead Developer / OLC, Principal Consultant
http://www.gnustep.org - http://heronsperch.blogspot.com
https://www.patreon.com/bePatron?u=352392 - Become a Patron


--

Bruce Davidson



--

Bruce Davidson



--

Bruce Davidson



--
Gregory Casamento
GNUstep Lead Developer / OLC, Principal Consultant
http://www.gnustep.org - http://heronsperch.blogspot.com
https://www.patreon.com/bePatron?u=352392 - Become a Patron


--

Bruce Davidson



--
Gregory Casamento
GNUstep Lead Developer / OLC, Principal Consultant
http://www.gnustep.org - http://heronsperch.blogspot.com
https://www.patreon.com/bePatron?u=352392 - Become a Patron


--

Bruce Davidson



--

Bruce Davidson


reply via email to

[Prev in Thread] Current Thread [Next in Thread]