具有“桌面”类型提示的可移动GtkWindow

时间:2018-08-26 15:25:03

标签: resize window gtk move gtk3

我目前正在尝试在背景上贴一个窗户,并且无法识别。 我的窗口没有装饰,但是具有自定义标题,因此仍然可以拖动和调整大小。

使用以下代码可实现此行为:

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)

这种方法的问题在于,窗口变得无法调整大小且不可移动。

那么,我该如何使窗口重新调整大小并再次移动,或者至少改善我自己不可靠的方法?

0 个答案:

没有答案