dunst-project / dunst

Lightweight and customizable notification daemon
https://dunst-project.org
Other
4.44k stars 338 forks source link

Allow multiple value for `-config` option #1220

Closed bynect closed 4 months ago

bynect commented 9 months ago

This pr adds the ability to accept multiple paths for the -config option and also to handle directory paths.

Directories are simply scanned for drop-ins and if there is a dunstrc file it is loaded. Only the first dunstrc is loaded (for directories), unless the user purposefully specified multiple dunstrc in -config.

I updated the tests and did some manual testing and so far it seems to work nicely. This may be useful to resolve problems like that in #1207, where we want to load drop-ins and config from different directories.

fwsmit commented 6 months ago

If I read the issue right, they don't need the option to add more items to the -config option, but only that dunst scans the ~/.config/dunstrc.d/.conf files from the home directory, even if the ~/.config/dunstrc is not present. That seems like a simpler solution. You could also just use /etc/dunstrc.d/.conf or an empty ~/.config/dunstrc.

bynect commented 6 months ago

If I read the issue right, they don't need the option to add more items to the -config option, but only that dunst scans the ~/.config/dunstrc.d/.conf files from the home directory, even if the ~/.config/dunstrc is not present. That seems like a simpler solution. You could also just use /etc/dunstrc.d/.conf or an empty ~/.config/dunstrc.

Yes, I proposed this pr for providing a more general solution for people that (for testing or whatever) want to split their config files on different directories. Even if the other solution is easier, the difference in code would be not that much, so adding this should be worthwhile (since I already wrote it also 😁)

fwsmit commented 5 months ago

If I read the issue right, they don't need the option to add more items to the -config option, but only that dunst scans the ~/.config/dunstrc.d/.conf files from the home directory, even if the ~/.config/dunstrc is not present. That seems like a simpler solution. You could also just use /etc/dunstrc.d/.conf or an empty ~/.config/dunstrc.

Yes, I proposed this pr for providing a more general solution for people that (for testing or whatever) want to split their config files on different directories.

I haven't seen this in other tools, so it seems to not be a standard thing people want.

Even if the other solution is easier, the difference in code would be not that much, so adding this should be worthwhile (since I already wrote it also 😁)

I get that you already put the effort in this code, but it's also a command line option that dunst needs to maintain indefinitely. So it can add some maintenance burden. That's why I lean more towards simpler options

bynect commented 5 months ago

If I read the issue right, they don't need the option to add more items to the -config option, but only that dunst scans the ~/.config/dunstrc.d/.conf files from the home directory, even if the ~/.config/dunstrc is not present. That seems like a simpler solution. You could also just use /etc/dunstrc.d/.conf or an empty ~/.config/dunstrc.

Yes, I proposed this pr for providing a more general solution for people that (for testing or whatever) want to split their config files on different directories.

I haven't seen this in other tools, so it seems to not be a standard thing people want.

Even if the other solution is easier, the difference in code would be not that much, so adding this should be worthwhile (since I already wrote it also 😁)

I get that you already put the effort in this code, but it's also a command line option that dunst needs to maintain indefinitely. So it can add some maintenance burden. That's why I lean more towards simpler options

From what I know a lot of tool allow specifying more than one config file (either with cli options or imports in the files or etc). If you don't like the list method it could be changed to a multiple config options, like

Dunst -config A,B,C
# to
Dunst -config A -config B -config C

But this is just a way to do this so let me know if you know a better method

bynect commented 4 months ago

I'm going to close this, maybe I'll come up with some tweaks in the future