make install overwrites user's local modifications
Opened this issue · 2 comments
While the Makefile
has seen improvements lately, one major issue is that make install
overwrites the user's ~/.mlvwm/
contents, so any local modifications are lost. Since ~/.mlvwmrc
is symlinked to ~/.mlvwm/.mlvwmrc
, this means that even some basic settings like preferred theme will be reset. Worse, since "Apple" menu items need to be added to the selected ~/.mlvwm/themes/
file, those items will also be lost.
My initial thoughts for this are:
- Using
rsync
to back up any existing~/.mlvwm/
directory to a date-stamped~/.mlvwm-$(date +%Y%m%d-%H%M%S)
directory before installing, then usingrsync
to install directories to~/.mlvwm/
. Naturally, that addsrsync
as a prerequisite. - Perform a recursive
diff
against files & directories in~/.mlvwm/
so that it warns if any files differ, but I'd assume that most files will differ because of updates to this repository. - Splitting some configuration (like the entirety of the "Apple" menu) out into separate files so that they can be more easily modified, then also testing to see if user modifications can be
Read
in after the defaults to override prior settings from defaults.
Any other thoughts are welcome.
While fixing Issue #13, I updated the Makefile
'install' target to find
& mv
the $HOME/.mlvwm
directory to a timestamped backup to prevent overwriting.
That's a start, but the user will still need to manually compare and re-apply modifications, so not ideal. Also, make install
doesn't warn the user that this is the case and neither does the documentation.