Open Misterio77 opened 3 years ago
I love this project. Speed had been the major issue for me with other similar applications. I think a more detailed explanation on the whole template stuff would be pretty helpful.
For example, this is how pywal explains their templates. It's pretty straightforward with how you just have to put {color#.rgb/hex} and pywal will insert that respective color.
For starters, you can create a sample template, where is the default directory for templates i.e. $HOME/.local/share/flavours/base16/templates
Actually, when you know where to look, it isn't much different from pywal templates. Just a sample template and the default template directory would be more than enough.
Many people who stumble upon your project may already be familiar with creating base16 templates, this'll help those like me who aren't familiar with it get started.
Thanks for the feedback!
I think the general ideia would be to take a look at the official base16 templates (that can be downloaded with flavours update templates
) and their docs on how to make a template.
I will try to write a bit about this and link to the correct references.
Hey @Misterio77 I'm a designer by trade and generally find I'm good at spoting flaws in documentation, because I'm not as good of an engineer as most of you fine folks.
I've been documenting how to use flavours in a series of videos. This last one is a pretty good summary of what Flavours can do. The previous video in the series was a better practical tutorial on making your own templates.
If you need help documenting things, I'm happy to take a stab at cleaning up your readme or wiki with some diagrams and examples. It's the least I can do to help you for making this FANTASTIC tool. It took me a week or two to really learn it, but it's been able to handle pretty much everything I wanted as far as theming Linux systems. Anyways, just wanted to say thanks!
I've just finished watching your 3 episodes, @snide, and i absolutely loved them. They're really clear and informative. Definitively a must watch, specially for people building schemes (i'll for sure use these tips in future schemes i build).
Thank you so much for taking the time to give flavours a try and making these great resources.
I'd absolutely love to have your help with the README and docs. I've been trying to tackle this problem for a few weeks now, but i found it pretty hard to write conscise and detailed documentation in English (not my native language), and specially from a user's perspective.
I'll add you as contributer to the repo, please feel free to edit anything as you see fit. And let me know if there's anything i can help with, or even any suggestions to the program itself.
Thanks again!
Excellent. I'll find some time to so some cleanup. I'll set them up as PRs for review. Again, thanks for making such an awesome little tool.
I know how hard it is to document your own project to be consumable for others. I think "better" isn't a good request. We should consider this ticket an Epic and drop specific Stories under it. I'll start with:
It's clear that you put a lot of work into shell completion for 5 shells!!. To move that past the goal post, I see at least 2 things missing.
--completions
in the --help
*rc
file❯ flavours -V
flavours 0.4.0
❯ flavours --help
flavours 0.4.0
Gabriel Fontes (Misterio77) <eu@misterio.me>
A simple way to manage and use base16 standard schemes and templates
USAGE:
flavours [OPTIONS] [SUBCOMMAND]
OPTIONS:
-c, --config <FILE> Specify a configuration file (Defaults to ~/.config/flavours/config.toml on Linux)
-d, --directory <DIRECTORY> Specify a data directory (Defaults to ~/.local/share/flavours on Linux)
-h, --help Prints help information
-v, --verbose Be more verbose
-V, --version Prints version information
SUBCOMMANDS:
apply Applies scheme, according to user configuration
current Prints last applied scheme name
generate Generates a scheme based on an image
info Shows scheme colors for all schemes matching pattern. Optionally uses truecolor
list Prints a list with all matching schemes
update Downloads schemes, templates, or updates their lists (from repos specified in sources.yml)
I've been trying to tackle this problem for a few weeks now, but i found it pretty hard to write concise and detailed documentation in English (not my native language), and specially from a user's perspective.
Holy CARP, Brother! I'd be glad to help out any way I can. I use both macOS and Arch (BTW). I will add some input on how to make a consistent setup to share between those 2.
I think i'll add a heads up on the readme on how to manually install completions. These are mostly intended to be installed through a package manager (AUR does), though.
Thanks for your work as well as for asking for better documentation!
light
parameter? How could a hook
be light?
1.1 Is the qutebrowser hook hook='bash -c "pgrep -x qutebrowser && qutebrowser :config-source"'
light?
1.2 The sentence, "flavours apply --light will skip running hooks marked with light=false" is confusing to me. This seems to mean, if we disable light
by declaring false
, then explicitly call the argument --light
, then light
will not be applied. I'm not sure how to understand that. If light
is not applied, then perhaps it would be clearer to use a --dark
argument?
2) How do we know if "a specific app supports including colors from another file, or if the template provides the entire file" thus allowing us to "forgo the comments altogether and use the rewrite=true on flavours config"? For example, sway
allows for configs to be placed in /etc/sway/config.d/
. If we set rewrite=true
, will flavours
write its configuration here?Suggestions
1) How about a wiki page for cataloging template configurations? For example, qutebrowser
can use the hook hook='bash -c "pgrep -x qutebrowser && qutebrowser :config-source"'
to facilitate application of the schemes, but I had to find this information on qutebrowser's issues page. Instead, users can simply find such relevant information on the wiki here.
2) I'm an English teacher as well as an avid reader and scholar. I can help you with the README if you like. I see some area for improvement in terms of English mechanics (grammar, punctuation, style, diction).
Hello!
Questions
light
currently means "a hook that is (acceptably) lightweight to execute". You might have hooks that do more heavy (as in "take long to execute" or "block your desktop while running") tasks, such as recompilling a GTK scheme, or reloading your WM. The idea is you can explicitly mark these as light=false
, and they will not be executed when you're applying with the --light
flag. The usecase is pretty much for realtime preview (you can, for example, build a rofi or fzf menu that runs flavours apply --light
when you scroll through the schemes, allowing you to preview them before fully applying). I have an idea for abstracting over this a bit, which might be some sort of "hook groups" which could be selectively applied.~/.config/sway/config
you might have a include ~/.config/sway/colors
line. Then, instead of applying the sway base16 template on your main config (using the delimiter comments), you just apply to the colors file (replacing everything there).Suggestions
Thanks a lot for the (very relevant) questions and useful suggestions. Let me know if there's anything i can do to help out!
Maybe starting a wiki would make sense. Willing to contribute to that.
I think flavours is pretty easy to use, but that's probably biased as i wrote it. Would love to hear docs suggestions, and am accepting help documenting as well.
Let me know how you use flavours and what features aren't very clear.