2016-03-06 3 views
2

Я просто немного играю с tkinter в python, но имею некоторые проблемы с моим оконным менеджером i3 (tiling).Как сделать tkinter Window плавающим в i3 windowmanager

Я хочу создать плавающее окно для ввода значения (аналогично диалоговому окну «Открыть файл»). Это должно быть возможно, поскольку Gimp, например, работает с плавающими окнами в i3. Конечно, я не уверен, возможно ли это с помощью tkinter.

Помогает ли кто-нибудь узнать проблему и нашел решение? Я предполагаю, что для виджета tkinter.Tk() должен быть какой-то флаг.

ответ

1

Если вы знаете название окна или любой шаблон заголовка, вы можете добавить следующую строку в файл конфигурации i3, чтобы сделать его плавать на старте:

for_window [title="title of your window"] floating enable 

Например, я использую этот конфиг сделать мой гном-брелок с плавающем каждый раз, когда он спрашивает меня пароль:

for_window [title="Unlock private key"] floating enable 

EDIT:

Согласно этому https://faq.i3wm.org/question/61/forcing-windows-as-always-floating.1.html:

«i3 устанавливает диалог, утилиту, панель инструментов и всплывающие окна для плавания».

+0

Не совсем то, что я ищу, но спасибо. Угадай, что решает это на данный момент. –

+0

@ J.Doe Извините за мою ошибку. Я думаю, чтобы i3 автоматически распознал его как плавающий, вам нужно установить тип окна как «диалог, утилита или окно всплеска». Я добавил ссылку в ответ. Однако я не знаком с Tkinter. Пробовали ли вы создавать базовые диалоговые окна в i3? –

1

Вы можете сказать i3wm, что это диалоговое окно, установив атрибут вашего корневого элемента type в dialog

from Tkinter import Tk 
root = Tk() 
root.attributes('-type', 'dialog') 
root.mainloop() 

i3 автоматически откроет окно в плавающем режиме вместо черепицей.

 Смежные вопросы

  • Нет связанных вопросов^_^