Подвижный GtkWindow с подсказкой типа «рабочий стол» - PullRequest
0 голосов
/ 26 августа 2018

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

Такое поведение достигается с помощью следующего кода:

win.SetKeepBelow(true)

win.Connect("window-state-event", func(window *gtk.Window, event *gdk.Event) {
    windowEvent := gdk.EventWindowStateNewFromEvent(event)
    newWindowState := windowEvent.NewWindowState()

    if (newWindowState & gdk.WINDOW_STATE_ICONIFIED) == gdk.WINDOW_STATE_ICONIFIED {
        window.Present()
    }
})

Однако этот способ оченьненадежный.

Кажется, что правильный способ достижения этого поведения:

win.SetTypeHint(gdk.WINDOW_TYPE_HINT_DESKTOP)

Проблема с этим подходом состоит в том, что окно становится неизменяемым и неподвижным.

ИтакКак я могу сделать окно снова изменяемым и изменяемым, или хотя бы улучшить свой ненадежный подход?

...