尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

平铺窗口合成器杂谈

平铺窗口合成器杂谈
📅 发布时间:2026/6/18 11:09:25

玩linux 有4-5年了,今天来简单梳理一下linux上我用过的一些平铺窗口合成器,也顺便说一下最近先换的一个合成器--niri

和平铺窗口绑定最多的标签就是 -- “效率提升”,“增加屏幕利用率”,我最初可能就是应为这些标签被吸引来的。当然可能还有vim的一部分原因(感觉vimer最终都会转到平铺窗口)。

那些年我用过的非平铺的wm

可能很多人然最开始的linux wm是ubunte的gnome.不过我最开始用的是xfce,没错kali的xfce 。 因为大学学的是信息安全专业,so,kali就是我入门的linux, 当时也是莫名其妙的选了xfce(当时也不懂什么wm)。

总之在用kali这一年左右,中间偶尔体验了一下deepin的dde和 ubuntu的gnome.最后感觉用不习惯(gnome是不习惯,dde则是存在一个休眠后无法点亮显示器的bug)。

后面感觉debian系的系统装包有些不方便,同时也是受到一点arch邪教的影响。最终换到arch的子分支 manjaro上,manjaro应该是我用过最长时间的发行版。用manjaro那时候实际上也不懂wm,只是manjaro默认的好像就是kde环境(我碰巧下载的镜像是kde的)。

用了一段时间的kde后. 在B站上看到平铺wm, 当时我已经是vimer了,可以用hjkl切换窗口,让我大受震撼,然后就开始了我的平铺之旅。

这些年我用过的x11平铺wm

最开始用平铺,我想试试dwm(很疯狂是把,不会c,去玩dwm),很快我就换到i3了,dwm不是人玩的,改个配置还得重新编译再重启(当时还不知道有注销这个东西,很神奇吧),然后用了快一年左右。当时实习在公司用自己的电脑用的就是i3(说实话最开始用i3 我还不知道i3可以把多个窗口合并到一起,用标签切换)。

我从i3转移到dwm是因为在我上班的某一天,我更新了一下我的manjaro系统,i3打不开了,得亏我系统里面有我正在配置的yaocccc大佬改的dwm,然后临时从i3切换到dwm。

当时yaocccc大佬还更新得很频繁,最开始的时候c佬还没开发出overview功能,用的时候就感觉挺好的,再加上overview功能,简直是梦中情wm,再加上后面开发的最大化窗口功能,说实话直到现在我都感觉dwm是最好的wm,还有很多功我现在都很需要,可惜我后面用的wm的作者没有实现。

近些年我用的wayland平铺wm

计划总是赶不上变化,一年后,我毕业了,感觉每次背着我2-3斤的电脑外出太累了,想换个轻薄本。然后我买了个二手的红米本。很遗憾它是一款hidpi的本子,当我装上系统之后我就发现dwm的窗口太小了,而且用xrand调分辨率之后字体会模糊,字体调大的话,我另外一块1080P的显示器字体也会很大。

我被迫从dwm再次换到kde,并且也是用上了wayland.那时差不多是wayland元年(我是这么定的,基本上是从这一年开始wayland达到勉强可用的状态,并且xwayland的bug也没多到不能容忍)。我以为差不多可以止步在kde了,当时kde刚推出plasma6 ,非常大的升级,从qt5升级到qt6 ,我之前用的kde配置基本上都失效了(很神奇,我还保存着几年前kde的配置),然后我整了一套kde plasma6的配置。

起初用plasma6感觉还可以(我也在偶尔折腾dwm的hidpi和其他wm, 大体上的想法是--懒得折腾了),但是后面发现kde有个问题,他的plasma-shell好像有点内存泄漏,我一天不重启plasma-shell的内存就差不到有1G了(好怀念dwm😢)。

然后我毅然决然换到hyprland, 清爽,丝滑,但是很快我发现hyprland没有overview功能,也没有隐藏窗口。当时在github上发现了hycov这款插件可以实现overview功能,刚开始用还好,后面hyprland升级,hycov的作者放弃了支持。

主要还是hyprland此时正处在重大变化的节点(作者非常疯狂的放弃wlroot,并且还有激进的C++版本更新,几乎每个月都会修改核心api)。最开始overview作者弃坑的时候,我尝试接手了一下,修改了少数几个地方,勉强能用,偶尔会有一些小bug。

但是顶不住hyprland激进的更新策略,基本上隔2-3个月我就的在维护一下,差不多摸爬滚打有大半年,在加之hyprland偶尔的不能启动(一般发生在hyprland更新后,有的版本会因为bug启动失败),我决定放弃hyprland了。

我选的替代品是swayfx,sway的优化版, 不过hyprland还是太丝滑了,swayfx和hyprland比还是差很多,所以在最近的几个月,我基本上是在hyprland的sway之间切换着用。

当然sway是wayland上i3的实现,完全兼容i3的配置,hypralnd我也用hy3来模拟一些i3的操作逻辑。

niri

为什么要单独起一个标题来说niri呢?

我感觉niri是一种全新的平铺窗口合成逻辑,无论是x11下的dwm,i3,还是wayland下的hyprland,sway 或者是其他我没有提到的窗口合成器,他们创建窗口的方式都是以屏幕为基础,第一个窗口可能是占满整个屏幕,第二个窗口创建时则会修改第一个窗口的大小,把第一个窗口宽度/高度变小一点,然后在生成一个新的窗口(i3系列的可能还有标签这个逻辑),而niri的逻辑则是,把屏幕想象成无限宽的(高度是固定的),物理屏幕是那个无限宽屏幕的一小段,然后可以通过滚动那个无限宽的屏幕,来切换改变物理屏幕显示的窗口。

由于niri的逻辑屏幕是无限宽的,所以niri的工作区不是左右分布,而是上下分布。对于多显示器来说,niri并不会把两个屏幕连在一起,两个屏幕类似是两个工作区,副屏并不会作为主屏幕的延伸。

同时niri自己也实现了类似overview的功能,不过和上面提到的overview功能不同,niri是看到全局的工作区,在overview里面,你可以看到每个工作区的那个窗口‘卷轴’。

目前来看niri唯一的缺点是还没有实现窗口模糊的功能,对于透明的终端窗口,没有模糊效果。

我用过的窗口合成器排名

dwm > niri > hyprland > sway > i3 > kde > xfce > gnome > dde

相关新闻

  • 题解:CF1010A Fly
  • 题解:CF1914F Programming Competition
  • 使用云服务器搭建飞牛Frp 内网穿透服务

最新新闻

  • 2026最新领英账户解封全攻略指南:从领英封禁类型到高效申诉恢复实操
  • CMOS LDO选型与应用实战:TC1223/TC1224低功耗电源设计指南
  • 如何在Chrome浏览器中快速生成和识别二维码:终极二维码处理技巧指南
  • 风力发电机运行数据的分析与应用技巧
  • 24CW系列EEPROM软件写保护与硬件地址配置实战指南
  • 深入解析T1023RDB开发板:从Power Architecture核心到高速接口的硬件设计实战

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号