Skip to content

feat: add snake_case into BUILTIN_MODULES - #1031

Closed
sulabi wants to merge 1 commit into
MalpenZibo:feat/style-configfrom
sulabi:feat/style-config
Closed

sulabi wants to merge 1 commit into
MalpenZibo:feat/style-configfrom
sulabi:feat/style-config

Conversation

@sulabi

@sulabi sulabi commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

Restore snake_case module names. Follow up of #1029

@MalpenZibo

Copy link
Copy Markdown
Owner

Thanks @sulabi , you spotted a real problem!

With #1029 alone, [appearance.modules.system_info] is silently ignored.

I'd rather fix it directly in #1029 though, because changing ModuleName has side effects I'd like to avoid:

  • The deserializer is shared with the layout, so left = ["system_info"] would also become valid. We'd end up with two spellings for the same module everywhere.
  • A custom module named like the snake_case form of a builtin (e.g. "tray") would be silently replaced by the builtin in the layout.

In the end I'd like to have this syntax:

[system_info]                      # module settings
[appearance.modules.system_info]   # module style: same name

Custom modules need their own namespace. In the settings a custom module can't clash with a builtin, because builtins have their own section and custom modules live in [[CustomModule]].
We should probably change this syntax also. For now, it's probably better to avoid breaking changes, so we should continue supporting the current syntax. In the end, I would like to have

[custom_modules.appLauncher]
command = "walker"

[appearance.modules.custom.appLauncher]
background = "primary"

So I think that we can close this PR and fix #1029. The custom module changes should go in a dedicated PR instead.

@romanstingler, what do you think?

@sulabi

sulabi commented Oct 10, 2026

Copy link
Copy Markdown
Contributor Author

yeah, this works for me

@sulabi sulabi closed this Oct 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants