-
Notifications
You must be signed in to change notification settings - Fork 450
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature request, discussion] Line merging / concatenation #482
Comments
Currently an empty key results in printing the default key, and a |
Doesn't seem to get any interests. Postponed. |
I probably should have spoken earlier. I would use this, a little at least. It makes sense to have shell and terminal on the same line. I'd probably use it for GPUs as well, I have 2 of them. A lot of theming stuff occupies multiple lines as well and quite often says the exact same thing. |
I'm surprised there is so little feedback on this! I would gladly use it to merge not only shell/terminal, but also DE/WM. And maybe something else. |
I would also love this, would use it to merge the Packages and Kernel lines. |
I would also use this... I might be missing other methods of 'renaming' titles of sources or merging sources, but this makes sense to me - or however the developer would like to include these types of features. :P Thanks!! |
I would like to use this as well. Would be great to have cpu + cpuusage on the same line, or theme+wmtheme+lm, os+kernel... |
Worth mentioning that it can be done right now, but it requires a lot of hacks lol This is how I have my config which merges several modules into one line: https://pastebin.com/ntDAPMFT I also cache the info of the modules that take a while to load, so that is why some of the modules cat a file in cache. |
i so like this festure, {
"type": "~",
"separator": " ",
"modules": [
{
"type": "os",
"key": null,
"format": "{4}"
},
{
"type": "kernel"
"key": null
}
]
} ha ha, then it print
Blank, literally blank |
Soooo, When will it be solved? Tomorrow? TODAY? i got tons of new idea to config fastfetch 20%cooler if you finish adding merging feature to fastfetch |
I didn't see it mentioned yet, it would be nice if next to the formatting options already available, to further extend it with regex. I realize you could load values in scripts and parse those to the jsonc to get the same results. |
Just started using Might I suggest So it would look like this: {
"modules": [
"os",
["shell", "terminal"]
]
} and that would be the same as {
"modules": [
"os",
{
"type": "~",
"separator": " | " // or some other default separator
"modules": ["shell", "terminal"]
}
]
} With a quick glance at the current schema, I don't think this conflicts with anything. From an implementation point of view this might be difficult, but as a user this can be nice. |
I tried your method and it indeed works, had to tweak it a bit to make it work for me, I combined Terminal and Terminal Font. What I did is absolutely horrendous. I'll share it but don't judge. I'm not a sed ninja and the pipe heavy way I did this is probably all wrong: Here's a link to it, the result was much prettier than the code: |
Yeah I should not have posted a pastebin link, fastfetch has changed and I have had to fix those changes as the output when using the same config broke. I have my config up to date here: https://github.com/Samueru-sama/dotfiles/blob/main/Local/config/fastfetch/config.jsonc I'm no longer merging lines as much as I used to do, and also I have scripts running the background updating every few 15 mins or so that get read by fastfetch instead of typing everything in the config (all of that is in my dotfiles repos). |
Introduction
As requested in #453, we have several modules prints only a few characters (for example,
Processes
module prints only an integer), it will be nice to merge them into one line.With the introduction of JSON config, the configuration part for this is possible. I plan to implement Line merging / concatenation in 2.0.
Configuration
Expected result:
Design
Principle: line merging should not invade module implementations; that's to say, a module implementation should not care if it's merged or not.
\n
everywhere, this requires major code refactoring.ffPrintLogoAndKey
There are modules prints multiple lines (Display, GPU, Disk, LocalIP, etc). This is what I want to discuss. My basic ideas:
--compact
or--compact-type
to force them to print in one line, like--display-compact-type
and--localip-compact
.logo
andline ending
handling outside of modules, it will be problematic when printing second line. Therefore a module should not print anything, but generates a list of strings, so that they don't need to take care of other works between printing two lines.To be honest this requires much more code changes and is what I want to avoid. Any easier-to-do ideas?
~
(line merging) module, just concat them normally.Expected result:
The line may be trancated with
--disable-linewrap
enabled.Thoughts?
The text was updated successfully, but these errors were encountered: