[gelöst] Orage-Uhr: Zeilenumbruch im Formatstring?

KDE, Gnome, Windowmanager, X11, Grafiktreiber und alles was dazu notwendig ist. Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
hikaru
Moderator
Beiträge: 13602
Registriert: 09.04.2008 12:48:59

[gelöst] Orage-Uhr: Zeilenumbruch im Formatstring?

Beitrag von hikaru » 30.08.2020 10:43:18

Hallo,

ich benutze Xfce und dort als Uhr im Panel Debianorage. Je nach Displayformat habe ich das Xfce-Panel an der Seite statt oben oder unten. Um Platz zu sparen und trotzdem eine aufrechte Schrift zu haben, stecke ich dann zwei Orage-Plugins übereinander ins Panel, wobei das obere die Stunden (%H) und das untere die Minuten (%M) anzeigt.
Das funktioniert an sich gut. Nun habe ich aber ein Convertible (Notebook mit um 360° umklappbarem Display) das ich mal im Quer- und mal im Hochformat verwende. Das Panel wird beim Umschalten scriptgesteuert jeweils an die kurze Seite des Displays gepappt. Daher passt dieser statische Orage-Workaround nicht mehr wirklich, weil dann im Hochformat (also bei horizontalem Panel) beide Orage-Plugins nebeneinander statt übereinander angezeigt werden, was kostbaren Platz kostet. Nun dachte ich, ich kann ein einziges Orage-Plugin verwenden und im Format-String einen Zeilenumbruch definieren (%H\n%M), aber das "\n" wird literal dargestellt, auch wenn ich den Backslash zusätzlich escape (\\n).
Mag ja sein, dass Orage keine Zeilenumbrüche kann und das wäre auch kein Beinbruch, denn so wichtig ist es nun auch wieder nicht. Allerdings legt [1] nahe, dass das doch ginge und wohl ganz einfach sei. Leider steht da aber nicht, wie man es macht.

Hat jemand eine Idee?


[1] https://ubuntuforums.org/showthread.php?p=8638947
Zuletzt geändert von hikaru am 30.08.2020 11:26:00, insgesamt 1-mal geändert.

Benutzeravatar
Meillo
Moderator
Beiträge: 8831
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Orage-Uhr: Zeilenumbruch im Formatstring?

Beitrag von Meillo » 30.08.2020 10:59:23

hikaru hat geschrieben: ↑ zum Beitrag ↑
30.08.2020 10:43:18
Allerdings legt [1] nahe, dass das doch ginge und wohl ganz einfach sei. Leider steht da aber nicht, wie man es macht.

[1] https://ubuntuforums.org/showthread.php?p=8638947
Eigentlich sagt der verlinkte Thread doch gar nichts aus. Da schreibt nur einer, dass man das andere Plugin nehmen soll, weil das ganz viel koenne, aber konkret wird er in keiner Weise. Vermutlich hat er gar nicht verstanden was eigentlich gesucht wird. So jedenfalls kommt es mir vor, denn wie soll man in einer Konfigurationsoberflaeche, die er erwaehnt, Zeilenumbrueche im Anzeigeformat einstellen. Das scheint mir alles nicht schluessig zu sein.
Nun dachte ich, ich kann ein einziges Orage-Plugin verwenden und im Format-String einen Zeilenumbruch definieren (%H\n%M), aber das "\n" wird literal dargestellt, auch wenn ich den Backslash zusätzlich escape (\\n).
Wenn das ``\n'' literal dargestellt wird, dann bringt zusaetzliches Escapen nichts. Wenn es literal dargestellt wird, dann ist es bereits maximal escapt, sprich, der String wird wie in Singlequotes interpraetiert. Backslashes scheinen keine Escape-Funktion mehr zu haben.

Da die Zeichen literal verwendet werden musst du versuchen einen literalen Zeilenumbruch einzubauen. Bei einer Textarea waere das einfach, bei einem einzeiligen Textfeld wuerde ich mal mit sowas wie ``^V^M'' ansetzen oder ein `^M' aus dem vi reinkopieren. Vielleicht nicht ueber die Konfigurationsoberflaeche, sondern direkt in der Datei, in der die Einstellungen gespeichert sind.

Eine andere Moeglichkeit waere noch, dass das Programm ein selbstdefiniertes Zeichen hat, das es mit einem Newline ersetzt. Das waere aber anwendungsspezifisch und koennte nur von dessen Dokumentation, Code oder Entwicklern beantwortet werden.

Wenn der Formatstring in einer allgemeinen printf(3)-Art gehalten waere (was vermutlich nicht der Fall ist, wenn Backslash-Escapes nicht funktionieren), dann koennte moeglicherweise sowas wie ``%0x0A'' funktionieren.

Es koennte auch sein, dass es grundsaetzlich unmoeglich ist, weil das Widget nur einzeiligen Text anzeigen kann. (Je laenger ich darueber nachdenke, desto wahrscheinlicher scheint mir dieser Fall zu sein.)

Das waren nun alle Ideen auf die ich gekommen bin.
Use ed once in a while!

Benutzeravatar
hikaru
Moderator
Beiträge: 13602
Registriert: 09.04.2008 12:48:59

Re: Orage-Uhr: Zeilenumbruch im Formatstring?

Beitrag von hikaru » 30.08.2020 11:25:47

Meillo hat geschrieben: ↑ zum Beitrag ↑
30.08.2020 10:59:23
[..] oder ein `^M' aus dem vi reinkopieren.
Danke! Das funktioniert. Ich habe einen Zeilenumbruch aus dem Texteditor in den Formatdialog von Orage kopiert und kriege so eine zweizeilige Anzeige.

Benutzeravatar
Meillo
Moderator
Beiträge: 8831
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: [gelöst] Orage-Uhr: Zeilenumbruch im Formatstring?

Beitrag von Meillo » 30.08.2020 11:31:05

LOL :THX:
Use ed once in a while!

Benutzeravatar
hikaru
Moderator
Beiträge: 13602
Registriert: 09.04.2008 12:48:59

Re: [gelöst] Orage-Uhr: Zeilenumbruch im Formatstring?

Beitrag von hikaru » 30.08.2020 11:35:27

Manchmal sieht man den Wald vor lauter Bäumen nicht. ;)

Benutzeravatar
Meillo
Moderator
Beiträge: 8831
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: [gelöst] Orage-Uhr: Zeilenumbruch im Formatstring?

Beitrag von Meillo » 30.08.2020 11:54:09

hikaru hat geschrieben: ↑ zum Beitrag ↑
30.08.2020 11:35:27
Manchmal sieht man den Wald vor lauter Bäumen nicht. ;)
Natuerlich geht's uns allen immer wieder mal so. Zumeist dann wenn wir vergessen strukturiert und langsam zu denken. Wir eilen in Gedanken dahin, statt Schritt fuer Schritt zu machen. Haettest du dich gefragt, *warum* der Backslash literal angezeigt wird und was das *bedeutet*, dann haettest du die Antwort selber gefunden. Das ist der Punkt an dem man ein Stueck zurueck treten muss, einmal ums Haus oder durch die Flure laufen muss, und danach mit Abstand und neuer Perspektive neu auf das Problem schauen muss ... ganz langsam und strukturiert. Die Fragen ``Was genau passiert hier?'' und ``Warum passiert das bzw. was bedeutet das?'' sind die wichtigen. Man muss es also erklaeren. Das ist wobei das Teddybaer-Debugging (oder Rubber-Duck-Debugging fuer die Moderneren unter uns) hilft.

... oder man fragt im Forum und macht damit den Mitlesenden eine Freude. ;-)
Use ed once in a while!

r2h6
Beiträge: 116
Registriert: 26.01.2007 10:23:18

Re: [gelöst] Orage-Uhr: Zeilenumbruch im Formatstring?

Beitrag von r2h6 » 30.08.2020 13:59:23

Warum benutzt du nicht einfach '%n' ;)

Benutzeravatar
hikaru
Moderator
Beiträge: 13602
Registriert: 09.04.2008 12:48:59

Re: [gelöst] Orage-Uhr: Zeilenumbruch im Formatstring?

Beitrag von hikaru » 30.08.2020 14:03:26

r2h6 hat geschrieben: ↑ zum Beitrag ↑
30.08.2020 13:59:23
Warum benutzt du nicht einfach '%n' ;)
8O :facepalm: :mrgreen: :THX:

Benutzeravatar
Meillo
Moderator
Beiträge: 8831
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: [gelöst] Orage-Uhr: Zeilenumbruch im Formatstring?

Beitrag von Meillo » 30.08.2020 14:25:41

hikaru hat geschrieben: ↑ zum Beitrag ↑
30.08.2020 14:03:26
r2h6 hat geschrieben: ↑ zum Beitrag ↑
30.08.2020 13:59:23
Warum benutzt du nicht einfach '%n' ;)
8O :facepalm: :mrgreen: :THX:
Heisst das, du hast nicht nur den Wald nicht gesehen, sondern auch die Manpage/Dokumentation nicht gelesen? ;-) Oder wo haette man diese Information finden koennen?
Use ed once in a while!

Benutzeravatar
hikaru
Moderator
Beiträge: 13602
Registriert: 09.04.2008 12:48:59

Re: [gelöst] Orage-Uhr: Zeilenumbruch im Formatstring?

Beitrag von hikaru » 30.08.2020 14:55:11

Die Manpage ist leider nicht sonderlich hilfreich. Formatierung wrd dort nicht behandelt. Die Manpage verweist zwar auf eine URL bei xfce.org [1], aber die Seite gibt es nicht mehr. Auch "orage -?" ist nicht erhellend.
Die einzigen Hinweise zur Formatierung gibt es im Einstellungsdialog von Orage selbst. Dort werden aber nur dynamische Variablen behandelt, keine "Konstanten". Daher kam ich nicht darauf, dass ein Newline ebenfalls mit "%" eingeleitet wird. Gut, ich hätte dem Hinweis folgen können, dass Orage strftime benutzt und wäre dann fündig geworden. [2] Aber wie gesagt: Wald und Bäume.


[1] http://www.xfce.org/projects/orage/
[2] https://man7.org/linux/man-pages/man3/strftime.3.html

Benutzeravatar
Meillo
Moderator
Beiträge: 8831
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: [gelöst] Orage-Uhr: Zeilenumbruch im Formatstring?

Beitrag von Meillo » 30.08.2020 14:58:42

hikaru hat geschrieben: ↑ zum Beitrag ↑
30.08.2020 14:55:11
Die Manpage ist leider nicht sonderlich hilfreich. Formatierung wrd dort nicht behandelt. Die Manpage verweist zwar auf eine URL bei xfce.org [1], aber die Seite gibt es nicht mehr. Auch "orage -?" ist nicht erhellend.
Die einzigen Hinweise zur Formatierung gibt es im Einstellungsdialog von Orage selbst. Dort werden aber nur dynamische Variablen behandelt, keine "Konstanten". Daher kam ich nicht darauf, dass ein Newline ebenfalls mit "%" eingeleitet wird.
Also ist ja kaum zu erwarten, dass du es haettest wissen koennen.

Gut, ich hätte dem Hinweis folgen können, dass Orage strftime benutzt und wäre dann fündig geworden. [2]

[2] https://man7.org/linux/man-pages/man3/strftime.3.html
Schau an, da habe ich dann auch wieder was gelernt. :THX:
Use ed once in a while!

Antworten