프로젝트 소개
Zebar는 작업 표시줄, 데스크톱 위젯, 팝업을 만들기 위한 크로스 플랫폼 데스크톱 사용자 정의 도구입니다. Windows, macOS, Linux에서 실행되며, 다운로드는 프로젝트의 최신 릴리스에 게시되어 있고, 로컬 빌드는 기여 가이드에 문서화되어 있습니다.
위젯은 네이티브 웹뷰에서 렌더링되며, Electron과 유사하지만 더 가볍다고 설명됩니다. 애플리케이션은 시스템 트레이 아이콘에서 제어되며, GUI를 열어 위젯 팩 마켓플레이스를 탐색하고 설치하며, 시작 시 실행할 팩을 구성할 수 있습니다.
위젯 팩은 ~/.glzr/zebar 디렉터리에 있습니다. 각 팩은 팩과 개별 위젯을 정의하는 zpack.json 파일을 포함하는 디렉터리입니다. Zebar는 한 단계 깊이만 스캔하므로 중첩된 팩 디렉터리는 감지되지 않습니다. zpack.json에 대한 JSON 스키마가 저장소에 제공되며, 동일한 옵션을 GUI를 통해 구성할 수 있습니다. GUI는 이름과 설명으로 새 팩을 스캐폴딩하고, 템플릿에서 팩에 위젯을 추가할 수 있습니다. 대부분의 템플릿은 Node.js와 패키지 관리자(npm 또는 pnpm) 및 소스 변경 후 빌드 단계가 필요하지만, React 빌드리스 템플릿은 그 요구 사항을 피할 수 있습니다. 위젯은 HTML 파일과 CSS, JS, 이미지 같은 자산으로 구성됩니다. 마켓플레이스 위젯은 다운로드 디렉터리에서 사용자의 Zebar 디렉터리로 복사하여 덮어쓰이지 않고 사용자 정의할 수 있습니다.
핵심 기능은 zebar NPM 패키지를 통해 노출되는 반응형 "프로바이더" 세트로, 프런트엔드가 시간에 따라 변하는 시스템 정보에 접근할 수 있게 합니다. 문서화된 프로바이더에는 audio, battery, cpu, date, disk, glazewm, host, ip, keyboard, komorebi, media, memory, network, systray, weather가 있습니다. 각 프로바이더는 구성 가능한 새로 고침 간격과 타입이 지정된 출력을 가지며, 예를 들어 battery는 충전 퍼센트, 상태, 사이클 수, 상태, 충전 여부, 비어 있거나 가득 찰 때까지의 시간, 전력 소비, 전압을 노출하고, audio는 재생 및 녹음 장치, 기본 장치, setVolume 함수를 노출합니다. Date는 사용자 정의 형식 토큰, 시간대, 로케일 설정을 지원합니다. 여러 프로바이더가 GlazeWM 및 komorebi 같은 창 관리자와 통합됩니다.
README에는 Windows 문제 해결 항목이 있습니다. Zebar가 시작되지 않으면 Evergreen Standalone Installer를 통해 최신 Microsoft WebView2 런타임으로 업데이트해야 할 수 있습니다. 프로젝트는 Discord 커뮤니티로 연결되며, 새로운 기여자를 위해 good first issues를 표시합니다.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.