diff --git a/1.3.12.tar.gz b/1.3.12.tar.gz deleted file mode 100644 index d97c03f..0000000 --- a/1.3.12.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e7e0fe0fb07e297fa40f0c9d149c0cf6da19e13b98178fc779dca9ed81b3b232 -size 944617 diff --git a/icewm-1.4.2.tar.bz2 b/icewm-1.4.2.tar.bz2 new file mode 100644 index 0000000..74fcf83 --- /dev/null +++ b/icewm-1.4.2.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9920901c5eadb6df95af68dcb4f044b16e76e80ccd2c420b66c2ab83559477a7 +size 1731772 diff --git a/icewm-exit-fork.patch b/icewm-exit-fork.patch deleted file mode 100644 index 060692f..0000000 --- a/icewm-exit-fork.patch +++ /dev/null @@ -1,64 +0,0 @@ -Author: Fabian Vogt -Subject: Start shutdown and reboot commands in background - -When polkit is enabled, systemctl may in turn wait for the -graphical password prompt to return. The created window cannot -be handled by icewm as it is busy with systemctl. -This avoids this deadlock by starting systemctl in background. - ---- - src/wmmgr.cc | 23 +++++++++++++++++++---- - src/wmmgr.h | 1 + - 2 files changed, 20 insertions(+), 4 deletions(-) - -Index: icewm-1.3.12/src/wmmgr.cc -=================================================================== ---- icewm-1.3.12.orig/src/wmmgr.cc -+++ icewm-1.3.12/src/wmmgr.cc -@@ -3011,16 +3011,30 @@ void YWindowManager::updateUserTime(Time - } - } - -+void YWindowManager::execAfterFork(const char *command) { -+ pid_t pid = fork(); -+ switch(pid) { -+ case -1: /* Failed */ -+ warn("fork failed (%d)", errno); -+ return; -+ case 0: /* Child */ -+ execl("/bin/sh", "sh", "-c", command, (char *) 0); -+ return; /* Never reached */ -+ default: /* Parent */ -+ return; -+ } -+} -+ - void YWindowManager::checkLogout() { - if (fShuttingDown && !haveClients()) { -+ fShuttingDown = false; /* Only run the command once */ -+ - if (rebootOrShutdown == 1 && rebootCommand && rebootCommand[0]) { - msg("reboot... (%s)", rebootCommand); -- if (system(rebootCommand) == -1) -- return; -+ execAfterFork(rebootCommand); - } else if (rebootOrShutdown == 2 && shutdownCommand && shutdownCommand[0]) { - msg("shutdown ... (%s)", shutdownCommand); -- if (system(shutdownCommand) == -1) -- return; -+ execAfterFork(shutdownCommand); - } else - app->exit(0); - } -Index: icewm-1.3.12/src/wmmgr.h -=================================================================== ---- icewm-1.3.12.orig/src/wmmgr.h -+++ icewm-1.3.12/src/wmmgr.h -@@ -188,6 +188,7 @@ public: - - void wmCloseSession(); - void exitAfterLastClient(bool shuttingDown); -+ void execAfterFork(const char *command); - void checkLogout(); - - virtual void resetColormap(bool active); diff --git a/icewm-mail.patch b/icewm-mail.patch deleted file mode 100644 index 62681bd..0000000 --- a/icewm-mail.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -Naur icewm-1.3.12.orig/src/default.h icewm-1.3.12/src/default.h ---- icewm-1.3.12.orig/src/default.h 2015-12-17 02:17:06.000000000 +0100 -+++ icewm-1.3.12/src/default.h 2017-02-20 15:58:12.275577702 +0100 -@@ -174,8 +174,8 @@ - #endif - - XSV(const char *, mailBoxPath, 0) --XSV(const char *, mailCommand, "xterm -name alpine -title ALPINE -e alpine") --XSV(const char *, mailClassHint, "alpine.XTerm") -+XSV(const char *, mailCommand, "xterm -name mutt -e mutt") -+XSV(const char *, mailClassHint, "mutt.XTerm") - XSV(const char *, newMailCommand, 0) - XSV(const char *, lockCommand, 0) - XSV(const char *, clockCommand, "xclock -name icewm -title Clock") diff --git a/icewm-mate.patch b/icewm-mate.patch index 9417b08..2746f29 100644 --- a/icewm-mate.patch +++ b/icewm-mate.patch @@ -66,8 +66,8 @@ +gsettings get org.mate.session.required-components windowmanager --- a/Makefile.am +++ b/Makefile.am -@@ -36,8 +36,12 @@ dist_noinst_SCRIPTS = \ - autogen.sh +@@ -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 \ @@ -75,13 +75,9 @@ +desktopdir = $(datadir)/applications +desktop_DATA = icewm.desktop -+ - ChangeLog: - ( \ - echo -e "# created with git log -n 200 --abbrev-commit --decorate --stat=76 -M -C|fmt -sct -w80\n" ; \ --- a/src/gnome2.cc +++ b/src/gnome2.cc -@@ -22,12 +22,17 @@ +@@ -25,10 +25,16 @@ char const * ApplicationName = "icewm-menu-gnome2"; #include #include @@ -95,8 +91,7 @@ #include #include -#include "yarray.h" - - char const * ApplicationName = "icewm-menu-gnome2"; ++ +#endif class GnomeMenu; @@ -195,10 +190,10 @@ item->dentry = npath; } } -@@ -280,13 +316,24 @@ void GnomeMenu::populateMenu(const char +@@ -281,13 +281,24 @@ void GnomeMenu::populateMenu(const char *fPath) { char fullpath[256]; - strcpy(fullpath, dirname); - strcat(fullpath, file->d_name); + 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, @@ -261,7 +256,7 @@ if (**arg == '-') { --- a/src/Makefile.am +++ b/src/Makefile.am -@@ -14,6 +14,7 @@ EXTRA_PROGRAMS = \ +@@ -11,6 +11,7 @@ EXTRA_PROGRAMS = \ icesound \ icewm-menu-gnome1 \ icewm-menu-gnome2 \ @@ -269,8 +264,8 @@ icewm-menu-fdo \ testarray \ testlocale \ -@@ -75,6 +76,10 @@ if BUILD_MENU_GNOME2 - bin_PROGRAMS += icewm-menu-gnome2 +@@ -72,6 +73,10 @@ bin_PROGRAMS += icewm-menu-gnome2 + AM_INSTALLCHECK_STD_OPTIONS_EXEMPT += icewm-menu-gnome2 endif +if BUILD_MENU_MATE @@ -279,9 +274,9 @@ + if BUILD_MENU_FDO bin_PROGRAMS += icewm-menu-fdo - endif -@@ -373,6 +378,20 @@ icewm_menu_gnome1_SOURCES = \ - ycmdline.h + 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 = \ diff --git a/icewm-preferences.patch b/icewm-preferences.patch index 79f3d06..5a4a5e1 100644 --- a/icewm-preferences.patch +++ b/icewm-preferences.patch @@ -21,12 +21,11 @@ Index: src/preferences =================================================================== --- a/src/preferences +++ b/src/preferences -@@ -530,7 +530,7 @@ - # NetWorkAreaBehaviour=0 # [0-2] +@@ -543,6 +543,7 @@ # Icon search path (colon separated) --# IconPath="" -+IconPath="/usr/share/icons/Adwaita/16x16/apps:/usr/share/icons/hicolor/16x16/apps:/usr/share/pixmaps" + # IconPath="/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) # MailBoxPath="" diff --git a/icewm-session-desktop.patch b/icewm-session-desktop.patch deleted file mode 100644 index 1de005f..0000000 --- a/icewm-session-desktop.patch +++ /dev/null @@ -1,116 +0,0 @@ -From b127566dfbdd985cd5632fe3686c77fa7f0d56b3 Mon Sep 17 00:00:00 2001 -From: Brian Bidulock -Date: Wed, 10 Feb 2016 11:51:45 -0700 -Subject: [PATCH] proper XSession .desktop files - ---- - lib/icewm-session.desktop | 58 +++++++++++++++++++++++++++++++++++++++++++---- - lib/icewm.desktop | 26 +++++++++++++++++++++ - 4 files changed, 82 insertions(+), 4 deletions(-) - create mode 100644 lib/icewm.desktop - -Index: icewm-1.3.12/lib/icewm-session.desktop -=================================================================== ---- icewm-1.3.12.orig/lib/icewm-session.desktop -+++ icewm-1.3.12/lib/icewm-session.desktop -@@ -1,12 +1,62 @@ - [Desktop Entry] --Version=1.0 - Encoding=UTF-8 - Type=XSession - Name=IceWM Session --Comment=Simple and fast window manger --Terminal=false -+GenericName=Window Manager -+GenericName[fr]=Gestionnaire de Fenêtres -+GenericName[pt]=Gestor de Janelas -+Comment=This session logs you into IceWM -+Comment[az]=Bu iclas sizi Icewm'a daxil edəcək -+Comment[be]=Гэтая сэсыя завядзе вас у Icewm -+Comment[ca]=Aquesta sessió entra en Icewm -+Comment[cs]=Toto sezení vás přihlásí do Icewm -+Comment[cy]=Mae'r sesiwn hwn yn eich mewngofnodi i Icewm -+Comment[da]=Denne session logger dig på Icewm -+Comment[de]=Diese Sitzung meldet Sie an Icewm an -+Comment[el]=Αυτή η συνεδρία σας εισάγει στο Icewm -+Comment[es]=Con esta sesión accede a Icewm -+Comment[fi]=Tämä istunto kirjaa sisään Icewmen -+Comment[fr]=Cette session vous connectera dans Icewm -+Comment[he]=תצורת הפעלה זו מחברת אותך ל Icewm -+Comment[hi]=यह सत्र गनोम में लॉगिन होगा -+Comment[hu]=Ez a munkamenet a Icewm-ba jelentkeztet be -+Comment[it]=Sessione di lavoro con Icewm -+Comment[ja]=Icewm セッションにログインします -+Comment[ko]=Icewm세션으로 로그인합니다 -+Comment[ms]=Sesi ini akan log anda ke Icewm -+Comment[nl]=Deze sessie meldt u aan bij Icewm -+Comment[nn]=Denne økta loggar på Icewm -+Comment[no]=Denne sesjonen logger deg inn til Icewm -+Comment[pl]=Sesja logowania do Icewm -+Comment[pt]=Esta sessão inicia-o no Icewm -+Comment[pt_BR]=Logar no ambiente Icewm -+Comment[ro]=Această sesiune vă va loga în Icewm -+Comment[sk]=Toto sedenie vás prihlási do prostredia Icewm -+Comment[sl]=Ta seja vas prijavi v Icewm -+Comment[sq]=Kjo seancë do t'ju fusë në Icewm -+Comment[sr@Latn]=Ova sesija vas prijavljuje na Icewm -+Comment[sr]=Ова сесија вас пријављује на Icewm -+Comment[sv]=Denna session loggar in dig i Icewm -+Comment[tr]=Bu oturum ile Icewm'a giriş yaparsınız -+Comment[uk]=Сеанс роботи в середовищі Icewm -+Comment[vi]=Session này cho bạn đăng nhập vào Icewm -+Comment[zh_CN]=此会话使您登录到 Icewm -+Comment[zh_TW]=選取這個作業階段後會進入 Icewm 環境 -+Icon=icewm -+TryExec=/usr/bin/icewm-session - Exec=icewm-session --TryExec=icewm-session -+NoDisplay=true -+Hidden=true -+Categories=WindowManager;Application;System; -+StartupNotify=false -+X-GNOME-Autostart-Notify=false -+X-GNOME-Autostart-Phase=WindowManager -+X-GNOME-Provides=windowmanager -+X-GNOME-WMName=icewm -+DesktopNames=ICEWM -+X-LightDM-DesktopName=icewm - - [Window Manager] -+Name=icewm - SessionManaged=true -+StartupNotification=false -Index: icewm-1.3.12/lib/icewm.desktop -=================================================================== ---- icewm-1.3.12.orig/lib/icewm.desktop -+++ icewm-1.3.12/lib/icewm.desktop -@@ -1,8 +1,26 @@ - [Desktop Entry] --Version=1.0 - Encoding=UTF-8 --Type=Application -+Type=XSession - Name=IceWM -+GenericName=Window Manager -+GenericName[fr]=Gestionnaire de Fenêtres -+GenericName[pt]=Gestor de Janelas - Comment=Simple and fast window manger -+Icon=icewm -+TryExec=/usr/bin/icewm - Exec=icewm --TryExec=icewm -+NoDisplay=true -+Hidden=true -+Categories=WindowManager;Application;System; -+StartupNotify=false -+X-GNOME-Autostart-Notify=false -+X-GNOME-Autostart-Phase=WindowManager -+X-GNOME-Provides=windowmanager -+X-GNOME-WMName=icewm -+DesktopNames=ICEWM -+X-LightDM-DesktopName=icewm -+ -+[Window Manager] -+Name=icewm -+SessionManaged=false -+StartupNotification=false diff --git a/icewm-susemenu.patch b/icewm-susemenu.patch index 8e32885..186a838 100644 --- a/icewm-susemenu.patch +++ b/icewm-susemenu.patch @@ -14,43 +14,47 @@ diff --git a/src/wmprog.cc b/src/wmprog.cc index d1ce6b0..5190d80 100644 --- a/src/wmprog.cc +++ b/src/wmprog.cc -@@ -250,6 +250,14 @@ char *parseIncludeStatement(IApp *app, YSMListener *smActionListener, YActionLis - return p; - } - -+void loadMenusProg( -+ IApp *app, -+ YSMListener *smActionListener, -+ YActionListener *wmActionListener, -+ const char *command, -+ char *const argv[], -+ ObjectContainer *container); -+ - char *parseMenus(IApp *app, YSMListener *smActionListener, YActionListener *wmActionListener, char *data, ObjectContainer *container) { - char *p = data; - char word[32]; -@@ -416,7 +424,23 @@ char *parseMenus(IApp *app, YSMListener *smActionListener, YActionListener *wmAc - delete[] name; - delete[] icons; - delete[] command; +@@ -429,7 +429,42 @@ char *parseMenus( + if (progmenu) + container->addContainer(name.cstr(), icon, progmenu); + } - } else if (!strcmp(word, "menuprogreload")) { -+ } else if(!strcmp(word, "suseprog")) { -+ char *command; ++ } 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"), "susemenu"); return p; ++ msg(_("Error at prog %s"), name.cstr()); ++ return p; + } + -+ MSG(("suseprog %s", command)); ++ ref 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); ++ upath fullPath = findPath(getenv("PATH"), X_OK, command.cstr()); + if (fullPath != null) { -+ loadMenusProg(app,smActionListener,wmActionListener,command,args.getCArray(),container); ++ ObjectMenu *progmenu = new MenuProgMenu( ++ app, smActionListener, wmActionListener, ++ name.cstr(), command.cstr(), args, 0); ++ if (progmenu) ++ container->addContainer(name.cstr(), icon, progmenu); + } -+ delete[] command; -+ } else if(!strcmp(word, "menuprogreload")) { - char *name; ++ } else if (!strcmp(word, "menuprogreload")) { + Argument name; - p = YConfig::getArgument(&name, p, false); + p = YConfig::getArgument(&name, p); diff --git a/icewm.changes b/icewm.changes index 4ab960f..8f1cf90 100644 --- a/icewm.changes +++ b/icewm.changes @@ -1,3 +1,37 @@ +------------------------------------------------------------------- +Tue Oct 10 14:02:45 UTC 2017 - tchvatal@suse.com + +- Bring back full icewm-preferences.patch from 1.3 series to actually + work + +------------------------------------------------------------------- +Tue Oct 10 13:36:06 UTC 2017 - tchvatal@suse.com + +- Use prefoverride instead of preferences in the sysconfig to make + sure take priority over theme +- Move programs config option to /etc from /usr/share + +------------------------------------------------------------------- +Thu Oct 5 17:39:23 UTC 2017 - stefan.bruens@rwth-aachen.de + +- Partially revert icewm-preferences.patch to previous revision, otherwise + the icewm default desktop background is used instead of the openSUSE/SLE + specific one, breaking openQA all over the place + +------------------------------------------------------------------- +Sun Sep 24 21:41:00 UTC 2017 - aavindraa@gmail.com + +- Update to 1.4.2 +- Rebase patches + - icewm-susemenu.patch: rebase "suseprog" function + - icewm-preferences.patch: rebase, only IconPath hunk not in upstream now + - icewm-mate.patch: rebase several hunks in which context changed +- Drop patches that were accepted upstream + - icewm-session-desktop.patch + - icewm-exit-fork.patch + - icewm-mail.patch +- Swap "sgmltool" for "asciidoc" + ------------------------------------------------------------------- Tue May 23 08:55:22 UTC 2017 - tchvatal@suse.com diff --git a/icewm.spec b/icewm.spec index 2e37ab0..50355a6 100644 --- a/icewm.spec +++ b/icewm.spec @@ -18,34 +18,27 @@ %global lites icewm icewmhint icewmbg icesh icewm-session Name: icewm -Version: 1.3.12 +Version: 1.4.2 Release: 0 Summary: Window Manager with a Taskbar License: LGPL-2.1+ Group: System/GUI/Other Url: http://www.icewm.org/ -Source0: https://github.com/bbidulock/icewm/archive/%{version}.tar.gz +Source0: https://github.com/bbidulock/%{name}/releases/download/%{version}/%{name}-%{version}.tar.bz2 Source1: icewm.desktop # 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 Patch1: icewm-susemenu.patch -# PATCH-FIX-UPSTREAM tweak the desktop session files to work correctly -Patch2: icewm-session-desktop.patch -# PATCH-FIX-OPENSUSE run shutdown and reboot in background -Patch3: icewm-exit-fork.patch -# Fix for bsc#1026134, replace alpine by an alternative being available by -# default on SLE/openSUSE, same as done on Debian -Patch4: icewm-mail.patch Patch99: icewm-preferences.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: libtool +BuildRequires: pkgconfig # Needed for documentation. -BuildRequires: pkg-config -BuildRequires: sgmltool +BuildRequires: asciidoc BuildRequires: update-alternatives BuildRequires: update-desktop-files BuildRequires: pkgconfig(alsa) @@ -65,11 +58,6 @@ Requires: desktop-data Requires: icewm-bin Requires: icewm-configuration-files Requires: xdg-menu -%if 0%{?suse_version} > 1315 -Requires: xterm-bin -%else -Requires: xterm -%endif Requires(post): update-alternatives Requires(postun): update-alternatives # If you have the choice, prefer the big one. @@ -80,6 +68,11 @@ Recommends: xlockmore Provides: icewm-gnome = %{version} Obsoletes: icewm-gnome < %{version} Provides: windowmanager +%if 0%{?suse_version} > 1315 +Requires: xterm-bin +%else +Requires: xterm +%endif %description A window manager for the X Window System that can emulate the look @@ -140,9 +133,6 @@ mailbox status, and a digital clock. It is fast and small. %setup -q %patch0 -p1 %patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 # Do not require needlessly new gettext. sed -i 's/0.19.6/0.18.3/g' configure.ac @@ -194,7 +184,7 @@ wallpaper="openSUSEdefault" wallpaper="SLEdefault" %endif sed -i \ - -e "s:BRANDING_PICTURE:/usr/share/wallpapers/$wallpaper/contents/images/1920x1080.jpg:" \ + -e "s:BRANDING_PICTURE:%{_datadir}/wallpapers/$wallpaper/contents/images/1920x1080.jpg:" \ src/preferences %install @@ -204,10 +194,13 @@ sed -i \ rm -f %{buildroot}%{_bindir}/icewm-set-{gnomewm,matewm} mkdir -p %{buildroot}%{_sysconfdir}/icewm/ -for cfgfile in keys menu preferences toolbar winoptions ; do +for cfgfile in keys menu preferences toolbar winoptions programs; do mv -f %{buildroot}%{_datadir}/icewm/$cfgfile \ %{buildroot}%{_sysconfdir}/icewm/ done +# move preferences to prefoverride to take preference over themes +mv %{buildroot}/%{_sysconfdir}/icewm/preferences \ + %{buildroot}/%{_sysconfdir}/icewm/prefoverride %find_lang icewm ln -sf icewm.html %{buildroot}/%{_docdir}/icewm/index.html @@ -267,7 +260,6 @@ if [ $1 -eq 0 ] ; then fi %files -%defattr(-,root,root) %doc %{_docdir}/icewm %ghost %{_sysconfdir}/alternatives/default-xsession.desktop %{_datadir}/icewm/ @@ -277,15 +269,12 @@ fi %{_mandir}/man1/icewm.1%{?ext_man} %files config-upstream -%defattr(-,root,root) %dir %{_sysconfdir}/icewm/ %config %{_sysconfdir}/icewm/* %files lang -f icewm.lang -%defattr(-,root,root) %files default -%defattr(-,root,root) %ghost %{_sysconfdir}/alternatives/icewm %ghost %{_sysconfdir}/alternatives/icewmhint %ghost %{_sysconfdir}/alternatives/icewmbg @@ -308,7 +297,6 @@ fi %{_datadir}/applications/icewm.desktop %files lite -%defattr(-,root,root) %ghost %{_sysconfdir}/alternatives/icewm %ghost %{_sysconfdir}/alternatives/icewmhint %ghost %{_sysconfdir}/alternatives/icewmbg