问题标签 [x-dwm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
305 浏览

c - 如何实现圆形切换布局?

默认情况下,dwmconfig.h为每个布局提供一个键绑定。

我想在我的 dwm 配置中获得功能,它将以圆形方式更改可接受的布局。

像这样的东西:

但它并没有以我期望的方式工作。

0 投票
1 回答
484 浏览

c - 解析字符串以在 Xlib 中为文本着色

我正在尝试为 DWM 6.1 编写一个补丁来为状态栏着色,到目前为止我已经设法做到了,但我使用\x01的是十六进制字符来表示颜色。这样做我发现了一个问题。当 dwm 获取状态栏的宽度时,也与转义字符一起计数,导致状态栏错位。

我写了一个虚拟程序来尝试解决这个问题。我的想法是,给定以下状态文本:

那必须用Hello World颜色1和, Bye!颜色2写。我想解析文本并得到:

我已经这样做了。但是现在我需要以某种方式记住转义序列的位置,以便用相应的颜色绘制文本。我认为stack按照颜色出现的顺序存储颜色,在这种情况下,堆栈将具有{color1, color2}. 还有一个结构,其文本的开始和结束指针必须是一种颜色,因为Hello World我需要一个指向H和另一个 for的指针d。这样我就可以创建一个新的字符串来解析XDrawString并用相应的颜色打印它。

这是最好的方法吗?我想我把事情复杂化了一点。如果你想尝试,完整的程序在这里。我在这里粘贴主循环:

0 投票
3 回答
5700 浏览

x-dwm - dwm中窗口之间令人讨厌的间隙

我试图弄清楚如何摆脱窗户之间的这些差距。请看下面的屏幕。在第一个屏幕底部有一个间隙(大约 15 像素)。在第二个 - 两个窗口之间的中心间隙。

我已经应用了 uselessgap 补丁(https://dwm.suckless.org/patches/uselessgap)。但是 - 即使将gappxconst 设置为0- 也没有任何改变:(

有任何想法吗?

固态硬盘 固态硬盘

0 投票
1 回答
640 浏览

c - 修补 DWM 时遇到错误,此处不允许有关函数定义的内容

我正在尝试在 dwm 中获取系统托盘。DWM 是 Suckless 的 X 动态窗口管理器:https ://dwm.suckless.org/ 。要配置 dwm,您需要自己手动添加补丁。我制作了一个包含所有文件的 git repo,位于https://github.com/domianter34/dwm/tree/master/dwm,但问题似乎只出在 dwm.c 文件上。同样在我添加的 git repo 中,我包含了我曾经添加的所有补丁,所以我没有针对股票 dwm 进行补丁。我也在 FreeBSD 上编译这个,但我认为操作系统在这个问题的上下文中是无关紧要的。先感谢您。

我不知道关于 C 编程的第一件事,因此我在这里问。从我所读到的关于该错误的信息中,它似乎表明我在某处缺少一个括号,但是在它指向我的那一行,一切似乎都井井有条。

这是确切的错误:

我想要的是它在应用补丁的情况下成功编译,这样我就可以使用系统托盘了。

0 投票
2 回答
405 浏览

c - X-DWM -- 帮我修复 C 源代码中的错误

我正在使用dwm (6.2)窗口管理器,我发现了一个我很想解决的错误。

窗口管理器使用放置窗口的“主区域”“堆栈区域” :

在此处输入图像描述

可以使用+将“堆栈区域”顶部的窗口移动到“主区域”的底部。也可以使用+将窗口从“主区域”的底部移回“堆栈区域”的顶部。ALTiALTd

现在在这种情况下,如果我使用ALT+ ,布局会发生变化,并且在组合键之后, “主区域”i中有两个窗口:

在此处输入图像描述

我再重复一遍,现在“主区域”中有三个窗口:

在此处输入图像描述

我再重复一遍,现在“主区域”中有三个窗口,宽度为 100%:

在此处输入图像描述

如果此时我决定将窗口从“主区域”返回到“堆栈区域”,我将开始按ALT+d并且窗口将立即返回到“堆栈区域”。这工作正常。

但是我故意犯了一个错误,而是再次按ALT+ i,例如再按下。好像什么都没发生...

但是现在如果我尝试将窗口从“主区域”返回到“堆栈区域”,我首先需要再按ALT下+并且不会发生任何事情!最后,当我第四次按+时,窗口管理器会将第一个窗口从“主区域”底部返回到“堆栈区域”顶部。d ALTd

所以这没有经过深思熟虑,应该被认为是一个错误......


ALT源代码中必须有某种计数器,通过按+再增加三倍,但在所有窗口都已经在“主区域”i中之后它不应该增加。


config.def.h源文件 ( www ) 中有一部分代码分配了键。在这里我可以看到,当用户按下ALT+时,i函数incnmaster()被调用并传递了一个参数.i = +1 (我不明白这个参数)

Keydwm.c源文件(www)内的结构:

函数incnmaster()dwm.c源文件 ( www ) 中定义:

wherearg是指向Arg( Arg*) 的指针,它是一个联合(我不太明白如何处理参数.i = +1

selmon是一个结构Monitor

MAX在单独的源文件util.h( www ) 中定义为:

和函数arrange()定义如下:

我觉得我不用再挖了...


现在我想我需要在 C 代码中实现某种if语句以防止selmon->nmaster增加太多,但我有点困惑。任何人都可以帮忙吗?

0 投票
1 回答
132 浏览

linux - 检测 USB 驱动器何时连接脚本未按预期工作

dwmblocks我在笔记本电脑的状态栏上使用了 DWM(平铺窗口管理器) 。我在这台笔记本电脑上有 3 个 USB 端口。当我连接 USB 驱动器时,我使用此脚本检测并在状态栏上显示一个块(图标)。

但是这个脚本还不够好。当我连接 1 个 USB 时,它给出了这个

当我同时连接另一个 USB 时,它给出了这个

它没有用于 grep 的 USB 存储,因此即使我连接了 2 个 USB,图标也会消失。

当我连接一个 USB 便携式 2.5" 硬盘时,它给出了这个(我将尾部范围扩展到 -n 15)

USB 硬盘甚至没有用于 grep 的 USB 存储。

同样,当连接了 1 个闪存驱动器并且我重新启动时,图标没有显示,因为 dmesg 尾部是关于我的 wifi 已连接和网络管理器。

任何想法都可以改进此脚本,因为这不可靠。

0 投票
0 回答
52 浏览

i3 - dwm 可以处理一个接一个按下的键绑定序列吗?

dwm ( https://dwm.suckless.org/ ) 窗口管理器能否像在 spacemacs 中那样处理一个接一个按下的键绑定序列(而不是同时按下它们)?如果没有,是否可以使 dwm 与 sxhkd (https://github.com/baskerville/sxhkd)之类的东西一起使用?

在 i3 ( https://i3wm.org/ ) 中,我使用

通过同时按下进入“工作区”模式Mod4+w,然后我可以使用jk导航工作区,直到我按下Escape. 如何在 dwm 上实现相同的行为?

0 投票
2 回答
316 浏览

ubuntu - XRDP 未使用我的 .xinitrc 文件中指定的 DWM

我正在尝试让 RDP 访问我的运行 ubuntu 服务器 20.04.1 的 X 服务器(是的,我知道通常你不会在服务器上使用 X,但我有一些理由)我不想使用 GNOME 的所有资源使用所以我想将其更改为 DWM,但每当我连接 XRDP 时,它仍在使用 GNOME,即使我在其中创建了一个 ~/.xinitrc 文件exec dwm。当我使用监视器进入物理机并运行 startx 时,它确实使用了 dwm。当我通过 XRDP 连接时,它只是不使用 dwm。我也尝试添加exec dwm到我的 /etc/X11/xinit/xinitrc 文件中,但它仍然无法正常工作。我已经使用重新启动了 XRDP,sudo systemctl restart xrdp但我可能需要重新启动其他一些服务,但我不确定是什么。任何帮助将不胜感激!

0 投票
2 回答
134 浏览

c - 使用 make 命令后 config.h 不起作用

我刚刚使用 DWM 进行了全新的 Arch 安装。问题是:在自定义config.h使用sudo nano config.h和运行sudo make命令之后reboot,我设置的键绑定根本不起作用。

0 投票
1 回答
137 浏览

patch - 为什么我在修补 dwm 时出错?

我正在尝试修补 dwm 文件夹(patch -p1 -f < ../patches/dwm-alpha-6.1.diff)中的 config.def.h,但我有一些错误:(我尝试添加到 dwm alpha 补丁,它添加到 dwm 一些透明度但我有一些错误。我使用patch -p1 -f < ../patches/dwm-alpha-6.1.diff,因为我以这种方式成功修补了网格模式。但是使用 alpha 我有一些错误...哎呀:(

这个错误:

你能帮我吗?