Package: release.debian.org
Severity: normal
X-Debbugs-Cc: [email protected], [email protected]
Control: affects -1 + src:brightnesspicker
User: [email protected]
Usertags: unblock

Please unblock package brightnesspicker

New release has improved usability and slightly better package
description.

[ Reason ]
New version does not require restart when a new screen is plugged.

[ Impact ]
Users will need to restart when a new screen is plugged to see it
in the list

[ Tests ]
I tested manually on my machine

[ Risks ]
The package is leaf, has a low popcon, and it's rather trivial.

[ Checklist ]
  [X] all changes are documented in the d/changelog
  [X] I reviewed all changes and I approve them
  [X] attach debdiff against the package in testing

[ Other info ]
(Anything else the release team should know.)

unblock brightnesspicker/1.2-1
diff -Nru brightnesspicker-1.0/CHANGELOG brightnesspicker-1.2/CHANGELOG
--- brightnesspicker-1.0/CHANGELOG      2024-05-17 00:07:20.000000000 +0200
+++ brightnesspicker-1.2/CHANGELOG      2025-07-28 11:10:28.000000000 +0200
@@ -1,2 +1,10 @@
+1.2
+* Update man page
+* Use the shipped icon for the tray
+
+1.1
+* Refresh screen list when scrolling down, like apps do
+* Show current brightness value rather than 0
+
 1.0
 - Initial release
diff -Nru brightnesspicker-1.0/debian/changelog 
brightnesspicker-1.2/debian/changelog
--- brightnesspicker-1.0/debian/changelog       2024-12-15 14:36:30.000000000 
+0100
+++ brightnesspicker-1.2/debian/changelog       2025-07-28 11:03:39.000000000 
+0200
@@ -1,3 +1,19 @@
+brightnesspicker (1.2-1) unstable; urgency=medium
+
+  * New upstream release
+  * Remove dependency on oxygen-icon-theme
+
+ -- Salvo 'LtWorf' Tomaselli <[email protected]>  Mon, 28 Jul 2025 11:03:39 
+0200
+
+brightnesspicker (1.1-1) unstable; urgency=medium
+
+  * New upstream release
+  * Depend on oxygen-icon-theme for the tray-icon
+  * Bump Standards-Version to 4.7.2, no changes required
+  * Improved the description of the package
+
+ -- Salvo 'LtWorf' Tomaselli <[email protected]>  Fri, 25 Jul 2025 12:23:51 
+0200
+
 brightnesspicker (1.0-4) unstable; urgency=low
 
   * Build with Qt6
diff -Nru brightnesspicker-1.0/debian/control 
brightnesspicker-1.2/debian/control
--- brightnesspicker-1.0/debian/control 2024-12-15 14:36:30.000000000 +0100
+++ brightnesspicker-1.2/debian/control 2025-07-28 11:03:39.000000000 +0200
@@ -9,7 +9,7 @@
  qt6-declarative-dev,
  qt6-l10n-tools,
  dh-sequence-qmldeps,
-Standards-Version: 4.7.0
+Standards-Version: 4.7.2
 Homepage: https://codeberg.org/ltworf/brightnesspicker
 Vcs-Browser: https://codeberg.org/ltworf/brightnesspicker
 Vcs-Git: https://codeberg.org/ltworf/brightnesspicker.git
@@ -27,3 +27,5 @@
  .
  This is useful on desktop machines that do not have adjustable brightness
  like laptops.
+ .
+ It requires Xorg to function, it will not work on wayland.
diff -Nru brightnesspicker-1.0/Makefile brightnesspicker-1.2/Makefile
--- brightnesspicker-1.0/Makefile       2024-05-17 00:07:20.000000000 +0200
+++ brightnesspicker-1.2/Makefile       2025-07-28 11:10:28.000000000 +0200
@@ -1,5 +1,5 @@
 # brightnesspicker
-# Copyright (C) 2022 Salvo "LtWorf" Tomaselli
+# Copyright (C) 2022-2024 Salvo "LtWorf" Tomaselli
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU Affero General Public License as
@@ -18,6 +18,7 @@
 
 .PHONY: clean
 clean:
+       $(RM) -r deb-pkg
 
 .PHONY: dist
 dist:
diff -Nru brightnesspicker-1.0/src/extras/brightnesspicker.1 
brightnesspicker-1.2/src/extras/brightnesspicker.1
--- brightnesspicker-1.0/src/extras/brightnesspicker.1  2024-05-17 
00:07:20.000000000 +0200
+++ brightnesspicker-1.2/src/extras/brightnesspicker.1  2025-07-28 
11:10:28.000000000 +0200
@@ -1,4 +1,4 @@
-.TH "brightnesspicker" 1 "Mar 24, 2022" "Screen brightness picker"
+.TH "brightnesspicker" 1 "Jul 25, 2025" "Screen brightness picker"
 .SH "NAME"
 brightnesspicker \(em Graphical interface to set the brightness of the screens
 .SH "SYNOPSIS"
@@ -12,6 +12,8 @@
 A tray icon is displayed and can be clicked to bring up the selectors again.
 .br
 This is done because desktop computers can't easily adjust it like laptops and 
it can be annoying to use the screen's button to change the settings.
+.br
+If you attach a new screen, drag the list downwards to refresh it.
 
 .SH "Known issues"
 .PP
@@ -19,7 +21,7 @@
 
 .SH "REPORTING BUGS"
 .PP
-Report all bugs here: <https://github.com/ltworf/brightnesspicker>
+Report all bugs here: <https://codeberg.org/ltworf/brightnesspicker>
 
 .SH "AUTHOR"
 .PP
@@ -27,5 +29,5 @@
 
 .SH "COPYRIGHT"
 .PP
-Copyright © 2022 Salvo "LtWorf" Tomaselli. License AGPLv3: GNU Affero GPL 
version 3 <https://gnu.org/licenses/agpl.html>.
+Copyright © 2022-2025 Salvo "LtWorf" Tomaselli. License AGPLv3: GNU Affero GPL 
version 3 <https://gnu.org/licenses/agpl.html>.
 This is free software: you are free to change and redistribute it.  There is 
NO WARRANTY, to the extent permitted by law.
diff -Nru brightnesspicker-1.0/src/main.cpp brightnesspicker-1.2/src/main.cpp
--- brightnesspicker-1.0/src/main.cpp   2024-05-17 00:07:20.000000000 +0200
+++ brightnesspicker-1.2/src/main.cpp   2025-07-28 11:10:28.000000000 +0200
@@ -1,6 +1,6 @@
 /*
 brightnesspicker
-Copyright (C) 2022 Salvo "LtWorf" Tomaselli
+Copyright (C) 2022-2025 Salvo "LtWorf" Tomaselli
 
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU Affero General Public License as
@@ -51,7 +51,7 @@
     }
 
     QSystemTrayIcon tray;
-    
tray.setIcon(QIcon("/usr/share/icons/oxygen/base/256x256/devices/video-display.png"));
+    
tray.setIcon(QIcon("/usr/share/icons/hicolor/48x48/apps/brightnesspicker.svg"));
     tray.show();
 
     QQmlApplicationEngine engine;
diff -Nru brightnesspicker-1.0/src/main.qml brightnesspicker-1.2/src/main.qml
--- brightnesspicker-1.0/src/main.qml   2024-05-17 00:07:20.000000000 +0200
+++ brightnesspicker-1.2/src/main.qml   2025-07-28 11:10:28.000000000 +0200
@@ -1,6 +1,6 @@
 /*
 brightnesspicker
-Copyright (C) 2022 Salvo "LtWorf" Tomaselli
+Copyright (C) 2022-2025 Salvo "LtWorf" Tomaselli
 
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU Affero General Public License as
@@ -21,7 +21,7 @@
 import QtQuick 2.15
 import QtQuick.Window 2.15
 import QtQuick.Controls 2.15
-import Qt.labs.settings 1.1
+import QtCore
 
 Window {
     visible: true
@@ -33,12 +33,14 @@
 
     Connections {
         target: tray
-        onActivated: {
+        function onActivated() {
             mainwindow.visible = !mainwindow.visible
         }
     }
 
-    Component.onCompleted: {
+    Component.onCompleted: refreshList()
+
+    function refreshList() {
         items.clear();
         var screens = xrandr.listScreens();
         for(var i = 0; i < screens.length; i++) {
@@ -49,10 +51,29 @@
     ListView {
         anchors.fill: parent
 
-        ScrollBar.vertical: ScrollBar { }
+        ScrollBar.vertical: ScrollBar {
+            id: scrollbar
+        }
 
         model: items
 
+        BusyIndicator {
+            anchors.top: parent.top
+            anchors.horizontalCenter: parent.horizontalCenter
+            visible: false
+            running: visible
+            id: spinner
+        }
+
+        // Implement refresh when scrolling down
+        property bool negativescroll: scrollbar.position < 0
+        onNegativescrollChanged: {
+            if (spinner.visible) {
+                refreshList()
+            }
+            spinner.visible = !spinner.visible
+        }
+
         ListModel {
             id: items
         }
@@ -69,5 +90,6 @@
         property alias y: mainwindow.y
         property alias width: mainwindow.width
         property alias height: mainwindow.height
+        property alias visible: mainwindow.visible
     }
 }
diff -Nru brightnesspicker-1.0/src/Selector.qml 
brightnesspicker-1.2/src/Selector.qml
--- brightnesspicker-1.0/src/Selector.qml       2024-05-17 00:07:20.000000000 
+0200
+++ brightnesspicker-1.2/src/Selector.qml       2025-07-28 11:10:28.000000000 
+0200
@@ -1,6 +1,6 @@
 /*
 brightnesspicker
-Copyright (C) 2022 Salvo "LtWorf" Tomaselli
+Copyright (C) 2022-2025 Salvo "LtWorf" Tomaselli
 
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU Affero General Public License as
@@ -48,14 +48,21 @@
             orientation: Qt.Horizontal
             id: brightness
             stepSize: 0.05
-            from: 0.001
+            from: 0.1
             to: 2
             value: 1
+            property bool ignore_changes: false
 
             onValueChanged: {
+                if (brightness.ignore_changes)
+                    return
                 xrandr.setBrightness(devname.text, brightness.value)
             }
-            Component.onCompleted: xrandr.setBrightness(devname.text, 
brightness.value)
+            Component.onCompleted: {
+                brightness.ignore_changes = true
+                brightness.value = xrandr.getBrightness(devname.text)
+                brightness.ignore_changes = false
+            }
         }
 
         Button {
diff -Nru brightnesspicker-1.0/src/xrandr.cpp 
brightnesspicker-1.2/src/xrandr.cpp
--- brightnesspicker-1.0/src/xrandr.cpp 2024-05-17 00:07:20.000000000 +0200
+++ brightnesspicker-1.2/src/xrandr.cpp 2025-07-28 11:10:28.000000000 +0200
@@ -1,6 +1,6 @@
 /*
 brightnesspicker
-Copyright (C) 2022 Salvo "LtWorf" Tomaselli
+Copyright (C) 2022-2025 Salvo "LtWorf" Tomaselli
 
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU Affero General Public License as
@@ -58,3 +58,47 @@
     }
     return r;
 }
+
+#include <QDebug>
+float Xrandr::getBrightness(QString device) {
+    QStringList params;
+
+    params << "--verbose";
+
+    QProcess xrandr(this);
+    xrandr.start("xrandr", params, QIODevice::ReadOnly);
+    xrandr.waitForStarted(-1);
+    xrandr.waitForFinished(-1);
+    if (xrandr.exitCode() != 0)
+        return 1.0;
+    QString output = QString(xrandr.readAllStandardOutput());
+
+    QStringList lines = output.split("\n");
+    QStringList screens = this->listScreens();
+
+    int index = screens.indexOf(device);
+    if (index == -1)
+        return 1.0;
+
+    for (int i = 0; i < lines.length(); i++) {
+        if (lines[i].indexOf("Brightness:") == -1)
+            continue; //uninteresting line
+        if (index > 0) {
+            index--;
+            continue;
+        }
+
+        auto line = lines[i].split(":");
+        if (line.size() > 2)
+            return 1.0;
+
+        bool works;
+        float r = line[1].toFloat(&works);
+        if (!works)
+            return 1.0;
+        return r;
+    }
+
+    return 1.0;
+
+}
diff -Nru brightnesspicker-1.0/src/xrandr.h brightnesspicker-1.2/src/xrandr.h
--- brightnesspicker-1.0/src/xrandr.h   2024-05-17 00:07:20.000000000 +0200
+++ brightnesspicker-1.2/src/xrandr.h   2025-07-28 11:10:28.000000000 +0200
@@ -1,6 +1,6 @@
 /*
 brightnesspicker
-Copyright (C) 2022 Salvo "LtWorf" Tomaselli
+Copyright (C) 2022-2025 Salvo "LtWorf" Tomaselli
 
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU Affero General Public License as
@@ -34,6 +34,7 @@
 public slots:
     void setBrightness(QString, float);
     QStringList listScreens();
+    float getBrightness(QString);
 
 signals:
 

Reply via email to