On the desktop, it is recommended to open an interface that does not draw wallpaper #3049
Replies: 8 comments 1 reply
-
If I had this interface, I would be able to implement dynamic wallpaper |
Beta Was this translation helpful? Give feedback.
-
Is this just your idea or a generic way to implement DE desktop interaction? I've checked other DE, XFCE and LXQT for example, they also do draw the wallpaper by the desktop process (e.g. We could discuss how we can introduce a generic interface to allow 3rd-party dynamic wallpaper implementation, but I don't think opening an interface that does not draw wallpaper is a recommended way to achieve this goal :/ |
Beta Was this translation helpful? Give feedback.
-
这个想法是建立在参考了windows的实现动态壁纸的方式,因为windows就是提供了一个api,让壁纸和图标层分离和合并成为一个窗口,然后第三方动态壁纸如果想要接入,直接调用api让图标层与壁纸变为两个窗口,第三方壁纸窗口再放到图标层的下方即可实现第三方的动态壁纸 |
Beta Was this translation helpful? Give feedback.
-
我把这个 issue 转成讨论帖吧,感觉可以讨论下动态壁纸的合理实现方式。顺便 cc @justforlxz |
Beta Was this translation helpful? Give feedback.
-
我记得最开始@justforlxz大佬就实现了一版的动态壁纸 deepin-dreamscene ,其实就是壁纸设置了desktop属性,我记得那会好像桌面和壁纸层是分开的就能使用,之后随着桌面和壁纸变为了一层,一个window,无法割舍的情况,就没办法实现了 |
Beta Was this translation helpful? Give feedback.
-
目前主流发行版应该都是有一个单独的桌面进程来处理桌面的交互逻辑和壁纸绘制(一般也都是那个桌面环境的文件管理器在做这件事)。我的想法是干脆提供一个 gsettings 之类的定制项允许启动的时候去启第三方的桌面进程,这样的话桌面相关的交互完全可交给第三方实现,但这样的话桌面的文件处理逻辑就也得由第三方接手了,既是好处又是坏处= = 当时桌面壁纸处理逻辑改掉是有原因的(但我忘了是什么原因了),以及我总记得竹子大佬有过动态壁纸相关的点子,看看能不能召唤出竹子 @justforlxz 😹 |
Beta Was this translation helpful? Give feedback.
-
linux的主流发型版除了kde通过插件支持了动态壁纸或者第三方壁纸,好像其他的发行版都不行,komorebi这样的动态壁纸是自己写了一个桌面来实现的(为了适配所有的linux把)。 |
Beta Was this translation helpful? Give feedback.
-
windows上有很多第三方的动态壁纸的原因就是它提供了层级分离的api,让第三方的壁纸能够几句代码就能实现让他的窗口成为壁纸 |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
On the desktop, it is recommended to open an interface that does not draw wallpaper. If the background is transparent, third-party applications can render the background, dynamic wallpaper and so on. It is recommended to add, and some special cases can save rendering memory
Beta Was this translation helpful? Give feedback.
All reactions