ice-wm / icewm

IceWM releases only, see Wiki
https://github.com/ice-wm/icewm/releases
Other
289 stars 16 forks source link

icewm-menu-fdo doesn't respect TerminalCommand for terminal applications #142

Closed ghost closed 1 year ago

ghost commented 1 year ago

I created a desktop entry for a terminal application but it doesn't show up in the menu using icewm-menu-fdo. This seems to be because icewm-menu-fdo is defaulting to running terminal applications with xterm which is not installed. I could verify this by looking at icewm-menu-fdo's output. This is all while I have TerminalCommand=alacritty inside of prefoverride. Restarting IceWM, restarting the session, and restarting the computer doesn't make it appear. Here is the desktop entry in question:

[Desktop Entry]
Type=Application
Version=1.0
Name=MC Editor
GenericName=Text Editor
Icon=editor
Exec=mcedit
Terminal=true
Categories=Development;Utility;ConsoleOnly;

When Terminal is set to false, the application appears in the menu. I am using IceWM 3.4.1.

gijsbers commented 1 year ago

Unfortunately, icewm-menu-fdo doesn't currently examine preferences or prefoverride. That would be a reasonable improvement, but it would slow it down somewhat. However, if you compile IceWM yourself, you can set your preferred terminal at configure time.

Another option you have is to create a script with the name xterm which starts your preferred terminal like this:

#!/bin/sh
exec alacritty "$@"

And chmod 755 xterm.

Also see commit bbidulock/icewm@ca951c124a1cfbe865d5e4be3f8e75013a198356.

ghost commented 1 year ago

Thanks. I ended up just making the desktop entry execute alacritty -e mcedit and setting Terminal=false.

gijsbers commented 1 year ago

Changes to icewm-menu-fdo where released in 3.4.2.