From my perspective, I really don't like the store-the-file's-extra-attributes-in-another-file approach. It's complicated to handle and keep updated when the files are renamed or moved.
I think the best approach would be two-fold.
1. Use an (xattr) attribute of the file to determine whether its hidden or not. A user can bring up the individual file properties and set this attribute. This is a good solution for a file-centric approach that transfers the attributes with the file when copying to other disks/systems, etc.
2. Use a regex pattern list ala adblock, both globally-defined for the system, for example any file starting with a dot, as well as user-defined for the user, for example I don't want to see any filename~ files. This is a mass-effect approach that is system/OS-centric. The user configuration can override the system global configuration for users who don't want their dot-files being hidden.
With #2 implemented, it wouldn't be that hard to add support for including other files, if they exist, such as a .hidden file. For example: "#include ~/.hidden". However, I'd like to re-emphasize keeping a separate list of individual files is not an elegant way to do this. It would simply be included for compatibility reasons.
From my perspective, I really don't like the store-the- file's- extra-attribute s-in-another- file approach. It's complicated to handle and keep updated when the files are renamed or moved.
I think the best approach would be two-fold.
1. Use an (xattr) attribute of the file to determine whether its hidden or not. A user can bring up the individual file properties and set this attribute. This is a good solution for a file-centric approach that transfers the attributes with the file when copying to other disks/systems, etc.
2. Use a regex pattern list ala adblock, both globally-defined for the system, for example any file starting with a dot, as well as user-defined for the user, for example I don't want to see any filename~ files. This is a mass-effect approach that is system/OS-centric. The user configuration can override the system global configuration for users who don't want their dot-files being hidden.
With #2 implemented, it wouldn't be that hard to add support for including other files, if they exist, such as a .hidden file. For example: "#include ~/.hidden". However, I'd like to re-emphasize keeping a separate list of individual files is not an elegant way to do this. It would simply be included for compatibility reasons.