<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Menu reference</title><link>https://sourceforge.net/p/be-shell/wiki/Menu%2520reference/</link><description>Recent changes to Menu reference</description><atom:link href="https://sourceforge.net/p/be-shell/wiki/Menu%20reference/feed" rel="self"/><language>en</language><lastBuildDate>Sat, 20 Apr 2013 18:48:04 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/be-shell/wiki/Menu%20reference/feed" rel="self" type="application/rss+xml"/><item><title>Menu reference modified by Thomas Luebking</title><link>https://sourceforge.net/p/be-shell/wiki/Menu%2520reference/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v5
+++ v6
@@ -5,7 +5,7 @@

     
         &lt;menu&gt;
-            [&lt;menu&gt;]
+            [&lt;menu&gt;]
             []
             []
         &lt;/menu&gt;
@@ -18,15 +18,17 @@

 It's attributes can be either
 * **menu**
-&lt;br /&gt;A reference to another xml file, following this very same structure (i.e. "inherit" another file)
-The path is relative to ~/.kde/share/apps/be.shell/ and an ".xml" suffix is applied automatically, eg. "subpath/submenu" turns to "~/.kde/share/apps/be.shell/subpath/submenu.xml"
+A reference to another xml file, following this very same structure (i.e. "inherit" another file)&lt;br /&gt;The path is relative to ~/.kde/share/apps/be.shell/ and an ".xml" suffix is applied automatically, eg. "subpath/submenu" turns to "~/.kde/share/apps/be.shell/subpath/submenu.xml"&lt;br /&gt;
 * **label**
 A label for the popup entry, defined in the following subnodes
 * **windowlist**
-Adds a window list, generated by BE::Shell
+Adds a window list, generated by BE::Shell&lt;br /&gt;
 * **BE::Config**
 Adds the BE::Shell config menu (the one you get by rightclicking on the Desktop)
-
+* **preExec** ("menu=subpath/submenu" only!)
+An executable to be run before the menu pops up (usually a script writing the menu definition) **Needs to be an absolute path**, no bash aliases either&lt;br /&gt;
+* **preExecTimeout** (defaults to "250", "menu=subpath/submenu" only!)
+The maximum amount of time in ms to allow the preExec command to block the GUI before it's cancelled.&lt;br /&gt;

 The actual popup menu entries can be subnodes
 * *\&lt;menu&gt;*
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Thomas Luebking</dc:creator><pubDate>Sat, 20 Apr 2013 18:48:04 -0000</pubDate><guid>https://sourceforge.net32ecad6b921aa22852f0daa73fffa3e213121a41</guid></item><item><title>WikiPage Menu reference modified by Thomas Luebking</title><link>https://sourceforge.net/p/be-shell/wiki/Menu%2520reference/</link><description>&lt;pre&gt;--- v4
+++ v5
@@ -30,11 +30,12 @@
 
 The actual popup menu entries can be subnodes
 * *\&lt;menu\&gt;*
-&lt;br/&gt;Yet another submenu
+Yet another submenu
+
 * *\&lt;action\&gt;*
-&lt;br/&gt;An active item, that actually triggers sth., can also be put directly into the &lt;menubar&gt; node, though this is rather uncommon.
+An active item, that actually triggers sth., can also be put directly into the \&lt;menubar\&gt; node, though this is rather uncommon.
 
-It's attributes can be either
+    It's attributes can be either
     * **label**
     &lt;br/&gt;A label for the entry, overriding that in any given service
     * **icon**
@@ -43,7 +44,7 @@
     &lt;br/&gt; A dbus call, separate by semicolons.
     \&lt;bus\&gt;;\&lt;service\&gt;;\&lt;path\&gt;;\&lt;interface\&gt;;\&lt;method\&gt;\[;\&lt;parameter_1\&gt;\[;\&lt;parameter_2\&gt;\[;...\]\]\]
     * **exec**
-    &lt;br/&gt;either a service name or an executable, or a path, or ... basically anything you can type into krunner or konqueror, ie. "gg:KDE" will google for KDE!
+    either a service name or an executable, or a path, or ... basically anything you can type into krunner or konqueror, ie. "gg:KDE" will google for KDE!
     If this is a service, it's label and icon can be overridden by the related attributes
 
 * **\&lt;separator\&gt;**
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Thomas Luebking</dc:creator><pubDate>Tue, 03 Jul 2012 18:11:54 -0000</pubDate><guid>https://sourceforge.neta458aa46dfeb8a5220fab05fbdd4c4d4324daa2d</guid></item><item><title>WikiPage Menu reference modified by Thomas Luebking</title><link>https://sourceforge.net/p/be-shell/wiki/Menu%2520reference/</link><description>&lt;pre&gt;--- v3
+++ v4
@@ -13,8 +13,8 @@
 
 It's nearly the same code as in XBar (which was ported from BE::Shell)
 
-The first node is always "&lt;menubar&gt;"
-To add a menu entry, add a "&lt;menu&gt;" node, this will add a popup menu.
+The first node is always "\&lt;menubar\&gt;"
+To add a menu entry, add a "\&lt;menu\&gt;" node, this will add a popup menu.
 
 It's attributes can be either
 * **menu**
@@ -29,9 +29,9 @@
 
 
 The actual popup menu entries can be subnodes
-* *&lt;menu&gt;*
+* *\&lt;menu\&gt;*
 &lt;br/&gt;Yet another submenu
-* *&lt;action&gt;*
+* *\&lt;action\&gt;*
 &lt;br/&gt;An active item, that actually triggers sth., can also be put directly into the &lt;menubar&gt; node, though this is rather uncommon.
 
 It's attributes can be either
@@ -41,13 +41,13 @@
     &lt;br&gt; An icon for the entry, overriding that in any given service
     * **dbus**
     &lt;br/&gt; A dbus call, separate by semicolons.
-    &lt;bus&gt;;&lt;service&gt;;&lt;path&gt;;&lt;interface&gt;;&lt;method&gt;[;&lt;parameter_1&gt;[;&lt;parameter_2&gt;[;...]]]
+    \&lt;bus\&gt;;\&lt;service\&gt;;\&lt;path\&gt;;\&lt;interface\&gt;;\&lt;method\&gt;\[;\&lt;parameter_1\&gt;\[;\&lt;parameter_2\&gt;\[;...\]\]\]
     * **exec**
     &lt;br/&gt;either a service name or an executable, or a path, or ... basically anything you can type into krunner or konqueror, ie. "gg:KDE" will google for KDE!
     If this is a service, it's label and icon can be overridden by the related attributes
 
-* **&lt;separator&gt;**
-&lt;br/&gt;Yeah... guess what.
+* **\&lt;separator\&gt;**
+&lt;br/&gt;Yeah... guess what that might be.
 
 **Example**
 
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Thomas Luebking</dc:creator><pubDate>Tue, 03 Jul 2012 18:09:38 -0000</pubDate><guid>https://sourceforge.net766a7d602f29c2f68b4f2fbb934ad1c41a06f2e3</guid></item><item><title>WikiPage Menu reference modified by Thomas Luebking</title><link>https://sourceforge.net/p/be-shell/wiki/Menu%2520reference/</link><description>&lt;pre&gt;--- v2
+++ v3
@@ -2,7 +2,7 @@
 
 The global menu supports a customizable menu, found in ~/.kde/share/apps/be.shell/MainMenu.xml.
 The structure is:
-&lt;xml&gt;
+
     &lt;menubar&gt;
         &lt;menu [label|menu]="???"&gt;
             [&lt;menu [label|menu]="???"/&gt;]
@@ -10,7 +10,7 @@
             [&lt;separator/&gt;]
         &lt;/menu&gt;
     &lt;/menubar&gt;
-&lt;/xml&gt;
+
 It's nearly the same code as in XBar (which was ported from BE::Shell)
 
 The first node is always "&lt;menubar&gt;"
@@ -50,8 +50,8 @@
 &lt;br/&gt;Yeah... guess what.
 
 **Example**
-&lt;xml&gt;
-&lt;menubar&gt;
+
+    &lt;menubar&gt;
     &lt;menu menu="MainMenu/kate"/&gt;
     &lt;menu label="Desktop"&gt;
         &lt;action label="XTerm" exec="xterm"/&gt;
@@ -61,5 +61,4 @@
         &lt;action label="Quit Conky" exec="killall conky"/&gt;
     &lt;/menu&gt;
     &lt;action label="Edit Menu" exec="kwrite $HOME/.kde/share/apps/be.shell/MainMenu.xml"/&gt;
-&lt;/menubar&gt;
-&lt;/xml&gt;
+    &lt;/menubar&gt;
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Thomas Luebking</dc:creator><pubDate>Mon, 02 Jul 2012 22:53:03 -0000</pubDate><guid>https://sourceforge.netadf52478081c0be984d152eca62cb281168363a7</guid></item><item><title>WikiPage Menu reference modified by Thomas Luebking</title><link>https://sourceforge.net/p/be-shell/wiki/Menu%2520reference/</link><description>&lt;pre&gt;--- v1
+++ v2
@@ -2,6 +2,7 @@
 
 The global menu supports a customizable menu, found in ~/.kde/share/apps/be.shell/MainMenu.xml.
 The structure is:
+&lt;xml&gt;
     &lt;menubar&gt;
         &lt;menu [label|menu]="???"&gt;
             [&lt;menu [label|menu]="???"/&gt;]
@@ -9,7 +10,7 @@
             [&lt;separator/&gt;]
         &lt;/menu&gt;
     &lt;/menubar&gt;
-
+&lt;/xml&gt;
 It's nearly the same code as in XBar (which was ported from BE::Shell)
 
 The first node is always "&lt;menubar&gt;"
@@ -49,6 +50,7 @@
 &lt;br/&gt;Yeah... guess what.
 
 **Example**
+&lt;xml&gt;
 &lt;menubar&gt;
     &lt;menu menu="MainMenu/kate"/&gt;
     &lt;menu label="Desktop"&gt;
@@ -60,3 +62,4 @@
     &lt;/menu&gt;
     &lt;action label="Edit Menu" exec="kwrite $HOME/.kde/share/apps/be.shell/MainMenu.xml"/&gt;
 &lt;/menubar&gt;
+&lt;/xml&gt;
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Thomas Luebking</dc:creator><pubDate>Mon, 02 Jul 2012 22:52:09 -0000</pubDate><guid>https://sourceforge.net7bafab08900d641f18975c7c2a48043d9e829d06</guid></item><item><title>WikiPage Menu reference modified by Thomas Luebking</title><link>https://sourceforge.net/p/be-shell/wiki/Menu%2520reference/</link><description># Custom &lt;XML/&gt; menu #

The global menu supports a customizable menu, found in ~/.kde/share/apps/be.shell/MainMenu.xml.
The structure is:
    &lt;menubar&gt;
        &lt;menu [label|menu]="???"&gt;
            [&lt;menu [label|menu]="???"/&gt;]
            [&lt;action label="???" [exec|dbus]="???"/&gt;]
            [&lt;separator/&gt;]
        &lt;/menu&gt;
    &lt;/menubar&gt;

It's nearly the same code as in XBar (which was ported from BE::Shell)

The first node is always "&lt;menubar&gt;"
To add a menu entry, add a "&lt;menu&gt;" node, this will add a popup menu.

It's attributes can be either
* **menu**
&lt;br/&gt;A reference to another xml file, following this very same structure (i.e. "inherit" another file)
The path is relative to ~/.kde/share/apps/be.shell/ and an ".xml" suffix is applied automatically, eg. "subpath/submenu" turns to "~/.kde/share/apps/be.shell/subpath/submenu.xml"
* **label**
A label for the popup entry, defined in the following subnodes
* **windowlist**
Adds a window list, generated by BE::Shell
* **BE::Config**
Adds the BE::Shell config menu (the one you get by rightclicking on the Desktop)


The actual popup menu entries can be subnodes
* *&lt;menu&gt;*
&lt;br/&gt;Yet another submenu
* *&lt;action&gt;*
&lt;br/&gt;An active item, that actually triggers sth., can also be put directly into the &lt;menubar&gt; node, though this is rather uncommon.

It's attributes can be either
    * **label**
    &lt;br/&gt;A label for the entry, overriding that in any given service
    * **icon**
    &lt;br&gt; An icon for the entry, overriding that in any given service
    * **dbus**
    &lt;br/&gt; A dbus call, separate by semicolons.
    &lt;bus&gt;;&lt;service&gt;;&lt;path&gt;;&lt;interface&gt;;&lt;method&gt;[;&lt;parameter_1&gt;[;&lt;parameter_2&gt;[;...]]]
    * **exec**
    &lt;br/&gt;either a service name or an executable, or a path, or ... basically anything you can type into krunner or konqueror, ie. "gg:KDE" will google for KDE!
    If this is a service, it's label and icon can be overridden by the related attributes

* **&lt;separator&gt;**
&lt;br/&gt;Yeah... guess what.

**Example**
&lt;menubar&gt;
    &lt;menu menu="MainMenu/kate"/&gt;
    &lt;menu label="Desktop"&gt;
        &lt;action label="XTerm" exec="xterm"/&gt;
        &lt;action label="Toggle FX" dbus="session;org.kde.kwin;/KWin;org.kde.KWin;toggleCompositing"/&gt;
        &lt;separator/&gt;
        &lt;action label="Run Conky" exec="conky -c $HOME/.conky/mytop.conf"/&gt;
        &lt;action label="Quit Conky" exec="killall conky"/&gt;
    &lt;/menu&gt;
    &lt;action label="Edit Menu" exec="kwrite $HOME/.kde/share/apps/be.shell/MainMenu.xml"/&gt;
&lt;/menubar&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Thomas Luebking</dc:creator><pubDate>Mon, 02 Jul 2012 22:45:48 -0000</pubDate><guid>https://sourceforge.neta9b22f2992f777b66527984b68f1f5f8b65e50f3</guid></item></channel></rss>