This is the mail archive of the cygwin-apps mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Start menu shortcuts


On 2013-07-29 08:22, Jon TURNEY wrote:
Since this has reared it's ugly head again [1], rather than perpetuate
X-start-menu-icons into x86_64, I'll suggest the following plan:

1) Obsolete X-start-menu-icons on x86 and replace it with a dummy empty package

+1

2) Recognize that most of the links created by X-start-menu-icons are
worthless and drop them.  I'd suggest that links for the following
applications are worthwhile, and should be installed by the application
package itself:

There already exists a menu system for X11 programs, namely the XDG Desktop Menu Spec, and these programs already provide the necessary entries (/usr/share/applications/*.desktop). Personally, when in multiwindow mode, I run fbpanel (from Ports) which gives me both an XDG menu and a system tray (notification area).

Links should be made using scripts something like the following:

postinstall.sh:

/usr/bin/mkdir -p "$(/usr/bin/cygpath $CYGWINFORALL -P)/Cygwin-X"
/usr/bin/mkshortcut $CYGWINFORALL -P -i /path/to/foo.exe-or-.ico -n
"Cygwin-X/AppName" -a "/usr/bin/bash.exe -l -c '/usr/bin/foo.exe -display
:0.0'" /usr/bin/run.exe

There are a few problems with this:

1) this assumes DISPLAY=:0.0, which may not always be the case.

2) many programs require --display= instead of -display, and others don't accept either.

3) most programs nowadays require a D-Bus session. Starting programs like this, however, will cause each to autostart their own session, unaware of (and unable to interact with) others.

Previously, we discussed (off-list?) having the XWin tray include an XDG menu. Not only would we have to write this from scratch (as implementations I have seen are (L)GPL, or depend on a library so licensed), that would not resolve #3, as a dbus-session is launched only after starting the X server.

What we may need to do instead is create a "multiwindow session", where startxwin launches not only the X server, but also the following:

* a D-Bus session bus
* a (specially configured) fbpanel instance
* non-desktop-specific, or XWin-specific, XDG autostart entries.

The fbpanel would be in one corner, just big enough for an X icon (the desktop menu button), and expand/contract as needed for system tray icons.

3) Look forward to a glorious future where cygport can generate those link
installation scripts automatically from *.desktop files :D

That may be possible: parsing .desktop files isn't that hard, but dealing with icons may be, but the aformentioned issues would need to be resolved first.


Yaakov


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]