【发布时间】:2016-06-20 05:49:08
【问题描述】:
我只是在 python 中玩了一下 tkinter,但是我的 i3(平铺)窗口管理器有一些“麻烦”。
我想创建一个用于输入值的浮动窗口(类似于“打开文件”对话框)。这必须是可能的,因为 Gimp 例如也适用于 i3 中的浮动窗口。当然,我不确定 tkinter 是否可行。
是否有人碰巧知道问题并找到了解决方案?我想必须在 tkinter.Tk() 小部件上设置某种标志。
【问题讨论】:
我只是在 python 中玩了一下 tkinter,但是我的 i3(平铺)窗口管理器有一些“麻烦”。
我想创建一个用于输入值的浮动窗口(类似于“打开文件”对话框)。这必须是可能的,因为 Gimp 例如也适用于 i3 中的浮动窗口。当然,我不确定 tkinter 是否可行。
是否有人碰巧知道问题并找到了解决方案?我想必须在 tkinter.Tk() 小部件上设置某种标志。
【问题讨论】:
您可以通过将根元素的 type 属性设置为 dialog 来告诉 i3wm 这是一个对话框
from Tkinter import Tk
root = Tk()
root.attributes('-type', 'dialog')
root.mainloop()
i3 会以浮动模式自动打开窗口,而不是平铺。
【讨论】:
如果你知道窗口的标题,或者标题的任何模式,你可以在你的 i3 配置文件中添加下面一行,让它在启动时浮动:
for_window [title="title of your window"] floating enable
例如,我使用这个配置让我的 gnome-keyring 每次它要求我输入密码时浮动:
for_window [title="Unlock private key"] floating enable
编辑:
据此https://faq.i3wm.org/question/61/forcing-windows-as-always-floating.1.html:
“i3 将对话框、实用程序、工具栏和启动窗口设置为浮动。”
【讨论】: