X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com Date: Mon, 29 May 2017 05:53:27 +0200 (CEST) X-X-Sender: igor2 AT igor2priv To: geda-user AT delorie DOT com X-Debug: to=geda-user AT delorie DOT com from="gedau AT igor2 DOT repo DOT hu" From: gedau AT igor2 DOT repo DOT hu Subject: [geda-user] [RFC] announcement: yet another GUI project manager: genxproj Message-ID: User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; format=flowed; charset=US-ASCII Reply-To: geda-user AT delorie DOT com Hi all, I'm proud do announce genxproj, yet another attempt to provide a GUI project manager _option_ to get our tools work together. ~1 minute desktop video showing the classic gschem -> pcb-rnd -> gerbv flow: https://archive.org/details/genxproj-prealpha genxproj is like xgsch2pcb, except: - it is not specific to gschem or pcb or geda, but is a generic solution that works with any set of applications; in the gsch2pcb-rnd flow: - it also supports gerbv, so the example flow gschem -> pcb-rnd -> gerbv - true single click annotation: you don't need to save the project in gschem first or click on reload in gerbv; just click the arrow button and it will do everything - it can embed the main window of the applicaitons so your schematics, board design and gerber look like if they were just different tabs of the same project (when the "radio" button is active: only one tab is shown) - alternatively it can present a side-by-side view of 0, 1, 2 or more applications; like in a file manager: schematics on the left, pcb on the right (when the "radio" button is inactive) The project is in pre-alpha state yet. Depending on user demand it could be finished this summer. I'm posting this to get some initial feedback. If it cathes on, we may set up other flows, like gschem -> simulation, eeschema -> pcb-rnd, gschem -> gattrib -> text editor -> bom, etc. **** Technical detail summary - Genxproj doesn't depend on dbus or in fact on any code modification, special feature or any sort of cooperation from the applications for the remote control. It can remote control any application it starts, whether the app wants it or not. This makes it possible to set up new workflows without first having to convince upstream programmers to add remote control features. More details: http://repo.hu/projects/genxproj/remctrl.html - similar to that, genxproj doesn't depend on any cooperation from the app on embedding its window; it can force-embed any X11 application, without the application even knowing about this. More details: http://repo.hu/projects/genxproj/xembed.html - the GUI is 100% workflow-specific; genxproj loads a flow config and doesn't have any widget or gui logics before that. This means different flows can have any kind of GUI and any kind of code for the gui logics, including how to present applications, what to embed and what to leave floating, how to remote control them or how the widgets should look like. More details: http://repo.hu/projects/genxproj/toolkit.html - because of the embed and remote control hacks, genxproj is pretty much X11-specific (this code won't ever run on windows or non-X based GUIs); embedding text applications (e.g. a text editor or a shell) is possible using a terminal emulator (e.g. xterm) **** Force docker, anyone? With this framework it would be possible to implement a force-docker: it would collect the popup windows of an application and force them into a grid of horizontal/vertical boxes, without the application knowing anything about this. For users who prefer docking over floating popups, this means converting old gschem versions, pcb, gerbv or any other application into a docking app, without having to switch to gtk3, without having to wait for upstream programmers to change the GUI code. However, it wouldn't be able to "un-modal" the modal popups. Is there any demand on such a force-docker? Regards, Igor2