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 >