alex2
31 October 2020 15:40
1
I thought that the built-in Echo command writes its params back to a socket connection, but this yields nothing useful:
$ echo 'Echo $[page.nx] $[page.ny]' | nc -U /tmp/fvwm_mfl.sock
{ "connection_profile" : { "version" : "1.0.1", "version_info" : "released" } }
(I can see the result of the Echo command in ~/.fvwm/fvwm3-output.log,
though.)
What it the preferred way to read chunks of the current fvwm3 configurations from shell scripts?
I’m using the latest fvwm3 master branch from github.
Hi @alex2
There’s no way at the moment to do this. So I’ve just added this functionality to FvwmMFL
and FvwmEvent
.
Please take a look at the ta/echo-broadcast
branch in git. From there, you can do things like:
echo "set echo\nEcho \$[page.nx] \$[page.ny]" | nc -U $FVWMMFL_SOCKET
Which will return JSON in the form:
{ "echo" : { "message" : "0 0" } }
Let me know how you get on with it. If it’s working without side-effects, I’ll merge it later on.
HTH,
Thomas
alex2
1 November 2020 03:01
3
Wow, thank you! ta/echo-broadcast
branch works!
The only minor issue I found was the provided example: bash doesn’t expand backslash escape sequences in its echo
command by default, hence at first I was only getting the same json as before & a new error in the fvwm log:
__execute_function: No such command 'set'
but then it dawned upon me that I wasn’t sending a properly formatted string. The example should’ve been akin to:
printf 'set echo\n%s' 'Echo $[page.nx] $[page.ny]' | nc -U $FVWMMFL_SOCKET
Hi @alex2
Thanks for testing – I’ve merged this to master
now so you can continue to use that branch.
Kindly,
Thomas
1 Like
system
Closed
1 November 2021 12:08
5
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.