{"id":26061884,"url":"https://github.com/protesilaos/prot16-generator","last_synced_at":"2026-04-24T07:32:01.896Z","repository":{"id":55449800,"uuid":"110422853","full_name":"protesilaos/prot16-generator","owner":"protesilaos","description":"A nimble tool to automate the process of exporting the Prot16 colour schemes to a variety of applications and terminals.","archived":false,"fork":false,"pushed_at":"2020-12-30T04:36:54.000Z","size":63,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-05-02T03:06:56.802Z","etag":null,"topics":["colorschemes","hyper","prot16","prot16-builder","prot16-generator","syntax-highlighting","urxvt","vim","xfce4-terminal"],"latest_commit_sha":null,"homepage":"https://protesilaos.com/schemes","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/protesilaos.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2017-11-12T10:19:00.000Z","updated_at":"2024-05-02T03:06:56.802Z","dependencies_parsed_at":"2022-08-15T00:31:03.861Z","dependency_job_id":null,"html_url":"https://github.com/protesilaos/prot16-generator","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protesilaos%2Fprot16-generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protesilaos%2Fprot16-generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protesilaos%2Fprot16-generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protesilaos%2Fprot16-generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/protesilaos","download_url":"https://codeload.github.com/protesilaos/prot16-generator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242573487,"owners_count":20151707,"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":["colorschemes","hyper","prot16","prot16-builder","prot16-generator","syntax-highlighting","urxvt","vim","xfce4-terminal"],"created_at":"2025-03-08T15:48:30.433Z","updated_at":"2026-04-24T07:31:56.876Z","avatar_url":"https://github.com/protesilaos.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Prot16 Generator\n\nA nimble tool to automate the process of exporting the [prot16 colour schemes](https://protesilaos.com/schemes) into a variety of file formats. The output is used to style applications such as terminal emulators or Vim.\n\nThe generator consists of a bash script which parses the sets of variables of each scheme through templates and outputs the result to the terminal (stdout).\n\n## Usage\n\nStart by cloning the repo:\n\n```sh\ngit clone https://github.com/protesilaos/prot16-generator.git --depth 1\n```\n\nThen enter the directory (all subsequent commands assume you are working within the `prot16-generator` directory):\n\n```sh\ncd prot16-generator\n```\n\nRun the script with the necessary arguments (see following section):\n\n```sh\n./prot16-generator [scheme] [template] [variant]\n```\n\n### Available CLI arguments\n\nFor the available schemes, run `ls schemes`. Similarly, run `ls templates`. The `variant` must be either `light` or `dark`.\n\n## Examples\n\nPrint the `gaia` theme for `vim` in its `dark` variant to the terminal output:\n\n```sh\n./prot16-generator gaia vim dark\n```\n\nDirectly create a new file containing the output and place in on the `~/Desktop`:\n\n```sh\n./prot16-generator gaia vim dark \u003e ~/Desktop/gaia_dark.vim\n```\n\n## Applying the themes\n\nEach application uses a different set of conventions. Below are some tried and tested examples that I have run on Arch Linux as well as Debian and Debian-based distros (Ubuntu and Linux Mint). Technically these should be distro-agnostic, though I cannot be certain of that (please report any issues).\n\n### RXVT-Unicode (urxvt)\n\nUrxvt saves colour values in either of two places. The most common use case is within the `~/.Xresources`. Since that file can contain all sorts of configurations, it is best to *append* the output of the prot16-generator rather than overwrite its contents.\n\nAs such, run the following command:\n\n```sh\n./prot16-generator gaia urxvt dark \u003e\u003e ~/.Xresources\n```\n\nNotice the use of `\u003e\u003e`. It is what appends the output to the file. If your `.Xresources` is empty, then just run the following instead (notice the single `\u003e`):\n\n```sh\n./prot16-generator gaia urxvt dark \u003e ~/.Xresources\n```\n\nThe other approach to having colour values for urxvt is to source an `.Xcolors` file from within the `.Xresources`. The file can be located anywhere. For the purposes of this tutorial, it is assumed you have created a directory `~/.urxvt-themes/`:\n\n```sh\n# Create directory for urxvt Xcolors\nmkdir ~/.urxvt-themes\n\n# Generate the desired theme and place it in the new directory\n./prot16-generator gaia urxvt dark \u003e ~/.urxvt-themes/gaia_dark.Xcolors\n```\n\nThen source that file from within the `.Xresources` with the following line (note that comments in `.Xresources` start with a `!`, not an `#`):\n\n```\n#include \u003c/home/USERNAME/.urxvt-themes/gaia_dark.Xcolors\u003e\n```\n\nWhatever method you use, do not forget to reload the configurations, with `xrdb -merge ~/.Xresources` (may need to close all terminals and re-open them).\n\n### Xterm\n\nMuch like urxvt, xterm stores its configurations in `~/.Xresources`. Append the theme of your choice to the existing configs with the following:\n\n```sh\n./prot16-generator gaia xterm dark \u003e\u003e ~./Xresources\n```\n\n### Xfce4-terminal\n\nThe theme files can be located in either of two places:\n\n- At `/usr/share/xfce4/terminal/colorschemes/` which makes them accessible to all users (requires root privileges).\n- Or `~/.local/share/xfce4/terminal/colorschemes/` for use by the current user (directory path needs to be created if it does not already exist).\n\nChoose whatever option suits your needs, modifying the following command accordingly:\n\n```sh\n# Create directory if it does not already exist (ONLY for the .local option)\nmkdir -p ~/.local/share/xfce4/terminal/colorschemes/\n\n# Generate the theme and place it in the created directory\n./prot16-generator gaia xfce4-terminal dark \u003e ~/.local/share/xfce4/terminal/colorschemes/gaia_dark.theme\n```\n\nThe theme will then be available from the terminal's preferences panel. Specifically, open the Xfce4 Terminal, navigate to `Preferences` \u003e `Colours`. The themes should be available in the `Presets` section.\n\n### Vim\n\nThe theme files can be copied manually or installed as a bundle with a plugin.\n\nThe manual method requires you to copy the file to `~/.vim/colors/`. Run the following command:\n\n```sh\n# Create path to colors directory if it does not already exist\nmkdir -p ~/.vim/colors/\n\n# Generate theme and place it in the newly created directory\n./prot16-generator gaia vim dark \u003e ~/.vim/colors/gaia_dark.vim\n```\n\nAs for the plugin, you can use your favourite plugin manager. With [vim-plug](https://github.com/junegunn/vim-plug) add the following line to your `.vimrc`:\n\n```vim\nPlug \"protesilaos/prot16-vim\"\n```\n\nThen execute the plugin manager's command to update the plugin files.\n\nOnce available, the theme is declared with the following options inside the `.vimrc`:\n\n```vim\n\" Theme\nsyntax enable\ncolorscheme gaia_dark\n```\n\n## Roadmap (help is much appreciated)\n\n- Refine the code.\n- Improve documentation.\n- Improve templates where possible.\n- Produce templates for other popular apps (Termite, Kitty, Tilix, etc.).\n- Packages for various GNU/Linux distros (if packages are an option, there needs to be a manpage and a more streamlined CLI experience, such as `prot16 --help` `prot16 [options]`).\n- Anything else?\n\n## Changelog\n\nRefer to the [CHANGELOG.md](https://github.com/protesilaos/prot16-generator/blob/master/CHANGELOG.md)\n\n## License\n\nGNU General Public License Version 3. \n\nSee [LICENSE](https://github.com/protesilaos/prot16-generator/blob/master/LICENSE)\n\n## Miscellaneous\n\nThe Prot16 Generator replaces the [prot16-builder](https://github.com/protesilaos/prot16-builder)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprotesilaos%2Fprot16-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprotesilaos%2Fprot16-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprotesilaos%2Fprot16-generator/lists"}