Sync from SUSE:SLFO:Main xdg-menu revision 5b51617c623fbbd4cce56ea2a721a2ee

This commit is contained in:
Adrian Schröter 2024-05-04 02:03:00 +02:00
commit 7e2c807697
14 changed files with 907 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

View File

@ -0,0 +1,14 @@
--- xdg_menu
+++ xdg_menu
@@ -638,6 +638,11 @@
interpret_Exclude($tree->[$i], $menu{'entries'}, $pool);
$i++;
}
+ elsif ($tree->[$i] eq 'DefaultLayout') {
+ #FIXME: use the values
+ $i++;
+ $i++;
+ }
elsif ($tree->[$i] eq '0') {
$i++;
if ($tree->[$i] !~ /^\s*$/) {

229
xdg-menu-box.patch Normal file
View File

@ -0,0 +1,229 @@
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 .= '<?xml version="1.0" encoding="UTF-8"?>
+
+<openbox_menu xmlns="http://openbox.org/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://openbox.org/
+ file:///usr/share/openbox/menu.xsd">';
+ $output .= "<menu id=\"xdg\" label=\"xdg\">\n";
+ $output .= output_openbox3_inner_menu ($menu, $indent);
+ $output .= "</menu>\n";
+ $output .= ' <menu id="root-menu" label="Openbox 3">
+ <item label="xterm">
+ <action name="Execute"><execute>xterm</execute></action> </item>
+ <separator />
+ <menu id="KDE Menu" label="KDE Menu" />
+ <separator />
+ <menu id="client-list-menu" />
+ <separator />
+ <menu id="ob-menu" label="openbox3">
+ <item label="ob conf"><action name="Execute"><execute>obconf</execute></action></item>
+ <item label="reconfigure"><action name="Reconfigure" /></item>
+ </menu>
+ <separator />
+ <item label="lock screen"><action name="Execute"><execute>xlock -remote -nice 19 -mode blank -geometry 1x1 -enablesaver</execute></action></item>
+ <separator />
+ <item label="Exit"><action name="Exit" /></item>
+ </menu>';
+ $output .= "</openbox_menu>\n";
+ return $output;
+}
+
+sub output_openbox3_pipe_menu ($;$)
+{
+ my ($menu, $indent) = @_;
+
+ my $output = '';
+
+ $output .= "<openbox_pipe_menu>\n";
+ $output .= output_openbox3_inner_menu ($menu, $indent);
+ $output .= "</openbox_pipe_menu>\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 .= "<menu id=\"" . quote_xml($menu_name) . "\" label=\"".quote_xml($menu_name) . "\">\n";
+# $output .= "<menu label=\"".quote_xml($menu_name) . "\">\n";
+
+ foreach my $entry (@{$menu->{'entries'}}) {
+ if ($entry->{type} eq 'desktop') {
+ my $desktop = $entry->{desktop};
+
+ my $name = $desktop->{'PrepName'};
+ my $exec = $desktop->{'PrepExec'};
+
+ $output .= ' ' x $indent;
+ $output .= " <item label=\"". quote_xml($name)."\">\n";
+ $output .= " <action name=\"Execute\"><execute>$exec</execute></action>\n";
+ $output .= " </item>\n";
+ }
+ elsif ($entry->{type} eq 'menu') {
+ $output .= output_openbox3_inner_menu ($entry->{'menu'}, $indent + 1);
+ }
+ else {
+ print STDERR "wrong menu entry type: $entry->{type}";
+ }
+
+ }
+ $output .= ' ' x $indent;
+ $output .= "</menu> <!-- $menu_name -->\n";
+
+ return $output;
+}
+
+
sub output_readable ($;$)
{
my ($menu, $indent) = @_;
@@ -1862,6 +1985,7 @@
my $help;
GetOptions("format=s" => \$format,
+ "fullmenu" => \$fullmenu,
"desktop=s" => \$desktop_name,
"charset=s" => \$charset,
"language=s" => \$language,
@@ -1885,13 +2009,18 @@
Usage:
xdg_menu [--format <format>] [--desktop <desktop>]
[--charset <charset>] [--language <language>]
- [--root-menu <root-menu>] [--die-on-error] [--help]
+ [--root-menu <root-menu>] [--die-on-error]
+ [--fullmenu] [--help]
format - output format
- possible formats: WindowMaker, fvwm2, blackbox,
- icewm, readable
+ possible formats: WindowMaker, fvwm2, icewm,
+ blackbox, fluxbox, openbox,
+ xfce4, openbox3, openbox3-pipe,
+ readable
default: WindowMaker
-
+
+ fullmenu - output a full menu and not only a submenu
+
desktop - desktop name for NotShowIn and OnlyShowIn
default: the same as format
@@ -1942,17 +2071,35 @@
$output = output_fvwm2_menu($menu)
}
-elsif ($format eq 'blackbox') {
-
- $output = output_blackbox_menu($menu)
-}
elsif ($format eq 'icewm') {
- $output = output_icewm_menu($menu)
+ $output = output_icewm_menu($menu)
}
elsif ($format eq 'xfce4') {
- $output = output_xfce4_menu($menu)
+ $output = output_xfce4_menu($menu)
+}
+elsif ($format eq 'blackbox' || ($format eq 'openbox') || ($format eq 'fluxbox') ) {
+ if ($fullmenu) {
+ $output = output_blackbox_menu($menu)
+ }
+ else
+ {
+ $output = output_blackbox_inner_menu($menu)
+ }
+}
+elsif ($format eq 'openbox3') {
+ if ($fullmenu) {
+ $output = output_openbox3_menu($menu)
+ }
+ else
+ {
+ $output = output_openbox3_inner_menu($menu)
+ }
+}
+elsif ($format eq 'openbox3-pipe') {
+
+ $output = output_openbox3_pipe_menu($menu)
}
elsif ($format eq 'readable') {

10
xdg-menu-gnome-path.patch Normal file
View File

@ -0,0 +1,10 @@
--- xdg_menu
+++ xdg_menu
@@ -2038,6 +2038,7 @@
$language = setlocale(LC_MESSAGES);
$root_cmd = "/opt/gnome/bin/gnomesu" if -x '/opt/gnome/bin/gnomesu';
+$root_cmd = "/usr/bin/gnomesu" if -x '/usr/bin/gnomesu';
$root_cmd = "/opt/kde3/bin/kdesu" if -x '/opt/kde3/bin/kdesu';
my $help;

20
xdg-menu-icewm.patch Normal file
View File

@ -0,0 +1,20 @@
--- xdg_menu
+++ xdg_menu
@@ -1549,7 +1549,7 @@
my $menu_name = $menu->{'PrepName'};
$output .= ' ' x $indent;
- $output .= "menu \"$menu_name\" folder {\n";
+ $output .= "menu \"$menu_name\" folder {\n" if $indent > 0; #skip toplevel menu, bug 273232
foreach my $entry (@{$menu->{'entries'}}) {
if ($entry->{type} eq 'desktop') {
@@ -1570,7 +1570,7 @@
}
$output .= ' ' x $indent;
- $output .= "}\n";
+ $output .= "}\n" if $indent > 0;
return $output;
}

69
xdg-menu-pekwm.patch Normal file
View File

@ -0,0 +1,69 @@
--- xdg_menu 2008-12-06 01:13:21.000000000 +0100
+++ xdg_menu 2008-12-16 17:57:46.000000000 +0100
@@ -1379,6 +1379,46 @@
return $output;
}
+sub output_pekwm_menu ($;$)
+{
+ my ($menu, $indent) = @_;
+
+ my $output = '';
+
+ $indent = 0 unless defined $indent;
+
+ my $menu_name = $menu->{'PrepName'};
+
+ $output .= ' ' x $indent;
+ $output .= "Submenu = \"$menu_name\" {\n";
+
+ foreach my $entry (@{$menu->{'entries'}}) {
+ if ($entry->{type} eq 'desktop') {
+ my $desktop = $entry->{desktop};
+
+ my $name = $desktop->{'PrepName'};
+ my $exec = $desktop->{'PrepExec'};
+
+ $exec =~ s/\"/\\\"/g;
+
+ $output .= ' ' x $indent;
+ $output .= " Entry = \"$name\" { Actions = \"Exec $exec & \" }\n";
+ }
+ elsif ($entry->{type} eq 'menu') {
+ $output .= output_pekwm_menu ($entry->{'menu'}, $indent + 1);
+ }
+ else {
+ print STDERR "wrong menu entry type: $entry->{type}";
+ }
+
+ }
+ $output .= ' ' x $indent;
+ $output .= "}\n";
+
+ return $output;
+}
+
+
sub output_wmaker_menu ($;$)
{
my ($menu, $indent) = @_;
@@ -2075,7 +2115,7 @@
possible formats: WindowMaker, fvwm2, icewm,
blackbox, fluxbox, openbox,
xfce4, openbox3, openbox3-pipe,
- readable
+ pekwm, readable
default: WindowMaker
fullmenu - output a full menu and not only a submenu
@@ -2169,6 +2209,10 @@
$output = output_readable($menu)
}
+elsif ($format eq 'pekwm') {
+
+ $output = output_pekwm_menu($menu)
+}
else
{
print STDERR "Unknown format $format\n";

9
xdg-menu-su.patch Normal file
View File

@ -0,0 +1,9 @@
--- xdg_menu_su.orig 2003-09-17 11:23:38.000000000 +0300
+++ xdg_menu_su 2013-02-27 21:01:07.457209243 +0200
@@ -2,5 +2,5 @@
xterm -bg LightGoldenRod -fn 9x15 -geometry 34x4 \
-vb +sb -T "root permission" \
- -e sh -c "echo \"Run command with root privileges\"; echo \"Command: $*\"; sux -c \"/usr/bin/env LANG=${LANG} $*\""
+ -e sh -c "echo \"Run command with root privileges\"; echo \"Command: $*\"; su -c \"/usr/bin/env LANG=${LANG} $*\""

View File

@ -0,0 +1,60 @@
--- xdg_menu
+++ xdg_menu
@@ -10,6 +10,7 @@
use Getopt::Long;
use Encode;
use I18N::Langinfo qw(langinfo CODESET);
+use Locale::gettext;
use POSIX qw(locale_h);
my $Version = "0.2";
@@ -23,6 +24,7 @@
my $language = '';
my $charset = 'iso-8859-1';
my $root_cmd = 'xdg_menu_su';
+my $default_textdomain;
my $die_on_error = 0;
my $verbose = 0;
@@ -1228,7 +1230,23 @@
return $desktop->{$loc_entry} if defined $desktop->{$loc_entry} && $desktop->{$loc_entry} !~ /^\s*$/;
}
- return $desktop->{$entry};
+ my $textdomain = $default_textdomain;
+
+ if ($desktop->{'X-SUSE-Gettext-Domain'}) {
+ $textdomain = Locale::gettext->domain_raw($desktop->{'X-SUSE-Gettext-Domain'});
+ $textdomain->codeset('UTF-8');
+ }
+
+ my $key = $desktop->{$entry};
+ my $file = $desktop->{'id'};
+ my $key_context = "$entry($file): $key";
+
+ my $translated = $textdomain->get($key_context);
+ if ($translated eq $key_context) {
+ $translated = $textdomain->get($key);
+ }
+
+ return $translated;
}
sub preprocess_menu ($)
@@ -2094,6 +2113,16 @@
"help" => \$help
);
+if (!setlocale(LC_MESSAGES, $language))
+ {
+ print STDERR "WARNING: invalid language '$language'\n";
+ $language = setlocale(LC_MESSAGES);
+ print STDERR "Falling back to '$language'\n";
+ }
+
+$default_textdomain = Locale::gettext->domain_raw("desktop_translations");
+$default_textdomain->codeset('UTF-8');
+
@language_keys = prepare_language_keys($language);
$desktop_name = $format unless defined $desktop_name;

77
xdg-menu-twm.patch Normal file
View File

@ -0,0 +1,77 @@
--- xdg_menu
+++ xdg_menu
@@ -1320,6 +1320,62 @@
return 1;
}
+sub output_twm_menu ($;$$)
+{
+ my ($menu, $toplevel, $path) = @_;
+
+ my $output = '';
+
+ $path = '' unless defined $path;
+
+ $toplevel = 1 unless defined $toplevel;
+
+ my $menu_name = $menu->{'PrepName'};
+ my $menu_id = "$path-" . $menu->{'Name'};
+ $menu_id =~ s/\s/_/g;
+
+ $menu_id = 'xdg_menu' if $toplevel;
+
+ foreach my $entry (@{$menu->{'entries'}}) {
+ if ($entry->{type} eq 'menu') {
+ $output .= output_twm_menu($entry->{'menu'}, 0, $menu_id);
+ }
+ }
+
+ $output .= "menu \"$menu_id\" {\n";
+ $output .= "\"$menu_name\" f.title\n";
+
+ foreach my $entry (@{$menu->{'entries'}}) {
+ if ($entry->{type} eq 'desktop') {
+ my $desktop = $entry->{desktop};
+
+ my $name = $desktop->{'PrepName'};
+ my $exec = $desktop->{'PrepExec'};
+ my $color = '';
+
+ $exec =~ s/"/\\"/g;
+
+ $color = ' ("red":"grey")' if $desktop->{'X-KDE-SubstituteUID'} eq '1' || $desktop->{'X-KDE-SubstituteUID'} eq 'true';
+
+ $output .= "\"$name\"$color f.exec \"$exec&\"\n";
+ }
+ elsif ($entry->{type} eq 'menu') {
+ my $name = $entry->{'menu'}{'PrepName'};
+ my $id = "$menu_id-" . $entry->{'menu'}{'Name'};
+
+ $id =~ s/\s/_/g;
+
+ $output .= "\"$name\" f.menu \"$id\"\n";
+ }
+ else {
+ print STDERR "wrong menu entry type: $entry->{type}";
+ }
+
+ }
+ $output .= "}\n";
+
+ return $output;
+}
sub output_wmaker_menu ($;$)
{
@@ -2101,6 +2157,11 @@
$output = output_openbox3_pipe_menu($menu)
}
+elsif ($format eq 'twm') {
+
+ print STDERR "WARNING: twm does not support umlauts. Parameter --language '' to output plain ASCII.\n" unless $language eq '';
+ $output = output_twm_menu($menu)
+}
elsif ($format eq 'readable') {
$output = output_readable($menu)

52
xdg-menu-xfce4-icon.patch Normal file
View File

@ -0,0 +1,52 @@
--- xdg_menu
+++ xdg_menu
@@ -1241,10 +1241,11 @@
return 0 if defined $menu->{'Directory'} && $menu->{'Directory'}->{'NoDisplay'} eq 'true';
my $menu_name = $menu->{'Name'};
+ my $menu_icon = "";
if (defined $menu->{'Directory'}) {
my $directory = $menu->{'Directory'};
-
+ $menu_icon = $menu->{'Directory'}{'Icon'};
my $directory_name = get_loc_entry($directory, 'Name');
if (defined $directory_name) {
@@ -1256,6 +1257,7 @@
}
$menu->{'PrepName'} = $menu_name;
+ $menu->{'PrepIcon'} = $menu_icon;
my $i = 0;
while (defined $menu->{'entries'}[$i]) {
@@ -1620,14 +1622,14 @@
}
my $menu_name = $menu->{'PrepName'};
-
+ my $menu_ico = $menu->{'PrepIcon'};
$output .= ' ' x $indent;
if ($indent == 0) {
$output .= "<xfdesktop-menu>\n"
}
else {
- $output .= "<menu name=\"" . quote_xml($menu_name) ."\" visible=\"yes\">\n";
+ $output .= "<menu name=\"" . quote_xml($menu_name) ."\" visible=\"yes\" icon=\"${menu_ico}.png \">\n";
}
foreach my $entry (@{$menu->{'entries'}}) {
@@ -1637,9 +1639,9 @@
my $name = $desktop->{'PrepName'};
my $exec = prepare_exec_xfce4($desktop->{Exec}, $desktop);
my $term = ($desktop->{Terminal} eq '1' || $desktop->{Terminal} eq 'true') ? "yes" : "no";
-
+ my $ico = $desktop->{'Icon'};
$output .= ' ' x $indent;
- $output .= " <app name=\"" . quote_xml($name) ."\" cmd=\"$exec\" term=\"$term\"/>\n";
+ $output .= " <app name=\"" . quote_xml($name) ."\" cmd=\"$exec\" icon=\"$ico\" term=\"$term\"/>\n";
}
elsif ($entry->{type} eq 'menu') {
$output .= output_xfce4_menu ($entry->{'menu'}, $indent + 1);

108
xdg-menu-xfce4.patch Normal file
View File

@ -0,0 +1,108 @@
--- xdg_menu
+++ xdg_menu
@@ -1482,6 +1482,94 @@
return $output;
}
+sub prepare_exec_xfce4 ($$)
+{
+ my ($exec, $desktop) = @_;
+
+ $exec =~ s/%f//g;
+ $exec =~ s/%F//g;
+ $exec =~ s/%u//g;
+ $exec =~ s/%U//g;
+ $exec =~ s/%d//g;
+ $exec =~ s/%D//g;
+ $exec =~ s/%n//g;
+ $exec =~ s/%N//g;
+ $exec =~ s/%i//g;
+ $exec =~ s/%k//g;
+ $exec =~ s/%v//g;
+ $exec =~ s/%m//g;
+
+ my $caption = $desktop->{Name};
+
+ $exec =~ s/%c/$caption/g;
+
+ $exec =~ s/%%/%/g;
+
+ $exec =~ s/\"/&quot;/g;
+
+ $exec = "$root_cmd $exec" if $desktop->{'X-KDE-SubstituteUID'} eq '1' || $desktop->{'X-KDE-SubstituteUID'} eq 'true';
+ return $exec;
+}
+
+
+
+sub output_xfce4_menu ($;$)
+{
+ my ($menu, $indent) = @_;
+
+ my $output = '';
+
+ $indent = 0 unless defined $indent;
+
+ if ($indent == 0) {
+ $output .= '<?xml version="1.0" encoding="UTF-8"?>' . "\n";
+ $output .= '<!DOCTYPE xfdesktop-menu [' . "\n";
+ $output .= ' <!ENTITY menu2 SYSTEM "menu2.xml">' . "\n";
+ $output .= ']>' . "\n\n";
+ }
+
+ my $menu_name = $menu->{'PrepName'};
+
+ $output .= ' ' x $indent;
+
+ if ($indent == 0) {
+ $output .= "<xfdesktop-menu>\n"
+ }
+ else {
+ $output .= "<menu name=\"" . quote_xml($menu_name) ."\" visible=\"yes\">\n";
+ }
+
+ foreach my $entry (@{$menu->{'entries'}}) {
+ if ($entry->{type} eq 'desktop') {
+ my $desktop = $entry->{desktop};
+
+ my $name = $desktop->{'PrepName'};
+ my $exec = prepare_exec_xfce4($desktop->{Exec}, $desktop);
+ my $term = ($desktop->{Terminal} eq '1' || $desktop->{Terminal} eq 'true') ? "yes" : "no";
+
+ $output .= ' ' x $indent;
+ $output .= " <app name=\"" . quote_xml($name) ."\" cmd=\"$exec\" term=\"$term\"/>\n";
+ }
+ elsif ($entry->{type} eq 'menu') {
+ $output .= output_xfce4_menu ($entry->{'menu'}, $indent + 1);
+ }
+ else {
+ print STDERR "wrong menu entry type: $entry->{type}";
+ }
+
+ }
+ $output .= ' ' x $indent;
+
+ if ($indent == 0) {
+ $output .= "</xfdesktop-menu>\n";
+ }
+ else {
+ $output .= "</menu>\n";
+ }
+
+ return $output;
+}
+
sub output_readable ($;$)
{
my ($menu, $indent) = @_;
@@ -1862,6 +1950,10 @@
$output = output_icewm_menu($menu)
}
+elsif ($format eq 'xfce4') {
+
+ $output = output_xfce4_menu($menu)
+}
elsif ($format eq 'readable') {
$output = output_readable($menu)

157
xdg-menu.changes Normal file
View File

@ -0,0 +1,157 @@
-------------------------------------------------------------------
Wed Dec 17 20:38:49 UTC 2014 - dimstar@opensuse.org
- On openSUSE > 13.2, xterm has been split into xterm-bin for the
program and xterm for the app launcher. We only need the program,
so conditionally require xterm-bin.
-------------------------------------------------------------------
Wed Feb 27 19:30:25 UTC 2013 - asterios.dramis@gmail.com
- Added a patch (xdg-menu-su.patch) to use "su" instead of "sux" to run
commands with root privileges in xdg_menu_su (sux is deprecated).
- Made the package noarch.
-------------------------------------------------------------------
Mon Aug 31 16:38:49 CEST 2009 - nadvornik@suse.cz
- accept DefaultLayout node [bnc#529057]
-------------------------------------------------------------------
Thu Jul 9 12:32:53 CEST 2009 - coolo@novell.com
- fix requires for Locale::gettext
-------------------------------------------------------------------
Wed Jun 24 16:02:19 CEST 2009 - nadvornik@novell.com
- handle desktop files translated with gettext [bnc#463972]
-------------------------------------------------------------------
Tue Dec 16 18:01:02 CET 2008 - mhrusecky@suse.cz
- added support for pekwm
-------------------------------------------------------------------
Fri Jun 1 11:19:02 CEST 2007 - nadvornik@suse.cz
- do not output top-level menu in icewm format [#273232]
-------------------------------------------------------------------
Tue Feb 6 11:51:40 CET 2007 - nadvornik@suse.cz
- added Requires: xterm [#242136]
-------------------------------------------------------------------
Mon Jan 22 16:03:42 CET 2007 - nadvornik@suse.cz
- adjusted gnome path [#237126]
-------------------------------------------------------------------
Fri Mar 24 11:42:15 CET 2006 - pnemec@suse.cz
- added icon in xfce4 menu
-------------------------------------------------------------------
Wed Jan 25 21:43:02 CET 2006 - mls@suse.de
- converted neededforbuild to BuildRequires
-------------------------------------------------------------------
Fri Jul 29 11:53:34 CEST 2005 - nadvornik@suse.cz
- added twm support
-------------------------------------------------------------------
Tue Nov 30 13:47:16 CET 2004 - hvogel@suse.de
- merge *box patches to a single patch
- readd openbox3-pipe output
-------------------------------------------------------------------
Thu Nov 18 10:34:07 CET 2004 - hvogel@suse.de
- correct help output to include xfce4
- merge *box options into one condition
- make the default output for *box a submenu again and
add a --fullmenu option
- fix xfce4 output to not include '&' in menu/app names
-------------------------------------------------------------------
Tue Nov 9 17:43:56 CET 2004 - hvogel@suse.de
- added openbox3 support by Marcus Rueckert
- alias fluxbox, openbox to blackbox output
-------------------------------------------------------------------
Mon Sep 13 16:22:00 CEST 2004 - nadvornik@suse.cz
- added xfce4 support
-------------------------------------------------------------------
Tue Mar 16 17:15:47 CET 2004 - nadvornik@suse.cz
- do not display KDE-specific entries [#36152]
- requires desktop-data
-------------------------------------------------------------------
Fri Mar 12 18:30:48 CET 2004 - nadvornik@suse.cz
- fixed paths for kde desktop entries
- remove duplicate entries which came from different desktop files
-------------------------------------------------------------------
Mon Feb 02 15:07:46 CET 2004 - nadvornik@suse.cz
- added caching of output
- fixed dependencies [#33294]
- increased version to 0.2
-------------------------------------------------------------------
Wed Sep 17 12:02:30 CEST 2003 - nadvornik@suse.cz
- run su wrapper for entries with X-KDE-SubstituteUID [#30523]
-------------------------------------------------------------------
Mon Sep 15 13:53:44 CEST 2003 - nadvornik@suse.cz
- handle desktop files with '&' in file name
- better debugging output
-------------------------------------------------------------------
Fri Sep 12 14:13:21 CEST 2003 - nadvornik@suse.cz
- fixed fvwm2 output [#30523]
- fixed bug in parsing desktop files
-------------------------------------------------------------------
Mon Sep 08 12:18:39 CEST 2003 - nadvornik@suse.cz
- added blackbox support from mfabian@suse.de
- correctly interpret language in the form LANG_COUNTRY.ENCODING@MODIFIER
-------------------------------------------------------------------
Fri Sep 05 14:01:28 CEST 2003 - nadvornik@suse.cz
- more bugs fixed
-------------------------------------------------------------------
Tue Sep 02 16:18:18 CEST 2003 - nadvornik@suse.cz
- added fvwm2 support
-------------------------------------------------------------------
Fri Aug 29 18:59:05 CEST 2003 - nadvornik@suse.cz
- some fixes
-------------------------------------------------------------------
Wed Aug 27 13:59:30 CEST 2003 - nadvornik@suse.cz
- finished support for WindowMaker
-------------------------------------------------------------------
Mon Aug 25 16:06:59 CEST 2003 - nadvornik@suse.cz
- new package, needs some more work

76
xdg-menu.spec Normal file
View File

@ -0,0 +1,76 @@
#
# spec file for package xdg-menu
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: xdg-menu
Version: 0.2
Release: 0
Summary: XDG Menus for WindowMaker and other Window Managers
License: GPL-2.0+
Group: System/GUI/Other
Source0: %{name}.tar.bz2
Patch0: %{name}-xfce4.patch
Patch1: %{name}-box.patch
Patch2: %{name}-twm.patch
Patch3: %{name}-xfce4-icon.patch
Patch4: %{name}-gnome-path.patch
Patch5: %{name}-icewm.patch
Patch6: %{name}-pekwm.patch
Patch7: %{name}-translation-bnc463972.patch
Patch8: %{name}-accept-defaultlayout-bnc529057.patch
# PATCH-FIX-OPENSUSE xdg-menu-su.patch asterios.dramis@gmail.com -- Use "su" instead of "sux" to run commands with root privileges in xdg_menu_su (sux is deprecated)
Patch9: xdg-menu-su.patch
Requires: desktop-data
Requires: perl-XML-Parser
%if 0%{?suse_version} > 1320
Requires: xterm-bin
%else
Requires: xterm
%endif
Requires: perl(Locale::gettext)
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
This package contains a Perl script which converts XDG menus to formats
used by WindowMaker and other window managers.
%prep
%setup -q -n xdg-menu
%patch0
%patch1 -p1
%patch2
%patch3
%patch4
%patch5
%patch6
%patch7
%patch8
%patch9
%build
%install
mkdir -p %{buildroot}%{_bindir}
install -pm 0755 * %{buildroot}%{_bindir}
%files
%defattr(-,root,root,-)
%{_bindir}/xdg_menu
%{_bindir}/xdg_menu_su
%changelog

BIN
xdg-menu.tar.bz2 (Stored with Git LFS) Normal file

Binary file not shown.