Albert, An additional theme for your consideration...
https://github.com/gnustep/plugins-themes-sombre Here is the rik theme... https://github.com/AlessandroSangiuliano/rik.theme Both are building and usable using the existing release of GNUstep. Again, I would very much like to see what you consider to be modern as it would provide us with a better idea of what to aim for. Also, I see why you thought I was feeling attacked. I said "You would be wrong" in response to one of your statements, which I suppose could be taken like that. I didn't mean it to imply that you were attacking me. You made a direct statement about the feasibility of using the existing theming framework to achieve a modern look. I made an equally direct statement in response. The purpose of my response was this... GNUstep has code-based themes... in these, since they are using code to override how things are drawn, a wide variety of variations IS possible. Thanks, GC On Sun, Sep 3, 2023 at 6:06 PM lars.sonchocky-helld...@hamburg.de < lars.sonchocky-helld...@hamburg.de> wrote: > May I try to moderate here a bit. > > Greg, while your screenshots and links reflect the reality, it has to be > said that those aren’t obvious and somewhat hard to find. I think we should > admit that we are currently not good at communicating those achievements. I > knew such a macOS like theme existed somewhere but wouldn’t know its name > nor where to find it. I, for instance, was under the impression that the > macOS like theme was something done by the etoile- (don’t ask me even about > the correct spelling here, which accents to use where) project. All this > information readily exists there is just no place where all this is > gathered. > > 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? > > > Kind regards, > > Lars > > Am 03.09.2023 um 22:08 schrieb Albert Palacios <optimi...@gmail.com>: > > I already said that I didn't want to create controversy, I'm sorry if my > last email made you feel attacked. It wasn't the intention. > > I'm not sure what the theme of the first image is, but both images speak > for themselves; neither of them represents what I understand as 'a modern > theme’. > > If I'm not mistaken, the second image is related to the 'rik' theme. I've > looked at some parts of this code, to develop the one I am working with. > Mostly to build the base of the project and understand the naming > conventions. > > Anyway, I think that the GitHub code of rik theme simply isn't > functioning. But I may be wrong, last time I tried was a long time ago. > > > > El 3 set. 2023, a les 21:44, Gregory Casamento <greg.casame...@gmail.com> > va escriure: > > > I will address the portion in which you mention me... > > On Sun, Sep 3, 2023 at 1:54 PM Albert Palacios <optimi...@gmail.com> > wrote: > >> Well, thank you for the answers and the attention you are giving to my >> email. >> >> > <BIG BIG SNIP!!> > > >> *Gregory*: I'm very surprised by your statement: >> >> "Myself and others are absolutely FOR creating new visual themes. I don't >> know why the very common misconception persists that we aren't. The issue >> is that many people don't look past the default theme which is what I >> believe you're referring to. Changing the default is a bit difficult from a >> code perspective.” >> >> Well, the years go by, and there are no visual changes, tools or themes >> that update the appearance of the GNUStep applications. Perhaps that's why >> there's an impression that you have no interest in creating new themes. >> >> > GNUstep has had theming capabilities for many years now... from a windows > theme which uses native widgets... > > <WindowsTheme.jpeg> > > > To a theme that approximates macOS... > > <MacLikeTheme.jpeg> > > > Thematic has been announced and been available for quite a while now. > What the issue I think is that we are simply bad at putting the word out. > > There's absolutely no documentation online about how to create a >> modern-looking theme, are you saying it's possible? >> > > There is some documentation on this, but you're correct in that it is not > easy to find. > > >> I managed to start a new theme based on old code, lately also with help >> from ChatGPT (Daniel got it right), and a lot of patience. But as I said, >> the list of problems is long and I've given up. Right now, I believe >> updating the look of GNUStep by simply developing a new theme isn't >> feasible. >> > > You would be wrong. > > If I'm wrong, and you've done it several times for private projects, I'd >> appreciate it if you could post a project or tutorial online for reference. >> > > I think you have an excellent point. I have been doing a series on my > youtube channel about GNUstep and will be trying to post something each day > showing off different features. > > Here... https://www.youtube.com/channel/UCyhtDLE7yvg_rdaa-rD9H6A > > > I'm not sure if the GNUStep project is popular among businesses, looking >> to migrate their apps to other systems, but I'm convinced it could be more >> popular. Especially if updating its aesthetics was easier. >> > > I gave examples in my previous email about companies using GNUstep in > production. What I am working on is to make it more popular. In my > previous email I failed to mention algoriddim. They are using GNUstep on > windows under MSVC to build their app mentioned at the beginning of this > thread. > > >> Thank you for your attention, regards. >> >> Albert >> >> >> El 3 set. 2023, a les 18:11, Gregory Casamento <greg.casame...@gmail.com> >> va escriure: >> >> Hey Albert, >> >> On Sun, Sep 3, 2023 at 5:30 AM Albert Palacios <optimi...@gmail.com> >> wrote: >> >>> Hello, >>> >>> I don't want to upset anyone or start a war. I have been following the >>> 'GNUStep' project with admiration for years and have held back from sending >>> these comments so as not to disturb anyone. I truly offer them with a >>> constructive spirit to help improve things. >>> >> >> Constructive criticism is always welcomed. >> >> I know that some of the main GNUStep developers are against offering an >>> updated visual theme, and in various interviews, they argue that this is >>> the community's responsibility, implying that it's easy to do. >>> >> >> Myself and others are absolutely FOR creating new visual themes. I don't >> know why the very common misconception persists that we aren't. The issue >> is that many people don't look past the *default* theme which is what I >> believe you're referring to. Changing the default is a bit difficult from >> a code perspective. >> >> >>> But I've tried several times and encountered significant obstacles, >>> which discouraged me from trying again. I may not remember everything, but >>> basically: >>> >>> • Themes don't offer an easy way to modify 'margins' and 'paddings'. >>> The clearest example is menus; they're terribly condensed, and it's not >>> possible (or simple) to space them out. Likewise, you can't modify the >>> rounding of edges, change the 'mouseover' selection method, or adjust >>> transparency. >>> >> >> You're correct, they don't do this unless they are code based themes. >> There are two basic types of themes: one is code based where we have a >> class compiled into the bundle that does custom rendering. The other is >> configuration based where it simply replaces images and makes certain >> settings. It would be a great enhancment to add more flexibility to >> configuration based themes. >> >> >>> • There are library incompatibilities between OSX and GNUStep. Due >>> to a lack of documentation, you can waste hours discovering that >>> ‘NSBezelStyleRounded’ corresponds to ‘NSRoundedBezelStyle’ or that >>> ‘NSButtonTypeMomentaryPushIn’ has an equivalent in ‘NSMomentaryPushButton’. >>> >> >> We do try to minimize the differences between the two since the aim of >> GNUstep is to be compatible with Cocoa and provide some extensions when >> possible. But, you're correct... we do have a lack of documentation. We >> have a way of generating the documentation, but we have not posted it >> recently. It would be a good thing to do that with every release. >> >> >>> • GNUStep simply doesn't have a good animation system. In OSX, you >>> can invoke NSAnimationContext and get a smooth transition with minimal >>> effort. In GNUStep, I've tried animations, and the best I've achieved is >>> with NSTimer. Still, they're so crude that I'm embarrassed to publish any >>> application in those conditions. Maybe the problem is the same as before, >>> and I haven't been able to find valid documentation and examples. >>> >> >> GNUstep currently has a placeholder implementation of NSAnimationContext, >> so this is definitely an area we should start working on. >> >> • Trying to style most components can become a nightmare, even when >>> you give up and decide to reimplement the “drawRect” method. Some >>> components are simply different between OSX and GNUStep. For example, >>> NSProgressIndicator displays squares and text titles unrelated to what >>> you've previously programmed. Also, animations are not smooth and stop when >>> interacting with the interface. Pressing a button in the same window with >>> an indeterminate progress bar makes the animation pause. It's frustrating. >>> >>> • Not to mention trying to create components that blend the title >>> bar and toolbar like modern OSX applications. With GNUStep, it's simply >>> impossible. >>> >> >> GNUstep can manage it's own decorations, but, unless it is doing that the >> decorations (including the title bar) are managed by the window server >> (whether that's X, Wayland, or Windows) this makes it impossible to draw >> into them unless you have the setting which allows GNUstep to draw it's own >> window decorations turned on. >> >> >>> Beyond the inability to develop a modern-looking theme, other issues >>> urgently need addressing: >>> >>> • Having a GNUStep configuration folder in the 'home' directory is >>> unacceptable to anyone mildly organized (or with obsessive-compulsive >>> disorder). Can't you put a '.' before the name to make it hidden? >>> >> >> This is a good point. I believe that it was initially done this way >> because of integration with the WindowMaker window manager which does also >> create a GNUstep folder in the user directory. It might be worth >> re-examining whether or not this is still needed, but it hasn't really been >> a priority given all of the other work there is to do on the project. As >> RFM pointed out, in another email, this is configurable. >> >> >>> • Changing the system font or font size causes applications >>> (especially buttons) to be inexplicably cut off. In 2023, for accessibility >>> reasons, this is a 'must’. >>> >> >> This might be better handled now that we have a working implementation of >> the constraints (i.e. view resizing and spacing) classes. >> >> >>> • The icons, this type of icons were not visually attractive even in >>> the 90s. In fact, I think it was the first thing fixed for OSX Cheetah. >>> >> >> Again, these can be themed, but this really hasn't been a huge priority. >> >> I genuinely don't want to upset anyone. I see the tremendous effort >>> dedicated to GNUStep, which is why it angers me that more people aren't >>> interested in using it. But I understand why. >>> >> >> We should probably emphasize the people and companies that do use us... >> here are a few examples: >> >> * Eggplant - https://eggplant.io -- This is a company known as Keysight, >> I work for them. They started as Redstone and make a product known as >> Eggplant, I helped them port it to Windows. Windows is their PRIMARY >> platform that they deploy on. They use GNUstep to do all of this. Some of >> their clients are listed on their website. >> * Apportable - They are defunct now, but their assets are used by >> PocketGems. If you have ever seen an applications that has been ported >> from iOS to android it was likely done with their framework which is based >> on GNUstep and contains their own UIKit classes for porting apps to other >> mobile platforms. I worked with them briefly because they consulted me >> about the framework. >> * ImmortalData - https://immortaldata.com -- This company is an offshoot >> of XCor (a space company that is now defunct) and is used to track data on >> aircraft and spacecraft. It uses GNUstep at it's core to record and track >> and graph the data. They also consulted with me. >> * EngageHUB - They use GNUstep every day in production and it is run by >> two of our members. >> >> Additionally... many of the sites you see that have "coding" challenges >> that use Objective-C are using GNUstep to do it. I know this because I >> have tested for GS specific things on them. :). So, we are a bit more >> widespread tha you think. The above is just a list of some of the most >> prominent companies involved. Also important are the users and developers >> in the community that love the project. I would very much like to grow >> that number so you're feedback is very much valued. >> >> >>> I'm fortunate to work with teenagers interested in computing and >>> programming. I can assure you, when they hear about GNUStep and see the >>> aesthetics of the applications, they don't see any practical use. Let's be >>> honest, if aesthetics weren't important, Apple wouldn't have spent a dollar >>> updating them since the 90s. Yet they've consistently improved and updated, >>> and their current theme isn't much different from 'Aqua', but it looks >>> modern, clear, and clean (take a look at: >>> https://mackuba.eu/2014/10/06/a-guide-to-nsbutton-styles/). >>> >> >> I do agree that athetics are extremely important for any API or toolkit >> and that we do take it very seriously. A considerable amount of time has >> been spent in GNUstep on making it themable. To the point where we can >> make it blend in with OSX, Windows, or GTK based desktops. There is still >> a long walk left, however as we still have some shortcomings. >> >> >>> There's significant interest in these libraries, and GNUStep is well >>> ahead of other projects: >>> >>> • The DarlingHQ project aims to adapt aesthetics to the 'host' >>> system. They're years away from achieving this. Right now, they're more >>> focused on low-level compatibility (and even across processor >>> architectures) than improving graphic applications. This approach, adapting >>> aesthetics to the 'host', will fail because OSX applications are designed >>> only for OSX's visual components. >>> >> >> I don't think that's fair to say. Darling's main purpose is to allow you >> to run Mach-O executables on other platforms. Unfortunately, the project >> developer has chosen to use another framework to facilitate compatibility. >> Said framework stopped development in 2008. >> >> • The RavynOS project may never be more than a 'diversion'. But >>> they've attracted many people's attention with a single slogan: “Finesse of >>> macOS. Freedom of FreeBSD”. They only have a visually appealing website and >>> a lively Discord community, without even a decent demo. It's the exact >>> opposite of GNUStep, yet they generate more interest. >>> >> >> RavynOS is trying to reimplement the ENTIRE macOS ecosystem which is NOT >> the aim of the GNUstep project. >> >> • ElementaryOS started with a 'crazy' premise: Using a dead language >>> (Vala) and constantly evolving libraries (Granite), you could develop >>> applications with a contemporary aesthetic easily. They've always had >>> excellent documentation and copy/paste-ready examples. This 'crazy' premise >>> has grown into a strong developer and user community, primarily due to >>> impeccable aesthetics for application components, icons, and user >>> experience. >>> >> >> There are tons of examples of operating systems that try to imitate the >> aesthetic of the mac, but never quite achieve the elegance that exists >> within it. Unfortunately, most people don't look beyond that. >> >> From the points above, some keys to attracting more users emerge: >>> >>> • Improve aesthetics >>> • Enhance documentation >>> • Provide small, 'ready to go' code examples that can be copied and >>> pasted to start developing applications (or themes) >>> • Enhance the libraries themselves, such as animations and >>> nomenclatures >>> • Improve development tools; a plugin for VisualStudioCode would be >>> fantastic >>> >> >> All of these are excellent ideas. >> >> >>> I repeat, I don't want to start a war or offend anyone. On the contrary, >>> I recognize that GNUStep is an extraordinary project. But if there isn't a >>> change in direction soon, it will remain a mere "curiosity" in computer >>> history. >>> >> >> No, I don't think you're trying to start a war. Part of being part of >> any project is listening and taking to heart the suggestions and opinions >> of those who use it. If you care enough to write this email, then you, >> obviously have a passion for the project and that should never be ignored. >> Please feel free to share your opinions and speak your mind. A healthy >> project is one were dissenting or critical voices are always welcomed. >> >> Kind regards, >>> >>> Albert >>> >> >> I appreciate your feedback. If you are capable of helping us to address >> some of the things you have mentioned, please feel free to do so. I have >> worked hard to minimize the barriers to entry on this project. Your >> suggestions and, indeed, any contributions you might wish to make are >> encouraged and welcome. >> >> Yours, GC >> >> >>> > On 3 Sep 2023, at 04:22, Svetlana Tkachenko <svetl...@members.fsf.org> >>> wrote: >>> > >>> > Ubuntu have another model, they have several official flavors each >>> showcasing another aspect of the platform. Perhaps this could be useful to >>> show different configurations of GNUstep/WindowMaker rather than having >>> only one as a reference. >>> > >>> >>> >> >> -- >> 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 >> >> >> > > -- > 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 > > > -- 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