ProgrammIcon für Taskleistenschaltfläche

In dieser Linux-Ecke dürfen nur Themen rund um Linux geschrieben werden.
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
jogo
Beiträge: 123
Registriert: 22.11.2020 20:05
Computerausstattung: 'ne Handvoll gebrauchte Laptops & PCs mit Mint und LMDE

ProgrammIcon für Taskleistenschaltfläche

Beitrag von jogo »

meine selbst gebauten Programme haben auf der Taskleiste alle so ein Zahnrad als Symbol - wird wohl das Standardsymbol sein. Ist halt etwas unübersichtlich, wenn mehrere Programme geöffnet sind und alle so ein Zahnrad haben.
Wie krieg ich das hin, so ein Symbol in meinen Programm einzubauen?
Für die Desktopstarter konnte ich das ja in der .desktop Datei zuordnen. Aber auf der Tastleiste scheint das anders zu laufen..
--
Ideen gibt es viele - man muss sie nur haben...
Mint / LMDE5+6 // PureBasic 6.21
Benutzeravatar
Macros
Beiträge: 1361
Registriert: 23.12.2005 15:00
Wohnort: Olching(bei FFB)
Kontaktdaten:

Re: ProgrammIcon für Taskleistenschaltfläche

Beitrag von Macros »

Falls du das GTK Subsystem benutzt (also falls du bei Subsystem nichts einträgst), kannst du die GTK API dafür verwenden.

Code: Alles auswählen

gtk_window_set_icon_(WindowID(window), ImageID(iconbild))
Unter QT kenne ich den den Weg nicht, wäre aber auch neugierig,
Bild
jogo
Beiträge: 123
Registriert: 22.11.2020 20:05
Computerausstattung: 'ne Handvoll gebrauchte Laptops & PCs mit Mint und LMDE

Re: ProgrammIcon für Taskleistenschaltfläche

Beitrag von jogo »

jo Danke, funktioniert mit GTK perfekt :)
Würde auch gerne mit GTK weitermachen, aber dann funktioniert ja mit den aktuellen PB nicht mehr das Systray-Icon. Und ich hab einige kleine Programme, die nur über dieses Systray-Poppmenü gesteuert werden.
Aber vllt. kennt ja noch jemand die QT-Variante :)
--
Ideen gibt es viele - man muss sie nur haben...
Mint / LMDE5+6 // PureBasic 6.21
jogo
Beiträge: 123
Registriert: 22.11.2020 20:05
Computerausstattung: 'ne Handvoll gebrauchte Laptops & PCs mit Mint und LMDE

Re: ProgrammIcon für Taskleistenschaltfläche

Beitrag von jogo »

Ich hab jetzt nochmal in Richtung GTK geforscht. Ich gehe davon aus, das GTK3 verwendet wird, wenn kein Subsystem angegeben ist.
Die PB Hilfe hat geholfen ;) habe dort das Beispiel in "SysTrayIconMenu(#SysTrayIcon, MenuID)" getestet und erstaunt festgestellt, dass ein SystrayIcon erzeugt wurde. Dieser Befehl muß neu sein (oder ich war blind), denn als ich diesen Befehl nach Erstellung von SystrayIcon und Popmenü angefügt hatte, wurde artig mein Systrayicon angezeigt und das Popmenü auch.
Bin grad beim Anpassen für Linke+Rechte Maus Behandlung, aber wenn das alles so läuft wie vorher, dann bleib ich bei GTK3, weil ich hier für die Taskleistensymbole meine Icons wie in #Beitrag 3 platzieren kann.
----

Nachtrag:
Hmm, SystrayIcon funktioniert, Popmenü funktioniert
Aber ob ich mit linke oder rechte Maus auf das SystrayIcon drücke, wird nicht gemeldet.
#PB_Event_SysTray bzw. EventType() scheinen wirkungslos zu sein.
So ein Mist - dann wohl doch QT - die Maustasten sind mir wichtiger als die Taskbar-Icons.
Es gab Tage, da ging beides... :)
--
Ideen gibt es viele - man muss sie nur haben...
Mint / LMDE5+6 // PureBasic 6.21
Benutzeravatar
mk-soft
Beiträge: 3855
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: ProgrammIcon für Taskleistenschaltfläche

Beitrag von mk-soft »

Bei gtk3 wurde die API systray entfernt.
Somit wurde bei pb auf die libappindicator3 gewechselt.
Von dieser wird aber leider nicht die Mausevent unterstützt.
Such Mal im englischen Forum nach libappindicator3
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
jogo
Beiträge: 123
Registriert: 22.11.2020 20:05
Computerausstattung: 'ne Handvoll gebrauchte Laptops & PCs mit Mint und LMDE

Re: ProgrammIcon für Taskleistenschaltfläche

Beitrag von jogo »

Jo, hab etwas gestöbert ;) und bin auf dein cooles Projekt Linux AppIndicator gestoßen.
Respekt - da steckt eine Menge Arbeit drin. Bin grad am probieren und verstehen, um das auch für meine Tools anwenden zu können.
Und ich könnte jetzt damit auch mein SystrayIcon ein Tooltip geben. Das hat ja mit GTK3 auch nicht mehr funktioniert - da war nur der Name der ausführbaren Datei zu sehen.

Die Funktion app_indicator_set_label(appindicator, "Example Label", "") zeigt (noch) keine Wirkung. Wo erscheint dieser Text?
Hab mich gestern doch wieder für GTK3 entschieden (die ganzen Zahnräder waren doch zu nervig :) ) und ich hab die Funktion für die rechte Maus einfach als letztes im Popmenü eingebaut - ist ein Klick mehr, aber ok.
Allerdings könnte ich ja dafür ja auch diese Scrollfunktion "mißbrauchen", würde für diese eine Funktion bei mir passen. Ansonsten lässt sich damit so einiges anstellen.
Erstmal Danke für den Tip & die Mühe :)

Edit:
Wie kommt es eigentlich, dass dieses scroll_event ausgewertet wird, obwohl es nicht in der Ereignisschleife abgefragt wird?
--
Ideen gibt es viele - man muss sie nur haben...
Mint / LMDE5+6 // PureBasic 6.21
Benutzeravatar
mk-soft
Beiträge: 3855
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: ProgrammIcon für Taskleistenschaltfläche

Beitrag von mk-soft »

Was man mit diesen scroll event anfangen soll weiss ich auch nicht. Wird aber von der lib angeboten.
Das mit set_label und set_title wird je nach Linux Distribution unterschiedlich Dargestellt.

Bei Mint Linux wird set_title als Tooltip angezeigt. Bei Ubuntu wird set_label rechts neben den Icon als Text angezeigt. Bei Raspberry LXDE nichts.
Also undefiniertes Ergebnis je nach Distribution. Schon Komisch ...

Es sollte also die PB Systray Funktionen mit SysTrayIconMenu für das meiste Ausreichen.
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
jogo
Beiträge: 123
Registriert: 22.11.2020 20:05
Computerausstattung: 'ne Handvoll gebrauchte Laptops & PCs mit Mint und LMDE

Re: ProgrammIcon für Taskleistenschaltfläche

Beitrag von jogo »

mk-soft hat geschrieben: 10.10.2024 15:36 Was man mit diesen scroll event anfangen soll weiss ich auch nicht. Wird aber von der lib angeboten.
hängt natürlich von der Anwendung ab. Könnte mir vorstellen, wenn man im Hintergrund Musik abspielt, könnte man einfach mit der Maus über das Icon gehen und dann die Lautstärke regeln, oder vor & zurück zappen - also irgendwas in dieser Richtung.
Ich zB. könnte für mein kleines Tool damit mein Hauptfenster anzeigen oder verstecken - hat vorher meine rechte Maus erledingt :)

Aber ich bin noch am basteln. Schon mal cool, dass ich jetzt mit den GTK3 ganz gut mit den Systray arbeiten kann. Das mit linken und rechten Mausevent läßt sich ganz gut kompensieren.

Obwohl ich nicht wirklich nachvollziehen kann, warum von GTK3 ausgerechnet die Mausklicks auf das Systray nicht mehr gemeldet werden.
Zumal ja das Scrollen auch Mausevents sind, da wäre das auf die beiden Tasten ja auch nicht mehr drauf angekommen :)
Aber gut, ich will nicht klagen, hab ja einen guten Kompromiss gefunden ;)
--
Ideen gibt es viele - man muss sie nur haben...
Mint / LMDE5+6 // PureBasic 6.21
Benutzeravatar
mk-soft
Beiträge: 3855
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: ProgrammIcon für Taskleistenschaltfläche

Beitrag von mk-soft »

jogo hat geschrieben: 10.10.2024 21:08 Obwohl ich nicht wirklich nachvollziehen kann, warum von GTK3 ausgerechnet die Mausklicks auf das Systray nicht mehr gemeldet werden.
Zumal ja das Scrollen auch Mausevents sind, da wäre das auf die beiden Tasten ja auch nicht mehr drauf angekommen :)
Aber gut, ich will nicht klagen, hab ja einen guten Kompromiss gefunden ;)
Bei der aktuellen version von GTK3 Libraries gibt es kein SysTray mehr. Daher wurde von PB intern auf die libappindicator3 gewechselt. Diese liefert leider keine Mausklicks.
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
jogo
Beiträge: 123
Registriert: 22.11.2020 20:05
Computerausstattung: 'ne Handvoll gebrauchte Laptops & PCs mit Mint und LMDE

Re: ProgrammIcon für Taskleistenschaltfläche

Beitrag von jogo »

mk-soft hat geschrieben: 11.10.2024 09:53 Bei der aktuellen version von GTK3 Libraries gibt es kein SysTray mehr.
Wurde das vergessen, oder haben die Entwickler das bewußt weggelassen?
--
Ideen gibt es viele - man muss sie nur haben...
Mint / LMDE5+6 // PureBasic 6.21
Antworten