需要一个简单的程序来轮询和显示 X 中的语言

需要一个简单的程序来轮询和显示 X 中的语言

我需要一个简单的程序在屏幕上显示信息。例如,我想要一个角落里的小框来告诉我当前的语言是什么。

我设想该程序每隔几秒钟就会运行一个脚本或以其他方式进行更新。

我使用 fvwm,而不是 gnome 或其他带有 dock 的窗口管理器,所以我需要一些可以与 vanilla Xwindows 兼容的东西。

有这样的事吗?

答案1

通常,输入法编辑器会在系统托盘中显示当前语言。例如,ibus 或 fcitx。如果您有系统托盘应用程序,则它会在那里。

如果你想在不使用输入法的情况下获取布局,你可以使用 setxkbmap,例如这里

无论您想要运行什么命令,您都可以从 FvwmScript 中执行,或者只需更新 FvwmButtons 中的按钮。

对于语言,将其添加到您的 fvwm 配置中:

DestroyModuleConfig FvwmButtonLanguage: *
*FvwmButtonLanguage: (Id button0, Title "ZZ")

然后您可以为其安排一个定期任务(也可以在您的 fvwm 配置中):

Schedule 1000 PipeRead "echo SendToModule FvwmButtonLanguage ChangeButton button0 Title $(setxkbmap -query | grep layout | cut -f2 -d: )"

或者运行一个脚本(假设你的启动函数中已经加载了模块 FvwmCommandS)来更新包含以下内容的按钮:

 while true ; do FvwmCommand "SendToModule FvwmButtonLanguage ChangeButton button0 Title $(setxkbmap -query | grep layout | cut -f2 -d: )" ; sleep 1 ; done

如果您更新您的问题以提供另一个示例,我将用一个详尽的示例更新这个答案。

相关内容