yabai 是一个窗口管理实用程序,旨在作为 macOS 内置窗口管理器的扩展工作。yabai 允许您使用直观的命令行界面自由控制窗口、空间和显示,并可选择使用设置用户定义的键盘快捷键↗ skhd和其他第三方软件。
yabai的主要功能是平铺窗口管理;使用二进制空间分区算法自动修改窗口布局,让您专注于窗口的内容而不会分心。yabai 的其他功能包括焦点跟随鼠标、禁用切换空间的动画、创建超过 16 个空间限制的空间等等。
github主页: https://github.com/koekeishiya/yabai
安装安装方法,官方 的wiki中写的非常的清楚。建议直接看官方的wiki: https://github.com/koekeishiya/yabai/wiki
以下是我安装时候随手记的笔记,没有专门进行整理,仅供参考。 https://blog.csdn.net/lxyoucan/article/details/121202575
配置 yabai配置为了让其他人使用我电脑,能够适应。所以默认我是不使用bsp layout的。只有我自己用电脑的时候我才会加载这个配置。 这些配置是我专门提出来的,当我自己用电脑的时候,会手动加载这些配置。(我是按CapsLk + 0
加载)
路径~/.config/yabai/yabairc
#!/usr/bin/env bash
set -x
# ====== Variables =============================
declare -A gaps
declare -A color
gaps["top"]="4"
gaps["bottom"]="24"
gaps["left"]="4"
gaps["right"]="4"
gaps["inner"]="4"
color["focused"]="0xffd75f5f"
color["normal"]="0x00010101"
color["preselect"]="0xE02d74da"
# Uncomment to refresh ubersicht widget on workspace change
# Make sure to replace WIDGET NAME for the name of the ubersicht widget
#ubersicht_spaces_refresh_command="osascript -e 'tell application id \"tracesOf.Uebersicht\" to refresh widget id \"WIDGET NAME\"'"
# ===== Loading Scripting Additions ============
# See: https://github.com/koekeishiya/yabai/wiki/Installing-yabai-(latest-release)#macos-big-sur---automatically-load-scripting-addition-on-startup
sudo yabai --load-sa
yabai -m signal --add event=dock_did_restart action="sudo yabai --load-sa"
# ===== Tiling setting =========================
# bsp / float 为了方便其他人用电脑默认是float,我自己用时会切换到bsp
yabai -m config layout float
yabai -m config top_padding "${gaps["top"]}"
yabai -m config bottom_padding "${gaps["bottom"]}"
yabai -m config left_padding "${gaps["left"]}"
yabai -m config right_padding "${gaps["right"]}"
yabai -m config window_gap "${gaps["inner"]}"
# 状态栏间距
yabai -m config external_bar all:28:0
yabai -m config mouse_follows_focus off
yabai -m config focus_follows_mouse off
yabai -m config window_topmost off
yabai -m config window_opacity on
yabai -m config window_shadow float
#窗口边距设置
yabai -m config window_border off
yabai -m config window_border_width 3
#yabai -m config active_window_border_color "${color["focused"]}"
yabai -m config active_window_border_color '0xffd75f5f'
#yabai -m config normal_window_border_color "${color["normal"]}"
yabai -m config insert_feedback_color "${color["preselect"]}"
yabai -m config active_window_opacity 1.0
yabai -m config normal_window_opacity 0.90
yabai -m config split_ratio 0.50
yabai -m config auto_balance off
yabai -m config mouse_modifier fn
yabai -m config mouse_action1 move
yabai -m config mouse_action2 resize
# ===== Rules ==================================
#系统偏好设置 浮动
yabai -m rule --add app="^系统偏好设置$" manage=off
#yabai -m rule --add app="^QQ$" manage=off
#yabai -m rule --add app="^Simulator$" manage=off
yabai -m rule --add app="^提醒事项$" manage=off
yabai -m rule --add app="^关于本机$" manage=off
# ===== Signals ================================
yabai -m signal --add event=application_front_switched action="${ubersicht_spaces_refresh_command}"
yabai -m signal --add event=display_changed action="${ubersicht_spaces_refresh_command}"
yabai -m signal --add event=space_changed action="${ubersicht_spaces_refresh_command}"
yabai -m signal --add event=window_created action="${ubersicht_spaces_refresh_command}"
yabai -m signal --add event=window_destroyed action="${ubersicht_spaces_refresh_command}"
yabai -m signal --add event=window_focused action="${ubersicht_spaces_refresh_command}"
yabai -m signal --add event=window_title_changed action="${ubersicht_spaces_refresh_command}"
set +x
printf "yabai: configuration loaded...\\n"
路径~/.config/yabai/itkeyrc
这些配置是我专门提出来的,当我自己用电脑的时候,会手动加载这些配置。(我是按CapsLk + 0
加载)
#!/usr/bin/env bash
#因为我的电脑偶尔会有其他人临时用一下,直接使用bsp布局可能会导致别人不会用
#所以我还是手动开始布局管理功能吧
# bsp/float 为了方便其他人用电脑默认是float,我自己用时会切换到bsp
yabai -m config layout bsp
# on|off 显示|不显示边框
yabai -m config window_border on
# 边框的宽度
yabai -m config window_border_width 6
#激活的边框颜色
yabai -m config active_window_border_color 0xff775759
#普通的边框颜色
yabai -m config normal_window_border_color 0xff555555
# 状态栏间距
#yabai -m config external_bar all:26:0
yabai -m config external_bar all:0:0
skhdrc快捷键配置
路径~/.skhdrc
# Works without yabai:
# 打开iTerm
shift + ctrl + alt + cmd - return : "${HOME}"/.config/yabai/scripts/open_iterm2.sh
# 打开Chrome浏览器
shift + ctrl + alt + cmd - b : open -na /Applications/Google\ Chrome.app
#加载专属配置
shift + ctrl + alt + cmd - 0 : \
/usr/bin/env osascript \" with title
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?