| Summary: | Integrate better WallPaper plugin with desktops (Linux, Windows, MacOS) | ||
|---|---|---|---|
| Product: | [Applications] digikam | Reporter: | caulier.gilles |
| Component: | Plugin-Generic-WallPaper | Assignee: | Digikam Developers <digikam-bugs-null> |
| Status: | REPORTED --- | ||
| Severity: | normal | CC: | metzpinguin, minhnghiaduong997 |
| Priority: | NOR | ||
| Version First Reported In: | 7.0.0 | ||
| Target Milestone: | --- | ||
| Platform: | Other | ||
| OS: | All | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
caulier.gilles
2019-11-12 17:49:52 UTC
Git commit 97452b65f2158026812f48b48c77aa0b61a307fe by Gilles Caulier. Committed on 19/01/2021 at 22:47. Pushed by cgilles into branch 'master'. Use osascript under macOS to setup current desktop wallpaper with current selected image M +1 -3 core/dplugins/generic/tools/CMakeLists.txt M +6 -2 core/dplugins/generic/tools/wallpaper/CMakeLists.txt M +49 -8 core/dplugins/generic/tools/wallpaper/wallpaperplugin.cpp M +2 -1 core/dplugins/generic/tools/wallpaper/wallpaperplugin.h https://invent.kde.org/graphics/digikam/commit/97452b65f2158026812f48b48c77aa0b61a307fe Git commit aee9f3b76af5e031237d3c7d73c7c60fce5a1c0e by Gilles Caulier. Committed on 19/01/2021 at 22:55. Pushed by cgilles into branch 'master'. Try to implement set wallpaper under Windows. M +24 -1 core/dplugins/generic/tools/wallpaper/wallpaperplugin.cpp https://invent.kde.org/graphics/digikam/commit/aee9f3b76af5e031237d3c7d73c7c60fce5a1c0e Git commit 166af58a1a8da77e34c782db505e480eefb17f1a by Gilles Caulier. Committed on 20/01/2021 at 13:34. Pushed by cgilles into branch 'master'. Separate well Linux (DBUS), Windows, and macOS wallpaper version M +21 -5 core/dplugins/generic/tools/wallpaper/CMakeLists.txt M +3 -169 core/dplugins/generic/tools/wallpaper/wallpaperplugin.cpp M +12 -2 core/dplugins/generic/tools/wallpaper/wallpaperplugin.h A +85 -0 core/dplugins/generic/tools/wallpaper/wallpaperplugin_dbus.cpp [License: GPL (v2+)] A +75 -0 core/dplugins/generic/tools/wallpaper/wallpaperplugin_macos.cpp [License: GPL (v2+)] A +144 -0 core/dplugins/generic/tools/wallpaper/wallpaperplugin_windows.cpp [License: GPL (v2+)] https://invent.kde.org/graphics/digikam/commit/166af58a1a8da77e34c782db505e480eefb17f1a Git commit 35b6c091ce4c622f026e1a0264f7113bd335a9e8 by Gilles Caulier. Committed on 21/01/2021 at 07:43. Pushed by cgilles into branch 'master'. Add rules to compile or not WallPaper plugin depending of context. Report state on the console at cmake configuration stage. M +18 -4 core/dplugins/generic/tools/wallpaper/CMakeLists.txt https://invent.kde.org/graphics/digikam/commit/35b6c091ce4c622f026e1a0264f7113bd335a9e8 Git commit 0c158adea26a6eb758abe10df7237510bce9bb71 by Gilles Caulier. Committed on 21/01/2021 at 16:03. Pushed by cgilles into branch 'master'. Add new wallpaper dialog to tune layout of desktop image M +1 -0 core/dplugins/generic/tools/wallpaper/CMakeLists.txt M +21 -1 core/dplugins/generic/tools/wallpaper/wallpaperplugin.cpp M +15 -1 core/dplugins/generic/tools/wallpaper/wallpaperplugin.h M +28 -21 core/dplugins/generic/tools/wallpaper/wallpaperplugin_dbus.cpp M +8 -1 core/dplugins/generic/tools/wallpaper/wallpaperplugin_macos.cpp M +5 -7 core/dplugins/generic/tools/wallpaper/wallpaperplugin_windows.cpp A +126 -0 core/dplugins/generic/tools/wallpaper/wallpaperplugindlg.cpp [License: GPL (v2+)] A +56 -0 core/dplugins/generic/tools/wallpaper/wallpaperplugindlg.h [License: GPL (v2+)] https://invent.kde.org/graphics/digikam/commit/0c158adea26a6eb758abe10df7237510bce9bb71 Maik, The Windows code to push an image as Wallper do not work. If a wall paper is already set on the desktop, this one become a background black screen. I do not see any errors in native Windows API calls. I suspected the encoding path in UTF16 badly formatted but i think no. I suspected also the fact hat my VMs running Windows 7 or Windows 10 are not registered (aka wallpaper cannot be customized), but i can see the same dysfunction with a registered Windows 10. The Windows API calls used are older one to be compatible with Windows 7, else new API will be compatible with Windows 8. I found sample of code in stackoverflow. If you have an idea, the code is located here : https://invent.kde.org/graphics/digikam/-/blob/master/core/dplugins/generic/tools/wallpaper/wallpaperplugin_windows.cpp Gilles Git commit 09fe9e2ff92df2927fa964f378809d2515736864 by Maik Qualmann. Committed on 25/01/2021 at 11:36. Pushed by mqualmann into branch 'master'. try to fix Windows Wallpaper M +2 -1 core/dplugins/generic/tools/wallpaper/wallpaperplugin_windows.cpp https://invent.kde.org/graphics/digikam/commit/09fe9e2ff92df2927fa964f378809d2515736864 Gilles, if I understand correctly, it addresses the Windows Active Desktop API. However, this is no longer supported in current Windows versions. Maik We should only support iDesktopWallpaper::SetWallpaper. Windows7 has been discontinued and plays less and less of a role. Maik Ah ok, i seen. So if we need to use the new API, we must take a care about lower Windows version to support with MXE for backward compatibility. I'm not sure if new API will be able to compile with MXE Min Windows VERSION set to 7.0.0 Gilles Gilles, The current Windows bundles open an error window here under Windows7, stating that an entry in dbghelp.dll is not found. It should come from DrMinGW. Maik Strange i check the same bundle this morning without this error message... Gilles Maik, Dll is well here in digiKam install path: https://i.imgur.com/Biz3bC6.png Gilles The message is in German, I'm trying to translate it: The procedure entry "dbgcore.MiniDumpReadDumpStream" was not found in the DLL "dbghelp.dll". DigiKam starts up after ok. Maik Git commit c7fe5b51fe789d77caa586c06eb8b2912ab17ae9 by Gilles Caulier. Committed on 25/01/2021 at 14:05. Pushed by cgilles into branch 'master'. Add missing symsrv.yes file registration for symsrv.dll, used by dbghelp.dll M +1 -0 project/bundles/mxe/installer/digikam.nsi https://invent.kde.org/graphics/digikam/commit/c7fe5b51fe789d77caa586c06eb8b2912ab17ae9 This is strange, i don't have this warning on my windows 10. NSIS installer miss to bunble a symsrv.yes" file linked to symsrv.dll, used by the famous dbghelp.dll... We will see if it better now... The dbghelp.dll show the trace course dialog with the backtrace, as kdebugdialog do with Plasma desktop, Until now, i drop this dll as the bactrace in automatically recorded in a log file from user home directory, but if we can simplify the life of end-user in case of crash... Gilles Maik, do you have Microsoft Visual Studio IDE installed ? on mine yes, version 2019 community). This can make a difference, as MSVC include a debugger, and i think this dll rely on this component. Gilles No, this is a computer in my company, there is no IDE installed. Maik The cause is certainly that there is also a older dbghelp.dll under C:\Windows\System32. Only Visual C ++ and Studio runtimes are installed. Maik Maik, I tested on my second Windows 10 VM without any SDK and IDE installed, and i cannot reproduce the Dll error. Did you use Windows 10 or Windows 7 ? Gilles This computer here has Windows7. The problem is clear, the dbghelp.dll installed under System32 is used and is too old. Maik |