Home Forums Wiki Doc Install Extras Screenshots Source Code Projects Blog Users Groups Register
Glx-Dock / Cairo-Dock List of forums Ideas | Propositions Applet Downloader
The latest stable release is the *3.4.0* : How to install it here.
Note: We just switched from BZR to Git on Github! (only to host the code and your future pull requests)
Ideas | Propositions

Subjects Author Language Messages Last message
[Locked] Applet Downloader
SQP English 6 fabounet [Read]
20 November 2012 à 17:51

SQP, Saturday 03 November 2012 à 20:12


Subscription date : 03 July 2010
Messages : 1081
There's an applet downloader in preparation. I currently have the display part set almost as I'd like, so I wanted to show you before I push too far and start connect events and really play with the behaviour and the real actions.

It will available in two ways: a command line interface and a GUI, so I'll be sure the operational part isn't too tied to the display.

Feel free to comment and give advices

The Gui:
http://uppix.net/b/c/9/f6e8d15b6bac4567227685bf88e46.png

This is the default result of the list option for the CLI:
http://uppix.net/6/f/e/58cabaa8a1fc90aba8649bd20c7ba.png

It also has some nice options:
usage: list [-d] [-l] [-f format] [-json]

List lists Cairo-Dock external applets with installed state.

The -d flag will only match packages found on the applet market.

The -l flag will only match packages found locally.

The -f flag specifies an specific format for the list,
using the syntax of package template. You can use it to
format the result the way you want. For example, to have just
the applet name: -f '{{.DisplayedName}}'. Everything is
possible like '{{.DisplayedName}} by {{.Author}}'. The struct
being passed to the template is:

type AppletPackage struct {
    DisplayedName string // name of the package
    Type PackageType // type of package : installed, user, distant...
    Path string // complete path of the package.
    LastModifDate int // date of latest changes in the package.

    // On server only.
    CreationDate int // date of creation of the package.
    Size float64 // size in Mo
    // Rating int

    Author string // author(s)
    Description string
    Category int

    Version string
    ActAsLauncher bool
}

The -json flag causes the package data to be printed in JSON format
instead of using the template format.


here's an example of the command to get server packages with modif date:
cdc list -d -f "{{.LastModifDate}} {{.DisplayedName}}"

20120731 GnoMenu
20120731 Calendar
20120731 Cardapio
20120731 Deluge
20120731 DiskFree
20120731 Gmail
[...]
20120731 WebSearch
20120731 WindowsKiller
20120731 Xchat
20120731 YoutubeDl


or the -json :
{
    "DisplayedName": "WebSearch",
    "Type": 2,
    "Path": "http://download.tuxfamily.org/glxdock/themes/third-party/3.1.0WebSearch",
    "CreationDate": 20100101,
    "LastModifDate": "20120731",
    "Size": 0.26,
    "Author": "Eduardo Mucelli",
    "Description": "",
    "Category": 3,
    "Version": "",
    "ActAsLauncher": false
}


Dev questions:
What I'm not really sure of, is if the operational part of the GUI will use the cli, or directly the package API. Using the cli way would ensure the cli is really tested and work. There's so little need of interaction with the packaging system it should be enough.

Will it be possible to have access to icons and description for server files ?

Info:
CLI is based on the go command source to have a good base of "multi command" program, and it provided nice formating outputs I kept, and added mine (the colored table one used as default)
The GUI is done using GObject GTK3 port.

matttbe, Saturday 03 November 2012 à 23:58


Subscription date : 24 January 2009
Messages : 12573
Hello,

A gui to manage Third Party applets? Great! It was a very old feature request, thanks

I'm not sure that the CLI is really needed but why not (maybe to communicate between two apps? I think it's not very interesting to use the CLI to communicate with the GUI just to be sure that the CLI works well)

Will it be possible to have access to icons and description for server files ?
Sure, it should be easy to create README files and add 'preview' files just like the themes on the server

taiebot65, Sunday 04 November 2012 à 00:15


Subscription date : 26 October 2008
Messages : 1904
Great addition.

Just a question.
Have you found a way to help people install missing dependencies etc?

SQP, Sunday 04 November 2012 à 00:15


Subscription date : 03 July 2010
Messages : 1081
A gui to manage Third Party applets? Great! It was a very old feature request, thanks

actually, I already did it in C, but that would just have added one more brick to that big clumsy GUI part, so I prefer have it as a first brick of my new GUI
But since the dream of a better GUI is still far, a download app would have to live a an external for now. This isn't a problem for something you launch only once in a while, and close less than 1 min later.

I was thinking about the CLI interface, for different reasons:
  • easy to use.
  • easy to get access to your real data and debug it.
  • with a nicely built cli (see the options I already have), it can be as easy for the GUI to launch a "cdc install Pidgin" or "cdc reload GTG" than having to use a real API, and it ensure the same options can be provided to other tools that would need them (scripts, other GUI ?, ...).

fabounet, Saturday 10 November 2012 à 23:12


Subscription date : 30 November 2007
Messages : 17118
actually, I already did it in C, but that would just have added one more brick to that big clumsy GUI part, so I prefer have it as a first brick of my new GUI

that's questionable (we worked hard to have a single configuration window), however it's a nice addition
especialy if it can handle the installation for the case the applet requires something (which we can't do with the web page).


It will available in two ways: a command line interface and a GUI, so I'll be sure the operational part isn't too tied to the display.

sounds good

SQP, Thursday 15 November 2012 à 14:21


Subscription date : 03 July 2010
Messages : 1081
Sure, it should be easy to create README files and add 'preview' files just like the themes on the server

I'd prefer something simpler, and not having to pull 3 lines README 1 by 1.
I can add an option to generate the server file if you want.

fabounet :
that's questionable (we worked hard to have a single configuration window))

I think I worked hard too to try to remove many minor problems in GUIs, fix box alignments, rework some widgets, having others try to use full space... And I just had many regressions in advanced mode due to that GUI packing, like broken access to icons gui. Even the list of things to fix again was too painfull to make.

I'm just done trying to improve this GUI and having problems with my patchs not reviewed, with parts lost during merge, or broken at next commit. And spending way too much time to explain problems and changes needed in every possible way, to get 2 or 3 lines answers. You don't want it to evolve too much, no problem. I'll try to build a new one from scratch with everything I learned from how the current one is build, and its weaknesses.

One that is not tied to the core. One that won't have half of his code dedicated to fix problems created by the language it's built with. One that is fully object based. One where each object will just have a small dedicated job to do, and could include other objects with small dedicated jobs too. And where widgets could be reused... extended... with a few clean options...

And I don't care if it won't get tested, reviewed or integrated. I prefer try it that way than continuing to work on the current one. The download box could be the first part of a new clean GUI, wether you like it or not.

fabounet, Tuesday 20 November 2012 à 17:51


Subscription date : 30 November 2007
Messages : 17118
not having to pull 3 lines README 1 by 1.

but it allows you to load info progressively (and only for the selected applet).

The download box could be the first part of a new clean GUI, wether you like it or not.

hey I'm ok for it actually, I've integrated some methods in the Dbus API because I thought it would allow an external program to act as a GUI.
Like CCSM which is not tied to Compiz.

Anyway, the core GUI is only here so that applets don't have to care about building their config window. I personnaly think the result is not so bad

Ideas | Propositions

Subjects Author Language Messages Last message
[Locked] Applet Downloader
SQP English 6 fabounet [Read]
20 November 2012 à 17:51


Glx-Dock / Cairo-Dock List of forums Ideas | Propositions Applet Downloader Top

Online users :

Powered by ElementSpeak © 2007 Adrien Pilleboue, 2009-2013 Matthieu Baerts.
Dock based on CSS Dock Menu (Ndesign) with jQuery. Icons by zgegball
Cairo-Dock is a free software under GNU-GPL3 licence. First stable version created by Fabounet.
Many thanks to TuxFamily for the web Hosting and Mav for the domain name.