elsa in mac

macOS, 메뉴 바 대신 상태 바를 사용해 봐요. simple-bar, sketchybar 본문

Mac(OS X)/macOS 앱

macOS, 메뉴 바 대신 상태 바를 사용해 봐요. simple-bar, sketchybar

elsa in mac 2023. 12. 9. 14:10

macOS의 메뉴바는 macOS가 가지는 Identity 중 하나이기에,  수 년간 macOS 버전이 업데이트 되었음에도 그 모습과 기능에는 변함이 없지요. 큰 기대감이나 불편함이 없는 것이 사실이기는 하지만 그 만큼 식상하기도 합니다. macOS menu bar는 시스템의 정보를 표시하기 보다는 menu bar에서 실행되는 앱에 대한 접근성이 보다 근본적인 기능이라고 볼 수 있습니다.

이번 포스트에서는 menu bar를 대치하여 상태정보를 표시할 수 있는 두 종의 앱을 소개하고자 합니다. 엄밀히 말하면, menu bar를 대치한다기 보단, menu bar는 숨겨 놓고 그 위치에 status bar를 표시한다고 보면 됩니다.  

우선, 두 앱 모두 macOS Tiling Window Manager인 yabai를 기본적으로 사용한다는 것을 전제로 하고 있다는 점을 주목해야 합니다. yabai는 설정을 통해, 전체 screen에 대한 상/하/좌/우 padding, tiling window간의 gap을 설정할 수 있기 때문에, 상단여백을 확보할 수 있고 이 곳에 simple-bar나 sketchybar를 표시할 수 있으며, window가 이를 가리는 것을 방지할 수 있습니다.  안 써본 사람은 있어도 한번 써 본 사람은 절대 되돌아 갈 수 없다는 마성의 윈도우 메니저 이지요. ^

simple-bar  

simple-bar는 배경화면에 custom UI를 표시할 수 있는 Ubersicht의 widget 입니다. 

status bar의 왼쪽에는 현 space에서 실행 중인 application들에 대한 정보를 제공하며, 왼쪽에는 webbrowser, apple music/spotify 정보, 볼륨 정보 및 제어, 날짜, 날씨, 시계 등의 정보를 표시합니다. 

Uberschit의 위젯들은 기본적으로 바탕화면에 표시되는 UI 이기 때문에, simple-bar의 설정 UI 또한 배경화면에 표시합니다. 따라서, 설정을 하려면 아래와 같이 화면을 가리는 앱들을 모두 숨기고, 배경화면만 있는 상태애서 설정창을 호출해야 합니다. 호출하는 방법은 simple-bar를 한 번 클릭한 후, cmd+,(콤마)단축키를 누르면 됩니다(일반적인 termnial들의 설정파일 호출과 동일).  

Uberschit를 설치한 후, simple-bar 위젯을 다운로드 받고, Uberschit의 widget folder에 넣어 주기만 하면 곧바로 사용할 수 있습니다. simple-bar를 다운로드 받는 방법은 simple-bar github에 접속한 후, 아래와 같이 code를 zip으로 다운로드 받습니다.

압축해제 후 폴더명을 simplebar로 변경하고, Uberschit의 Widgets Folder를 연 다음, simplebar 폴더를 Widgets Folder에 복사하면 됩니다. Uberschit의 widgets folder는 아래 스샷처럼 menu bar에서 Uberschit 아이콘을 클릭한 후, Open Widgets Folder를 선택하면, Finder가 열리게 됩니다.  반대로, 설치를 제거하고 싶다면 그냥 해당 폴더에서 simple-bar 폴더를 제거하면 됩니다.  

 

simple-bar는 javascript로 구현된 위젯으로, settings를 통해 다양한 theme를 제공하고 widget들의 표시여부, 각 widget들에 대한 세부 설정을 할 수 있어 사용자 편의성이 높은 장점이 있습니다 만, 이는 바꿔 말하면 사용자가 새로운 widget를 추가하거나 기능을 변경하는 데에는 한계가 있다는 단점이 되기도 합니다. 

yabai + ubersicht - simplebar


sketchybar

sketchybar는 shell scripts를 기본으로 상태바를 구현할 수 있는 github open source CLI(Command Line Interface) 앱 입니다. 

sketchybar는 objective-C로 구현한 앱이기 때문에, CLI 이지만 UI를 제공하며,  sketchtbar UI 에 label, icon등의 item을 추가하여 정보를 표시하는 컨셉을 갖고 있습니다. 

simplebar와 마찬가지로, 오른쪽에는 주로 실행된 앱들의 정보를 표시하고, 왼쪽에는 CPU, 네트워크, 볼륨, 노티피케이션, 날짜, 시간 등등을 표시합니다. sketchybar는 simple-bar와는 조금 다르게, 사용자가 얼마든지 item들을 커스텀할 수 있는 자유도가 높기 때문에 정해진 틀이 없다고 볼 수 있습니다. shellscript를 이용하기 때문에 macOS에서 사용할 수 있는 각종 CLI도구들을 활용하여, 보다 다양한 정보들을 표시할 수 있습니다. 아래의 구성은 제작자이신 FelixKratz님의 설정을 가져와서 적용한 것 입니다. 

sketchybar는 설정을 위한 UI등이 제공되지 않고.. ~/.config/skeychybar 폴더에 설정파일들을 두고 사용자가 source level 에서 커스텀을 해야 하기 때문에 termnial 사용 경험이 없거나 macOS shellscript 에 대한 지식이 없는 사용자라면 실치부터 커스텀까지 어려운 단점이 있습니다. (물론, 배우기에 어려운 것은 아니지만...)  

sketchybar 구성 예
yabai + sketchybar

 설치는 homebrew를 이용합니다.

brew install sketchybar

brew services를 이용하여 실행하며, 이 후 부터는 login시 자동으로 sketchybar가 실행되게 됩니다.  사용을 중지하고 싶다면 termnial에서 brew services stop sketchbar를 명령하면 됩니다. 

brew services start sketchybar

개인적으로는 '아직은" focus 앱에 대한 반응이나, space 변경기능 제공이 뛰어난 simple-bar를 애용합니다. ^ 

yabai 기반에 simple-bar를 이용하던, sketchybar를 사용하뎐 지향점은 macOS 환경을 탈피하여 보다 Linux like한 환경을 구축한다는 것에 있습니다.  과거 Linux UI/UX 환경은 Windows나 macOS의 그것에 비해 뒤쳐져 있었지만.. 최근의 상황은 그렇치 않습니다.

Arch Linux + Hyperland의 조합을 보고 입이 떡 벌어진 적이 있었지요..

macOS에서도 이런 UI/UX를 기대해 볼 수 있을까요 ? 

우리 전 세계의 유능한 덕후님들이 있으니. 꼭 그 날이 오리라 믿어 봅니다. ㅠㅠ

공유하기 링크
Comments