i3blocks 开源项目教程
2026-01-18 09:31:39作者:裴麒琰
项目介绍
i3blocks 是一个为文本型状态栏生成内容的工具,适用于 Sway 和 i3 窗口管理器。它通过执行用户定义的命令行并从输出中生成状态行,支持定时调度、信号接收和点击事件。i3blocks 是 i3status 的替代品,可以直接与 i3bar 组件配合使用,也可以在 Wayland 合成器 Sway 中作为 i3 的替代品。
项目快速启动
安装 i3blocks
i3blocks 已经打包在多个 Linux 发行版中,可以直接通过包管理器安装:
- Archlinux:
i3blocks在社区仓库,i3blocks-git在 AUR - Gentoo:
x11-misc/i3blocks - Debian:
i3blocks - Ubuntu:
i3blocks - Fedora (COPR):
i3blocks - Void Linux:
i3blocks
或者从源码安装:
git clone https://github.com/vivien/i3blocks.git
cd i3blocks
./autogen.sh
./configure
make
sudo make install
配置 i3blocks
在你的 i3 配置文件中定义 i3blocks 作为状态行命令:
bar {
status_command i3blocks
}
i3blocks 默认查找配置文件的路径如下:
$XDG_CONFIG_HOME/i3blocks/config或~/.config/i3blocks/config~/i3blocks.conf$XDG_CONFIG_DIRS/i3blocks/config或/etc/xdg/i3blocks/config/etc/i3blocks.conf
你可以使用 -c 选项指定其他路径。
示例配置
以下是一个简单的 i3blocks 配置示例:
# 每小时猜测天气
[weather]
command=curl -Ss 'https://wttr.in?0&T&Q' | cut -c 16- | head -2 | xargs echo
interval=3600
# 只在启动时查询默认 IP 地址
[ip]
command=hostname -I | awk '{print "IP:" $1}'
interval=once
# 每 5 秒更新时间
[time]
command=date +%T
interval=5
应用案例和最佳实践
天气更新
使用 curl 和 wttr.in 服务获取天气信息,并每小时更新一次:
[weather]
command=curl -Ss 'https://wttr.in?0&T&Q' | cut -c 16- | head -2 | xargs echo
interval=3600
IP 地址显示
在启动时获取并显示本地 IP 地址:
[ip]
command=hostname -I | awk '{print "IP:" $1}'
interval=once
时间显示
每 5 秒更新一次当前时间:
[time]
command=date +%T
interval=5
典型生态项目
i3blocks 可以与以下项目配合使用,以增强状态栏的功能:
- i3status: i3blocks 是 i3status 的替代品,提供更灵活的配置和功能。
- Sway: 作为 Wayland 合成器,Sway 可以直接使用 i3blocks 作为状态栏命令。
- i3blocks-contrib: 官方收集的 i3blocks 脚本集合,提供各种实用脚本:
git clone https://github.com/vivien/i3blocks-contrib ~/.config/i3blocks
通过这些项目和脚本,你可以定制一个功能丰富且个性化的状态栏。
登录后查看全文
热门项目推荐
相关项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0212
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0137
JoyAI-EchoJoyAI-Echo,这是一个独立的、仅用于推理的版本,旨在实现分钟级多镜头音视频生成。它采用了经过蒸馏的DMD生成器、配对的跨模态记忆以及故事级别的一致性。其性能的核心在于,一个跨模态视听记忆库能够在长达五分钟的视频中保持角色外观和语音音色的一致性。同时,一个训练后处理流程将基于记忆的强化学习与分布匹配蒸馏相结合,实现了7.5倍的速度提升,显著增强了视觉质量和对齐效果。00
GLM-5.2智谱开源 GLM-5.2,这是针对长文本任务的最新旗舰模型。相较于前代产品 GLM-5.1,它在长文本任务处理能力上实现了显著飞跃,并且首次在稳定的 100 万 token 上下文中提供这一能力。Jinja00
SwanLab⚡️SwanLab - an open-source, modern-design AI training tracking and visualization tool. Supports Cloud / Self-hosted use. Integrated with PyTorch / Transformers / LLaMA Factory / veRL/ Swift / Ultralytics / MMEngine / Keras etc.Python00
tiny-universe《大模型白盒子构建指南》:一个全手搓的Tiny-UniverseJupyter Notebook03
热门内容推荐
最新内容推荐
项目优选
收起
deepin linux kernel
C
32
16
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
468
461
暂无描述
Dockerfile
775
5.07 K
Ascend Extension for PyTorch
Python
756
960
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
872
2.01 K
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
696
1.4 K
昇腾LLM分布式训练框架
Python
183
230
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.1 K
1.14 K
本仓库是 Flutter SDK 与 Flutter Engine 的 OpenHarmony 适配版本,由 CPF-Flutter 团队维护。开发者可使用熟悉的 Flutter 技术栈开发 OpenHarmony 应用,3.35.7 及以后的适配版本可基于本仓库源码构建支持 OpenHarmony 的 Flutter Engine。
Dart
1.03 K
271
Oohos_react_native
React Native鸿蒙化仓库
C++
361
430