Как скрыть графический интерфейс в строке состояния? - PullRequest
0 голосов
/ 19 декабря 2018

У меня Linux mint 18, и я создал приложение, которое представляет собой строку состояния.Он имеет различную информацию о температуре процессора и позволяет управлять моим ноутбуком с помощью Tkinter.При использовании Mint каждый раз, когда вы открываете приложение, оно создает вкладку в строке состояния для каждой проги / папки.Я хотел бы скрыть свою программу от этого.Я изучал возможность скрывать и показывать разные способы, но ни один из них, кажется, не покрывает это, и, отыскивая тему, я не смог найти свой конкретный вопрос.Любая помощь в этом была бы очень признательна.

1 Ответ

0 голосов
/ 19 декабря 2018

Существует несколько способов запретить диспетчеру рабочего стола отображать приложение на панели задач:

  • Изменить тип окна с «нормального» на тип, который не отображается впанель задач по умолчанию (в зависимости от типа она также может убирать художественные оформления окна и изменять положение окна, например, всегда сверху).Например, тип «панель инструментов» будет делать именно то, что вы хотите.

    import tkinter as tk
    
    root = tk.Tk()
    root.attributes('-type', 'toolbar')
    root.mainloop()
    

    Вы можете найти список типов здесь .

  • Вы также можете изменить состояние своего окна с помощью модуля ewmh :

    import tkinter as tk
    from ewmh import EWMH
    
    ewmh = EWMH()
    
    root = tk.Tk()
    root.update_idletasks()     # to make sure the window is displayed
    w = ewmh.getActiveWindow()  # get the window
    ewmh.setWmState(w, 1, '_NET_WM_STATE_SKIP_TASKBAR')  # remove window from taskbar
    ewmh.display.flush()
    root.mainloop() 
    
...