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