- Update to 0.12.0:

* Set patch version
  * lxqt-session: Unify arguments parsing
  * Don't export github templates
  * Add/Update Lithuanian language
  * c'n'p bug
  * add basic cli to lxqt-session
  * lxqt-session: Provide reboot/powerOff methods
  * Drops Qt5Core_VERSION_STRING
  * lxqt-config-session: set Qt::AA_UseHighDpiPixmaps to true
  * lxqt-leave: set Qt::AA_UseHighDpiPixmaps to true
  * improved --version
  * Added QCommandLineParser and basic cli interface to lxqt-conf-session
  * Added default CMAKE_BUILD_TYPE and LXQT_SESSION_PATCH_VERSION
  * String encoding (#103)
  * Fixes a FTBFS in superbuild mode (#102)
  * lxqt-leave: Fix "disabled items" key navigation
  * Address "unused parameter" compiler warnings
  * lxqt-leave: Redesign dialog for good key navigation
  * Removed superfluous include(LXQtTranslateDesktop)
  * fixed config/CMakeLists.txt
  * Merged relevant parts of CMakeLists.txt.lxqt-common into CMakeLists.txt
  * Rename CMakeLists.txt -> CMakeLists.txt.lxqt-common
  * Add Basque translation of lxqt-leave and update Basque translation of lxqt-config-session
  * leavedialog: Use "expected" tab order
  * LeaveDialog: Accept enter key for action/cancel firing
  * LeaveDialog: Use "override" keyword
  * leavedialog: Don't trigger "cancel" on Enter
  * LeaveDialog: Use correct method
  * startlxqt: Consider $XDG_RUNTIME_DIR/bus for DBus

OBS-URL: https://build.opensuse.org/package/show/X11:LXQt/lxqt-session?expand=0&rev=6
This commit is contained in:
Michael Vetter 2017-10-23 11:43:17 +00:00 committed by Git OBS Bridge
parent 7eb3c100e8
commit 3b43613159
8 changed files with 156 additions and 222 deletions

View File

@ -1,134 +0,0 @@
From c0f743cf3185b85524ab8b99b1e9497c04ed2aa2 Mon Sep 17 00:00:00 2001
From: Palo Kisa <palo.kisa@gmail.com>
Date: Fri, 7 Jul 2017 09:00:22 +0200
Subject: [PATCH] lxqt-session: Provide reboot/powerOff methods
By providing the reboot/powerOff mehotds we are trying to terminate the
running processes/modules in prefered order (the logout procedure should
know how to do it). After that invoke the particular reboot/shutdown.
W/o the logout before reboot/shutdown the reboot/shutdown provider
(namely systemd) was terminating all proceses in undefined (random?)
order which could lead to insane shutdown and/or deadlocks with poorly
written applications/libraries.
---
lxqt-session/src/lxqtmodman.cpp | 5 +++--
lxqt-session/src/lxqtmodman.h | 2 +-
lxqt-session/src/sessionapplication.cpp | 2 +-
lxqt-session/src/sessiondbusadaptor.h | 31 +++++++++++++++++++++++++++++--
4 files changed, 34 insertions(+), 6 deletions(-)
diff --git a/lxqt-session/src/lxqtmodman.cpp b/lxqt-session/src/lxqtmodman.cpp
index 38f7548..2126296 100644
--- a/lxqt-session/src/lxqtmodman.cpp
+++ b/lxqt-session/src/lxqtmodman.cpp
@@ -347,7 +347,7 @@ LXQtModuleManager::~LXQtModuleManager()
/**
* @brief this logs us out by terminating our session
**/
-void LXQtModuleManager::logout()
+void LXQtModuleManager::logout(bool doExit)
{
// modules
ModulesMapIterator i(mNameMap);
@@ -377,7 +377,8 @@ void LXQtModuleManager::logout()
mWmProcess->kill();
}
- QCoreApplication::exit(0);
+ if (doExit)
+ QCoreApplication::exit(0);
}
QString LXQtModuleManager::showWmSelectDialog()
diff --git a/lxqt-session/src/lxqtmodman.h b/lxqt-session/src/lxqtmodman.h
index 1650cf3..69442ce 100644
--- a/lxqt-session/src/lxqtmodman.h
+++ b/lxqt-session/src/lxqtmodman.h
@@ -96,7 +96,7 @@ public slots:
gracefully (to kill it if it is not possible). Then the session
exits - it returns to the kdm/gdm in most cases.
*/
- void logout();
+ void logout(bool doExit);
signals:
void moduleStateChanged(QString moduleName, bool state);
diff --git a/lxqt-session/src/sessionapplication.cpp b/lxqt-session/src/sessionapplication.cpp
index 26637ed..a584993 100644
--- a/lxqt-session/src/sessionapplication.cpp
+++ b/lxqt-session/src/sessionapplication.cpp
@@ -61,7 +61,7 @@ SessionApplication::SessionApplication(int& argc, char** argv) :
qputenv("LXQT_SESSION_CONFIG", configName.toLocal8Bit());
modman = new LXQtModuleManager(winmanager);
- connect(this, &LXQt::Application::unixSignal, modman, &LXQtModuleManager::logout);
+ connect(this, &LXQt::Application::unixSignal, modman, [this] { modman->logout(true); });
new SessionDBusAdaptor(modman);
// connect to D-Bus and register as an object:
QDBusConnection::sessionBus().registerService("org.lxqt.session");
diff --git a/lxqt-session/src/sessiondbusadaptor.h b/lxqt-session/src/sessiondbusadaptor.h
index 283e6f0..ecb1f3f 100644
--- a/lxqt-session/src/sessiondbusadaptor.h
+++ b/lxqt-session/src/sessiondbusadaptor.h
@@ -29,6 +29,7 @@
#define SESSIONDBUS_H
#include <QtDBus>
+#include <LXQt/Power>
#include "lxqtmodman.h"
@@ -46,7 +47,8 @@ class SessionDBusAdaptor : public QDBusAbstractAdaptor
public:
SessionDBusAdaptor(LXQtModuleManager * manager)
: QDBusAbstractAdaptor(manager),
- m_manager(manager)
+ m_manager(manager),
+ m_power(false/*don't use ourself, just all other power providers*/)
{
connect(m_manager, SIGNAL(moduleStateChanged(QString,bool)), SIGNAL(moduleStateChanged(QString,bool)));
}
@@ -63,9 +65,33 @@ public slots:
return true;
}
+ bool canReboot()
+ {
+ return m_power.canReboot();
+ }
+
+ bool canPowerOff()
+ {
+ return m_power.canShutdown();
+ }
+
Q_NOREPLY void logout()
{
- m_manager->logout();
+ m_manager->logout(true);
+ }
+
+ Q_NOREPLY void reboot()
+ {
+ m_manager->logout(false);
+ m_power.reboot();
+ QCoreApplication::exit(0);
+ }
+
+ Q_NOREPLY void powerOff()
+ {
+ m_manager->logout(false);
+ m_power.shutdown();
+ QCoreApplication::exit(0);
}
QDBusVariant listModules()
@@ -85,6 +111,7 @@ public slots:
private:
LXQtModuleManager * m_manager;
+ LXQt::Power m_power;
};
#endif

View File

@ -1,53 +0,0 @@
From 4786793b55fa2d8b755faeb2c14f33a519d72c0f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lu=C3=ADs=20Pereira?= <luis.artur.pereira@gmail.com>
Date: Mon, 15 May 2017 19:38:29 +0100
Subject: [PATCH] String encoding (#103)
* Replace QString::toUtf8() with QString::toLatin1()
Udev subsystem strings are latin strings.
* Don't assume UTF-8 encoding.
QString::toLocal8Bit() uses QTextCodec::codecForLocale() is used to
perform the conversion.
---
lxqt-session/src/UdevNotifier.cpp | 2 +-
lxqt-session/src/sessionapplication.cpp | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/lxqt-session/src/UdevNotifier.cpp b/lxqt-session/src/UdevNotifier.cpp
index edcb8a6..3b87f87 100644
--- a/lxqt-session/src/UdevNotifier.cpp
+++ b/lxqt-session/src/UdevNotifier.cpp
@@ -52,7 +52,7 @@ UdevNotifier::UdevNotifier(QString const & subsystem, QObject * parent/* = nullp
return;
}
- int ret = udev_monitor_filter_add_match_subsystem_devtype(d->monitor, subsystem.toUtf8().constData(), nullptr);
+ int ret = udev_monitor_filter_add_match_subsystem_devtype(d->monitor, subsystem.toLatin1().constData(), nullptr);
if (0 != ret)
qCWarning(SESSION) << QStringLiteral("UdevNotifier: unable to add match subsystem, monitor will receive all devices");
diff --git a/lxqt-session/src/sessionapplication.cpp b/lxqt-session/src/sessionapplication.cpp
index cf6ed74..26637ed 100644
--- a/lxqt-session/src/sessionapplication.cpp
+++ b/lxqt-session/src/sessionapplication.cpp
@@ -58,7 +58,7 @@ SessionApplication::SessionApplication(int& argc, char** argv) :
configName = "session";
// tell the world which config file we're using.
- qputenv("LXQT_SESSION_CONFIG", configName.toUtf8());
+ qputenv("LXQT_SESSION_CONFIG", configName.toLocal8Bit());
modman = new LXQtModuleManager(winmanager);
connect(this, &LXQt::Application::unixSignal, modman, &LXQtModuleManager::logout);
@@ -135,7 +135,7 @@ void SessionApplication::loadEnvironmentSettings(LXQt::Settings& settings)
Q_FOREACH (QString i, settings.childKeys())
{
envVal = settings.value(i).toByteArray();
- lxqt_setenv(i.toUtf8().constData(), envVal);
+ lxqt_setenv(i.toLocal8Bit().constData(), envVal);
}
settings.endGroup();
}

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:16bb429fb6fb7149d97bd6ee8a46abd1d9b01444f09db31601c7265ed2cd6f76
size 120320

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEfHM7pfWFqtZp5NI6QsnI069epeMFAlhpgSgACgkQQsnI069e
pePfgRAAmG6V45kpS2dUiwtD9CJns2vmr5rLgL53GEueJvVVT7u+ExfAf0WERaSm
c5YU7jdWdht7QzSuwzgYk8DmLidonZUjChkOa1OBjoPiLHI1bkVj2p0w38yBlG4/
HEyNbPO0vBjFXeQHi+dLqM0W2s39avHyKVTPLSgUmpkqSmgKa3piGiWbXVPW1w/4
qE+4572CjYva8JN+IWWPRh1gXNN9GXOnALSt0whmBjFxG+1Nlw6j1DHbsYd4nl1s
X5f8iNGhR+nk5qtOu8zOAqomHrj5GQwhh9tV4qprME2OrDZdMRraVadcx8C61W22
XFMH0bwnbirEnGQLzU4lvnWyDuDevTeJ2KvvNxtKFIY/9IysvTNgRE/M3im74GOp
D4hi+32BHMXCxgVZ3oBosjjtXYbaz4sLf8HSyqzufVJ/v3+o6lpzpwG9csJOvzEm
W5EZxcnWSrR4DwrRrKZFKUFGMXcj3c4K7jRhKI5td6qcTGUVI4Ysa+OhS4Wm5hwl
o6PhLJCToJtfC4w/PPmmqUl28+wUBygvNRYJI3yuzhDCtN3tgSxFPDO3+hwupm84
BFNLS7+zTiWkrpqEPTJpL6lD96FgpaLrNwpkImeE3l0YjBHaYhxDWGchlM9PhjHg
AwNhs/KrnkfAIN3nsDGo/8kN3rmzEWVhTCzVmz8mu3s4MR7jvZw=
=f6XP
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e826bb81fc3f688bf626cac2c66e63881e1ccfdb1ec8b54f493c1270775e69b8
size 134504

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEfHM7pfWFqtZp5NI6QsnI069epeMFAlnrol8ACgkQQsnI069e
peOjtQ/+IkyrwZmCmjJjlK6y4qqdwaEXslghefDROe+fpPTZwVFDzJii8pGvDoeh
xf5KM+/ASt2Wb/aeFeWVlgcBqq95Fz0tu5XrI/zNz+Wc+jCaVDeuVdhHbtT8Z6JA
48Zh/gzKotoF8MUeaSNvYKdJybdhWz3aukobcpFum4h10y90EmZXweH9hMCzZ+Ln
nOcZLRpys3a12FXdA3PXCv7iERVME8JoWVU6A4RqzUaVzQcReKA+v7+dz9GXv2aK
7Ltxh/9FGVVMFXyAUcERJ4EEyFZAxPvT5OvN3WWbUJYJ4PFJY4ECrncYz9rYndR2
0S6FiBCAd/clkeur/ytv3fVkNYXgx3OWdNAwST3C03BBGfHzJYEBWBsfBEINBEO7
bnJF7FEj18KkUIL6kkhTCOgcrOS8kj24tta7TwRpHSYjAS0XYrpUeoQsjn72YGFI
VPlHjI4I5MJ3WKv9rAZjHrdOf9wFv1Drt/BA07BQAHMN4eIzxdbOMEr0qLi2eVMz
DqG1sQVth6FOBsyxL8XPgO1dy7MFDPdAmzjHOgljLioWCfUkfKrICQMh7BqxWCDO
sX0+DqJt1oCwiMsbrHnQpjbHbXGT0e7Y+cXwD+Jh6r/lm9vgQ6zk/a0KBwk/vTWx
u89Esa/pEByOS3BjOQVLhfJ4RGnykhaAEusqBbDGtWr0LqOVO+s=
=A4LB
-----END PGP SIGNATURE-----

View File

@ -1,3 +1,120 @@
-------------------------------------------------------------------
Mon Oct 23 11:37:19 UTC 2017 - mvetter@suse.com
- Update to 0.12.0:
* Set patch version
* lxqt-session: Unify arguments parsing
* Don't export github templates
* Add/Update Lithuanian language
* c'n'p bug
* add basic cli to lxqt-session
* lxqt-session: Provide reboot/powerOff methods
* Drops Qt5Core_VERSION_STRING
* lxqt-config-session: set Qt::AA_UseHighDpiPixmaps to true
* lxqt-leave: set Qt::AA_UseHighDpiPixmaps to true
* improved --version
* Added QCommandLineParser and basic cli interface to lxqt-conf-session
* Added default CMAKE_BUILD_TYPE and LXQT_SESSION_PATCH_VERSION
* String encoding (#103)
* Fixes a FTBFS in superbuild mode (#102)
* lxqt-leave: Fix "disabled items" key navigation
* Address "unused parameter" compiler warnings
* lxqt-leave: Redesign dialog for good key navigation
* Removed superfluous include(LXQtTranslateDesktop)
* fixed config/CMakeLists.txt
* Merged relevant parts of CMakeLists.txt.lxqt-common into CMakeLists.txt
* Rename CMakeLists.txt -> CMakeLists.txt.lxqt-common
* Add Basque translation of lxqt-leave and update Basque translation of lxqt-config-session
* leavedialog: Use "expected" tab order
* LeaveDialog: Accept enter key for action/cancel firing
* LeaveDialog: Use "override" keyword
* leavedialog: Don't trigger "cancel" on Enter
* LeaveDialog: Use correct method
* startlxqt: Consider $XDG_RUNTIME_DIR/bus for DBus
* Updated *_da.desktop files and removed *_da_DK.desktop files
* Bump year
* Update desktop entries and Replace fr_FR by fr
* Use the LXQtConfigVars module
* Fixed typo
* Remove cpack (#61)
* startlxqt: Consider LXQT_DEFAULT_OPENBOX_CONFIG
* startlxqt: Honor the pre-defined SAL_USE_VLCPLUGIN
* Replace lxqt-rc.xml with latest openbox version
* startlxqt: Consider pre-exising LXDE OB config also
* build: Revert @6d6d2bef54
* build: Add xmessage as "dependency"
* Openbox: Fix informational message about adoption of rc.xml
* lxqt-rc.xml: Change default config install path
* startlxqt: Copy existing openbox config preferably
* Improves changed Openbox default path startup message (#51)
* Disable gtk+ 3 overlay scrollbars by default.
* Don't add XDG_DATA_HOME to XDG_DATA_DIRS (#47)
* Message about Openbox default path changed.
* Warning message about openbox settings path changed.
* startlxqt: Force XDG_CONFIG_DIRS to contain @LXQT_ETC_XDG_DIR@
* Copy openbox defaults at session start.
* Rename openbox/rc.xml to openbox/lxqt-openbox-rc.xml
* Openbox aero snap using mouse wheel over title bar.
* Settings Openbox updated.
* Default key shortcuts added to lxqt-globalkeysd.
* CMakeLists: Use LXQT_GRAPHICS_DIR for graphics
* Add startlxqt man page
* Fixes #807 Add XDG_CACHE_HOME definition
* startlxqt: optimization of XDG_DATA_DIRS
* corrected indentation
* startlxqt: Set proper prefix for XDG_DATA_DIRS
* Update Greek translation (el) Remove country variant from language code
* Rename LxQt to LXQt everywhere
* CMake: Adds Runtime and Devel install COMPONENTs
* Coding style changes
* Removes no added value comments
* Adds double quotes to everything that may break
* Use GNUINnstallDirs
* Updates the build system to use the Targets infrastructure
* Enable the "leave confirmation dialog" by default
* TryExec to detect proper installed lxqt-session
* Uniforms indentation
* Sets env variable XDG_CONFIG_DIRS
* Drops hardcoded /etc/xdg paths
* Set LibreOffice's plugin env var to kde4
* config: auto-detect succesfully kwin on recent kwin versions
* Updated german translation, replaced Qt4 by Qt in all xsession/translations
* Adds an scalable start-here-lxqt icon
* use LXQt-specific menu file
* Renames some .desktop files
* Portuguese update for .desktop files
* - Unify naming for a unique lxqt. No more suffixes
* Make frost the default theme
* Defines XDG_DATA_HOME and XDG_DATA_DIRS environment variables
* Updates translations infrastructure
* Update the required minimum cmake version
* Clean up CMakeLists.txt and drop Qt 4 support
* Set environment variable GTK_CSD=0 to turn off the default client side decoration for gtk+ 3 programs. (This will not always work if a gtk+3 program explicitly sets a title bar and turns on CSD.)
* Add some more default values for Qt settings.
* Update default config file.
* Add Qt5 support.
* Support Qt5 platform plugin and add some more comments.
* Remove XDG_CURRENT_DESKTOP=Razor from environment variables.
* Set XDG_CURRENT_DESKTOP to LXQt
* remove dead template lines switch OnlyShowIn from Razor -> LXQt stringchanges LxQt -> LXQt
* Use LXQt as desktop name
* Add CPack rules for creating tarball
* Add session.conf and windowmanagers.conf.
* Change XDG_CURRENT_DESKTOP to Razor for now. (May rename to LxQt or something else in the future.)
* Export environment varialbe QT_PLATFORM_PLUGIN=lxqt to let all Qt programs load lxqt-qtplugin and apply lxqt settings.
* Support lxqt-session and add necessary xdg autostart desktop entry files.
* Run lxde-qt with XDG_CURRENT_DESKTOP=RAZOR
* Fix renaming bugs, replacing lxqt-qt with lxde-qt
* Finish the crazy razor=>lxqt renaming tasks.
* Rename dirs and replace razor with lxqt. Install lxqt.conf to /etc/xdg/lxqt and provide theme config.
* Properly set default wallpaper for pcmanfm-qt. Comment out openbox config handling in startlxde-qt since it's not needed.
* Remove custom openbox config file in desktop.conf temporarily until lxsession is fixed.
* Fix file paths, replacing razor with lxqt. * Remove Alt+F2 and Ctrl+Esc from openbox config file to avoid conflicts with lxqt-panel & lxqt-globalkeys.
* Add default configuration files for lxde-qt session.
- Remove because contained in new release:
* lxqt-session-0.11.1-add-poweroff.patch
* lxqt-session-0.11.1-string-encoding.patch
-------------------------------------------------------------------
Wed Sep 13 12:34:35 UTC 2017 - mvetter@suse.com

View File

@ -17,17 +17,15 @@
Name: lxqt-session
Version: 0.11.1
Version: 0.12.0
Release: 0
Summary: LXQt Session Manager
License: LGPL-2.1+
Group: System/GUI/LXQt
Url: http://www.lxqt.org
Source0: http://downloads.lxqt.org/lxqt/%{version}/%{name}-%{version}.tar.xz
Source1: http://downloads.lxqt.org/lxqt/%{version}/%{name}-%{version}.tar.xz.asc
Source: https://github.com/lxde/%{name}/releases/download/%{version}/%{name}-%{version}.tar.xz
Source1: https://github.com/lxde/%{name}/releases/download/%{version}/%{name}-%{version}.tar.xz.asc
Source2: %{name}.keyring
Patch0: lxqt-session-0.11.1-string-encoding.patch
Patch1: lxqt-session-0.11.1-add-poweroff.patch
BuildRequires: cmake >= 3.0.2
BuildRequires: fdupes
BuildRequires: gcc-c++
@ -41,8 +39,7 @@ BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(x11-xcb)
BuildRequires: xdg-user-dirs
Recommends: %{name}-lang
Requires(pre): desktop-file-utils
Requires(post): desktop-file-utils
Obsoletes: lxqt-common
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@ -53,8 +50,6 @@ use when a user logs out and to restart them the next time the user logs in.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
# Changing LXQt into X-LXQt in desktop files to be freedesktop compliant and shut rpmlint warnings
#find -name '*desktop.in*' -exec sed -ri 's/(LXQt;)/X-\1/' {} +
@ -66,19 +61,28 @@ make %{?_smp_mflags}
%cmake_install
%fdupes -s %{buildroot}/%{_datadir}
%post
%desktop_database_post
%postun
%desktop_database_postun
%files
%defattr(-,root,root)
%doc AUTHORS LICENSE
%dir %{_sysconfdir}/xdg/
%dir %{_sysconfdir}/xdg/lxqt/
%dir %{_sysconfdir}/xdg/autostart
%dir %{_sysconfdir}/xdg/openbox
%dir %{_datadir}/kdm/
%dir %{_datadir}/kdm/sessions/
%{_bindir}/lxqt-config-session
%{_bindir}/lxqt-session
%{_bindir}/lxqt-leave
%{_datadir}/applications/*.desktop
%{_mandir}/man?/lxqt-*.*
%{_mandir}/man?/lxqt-*%{ext_man}
%config %{_sysconfdir}/xdg/autostart/lxqt-xscreensaver-autostart.desktop
%config %{_sysconfdir}/xdg/lxqt/lxqt.conf
%config %{_sysconfdir}/xdg/lxqt/session.conf
%config %{_sysconfdir}/xdg/lxqt/windowmanagers.conf
%config %{_sysconfdir}/xdg/openbox/lxqt-rc.xml
%{_bindir}/startlxqt
%{_datadir}/kdm/sessions/lxqt.desktop
%{_mandir}/man1/startlxqt.1%{ext_man}
%{_datadir}/xsessions/lxqt.desktop
%changelog