-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
j4-dmenu-desktop --no-exec improperly handles terminal applications #166
Comments
This is a bug & not an intended change. I will work on a fix. Thanks for reporting this issue!
j4-dmenu-desktop r3.0 adds support for i3 IPC. Sway IPC appears to be compatible with i3 IPC, so the I will document Sway support in the Examples section. I am not a Sway user though, so I'll have to test this further. Would you mind trying it out if you have spare time? I assume that you are a Sway user because you make mention of it. I'd like to know whether the following command:
works as expected on Sway. If it doesn't, I'd like to know whether the following change
fixes it (if the first command doesn't work). Both of these commands will require the The r3.0 release was made recently. I would like to fix these issues (and any other issues that should occur) as soon as possible, but I don't want to spam releases. I was considering making release r3.1 around next month. |
A workaround that would remove the requirement for
name it This workaround should work well in the r3.0 release. I haven't tested it though. |
Overriding i3 socket path was fully supported before (as documented in the manpage). The mechanism relied on propagating I3SOCK environmental variable to i3 executable which would then acknowledge it in --get-socketpath. This can be troublesome when using other window managers compatible with i3 IPC (like Sway). It introduces an arbitrary requirement on i3 executable which is unnecessary because it's only used for `i3 --get-socketpath`. j4-dmenu-desktop now looks for I3SOCK and it handles it itself. When $I3SOCK is set, i3 (nor sway) is executed whatsoever. related to #166
j4-dmenu-desktop from
I will have to test it further. j4-dmenu-desktop r2.18 used a temporary file to handle terminal applications. This approach was overly complicated and largely unnecessary. From r3.0 onwards, j4-dmenu-desktop executes programs itself without any wrapper scripts. This means that j4-dmenu-desktop doesn't have to worry about managing and removing temporary files. It also removes the dependency on the These changes complicate quoting though. There can be up to two levels of indirection when executing commands. Different shells have different quoting rules (j4-dmenu-desktop strictly uses The |
I've just given the latest commit a go with:
Note that
|
@meator Thanks for jumping on this so quickly! |
With debug logging enabled:
|
From a quick glance at the code, looks like the rudimentary JSON parsing is falling over due to differences in whitespace in the sway IPC response. |
wrap_command_in_wrapper() is yet to be implemented. related to #166
This solution isn't ideal. But it works, and that's the important part. Related to #166
All problems should be fixed now. It was pretty easy to fix i3 IPC, but the
@benjamb Would you be willing to test |
@meator Everything appears to be working as expected, thanks! |
Version 2.18 would output/launch the application using
$term -e <script>
, however this now just prints the plain command, which when piped to something likexargs swaymsg exec --
fails to run any terminal commands such asaerc
.Example desktop file:
Previous output:
New output:
This is a breaking change not announced in the changelogs.
The text was updated successfully, but these errors were encountered: