{"id":19687146,"url":"https://github.com/trinitronx/preview-foot-themes","last_synced_at":"2025-04-29T07:34:16.560Z","repository":{"id":181334504,"uuid":"666604394","full_name":"trinitronx/preview-foot-themes","owner":"trinitronx","description":"Preview Foot Terminal Themes","archived":false,"fork":false,"pushed_at":"2024-10-08T00:58:40.000Z","size":76,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-05T14:01:56.666Z","etag":null,"topics":["hacktoberfest"],"latest_commit_sha":null,"homepage":"https://github.com/trinitronx/preview-foot-themes","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/trinitronx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["trinitronx","LyraPhase"],"patreon":"phasik","ko_fi":"trinitronx","liberapay":"trinitronx","polar":"lyraphase","buy_me_a_coffee":"TrinitronX","custom":["https://paypal.me/JamesCuzella"]}},"created_at":"2023-07-15T01:14:06.000Z","updated_at":"2025-03-16T20:22:32.000Z","dependencies_parsed_at":"2024-08-05T22:45:00.183Z","dependency_job_id":null,"html_url":"https://github.com/trinitronx/preview-foot-themes","commit_stats":null,"previous_names":["trinitronx/preview-foot-themes"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trinitronx%2Fpreview-foot-themes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trinitronx%2Fpreview-foot-themes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trinitronx%2Fpreview-foot-themes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trinitronx%2Fpreview-foot-themes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trinitronx","download_url":"https://codeload.github.com/trinitronx/preview-foot-themes/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251456073,"owners_count":21592290,"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":["hacktoberfest"],"created_at":"2024-11-11T18:33:15.119Z","updated_at":"2025-04-29T07:34:11.551Z","avatar_url":"https://github.com/trinitronx.png","language":"Shell","funding_links":["https://github.com/sponsors/trinitronx","https://github.com/sponsors/LyraPhase","https://patreon.com/phasik","https://ko-fi.com/trinitronx","https://liberapay.com/trinitronx","https://polar.sh/lyraphase","https://buymeacoffee.com/TrinitronX","https://paypal.me/JamesCuzella"],"categories":[],"sub_categories":[],"readme":"Preview Foot Themes\n===================\n\nA simple way to preview foot themes... without the _edit + restart_ loop 😎\n\n[![Preview Foot Logo](./foot-theme-demo/preview-foot-logo.svg)](./foot-theme-demo/preview-foot-logo.svg)\n\nWhy?\n----\n\n`preview-foot-themes.sh` is a set of simple shell scripts to ease in the\nprocess of previewing different themes for [`foot`][1].\n\nThe `foot` terminal [does not support reloading config files][2], as\nyou might expect. Instead, `OSC` commands are used which makes testing\nout the different themes cumbersome.  This set of scripts aims to remedy\nthat.\n\nUsage\n-----\n\nFirst, ensure you have included any theme in your `foot.ini` config file.\nFor example:\n\n```ini\n[main]\ninclude=/usr/share/foot/themes/dracula\n```\n\nThen, simply run:\n\n```shell\n./preview-foot-themes.sh\n```\n\nThen, view \u0026 preview the themes. See built-in help for key bindings.\nPress: `?` anytime for help\n\nHow does it work?! 🤔\n--------------------\n\nThe `preview-foot-themes.sh` script launches fuzzy-find [`fzf`][3]\nwith the list of default themes for `foot`.  The preview window and\nkey/event bindings are set such that you can easily search \u0026 view themes.\n\nThe `launch-theme.sh` script is used as `fzf`'s preview command. It handles\nthe following:\n\n1. Create a temp dir\n2. Copy `~/.config/foot/foot.ini` to this temp dir\n3. Modify the `include=` line, including the selected theme\n4. Launch `foot` with this config + run: `preview-terminal-colors.sh`\n5. Wait 300ms \u0026 immediately cleanup the temp dir + config\n\n    - This allows for faster theme switching,\n    - Avoids `fzf` killing it prematurely (\u003c500ms timeout), leaving stray tmpfiles\n\n6. Sleep and print timeout to the `fzf` preview pane\n7. Cleanup on exit \u0026 all normal trappable signals\n\nThe `preview-terminal-colors.sh` script runs `exa` to display the\n`foot-theme-demo` directory with icons \u0026 decorations.  It then runs `neofetch`\nto display the terminal colors amongst other distro \u0026 system details.\n\nDependencies\n------------\n\nThis set of scripts depends on the following extra tools / utilities:\n\n- `fzf`: [Fuzzy Find][3]\n- `exa`: For previewing listed file colors + icons\n  - Icons require a font that supports this... for example:\n    [JetBrainsMono Nerd Font][4]\n  - Zsh is recommended\n- `neofetch`: For previewing the terminal colors + Distro details\n\n... and of course: **`foot`!**\n\nThey also depend on some common POSIX utilities:\n\n- `kill`\n- `sed`\n- `sync`\n- `find`\n\n[1]: https://codeberg.org/dnkl/foot\n[2]: https://codeberg.org/dnkl/foot/issues/708\n[3]: https://github.com/junegunn/fzf\n[4]: https://github.com/ryanoasis/nerd-fonts\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrinitronx%2Fpreview-foot-themes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrinitronx%2Fpreview-foot-themes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrinitronx%2Fpreview-foot-themes/lists"}