在Linux Mate / Ubuntu上以编程方式切换应用程序全屏模式

时间:2018-06-13 12:42:08

标签: linux ubuntu gnome

我有一个运行在带有Linux Mate和触摸屏的Raspberry Pi上的应用程序。普通用户通过触摸屏控制应用程序,通常只能看到我的应用程序。我在Mate中定义了一个键盘快捷键,允许我切换全屏模式,当我远程连接PI并使用键盘时,可以使用该模式。

然而,普通用户有时需要访问桌面。由于Raspberry Pi没有连接键盘,(本地)用户无法使用键盘快捷键。

出于这个原因,我想在我的应用程序中添加一个按钮,允许用户切换全屏模式。

据我所知,这是Gnome 2桌面(Linux Mate使用的)的功能。我不知道如何从我的程序中访问它,并且无法找到有关它的任何信息。

我的应用程序是使用Avalonia UI在.NET Core中编写的,但该功能不一定必须集成在我的应用程序中。我还可以调用外部脚本或实用程序。

知道怎么做到这一点吗?

1 个答案:

答案 0 :(得分:0)

一位朋友给了我一个检查wmctrl程序的提示。该程序的源代码使我进入XLib或XCB库并将窗口设置为_NET_WM_STATE_FULLSCREEN。

我想这可以通过P / Invoking本机lib在.NET中完成。然后再次编写一个确定Windows ID的shell脚本并调用wmctrl实用程序并从.net应用程序调用该脚本似乎要容易得多。