Yes, Fred, Greg, This is exactly what I need and was looking at doing just that. I did some no-op classes but I have very little experience with there system to do so immediately.
It doesn’t look like a lot of files but I might be wrong. There are a lot of subtle interactions that I have already bumped into. For example, right now, I’m still working through the call to +[NSProcessInfo initalizeWithArguments:count:environment:] (I think I have the name right but I didn’t look it up on my phone. Calling this didn’t solve my problem immediately. As for testing it’s pretty wonderful. I already have some tests running by enclosing them in a framework (Marcel WeiHer does this in MPWTest) The use case as a server backend is compelling too because you can save and interact with User preferences for Font, Color, Theme, etc on the backend just as you would on a frontend. On Tue, Nov 3, 2020, at 4:19 PM, Gregory Casamento wrote: > This is a really interesting notion. Would the no-op backend (I think we > need a better name) be able to print, or output postscript? Would it be > possible to use it for testing GUI in some way? > > GC > > > On Tue, Nov 3, 2020 at 12:06 PM Fred Kiefer <fredkie...@gmx.de> wrote: >> Your problem got me thinking. Would it help you if we offered a „no-op“ >> backend for GNUstep? That is a backend where both the window and the drawing >> system would be implemented as no-operations. >> >> We could try to get this done as a special GNUstep back configuration. Most >> likely we could cheat here by reusing the gsc classes as a real drawing >> backend, which of course would not draw but raise subclassResponsibility:. >> That means we only need code for the window/event part and a lot of >> configuration to switch all the extra libraries off. >> >> Cheers, >> Fred >> >> >> > Am 03.11.2020 um 16:02 schrieb Gustavo Tavares <muchol...@fastmail.com>: >> > >> > Thank you! This is great. >> > >> > I think I'm going to make some sort of subclass—NSCommandLineApplication. >> > >> > I did implement some of the backend classes in a -doNothingMethod { ; } >> > style: GSFontInfo / GSFontEnumerator. >> > >> > Previously I just tried running X11 and calling it a day—but that didn't >> > work. So goes the rabbit hole... >> > >> > Looks like it will be fun though. Just gotta love Objective-C :) >> > >> > Gustabo >> > >> > >> > On Mon, Nov 2, 2020, at 11:20 PM, Ivan Vučica wrote: >> >> Based on >> >> https://github.com/gnustep/libs-base/blob/3752016/Source/NSProcessInfo.m#L140-L154, >> >> this comes from >> >> https://github.com/gnustep/libs-base/blob/3752016/Source/NSProcessInfo.m#L919 >> >> or >> >> https://github.com/gnustep/libs-base/blob/3752016/Source/NSProcessInfo.m#L1021. >> >> >> >> If these were GUI apps, I’d recommend calling NSApplicationMain which >> >> takes argc and argv and sorts this out for you – in fact, that’s ideally >> >> exactly what you should do if you’re using any GUI methods. You’re >> >> saying you’re using certain GUI classes on the server; if you believe >> >> they will actually behave correctly in a server environment without >> >> gnustep-back (not a given; hypothetically, NSColor could heavily depend >> >> on Opal’s CGColorRef), you may be able to call NSProcessInfo >> >> +initializeWithArguments:..., too. >> >> >> >> Otherwise study >> >> https://github.com/gnustep/libs-gui/blob/0ccdb278d4cc8ad60f033892a5105e0532261838/Source/Functions.m#L63 >> >> carefully, but don’t be surprised if lack of x11 breaks GUI classes. You >> >> break it (into pieces), you get to pick up those pieces and glue them >> >> together :) >> >> >> >> (Yes, I noticed you said you went ahead and removed some >> >> backend-dependent code. This sounds like it’ll be a lot of fun…) >> >> >> >> Ivan Vučica >> >> >> >> From: Gustavo Tavares >> >> Sent: Tuesday 3 November 2020 02:13 >> >> To: GNUstep Discuss >> >> Subject: What function sets up the GNUstep environment? >> >> >> >> >> >> Hi! >> >> >> >> Was wondering what function sets up a GNUstep environemtnt? >> >> >> >> Getting this error: >> >> >> >> GNUSTEP Internal Error: >> >> The private GNUstep function to establish the argv and environment >> >> variables was not called. >> >> >> >> Mismatched library versions between GNUstep Foundation (base) and AppKit >> >> (gui) is most often the cause of this message. Please be sure you >> >> are using known compatible versions and not a mismatched set. Generally, >> >> we recommend you use versions of base and gui which were released >> >> together. >> >> >> >> For more detailed assistance, please report the error to >> >> bug-gnus...@gnu.org. >> >> >> >> --- >> >> >> >> For context—I built a seperate framework that extracts some "GUI" classes >> >> with the intention to use them semantically on a server. (Such as >> >> NSImage, NSColor, NSFont...) >> >> I already went through the business of overriding / deleting some of the >> >> backend functions so that the classes would be "initalized" and wouldn't >> >> need to be rendered to screen. >> >> >> >> Stuck here. >> >> >> >> Where should I look? >> >> >> >> >> >> Thank you, >> >> G >> >> > > > -- > 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://gf.me/u/x8m3sx - My GNUstep GoFundMe > https://teespring.com/stores/gnustep - Store