如何在任务栏上创建按钮以及执行特定任务的时间和内容?我希望能够在键盘快捷键的帮助下禁用和启用我的键盘,但我意识到一旦我用快捷键禁用了我的键盘,我将无法再次使用键盘启用它。因此,我希望任务栏上有一个按钮,只需单击一个按钮即可为我执行此操作,因此不需要我的键盘。
谢谢。
UnK*_*OWn 18
这可以通过创建 gnome-shell-extension 来实现。
在 gnome-shell --version 3.38.1 中测试
一一运行以下命令以创建所需的文件。
mkdir -p $HOME/.local/share/gnome-shell/extensions/KBD
touch $HOME/.local/share/gnome-shell/extensions/KBD/extension.js
touch $HOME/.local/share/gnome-shell/extensions/KBD/metadata.json
Run Code Online (Sandbox Code Playgroud)
extension.js文件内容,复制粘贴到上面创建的extension.js文件中。请注意第 11 行,Util.spawnCommandLine("bash /home/admin/mykbd.sh")替换/home/admin/mykbd.sh为切换您正在查找的内容的脚本路径。
'use strict';
const St = imports.gi.St;
const Main = imports.ui.main;
const Util = imports.misc.util;
let button;
function _myKBD () {
Util.spawnCommandLine("bash /home/admin/mykbd.sh")
}
function init() {
button = new St.Bin({ style_class: 'panel-button',
reactive: true,
can_focus: true,
track_hover: true });
let icon = new St.Icon ({ icon_name: 'input-keyboard-symbolic',
style_class: 'system-status-icon' });
button.set_child(icon);
button.connect('button-press-event', _myKBD);
}
function enable() {
Main.panel._rightBox.insert_child_at_index(button, 0);
}
function disable() {
Main.panel._rightBox.remove_child(button);
}
Run Code Online (Sandbox Code Playgroud)
metadata.json文件内容,复制粘贴到上面创建的metadata.json文件中。
{
"name": "KBD",
"description": "KBD",
"uuid": "KBD",
"shell-version": [
"3.36"
]
}
Run Code Online (Sandbox Code Playgroud)
完成两个文件中的复制粘贴后。使用 Alt+F2 r Enter 方法或注销并登录刷新 gnome-shell。
然后要启用扩展,请运行以下命令。
gnome-extensions enable KBD
Run Code Online (Sandbox Code Playgroud)
再次使用 Alt+F2 r Enter 方法或注销并登录刷新 gnome-shell。
现在您将在右上角看到键盘按钮。当您单击它时,它会运行您准备的脚本。
请注意,屏幕锁定时禁用扩展,解锁后启用。因此,您将无法在锁定屏幕上单击此按钮。
van*_*ium 13
UnKNOWn在这个答案中提供了一个非常优雅的解决方案,但它是相当技术性的。为了完整起见,我想使用桌面启动器添加一个更直接的方法,但在这种特殊情况下,我会选择 UnKNOWn 的方法。
您可以随时创建一个自定义桌面启动器来运行您的命令或脚本。放置在适当的位置,它将出现在应用程序概述中,您可以从那里将其固定到破折号。在 Ubuntu 中,您也可以将它放在桌面上以从那里启动它。
桌面启动器是带有.desktop扩展名的文本文件,以特定方式格式化。如果您将它放在文件夹中.local/share/applications,它将在应用程序概述中被选中。
因此,您可以创建文件~/.local/share/applications/toggle-keyboard.desktop来启动您的脚本。内容应如下所示:
[Desktop Entry]
Name=Toggle Keyboard
Comment=Toggle keyboard on or off
Exec=<name or path to your script>
Terminal=false
Type=Application
Icon=<name or path to the icon >
Categories=Utility;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2298 次 |
| 最近记录: |