diff -ur xdg-menu.orig/xdg_menu xdg-menu/xdg_menu
--- xdg-menu.orig/xdg_menu 2004-11-30 13:23:12.459157549 +0100
+++ xdg-menu/xdg_menu 2004-11-30 13:28:27.640045633 +0100
@@ -26,6 +26,7 @@
my $die_on_error = 0;
my $verbose = 0;
+my $fullmenu = 0;
my @language_keys;
@@ -1410,6 +1411,40 @@
sub output_blackbox_menu ($;$)
{
+ my ($menu, $indent) = @_;
+
+ my $output = '';
+
+ $output .= "[begin] (Menu)\n";
+ $output .= "[exec] (xterm) {xterm}\n[separator]\n";
+ $output .= output_blackbox_inner_menu ($menu, $indent);
+ $output .= "[separator]\n";
+ $output .= '[config] (Configuration)
+ [workspaces] (Workspace)
+ [submenu] (System Styles) {Choose a style...}
+ [stylesdir] (/usr/share/blackbox/styles)
+ [stylesdir] (/usr/share/fluxbox/styles)
+ [stylesdir] (/usr/share/openbox/styles)
+ [end]
+ [submenu] (User Styles) {Choose a style...}
+ [stylesdir] (~/.blackbox/styles)
+ [stylesdir] (~/.fluxbox/styles)
+ [stylesdir] (~/.openbox/styles)
+ [end]
+ [separator]
+ [exec] (Run Command) {bbrun -a -w}
+ [exec] (Lock Screen) {xlock}
+ [restart] (Restart) {}
+ [exit] (Logout)
+[end]
+';
+ $output .= "[end]\n";
+ return $output;
+}
+
+
+sub output_blackbox_inner_menu ($;$)
+{
my ($menu, $indent) = @_;
my $output = '';
@@ -1432,7 +1467,7 @@
$output .= " [exec] ($name) {$exec}\n";
}
elsif ($entry->{type} eq 'menu') {
- $output .= output_blackbox_menu ($entry->{'menu'}, $indent + 1);
+ $output .= output_blackbox_inner_menu ($entry->{'menu'}, $indent + 1);
}
else {
print STDERR "wrong menu entry type: $entry->{type}";
@@ -1570,6 +1605,94 @@
return $output;
}
+sub output_openbox3_menu ($;$)
+{
+ my ($menu, $indent) = @_;
+
+ my $output = '';
+
+ $output .= '
+
+';
+ $output .= "\n";
+ $output .= ' ';
+ $output .= "\n";
+ return $output;
+}
+
+sub output_openbox3_pipe_menu ($;$)
+{
+ my ($menu, $indent) = @_;
+
+ my $output = '';
+
+ $output .= "\n";
+ $output .= output_openbox3_inner_menu ($menu, $indent);
+ $output .= "\n";
+ return $output;
+}
+
+sub output_openbox3_inner_menu ($;$)
+{
+ my ($menu, $indent) = @_;
+
+ my $output = '';
+
+ $indent = 0 unless defined $indent;
+ my $menu_name = $menu->{'PrepName'};
+
+ $output .= ' ' x $indent;
+ $output .= "