1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Tester für DSBBatmon gesucht

Dieses Thema im Forum "FreeBSD - Anwendungen und Ports" wurde erstellt von marcel, 14 August 2017.

  1. marcel

    marcel Member

    Registriert seit:
    9 Juli 2017
    Beiträge:
    67
    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
     
    holgerw und datasmurf gefällt das.
  2. Rakor

    Rakor Moderator Mitarbeiter

    Registriert seit:
    17 September 2009
    Beiträge:
    2.004
    Ort:
    Mannheim
    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 ;)
     
    marcel und holgerw gefällt das.
  3. marcel

    marcel Member

    Registriert seit:
    9 Juli 2017
    Beiträge:
    67
    Hallo Rakor,

    danke für Deinen Einsatz!

    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?

    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.
     
  4. lme

    lme FreeBSD Committer

    Registriert seit:
    6 Mai 2003
    Beiträge:
    2.613
    Ort:
    Düsseldorf
    Läuft bei mir soweit, allerdings fehlt das Tray-Icon.
     
  5. Rakor

    Rakor Moderator Mitarbeiter

    Registriert seit:
    17 September 2009
    Beiträge:
    2.004
    Ort:
    Mannheim
    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
     
  6. datasmurf

    datasmurf Happy FreeBSD User

    Registriert seit:
    9 April 2014
    Beiträge:
    63
    Ort:
    /boot
    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
    
    [​IMG]
     
  7. datasmurf

    datasmurf Happy FreeBSD User

    Registriert seit:
    9 April 2014
    Beiträge:
    63
    Ort:
    /boot
    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:
    [​IMG]

    mate:
    [​IMG]
     
    marcel gefällt das.
  8. marcel

    marcel Member

    Registriert seit:
    9 Juli 2017
    Beiträge:
    67
    Danke, @lme und @datasmurf !

    Das ist in der Tat das Problem. Ich werde die Funktion zum Laden der Icons, und den Code der dieselben benutzt überarbeiten.

    Danke. Das freut mich zu lesen. :)
     
  9. lme

    lme FreeBSD Committer

    Registriert seit:
    6 Mai 2003
    Beiträge:
    2.613
    Ort:
    Düsseldorf
    @marcel: Ich kann mich datasmurf nur anschließen. Die DSB-Tools sind alle sehr nützlich!
     
    marcel gefällt das.
  10. holgerw

    holgerw Well-Known Member

    Registriert seit:
    29 Februar 2016
    Beiträge:
    1.124
    Ort:
    Simtshausen - Hessen
    Ja, kein Generve mehr unter KDE mit irgendwelchen Policykit Konfigurationen, um externe Devices einzubinden ... das ist schon sehr gute Arbeit.
     
    marcel gefällt das.
  11. marcel

    marcel Member

    Registriert seit:
    9 Juli 2017
    Beiträge:
    67
    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.
     
    datasmurf gefällt das.
  12. datasmurf

    datasmurf Happy FreeBSD User

    Registriert seit:
    9 April 2014
    Beiträge:
    63
    Ort:
    /boot
    marcel gefällt das.
  13. lme

    lme FreeBSD Committer

    Registriert seit:
    6 Mai 2003
    Beiträge:
    2.613
    Ort:
    Düsseldorf
    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:

    marcel gefällt das.
  14. marcel

    marcel Member

    Registriert seit:
    9 Juli 2017
    Beiträge:
    67
    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 .

    Ist auch schon in Arbeit.

    Ist nicht wild, aber ich werde mich darum kümmern.
     
  15. Rakor

    Rakor Moderator Mitarbeiter

    Registriert seit:
    17 September 2009
    Beiträge:
    2.004
    Ort:
    Mannheim
    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
     
    marcel gefällt das.
  16. marcel

    marcel Member

    Registriert seit:
    9 Juli 2017
    Beiträge:
    67
    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.
     
  17. marcel

    marcel Member

    Registriert seit:
    9 Juli 2017
    Beiträge:
    67
    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.
     
  18. marcel

    marcel Member

    Registriert seit:
    9 Juli 2017
    Beiträge:
    67
    Vielleicht ein Wrapper?
    Code:
    % cat /usr/local/libexec/acpi_wrapper
    #!/bin/sh
    exec /usr/sbin/acpiconf -s 3
    
    Code:
    # chmod u=rwx+s,g=rx,o= /usr/local/libexec/acpi_wrapper
    
     
  19. lme

    lme FreeBSD Committer

    Registriert seit:
    6 Mai 2003
    Beiträge:
    2.613
    Ort:
    Düsseldorf
    @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 gefällt das.
  20. marcel

    marcel Member

    Registriert seit:
    9 Juli 2017
    Beiträge:
    67
    Danke, @lme ! Hätte ich ja auch mal selbst dran denken können! So ist es natürlich viel eleganter.
     
  21. tcberner

    tcberner Member

    Registriert seit:
    3 September 2008
    Beiträge:
    106
    Ort:
    Zürich, Schweiz
    Es wär ev noch schön, wenn es den Fall von keiner Batterie eleganter handhaben würde.
     
  22. marcel

    marcel Member

    Registriert seit:
    9 Juli 2017
    Beiträge:
    67
    Ich habe mich darum gekümmert. DSBBatmon beendet sich einfach, noch bevor etwas zu sehen ist, wenn kein Akku installiert zu sein scheint.
     
  23. marcel

    marcel Member

    Registriert seit:
    9 Juli 2017
    Beiträge:
    67
    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.
     
  24. lme

    lme FreeBSD Committer

    Registriert seit:
    6 Mai 2003
    Beiträge:
    2.613
    Ort:
    Düsseldorf
    Danke, läuft gut bei mir bisher!
     
    marcel gefällt das.
  25. tcberner

    tcberner Member

    Registriert seit:
    3 September 2008
    Beiträge:
    106
    Ort:
    Zürich, Schweiz
    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?