{"id":13471744,"url":"https://github.com/metaory/mxcolr","last_synced_at":"2025-04-13T13:55:45.678Z","repository":{"id":44638725,"uuid":"365513203","full_name":"metaory/mxcolr","owner":"metaory","description":"ヘ Generate, Preview and Apply beautiful unified human friendly pseudo random color schemes, SYSTEM WIDE!","archived":false,"fork":false,"pushed_at":"2022-08-11T02:16:54.000Z","size":19664,"stargazers_count":25,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-13T13:55:38.779Z","etag":null,"topics":["airline-themes","bash","cli","colorscheme","colorscheme-generator","comand-line","gtk-theme","gtk2-theme","gtk3-theme","icon-theme","mxcolr","oomox","pastel","spicetify","terminal","terminal-colors","theme","themes","tmux","vimcolors"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/metaory.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-05-08T12:50:08.000Z","updated_at":"2024-12-16T01:58:02.000Z","dependencies_parsed_at":"2022-09-03T21:52:21.245Z","dependency_job_id":null,"html_url":"https://github.com/metaory/mxcolr","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metaory%2Fmxcolr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metaory%2Fmxcolr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metaory%2Fmxcolr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metaory%2Fmxcolr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/metaory","download_url":"https://codeload.github.com/metaory/mxcolr/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248724589,"owners_count":21151559,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["airline-themes","bash","cli","colorscheme","colorscheme-generator","comand-line","gtk-theme","gtk2-theme","gtk3-theme","icon-theme","mxcolr","oomox","pastel","spicetify","terminal","terminal-colors","theme","themes","tmux","vimcolors"],"created_at":"2024-07-31T16:00:48.907Z","updated_at":"2025-04-13T13:55:45.658Z","avatar_url":"https://github.com/metaory.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"# mxcolr ▲\n\n[![Join the chat at https://gitter.im/metaory/mxcolr](https://badges.gitter.im/metaory/mxcolr.svg)](https://gitter.im/metaory/mxcolr?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./assets/screenshots/2022-01-29-163127_318x127_scrot.png\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  :warning: Warning! This is experimental! :warning:\n\u003c/p\u003e\n\n## There is a simplified version 2 of this project at [mxcolr-v2](https://github.com/metaory/mxcolr-v2)\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./assets/screenshots/2022-01-29-190221_2560x1080_scrot.png\"\u003e\n\u003c/p\u003e\n\nUsage\n=====\n    mxcolr [options] \u003caction\u003e [params]\n\nOptions\n=======\n    --force                 | forcefull update\n    --verbose               | verbose logs\n    --tmp-only              | exit silently after placing temp files in /tmp/mxc\n\nUtilities\n=========\n    --gen-icon              | [char, path]; create image in path icon from the char\n    --lorem                 | [length, char]; print char randomely for the length \n    --lorem-cols            | [char]; fill terminal column with char\n    --darkest               | [colors]; return darkest color of the list\n    --lightest              | [colors]; return lightest color of the list\n\nActions\n=======\n    -g, generate \u003cstrategy\u003e | \u003cvivid, lch\u003e (Pastel randomization strategy) default is lch\n    -u, update              | apply to all plugins\n    -U, update-force        | force apply to all plugins without any prompts\n    -d, demo                | basic demo\n    -D, demo-all            | complete demo\n    -l, list                | list all saved snapshots\n    -r, random              | pick a random snapshot\n    -s, save                | save snapshot\n     *                      | intro\n\nMotivations\n===========\nWhile tools like Oomox and Spicetify are great in reallity you probably got more than GTK theme and Icons you'd want to patch\n\nTerminal colors, terminal prompt, window manager / status bar theme / icons, Vim/Atom/SourceCode editor and more \n\nSome apps might require to compile and build, all of these are just too repetitive and anoying to do for every change, then there is the never ending search for the right color scheme  \n\nWhat about\n----------\n- [Pywal](https://github.com/dylanaraps/pywal): all about Wallpaper,, great documentation and support though. \n\u003e almost all [pywal-customization](https://github.com/dylanaraps/pywal/wiki/customization) can be easilly added\n- [Oomox](https://github.com/themix-project/oomox) plugins: possible,, to mxcolr, oomox is just another plugin for gtk theme and icon\n \n#### This repo goal is to be a tool for generating and previewing palettes and serve as a framework for patching any application with few keystrokes.\n\n## Not for the faint-hearted\nOnly tested on Arch Linux, not advised for beginner users.\n\n### There is a lite version of this project at [mxcolr-lite](https://github.com/metaory/mxcolr-lite)\n \nOutputs\n=======\n\nseed.mx\n------\n[seed.mx](./assets/samples/seed.mx) is a trio of randomely generated colors, it's the core of the palette\n- `~/.config/mxc/seed.mx` sample generated [seed.mx](./assets/samples/seed.mx)\n\u003e the entire palette is drived from this generated `seed` file \n\nGiven the same `seed` file, its guaranteed the same `scheme file` be produced.\n\nPossible variables available in all templates or plugins are:\n```bash\nC00 C01 C02 C03 C04 C05 C06 C07 C08 C09 C10 C11 C12 C13 C14 C15\n    CX1 CX2 CX3 CX4 CX5 CX6 # extra saturated\n    CY1 CY2 CY3 CY4 CY5 CY6 # extra desaturated\n    CF1 CF2 CF3 CF4 CF5 CF6 # fg color on CX bg\n\nSBG WBG EBG # seed bg colors\nSFG WFG EFG # seed fg colors\n\nSK0 SK1 SK2 SK3 SK4 SK5 SK6 SK7 SK8 SK9 # S shades\nWK0 WK1 WK2 WK3 WK4 WK5 WK6 WK7 WK8 WK9 # W shades\nEK0 EK1 EK2 EK3 EK4 EK5 EK6 EK7 EK8 EK9 # E shades\n\nXBG OBG # main bg colors \nXFG OFG # main fg colors\n```\n\n#### sample:\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./assets/screenshots/2022-01-29-163915_877x552_scrot.png\"\u003e\n\u003c/p\u003e\n\n#### Variants\n- **gui** variant with their hex values\n- **gui hashless** variant with their hex values without leading `#`; prefixed with `HL`\n- **cterm** variant with their ansi-8bit values; prefixed with `T`\n\n#### examples:\n```bash\necho $C04 $WK6\n#3b88df #6f7690\n\necho $HLC04 $HLWK6\n3b88df 6f7690\n\necho $TC04 $TWK6\n33 60\n```\n\n\nENV Specifics\n=============\n\nShell\n-----\n [root.mx](./assets/samples/root.mx) is the primary output scheme sh file\n- `~/.config/mxc/root.mx` sample generated [root.mx](./assets/samples/root.mx)\n\n\u003e intended to be sourced in `.profile` or `bashrc` and have apps that can directly access system env read system scheme from it\n\nLua scheme\n----------\n\ntpl: [mxc-nvim-colors.lua](./templates/mxc-nvim-colors.lua)\nout: [mxc-nvim-colors.lua](./assets/samples/mxc-nvim-colors.lua)\n\nVim\n---\n\noutput: [root-mx.vim](./assets/samples/root-mx.vim)\nplugin: [2-vim.sh](./plugins/2-vim.sh)\n\n\u003e intented to be sourced in vimrc\n\ncss / less\n----------\ncss / less for web/electron apps\n\n**root-mx.css** tpl:[root-mx.css](./templates/root-mx.css) out:[root-mx.css](./assets/samples/root-mx.css)\n\n**root-mx.less** tpl:[root-mx.less](./templates/root-mx.less) out:[root-mx.less](./assets/samples/root-mx.less)\n\n\u003e intented to be included in other js / electron apps, like Atom editor or Source Code\n\n***\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./assets/screenshots/2022-02-16-100414_1018x822_scrot.png\"\u003e\n\u003c/p\u003e\n\nBasic Usage\n===========\nTemplates are the easiest way to produce scheme files for different apps, \nevery file in `./templates/{tpl}` will be parsed; scheme variables replaced; and placed in `~/.config/mxc/{tpl}`\n\n### some apps that ONLY rely on template file\n- kitty  tpl:[kitty-theme.conf](./templates/kitty-theme.conf) out:[kitty-theme.conf](./assets/samples/kitty-theme.conf)\n- xresources.sh, tmux.sh vim.sh could have too\n\nAdvance Usage\n=============\nif further steps required to patch an app a plugin `sh` file can be added to plugins folder to make the additinal steps\n\neach `sh` file presents in `./plugins` folder is treated as a plugin and is sourced\n\nits expected to follow these patterns:\n* filename: `[0-9]-[a-z_].sh` _eg `1-vim.sh`_\n  * prefix number is the `order` its loaded, 0 means disabled\n  * suffix the `plugin_name`\n* plugin file is expected to have a function named `apply_{plugin_name}`\n  this function will be called with confirmation prompt\n\n\u003e current active loaded theme variables are available to plugin\n\n\u003e all templates if any are parsed before calling apply_ function\n\n\u003e plugins outputs will first be drafted in `/tmp/mxc` and later upon confirmation prompt moved to `~/.config/mxc/{plugin_name}` \nunless different destination is set\n\n\n### some apps that rely on BOTH template file AND plugin file\n- lscolors tpl:[lscolors-vivid.yml](./templates/lscolors-vivid.yml) out:[lscolors-vivid.yml](./samples/lscolors-vivid.yml) plugin:[2-lscolors.sh](./plugins/2-lscolors.sh)  out:[lscolors](./samples/lscolors)\n- gtk.sh, spotify.sh could have too\n\n### some apps that rely on ONLY plugin file\n- vimium, gtk.sh, spotify.sh, awm.sh\n\n***\n\n## Chain usage temp-only\n`mxcolr --tmp-only update` \nwill exit silently after placing temp files in `/tmp/mxc`\n\n### for example:\nusing this template: [cognito-ui.css](./templates/cognito-ui.css) \n```bash\nmxcolr --tmp-only update\naws cognito-idp set-ui-customization --user-pool-id $COGNITO_POOL_ID --css \"$(cat /tmp/mxc/cognito-ui.css)\"\n```\n***\n\ngenerate\n--------\n![generate 1.4](./assets/screenshots/gifcast_220216100211.gif)\n\n### Check Wiki for more screenshots\n\n[Screenshots](https://github.com/metaory/mxcolr/wiki/Screenshots)\n\n### Save current theme\n```\nmxcolr save\n```\n\n### List saved themes\n```\nmxcolr list\n```\nSnapshot list\n-------------\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/metaory/mxcolr-v2/wiki/assets/2022-03-30-110239_1284x840_scrot.png\"\u003e\n\u003c/p\u003e\n\n***\n\nRequirements\n------------\n- [pastel](https://github.com/sharkdp/pastel)\n- [GNU bc](https://www.gnu.org/software/bc)\n- [jq](https://github.com/stedolan/jq)\n\nOptional Requirements\n---------------------\n- [tmux](https://github.com/tmux/tmux) Terminal Agnostic Live preview\n- [oomox](https://github.com/themix-project/oomox) GTK Theme \u0026 Icons\n- [bullshit](https://aur.archlinux.org/packages/bullshit) Random Palette Name\n- [scrot](https://github.com/dreamer/scrot) Palette Image Screenshot\n- [spicetify-cli](https://github.com/khanhas/spicetify-cli) Spotify\n- [ffmpeg](https://github.com/FFmpeg/FFmpeg) Wallpaper Tints \u0026 Custom Icons\n- [vivid](https://github.com/sharkdp/vivid) LS_COLORS\n\nPlugins\n-------\n- [X] Xresources\n- [X] Alacritty\n- [X] Kitty theme: [kitty-mxc](https://github.com/metaory/kitty-mxc)\n- [X] Vim `colors.vim` Nvim `colors.lua`\n- [X] Vimium\n- [X] FZF\n- [X] Spotify\n- [ ] Slack\n- [X] Ranger\n- [X] P10k\n- [X] Zathura\n- [X] GTK Theme\n- [X] GTK Icon Theme\n- [X] Wallpaper tint\n- [X] Tmux, theme: [tmux-mxc](https://github.com/metaory/tmux-mxc)\n- [X] AwesomeWM `colors.lua`\n- [X] LS_COLORS\n\n## There is a lite version of this project at [mxcolr-lite](https://github.com/metaory/mxcolr-lite)\n\n***\n\n\n          ___           __            ___     \n         /  /\\         |  |\\         /  /\\    \n        /  /::|        |  |:|       /  /::\\   \n       /  /:|:|        |  |:|      /  /:/\\:\\  \n      /  /:/|:|__      |__|:|__   /  /:/  \\:\\ \n     /__/:/_|::::\\ ____/__/::::\\ /__/:/ \\  \\:\\\n     \\__\\/  /~~/:/ \\__\\::::/~~~~ \\  \\:\\  \\__\\/\n           /  /:/     |~~|:|      \\  \\:\\      \n          /  /:/      |  |:|       \\  \\:\\     \n         /__/:/       |__|:|        \\  \\:\\    \n         \\__\\/         \\__\\|         \\__\\/    \n             @ mxc-v1.9\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"374\" height=\"40\" src=\"./assets/screenshots/footer_2021-05-16-221932_374x40_scrot.png\"\u003e\n\u003c/p\u003e\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmetaory%2Fmxcolr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmetaory%2Fmxcolr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmetaory%2Fmxcolr/lists"}