[PlanetCCRMA] Planet CCRMA menu

Andrea Glorioso andrea.glorioso@agnula.org
Fri Nov 7 13:24:01 2003

Hi all.

(I'm putting the users@  and developers@ lists  of  AGNULA in Cc:  - I
hope nobody minds, that's just a way to spread discussion)

>>>>> "at" == Aaron Trumm <aaron@nquit.com> writes:

    at> that'd be kind of neat - there's a problem though, I think, at
    at> least in my case - that's that most stuff I need to go ahead
    at> and run from the command line in a terminal - either because I
    at> have to su, or for whatever reason (usually that)

If you need to su, you can use gksu (or some other graphical front-end
like that) and change the invocation of the application in the menus
from <application> to <gksu application>.  That's what we are going to
do in AGNULA/DeMuDi, at least (and that's what is done in Debian and
Mandrake and - I'm sure - other distributions).

The same concept  could be applied to  applications which need command
line   arguments - provide  a   small gtk+/qt/tk/whatever based applet
which allows the user to select a set of options,  and then pass those
options to the actual binary. 

I  seem to remember  a little  program (written  in  Tcl/Tk or Gtk+, I
don't remember) which would actually  accept a list of arguments  with
the type (boolean/list/extended) and  the allowed range (a schema,  to
put  it shortly) and  then automatically create  a graphical selection
mask.  This is another thing on the TODO list for AGNULA/DeMuDi.

There is     another problem,  however,   i.e.    messages  which  the
applications write on stdout or stderr.  If you don't launch them from
an xterm, the messages will usually appear on the tty from which the X
server was launched (if at all available).

A solution to his problem I've been designing is the following:

(1) the menu entries redirect stdout and stdin  to a previously (startup
time) created FIFO;

(2) a small daemon reads from the FIFO, and uses the syslog() standard C
function to write the message to a log file;

(3) either the system (automatically)  or the user (manually) opens up
a window on the  desktop whose only  duty is  to display  the messages
being syslog()ed from the daemon in (2);

I still have to  devise an intelligent way  for the messages to have a
short, unique  string prepended  in  order to  distinguish amongst the
various applications.  I hope to  be able to  work on this from middle

And yes, I think a lot but don't have much time to do actual work. :)


Andrea Glorioso                        andrea.glorioso@agnula.org
AGNULA/DeMuDi Techie                       http://www.agnula.org/
"There's no free expression without control on the tools you use"