首页
/ 【亲测免费】 推荐开源神器:xbanish - 智能隐藏鼠标,专注你的键盘工作流

【亲测免费】 推荐开源神器:xbanish - 智能隐藏鼠标,专注你的键盘工作流

2026-01-15 16:43:44作者:盛欣凯Ernestine

1、项目介绍

xbanish 是一个轻量级的X11工具,它的主要功能是在用户开始输入时自动隐藏鼠标指针,并在检测到鼠标移动或按键后立即显示回来。这个项目借鉴了xtermpointerMode 设置,但不同的是,xbanish 可以全局地在你的整个X11会话中运行,让你的工作环境更加整洁,提升工作效率。

如果你曾被类似 unclutter 工具的缺陷困扰,那么 xbanish 将是你理想的解决方案。由于 unclutter 在某些场景下的不稳定表现,开发者选择了重新编写代码,从而诞生了 xbanish。其名称灵感来源于 ratpoison 中将鼠标移至屏幕一角的 "banish" 命令。

2、项目技术分析

xbanish 使用了 X11 扩展 XInput 来监听所有连接的键盘和鼠标输入。如果支持 XInput 2.2,则可以获取原始鼠标运动和按钮按下事件,这对于在某些应用(如Chromium)中检测鼠标动作特别有帮助。

如果XInput不可用,项目会遍历窗口列表从根窗口开始,对每个窗口调用 XSelectInput(),接收鼠标移动、按钮点击和键盘输入的通知。当检测到键盘输入时隐藏鼠标,而鼠标活动则会显示鼠标。

最初的实现是通过 XGrabPointer() 和空白光标图像来隐藏鼠标,但这与某些X应用程序存在兼容性问题。为了解决这些问题并简化实现,现在的 xbanish 利用了 Xfixes 扩展,通过 XFixesHideCursor()XFixesShowCursor() 完美地隐藏和显示鼠标,避免了之前的问题。

3、项目及技术应用场景

  • 对于程序员和开发者,当他们全神贯注于终端、文本编辑器或者IDE时,xbanish可以帮助消除视觉干扰,保持专注。
  • 设计师在进行界面设计和布局调整时,可以避免因意外触碰鼠标导致的误操作。
  • 演示文稿展示过程中,隐藏鼠标可以避免观众的注意力被分散。
  • 在远程桌面环境中,xbanish有助于提供更流畅的交互体验。

4、项目特点

  • 全局有效:xbanish 不局限于特定的应用程序,它可以跨程序全局隐藏鼠标。
  • 智能响应:只在检测到键盘输入时隐藏鼠标,鼠标活动即刻恢复显示。
  • 兼容性强:使用现代X11扩展来确保与各种应用程序的良好兼容性。
  • 简洁高效:不依赖复杂的抓取机制,而是利用Xfixes轻松管理鼠标显示状态。

总之,xbanish 是一款简单却极其实用的工具,它将帮你打造更为沉浸式的工作环境。如果你正寻找一种方法来优化你的键盘输入流程,减少鼠标带来的打扰,那么不妨尝试一下这个出色的开源项目吧!

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
docsdocs
暂无描述
Dockerfile
703
4.51 K
pytorchpytorch
Ascend Extension for PyTorch
Python
567
693
atomcodeatomcode
Claude 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 Started
Rust
552
98
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
957
955
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
411
338
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.6 K
940
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
1.08 K
566
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
128
210
flutter_flutterflutter_flutter
暂无简介
Dart
948
235
Oohos_react_native
React Native鸿蒙化仓库
C++
340
387