Compare commits

...

26 Commits

Author SHA1 Message Date
Aaron Rainbolt 235a550c36 Repository-Browse, not Repository-Browser
7 months ago
Aaron Rainbolt 928e094586 DPMS related code must go!
7 months ago
Simon Quigley dd5c5e0199 Upload to Noble.
7 months ago
Simon Quigley e281b2507f Add some missing build dependencies.
7 months ago
Simon Quigley 5a6a3e97c9 Wraaaaaaaaaaaaaaaaaaaaap.
7 months ago
Simon Quigley 55f23453c6 Show a notification when the battery is present, not absent.
7 months ago
Simon Quigley 5409596e89 Bump build dependencies.
7 months ago
Simon Quigley e3b40ebf98 New upstream release.
7 months ago
Simon Quigley 06c44daa1b Upload to Mantic.
10 months ago
Simon Quigley 7c2c8e8386 Update copyright years.
10 months ago
Simon Quigley 1ee36eab58 I guess we don't require root to build, do we?
10 months ago
Simon Quigley 56bcc84401 Bump Standards-Version to 4.6.2, no changes needed.
10 months ago
Simon Quigley b9cb6b9902 Remove redundant hardening rule.
10 months ago
Simon Quigley 1b0426f686 Bump build dependencies.
10 months ago
Simon Quigley 945833658f New upstream release.
10 months ago
Simon Quigley 1133ed1990 Upload to Lunar.
2 years ago
Simon Quigley f1549e6d75 Add some missing brackets in the Lintian overrides.
2 years ago
Simon Quigley bca604492d Lubuntuify the package slightly, to make debhelper happy.
2 years ago
Simon Quigley bf8a5dc047 Bump Standards-version to 4.6.1, no changes needed.
2 years ago
Simon Quigley 13232669cd Bump build dependencies in debian/control.
2 years ago
Simon Quigley db847b4f69 Fix the watch file, for real this time.
2 years ago
Simon Quigley 981de0ac69 New upstream release.
2 years ago
Simon Quigley 01c1ad4499 Upload to Kinetic.
2 years ago
Simon Quigley df5ce062af Drop old Breaks/Replaces since we're past the LTS. Update the runtime dependencies too.
2 years ago
Simon Quigley ce904c89b7 Bumped build dependencies.
2 years ago
Simon Quigley 0afe853ef3 New upstream release.
2 years ago

50
debian/changelog vendored

@ -1,3 +1,52 @@
lxqt-powermanagement (1.4.0-0ubuntu2) noble; urgency=medium
* Patched out DPMS-related code (it was causing constant crashes)
* Renamed the "Repository-Browser" field to "Repository-Browse" in upstream
metadata.
-- Aaron Rainbolt <arraybolt3@gmail.com> Tue, 14 Nov 2023 19:00:33 -0600
lxqt-powermanagement (1.4.0-0ubuntu1) noble; urgency=medium
* New upstream release.
* Bump build dependencies.
* Show a notification when the battery is present, not absent.
* Wraaaaaaaaaaaaaaaaaaaaap.
* Add some missing build dependencies.
-- Simon Quigley <tsimonq2@ubuntu.com> Mon, 13 Nov 2023 11:48:51 -0600
lxqt-powermanagement (1.3.0-0ubuntu1) mantic; urgency=medium
* New upstream release.
* Bump build dependencies.
* Remove redundant hardening rule.
* Bump Standards-Version to 4.6.2, no changes needed.
* I guess we don't require root to build, do we?
* Update copyright years.
-- Simon Quigley <tsimonq2@ubuntu.com> Fri, 11 Aug 2023 12:50:06 -0500
lxqt-powermanagement (1.2.0-0ubuntu1) lunar; urgency=medium
* New upstream release.
* Fix the watch file, for real this time.
* Bump build dependencies in debian/control.
* Bump Standards-version to 4.6.1, no changes needed.
* Lubuntuify the package slightly, to make debhelper happy.
* Add some missing brackets in the Lintian overrides.
-- Simon Quigley <tsimonq2@ubuntu.com> Fri, 18 Nov 2022 21:55:31 -0600
lxqt-powermanagement (1.1.0-0ubuntu1) kinetic; urgency=medium
* New upstream release.
* Bumped build dependencies.
* Drop old Breaks/Replaces since we're past the LTS. Update the
runtime dependencies too.
-- Simon Quigley <tsimonq2@ubuntu.com> Thu, 02 Jun 2022 12:43:41 -0500
lxqt-powermanagement (0.17.1-0ubuntu1) impish; urgency=medium
* New upstream release 0.17.1
@ -263,4 +312,3 @@ lxqt-powermanagement (0.9.0+20150807-1) unstable; urgency=medium
* Merging upstream version 0.9.0+20150807.
-- Andrew Lee (李健秋) <ajqlee@debian.org> Sun, 16 Aug 2015 19:19:12 +0800

19
debian/control vendored

@ -10,26 +10,27 @@ Build-Depends: debhelper-compat (= 13),
libkf5idletime-dev,
libkf5solid-dev,
libkf5windowsystem-dev,
liblxqt0-dev (>= 0.17.0),
liblxqt-globalkeys0-dev (>= 0.17.0),
liblxqt-globalkeys-ui0-dev (>= 0.17.0),
liblxqt-globalkeys-ui1-dev (>= 1.4.0),
liblxqt-globalkeys1-dev (>= 1.4.0),
liblxqt1-dev (>= 1.4.0),
libqt5svg5-dev,
libqt5x11extras5-dev,
libx11-dev,
libxcb-dpms0-dev,
libxcb-screensaver0-dev,
qtbase5-private-dev
Standards-Version: 4.5.1
Vcs-Browser: https://phab.lubuntu.me/source/lxqt-policykit/
Vcs-Git: https://phab.lubuntu.me/source/lxqt-policykit.git
Standards-Version: 4.6.2
Vcs-Browser: https://git.lubuntu.me/Lubuntu/lxqt-powermanagement-packaging
Vcs-Git: https://git.lubuntu.me/Lubuntu/lxqt-powermanagement-packaging.git
XS-Debian-Vcs-Browser: https://salsa.debian.org/lxqt-team/lxqt-powermanagement
XS-Debian-Vcs-Git: https://salsa.debian.org/lxqt-team/lxqt-powermanagement.git
Rules-Requires-Root: no
Homepage: https://github.com/lxqt/lxqt-powermanagement
Package: lxqt-powermanagement
Architecture: any
Depends: lxqt-policykit, upower, ${misc:Depends}, ${shlibs:Depends}
Recommends: lxqt-powermanagement-l10n, lxqt-qtplugin, lxqt-session
Breaks: lxqt-common (<< 0.12.0)
Replaces: lxqt-common (<< 0.12.0)
Description: power management module for LXQt
The Power management module for LXQt.
.
@ -40,8 +41,6 @@ Architecture: all
Multi-Arch: foreign
Section: localization
Depends: qttranslations5-l10n, ${misc:Depends}
Breaks: lxqt-powermanagement (<< 0.11.0)
Replaces: lxqt-powermanagement (<< 0.11.0)
Description: Language package for lxqt-powermanagement
The l10n files for lxqt-powermanagement
.

4
debian/copyright vendored

@ -3,7 +3,7 @@ Upstream-Name: lxqt-powermanagement
Source: https://github.com/lxqt/lxqt-powermanagement
Files: *
Copyright: 2013-2020, LXQt team
Copyright: 2013-2023, LXQt team
2011-2012, Razor team
License: LGPL-2.1+
@ -24,7 +24,7 @@ Copyright: 2013, Alec Moskvin <alecm@gmx.com>
License: LGPL-2.1+
Files: debian/*
Copyright: 2021, Lubuntu Developers <lubuntu-devel@lists.ubuntu.com>
Copyright: 2021-2023, Lubuntu Developers <lubuntu-devel@lists.ubuntu.com>
2014-2019, Alf Gaida <agaida@siduction.org>
2015, Andrew Lee (李健秋) <ajqlee@debian.org>
License: LGPL-2.1+

@ -1,6 +1,6 @@
# there will be no manpages in a foreseable future
lxqt-powermanagement: no-manual-page usr/bin/lxqt-config-powermanagement
lxqt-powermanagement: no-manual-page usr/bin/lxqt-powermanagement
lxqt-powermanagement: no-manual-page [usr/bin/lxqt-config-powermanagement]
lxqt-powermanagement: no-manual-page [usr/bin/lxqt-powermanagement]
# category LXQt in not yet in freedesktop specs - no bug
lxqt-powermanagement: desktop-entry-invalid-category LXQt usr/share/applications/lxqt-config-powermanagement.desktop
lxqt-powermanagement: desktop-entry-invalid-category LXQt [usr/share/applications/lxqt-config-powermanagement.desktop]

@ -0,0 +1,114 @@
Description: Show a notification when the battery is present, not absent
In virtual machines especially, it is odd to see a message about the battery not being present. This commit moves that message to only display when there is a battery present.
Author: Simon Quigley <tsimonq2@lubuntu.me>
Origin: upstream
Forwarded: https://github.com/lxqt/lxqt-powermanagement/pull/382
Last-Update: 2023-10-03
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
--- a/src/batterywatcher.cpp
+++ b/src/batterywatcher.cpp
@@ -43,13 +43,6 @@ BatteryWatcher::BatteryWatcher(QObject *
{
const QList<Solid::Device> devices = Solid::Device::listFromType(Solid::DeviceInterface::Battery, QString());
- if (devices.isEmpty())
- {
- LXQt::Notification::notify(tr("No battery!"),
- tr("LXQt could not find data about any battery - monitoring disabled"),
- QSL("lxqt-powermanagement"));
- }
-
for (Solid::Device device : devices)
{
Solid::Battery *battery = device.as<Solid::Battery>();
@@ -57,11 +50,24 @@ BatteryWatcher::BatteryWatcher(QObject *
{
continue;
}
+
mBatteries << battery;
connect(battery, &Solid::Battery::energyChanged, this, &BatteryWatcher::batteryChanged);
connect(battery, &Solid::Battery::chargeStateChanged, this, &BatteryWatcher::batteryChanged);
}
+ bool discharging;
+ double chargeLevel;
+ chargeLevelAndStatus(discharging, chargeLevel);
+
+ if (!devices.isEmpty()) {
+ QString status = discharging ? QStringLiteral("Discharging") : QStringLiteral("Charging");
+ QString message = tr("%1 (%2%)").arg(status).arg(chargeLevel);
+ LXQt::Notification::notify(tr("Battery Present"),
+ message,
+ QSL("lxqt-powermanagement"));
+ }
+
mBatteryInfoDialog = new BatteryInfoDialog(mBatteries);
connect(&mSettings, &PowerManagementSettings::settingsChanged, this, &BatteryWatcher::settingsChanged);
@@ -85,19 +91,10 @@ void BatteryWatcher::batteryChanged()
static QTime actionTime;
static LXQt::Notification *notification = nullptr;
- double totalEnergyFull = 0;
- double totalEnergyNow = 0;
- bool discharging = true;
+ bool discharging;
double chargeLevel;
- for (const Solid::Battery *battery : qAsConst(mBatteries))
- {
- totalEnergyFull += battery->energyFull();
- totalEnergyNow += battery->energy();
- discharging &= (battery->chargeState() == Solid::Battery::Discharging);
- }
-
- chargeLevel = 100 * totalEnergyNow / totalEnergyFull;
+ chargeLevelAndStatus(discharging, chargeLevel);
qDebug() << "BatteryChanged"
<< "discharging:" << discharging
@@ -160,6 +157,31 @@ void BatteryWatcher::batteryChanged()
}
}
+void BatteryWatcher::chargeLevelAndStatus(bool &discharging, double &chargeLevel)
+{
+ double totalEnergyFull = 0;
+ double totalEnergyNow = 0;
+ bool batteries = false;
+ discharging = true;
+
+ for (const Solid::Battery *battery : qAsConst(mBatteries))
+ {
+ batteries = true;
+
+ totalEnergyFull += battery->energyFull();
+ totalEnergyNow += battery->energy();
+ discharging &= (battery->chargeState() == Solid::Battery::Discharging);
+ }
+
+ if (!batteries) {
+ discharging = false;
+ chargeLevel = 0;
+ }
+ else {
+ chargeLevel = 100 * totalEnergyNow / totalEnergyFull;
+ }
+}
+
void BatteryWatcher::settingsChanged()
{
if (!mSettings.isShowIcon())
--- a/src/batterywatcher.h
+++ b/src/batterywatcher.h
@@ -51,6 +51,8 @@ private slots:
void setPause(TrayIcon::PAUSE duration);
private:
+ void chargeLevelAndStatus(bool &discharging, double &chargeLevel);
+
QList<Solid::Battery*> mBatteries;
QList<TrayIcon*> mTrayIcons;
QTimer mPauseTimer;

@ -0,0 +1,167 @@
Description: Remove DPMS-related and screensaver-suspending-related code
lxqt-powermanagement added some code that allows the power manager to mess
with DPMS stuff. However it appears that DPMS is oftentimes not available in
Lubuntu, making lxqt-powermanagement crash over and over until it finally
gets disabled by LXQt until the next login. Some screensaver-related stuff
was also thrown in which seems unrelated but is in with a function that
sets DPMS timeouts. This patch removes all of that code, fixing the crashes.
Author: Aaron Rainbolt
Origin: ubuntu
Last-Update: 2023-11-14
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 07f9549..6215d9c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -15,22 +15,18 @@ set(CMAKE_POSITION_INDEPENDENT_CODE ON)
option(UPDATE_TRANSLATIONS "Update source translation translations/*.ts files" OFF)
-set(LXQTBT_MINIMUM_VERSION "0.13.0")
set(KF5_MINIMUM_VERSION "5.101.0")
set(LXQT_MINIMUM_VERSION "1.4.0")
set(QT_MINIMUM_VERSION "5.15.0")
-find_package(lxqt-build-tools ${LXQTBT_MINIMUM_VERSION} REQUIRED)
find_package(Qt5DBus ${QT_MINIMUM_VERSION} REQUIRED)
find_package(Qt5LinguistTools ${QT_MINIMUM_VERSION} REQUIRED)
find_package(Qt5Svg ${QT_MINIMUM_VERSION} REQUIRED)
find_package(Qt5Widgets ${QT_MINIMUM_VERSION} REQUIRED)
-find_package(Qt5X11Extras ${QT_MINIMUM_VERSION} REQUIRED)
find_package(KF5IdleTime ${KF5_MINIMUM_VERSION} REQUIRED)
find_package(KF5Solid ${KF5_MINIMUM_VERSION} REQUIRED)
find_package(lxqt ${LXQT_MINIMUM_VERSION} REQUIRED)
find_package(lxqt-globalkeys-ui ${LXQT_GLOBALKEYS_MINIMUM_VERSION} REQUIRED)
-find_package(XCB REQUIRED COMPONENTS xcb-dpms xcb-screensaver)
message(STATUS "Building with Qt${Qt5Core_VERSION}")
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index b29362a..177ddb1 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -57,8 +57,6 @@ target_link_libraries(lxqt-powermanagement
KF5::Solid
KF5::IdleTime
lxqt-globalkeys
- Qt5::X11Extras
- ${XCB_LIBRARIES}
)
install(TARGETS
diff --git a/src/idlenesswatcher.cpp b/src/idlenesswatcher.cpp
index ecaa641..cb9d9e1 100644
--- a/src/idlenesswatcher.cpp
+++ b/src/idlenesswatcher.cpp
@@ -24,7 +24,7 @@
#include "idlenesswatcher.h"
-#include <QGuiApplication>
+#include <QCoreApplication>
#include <QTimer>
#include <KIdleTime>
#include <Solid/Device>
@@ -35,9 +35,6 @@
#include <QDebug>
#include <LXQt/lxqtnotification.h>
#include <QObject>
-#include <QX11Info>
-#include <xcb/dpms.h>
-#include <xcb/screensaver.h>
IdlenessWatcher::IdlenessWatcher(QObject* parent):
Watcher(parent)
@@ -71,43 +68,14 @@ IdlenessWatcher::IdlenessWatcher(QObject* parent):
connect(&mPSettings, &LXQt::Settings::settingsChanged, this, &IdlenessWatcher::onSettingsChanged);
- // retrieve DPMS timeouts
- mDpmsStandby = mDpmsSuspend = mDpmsOff = 0;
- if (QGuiApplication::platformName() == QStringLiteral("xcb")) {
- xcb_connection_t* c = QX11Info::connection();
- xcb_dpms_get_timeouts_cookie_t cookie = xcb_dpms_get_timeouts(c);
- xcb_dpms_get_timeouts_reply_t* reply = xcb_dpms_get_timeouts_reply(c, cookie, nullptr);
- if (reply) {
- mDpmsStandby = reply->standby_timeout;
- mDpmsSuspend = reply->suspend_timeout;
- mDpmsOff = reply->off_timeout;
- free(reply);
- }
- }
-
setup();
}
IdlenessWatcher::~IdlenessWatcher()
{
- setDpmsTimeouts(true);
KIdleTime::instance()->removeAllIdleTimeouts();
}
-void IdlenessWatcher::setDpmsTimeouts(bool restore) {
- if (QGuiApplication::platformName() == QStringLiteral("xcb")) {
- xcb_connection_t* c = QX11Info::connection();
- if (restore) {
- xcb_dpms_set_timeouts(c, mDpmsStandby, mDpmsSuspend, mDpmsOff);
- xcb_screensaver_suspend(c, 0); // WARNING: This is not documented but works.
- }
- else {
- xcb_dpms_set_timeouts(c, 0, 0, 0);
- xcb_screensaver_suspend(c, XCB_SCREENSAVER_SUSPEND);
- }
- }
-}
-
void IdlenessWatcher::setup()
{
if(mPSettings.isIdlenessWatcherEnabled()) {
@@ -141,13 +109,6 @@ void IdlenessWatcher::setup()
milliseconds = 1000;
mIdleBacklightWatcher = KIdleTime::instance()->addIdleTimeout(milliseconds);
}
-
- // override DPMS settings
- setDpmsTimeouts(false);
- }
- else {
- // restore DPMS settings
- setDpmsTimeouts(true);
}
}
diff --git a/src/idlenesswatcher.h b/src/idlenesswatcher.h
index dce9cc6..af0b585 100644
--- a/src/idlenesswatcher.h
+++ b/src/idlenesswatcher.h
@@ -45,8 +45,6 @@ private Q_SLOTS:
void onSettingsChanged();
private:
- void setDpmsTimeouts(bool restore);
-
PowerManagementSettings mPSettings;
int mIdleACWatcher;
int mIdleBatteryWatcher;
@@ -54,7 +52,6 @@ private:
LXQt::Backlight *mBacklight;
int mBacklightActualValue;
bool mDischarging;
- quint16 mDpmsStandby, mDpmsSuspend, mDpmsOff;
};
#endif // IDLENESSWATCHER_H
diff --git a/src/main.cpp b/src/main.cpp
index eedd360..493bf8b 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -34,7 +34,7 @@
int main(int argc, char *argv[])
{
- LXQt::Application a(argc, argv, true);
+ LXQt::Application a(argc, argv);
a.setQuitOnLastWindowClosed(false);
QCommandLineParser parser;

@ -0,0 +1,2 @@
battery-ux.patch
revert-dpms-changes.patch

1
debian/rules vendored

@ -2,7 +2,6 @@
# export DH_VERBOSE=1
export LC_ALL=C.UTF-8
export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
%:

@ -3,5 +3,4 @@ Bug-Database: https://github.com/lxqt/lxqt-powermanagement/issues
Bug-Submit: https://github.com/lxqt/lxqt-powermanagement/issues/new
Changelog: https://github.com/lxqt/lxqt-powermanagement/blob/master/CHANGELOG
Repository: https://github.com/lxqt/lxqt-powermanagement
Repository-Browser: https://github.com/lxqt/lxqt-powermanagement
Repository-Browse: https://github.com/lxqt/lxqt-powermanagement

6
debian/watch vendored

@ -1,3 +1,5 @@
version=4
opts="pgpsigurlmangle=s/$/.asc/" \
https://github.com/lxqt/lxqt-powermanagement/releases .*/lxqt-powermanagement-([\d\.]+).tar.xz
opts="searchmode=plain, \
pgpsigurlmangle=s/$/.asc/, \
uversionmangle=s/(\d+\.\d+\.\d+).*/$1/" \
https://api.github.com/repos/lxqt/@PACKAGE@/releases https:\/\/github.com\/lxqt\/@PACKAGE@\/releases\/download\/@ANY_VERSION@\/@PACKAGE@-@ANY_VERSION@.tar.xz

Loading…
Cancel
Save