我个人的快速高效的状态栏+小部件,以防有人发现它的用途。
gBar: G TK栏
如果您没有可选的依赖项,则某些功能将不可用。
克隆 gBar
git clone https://github.com/scorpion-26/gBar
用介子配置
启用所有可选依赖项
meson setup build
构建并安装
ninja -C build && sudo ninja -C build install
对于 Arch 系统,可以在 AUR 上找到 gBar。您可以安装它,例如:使用 yay yay -S gbar-git
如果您选择 Nix/NixOS 安装,有多种方法可以实现,但它们都要求您启用 flake。
gBar.defaultPackage.x86_64-linux
添加到environment.systemPackages 或 home.packages 中。gBar.homeManagerModules.x86_64-linux.default
添加到 home-manager imorts 部分来完成的。这会将选项programs.gBar公开给home-manager,如下使用它。 # Inputs section
inputs . gBar . url = "github:scorpion-26/gBar" ;
...
# Inside home config
home-manager . users . user = {
...
imports = [ inputs . gBar . homeManagerModules . x86_64-linux . default ] ;
...
programs . gBar = {
enable = true ;
config = {
Location = "L" ;
EnableSNI = true ;
SNIIconSize = {
Discord = 26 ;
OBS = 23 ;
} ;
WorkspaceSymbols = [ " " " " ] ;
} ;
} ;
} ;
打开显示器“DP-1”上的栏
gBar bar DP-1
在监视器 0 上打开栏(指定监视器的传统方法)
gBar bar 0
打开音频飞入(在当前监视器或指定监视器上)
gBar audio [monitor]
打开麦克风flyin,这个相当于音频flyin
gBar mic [monitor]
打开蓝牙小部件
gBar bluetooth [monitor]
带默认 css 的栏
具有默认 CSS 的音频小部件
具有默认 CSS 的蓝牙小部件
酒吧:
UseHyprlandIPC
为 false 时,适用于所有实现 ext_workspace 的合成器,尽管工作区控制依赖于 Hyprland)蓝牙:
音频飞入:
将示例配置(在 data/config 下找到)复制到 ~/.config/gBar/config 并根据您的需要进行修改。
gBar 利用插件系统来创建任何人都可以创建的自定义小部件,而无需修改源代码。插件是本机共享库,需要放置在~/.local/lib/gBar
、 /usr/lib/gBar
或/usr/local/lib/gBar
内。在 example/ 中有一个示例插件设置。要构建并运行它,请在示例目录中运行以下命令:
meson setup build -Dprefix=~/.local
对于本地用户或
meson setup build
对于所有用户
ninja -C build install
gBar gBarHelloWorld
第二个参数是共享库的名称(不带“lib”和“.so”)。
有关如何使用 gBar API 的更多示例,您可以查看内置小部件(AudioFlyin.cpp、BluetoothDevices.cpp、Bar.cpp),因为它们使用相同的 API。
最后:自己实现它很有趣,也是学习新东西的好借口!
该项目仅供我个人使用,但我希望其他人可以轻松使用它,而不会出现错误或复杂的设置。这意味着以下内容:
颜色来自 Dracula 主题:https://draculatheme.com
首先,找到 gBar 的数据所在位置。可能的地点:
echo $XDG_DATA_DIRS
列出的任何目录中找到的“gBar”目录中将数据方向内的 scss 和 css 文件复制到 ~/.config/gBar 中。例如:
mkdir ~/.config/gBar/
cp /usr/local/share/gBar/* ~/.config/gBar/
这将覆盖默认行为。如果安装了sass,可以修改scss文件,然后重新生成相应的css文件。否则直接修改css文件。
如果您有自定义 style.[s]css,请确保 margins/names/... 与style/style.[s]css
中的内容相同。
如果您已针对上游 gBar 检查了 css 并且问题仍然存在,请提出问题。
对 CSS 的主要(破坏性)更改:
.lock-button
部分来解决。删除/tmp/gBar__audio
/ /tmp/gBar__bluetooth
。当您在正确关闭之前杀死小部件时,就会发生这种情况(对于音频小部件,在几秒钟后自动关闭,对于蓝牙小部件,则在关闭按钮后自动关闭)。不过,在终端中使用 Ctrl-C (SIGINT) 就可以了。
请参阅您的系统的配置
请从 https://www.nerdfonts.com 安装 Nerd 字体(我使用 Caskaydia Cove NF),并相应地更改 style.css/style.scss (请参阅“我想自定义颜色”)。您将需要 2.3.0 或更高版本的 Nerd 字体(有关更多详细信息,请参阅此评论)
某些应用程序有时不会主动查询托盘应用程序。解决此问题的方法是在托盘应用程序之前启动 gBar 如果它仍然不显示,请向您的应用程序提出问题。托盘图标已确认可与 Discord、Telegram、OBS、Steam 和 KeePassXC 配合使用
这是半故意的并且是一个已知的错误(请参阅#12(评论)了解解释)。您可以通过在 style.css/style.scss 中设置 .popup 的背景颜色属性使其不透明
从 bc0281c 开始,此问题现已修复!为了让事情看起来正确,你可能需要更新你的CSS(特别是选择器.popup
和menu
)