summaryrefslogtreecommitdiff
path: root/src/cli/list_themes.zig
AgeCommit message (Collapse)Author
2025-10-03Zig 0.15: zig build test Mitchell Hashimoto
2025-09-22feat: list-themes cursor and selection colorsCoderJoshDK
2025-07-30cli: update var nameAnthony
2025-07-27cli: add filtering hotkey to list_themesAnthony
2025-07-09cli: make the action parser (+foo) generic and reusableMitchell Hashimoto
2025-06-24core, gtk: implement host resources dir for FlatpakLeorize
Introduces host resources directory as a new concept: A directory containing application resources that can only be accessed from the host operating system. This is significant for sandboxed application runtimes like Flatpak where shells spawned on the host should have access to application resources to enable integrations. Alongside this, apprt is now allowed to override the resources lookup logic.
2025-05-27Correct `$XDG_CONFIG_DIR` to `$XDG_CONFIG_HOME` in theme documentation.Kat
2025-05-01use enum for the color scheme argsMaciej Bartczak
2025-05-01implement dark/light theme filtering in theme previewMaciej Bartczak
2025-02-14add save instruction to +list-themesAaron Ruan
Signed-off-by: Aaron Ruan <aaron212cn@outlook.com>
2025-01-23documentation: consistent format for actions helpAnund
2025-01-03Ensure all search results are visible in theme listBryan Lee
When searching in the theme list (e.g., searching for "Snazzy"), some matching themes might be hidden due to incorrect window position handling. This fix ensures all matching themes are visible by adjusting the window position logic.
2024-12-29Fix typo in list-themes browserGoProSlowYo
Signed-off-by: GoProSlowYo <68455785+goproslowyo@users.noreply.github.com>
2024-12-27cli(list_themes): ignore .DS_StoreTim Culverhouse
macOS will create `.DS_Store` files in any directory it opens in Finder. The `+list_themes` command would then list this file as a theme, and attempt to preview it. `.DS_Store` is a binary file, and is silently failing in the theme preview...I am on Linux and when I put a small binary file in my user themes directory, I get a segfault. There is something about the specific contents in `.DS_Store` that does not cause this segfault, but lets us silently fail. We should investigate this further - the issue is in `Config.loadFile` I believe. In either case, we need to ignore `.DS_Store` so that it is not listed as a theme. Fixes: #3378
2024-12-27Fix docs formattingJoris Guex
2024-11-16fix: theme search ranking is now case insensitivefurtidev
2024-11-16fix: +list-themes crashing when there's search result is emptyfurtidev
2024-11-16port +list-themes to latest libvaxisfurtidev
2024-11-12update zf apiMitchell Hashimoto
2024-11-09Fix copying the theme namePepper Lebeck-Jobe
Prior to this change both C and c would copy the path to the theme even though the help screen claimed that c would copy the theme name. There is a bug in libvaxis that results in both of these matches matching c: `key.matches('c', .{})` `key.matches('c', .{ .shift = true })` Tested: Before the change: 'c' copies path and 'C' copies path After the change: 'c' copies the name and 'C' copies the path
2024-10-27make selection a constAnmol Wadhwani
2024-10-27Add an out of bounds check for mouse-selected themes in +list-themesAnmol Wadhwani
2024-10-18cli: skip argv0 and actions when parsing CLI flagsMitchell Hashimoto
This fixes a regression from #2454. In that PR, we added an error when positional arguments are detected. I believe that's correct, but we were silently relying on the previous behavior in the CLI commands. This commit changes the CLI commands to use a new argsIterator function that creates an iterator that skips the first argument (argv0). This is the same behavior that the config parsing does and now uses this shared logic. This also makes it so the argsIterator ignores actions (`+things`) and we document that we expect those to be handled earlier.
2024-10-18config: richer diagnostics for errorsMitchell Hashimoto
Rather than storing a list of errors we now store a list of "diagnostics." Each diagnostic has a richer set of structured information, including a message, a key, the location where it occurred. This lets us show more detailed messages, more human friendly messages, and also let's us filter by key or location. We don't take advantage of all of this capability in this initial commit, but we do use every field for something.
2024-09-30cli: handle mouse scroll before setting windowPaul Berg
2024-09-28cli: fix integer overflow in `+list-themes` if window is too narrowJeffrey C. Ollie
Reproduction is to resize the window to it's minimum width and then run `ghostty +list-themes`. Ghostty will crash because Zig for loops don't like having a range where the end is smaller than the start.
2024-09-27cli/list-themes: add ability to search theme namesJeffrey C. Ollie
2024-09-27cli: update +list-themes --help textJeffrey C. Ollie
2024-09-27cli: list-themes should list symlinksJeffrey C. Ollie
Symbolic links should be listed in addition to normal files. Useful for system like home-manager that link config files to location in the Nix store.
2024-09-27cli: "fancy" theme previewJeffrey C. Ollie
This adds a "fancy" theme preview to the `+list-themes` CLI action. By default, if the command is connected to a TTY, it will display the fancy preview. If it is not connected to a TTY, or the user specifies `--plain` on the command line, a simple list of themes will be printed to stdout. While in the preview `F1` or `?` will show a help screen.
2024-08-18themes: don't use arena directly and cleanup debug codeJeffrey C. Ollie
2024-08-18themes: finish refactorJeffrey C. Ollie
2024-08-18themes: add a switch that shows a small preview of each themeJeffrey C. Ollie
2024-08-18themes: allow loading from absolute paths and from user config dirJeffrey C. Ollie
2024-08-16almost yeeted it all!Mitchell Hashimoto
2024-01-21markdown-ify help stringsJeffrey C. Ollie
2024-01-20cli: support --help and -h for actionsMitchell Hashimoto
2023-12-21core: look for resources in "ghostty" subdirectory for "share" pathsGregory Anders
Installing resources directly under ${prefix}/share causes conflicts with other packages. This will become more problematic whenever Ghostty is opened and becomes packaged in distributions. Instead, install all resources under a "ghostty" subdirectory (i.e. ${prefix}/share/ghostty). This includes themes, shell integration, and terminfo files. Only "/usr/share" style paths use the "ghostty" subdirectory. On macOS, Ghostty is already isolated within its app bundle, and if $GHOSTTY_RESOURCES_DIR is set then we assume that points to the actual resources dir (without needing to append "ghostty" to it).
2023-11-30Fix forgotten openIterableDirKrzysztof Wolicki
2023-11-22cli: +list-themesMitchell Hashimoto