问题标签 [awesome-wm]

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 回答
696 浏览

phpstorm - PhpStorm 自动完成/对话框在 Awesome WM / Xmonad 中消失

当尝试自动完成代码或打开下拉菜单时,窗口/对话框将出现一小段时间,然后隐藏在主编辑器窗口后面。

该问题与诸如 AwesomeWM 之类的平铺窗口管理器中的 java 窗口处理有关。

要解决这个问题,请参阅下面的答案。

0 投票
1 回答
489 浏览

linux - 网络管理器调度程序脚本无法重新启动真棒 wm

当网络环境发生变化时,我希望很棒的 wm 以不同的配置运行。所以我在network manager dispatcher里写了一个脚本,这样当网络环境发生变化时,脚本就会被执行;

但是,当环境发生变化时,这个脚本会运行,但是很棒的 wm 不会重新启动。

我认为这是脚本由 root 执行的原因,因此我使用以下命令:

当我 su 到 root 时,此命令将起作用(重新启动很棒的 wm);但是,当我使用:

运行脚本,脚本重启wm失败;但是当我以当前用户(dreamingo)的身份运行它时,它可以工作;

此外,无论上述结果(成功与否),脚本都会输出:

我认为失败的人也尝试重新启动真棒,但有些东西覆盖或阻止它....

0 投票
2 回答
77 浏览

linux - 编辑 rc.lua 时的 Tabcompletion 和 docview

我看到有一个用于 Eclipse 的 lua 插件,并且在很棒的主页 api_doc 上有一个 docpage.lua 中的所有 .lua 文件/usr/share/awesome/lib

所以我认为必须有可能创建一个库或执行环境,以便具有 tabcompletion 和 docview。

所以我尝试制作自己的执行环境:

  • 写了标准.rockspec文件
  • 下载了文档,制作了一个离线版本并将其放在 docs/ 文件夹中
  • 压缩文件和文件夹/usr/share/awesome/lib
  • 拉上拉链

试了一下……失败了。当我尝试查看 .lua 文件的文档时,我得到“注意:此元素没有附加文档。

问题: 我的行为是否完全错误(因为我有这种感觉)?有没有办法rc.lua用 tabcompletion 和 docview 编辑?

0 投票
1 回答
502 浏览

lua - 带有长消息的顽皮通知

有没有办法绕过顽皮的通知消息的字符限制?我不知道那个限制是什么,但它们似乎在一定长度后被截断。我正在使用 orglendar,它在一条消息/窗格中总结了我的谷歌日历事件,这非常方便。

问题是,如果我有超过 4 个左右的事件,它们往往会变得太长并被切断。由于截断的</span>标签导致解析不正确,结果消息最终变得有些不可读。

或者,由于通知消息可能不是为这样的长列表而设计的,是否有一个替代小部件可以修改 orglendar 来代替使用?

0 投票
1 回答
539 浏览

lua - 很棒的 WM(v3.5.5)keygrabber 替代品

我从不喜欢 Awesome 中的默认窗口切换可能性,所以我想我会实现考虑历史的 Alt-Tab 行为(并做花哨的不透明效果)。

当按下 Alt-Tab 时,整个历史记录被记录在一个表格中,并且附加到该历史记录的是最小化的窗口(在同一个标​​签内)。生成此表时,我实例化一个捕获 Tab 按下事件(以切换到表中的下一个客户端)和 Alt 释放事件(完全中止)的 keygrabber。

一个标志跟踪用户是否在 Alt-tabbing 的过程中,以防止表被一遍又一遍地生成。

代码(很多,你可能不需要看,但我的经验告诉我,当我不发布所有代码时,人们最终会要求它):

我意识到有很多代码,但主要的是keygrabber。由于仍然未知的原因,当我使用这种方法进行 Alt-Tabbing 时,Awesome 有时会崩溃。我想通过将信号连接到 Alt 和 Tab 键来替换 keygrabber,并在用户完成后立即断开它们。但是,由于某种原因,我无法做到这一点。

我像这样实例化一个新的键对象:

我通过反复试验发现它awful.key()实际上返回了一个表,我可以在其中查询第一个元素keykeysym,因此[1]. 但是,当我尝试将信号连接到该对象时,LUA 解释器会抱怨并告诉我它是一个 nil 对象。所以我的问题是:我在这里做正确的事吗?是否有可能以我打算的方式更换密钥采集器?

0 投票
1 回答
1098 浏览

lua - 通过真棒 wm 更改图标颜色

在很棒的 wm 3.5 中,您可以使用 cairo 创建自定义小部件来绘制其视觉效果。我想要一个显示单色 PNG 图标的小部件(就像 wibox.widget.imagebox 一样)并允许快速更改其颜色。我尝试在 wibox.widget.imagebox 的绘制函数中修改几行

但它不起作用。我尝试设置其他几个 cairo 的合成运算符,但大多数都没有按预期工作。错误的重叠区域和黑色区域,而不是 wibox 背景颜色。SOURCE 和 OVER 只能正常工作。我在哪里犯错了?

0 投票
1 回答
2001 浏览

lua - 如何更新 lua 中的时间以反映执行期间的系统时区变化?

问题

我想修改awful.widget.textclockawesome-wm 中的小部件以立即反映系统时区的变化。这个小部件和所有 awesome-wm 配置都是用 lua 编写的。

目前,如果系统时区发生更改,小部件将继续根据运行时设置的时区显示时间。小部件使用该os.time函数检索时间,但这与系统时间不匹配。


解决方案如下

lua脚本:

输出:


解决方法

这可以通过重新启动出色的窗口管理器来解决,这会导致小部件再次获得正确的时区。当然,如果时区发生变化,这需要再次重新启动窗口管理器。

期望的效果是在系统更改时更新系统的时区,无论是定期地还是每次os.time调用函数时。


用例

如果你很好奇,这个用例是在笔记本电脑上。我经常旅行并tzupdatesystemd timer. 我想自动更改我的时区。除了实际显示时间的小部件没有注意到系统时区的变化之外,这很好用。


到目前为止尝试过

  1. 取消设置“$TZ”环境变量。但是 Arch Linux 从一开始就没有设置这个变量,所以我不确定 lua 是如何确定正确的时区的。
  2. 使用luatz库,特别是tzcache.clear_tz_cache()函数。这似乎没有任何效果。
  3. os.time()使用:luatz.time()和以外的函数检索系统时间luatz.gettime.gettime()。这些检索与其他功能相同的时间。
  4. 使用该luatz.time_in()函数,但这会返回将时区偏移量两次应用于 UTC 时间的时间。 luatz.time()返回正确的本地时间,但应该返回 UTC 时间。

更新luatz

我尝试luatz按照推荐的方式弄乱库,但它似乎没有重新检查系统时区,即使在调用该tzcache.clear_tz_cache()函数之后也是如此。

我克隆了luatzrepo 并复制luatz到系统模块目录。该脚本似乎可以正确加载,但并没有改变忽略系统时区更改的效果。据我所知,这与函数没有什么不同os.time()

luatz 测试脚本:

输出:


luatz.time_in()

因此,该luatz.time_in()功能会随着系统时区的变化而更新,我对此感到很兴奋!但是,time_in()不显示正确的当地时间。它将时区偏移添加到正确的本地时间,导致时间落后几个小时。我尝试设置TZ环境变量,但这没有效果。出于某种原因,luatz.time()正在返回本地时间并luatz.time_in()返回两次应用时区偏移的结果。

lua脚本:

输出:

实际系统当地时间:15:59.

0 投票
0 回答
170 浏览

lua - 音量小部件有效,但有一个错误

每次我使用我的键绑定时都会出错

/usr/share/awesome/lib/awful/key.lua:42: attempt to call upvalue 'press' (a string value)

第 42 行:

这是它周围的所有线条

0 投票
2 回答
1330 浏览

linux - 在 AwesomeWM 中的 Chrome 窗口之间移动撕掉标签

当 AwesomeWM 设置为平铺布局时,很难(甚至不可能)在 Chrome 窗口之间移动标签。

只要您通过单击并拖动选项卡从一个窗口中撕下选项卡,Awesome 就会将其平铺,这意味着您无法将其拖动到目标窗口的选项卡栏中。

我可以在我的 Awesome 配置中做些什么来解决这个问题吗?我假设我需要让窗口浮动,但我该怎么做?如何在所有其他情况下仍然保留平铺?

0 投票
1 回答
633 浏览

lua - AwesomeWM,获取所有托管客户端的数组

是否有可能(以及如何)在 awesomeWM 中获取所有托管客户端的数组?

我目前使用managed信号来执行此操作,将客户端添加到稍后可以访问的数组中。但我对这个解决方案只满意一半。事实上,我不知道任何有效的方法来使用client信号作为参数传递的对象unmanage从我的数组中删除它。因此我的数组也包含被杀死的客户。那不方便。

最后,是否有内置函数或其他方法来获取该数组?

我的版本是:awesome v3.4.15 (Never Gonna Give You Up)