discuss-gnustep
[Top][All Lists]
Advanced

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

Re: Consider GtkCore as UI


From: Albert Palacios
Subject: Re: Consider GtkCore as UI
Date: Tue, 19 Dec 2023 18:22:57 +0100

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 <darkoverlordofdata@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.mottola@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

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