-
-
Notifications
You must be signed in to change notification settings - Fork 899
Break
Print an empty line
| Module type | break |
| Default order | 72 — only used by --gen-config
|
| Module source | src/modules/break/break.c |
| Detection source | — |
Prints exactly one empty line. It is the blank-line separator for a long structure:
Date & Time: 2026-01-01 09:00:00
OS: Linux 6.12.0
Shell: /bin/bash
This is the module with the fewest moving parts in the whole registry: no key, no icon, no format
string, and no options at all. The only keys it accepts are type and condition.
| Platform | Implementation | Notes |
|---|---|---|
| Everywhere | src/modules/break/break.c |
Platform independent — no detection layer |
Because it has no detection layer, it is one of the few modules that work on every platform, including the ones where a detection backend is only a stub. There is nothing to configure per platform.
| Option | Type | Default | Description |
|---|---|---|---|
condition |
object | – | Prints the empty line only when the condition matches. See Global. |
That is the complete list. key, keyColor, keyIcon, keyWidth, outputColor and format are
not accepted; writing any of them is an unknown key (see Pitfalls).
None. The module does not call the format engine at all, and asking for its variable list fails:
$ fastfetch -h break-format
Error: Module 'Break' doesn't support output formatting
The message goes to stderr and the exit status is still 0. format is an unknown key here, so a
config that carries one prints a warning and the empty line.
There is no JSON representation:
--structure break --format json therefore produces an error object where a result would normally
be. In a full run the object still occupies its position in the top-level array, with error in
place of result.
A blank line between two blocks:
{
"modules": [
{ "type": "host" },
{ "type": "os" },
{ "type": "break" },
{ "type": "kernel" },
{ "type": "uptime" }
]
}Several blank lines are several break entries — there is no times option:
{ "modules": [ { "type": "break" }, { "type": "break" } ] }A blank line that only appears on Linux:
{ "type": "break", "condition": { "system": "Linux" } }-
A
breakis a blank line, not a rule. Use Separator when you want a visible horizontal line;breakprints nothing but the newline. -
One line, and only one.
breakhas no count option, so two blank lines need two entries. -
The line is printed even when the module reports an unknown key. The parse pass runs first, so
{ "type": "break", "key": "X" }printsBreak: Unknown JSON key keyand then still prints its empty line. The message only appears when
display.showErrorsis true (see Global). -
A
conditionthat does not match prints nothing at all — not even the empty line. Like every other module, the entry is skipped before it is dispatched, and the skip is silent even withdisplay.showErrorsenabled. -
breakcannot be hidden or renamed. There is no key to hide withkey: " "and no name to replace, so--structure-disabledis the only way to take it out of a structure that already contains it. -
It always succeeds.
ffPrintBreak()returnstrueunconditionally, so a following{ "condition": { "succeeded": true } }is never suppressed by abreak. -
Order matters as much as anywhere else.
breakoccupies a slot in the structure like any other module, so abreakplaced first produces a leading blank line above the logo's first line.
The module is a three-line print function (src/modules/break/break.c):
bool ffPrintBreak(FFBreakOptions* options) {
ffLogoPrintLine();
putchar('\n');
return true;
}ffLogoPrintLine() (src/logo/logo.c) is the same call every other module makes before printing its
key: it emits the next line of a side logo and pads to the logo's width, so the blank line lines up
with the rest of the output instead of overwriting part of an image logo. With --logo none it
produces nothing at all, which is why -s break is exactly one newline.
ffParseBreakJsonObject() accepts type and condition and rejects everything else.
ffInitBreakOptions() and ffDestroyBreakOptions() are both empty, and the registry entry carries
neither formatArgs nor generateJsonResult — that is the whole reason -h break-format and
--format json fail for this module.
{ "type": "Break", "error": "Unsupported for JSON format" }