我有一个运行在带有Linux Mate和触摸屏的Raspberry Pi上的应用程序。普通用户通过触摸屏控制应用程序,通常只能看到我的应用程序。我在Mate中定义了一个键盘快捷键,允许我切换全屏模式,当我远程连接PI并使用键盘时,可以使用该模式。
然而,普通用户有时需要访问桌面。由于Raspberry Pi没有连接键盘,(本地)用户无法使用键盘快捷键。
出于这个原因,我想在我的应用程序中添加一个按钮,允许用户切换全屏模式。
据我所知,这是Gnome 2桌面(Linux Mate使用的)的功能。我不知道如何从我的程序中访问它,并且无法找到有关它的任何信息。
我的应用程序是使用Avalonia UI在.NET Core中编写的,但该功能不一定必须集成在我的应用程序中。我还可以调用外部脚本或实用程序。
知道怎么做到这一点吗?
答案 0 :(得分:0)
一位朋友给了我一个检查wmctrl程序的提示。该程序的源代码使我进入XLib或XCB库并将窗口设置为_NET_WM_STATE_FULLSCREEN。
我想这可以通过P / Invoking本机lib在.NET中完成。然后再次编写一个确定Windows ID的shell脚本并调用wmctrl实用程序并从.net应用程序调用该脚本似乎要容易得多。