zhanghai / MaterialFiles

Material Design file manager for Android
https://play.google.com/store/apps/details?id=me.zhanghai.android.files
GNU General Public License v3.0
5.75k stars 384 forks source link

Support .hidden like in Nautilus (GIO) #748

Open quantenzitrone opened 2 years ago

quantenzitrone commented 2 years ago

I know this has been asked a few times already but I think its not that complicated. It could be implemented by making a file, called .hidden for example, which lists every file or folder, which should be hidden in the current directory. This is something another, unfortunately proprietary, filemanager used and I really loved this feature because I could hide all these folders in /storage/emulated/0/ I never use. For example there is a folder called mtklog, which contain some system logs I guess, that gets recreated every time. Or random Apps creating their config folder directly in /storage/emulated/0 instead of /storage/emulated/0/Android/data/ where it should be.

giiutfff commented 2 years ago

That's a perfect practice of ostrich algorithm. Those apps doing arbitrary file creation should be blamed. (And this is why android's file system gets so complicated today, and it even becomes a huge obstacle to make a decent file manage app)

Should not solve a garbage problem by involving more garbage. If this has to be done, maintain a table in the database inside the app's data of hidden path should be more wise.

quantenzitrone commented 2 years ago

also a good idea if you think thats better

quantenzitrone commented 2 years ago

The .hidden file is actually a way of how other file managers manage to hide files without renaming. For example nautilus. So by solving this the ostrich way, it would provide compatibility between file managers.

zhanghai commented 2 years ago

Just curious, which other file manager apps on Android supports .hidden?

Theoratically a nice small enhancement, though it may be a ilttle bit hard to fit into a standard VFS due to the need to read a potentially big file when simply getting attribute of a sibling file. I can see GIO is caching the reads (a map from parent directory to file names that are hidden) so maybe I can try to do that as well.

quantenzitrone commented 2 years ago

I thought This propietary Filemanager would do it like it but it kinda makes it weirdly a bit different. Instead of a .hidden File, it is .hiddenFiles and Files are not even hidable(I'm not sure about that but i couldn't find the hide option for files), only folders.

the inside of .hiddenFiles looks like this:

HIDDENFILELIST
1
S|main#0|main#0|/Molly
S|main#0|main#0|/Android
S|main#0|main#0|/mtklog
S|main#0|main#0|/EAPConfig
zhanghai commented 2 years ago

🤔 I agree that's a bit weird 😂

pgaskin commented 9 months ago

Instead of a .hidden File, it is .hiddenFiles and Files are not even hidable(

CX file explorer supports .hidden too, and that works correctly.