Open ghost opened 4 years ago
Is this what you are looking for? https://i3wm.org/docs/userguide.html#exec_quoting
No, as when that is used, the shell it is passed to then parses the double quotes normally, so like this:
emacsclient -c -e "(find-file "/home/barry")"
Whereas in this case to make it work in the shell you would need to do it like this:
emacsclient -c -e "(find-file \"/home/barry")"
However, there appears to be no mechanism to do this in i3, as prefixing with a single backslash doesn't seem to work, and double backslashes send a un-escaped double quote, and triple just sends a backslash and a double quote.
Perhaps I should have used the phrasing "escaped double quotes".
This works in my i3 config file:
bindsym Mod4+g exec "emacsclient -c -e \\"(find-file \\\\"/tmp\\\\")\\""
In general I find it easier to use e.g. exec /home/michael/.bin/emacsclient.bash
, so that I can work with the syntax I’m most familiar with and don’t need any quoting on the i3 level.
I'm submitting a…
Current Behavior
It appears exec is unable to escape double quotes into a literal character, or that it it is not documented.
Desired Behavior
Exec should either have a way to pass literal double quotes, or have this if existing be documented clearly.
Environment
Output of
i3 --moreversion 2>&-
: