Accepting request 693024 from home:zhengqiang:branches:X11:windowmanagers
- Update to 1.5.3 - Rebase patches - icewm-susemenu.patch: rebase "suseprog" function - icewm-desktop-nodisplay.patch: rebase, set NoDisplay for icewm.desktop - icewm-preferences.patch: rebase, only IconPath hunk not in upstream now - Drop patches - icewm-mate.patch: upstream no longer uses icewm-menu-gnome2 to generate a default menu, the current freedesktop.org approach is superior for current distros - icewm-use-iproute2-ss-instead-of-netstat.patch: was accepted by upstream OBS-URL: https://build.opensuse.org/request/show/693024 OBS-URL: https://build.opensuse.org/package/show/X11:windowmanagers/icewm?expand=0&rev=97
This commit is contained in:
parent
37afeb8dbb
commit
ab3f97e789
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:9920901c5eadb6df95af68dcb4f044b16e76e80ccd2c420b66c2ab83559477a7
|
|
||||||
size 1731772
|
|
3
icewm-1.5.3.tar.xz
Normal file
3
icewm-1.5.3.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:98d0b59a75c86aa4272b5855f602ae8692ff6b748a703b8ee54b2abac45e5afb
|
||||||
|
size 1679384
|
@ -1,17 +1,8 @@
|
|||||||
From 3d09111fa081005c772c2942d42cc2d1600047f5 Mon Sep 17 00:00:00 2001
|
diff --git a/lib/icewm.desktop b/lib/icewm.desktop
|
||||||
From: Chingkai <qkzhu@suse.com>
|
index d6e5a04..02618b5 100644
|
||||||
Date: Wed, 20 Dec 2017 15:13:07 +0800
|
--- a/lib/icewm.desktop
|
||||||
Subject: [PATCH] Set NoDisplay for icewm.desktop
|
+++ b/lib/icewm.desktop
|
||||||
|
@@ -11,7 +11,7 @@ Comment[da]=Simpel og hurtig vindueshåndtering
|
||||||
---
|
|
||||||
lib/icewm.desktop | 4 ++--
|
|
||||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
Index: icewm-1.4.2/lib/icewm.desktop
|
|
||||||
===================================================================
|
|
||||||
--- icewm-1.4.2.orig/lib/icewm.desktop
|
|
||||||
+++ icewm-1.4.2/lib/icewm.desktop
|
|
||||||
@@ -11,7 +11,7 @@ Comment[da]=Simpel og hurtig vindueshån
|
|
||||||
Icon=icewm
|
Icon=icewm
|
||||||
TryExec=/usr/bin/icewm
|
TryExec=/usr/bin/icewm
|
||||||
Exec=icewm
|
Exec=icewm
|
||||||
|
298
icewm-mate.patch
298
icewm-mate.patch
@ -1,298 +0,0 @@
|
|||||||
--- a/CMakeLists.txt
|
|
||||||
+++ b/CMakeLists.txt
|
|
||||||
@@ -53,5 +53,5 @@ add_subdirectory(po)
|
|
||||||
add_subdirectory(lib)
|
|
||||||
add_subdirectory(doc)
|
|
||||||
|
|
||||||
+install(FILES icewm-set-matewm DESTINATION ${BINDIR} PERMISSIONS WORLD_EXECUTE OWNER_EXECUTE GROUP_EXECUTE WORLD_READ OWNER_READ OWNER_WRITE GROUP_READ)
|
|
||||||
install(FILES icewm-set-gnomewm DESTINATION ${BINDIR} PERMISSIONS WORLD_EXECUTE OWNER_EXECUTE GROUP_EXECUTE WORLD_READ OWNER_READ OWNER_WRITE GROUP_READ)
|
|
||||||
-
|
|
||||||
--- a/configure.ac
|
|
||||||
+++ b/configure.ac
|
|
||||||
@@ -344,6 +344,18 @@ fi
|
|
||||||
AC_SUBST([GNOME1_CFLAGS])
|
|
||||||
AC_SUBST([GNOME1_LIBS])
|
|
||||||
|
|
||||||
+AC_ARG_ENABLE([menus-mate],
|
|
||||||
+ AC_HELP_STRING([--disable-menus-mate],[Disable display of MATE menus.]))
|
|
||||||
+if test x$enable_menus_mate != xno; then
|
|
||||||
+ PKG_CHECK_MODULES([GNOME2],[mate-desktop-2.0],[
|
|
||||||
+ enable_menus_gnome2=no
|
|
||||||
+ AC_DEFINE([CONFIG_MATE_MENUS],[1],[Define to make IceWM more MATE-friendly])
|
|
||||||
+ AC_DEFINE([CONFIG_GNOME_MENUS],[1],[Define to make IceWM more GNOME-friendly])
|
|
||||||
+ BUILD_MENU_MATE=yes
|
|
||||||
+ APPLICATIONS="${APPLICATIONS} icewm-menu-mate"],[
|
|
||||||
+ AC_MSG_WARN([MATE menus not supported.])])
|
|
||||||
+fi
|
|
||||||
+
|
|
||||||
AC_ARG_ENABLE([menus-gnome2],
|
|
||||||
AC_HELP_STRING([--disable-menus-gnome2],[Disable display of GNOME 2 menus.]))
|
|
||||||
if test x$enable_menus_gnome2 != xno; then
|
|
||||||
@@ -383,6 +395,7 @@ AM_CONDITIONAL([BUILD_HELP],[test x$BUIL
|
|
||||||
AM_CONDITIONAL([BUILD_SOUND],[test x$BUILD_SOUND = xyes])
|
|
||||||
AM_CONDITIONAL([BUILD_MENU_GNOME1],[test x$BUILD_MENU_GNOME1 = xyes])
|
|
||||||
AM_CONDITIONAL([BUILD_MENU_GNOME2],[test x$BUILD_MENU_GNOME2 = xyes])
|
|
||||||
+AM_CONDITIONAL([BUILD_MENU_MATE],[test x$BUILD_MENU_MATE = xyes])
|
|
||||||
AM_CONDITIONAL([BUILD_MENU_FDO],[test x$BUILD_MENU_FDO = xyes])
|
|
||||||
|
|
||||||
test "x$prefix" = xNONE && prefix="$ac_default_prefix"
|
|
||||||
--- a/icewm.desktop
|
|
||||||
+++ b/icewm.desktop
|
|
||||||
@@ -0,0 +1,13 @@
|
|
||||||
+[Desktop Entry]
|
|
||||||
+Type=Application
|
|
||||||
+Name=IceWM
|
|
||||||
+Exec=icewm
|
|
||||||
+NoDisplay=true
|
|
||||||
+X-MATE-WMName=IceWM
|
|
||||||
+X-MATE-Autostart-Phase=WindowManager
|
|
||||||
+X-MATE-Provides=windowmanager
|
|
||||||
+X-MATE-Autostart-Notify=true
|
|
||||||
+X-GNOME-WMName=IceWM
|
|
||||||
+X-GNOME-Autostart-Phase=WindowManager
|
|
||||||
+X-GNOME-Provides=windowmanager
|
|
||||||
+X-GNOME-Autostart-Notify=true
|
|
||||||
--- a/icewm-set-matewm
|
|
||||||
+++ b/icewm-set-matewm
|
|
||||||
@@ -0,0 +1,9 @@
|
|
||||||
+#!/bin/sh
|
|
||||||
+
|
|
||||||
+echo -n "Previous window manager: "
|
|
||||||
+gsettings get org.mate.session.required-components windowmanager
|
|
||||||
+
|
|
||||||
+gsettings set org.mate.session.required-components windowmanager "'icewm'"
|
|
||||||
+
|
|
||||||
+echo -n "New window manager: "
|
|
||||||
+gsettings get org.mate.session.required-components windowmanager
|
|
||||||
--- a/Makefile.am
|
|
||||||
+++ b/Makefile.am
|
|
||||||
@@ -106,5 +106,8 @@ icewm.lsm: icewm.lsm.in
|
|
||||||
sed -r -e 's:%%PACKAGE%%:$(PACKAGE):g;s:%%VERSION%%:$(VERSION):g;s:%%DATE%%:$(DATE):g' $< >$@
|
|
||||||
|
|
||||||
dist_bin_SCRIPTS = \
|
|
||||||
+ icewm-set-matewm \
|
|
||||||
icewm-set-gnomewm
|
|
||||||
|
|
||||||
+desktopdir = $(datadir)/applications
|
|
||||||
+desktop_DATA = icewm.desktop
|
|
||||||
--- a/src/gnome2.cc
|
|
||||||
+++ b/src/gnome2.cc
|
|
||||||
@@ -25,10 +25,16 @@ char const * ApplicationName = "icewm-menu-gnome2";
|
|
||||||
#include <dirent.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
-#include <gnome.h>
|
|
||||||
+#include "yarray.h"
|
|
||||||
+#ifdef CONFIG_MATE_MENUS
|
|
||||||
+#include <libmate-desktop/mate-desktop-item.h>
|
|
||||||
+
|
|
||||||
+char const * ApplicationName = "icewm-menu-mate";
|
|
||||||
+#else
|
|
||||||
#include <libgnome/gnome-desktop-item.h>
|
|
||||||
#include <libgnomevfs/gnome-vfs-init.h>
|
|
||||||
-#include "yarray.h"
|
|
||||||
+
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
class GnomeMenu;
|
|
||||||
|
|
||||||
@@ -58,14 +63,16 @@ void dumpMenu(GnomeMenu *menu) {
|
|
||||||
GnomeMenuItem *item = menu->items.getItem(i);
|
|
||||||
|
|
||||||
if (item->dentry && !item->submenu) {
|
|
||||||
- printf("prog \"%s\" %s icewm-menu-gnome2 --open \"%s\"\n",
|
|
||||||
+ printf("prog \"%s\" %s %s --open \"%s\"\n",
|
|
||||||
item->title,
|
|
||||||
item->icon ? item->icon : "-",
|
|
||||||
+ ApplicationName,
|
|
||||||
item->dentry);
|
|
||||||
} else if (item->dentry && item->submenu) {
|
|
||||||
- printf("menuprog \"%s\" %s icewm-menu-gnome2 --list \"%s\"\n",
|
|
||||||
+ printf("menuprog \"%s\" %s %s --list \"%s\"\n",
|
|
||||||
item->title,
|
|
||||||
item->icon ? item->icon : "-",
|
|
||||||
+ ApplicationName,
|
|
||||||
(!strcmp(my_basename(item->dentry), ".directory") ?
|
|
||||||
g_dirname(item->dentry) : item->dentry));
|
|
||||||
}
|
|
||||||
@@ -101,16 +108,27 @@ void GnomeMenu::addEntry(const char *fPa
|
|
||||||
GnomeMenuItem *item = new GnomeMenuItem();
|
|
||||||
item->title = name;
|
|
||||||
|
|
||||||
+#ifdef CONFIG_MATE_MENUS
|
|
||||||
+ MateDesktopItem *ditem =
|
|
||||||
+ mate_desktop_item_new_from_file(npath,
|
|
||||||
+ (MateDesktopItemLoadFlags)0,
|
|
||||||
+#else
|
|
||||||
GnomeDesktopItem *ditem =
|
|
||||||
gnome_desktop_item_new_from_file(npath,
|
|
||||||
(GnomeDesktopItemLoadFlags)0,
|
|
||||||
+#endif
|
|
||||||
NULL);
|
|
||||||
|
|
||||||
struct stat sb;
|
|
||||||
const char *type;
|
|
||||||
bool isDir = (!stat(npath, &sb) && S_ISDIR(sb.st_mode));
|
|
||||||
+#ifdef CONFIG_MATE_MENUS
|
|
||||||
+ type = mate_desktop_item_get_string(ditem,
|
|
||||||
+ MATE_DESKTOP_ITEM_TYPE);
|
|
||||||
+#else
|
|
||||||
type = gnome_desktop_item_get_string(ditem,
|
|
||||||
GNOME_DESKTOP_ITEM_TYPE);
|
|
||||||
+#endif
|
|
||||||
if (!isDir && type && strstr(type, "Directory")) {
|
|
||||||
isDir = 1;
|
|
||||||
}
|
|
||||||
@@ -119,7 +137,9 @@ void GnomeMenu::addEntry(const char *fPa
|
|
||||||
GnomeMenu *submenu = new GnomeMenu();
|
|
||||||
|
|
||||||
item->title = g_path_get_basename(npath);
|
|
||||||
- item->icon = gnome_pixmap_file("gnome-folder.png");
|
|
||||||
+ item->icon = gtk_icon_info_get_filename(gtk_icon_theme_lookup_icon(
|
|
||||||
+ gtk_icon_theme_get_default(), "folder",
|
|
||||||
+ 16, GTK_ICON_LOOKUP_NO_SVG));
|
|
||||||
item->submenu = submenu;
|
|
||||||
|
|
||||||
char *epath = new char[nlen + sizeof("/.directory")];
|
|
||||||
@@ -130,19 +150,35 @@ void GnomeMenu::addEntry(const char *fPa
|
|
||||||
strcpy(epath, npath);
|
|
||||||
}
|
|
||||||
|
|
||||||
+#ifdef CONFIG_MATE_MENUS
|
|
||||||
+ ditem = mate_desktop_item_new_from_file(epath,
|
|
||||||
+ (MateDesktopItemLoadFlags)0,
|
|
||||||
+#else
|
|
||||||
ditem = gnome_desktop_item_new_from_file(epath,
|
|
||||||
(GnomeDesktopItemLoadFlags)0,
|
|
||||||
+#endif
|
|
||||||
NULL);
|
|
||||||
if (ditem) {
|
|
||||||
+#ifdef CONFIG_MATE_MENUS
|
|
||||||
+ item->title = mate_desktop_item_get_localestring(ditem, MATE_DESKTOP_ITEM_NAME); //LXP FX
|
|
||||||
+ item->icon = mate_desktop_item_get_string(ditem, MATE_DESKTOP_ITEM_ICON);
|
|
||||||
+#else
|
|
||||||
item->title = gnome_desktop_item_get_localestring(ditem, GNOME_DESKTOP_ITEM_NAME); //LXP FX
|
|
||||||
item->icon = gnome_desktop_item_get_string(ditem, GNOME_DESKTOP_ITEM_ICON);
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
item->dentry = epath;
|
|
||||||
} else {
|
|
||||||
if (type && !strstr(type, "Directory")) {
|
|
||||||
+#ifdef CONFIG_MATE_MENUS
|
|
||||||
+ item->title = mate_desktop_item_get_localestring(ditem, MATE_DESKTOP_ITEM_NAME);
|
|
||||||
+ if (mate_desktop_item_get_string(ditem, MATE_DESKTOP_ITEM_ICON))
|
|
||||||
+ item->icon = mate_desktop_item_get_string(ditem, MATE_DESKTOP_ITEM_ICON);
|
|
||||||
+#else
|
|
||||||
item->title = gnome_desktop_item_get_localestring(ditem, GNOME_DESKTOP_ITEM_NAME);
|
|
||||||
if (gnome_desktop_item_get_string(ditem, GNOME_DESKTOP_ITEM_ICON))
|
|
||||||
item->icon = gnome_desktop_item_get_string(ditem, GNOME_DESKTOP_ITEM_ICON);
|
|
||||||
+#endif
|
|
||||||
item->dentry = npath;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -281,13 +281,24 @@ void GnomeMenu::populateMenu(const char *fPath) {
|
|
||||||
char fullpath[256];
|
|
||||||
strlcpy(fullpath, dirname, sizeof fullpath);
|
|
||||||
strlcat(fullpath, file->d_name, sizeof fullpath);
|
|
||||||
+#ifdef CONFIG_MATE_MENUS
|
|
||||||
+ MateDesktopItem *ditem =
|
|
||||||
+ mate_desktop_item_new_from_file(fullpath,
|
|
||||||
+ (MateDesktopItemLoadFlags)0,
|
|
||||||
+#else
|
|
||||||
GnomeDesktopItem *ditem =
|
|
||||||
gnome_desktop_item_new_from_file(fullpath,
|
|
||||||
(GnomeDesktopItemLoadFlags)0,
|
|
||||||
+#endif
|
|
||||||
NULL);
|
|
||||||
const char *categories =
|
|
||||||
+#ifdef CONFIG_MATE_MENUS
|
|
||||||
+ mate_desktop_item_get_string(ditem,
|
|
||||||
+ MATE_DESKTOP_ITEM_CATEGORIES);
|
|
||||||
+#else
|
|
||||||
gnome_desktop_item_get_string(ditem,
|
|
||||||
GNOME_DESKTOP_ITEM_CATEGORIES);
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
if (categories && strstr(categories, category)) {
|
|
||||||
if (*file->d_name != '.') {
|
|
||||||
@@ -323,9 +370,15 @@ int runFile(const char *dentry_path) {
|
|
||||||
char arg[32];
|
|
||||||
int i;
|
|
||||||
|
|
||||||
+#ifdef CONFIG_MATE_MENUS
|
|
||||||
+ MateDesktopItem *ditem =
|
|
||||||
+ mate_desktop_item_new_from_file(dentry_path,
|
|
||||||
+ (MateDesktopItemLoadFlags)0,
|
|
||||||
+#else
|
|
||||||
GnomeDesktopItem *ditem =
|
|
||||||
gnome_desktop_item_new_from_file(dentry_path,
|
|
||||||
(GnomeDesktopItemLoadFlags)0,
|
|
||||||
+#endif
|
|
||||||
NULL);
|
|
||||||
|
|
||||||
if (ditem == NULL) {
|
|
||||||
@@ -334,7 +387,11 @@ int runFile(const char *dentry_path) {
|
|
||||||
// FIXME: leads to segfault for some reason, so using execlp instead
|
|
||||||
// gnome_desktop_item_launch(ditem, NULL, 0, NULL);
|
|
||||||
|
|
||||||
+#ifdef CONFIG_MATE_MENUS
|
|
||||||
+ const char *app = mate_desktop_item_get_string(ditem, MATE_DESKTOP_ITEM_EXEC);
|
|
||||||
+#else
|
|
||||||
const char *app = gnome_desktop_item_get_string(ditem, GNOME_DESKTOP_ITEM_EXEC);
|
|
||||||
+#endif
|
|
||||||
if(!app)
|
|
||||||
return 1;
|
|
||||||
|
|
||||||
@@ -351,7 +408,10 @@ int runFile(const char *dentry_path) {
|
|
||||||
|
|
||||||
int main(int argc, char **argv) {
|
|
||||||
|
|
||||||
+ gtk_init(&argc, &argv);
|
|
||||||
+#ifndef CONFIG_MATE_MENUS
|
|
||||||
gnome_vfs_init();
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
for (char ** arg = argv + 1; arg < argv + argc; ++arg) {
|
|
||||||
if (**arg == '-') {
|
|
||||||
--- a/src/Makefile.am
|
|
||||||
+++ b/src/Makefile.am
|
|
||||||
@@ -11,6 +11,7 @@ EXTRA_PROGRAMS = \
|
|
||||||
icesound \
|
|
||||||
icewm-menu-gnome1 \
|
|
||||||
icewm-menu-gnome2 \
|
|
||||||
+ icewm-menu-mate \
|
|
||||||
icewm-menu-fdo \
|
|
||||||
testarray \
|
|
||||||
testlocale \
|
|
||||||
@@ -72,6 +73,10 @@ bin_PROGRAMS += icewm-menu-gnome2
|
|
||||||
AM_INSTALLCHECK_STD_OPTIONS_EXEMPT += icewm-menu-gnome2
|
|
||||||
endif
|
|
||||||
|
|
||||||
+if BUILD_MENU_MATE
|
|
||||||
+bin_PROGRAMS += icewm-menu-mate
|
|
||||||
+endif
|
|
||||||
+
|
|
||||||
if BUILD_MENU_FDO
|
|
||||||
bin_PROGRAMS += icewm-menu-fdo
|
|
||||||
AM_INSTALLCHECK_STD_OPTIONS_EXEMPT += icewm-menu-fdo
|
|
||||||
@@ -371,6 +376,20 @@ icewm_menu_gnome1_SOURCES = \
|
|
||||||
ascii.h
|
|
||||||
icewm_menu_gnome1_LDADD = libice.la $(GNOME1_LIBS) $(CORE_LIBS)
|
|
||||||
|
|
||||||
+icewm_menu_mate_SOURCES = \
|
|
||||||
+ intl.h \
|
|
||||||
+ debug.h \
|
|
||||||
+ sysdep.h \
|
|
||||||
+ base.h \
|
|
||||||
+ themable.h \
|
|
||||||
+ default.h \
|
|
||||||
+ ylib.h \
|
|
||||||
+ gnome2.cc \
|
|
||||||
+ ascii.h \
|
|
||||||
+ ycmdline.cc \
|
|
||||||
+ ycmdline.h
|
|
||||||
+icewm_menu_mate_LDADD = libice.la $(GNOME2_LIBS) $(CORE_LIBS)
|
|
||||||
+
|
|
||||||
icewm_menu_gnome2_SOURCES = \
|
|
||||||
intl.h \
|
|
||||||
debug.h \
|
|
@ -14,22 +14,19 @@ a file generated by ./src/genpref. To edit the patch:
|
|||||||
vi lib/preferences
|
vi lib/preferences
|
||||||
quilt refresh
|
quilt refresh
|
||||||
---
|
---
|
||||||
src/preferences | 12 ++++++------
|
diff --git a/src/preferences b/src/preferences
|
||||||
1 file changed, 6 insertions(+), 6 deletions(-)
|
index dbf965e..94d8053 100644
|
||||||
|
|
||||||
Index: src/preferences
|
|
||||||
===================================================================
|
|
||||||
--- a/src/preferences
|
--- a/src/preferences
|
||||||
+++ b/src/preferences
|
+++ b/src/preferences
|
||||||
@@ -543,6 +543,7 @@
|
@@ -555,6 +555,7 @@
|
||||||
|
|
||||||
# Icon search path (colon separated)
|
# Icon search path (colon separated)
|
||||||
# IconPath="/usr/share/icons/hicolor:/usr/share/icons:/usr/share/pixmaps"
|
# IconPath="/usr/share/icons/oxygen/base:/usr/share/icons/Adwaita:/usr/share/icons/hicolor:/usr/share/icons:/usr/share/pixmaps:/usr/local/share/icons/hicolor:"
|
||||||
+IconPath="/usr/share/icons/Adwaita/16x16/apps:/usr/share/icons/hicolor:/usr/share/icons:/usr/share/pixmaps"
|
+IconPath="/usr/share/icons/Adwaita/16x16/apps:/usr/share/icons/hicolor:/usr/share/icons:/usr/share/pixmaps"
|
||||||
|
|
||||||
# Mailbox path (use $MAIL instead)
|
# Mailbox path (use $MAIL instead)
|
||||||
# MailBoxPath=""
|
# MailBoxPath=""
|
||||||
@@ -545,7 +545,7 @@
|
@@ -569,7 +570,7 @@
|
||||||
# NewMailCommand=""
|
# NewMailCommand=""
|
||||||
|
|
||||||
# Command to lock display/screensaver
|
# Command to lock display/screensaver
|
||||||
@ -38,21 +35,21 @@ Index: src/preferences
|
|||||||
|
|
||||||
# Command to run on clock
|
# Command to run on clock
|
||||||
# ClockCommand="xclock -name icewm -title Clock"
|
# ClockCommand="xclock -name icewm -title Clock"
|
||||||
@@ -569,10 +569,10 @@
|
@@ -592,10 +593,10 @@
|
||||||
# LogoutCancelCommand=""
|
# LogoutCancelCommand=""
|
||||||
|
|
||||||
# Command to shutdown the system
|
# Command to shutdown the system
|
||||||
-# ShutdownCommand="/bin/sh -c "{ test -e /run/systemd/system && systemctl poweroff; } ||:""
|
-# ShutdownCommand="test -e /run/systemd/system && systemctl poweroff"
|
||||||
+ShutdownCommand="/bin/sh -c 'systemctl poweroff ||:'"
|
+ShutdownCommand="/bin/sh -c 'systemctl poweroff ||:'"
|
||||||
|
|
||||||
# Command to reboot the system
|
# Command to reboot the system
|
||||||
-# RebootCommand="/bin/sh -c "{ test -e /run/systemd/system && systemctl reboot; } ||:""
|
-# RebootCommand="test -e /run/systemd/system && systemctl reboot"
|
||||||
+RebootCommand="/bin/sh -c 'systemctl reboot ||:'"
|
+RebootCommand="/bin/sh -c 'systemctl reboot ||:'"
|
||||||
|
|
||||||
# Command to run on CPU status
|
# Command to send the system to standby mode
|
||||||
# CPUStatusCommand="xterm -name top -title Process\ Status -e top"
|
# SuspendCommand="test -e /run/systemd/system && systemctl suspend"
|
||||||
@@ -1328,19 +1328,19 @@
|
@@ -1323,16 +1324,16 @@ WorkspaceNames=" 1 ", " 2 ", " 3 ", " 4 "
|
||||||
#
|
# DesktopBackgroundMultihead=0 # 0/1
|
||||||
|
|
||||||
# Display desktop background centered and not tiled
|
# Display desktop background centered and not tiled
|
||||||
-# DesktopBackgroundCenter=0 # 0/1
|
-# DesktopBackgroundCenter=0 # 0/1
|
||||||
@ -61,16 +58,13 @@ Index: src/preferences
|
|||||||
# Support for semitransparent terminals like Eterm or gnome-terminal
|
# Support for semitransparent terminals like Eterm or gnome-terminal
|
||||||
# SupportSemitransparency=1 # 0/1
|
# SupportSemitransparency=1 # 0/1
|
||||||
|
|
||||||
# Desktop background scaled to full screen
|
# Resize desktop background to full screen
|
||||||
-# DesktopBackgroundScaled=0 # 0/1
|
-# DesktopBackgroundScaled=0 # 0/1
|
||||||
+DesktopBackgroundScaled=1 # 0/1
|
+DesktopBackgroundScaled=1 # 0/1
|
||||||
|
|
||||||
# Desktop background color
|
# Desktop background image(s)
|
||||||
# DesktopBackgroundColor="rgb:00/20/40"
|
|
||||||
|
|
||||||
# Desktop background image
|
|
||||||
-# DesktopBackgroundImage=""
|
-# DesktopBackgroundImage=""
|
||||||
+DesktopBackgroundImage="BRANDING_PICTURE"
|
+DesktopBackgroundImage="BRANDING_PICTURE"
|
||||||
|
|
||||||
# Color to announce for semi-transparent windows
|
# Desktop background color(s)
|
||||||
# DesktopTransparencyColor=""
|
# DesktopBackgroundColor=""
|
||||||
|
@ -1,60 +1,89 @@
|
|||||||
diff --git a/lib/menu.in b/lib/menu.in
|
diff --git a/lib/menu.in b/lib/menu.in
|
||||||
index 88a3d70..e79d828 100644
|
index f200514..3118471 100644
|
||||||
--- a/lib/menu.in
|
--- a/lib/menu.in
|
||||||
+++ b/lib/menu.in
|
+++ b/lib/menu.in
|
||||||
@@ -13,5 +13,6 @@ prog XChat xchat xchat
|
@@ -12,5 +12,6 @@ prog Firefox mozilla firefox
|
||||||
|
prog Hexchat xchat hexchat
|
||||||
prog Gimp gimp gimp
|
prog Gimp gimp gimp
|
||||||
separator
|
includeprog icewm-menu-fdo --sep-before --no-sep-others
|
||||||
menuprog "Desktop Apps" folder icewm-menu-fdo
|
|
||||||
-menufile Programs folder programs
|
-menufile Programs folder programs
|
||||||
+#menufile Programs folder programs
|
+#menufile Programs folder programs
|
||||||
menufile Tool_bar folder toolbar
|
menufile Tool_bar folder toolbar
|
||||||
+menuprog SUSE folder xdg_menu --format icewm
|
+menuprog SUSE folder xdg_menu --format icewm
|
||||||
diff --git a/src/wmprog.cc b/src/wmprog.cc
|
diff --git a/src/wmmenu.cc b/src/wmmenu.cc
|
||||||
index d1ce6b0..5190d80 100644
|
index ccee25e..ec2ff81 100644
|
||||||
--- a/src/wmprog.cc
|
--- a/src/wmmenu.cc
|
||||||
+++ b/src/wmprog.cc
|
+++ b/src/wmmenu.cc
|
||||||
@@ -429,7 +429,42 @@ char *parseMenus(
|
@@ -297,6 +297,45 @@ char* MenuLoader::parseMenuProg(char *p, ObjectContainer *container)
|
||||||
if (progmenu)
|
return p;
|
||||||
container->addContainer(name.cstr(), icon, progmenu);
|
}
|
||||||
}
|
|
||||||
- } else if (!strcmp(word, "menuprogreload")) {
|
|
||||||
+ } else if (!strcmp(word, "suseprog")) {
|
|
||||||
+ Argument name;
|
|
||||||
+
|
|
||||||
+ p = YConfig::getArgument(&name, p);
|
|
||||||
+ if (p == 0) return p;
|
|
||||||
+
|
|
||||||
+ Argument icons;
|
|
||||||
+
|
|
||||||
+ p = YConfig::getArgument(&icons, p);
|
|
||||||
+ if (p == 0) return p;
|
|
||||||
+
|
|
||||||
+ Argument command;
|
|
||||||
+ YStringArray args;
|
|
||||||
+
|
|
||||||
+ p = getCommandArgs(p, &command, args);
|
|
||||||
+ if (p == 0) {
|
|
||||||
+ msg(_("Error at prog %s"), name.cstr());
|
|
||||||
+ return p;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ ref<YIcon> icon;
|
|
||||||
+#ifndef LITE
|
|
||||||
+ if (icons[0] != '-')
|
|
||||||
+ icon = YIcon::getIcon(icons);
|
|
||||||
+#endif
|
|
||||||
+ MSG(("suseprog %s %s", name.cstr(), command.cstr()));
|
|
||||||
+
|
|
||||||
+ upath fullPath = findPath(getenv("PATH"), X_OK, command.cstr());
|
|
||||||
+ if (fullPath != null) {
|
|
||||||
+ ObjectMenu *progmenu = new MenuProgMenu(
|
|
||||||
+ app, smActionListener, wmActionListener,
|
|
||||||
+ name.cstr(), command.cstr(), args, 0);
|
|
||||||
+ if (progmenu)
|
|
||||||
+ container->addContainer(name.cstr(), icon, progmenu);
|
|
||||||
+ }
|
|
||||||
+ } else if (!strcmp(word, "menuprogreload")) {
|
|
||||||
Argument name;
|
|
||||||
|
|
||||||
p = YConfig::getArgument(&name, p);
|
+char* MenuLoader::parseSuseProg(char *p, ObjectContainer *container)
|
||||||
|
+{
|
||||||
|
+ Argument name;
|
||||||
|
+
|
||||||
|
+ p = YConfig::getArgument(&name, p);
|
||||||
|
+ if (p == 0) return p;
|
||||||
|
+
|
||||||
|
+ Argument icons;
|
||||||
|
+
|
||||||
|
+ p = YConfig::getArgument(&icons, p);
|
||||||
|
+ if (p == 0) return p;
|
||||||
|
+
|
||||||
|
+ Argument command;
|
||||||
|
+ YStringArray args;
|
||||||
|
+
|
||||||
|
+ p = getCommandArgs(p, &command, args);
|
||||||
|
+ if (p == 0) {
|
||||||
|
+ msg(_("Error at prog %s"), name.cstr());
|
||||||
|
+ return p;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ ref<YIcon> icon;
|
||||||
|
+#ifndef LITE
|
||||||
|
+ if (icons[0] != '-')
|
||||||
|
+ icon = YIcon::getIcon(icons);
|
||||||
|
+#endif
|
||||||
|
+ MSG(("suseprog %s %s", name.cstr(), command.cstr()));
|
||||||
|
+
|
||||||
|
+ upath fullPath = findPath(getenv("PATH"), X_OK, command.cstr());
|
||||||
|
+ if (fullPath != null) {
|
||||||
|
+ ObjectMenu *progmenu = new MenuProgMenu(
|
||||||
|
+ app, smActionListener, wmActionListener,
|
||||||
|
+ name.cstr(), command.cstr(), args, 0);
|
||||||
|
+ if (progmenu)
|
||||||
|
+ container->addContainer(name.cstr(), icon, progmenu);
|
||||||
|
+ }
|
||||||
|
+ return p;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
char* MenuLoader::parseMenuProgReload(char *p, ObjectContainer *container)
|
||||||
|
{
|
||||||
|
Argument name;
|
||||||
|
@@ -398,6 +437,9 @@ char* MenuLoader::parseWord(char *word, char *p, ObjectContainer *container)
|
||||||
|
else if (!strcmp(word, "menuprogreload")) {
|
||||||
|
p = parseMenuProgReload(p, container);
|
||||||
|
}
|
||||||
|
+ else if (!strcmp(word, "suseprog")) {
|
||||||
|
+ p = parseSuseProg(p, container);
|
||||||
|
+ }
|
||||||
|
else if (!strcmp(word, "include")) {
|
||||||
|
p = parseIncludeStatement(p, container);
|
||||||
|
}
|
||||||
|
diff --git a/src/wmprog.h b/src/wmprog.h
|
||||||
|
index 4e9bd1f..d5b9827 100644
|
||||||
|
--- a/src/wmprog.h
|
||||||
|
+++ b/src/wmprog.h
|
||||||
|
@@ -31,10 +31,12 @@ private:
|
||||||
|
char* parseMenuFile(char *data, ObjectContainer *container);
|
||||||
|
char* parseMenuProg(char *data, ObjectContainer *container);
|
||||||
|
char* parseMenuProgReload(char *data, ObjectContainer *container);
|
||||||
|
+ char* parseSuseProg(char *p, ObjectContainer *container);
|
||||||
|
char* parseKey(char *word, char *p);
|
||||||
|
char* parseProgram(char *word, char *p, ObjectContainer *container);
|
||||||
|
char* parseWord(char *word, char *p, ObjectContainer *container);
|
||||||
|
|
||||||
|
+
|
||||||
|
IApp *app;
|
||||||
|
YSMListener *smActionListener;
|
||||||
|
YActionListener *wmActionListener;
|
||||||
|
@ -1,18 +0,0 @@
|
|||||||
diff --git a/src/default.h b/src/default.h
|
|
||||||
index a5e9a52..acc671a 100644
|
|
||||||
--- a/src/default.h
|
|
||||||
+++ b/src/default.h
|
|
||||||
@@ -200,8 +200,12 @@ XIV(int, taskBarNetDelay, 500)
|
|
||||||
XSV(const char *, cpuCommand, "xterm -name top -title Process\\ Status -e top")
|
|
||||||
XSV(const char *, cpuClassHint, "top.XTerm")
|
|
||||||
XIV(bool, cpuCombine, true)
|
|
||||||
-XSV(const char *, netCommand, "xterm -name netstat -title 'Network Status' -e netstat -c")
|
|
||||||
XSV(const char *, netClassHint, "netstat.XTerm")
|
|
||||||
+#ifdef __linux__
|
|
||||||
+XSV(const char *, netCommand, "xterm -name netstat -title 'Network Status' -e sh -c 'which ss > /dev/null && watch -t ss -putsw || netstat -c'")
|
|
||||||
+#else
|
|
||||||
+XSV(const char *, netCommand, "xterm -name netstat -title 'Network Status' -e netstat -c")
|
|
||||||
+#endif
|
|
||||||
XSV(const char *, netDevice, "eth0 wlan0")
|
|
||||||
XSV(const char *, addressBarCommand, 0)
|
|
||||||
#ifdef CONFIG_I18N
|
|
@ -1,3 +1,20 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Apr 3 06:00:40 UTC 2019 - qzheng <qzheng@suse.com>
|
||||||
|
|
||||||
|
- Update to 1.5.3
|
||||||
|
- Rebase patches
|
||||||
|
- icewm-susemenu.patch: rebase "suseprog" function
|
||||||
|
- icewm-desktop-nodisplay.patch: rebase, set NoDisplay for
|
||||||
|
icewm.desktop
|
||||||
|
- icewm-preferences.patch: rebase, only IconPath hunk not in
|
||||||
|
upstream now
|
||||||
|
- Drop patches
|
||||||
|
- icewm-mate.patch: upstream no longer uses icewm-menu-gnome2 to
|
||||||
|
generate a default menu, the current freedesktop.org approach
|
||||||
|
is superior for current distros
|
||||||
|
- icewm-use-iproute2-ss-instead-of-netstat.patch:
|
||||||
|
was accepted by upstream
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Sep 7 07:49:13 UTC 2018 - qzheng@suse.com
|
Fri Sep 7 07:49:13 UTC 2018 - qzheng@suse.com
|
||||||
|
|
||||||
|
20
icewm.spec
20
icewm.spec
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package icewm
|
# spec file for package icewm
|
||||||
#
|
#
|
||||||
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
|
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -18,21 +18,17 @@
|
|||||||
|
|
||||||
%global lites icewm icewmhint icewmbg icesh icewm-session
|
%global lites icewm icewmhint icewmbg icesh icewm-session
|
||||||
Name: icewm
|
Name: icewm
|
||||||
Version: 1.4.2
|
Version: 1.5.3
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Window Manager with a Taskbar
|
Summary: Window Manager with a Taskbar
|
||||||
License: LGPL-2.1-or-later
|
License: LGPL-2.1-or-later
|
||||||
Group: System/GUI/Other
|
Group: System/GUI/Other
|
||||||
Url: http://www.icewm.org/
|
Url: https://ice-wm.org/
|
||||||
Source0: https://github.com/bbidulock/%{name}/releases/download/%{version}/%{name}-%{version}.tar.bz2
|
Source0: https://github.com/ice-wm/%{name}/releases/download/%{version}/%{name}-%{version}.tar.xz
|
||||||
# PATCH-FIX-OPENSUSE icewm-mate.patch sor.alexei@meowr.ru -- Add MATE Menus support.
|
|
||||||
Patch0: icewm-mate.patch
|
|
||||||
# PATCH-FEATURE-SUSE icewm-susemenu.patch tyang@suse.com -- Add xdg-menu for SLED icewm
|
# PATCH-FEATURE-SUSE icewm-susemenu.patch tyang@suse.com -- Add xdg-menu for SLED icewm
|
||||||
Patch1: icewm-susemenu.patch
|
Patch1: icewm-susemenu.patch
|
||||||
# PATCH-FIX-OPENSUSE icewm-desktop-nodisplay.patch qkzhu@suse.com -- Set NoDisplay for icewm.desktop
|
# PATCH-FIX-OPENSUSE icewm-desktop-nodisplay.patch qkzhu@suse.com -- Set NoDisplay for icewm.desktop
|
||||||
Patch2: icewm-desktop-nodisplay.patch
|
Patch2: icewm-desktop-nodisplay.patch
|
||||||
# PATCH-FIX-UPSTREAM icewm-use-iproute2-ss-instead-of-netstat.patch qzheng@suse.com -- Use ss instead of netstat
|
|
||||||
Patch3: icewm-use-iproute2-ss-instead-of-netstat.patch
|
|
||||||
Patch99: icewm-preferences.patch
|
Patch99: icewm-preferences.patch
|
||||||
BuildRequires: autoconf
|
BuildRequires: autoconf
|
||||||
BuildRequires: automake
|
BuildRequires: automake
|
||||||
@ -142,10 +138,9 @@ mailbox status, and a digital clock. It is fast and small.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch0 -p1
|
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
%patch3 -p1
|
|
||||||
# Do not require needlessly new gettext.
|
# Do not require needlessly new gettext.
|
||||||
sed -i 's/0.19.6/0.18.3/g' configure.ac
|
sed -i 's/0.19.6/0.18.3/g' configure.ac
|
||||||
|
|
||||||
@ -279,7 +274,8 @@ fi
|
|||||||
%{_datadir}/xsessions/icewm-session.desktop
|
%{_datadir}/xsessions/icewm-session.desktop
|
||||||
%{_datadir}/xsessions/icewm.desktop
|
%{_datadir}/xsessions/icewm.desktop
|
||||||
%{_datadir}/xsessions/default.desktop
|
%{_datadir}/xsessions/default.desktop
|
||||||
%{_mandir}/man1/icewm.1%{?ext_man}
|
%{_mandir}/man1/
|
||||||
|
%{_mandir}/man5/
|
||||||
|
|
||||||
%files config-upstream
|
%files config-upstream
|
||||||
%dir %{_sysconfdir}/icewm/
|
%dir %{_sysconfdir}/icewm/
|
||||||
@ -307,7 +303,7 @@ fi
|
|||||||
%{_bindir}/icesh
|
%{_bindir}/icesh
|
||||||
%{_bindir}/icewm-session
|
%{_bindir}/icewm-session
|
||||||
%{_bindir}/icewm-menu-fdo
|
%{_bindir}/icewm-menu-fdo
|
||||||
%{_datadir}/applications/icewm.desktop
|
%{_bindir}/icewm-menu-xrandr
|
||||||
|
|
||||||
%files lite
|
%files lite
|
||||||
%ghost %{_sysconfdir}/alternatives/icewm
|
%ghost %{_sysconfdir}/alternatives/icewm
|
||||||
|
Loading…
x
Reference in New Issue
Block a user