Albert, Also, as an aside... I work for Eggplant/Keysight now and I helped Algorridim get their dJay software working on their platform. So, yes, those are 100% legitimate references.
GC On Tue, Dec 19, 2023 at 4:07 PM Gregory Casamento <greg.casame...@gmail.com> wrote: > Albert, > > On Tue, Dec 19, 2023 at 12:23 PM Albert Palacios <optimi...@gmail.com> > wrote: > >> Hi, >> >> I have tried to develop a 'modern' looking theme for GNUstep, but I >> always end up 'overwriting' base functions in ridiculous ways and finding >> obstacles that discourage me. >> > > This is our fault because our documentation has been woefully out of date > due to issues with autogsdoc (our tool for documentation generation). > Also, the documentation is kind of in an obscure place, so it's no wonder > you missed it. For future reference it is here... > > https://gnustep.github.io/developers/documentation.html > > That documentation is a bit old, but it is better than what you have now. > ;) Which is nothing at all. > > >> Especially because I think that when changes are made to the original >> code, the theme will fail. >> > > Overriding or category-smashing the code is the absolute worst way. We > have created a class called GSTheme to which all GUI objects delegate their > drawing functions. This class can be loaded at runtime so as to allow the > GUI to assume a different theme. Since it is done using a bundle and the > way it is done is by delegating to the GSTheme class it doesn't break the > existing code. > > >> The themes only work if they are pixel-based and do not change the >> spacing or positioning of the elements, meaning you have a 90s application >> with condensed elements and background textures, whereas now the trend is >> towards spaced elements, flat colors, rounded contours, and transparencies >> (yes, I know that for transparency you need a suitable compositor...). >> >> > Not true. The Windows theme and native GTK theme are both code-based > which use the native widgets of the OS. As are several other themes that > are available. They are not restricted to just pixel-based themes. > > Additionally, Mr. Cardoza, who wrote earlier in this list. Thought as you > do about the theming stuff and I helped him with understanding what could > be done by pointing him to the code. He contributed code to handle the > menu padding (PRECISELY THE ISSUE YOU POINTED OUT) to GSTheme about two > months ago. > > >> For example, I have never managed to add more 'padding' to the menus. The >> photo of Agora Desktop a bit further up is completely unrealistic with the >> current GNUStep code. The only way to change the menu items padding >> is overwriting the original functions: >> >> #import "GV+NSMenuItemCell.h" >> #import "GVTheme.h" >> >> @interface NSMenuItemCell (GVThemePrivate) >> - (NSSize)_sizeKeyEquivalentText:(NSString *)text; >> - (NSString *)_keyEquivalentString; >> @end >> >> @implementation NSMenuItemCell (GVTheme) >> >> - (void) calcSize >> { // … original code ... >> // Change width >> _titleWidth = _titleWidth + 50; >> >> // TODO How to change height ??? >> } >> >> @end >> >> > This is an example of what I mentioned earlier (category smashing). You > don't need to do this. You should be able to find what you need in the > GSTheme class. > > >> You can look at the code I've worked with here, although it's probably >> completely wrong due to lack of documentation. >> >> https://github.com/optimisme/GNUStep-Theme >> >> This is not an attack, I really would like to contribute, at least to >> modernize the appearance of GNUStep and/or improve the website (which is >> another huge disaster). >> > > Nor it is being taken as one. Just don't interpret frank responses as any > sort of an attack on you. None is meant. I agree that the website needs > some updating. > > But seeing your attitude, the main developers, who always vehemently >> defend your opinions, I think it's not really worth it. >> > > See.... this is the kind of thing I hate. Someone comes with a stupid > suggestion like > > 1) It's ugly > 2) Use GTK > 3) Abandon all of your work and just re-write it... > 4) You guys suck > > ... and when we give them sane feedback it is seen as "vehemently defend > your opinions" when all we are trying to do is give friendly feedback and > guidance to people who are not doing things properly. Again, that is our > fault, since we don't document things well. > > If you *actually* engage the community by reporting bugs or even by > submitting code you will find that we are a very welcoming and friendly > group. Don't take redirection as a rebuke of your opinions. WE WANT YOUR > FEEDBACK. What we don't want is feedback that is not useful (e.g. Consider > GTK as GUI) because it tells us NOTHING that is going wrong. > > Especially regarding aesthetics, it's enough to follow the history of this >> mailing list to see a constant pattern: >> >> • Someone opines that GNUStep is ugly. >> • Then a series of messages like: GNUStep is super customizable, look at >> these beautiful screenshots... >> > > Here is the thing... > * The default look is NOT GOING TO CHANGE... it is what it is. GSTheme > draws it when no other theme is available. > * GNUstep IS customizable, but it is not well documented... so the reason > you don't see a lot of themes is because as you demonstrated no one knows > how to write them. > * The reason you get the responses you do is because the people in the > project have a much different experience than you do because we know the > project better. This needs to change. > > A few things need to be done: > * The website needs to be improved. > * Documentation needs to be more readily available to users. > * GNUstep needs to make a desktop distribution. (this is something we are > working on) > > It would be less ridiculous if you stopped saying that GNUStep is >> beautiful and customizable, because it's not. If it were, there would be >> more updated themes and applications. Maybe even a desktop. >> > > It is customizable, as pointed out above.... and on that second thing... > well, you can blame ME personally for that last one I suppose. It was me > who years ago decided to make GNUstep an API ONLY and NOT as desktop. This > was so that we could focus on being as cross-platform as possible. > Arguably we have done that. GNUstep is used by many different projects and > companies (Keysight [ https://eggplant.io ], Algoriddim [ > https://algoriddim.com ], etc). > > We are only now circling back to the idea that we need to create a > reference distribution so that it will help people understand what GNUstep > is truly capable of. > > Look, in the end, the project is yours, and I suppose it has been >> profitable for you. Why argue, it's not worth it. >> > > No one is arguing with you. This is called a discussion which is an > exchange of ideas. A difference of opinion or correcting you where you are > wrong does not imply an argument. If you feel as though anything I have > said to you or anyone else has said to you or Bruce is wrong or > confrontational or argumentative I ask that you please point it out. I > will say the same thing to you that I said REPEATEDLY to Bruce: > > SUBMIT BUGS... IF YOU FIND SOMETHING WRONG... SUBMIT BUGS!!!! TELL US > WHAT WE ARE MESSING UP ON!!! People will be GLAD to engage with you if you > do this. Try it, you might learn something. :) > > Yours, GC > > >> Albert >> >> >> >> El 19 des. 2023, a les 16:46, bruce <darkoverlordofd...@gmail.com> va >> escriure: >> >> Riccardo, I can agree with everything you say. I’ve looked at pictures of >> gnustep running on mac and windows, and it looks sleek and modern, and >> native. >> >> My experience on unix like does not track with that. It looks >> brutalistic. Not native - it never fits in the desktop. What I hear from >> most people that have tried it is “the 90’s are calling, they want their >> desktop back”. I see a big disconnect between the way gnustep looks on >> mac/windows, and the way it looks on linux/freebsd. >> >> Yes, these are all aesthetic value judgements. But aesthetics matter - >> ask any mac user. I can see if you’re using a business app, ok. But for >> other users, it is often a non-starter. >> >> My experience has been: >> • Wow this is cool >> • Wow this has got a lot of gui glitches >> • Wow this looks old >> • Wow this is hard to use >> • Install something else >> >> But I like the language. I’ve been coding c for 40 years, and objc is >> awesome. I want to code the version with features like arc. Fortunately, >> the freebsd repo has that version. But the linux repos don’t. That >> complicates targeting any app. And I want people to use my app. But >> computer users see these gui issues, and say the app is buggy. I say it’s >> not my app, it’s the way it presents on your os. So they use another app. >> So much for platform agnostic. So much for marketability. >> >> >> >> On Tue, Dec 19, 2023 at 3:00 PM Riccardo Mottola < >> riccardo.mott...@libero.it> wrote: >> Hi, >> >> bruce 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. >> >> Building libobjc2 can be from easy, "just works" to a nightmare, >> depending on a platform. >> >> Best, of course, is if it comes ready for your OS. >> >> > 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. >> >> GCC almost always "just works" if the operating system provides it. If >> you don't need Obj-C2 features for your app, it is usually a very easy >> path and that's why I love it. Except FreeBSD, where you mention >> working. THhere the situation is complicated, because GCC provided has >> its obj-c runtime removed, supposing you to use libobjc2, which won't >> work. SO I abandoned that path, but compiled libobjc2 from sources. >> >> Riccardo >> >> >> -- >> >> 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 > https://www.openhub.net/languages/objective_c - OpenHub standings > > [image: Mailtrack] > <https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality11&> > Sender > notified by > Mailtrack > <https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality11&> > 12/19/23, > 03:38:45 PM > -- 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 https://www.openhub.net/languages/objective_c - OpenHub standings