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

Reply via email to