您当前的位置: 首页 >  macos

ITKEY_

暂无认证

  • 0浏览

    0关注

    732博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

macOS平铺窗口yabai配置分享

ITKEY_ 发布时间:2021-11-21 12:38:36 ,浏览量:0

简介

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             
关注
打赏
1665243900
查看更多评论
0.0404s