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. 

Especially because I think that when changes are made to the original code, the 
theme will fail. 

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...).

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

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).

But seeing your attitude, the main developers, who always vehemently defend 
your opinions, I think it's not really worth it. 

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...

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.

Look, in the end, the project is yours, and I suppose it has been profitable 
for you. Why argue, it's not worth it.

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
> 

Reply via email to