An Open Letter to Ubuntu Developers

Roderick B. Greening roderick.greening at gmail.com
Thu Sep 16 14:29:09 UTC 2010


> On 16 September 2010 13:29, Jan Claeys <lists at janc.be> wrote:
> > Op maandag 06-09-2010 om 17:05 uur [tijdzone +0100], schreef Tony
> > 
> > Atkinson:
> >> 3) Link GUI & CLI operations using common syntax
> >> 
> >> I'm in two minds about including this,
> >> as this is not a usual use-case for the majority of people
> >> but I'd love for all GUI applications to be invokable via the CLI, using
> >> some standard syntax
> >> I've found that often times I'll use a GUI app to perform some set of
> >> operations, then I'm wanting to perform the same operations across
> >> multiple files, and currently I'm forced to find alternative apps of
> >> automating said operations
> >> 
> >> Eg. I've recently needed to perform the following operations on several
> >> hundred photos
> >> in order for them to blend in with a user-configurable webpage colour
> >> scheme
> >> (Making an image whose background gradually fades to transparent at the
> >> image boundaries)
> >> - Open image in the Gimp
> >> - add a transparent layer
> >> - Select all
> >> - Shrink selection by 5px
> >> - Feather selection by 5px
> >> - Invert selection
> >> - Clear selection (to transparent)
> >> - Save as a PNG
> >> 
> >> Surely it should be possible to automate such GUI operations using a CLI
> >> interface
> >> and if you've got experience with a specific desktop app, I think it
> >> would be hugely beneficial if you could keep using the same program both
> >> on the GUI and on the CLI
> >> 
> >>         for IMG_FILE in $IMG_FILES; do
> >>                 gimp-cli
> >>        
> >> --process="layer-add:transparent;select-all;select-shrink:5px;select-fe
> >> ather:5px;select-invert;select-clear;file-save:${IMG_FILE}.png"
> >> $IMG_FILE done
> > 
> > Your proposal must have been read and implemented by somebody with a
> > time machine, as The GIMP's batch mode has been around for years.  ;-)
> > 
> > 
> > I think doing that in a general way with all GUI applications would mean
> > that you would have to add support for a common scripting engine to all
> > applications, somewhat like AppleScript on Mac OS, or ActiveX scripting
> > in Windows.  Some applications might need major changes to make that
> > possible, and in some cases it would significantly bloat them or
> > (partially) duplicate existing scripting functionality (that can't be
> > removed for backwards compatibility or because it has more/other
> > features).
> 
> The Amiga had ARexx (Rexx itself came from IBM mainframes). Every
> "real" Amiga application exposed its functionality via its ARexx port
> which was basically just a way of delivering strings and get strings
> back in reply.
> 
> There is no need to build the scripting engine into every application.
> ARexx was just a scripting language with a built-in ability to
> communicate over ARexx ports. I wrote perl ARexx bindings so that I
> wouldn't have to learn yet another scripting language.
> 
> These days, using JSON or something like that instead of ad-hoc text
> commands would probably be best.
> 
> Being able to script across almost all of your (GUI) apps let people
> do great things with ARexx.
> 
> http://en.wikipedia.org/wiki/ARexx
> 
> 
> All that said, don't DCop for KDE and dbus for gnome provide the
> basics of this (when the app has bothered to implement them)?
> 

KDE 4.X series has native support for javascript, in addition to plasma 
scripting and dbus. 

> F
> 
> > The first thing to do if you want to see this happening would be to get
> > all desktop environments to agree on a common system for this (probably
> > through FreeDesktop.org).  Good luck with that...
> > 
> > 
> > --
> > Jan Claeys
> > 
> > 
> > --
> > Ubuntu-devel-discuss mailing list
> > Ubuntu-devel-discuss at lists.ubuntu.com
> > Modify settings or unsubscribe at:
> > https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel-discuss
_______________________________________
Roderick B. Greening, B.Sc.
Paradise, NL Canada
E-mail/MSN: roderick.greening at gmail.com 
LP: launchpad.net/~roderick-greening 
Wiki: wiki.ubuntu.com/rgreening 
Blog: roderick-greening.blogspot.com 
Twitter: twitter.com/rgreening
Identica: identi.ca/rgreening

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <https://lists.ubuntu.com/archives/ubuntu-devel-discuss/attachments/20100916/831bfd6a/attachment.sig>


More information about the Ubuntu-devel-discuss mailing list