Hallo, wie kann ich mein Hintergrund Bild so konfigurieren, damit wenn ich auf gewisse Elemente drücke, sich ein Ordner oder ein Programm öffnet? Mein Hintergrund Bild ist im .svg Format.
interaktiver SVG Hintergrund
Anmeldungsdatum: Beiträge: 17 |
|
Anmeldungsdatum: Beiträge: 16426 |
Hallo Otzie, Indem du eine Gnome Erweiterung nutzt, da eine Ablage auf dem Desktop bei Ubuntu nicht mehr gewünscht ist. PS: Oder du meinst was anderes ..... Gruss Lidux |
Anmeldungsdatum: Beiträge: 1136 |
|
(Themenstarter)
Anmeldungsdatum: Beiträge: 17 |
Habe Ubuntu |
Moderator
Anmeldungsdatum: Beiträge: 8807 |
Ich habe das so verstanden, wie bei einigen 2D-Spielen. Ich habe eine Grafik und kann auf Bereiche klicken, was dann Aktionen auslöst. Man könnte z.B. ein Bild eines Büros nehmen. Beim Klick auf den Aktenschrank öffnet sich der Dateibrowser, beim Klick auf den Wandkalender der Onlinekalender usw. Das ist eine interessante Idee ... |
Anmeldungsdatum: Beiträge: 11228 Wohnort: München |
Letztendlich läuft das auf ein Programm hinaus, das als unterstes Fenster dargestellt wird und Mouse-Events verarbeitet. Es gibt z.B. einen Fork von Conky, der das unterstützt: https://github.com/brndnmtthws/conky/issues/938#issuecomment-605392401 - natürlich kann man sich so ein Programm auch selber schreiben (z.B. mit https://api.arcade.academy/en/latest/index.html ist 2D-Grafik sehr bequem umsetzbar) - wenn man die Buttons selber positioniert statt die ins Hintergrundbild einzubauen, tut man sich mit der Berechnung der Position bei unterschiedlichen Bildschirmauflösungen leichter. Mit Xorg und wmctrl kann man ein Fenster dann so positionieren, dass es das das unterste Element auf dem Desktop ist - also z.B.: wmctrl -r $WINDOW -b add,fullscreen wmctrl -r $WINDOW -b add,below wmctrl -r $WINDOW -b add,skip_taskbar |
(Themenstarter)
Anmeldungsdatum: Beiträge: 17 |
So Umfang reich brauch ich es nicht, habe in meinem SVG Hintergrund ein Firefox Icon bzw. ein ähnliches. Das Ziel ist es wenn dieses Icon (Grafik) angeklickt wird Firefox sich öffnet. |
Anmeldungsdatum: Beiträge: 11228 Wohnort: München |
Du musst halt irgendwie die Koordinaten für die anklickbare Fläche des Icons mit einer Programmlogik verheiraten, die auf Maus-Events in dem Bereich reagiert. Mit einem eigenen Programm ist das i.d.R. am einfachsten auf Mausklicks zu reagieren, ansonsten musst du ständig abfragen, welches Fenster den Fokus hat und auf die Events des X-Servers lauschen (was deutlich umständlicher und fehleranfälliger ist). Und wenn die Icons nicht Teil eines großen Bildes sind, sondern ein eigenständiges Element darstellen, kann man bereits existierende Vereinfachungen nutzen, um erkennen, ob ein Mausklick darauf landet oder nicht. |
Anmeldungsdatum: Beiträge: 11228 Wohnort: München |
Wenn man einen Browser zur Darstellung der SVG-Datei nutzt (was dann ein in der User-Session laufendes Backend erfordern dürfte, um beliebige Programme starten zu können), könnte man z.B. einen SVG-Link für die Icons in der Datei einbetten: https://developer.mozilla.org/en-US/docs/Web/SVG/Element/a - das ist vermutlich die stressfreieste Möglichkeit, wenn man sich nicht groß mit den Koordinaten herumschlagen will. |
Anmeldungsdatum: Beiträge: 11228 Wohnort: München |
Proof of Concept: seahawk1986/WebAppStarter Der Trick ist in der SVG-Datei ein bisschen JS unterzubringen: https://github.com/seahawk1986/WebAppStarter/blob/main/svg/Background.svg?short_path=530d843#L19 ff und dann das SVG-Element für das Firefox-Logo in einen Mit dem Paket kiosk-browser aus https://launchpad.net/~seahawk1986-hotmail/+archive/ubuntu/jammy-main bekommt man z.B. einen minimalistischen Webbrowser ohne Deko, der sich prima dazu eignet in der oben genannten Weise auf der untersten Ebene zu laufen. |
Anmeldungsdatum: Beiträge: 1136 |
Das was du hier beschreibst ist doch ganz einfach ohne Änderung möglich mit Standard Xubuntu (das du gemäß gemäß Einordnung "Forum → Grafische Oberfläche → XFCE (Xubuntu) → interaktiver SVG Hintergrund" ja verwendest). Die Nutzung von
ist unsinnig für deine Anforderung. |
Anmeldungsdatum: Beiträge: 17575 Wohnort: Berlin |
Eine andere Idee wäre es, ohne seahawks Ansatz ausprobiert zu haben, und ohne zu verstehen, wieso es laut shiro trivial ist, dass Du Icons aus dem SVG ausschneidest, die die Größe eines Standardicons haben und quadratisch sind, evtl. bei Bedarf und dem Versuch, die Umrisse der aktivierbaren Parts genau zu treffen, einen transparenten Hintergrund, und so sie über die Größe eines solchen Icons hinausgehen mit mehreren Icons zu arbeiten, die Du dann genau über der richtigen Stelle des Hintergrunds platzierst, so dass sich eine ungebrochene Oberfläche dem Beobachter präsentiert. Allerdings ist das ungeeignet, wenn sich die Auflösung des Bildschirms ändert und die Icons dann nicht mehr passen, oder wenn sich die Icons dabei zu leicht verschieben, oder aktivierte Icons sich dann unangenehm absetzen. |
Anmeldungsdatum: Beiträge: 1198 |
Warum einfach machen, wenn es auch kompliziert geht? |