流浪的加菲
2024-10-28 21:08 deepin
虽然看不懂,但是觉得很厉害
Reply Like 0 View the author
虽然看不懂,但是觉得很厉害
虽然看不懂,但是觉得很厉害。
哦莫虽然不懂但是有点跃跃欲试。
好好好,我感觉我已经快学会了。
哦莫,这是我可以学习的吗?
收假了我试试去。
收假了我试试去。
挺好玩的,有助于了解这些桌面环境到底是怎么运作的
虽然看不懂,但是觉得很厉害
感谢支持
哦莫虽然不懂但是有点跃跃欲试。
感谢点赞
厉害啊
虽然看不懂,但是觉得很厉害
让我学到真东西了
大佬,v23正式版好像没有Wayland了。你用的什么版本?v23能安装Wayland吗?
大佬,v23正式版好像没有Wayland了。你用的什么版本?v23能安装Wayland吗?
目前v23不太行。不过deepin自己也在做自己的Wayland合成器叫treeland。不过目前还在开发中。如果现在想体验成熟的wayland的话,还是arch Linux好一点目前。
前面我们已经了解到wl_shm可以创建一个wl_buffer。
wl_buffer可以放像素。
最终这些buffer中的像素都可以倾倒在wl_surface上来显示。
wl_surface除了表现的像一张“纸”之外。还一个重要的特征:那就是必须给他指定一个“角色(role)”。
如果wl_surface没有扮演任何角色,那么上面的buffer像素一个都不会显示。
在之前的帖子中,我们已经给他分配xdg_toplevel这个角色。也就是让它像普通应用程序一样显示。
注意:wl_surface同时只能扮演一个角色。
今天我们介绍一个有趣的新角色“wlr layer shell"。这个角色可以把wl_surface分成4种类型。分别是background,bottom,top,overlay。
这4种类型就像4张叠在一起的纸。最底部的纸就是background。倒数第二张就是bottom,然后是top,overlay。
background角色可以用来做壁纸。我们打开的应用一般是介于bottom和top之间。我们的dock栏一般是top或者overlay。
所以wlr layer shell 非常适合用来写桌面环境。
接下来我们可以尝试写一个壁纸程序。
以下为Rust代码实现。
https://github.com/PurestAsh/wayland_hello_world_rust
参考项目:
cosmic-bg
wlr-layer-shell-unstable-v1
以下是在plasma6下的效果图。