With thunar-1.6 I hit Xfce bug#9934 ⁽¹⁾.
From a real user point of view this is really annoying, because if you drag'n'drop a desktop file from the main menu to your desktop, you will always get the warning saying that the desktop file must be executable each time you'll try to launch the app through this shortcut.
The problem is that all the desktop files are installed in /usr, are owned by root and controlled by emerge.
To find desktop files that are not executable, you can run :
$ find /usr -name *.desktop ! -executable
If you want an example on your system, install libreoffice-bin. If you run it from the menu there's no problem. But if you drag'n'drop a LO desktop file from the menu to your desktop, you'll get the warning if you try to launch it.
I'm not quite sure what you're asking for here. None of the .desktop files in /usr are executable (remove the ! from your `find` and see 0 results). That's the way it's intended.
Are you asking that thunar automatically sets the executable bit while copying files from the menu to your desktop? If so, that's definitely something you should file upstream.
(In reply to comment #1)
> None of the .desktop files in /usr are executable
> (remove the ! from your `find` and see 0 results).
On my system :
> $ find /usr -name *.desktop -executable
KDE applications desktop files are executable.
> Are you asking that thunar automatically sets the executable bit while
> copying files from the menu to your desktop? If so, that's definitely
> something you should file upstream.
No. I'm asking for consistency. It would be great if each desktop file installed by emerge was executable. In the current state I'm forced (as root) to fix all desktop files installed in /usr on each gentoo system I manage, because end users will asked me WTF is this warning.
This is not something specific to xfce. If you'd like to see this happen, it needs a global discussion and a new QA policy to enforce this consistently. However, I don't really see that happening given that the vast majority of packages install them non-executable (and unsurprisingly since you can't normally execute them via shell).