FVWM Variablen deklarieren

KDE, Gnome, Windowmanager, X11, Grafiktreiber und alles was dazu notwendig ist. Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
OsunSeyi
Beiträge: 33
Registriert: 08.10.2007 10:31:51

FVWM Variablen deklarieren

Beitrag von OsunSeyi » 05.01.2024 05:47:59

Hallo,

Ja, ich komme mir im Moment etwas blöd vor. Habe vor Jahren eine komplette Fvwm2-Konfiguration gemacht, die ich nun wieder zum laufen bringen will. Das ganze ist in mehrere Dateien aufgeteilt und ich kann sie auch einbinden.

Es gibt also eine mehr oder weniger (zunächst mal) leere "Main", die nach "~/.fvwmrc" verlinkt ist.

Code: Alles auswählen

# Dies funktioniert:

Read /home/tom/CONF/FVWM/FILES/1_KEYBIND

# Dies leider nicht:

SetEnv conf_path  /home/tom/CONF/FVWM/FILES
Read $[conf_path]/1_KEYBIND
Ich kann mir da keinen Reim drauf machen, weil eben das früher funktioniert hat.
Ich starte FVWM mit der Option "fvwm -f ~/.fvwmrc"

Ich hatte früher auch "export FVWM_USERDIR='/home/tom/CONF/FVWM'" in der xsession, das scheint aber bei der jetzigen Installation (Open BSD) auch keine Wirkung zu haben: Die Variable "$[FVWM_USERDIR] beibt ebenfalls leer.

EDIT

Code: Alles auswählen

       SetEnv FVFM_CONF /CONF/FVWM/FILES
        Read $[FVWM_CONF]/1_KEYBIND


# xsession-errors:
#  [FVWM][Read]: <<ERROR>> file '$[FVWM_CONF]/1_KEYBIND' not found in $HOME or /usr/X11R6/lib/X11/fvwm
***DRUM & DANCE***

tobo
Beiträge: 1996
Registriert: 10.12.2008 10:51:41

Re: FVWM Variablen deklarieren

Beitrag von tobo » 05.01.2024 08:46:55

Zunächst mal, ich kenne mich mit fvwm überhaupt nicht aus. Alles rein allgemeine Denke:
OsunSeyi hat geschrieben: ↑ zum Beitrag ↑
05.01.2024 05:47:59
Ich hatte früher auch "export FVWM_USERDIR='/home/tom/CONF/FVWM'" in der xsession, das scheint aber bei der jetzigen Installation (Open BSD) auch keine Wirkung zu haben: Die Variable "$[FVWM_USERDIR] beibt ebenfalls leer.
Je nach Shell - schreibe das Exportieren mal in 2 Zeilen:

Code: Alles auswählen

FVWM_USERDIR=/home/tom/CONF/FVWM
export FVWM_USERDIR

Code: Alles auswählen

       SetEnv FVFM_CONF /CONF/FVWM/FILES
        Read $[FVWM_CONF]/1_KEYBIND


# xsession-errors:
#  [FVWM][Read]: <<ERROR>> file '$[FVWM_CONF]/1_KEYBIND' not found in $HOME or /usr/X11R6/lib/X11/fvwm
Sieht so aus, dass $[FVWM_CONF] nicht expandiert werden kann. Ich kenne die spezifische Syntax nicht, aber lass mal die Klammern weg:

Code: Alles auswählen

 SetEnv FVFM_CONF /CONF/FVWM/FILES
        Read $FVWM_CONF/1_KEYBIND    ## allgemein besser, falls möglich: Read "$FVWM_CONF"/1_KEYBIND

Benutzeravatar
OsunSeyi
Beiträge: 33
Registriert: 08.10.2007 10:31:51

Re: FVWM Variablen deklarieren

Beitrag von OsunSeyi » 05.01.2024 09:31:27

Das ist eigendlich die normale Art, in VFWM Variablen zu setzen.
Allerdings geht's auch nicht ohne die eckigen Klammern.
Und auch nicht in Doublequotes...

Eigemdlich ist die richtige Form $[var]


'$FVWM_CONF/1_KEYBIND' not found...
***DRUM & DANCE***

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

Re: FVWM Variablen deklarieren

Beitrag von Meillo » 05.01.2024 09:48:05

Die Syntax mit den eckigen Klammern scheint schon zu stimmen: https://zensites.net/fvwm/guide/global.html

Eigentlich sieht das schon richtig aus, wie du es machst ... :roll: ... wobei ich keinerlei Ahnung von FVWM habe. :-D



Edit:

Manchmal liegen solche Problem gar nicht an den Befehlen oder der Syntax, sondern, dass man es geschafft hat, irgendwelche unsichtbaren Sonderzeichen in den Text zu kopieren. Tippe die Zeilen mal von Hand neu ab ... manchmal hat das schon geholfen, in Faellen, wo Leute zuvor schier verzweifelt sind. ;-)
Use ed once in a while!

Benutzeravatar
OsunSeyi
Beiträge: 33
Registriert: 08.10.2007 10:31:51

Re: FVWM Variablen deklarieren

Beitrag von OsunSeyi » 05.01.2024 14:11:43

Ich habe das jetzt geprüft (nicht druckbare Zeichen ausschließen), ist es aber nicht.
***DRUM & DANCE***

Benutzeravatar
QT
Beiträge: 1242
Registriert: 22.07.2004 21:08:02
Wohnort: localhost

Re: FVWM Variablen deklarieren

Beitrag von QT » 05.01.2024 14:35:01

OsunSeyi hat geschrieben: ↑ zum Beitrag ↑
05.01.2024 05:47:59
EDIT

Code: Alles auswählen

       SetEnv FVFM_CONF /CONF/FVWM/FILES
        Read $[FVWM_CONF]/1_KEYBIND
FVWM süß :wink:

FVFM_CONF != FVWM_CONF

tobo
Beiträge: 1996
Registriert: 10.12.2008 10:51:41

Re: FVWM Variablen deklarieren

Beitrag von tobo » 05.01.2024 14:47:51

QT hat geschrieben: ↑ zum Beitrag ↑
05.01.2024 14:35:01
OsunSeyi hat geschrieben: ↑ zum Beitrag ↑
05.01.2024 05:47:59
EDIT

Code: Alles auswählen

       SetEnv FVFM_CONF /CONF/FVWM/FILES
        Read $[FVWM_CONF]/1_KEYBIND
FVWM süß :wink:

FVFM_CONF != FVWM_CONF
Das nenn' ich mal hellwach!

Benutzeravatar
OsunSeyi
Beiträge: 33
Registriert: 08.10.2007 10:31:51

Re: FVWM Variablen deklarieren

Beitrag von OsunSeyi » 05.01.2024 17:14:39

Ja peinlich.... 8O

Code: Alles auswählen

        SetEnv FVWM_CONF /home/tom/CONF/FVWM/FILES
        Read $[FVWM_CONF]/1_KEYBIND

# [FVWM][Read]: <<ERROR>> file '$[FVWM_CONF]/1_KEYBIND' not found in $HOME or /usr/X11R6/lib/X11/fvwm
Wenn es doch nur was ändern würde...
***DRUM & DANCE***

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

Re: FVWM Variablen deklarieren

Beitrag von Meillo » 05.01.2024 18:38:10

QT hat geschrieben: ↑ zum Beitrag ↑
05.01.2024 14:35:01
OsunSeyi hat geschrieben: ↑ zum Beitrag ↑
05.01.2024 05:47:59
EDIT

Code: Alles auswählen

       SetEnv FVFM_CONF /CONF/FVWM/FILES
        Read $[FVWM_CONF]/1_KEYBIND
FVFM_CONF != FVWM_CONF
:facepalm: :mrgreen:
Use ed once in a while!

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

Re: FVWM Variablen deklarieren

Beitrag von Meillo » 05.01.2024 18:42:50

OsunSeyi hat geschrieben: ↑ zum Beitrag ↑
05.01.2024 17:14:39

Code: Alles auswählen

        SetEnv FVWM_CONF /home/tom/CONF/FVWM/FILES
        Read $[FVWM_CONF]/1_KEYBIND

# [FVWM][Read]: <<ERROR>> file '$[FVWM_CONF]/1_KEYBIND' not found in $HOME or /usr/X11R6/lib/X11/fvwm
Ist es schon richtig, dass die ganzen Dateinamen in Grossbuchstaben sind? Das ist doch recht ungewoehnlich ... :roll:


Aufgrund der Fehlermeldung, die die Datei im Homeverzeichnis sucht, koenntest du es mal so probieren:

Code: Alles auswählen

        SetEnv FVWM_CONF CONF/FVWM/FILES
        Read $[FVWM_CONF]/1_KEYBIND

Sicherheitshalber solltest du fuer uns mal die Ausgabe von diesem Befehl posten:

Code: Alles auswählen

ls -l /home/tom/CONF/FVWM/FILES/1_KEYBIND
Use ed once in a while!

Benutzeravatar
OsunSeyi
Beiträge: 33
Registriert: 08.10.2007 10:31:51

Re: FVWM Variablen deklarieren

Beitrag von OsunSeyi » 05.01.2024 21:45:19

Code: Alles auswählen

ls -l /home/tom/CONF/FVWM/FILES/1_KEYBIND
-rw-r--r--  1 tom  tom  12871 Jan  5 13:58 /home/tom/CONF/FVWM/FILES/1_KEYBIND
Ich habe das schon ohne $HOME (CONF/...) versucht, weil er ja ab da suchen will, aber geklappt hat das nicht.
Ist es schon richtig, dass die ganzen Dateinamen in Grossbuchstaben sind? Das ist doch recht ungewoehnlich ... :roll:
Nun ja, Gewohnheit. Nur die Hauptverzeichnisse...
***DRUM & DANCE***

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

Re: FVWM Variablen deklarieren

Beitrag von Meillo » 05.01.2024 22:04:46

Puh ... vielleicht solltest du mal auf der Mailingliste des FVWM-Projekts nachfragen ...

OsunSeyi hat geschrieben: ↑ zum Beitrag ↑
05.01.2024 17:14:39

Code: Alles auswählen

# [FVWM][Read]: <<ERROR>> file '$[FVWM_CONF]/1_KEYBIND' not found in $HOME or /usr/X11R6/lib/X11/fvwm
Wenn ich mir die Fehlermeldung nochmal vornehme: Da hat er die Variable nicht expandiert. Eigentlich haette da doch stehen muessen: ``file '/home/tom/CONF/FVWM/FILES/1_KEYBIND' not found ...''

Hast du andere Stellen in deiner oder in der Systemconfig, wo die Variablenexpansion klappt?

Muss man die Variablenexpansion evtl. explizit aktivieren? Wird sie nicht in allen Config-Dateien durchgefuehrt?

Funktioniert es, wenn die Anweisung direkt in der ~/.fvwm2 Datei steht und nicht in einer dort verlinkten Datei?

(Ich denke mal nicht, dass OpenBSD in dem Fall irgendeine Funktion aus Sicherheitsgruenden deaktiviert hat, aber da sie auf so Gedanken evtl. kommen koennten, kannst du auch mal noch in diese Richtung recherchieren ...)

Tja, mehr Ideen habe ich gerade nicht mehr. Eigentlich sollte das Problem nicht so kompliziert sein, wie ich hier bereits denke. Wahrscheinlich uebersehen wir etwas viel trivialeres. ;-)
Use ed once in a while!

Benutzeravatar
OsunSeyi
Beiträge: 33
Registriert: 08.10.2007 10:31:51

Re: FVWM Variablen deklarieren

Beitrag von OsunSeyi » 06.01.2024 08:19:53

Hast du andere Stellen in deiner oder in der Systemconfig, wo die Variablenexpansion klappt?
gute Idee!

Code: Alles auswählen

# Original Code:

*FvwmPagerLabel 0 "Hallo"      # klappt

SetEnv PAGER_LABEL Hallo       # oder:
SetEnv PAGER_LABEL "Hallo"

*FvwmPagerLabel 0 $[PAGER_LABEL]   # klappt nicht
*FvwmPagerLabel 0 $PAGER_LABEL     # klappt nicht
*FvwmPagerLabel 0 "$PAGER_LABEL"   # klappt nicht
Also werden Variablen nicht expandiert.
***DRUM & DANCE***

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

Re: FVWM Variablen deklarieren

Beitrag von Meillo » 06.01.2024 10:44:02

Hier habe ich die Default-Config fuer fvwm2 gefunden:
https://github.com/fvwmorg/fvwm/blob/ma ... fig/config

Darin finde ich kein `SetEnv', aber es hat folgende Erklaerung:
# InfoStoreAdd can be used to store variable data internal to fvwm.
# The variable can then be used in the configuration as $[infostore.name].
#
# You can also use environment variables but for data internal to fvwm
# use InfoStore variables instead.
#
# The following is used in various menus and also sets the terminal
# that FvwmConsole uses. Change this to your terminal of choice
InfoStoreAdd terminal xterm
Es muesste dann meinem Verstaendnis nach also so funktionieren:

Code: Alles auswählen

InfoStoreAdd PAGER_LABEL Hallo
*FvwmPagerLabel 0 $[infostore.PAGER_LABEL]
Use ed once in a while!

Benutzeravatar
OsunSeyi
Beiträge: 33
Registriert: 08.10.2007 10:31:51

Re: FVWM Variablen deklarieren

Beitrag von OsunSeyi » 06.01.2024 11:19:13

Code: Alles auswählen

	InfoStoreAdd PAGER_LABEL Hallo
	*FvwmPagerLabel 0 $[infostore.PAGER_LABEL]
Hat leider auch nicht funktioniert!
Das ist aus der Manpage der installierten Version:

Code: Alles auswählen

SetEnv varname stringvalue
              Set an environment variable to a new value, similar to shell's
              export or setenv command.  The variable and its value are
              inherited by processes started directly by fvwm2.  This can be
              especially useful in conjunction with the FvwmM4 module; e.g.
              "SetEnv height HEIGHT" will make the FvwmM4-set variable
              "HEIGHT" usable by processes started by fvwm2 as the environment
              variable "$height".  If stringvalue includes whitespace, you
              should enclose it in quotes.
              
GgF einfach auf Variablen verzichten...
Vielleicht einfach ein Bug, aber für Fvwm doch ungewöhnlich.
Wird da noch weiterentwickelt?

Es gibt überhaupt eine Fehlermeldung in Bezug auf die verwendetet Config:

Code: Alles auswählen

[FVWM][ProcessNewStyle]: <<ERROR>> bad style command: GrabFocus, SloppyFocus, MouseFocusClickRaises
Das spricht doch ein wenig dafür, das seitens der Entwickler (Open BSD) Fvwn 'as is' übernommen wird, weil er ja läuft. Kaum einer wird den noch verwenden... Obwohl vielleicht ein bisschen schade, weil sich Fvwm sehr weit konfigurieren lässt.
Zuletzt geändert von OsunSeyi am 06.01.2024 11:37:47, insgesamt 3-mal geändert.
***DRUM & DANCE***

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

Re: FVWM Variablen deklarieren

Beitrag von Meillo » 06.01.2024 11:22:35

OsunSeyi hat geschrieben: ↑ zum Beitrag ↑
06.01.2024 11:19:13
SetEnv varname stringvalue
Set an environment variable to a new value, similar to shell's
export or setenv command. The variable and its value are
inherited by processes started directly by fvwm2.
Wie man lesen kann, veraendert man damit das Environment fuer von FVWM gestartete Prozesse ... da steht nicht dabei, dass man damit das eigene Environment veraendert und auch nicht, dass die Variablen anschliessend in der gleichen Config genutzt werden koennen.

Ich denke, SetEnv ist nicht der richtige Weg, um Variablen in der Config zu setzen.
Use ed once in a while!

Benutzeravatar
OsunSeyi
Beiträge: 33
Registriert: 08.10.2007 10:31:51

Re: FVWM Variablen deklarieren

Beitrag von OsunSeyi » 06.01.2024 11:41:19

https://zensites.net/fvwm/guide/global.html

Ich habe es (vor Jahren) genauso verwendet, siehe Website oben, und es hat auch funktioniert.

Also hier ein Auszug aus der nach $HOME kopierten Default-Config (die ich verwende):

Code: Alles auswählen

+   "Reset X defaults" Exec xrdb -load $HOME/.Xdefaults
...Verursacht keine Fehlermeldung in der xsession-errors.

Code: Alles auswählen

Read $HOME/CONF/FVWM/FILES/1_KEYBIND
...verursacht aber die Fehlermeldung (der Pfad stimmt):

Code: Alles auswählen

[FVWM][Read]: <<ERROR>> file '$HOME/CONF/FVWM/FILES/1_KEYBIND' not found in $HOME or /usr/X11R6/lib/X11/fvwm
Warum nun aber dies?
In Funktionen wird anscheinend aufgelöst, aber sonst nicht.
***DRUM & DANCE***

Antworten