[Eden] 我或许找到了最好的窗口管理方式(window management)

作者: EdenO_o分类: 软件应用 发布时间: 2023-08-05 00:11:33 浏览:24335 次

[Eden] 我或许找到了最好的窗口管理方式(window management)

蚌妮氓:
不错的设计。 提一点自己的看法: 1. 新创建窗口,如果放不下,直接放到下一个屏幕,没必要溢出。溢出几乎是不可用状态,没啥意义。 2. 多个屏幕最大的问题就是缺少提示,用户意识不到其他屏幕,更意识不到后台都在运行什么。 2.1. 所以任务栏应该放后台程序,这样用户就知道原来还有窗口在后台运行,点击就能切换。 3. 窗口默认是浮动状态,但是可以方便的调整靠边,比如平铺左边,平铺上边,最好有个调整的快捷方式。这样的目的是为了不要一堆奇怪大小的窗口在浮动,而是可以快速规整窗口的大小。 4. 新窗口的逻辑应该是插入到当前窗口之后。所有窗口就形成一个队列。窗口关闭,其他就顶上来,总之就是维持一个尽可能铺满的状态。

【回复】我觉得你说的2、4和台前调度的理念有点不谋而合
【回复】1是可以实现的 可以考虑做成可选择的选项 2不是窗口管理的范畴 可以用waybar自带的组件或写其他脚本 3 snapping也考虑过,单个窗口的贴靠肯定可以实现,但要考虑单个窗口贴靠后其他窗口的放置就有点麻烦了,可能要再想一个更成熟的方案 4 默认不用这样的逻辑 因为理念是窗口的位置不重要 但可以用新加的--prior参数结合脚本实现队列
-特殊字符串-:
如果一个 workspace 放不下所有的窗口了,新打开的窗口应该距离中心更近,因为新的窗口才是马上需要查看的

【回复】改好了 现在可以通过--prior参数指定优先平铺的窗口(指定address,格式为--prior address1 address2...) 可以另外写脚本来优先平铺当前聚焦的窗口
【回复】是有道理的 我修改一下[抱拳]
sunn4room:
我觉得这种方式叫“智能浮动”更为形象,因为原始的平铺方式最大的好处就是控制窗口在可视范围内,而智能平铺却引起了一个问题“越界”。试想正在vscode里面写代码,突然想查看网页文档,结果智能平铺越界了,只是一件很抓狂的事情。

【回复】嗯嗯 可以移动画布查看越界窗口 但理念是如果发生越界了就说明应该换个workspace或者手动调一下窗口大小了
账号己泩销:
试了下,如果monitor数量为2的话,workspace1(workspace后续简称ws)的左上方坐标为0x0,ws2左上方坐标为1920x0,执行传入current active workdpace Id的时候,如果当前focus的是ws2的话,会基于ws1的坐标进行计算,把ws2的窗口移动到ws1那边

【回复】回复 @账号己泩销 :如果两个显示器上是两个不同的workspace的话 可以对两个workspace用不同的命令 脚本可以传入参数指定workspace 每个显示器可以分别用参数指定canvas_pos和canvas_size canvas在每个workspace是独立的,所以ws2的左上应该也是0,0
【回复】回复 @小柴ai :canvas_pos参数传进去调试几次就可以了
【回复】回复 @账号己泩销 : 不懂,你的参数是怎么填的?
ClarkQAQ:
还是螺旋平铺简单[笑哭], 这个感觉人脑预测窗口出现位置比较麻烦[来古-震撼]

【回复】确实哦 这一点还要改进
懒惰的小子:
up我想请教哈,hyprland对于我目前的痛点,就是像dwm的scrathpad一样的功能,hyprland目前的是将当前窗口放到暂存区,而且是全屏,然后才可以调出来,不符合我的需求。我希望能够按快捷键直接弹出一个小点的窗口,没有就自动创建,有了就调用之前的。不需要手动放起来而且全屏的,就是不知道咋实现[呲牙]

【回复】pyprland插件管理器有这个功能
【回复】回复 @作格喝不起奶荼 :对的,dwm这个就非常方便[呲牙]
Shutdog:
先演示,再介绍,播放分享,翻翻倍。

O_o-嘿嘿:
求助:当我运行up的swhkd配置会报错 Config Error: I/O Error while parsing config file: Permission denied (os error 13)

【回复】回复 @iwantobelieve :sudo pkexec?
【回复】权限错误啊 需要root权限
【回复】回复 @O_o-嘿嘿 :arch hyprland
Maple鬼手:
想法挺好的,但是我的缩放让它运行不正常

【回复】回复 @EdenO_o :后台看到用的是xwayland
【回复】回复 @Maple鬼手 :没装过不太清楚 用的wayland吗
【回复】回复 @EdenO_o :我安装deepin和星火的最新版wechat,一打开就是一个大黑块,移动才能看到底部的微信,怎么办。
tlpalace:
怎么说,感觉,窗口化操作的命令行异类,以优美的动画和漂亮的界面展示命令行操作[笑哭]我知道,命令行用习惯了超级方便舒服,可这,可这,这太酷了

冷疯Kumo:
虽然有点离题 但是挺好奇你们玩unixp*rn的不嫌屏占比小么[笑哭] 我也是waybar+hyprland 巴不得关掉所有margin和gaps 我是感觉虽然好是好看但是留给窗口的地方太小了不适合日常使用

账号已注销:
gnome 那篇文章最重要的是应用元数据,意味着更紧密结合。

【回复】回复 @EdenO_o :这是我认为整个重点是元数据,他那个排列非常需要这个,确实我也认为要放在compositor里,但是他那个排列不如,聚焦其中一个窗口时候,其余可以缩放到比如100*100px或50*50px,形成2列10行,并且聚焦窗口和缩放的窗口形成叠成,缩放窗口颜色变淡。放在右边或左边,类似于台前调度或者叫专注模式。
【回复】文章没有说哪一点是最重要的。 元数据的读取和应用应该要放在compositor里面了,所以现在在和别人合作尝试写一个新的compositor
荔枝2333333:
感谢制作视频分享这样一个有趣的想法

Nash_Sun:
之前在Github上看到仓库了,然后在b站又看到了

【回复】Windows有什么类似软件吗
【回复】回复 @gumdamxxx :hyprland肯定不支持windows啊。
N00bly:
up 方不方便分享下 hyprland 配置啊[星星眼]

【回复】回复 @N00bly :自己写脚本喽[doge]
【回复】回复 @EdenO_o :[思考]那要怎样让新的窗口也自动应用 mosaic 的排列捏,看了几遍也没找到在哪
【回复】回复 @EdenO_o :草,原来是用这种方法解决的吗
BUG保护协会:
能不能一个虚拟桌面用平铺模式,一个虚拟桌面用窗口层叠模式

【回复】这个在hyprland的配置文件里用workspace rule就能指定

window manager GNOME 软件分享 窗口管理 linux wm

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!