[PATCH 0/1] MR10867: wine.inf: Create Start Menu items for most GUI apps included with WINE
From: Andrea Faulds <ajf@ajf.me> --- loader/wine.inf.in | 74 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/loader/wine.inf.in b/loader/wine.inf.in index aece31f8dc1..d15a815b98f 100644 --- a/loader/wine.inf.in +++ b/loader/wine.inf.in @@ -71,6 +71,18 @@ AddReg=\ Services, \ SessionMgr,\ ThemeManager +ProfileItems=\ + ProfItems.explorer,\ + ProfItems.notepad,\ + ProfItems.regedit,\ + ProfItems.clock,\ + ProfItems.cmd,\ + ProfItems.iexplore,\ + ProfItems.taskmgr,\ + ProfItems.winecfg,\ + ProfItems.winefile,\ + ProfItems.winemine,\ + ProfItems.wordpad [DefaultInstall] Needs=BaseInstall @@ -1339,3 +1351,65 @@ InfFiles = 17 NlsFiles = 11 SortFiles = 10,globalization\sorting WinmdFiles = 11,winmetadata + +[ProfItems.explorer] +Name=File Explorer +Cmdline=10,,explorer.exe +WorkingDir=11 + +[ProfItems.notepad] +Name=Notepad +Cmdline=10,,notepad.exe +SubDir=Accessories +WorkingDir=11 + +[ProfItems.regedit] +Name=Registry Editor +Cmdline=10,,regedit.exe +SubDir=Accessories\System Tools +WorkingDir=11 + +[ProfItems.clock] +Name=Clock +Cmdline=11,,clock.exe +SubDir=Accessories +WorkingDir=11 + +[ProfItems.cmd] +Name=Command Prompt +Cmdline=11,,cmd.exe +SubDir=Accessories +WorkingDir=11 + +[ProfItems.iexplore] +Name=Wine Internet Explorer +Cmdline=11,,iexplore.exe +WorkingDir=11 + +[ProfItems.taskmgr] +Name=Task Manager +Cmdline=11,,taskmgr.exe +SubDir=Accessories\System Tools +WorkingDir=11 + +[ProfItems.winefile] +Name=Wine File Manager +Cmdline=11,,winefile.exe +WorkingDir=11 + +[ProfItems.winemine] +Name=WineMine +Cmdline=11,,winemine.exe +SubDir=Accessories\Games +WorkingDir=11 + +[ProfItems.wordpad] +Name=Wine Wordpad +Cmdline=16422,,Windows NT\Accessories\wordpad.exe +SubDir=Accessories +WorkingDir=11 + +[ProfItems.winecfg] +Name=Wine configuration +Cmdline=11,,winecfg.exe +WorkingDir=11 -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10867
Hi everyone, this is my first attempt at a WINE contribution. The concept here is straightforward: make the bundled software in WINE visible in the Start Menu (the one you see if you do `wine explorer /desktop=shell,1024x768` or choose the desktop mode option `winecfg`). I expect the potential interaction between this and `winemenubuilder` might be a problem for some users: if you have several WINE prefixes, and if `winemenubuilder` picks up all these shortcuts (it does for me), then you'll end up with those all getting replaced by whichever WINE prefix you used/updated last, which seems unfortunate. I'm wondering if an environment variable, registry entry or `winecfg` item to disable creating these shortcuts would be desirable. I think `wineboot` can be modified to make setupapi skip the `ProfileItems=` directive when doing the “install” of `wine.inf`, that's how that would work. Any thoughts are appreciated… -- https://gitlab.winehq.org/wine/wine/-/merge_requests/10867#note_139454
A cleaner option might be to have `winemenubuilder` itself special-case these shortcuts somehow. Maybe I should bring this up on the mailing list or something. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/10867#note_139457
I have been thinking about how to make `winemenubuilder` ignore these shortcuts, if that's desirable. So far I've mostly had ideas that I really don't like: * The shortcuts could be marked somehow with the fact they are built-in WINE shortcuts, but I would rather not add a special extension to the INF format for this purpose, or have to add special private APIs. That feels rather unclean. * I also would rather not use some side-channel to detect where the shortcut creation API calls have come from. That feels even worse. * `winemenubuilder` could of course look at `wine.inf` and compare the shortcuts to that, but that'd be a lot of code and I don't like the fact you now have two things processing the INF file that might disagree with eachother. * `winemenubuilder` could have a hardcoded list of exceptions, but that's even worse. The one promising one is to have `winemenubuilder` look at the shortcut target (i.e. the `.exe` file) and see if it has the WINE built-in or fake DLL signature in the MZ stub. That's pretty trivial to do and all the bundled WINE `.exe`s have that. I will try implementing that at some point. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/10867#note_139688
participants (2)
-
Andrea Faulds -
Andrea Faulds (@hikari_no_yume)