mirror of
https://github.com/obsqrbtz/clrsync.git
synced 2026-04-08 20:19:04 +03:00
docs: update readme
This commit is contained in:
158
README.md
158
README.md
@@ -1,6 +1,9 @@
|
|||||||
# clrsync
|
# clrsync
|
||||||
|
|
||||||
A theme management tool for synchronizing color schemes across multiple applications. clrsync allows you to define color palettes once and apply them consistently to all your terminal emulators, editors, and other configurable applications.
|
**Notice:** This application is not yet released and is subject to change.
|
||||||
|
Deb, RPM, and AUR packages, as well as a Windows installer, will be available soon.
|
||||||
|
|
||||||
|
A theme management tool for synchronizing color schemes across multiple applications. clrsync allows to define color palettes once and apply them consistently to all configurable applications.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
@@ -17,10 +20,13 @@ A theme management tool for synchronizing color schemes across multiple applicat
|
|||||||
### Prerequisites
|
### Prerequisites
|
||||||
|
|
||||||
- C++20 compatible compiler (GCC, Clang, or MSVC)
|
- C++20 compatible compiler (GCC, Clang, or MSVC)
|
||||||
- CMake or Meson
|
- CMake
|
||||||
- OpenGL
|
- OpenGL
|
||||||
|
- glfw
|
||||||
|
- fontconfig
|
||||||
|
- freetype
|
||||||
|
|
||||||
### Using CMake
|
### With CMake
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
mkdir build && cd build
|
mkdir build && cd build
|
||||||
@@ -28,29 +34,21 @@ cmake ..
|
|||||||
cmake --build .
|
cmake --build .
|
||||||
```
|
```
|
||||||
|
|
||||||
### Using Meson
|
|
||||||
|
|
||||||
```bash
|
|
||||||
meson setup builddir
|
|
||||||
meson compile -C builddir
|
|
||||||
```
|
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
After building, you'll have:
|
```bash
|
||||||
|
cd build
|
||||||
- `clrsync_cli` - CLI
|
cmake --install .
|
||||||
- `clrsync_gui` - GUI
|
```
|
||||||
- `libclrsync_core` - Shared lib
|
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
Create a configuration file at `~/.config/clrsync/config.toml`:
|
Edit or create a configuration file at `~/.config/clrsync/config.toml`:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
[general]
|
[general]
|
||||||
palettes_path = "~/.config/clrsync/palettes"
|
palettes_path = "~/.config/clrsync/palettes"
|
||||||
default_theme = "dark"
|
default_theme = "cursed"
|
||||||
|
|
||||||
[templates.kitty]
|
[templates.kitty]
|
||||||
input_path = "~/.config/clrsync/templates/kitty.conf"
|
input_path = "~/.config/clrsync/templates/kitty.conf"
|
||||||
@@ -66,73 +64,95 @@ Create palette files in your `palettes_path` directory:
|
|||||||
```toml
|
```toml
|
||||||
# ~/.config/clrsync/palettes/dark.toml
|
# ~/.config/clrsync/palettes/dark.toml
|
||||||
[general]
|
[general]
|
||||||
name = "dark"
|
name = 'cursed'
|
||||||
|
|
||||||
[colors]
|
[colors]
|
||||||
background = "#111318FF"
|
accent = '#B44242FF'
|
||||||
surface = "#1E1F25FF"
|
background = '#151515FF'
|
||||||
surface_variant = "#282A2FFF"
|
base00 = '#151515FF'
|
||||||
|
base01 = '#B44242FF'
|
||||||
foreground = "#E2E2E9FF"
|
base02 = '#95A328FF'
|
||||||
foreground_secondary = "#A8ABB3FF"
|
base03 = '#E1C135FF'
|
||||||
|
base04 = '#60928FFF'
|
||||||
accent = "#00AA56FF"
|
base05 = '#7C435AFF'
|
||||||
outline = "#44474FFF"
|
base06 = '#A48B4AFF'
|
||||||
shadow = "#00000080"
|
base07 = '#C2C2B0FF'
|
||||||
cursor = "#FFFFFFFF"
|
base08 = '#3F3639FF'
|
||||||
|
base09 = '#DC7671FF'
|
||||||
error = "#FF5F5FFF"
|
base0A = '#E8E85AFF'
|
||||||
warning = "#FFC966FF"
|
base0B = '#9E9052FF'
|
||||||
success = "#6AD68BFF"
|
base0C = '#76C39BFF'
|
||||||
info = "#5DB2FFFF"
|
base0D = '#86596CFF'
|
||||||
|
base0E = '#CEB34FFF'
|
||||||
term_black = "#111318FF"
|
base0F = '#B0AFA8FF'
|
||||||
term_red = "#FF5F5FFF"
|
border = '#3F3639FF'
|
||||||
term_green = "#00AA56FF"
|
border_focused = '#E1C135FF'
|
||||||
term_yellow = "#FFC966FF"
|
cursor = '#E1C135FF'
|
||||||
term_blue = "#5DB2FFFF"
|
editor_background = '#151515FF'
|
||||||
term_magenta = "#DEBCDFFF"
|
editor_command = '#CEB34FFF'
|
||||||
term_cyan = "#86C9FFFF"
|
editor_comment = '#3F3639FF'
|
||||||
term_white = "#E2E2E9FF"
|
editor_disabled = '#3F3639FF'
|
||||||
|
editor_emphasis = '#DC7671FF'
|
||||||
term_black_bright = "#33353AFF"
|
editor_error = '#B44242FF'
|
||||||
term_red_bright = "#FFB780FF"
|
editor_inactive = '#3F3639FF'
|
||||||
term_green_bright = "#00CC6AFF"
|
editor_line_number = '#86596CFF'
|
||||||
term_yellow_bright = "#FFD580FF"
|
editor_link = '#60928FFF'
|
||||||
term_blue_bright = "#86C9FFFF"
|
editor_main = '#C2C2B0FF'
|
||||||
term_magenta_bright = "#F0D6F0FF"
|
editor_selected = '#3F3639FF'
|
||||||
term_cyan_bright = "#BFEFFFFF"
|
editor_selection_inactive = '#2A2A2AFF'
|
||||||
term_white_bright = "#FFFFFFFF"
|
editor_string = '#76C39BFF'
|
||||||
|
editor_success = '#95A328FF'
|
||||||
|
editor_warning = '#E1C135FF'
|
||||||
|
error = '#B44242FF'
|
||||||
|
foreground = '#C2C2B0FF'
|
||||||
|
info = '#60928FFF'
|
||||||
|
on_background = '#C2C2B0FF'
|
||||||
|
on_error = '#151515FF'
|
||||||
|
on_info = '#151515FF'
|
||||||
|
on_success = '#151515FF'
|
||||||
|
on_surface = '#C2C2B0FF'
|
||||||
|
on_surface_varuant = '#C2C2B0FF'
|
||||||
|
on_warning = '#151515FF'
|
||||||
|
success = '#95A328FF'
|
||||||
|
surface = '#1C1C1CFF'
|
||||||
|
surface_variant = '#1C1C1CFF'
|
||||||
|
warning = '#E1C135FF'
|
||||||
```
|
```
|
||||||
|
|
||||||
### Template Files
|
### Template Files
|
||||||
|
|
||||||
Create template files using color variables with flexible format specifiers:
|
Create template files at `~/.config/clrsync/templates` using color variables:
|
||||||
|
|
||||||
```conf
|
```conf
|
||||||
# ~/.config/clrsync/templates/kitty.conf
|
# ~/.config/clrsync/templates/kitty.conf
|
||||||
cursor {foreground}
|
cursor {cursor}
|
||||||
cursor_text_color {background}
|
cursor_text_color {background}
|
||||||
|
|
||||||
foreground {foreground}
|
foreground {foreground}
|
||||||
background {background}
|
background {background}
|
||||||
selection_foreground {foreground_secondary}
|
selection_foreground {on_surface}
|
||||||
selection_background {surface}
|
selection_background {surface}
|
||||||
url_color {accent}
|
url_color {accent}
|
||||||
|
color0 {base00}
|
||||||
color0 {background}
|
color8 {base08}
|
||||||
color1 {term_red}
|
color1 {base01}
|
||||||
color2 {term_green}
|
color9 {base09}
|
||||||
color3 {term_yellow}
|
color2 {base02}
|
||||||
color4 {term_blue}
|
color10 {base0A}
|
||||||
color5 {term_magenta}
|
color3 {base03}
|
||||||
color6 {term_cyan}
|
color11 {base0B}
|
||||||
color7 {term_white}
|
color4 {base04}
|
||||||
|
color12 {base0C}
|
||||||
|
color5 {base05}
|
||||||
|
color13 {base0D}
|
||||||
|
color6 {base06}
|
||||||
|
color14 {base0E}
|
||||||
|
color7 {base07}
|
||||||
|
color15 {base0F}
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Color Format Specifiers
|
#### Color Format Specifiers
|
||||||
|
|
||||||
Access color components using dot notation:
|
Format colors using dot notation:
|
||||||
|
|
||||||
```conf
|
```conf
|
||||||
# HEX formats
|
# HEX formats
|
||||||
@@ -182,7 +202,7 @@ clrsync_cli --apply
|
|||||||
Apply a specific theme:
|
Apply a specific theme:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
clrsync_cli --apply --theme rose-pine
|
clrsync_cli --apply --theme cursed
|
||||||
```
|
```
|
||||||
|
|
||||||
Apply a theme from a file path:
|
Apply a theme from a file path:
|
||||||
@@ -226,3 +246,7 @@ This project uses the following open-source libraries:
|
|||||||
- **[toml++](https://github.com/marzer/tomlplusplus)** - Header-only TOML config file parser and serializer for C++17
|
- **[toml++](https://github.com/marzer/tomlplusplus)** - Header-only TOML config file parser and serializer for C++17
|
||||||
- **[argparse](https://github.com/p-ranav/argparse)** - Argument Parser for Modern C++
|
- **[argparse](https://github.com/p-ranav/argparse)** - Argument Parser for Modern C++
|
||||||
- **[ImGuiColorTextEdit](https://github.com/BalazsJako/ImGuiColorTextEdit)** - Syntax highlighting text editor for ImGui
|
- **[ImGuiColorTextEdit](https://github.com/BalazsJako/ImGuiColorTextEdit)** - Syntax highlighting text editor for ImGui
|
||||||
|
|
||||||
|
And colorschemes:
|
||||||
|
|
||||||
|
- **cursed** by **[pyratebeard](https://pyratebeard.net)**
|
||||||
|
|||||||
@@ -7,34 +7,26 @@ selection_foreground {on_surface}
|
|||||||
selection_background {surface}
|
selection_background {surface}
|
||||||
url_color {accent}
|
url_color {accent}
|
||||||
|
|
||||||
# Base colors (dark variants)
|
|
||||||
color0 {base00}
|
color0 {base00}
|
||||||
color8 {base08}
|
color8 {base08}
|
||||||
|
|
||||||
# Red
|
|
||||||
color1 {base01}
|
color1 {base01}
|
||||||
color9 {base09}
|
color9 {base09}
|
||||||
|
|
||||||
# Green
|
|
||||||
color2 {base02}
|
color2 {base02}
|
||||||
color10 {base0A}
|
color10 {base0A}
|
||||||
|
|
||||||
# Yellow
|
|
||||||
color3 {base03}
|
color3 {base03}
|
||||||
color11 {base0B}
|
color11 {base0B}
|
||||||
|
|
||||||
# Blue
|
|
||||||
color4 {base04}
|
color4 {base04}
|
||||||
color12 {base0C}
|
color12 {base0C}
|
||||||
|
|
||||||
# Magenta
|
|
||||||
color5 {base05}
|
color5 {base05}
|
||||||
color13 {base0D}
|
color13 {base0D}
|
||||||
|
|
||||||
# Cyan
|
|
||||||
color6 {base06}
|
color6 {base06}
|
||||||
color14 {base0E}
|
color14 {base0E}
|
||||||
|
|
||||||
# White
|
|
||||||
color7 {base07}
|
color7 {base07}
|
||||||
color15 {base0F}
|
color15 {base0F}
|
||||||
Reference in New Issue
Block a user