discuss-gnustep
[Top][All Lists]
Advanced

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

Re: Our self-presentation, not just on our website. (Was: Re: GS based a


From: Gregory Casamento
Subject: Re: Our self-presentation, not just on our website. (Was: Re: GS based app release: djay by Algoriddim in Beta)
Date: Mon, 4 Sep 2023 13:32:30 -0400

Albert,

A couple of comments on your repo.   I like where you are going with this, but I need to say that you don't seem to be aware of this...


We have provided a class which represents a theme in GNUstep.  This is what allows you to override many aspects of the GNUstep GUI.  While the compositing I mentioned is not within the purview of GNUstep (we would need a compositor like wayland or compiz) there are many aspects that you can override or completely re-write.

In the gnustep windows theme here:


I hid and overrode the existing NSMenu structure to generate the data structures needed to show native Windows menus using the Windows API.

What I don't see in your code is any use of GSTheme at all.  You are largely doing category smashing or swizzling.  While this will work, it could lead to some other issues that are not immediately obvious.  This is likely our fault since, as you pointed out, our documentation needs help.

I would suggest taking a deeper look into the header I posted as well as the themes I posted so that you can see what can be done instead of making assumptions.

Yours, GC


On Mon, Sep 4, 2023 at 12:46 PM Gregory Casamento <greg.casamento@gmail.com> wrote:
Albert,

On Mon, Sep 4, 2023 at 10:20 AM Albert Palacios <optimisme@gmail.com> wrote:
Hi,

It's quite offensive that, to present a series of issues as a newcomer, you have to endure comments like:

“you can't fix the world... some people still think earth is flat.”

I apologize for that comment from a member of the community.

This is a very welcoming way to attract people to this project.

Fortunately, I don't care about such nonsensical remarks from people who haven't paid attention to what has already been discussed.

As I mentioned, I've already tried the Rik theme, and this is the output I get when trying to compile it:

Compiling file Rik+Table.m ... Rik+Table.m:12:3: error: redefinition of enumerator 'GSTabSelectedLeft' GSTabSelectedLeft, ^ /usr/GNUstep/Local/Library/Headers/GNUstepGUI/GSTheme.h:398:3: note: previous definition is here GSTabSelectedLeft, ^ Rik+Table.m:13:3: error: redefinition of enumerator 'GSTabSelectedRight' GSTabSelectedRight, ^ /usr/GNUstep/Local/Library/Headers/GNUstepGUI/GSTheme.h:399:3: note: previous definition is here GSTabSelectedRight, ^ Rik+Table.m:14:3: error: redefinition of enumerator 'GSTabSelectedToUnSelectedJunction' GSTabSelectedToUnSelectedJunction, ^ /usr/GNUstep/Local/Library/Headers/GNUstepGUI/GSTheme.h:400:3: note: previous definition is here GSTabSelectedToUnSelectedJunction, ^ Rik+Table.m:15:3: error: redefinition of enumerator 'GSTabSelectedFill' GSTabSelectedFill,


This is my fault.  I thought that I had pointed you to a copy that build properly... I was mistaken.  I am not sure where the repo that had the corrections has gone, but I have redone them here...  so this version does build:


I don’t think that ‘Rik’ theme closely resembles macOS in its looks, at least not for the past 15 years.

It was designed a few years ago.  I do think it is more "modern" than the default.

As I pointed out in the first comment of my initial email, I think it's impossible to add space to dialog menus by adding "padding" as shown in this screenshot.


We could override the NSMenu code to add space wherever is needed, I'm sure.   The NSMenu is rendered inside of a private window.  It wouldn't be hard to override this in a theme.

Screenshot 2023-09-04 at 16.03.17.png

Requirements are (for the pop up dialogs):

• Add padding between the boundaries of the popup menu and the list of items it contains.
• Add padding between the space of each item and the text it holds (or vertical space for separators).
• Apply rounded corners to both the menu and the selected items.
• Apply a 'frozenglass' effect to the menu.

Rounded corners and a "frozen glass" effect are not things that can be done directly by GNUstep.  These would require a compositor (such as compiz) with ANY window manager or environment.  So already there you are talking about non-linear windows which is not something any *framework* does on its own.

Here's a simplified version of the theme I've been working on (mainly for testing), to see if someone can help and manages to create a menu like the one in the previous screenshot.

https://github.com/optimisme/GNUStep-Theme

You still haven't answered my question from earlier about providing an example of what you consider a modern theme.

Speaking for myself I am a very busy person since I am working at a company that directly uses and contributes to GNUstep on a daily basis (Keysight - https://eggplant.io).  I will take a look at your "test" and give what advice I can.

Regards,

Albert

Yours, GC
On 4 Sep 2023, at 15:35, Riccardo Mottola <riccardo.mottola@libero.it> wrote:

Hi,


lars.sonchocky-helldorf@hamburg.de wrote:
We once had a wiki. we could revive it and collect all this information there as a start and then start to organize it (structure in into documentation, how tos and so on. write articles, link software repos and Linux packages).

How would that be? Should we try to get the wiki back online and start collection information there?


yes we should, we were working on that - we need to migrate its content. We need to complete that. The more I am scouring through the website to update it, the more I think that just removing wiki links removes important information.

In my opinion it was a invaluable source of content, especially suited to present also in-progress, draft work.

Many project are organized this way - a simple, main website and a wiki which is more user-cotnributed, dynamic. I always supported this.

Check MacPorts, GTK, XFCE... they are more ore or less split this way.

Riccardo



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


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

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