Tester für DSBBatmon gesucht

marcel

Well-Known Member
Hallo zusammen,

DSBBatmon wurde neu geschrieben, kann von mir aber derzeit nicht unter realen Bedingungen getestet werden, da ich gerade kein FreeBSD auf dem Netbook habe. Die Oberfläche mit ihren Funktionen habe ich mit einer Akku-Simulation getestet. Es sollte(!) problemlos funktionieren, denn der ACPI-Code wurde nicht geändert. Allerdings möchte ich mich nicht darauf verlassen, und ich würde gerne eventuell vorhandene Probleme beheben, und Verbesserungsvorschläge in den Code einfließen lassen, bevor ich mich mit einer Update-Bitte an die Ports-Committer wende.

Zum Bau werden folgende Ports benötigt:
  • devel/qt5-buildtools
  • devel/qt5-core
  • devel/qt5-linguisttools
  • devel/qt5-qmake
  • x11-toolkits/qt5-gui
  • x11-toolkits/qt5-widgets
Der Code kann wie folgt heruntergeladen und kompiliert werden:

Code:
% git clone https://github.com/mrclksr/dsbbatmon
% cd dsbbatmon && qmake && make

oder
Code:
% fetch https://codeload.github.com/mrclksr/dsbbatmon/zip/master
% unzip dsbbatmon-master.zip
% cd dsbbatmon-master && qmake && make

Wer möchte, kann dem make auch ein make install folgen lassen. Dadurch werden neben der ausführbaren Datei auch eine Desktopdatei und die deutsche Übersetzungsdatei installiert.

Danke im Voraus!
Marcel
 
FreeBSD thinkpad 11.1-RELEASE FreeBSD 11.1-RELEASE #0 r321309: Fri Jul 21 02:08:28 UTC 2017 root@releng2.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC amd64

Baut sauber durch. Zeigt aber unter awesome kein Trayicon an. Ich werde es mal testen. Übrigens begrüße ich persönlich, dass du von GTK zu Qt wechselst ;)
 
Hallo Rakor,

danke für Deinen Einsatz!

Zeigt aber unter awesome kein Trayicon an

Ich habe mir mal awesome-4.2,1 auf meinem FreeBSD 11.1-STABLE #2 amd64 installiert, wobei ich die Standardkonfiguration /usr/local/etc/xdg/awesome/rc.lua benutzt habe. Das Trayicon wird bei mir angezeigt. Ich habe dazu den Testcode kompiliert, der nicht auf ACPI zugreift:

Code:
% qmake && make CFLAGS+=-DTEST=1

Macht das vielleicht bei Dir einen Unterschied?

Übrigens begrüße ich persönlich, dass du von GTK zu Qt wechselst ;)

Qt kommt meinem Anliegen schon eher entgegen. Da es sich ja rühmt, in bestehende Umgebungen zu integrieren. Mal abgesehen davon, dass GTK-2 veraltet ist.
 
Ich werde es heute Abend damit nochmal versuchen. Achso ich hatte es nicht installiert, nur übersetzt (sollte er das Icon in irgendeinem Pfad erwarten und nicht eincompiliert sein).
Ich verwende übrigens auf keinem System sudo
 
Baut und läuft bisher sauber. Tray Icon ist bei mir zu sehen, wobei ich zuerst auch dachte "Wo ist das Icon?" Aber es ist da ich habe "Paper" Icon Theme und da scheint das Icon für Batterie fast schwarz. Und ich finde dein Projekt echt Spitze @marcel
Code:
FreeBSD terra.lan 11.1-RELEASE FreeBSD 11.1-RELEASE #4: Sun Aug 13 13:28:40 CEST 2017  root@terra.lan:/usr/src/sys/amd64/compile/TERRA  amd64
i3 version 4.8-365-g6fcb3948 (2016-07-08, branch "gaps") © 2009-2014 Michael Stapelberg and contributors
i3status 2.11 (2017-01-21) © 2008 Michael Stapelberg and contributors
RTWvnvj.png
 
Ich habe mal getestet wegen den fehlenden Icons.
Wenn ich die Zeile
Code:
gtk-icon-theme-name = "Paper"
in meiner ~/.gtkrc-2.0 auskommentiere. ODER die Theme gegen z.b "gnome" tausche die installiert ist. Bekomme ich beim Start folgende Ausgabe.
Code:
QSystemTrayIcon::setVisible: No Icon set
Code:
[12:51][dsbbatmon]$ ls /usr/local/share/icons  
Adwaita/  gnome/  Iris/  mate/  matefaenzadark/ menta/  
ContrastHigh/  hicolor/  locolor/  matefaenza/  matefaenzagray/ oxygen/

[12:51][dsbbatmon]$ find /usr/local/share/icons -name battery-good-charging*  
/usr/local/share/icons/ContrastHigh/48x48/status/battery-good-charging.png  
/usr/local/share/icons/ContrastHigh/24x24/status/battery-good-charging.png  
/usr/local/share/icons/ContrastHigh/256x256/status/battery-good-charging.png  
/usr/local/share/icons/ContrastHigh/16x16/status/battery-good-charging.png  
/usr/local/share/icons/ContrastHigh/22x22/status/battery-good-charging.png  
/usr/local/share/icons/ContrastHigh/32x32/status/battery-good-charging.png  
/usr/local/share/icons/Adwaita/16x16/status/battery-good-charging.png  
/usr/local/share/icons/Adwaita/22x22/status/battery-good-charging.png  
/usr/local/share/icons/Adwaita/32x32/status/battery-good-charging.png  
/usr/local/share/icons/Adwaita/24x24/status/battery-good-charging.png  
/usr/local/share/icons/Adwaita/scalable/status/battery-good-charging-symbolic.svg  
/usr/local/share/icons/Adwaita/256x256/status/battery-good-charging.png  
/usr/local/share/icons/Adwaita/48x48/status/battery-good-charging.png  
/usr/local/share/icons/mate/24x24/status/battery-good-charging.png  
/usr/local/share/icons/mate/scalable/status/battery-good-charging-symbolic.svg  
/usr/local/share/icons/mate/48x48/status/battery-good-charging.png  
/usr/local/share/icons/mate/16x16/status/battery-good-charging.png  
/usr/local/share/icons/mate/22x22/status/battery-good-charging.png  
/usr/local/share/icons/mate/32x32/status/battery-good-charging.png  
/usr/local/share/icons/mate/256x256/status/battery-good-charging.png  
/usr/local/share/icons/matefaenzadark/status/scalable/battery-good-charging-symbolic.svg  
/usr/local/share/icons/matefaenza/status/scalable/battery-good-charging-symbolic.svg  
/usr/local/share/icons/matefaenza/devices/22/battery-good-charging.png  
/usr/local/share/icons/matefaenza/devices/32/battery-good-charging.png  
/usr/local/share/icons/matefaenza/devices/64/battery-good-charging.png  
/usr/local/share/icons/matefaenza/devices/scalable/battery-good-charging.svg  
/usr/local/share/icons/matefaenza/devices/48/battery-good-charging.png  
/usr/local/share/icons/matefaenza/devices/96/battery-good-charging.png  
/usr/local/share/icons/matefaenza/devices/24/battery-good-charging.png  
/usr/local/share/icons/matefaenza/devices/16/battery-good-charging.png

Also scheint das Icon bei manchen Themes nicht vorhanden zu sein. @Rakor

Beispiel:
matefaenza:
ufc79Ua.png


mate:
JA6UEGb.png
 
Der neue Code ist bereit zum testen. Die Vorgehensweise zum Bau bleibt gleich.

Folgende Änderungen wurden vorgenommen:
  • Das von DSBBatmon benutzte Icon-Theme ist jetzt unabhängig von den Vorgaben in ~/.gtkrc.mine und ~/.gtkrc-2.0.
  • Sollten Icons für die Darstellung des Akkuzustands nicht gefunden werden, erzeugt DSBBatmon selbst Icons (stilisierte Batterie in gelb (rot kritisch) für Entladen, und grün für Laden, die jeweils durch die Balkenhöhe den Ladungszustand anzeigt).
Zum Erscheinungsbild:

Denjenigen, die wie ich, weder KDE Plasma, noch GNOME benutzen, sei ans Herz gelegt, global QT_QPA_PLATFORMTHEME=qt5ct zu setzen, etwa per ~/.xinitrc:
Code:
export QT_QPA_PLATFORMTHEME=qt5ct
exec mein-WM ...
Mit misc/qt5ct kann dann das Erscheinungsbild von Qt5-Anwendungen bestimmt werden. Icon-Themes, die die gängigen Akkuzustände darstellen können sind z.B. Faenza, Adwaita oder GNOME.
 
Jetzt habe ich auch endlich ein Symbol. :)
Das scheint aber noch nicht an den akutellen Ladestand angepasst zu sein. Screenshot mit Akkustand 100% angehängt.
Die anderen Icons sind: Parcellite, dsbmc, dsbmixer (kein Icon).

Wenn ich den Strom bei 100% abziehe, sehe ich im Terminal übrigens:
Code:
QString::arg: Argument missing: "" , 100
 

Anhänge

  • Screenshot-2017-08-16-15-37-19.png
    Screenshot-2017-08-16-15-37-19.png
    3,5 KB · Aufrufe: 193
Das scheint aber noch nicht an den akutellen Ladestand angepasst zu sein.

Wie es scheint, benutzt Du ein Icon-Theme – und davon gibt es einige –, das einfach nur Symlinks für die unterschiedlichen Zustände auf ein und dasselbe Icon gesetzt hat. Faenza und Adwaita „schummeln“ da nicht. Vielleicht könnte ich eine Option hinzufügen, mit der grundsätzlich die von DSBBatmon erzeugten Icons benutzt werden. Man sieht eins im dem Screenshot von @datasmurf .

dsbmixer (kein Icon).
Ist auch schon in Arbeit.

Code:
QString::arg: Argument missing: "" , 100

Ist nicht wild, aber ich werde mich darum kümmern.
 
Super, nun ist ein Icon da. Ich werde nun mal im Detail testen... nur für den Suspend muss ich mir noch was überlege was ohne sudo auskommt....

Edit: ich hab noch nicht in den Code gesehen aber so wie es aussieht pollt er immer den Status? Wie oft pollt er denn? Fällt nur auf, dass die Reaktion auf Stecker ziehen bzw. stecken recht lange dauert. Ist aber nicht schlimm, ich bin ja froh, dass es nun sowas tolles für mini-setups gibt.
Ich teste weiter
 
Wenn ich den Strom bei 100% abziehe, sehe ich im Terminal übrigens:
Code:
QString::arg: Argument missing: "" , 100

Behoben.

Der aktuelle Code bietet dem Anwender jetzt auch eine Möglichkeit, sich für die Verwendung von Icons aus dem aktuellen Icon-Theme für das Tray zu entscheiden. Anderenfalls werden die von DSBBatmon erzeugten Status-Icons benutzt.
 
Edit: ich hab noch nicht in den Code gesehen aber so wie es aussieht pollt er immer den Status? Wie oft pollt er denn? Fällt nur auf, dass die Reaktion auf Stecker ziehen bzw. stecken recht lange dauert. Ist aber nicht schlimm, ich bin ja froh, dass es nun sowas tolles für mini-setups gibt.
Ich teste weiter

Erstmal danke für's Testen! Ich habe 5s voreingestellt, damit DSBBatmon selbst nicht schon durch zu häufiges Pollen den Akku leer saugt. Vielleicht sollte man das auch noch konfigurierbar machen.
 
@marcel Anstatt zu pollen, kannst du dich auch an /var/run/devd.pipe hängen. Da kommt bei jeder ACPI-Änderung (Stecker rein, Stecker raus, Ladestand ändert sich) ein Event an, welches du nur abzugreifen brauchst.
 
@marcel Anstatt zu pollen, kannst du dich auch an /var/run/devd.pipe hängen. Da kommt bei jeder ACPI-Änderung (Stecker rein, Stecker raus, Ladestand ändert sich) ein Event an, welches du nur abzugreifen brauchst.

Danke, @lme ! Hätte ich ja auch mal selbst dran denken können! So ist es natürlich viel eleganter.
 
Der devd-Branch ist jetzt bereit zum testen:

Code:
% fetch https://github.com/mrclksr/dsbbatmon/archive/devd.zip
% cd dsbbatmon-devd
% qmake && make

Sollte bei Euch die variable poll_interval in der ~/.config/DSB/dsbbatmon/config stehen, kommentiert sie bitte aus, denn sie findet in diesem Entwicklungszweig keine Verwendung, und würde als Fehler moniert werden.
 
Ich habe mich darum gekümmert. DSBBatmon beendet sich einfach, noch bevor etwas zu sehen ist, wenn kein Akku installiert zu sein scheint.
Das ist unellegant -- man kann ja Akkus auch teils noch entfernen. Könntest Du nicht einfach ganz normal starten und auf devd-events bezüglich "neue batterie" oder so reagieren?
 
Zurück
Oben