找回密码
 立即注册
搜索
查看: 4340|回复: 26

[软件] 推荐一个 Linux 窗口管理器

[复制链接]
     
发表于 2024-8-10 22:47 | 显示全部楼层 |阅读模式
本帖最后由 BRS5672023 于 2024-11-24 19:49 编辑

今天用了一下 niri wm 这一款比较新的卷轴式窗口管理器,跟我之前已经体验了相当一段时间的 Hyprland 这类平铺式以及传统的堆叠式窗口管理器都不太一样,niri 中一般打开一个窗口只会占用一半的屏幕宽度(当然一般会设置成浏览器这类应用打开时就占满屏幕宽度),而默认的几个可以快速调节的宽度值分别是 1/3, 1/2, 2/3 的屏幕占比。。其特点是比如已经打开了一个完整屏幕宽度的窗口,再打开一个 1/2 屏幕宽度的窗口的话原来的窗口就有一半会被推到左边,然后这几个窗口就类似于卷轴一样可以左右滚动查看;另外也可以在垂直方向添加新的工作区,也就是会变成几条卷轴的情况,这就和一般的工作区的概念不太一样了。。体验视频见 [Eden] Niri —— 一款非常独特的wayland compositor (可能视频已经比较老了跟目前的版本会有一些区别)

还有就是 niri 的配置文件相较于 Hyprland 比较简单,不过没有类似 Hyprland 的 blur 特效。。另外完成度也不如 Hyprland,目前我遇到的比较难受的问题是不支持 chromium 上的输入法(也包括 electron 应用),没想到直到最新的 chromium dev 版本才支持 text-input-v3 (而 niri 不支持 text-input-v1,另外值得一提的是,最新的 dev 还修复了 amdgpu 在 wayland 下的硬解问题);还有另一个问题是触控板的双指滚动速度暂时不可调节,速度太快了。。触控板的 scroll factor 目前在 0.1.10 版本上已经可以进行设置了

可以说是缺陷的问题就是 niri 目前还不支持 floating window,也就是可以叠在普通窗口上方的窗口(想像一下剪贴板的小窗口也要在右边打开并且使用完整的屏幕高度。。);虽然 niri 也可以像普通平铺桌面一样在竖直方向上铺开窗口,但相比普通的平铺桌面而言似乎也不是很实用。。



感觉吃到了 gnome 的n手屎。。目前设置了 scroll_factor 之后应该说绝大多数应用里面的两指滚动已经很正常了(包括像 firefox 这种 gtk3 的应用),但是像 nautilus 这类 gtk4 应用里面的滚动速度又太慢了(然而 niri 目前要实现屏幕录制需要 xdg-desktop-gnome-portal,而这个 portal 在 arch 上又依赖 nautilus)。。很久之前就看到过反馈 gtk3 和 gtk4 的触控板滚动速度不一致的问题了,而且能搜到一堆关于 gnome 里无法设置 scroll_factor 的 issue。。难道 gnome 的开发者就没人用触控板的?
回复

使用道具 举报

发表于 2024-8-10 22:53 | 显示全部楼层
这个思路怎么感觉很……手机
回复

使用道具 举报

     
 楼主| 发表于 2024-8-10 22:56 | 显示全部楼层
posthoc 发表于 2024-8-10 22:53
这个思路怎么感觉很……手机

我觉得传统的平铺更像手机或者平板的逻辑(floating window 对应小窗),卷轴式 wm 还是感觉不大一样。。
回复

使用道具 举报

发表于 2024-8-10 23:10 | 显示全部楼层
BRS5672023 发表于 2024-8-10 22:56
我觉得传统的平铺更像手机或者平板的逻辑(floating window 对应小窗),卷轴式 wm 还是感觉不大一样。。 ...

我是觉得很像手机切换后台应用时左右滑的感觉,不同性质的窗口都近乎平等的当app去对待。
回复

使用道具 举报

发表于 2024-8-10 23:50 | 显示全部楼层
我最希望wayfire能有点进展,可惜似乎没啥人用所以开发也不咋积极
相比下hyprland的特性加得很快

不过我还是无法习惯平铺式,特别是弹出窗口和qq这种明显适合堆叠的窗口,手动设置浮动也很麻烦
回复

使用道具 举报

     
 楼主| 发表于 2024-8-11 00:31 | 显示全部楼层
tsubasa9 发表于 2024-8-10 23:50
我最希望wayfire能有点进展,可惜似乎没啥人用所以开发也不咋积极
相比下hyprland的特性加得很快

我刚好相反,已经无法适应堆叠桌面了,需要设置成 floating 的始终是少数,安装 xdg-desktop-portal-gtk 之后基本上所有 gtk 界面的文件选择器都是这个 class,反倒是一些 qt 应用的文件选择器比较麻烦,我在 Hyprland 上设置的 floating 相关的规则如下
  1. windowrulev2=float,class:^(Mathematica)$,title:^(Mathematica)$
  2. windowrulev2=float,class:^(com.wolfram.Mathematica),title:^(Mathematica)$
  3. windowrulev2=float,class:^(org.qbittorrent.qBittorrent)$,title:^(?!qBittorrent)

  4. windowrulev2=float,class:^(mpv)$
  5. #windowrulev2=size 75% 70%,class:^(mpv)$

  6. #windowrulev2=noblur,class:^()$,title:^()$
  7. windowrulev2=float,class:^(chrome-.*Default)$
  8. windowrulev2=noanim,class:^(chromium)$,title:(- Chromium)$

  9. windowrulev2=pin,class:^(firefox|)$,title:^(画中画)$
  10. windowrulev2=float,class:^(firefox|)$,title:^(画中画)$
  11. windowrulev2=size 480 300,class:^(firefox|)$,title:^(画中画)$
  12. windowrulev2=move 100%-500 100%-320,class:^(firefox|)$,title:^(画中画)$

  13. windowrulev2=float,class:^(xdg-desktop-portal-gtk)$
  14. windowrulev2=size 75% 70%,class:^(xdg-desktop-portal-gtk)$
  15. windowrulev2=float,title:^(文件)*(打开|上传|保存|查找|添加|另存为|所有)(文件|目录|图像)*(夹)*$
  16. windowrulev2=size 75% 75%,title:^(文件)*(打开|上传|保存|查找|添加|另存为|所有)(文件|目录|图像)*(夹)*$

  17. windowrulev2=float,class:^(Zotero)$
  18. windowrulev2=tile,class:^(Zotero)$,title:(Zotero)$
  19. #windowrulev2=float,class:^(Zotero)$,title:^(Zotero 设置)$
  20. windowrulev2=size 85% 80%,class:^(Zotero)$,title:^(Zotero 设置)$

  21. workspace=5,on-created-empty:zotero
  22. windowrulev2=float,class:^($clipboard)$
  23. #windowrulev2=pin,class:^($clipboard)$,title:^(CopyQ)$
  24. windowrulev2=size 400 500,class:^($clipboard)$,title:^(CopyQ)$
  25. windowrulev2=move 100%-450 100%-550,class:^($clipboard)$,title:^(CopyQ)$
复制代码
另一个麻烦的地方是实现 scratchpad 的功能。。
回复

使用道具 举报

     
发表于 2024-8-11 07:32 | 显示全部楼层
之前看过,不过我还是等Cosmic正式版

—— 来自 S1Fun
回复

使用道具 举报

     
发表于 2024-8-11 09:34 | 显示全部楼层
本帖最后由 Midnight.Coup 于 2024-8-11 09:38 编辑
無始無終 发表于 2024-8-11 07:32
之前看过,不过我还是等Cosmic正式版

—— 来自 S1Fun

刚出 Alpha 版本就差不多把 Gnome 秒了,以后正式版可以直接替代各大发行版默认使用的 Gnome
回复

使用道具 举报

发表于 2024-8-11 10:06 来自手机 | 显示全部楼层
本老古董x11钉子户还在用xmonad+picom
回复

使用道具 举报

     
发表于 2024-8-11 11:39 来自手机 | 显示全部楼层
你这不是hyprland的master模式么:https://wiki.hyprland.org/Configuring/Master-Layout/
回复

使用道具 举报

     
 楼主| 发表于 2024-8-11 12:28 来自手机 | 显示全部楼层
不要叫水狗做主人 发表于 2024-8-11 11:39
你这不是hyprland的master模式么:https://wiki.hyprland.org/Configuring/Master-Layout/

完全不是一回事,master 只是 tile 的方式有区别而已。。

—— 来自 鹅球 v3.1.88.3
回复

使用道具 举报

     
发表于 2024-8-11 13:56 来自手机 | 显示全部楼层
听起来和虚拟桌面差不多,设置一行虚拟桌面也算是卷轴了,区别就是不能跨桌面放置应用,我的习惯是设置3x3的虚拟桌面,常用应用放在固定的虚拟桌面,比如微信qq放一块,浏览器固定在一个桌面全屏使用,steam和游戏放一个桌面之类,其实固定在某个桌面之后和平铺式桌面差不多了,但依然保留了堆叠桌面的灵活性。
回复

使用道具 举报

     
 楼主| 发表于 2024-8-11 14:46 | 显示全部楼层
indtability 发表于 2024-8-11 13:56
听起来和虚拟桌面差不多,设置一行虚拟桌面也算是卷轴了,区别就是不能跨桌面放置应用,我的习惯是设置3x3 ...

用起来比虚拟桌面或者 workspace 更无感一些,因为新窗口总是在右边打开,而原来的窗口大小不会改变只是往左移动,窗口也经常介于通常所说的两个 workspace 之间,所以一个问题就是因为一个卷轴内没有固定的 workspace,那么在卷轴内不同页面的快速移动没有办法按通常的 workspace 之间的跳转来完成
回复

使用道具 举报

发表于 2024-8-11 15:05 | 显示全部楼层
其实平铺式桌面本身用起来就是基本离不开虚拟桌面/工作区的,毕竟就那么点面积窗口一多铺不过来,卷轴化有个好处就是摆脱了面积限制,不需要为了更多面积强行虚拟桌面+1,而是能够按照工作分类的抽象合理计划分配,变成完全意义上的“工作区”,这么一想感觉是传统平铺桌面的进化了。
不过个人来说当年上学天天背笔记本的时候喜欢用平铺式,因为用触摸板拖拽太蛋疼了(我那个还动不动断触)反而全键盘很丝滑,现在以台式机为主就没有捣鼓平铺式的动力了……
回复

使用道具 举报

发表于 2024-8-11 15:35 | 显示全部楼层
posthoc 发表于 2024-8-11 15:05
其实平铺式桌面本身用起来就是基本离不开虚拟桌面/工作区的,毕竟就那么点面积窗口一多铺不过来,卷轴化有 ...

其实思路转换下,所有程序都全屏也是tilling wm 的一种。很多需要tilling的程序自己就支持tilling,而且不需要去处理键位冲突。搭配个dmenu之类的就能用了。
回复

使用道具 举报

     
发表于 2024-8-11 17:30 来自手机 | 显示全部楼层
niri自己写写custom shader挺好玩的,比如写个山寨mac gneie动画效果

还有主楼怎么没提这个compositor的最大问题:没有xwayland支持
回复

使用道具 举报

     
 楼主| 发表于 2024-8-11 18:08 | 显示全部楼层
yvev 发表于 2024-8-11 17:30
niri自己写写custom shader挺好玩的,比如写个山寨mac gneie动画效果

还有主楼怎么没提这个compositor的最 ...

还没在 niri 上用过 xwayland 程序。。

看了下说可以用 xwayland-satellite 实现 rootless xwayland 以为没啥问题来着。。

Xwayland
回复

使用道具 举报

发表于 2024-8-11 18:28 | 显示全部楼层
posthoc 发表于 2024-8-11 15:05
其实平铺式桌面本身用起来就是基本离不开虚拟桌面/工作区的,毕竟就那么点面积窗口一多铺不过来,卷轴化有 ...

说到点上了,台机的大屏幕和鼠键用平铺式的体验真的屌差
回复

使用道具 举报

     
发表于 2024-8-11 19:48 | 显示全部楼层
其实我觉得macOS的前台调度也是一种不错的思路,只是目前打磨的还不太完善。
回复

使用道具 举报

     
发表于 2024-8-11 20:54 | 显示全部楼层
看了下这个窗口切换有点像Oppo折叠屏手机解决方案,窗口切换动画都差不多
【Find N3 全景虚拟屏体验-哔哩哔哩】 https://b23.tv/SJM9cX8
回复

使用道具 举报

     
发表于 2024-8-11 21:13 来自手机 | 显示全部楼层
Midnight.Coup 发表于 2024-8-11 09:34
刚出 Alpha 版本就差不多把 Gnome 秒了,以后正式版可以直接替代各大发行版默认使用的 Gnome  ...

这么厉害的嘛。。。

—— 来自 Xiaomi Mi 10, Android 13上的 S1Next-鹅版 v3.0.0.81-alpha
回复

使用道具 举报

发表于 2024-8-11 21:25 | 显示全部楼层
Midnight.Coup 发表于 2024-8-11 09:34
刚出 Alpha 版本就差不多把 Gnome 秒了,以后正式版可以直接替代各大发行版默认使用的 Gnome  ...

gnome开发者特有的傲慢+脑子不好使
回复

使用道具 举报

     
发表于 2024-8-14 11:56 | 显示全部楼层
在用labwc,但是总是感觉东少西少东西
回复

使用道具 举报

     
发表于 2024-8-14 23:08 | 显示全部楼层
tsubasa9 发表于 2024-8-11 21:25
gnome开发者特有的傲慢+脑子不好使

我一直很奇怪,gnome的人是不知道社区对他们做的东西有意见么?
回复

使用道具 举报

     
发表于 2024-8-14 23:42 来自手机 | 显示全部楼层
wewai 发表于 2024-8-14 23:08
我一直很奇怪,gnome的人是不知道社区对他们做的东西有意见么?

以前这帮人开了个gtk5彻底不支持x11的gitlab issue,有人发到了reddit上,然后这帮人马上反应过来,把issue锁了。所以肯定是知道的。

评分

参与人数 1战斗力 +1 收起 理由
wewai + 1 欢乐多

查看全部评分

回复

使用道具 举报

发表于 2024-8-14 23:51 | 显示全部楼层
wewai 发表于 2024-8-14 23:08
我一直很奇怪,gnome的人是不知道社区对他们做的东西有意见么?

当然知道,所以我写了“傲慢”,gnome相关论坛上随便就可以搜到傲慢的回复
比如我之前升级到gnome42后发现以前的gtk主题全崩了,然后搜了下:
https://discourse.gnome.org/t/wh ... ts-theming/17079/29
说实话看完我都惊了,没见过任何其他FOSS是这么整的,似乎gnome开发者和信者有自己一套封闭排外的逻辑

评分

参与人数 1战斗力 +1 收起 理由
wewai + 1 好评加鹅

查看全部评分

回复

使用道具 举报

发表于 2024-8-14 23:55 | 显示全部楼层
wewai 发表于 2024-8-14 23:08
我一直很奇怪,gnome的人是不知道社区对他们做的东西有意见么?

他们可太清楚了,只不过大多数时候他们觉得提出问题的人才是问题。
喜欢drama的话可以看看4chan /g/佬们是怎么编排Emmanuele Bassi的:https://wiki.installgentoo.com/wiki/Emmanuele_Bassi

评分

参与人数 1战斗力 +2 收起 理由
13号 + 2 好评加鹅

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2024-12-31 05:36 , Processed in 0.138951 second(s), 8 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表