Reputation: 111
I just discovered some mentions of how nautilus used to read files named .hidden
and hide files matching the patterns listed in them, and at some point that feature was moved to GIO g_file_info_get_is_hidden
. However, I haven't been able to get it to work. If I put the exact name of a file into .hidden
, it does get hidden, but I'd really like to be able to use a pattern. I can't find any solid or recent documentation about how this feature is supposed to work.
I'd particularly like to hide files matching hg-checkexec-*
. Mercurial running under Emacs periodically creates bunches of these temporary files and they gum up my nautilus view.
Is this feature documented anywhere? How is it supposed to work?
Upvotes: 5
Views: 358
Reputation: 13666
As a complement to Philip Withnall's answer, I've dived further into the source code, specifically the functions read_hidden_file()
and file_is_hidden()
:
read_hidden_file()
basically parses the .hidden
in a directory and stores each line in as a key in a GLib HashTable object.
g_hash_table_new_full()
with parameters g_str_hash, g_str_equal, g_free, NULL
. This mean keys are plain strings with comparison being a plain (case-sensitive) string equality, so no globs, regex or any patterns support.g_hash_table_add()
, so not used as a key/value pair table but rather as a plain set, with keys being the elements themselves.file_is_hidden()
is called for each content (file or sub-directory) in a given directory. It uses g_hash_table_contains()
to check if the file's basename is a key in above object, so no pattern search whatsoever.
So, as Phillip concluded, it seems there is indeed no support for any kind of globs, regexes or pattern seach in .hidden
files. I would also die for a .gitignore
-like syntax.
Upvotes: 3
Reputation: 5705
Looking at the code, .hidden
files as implemented in GIO support one filename per line, with no support for patterns. A .hidden
file cannot list files in subdirectories — only those in the same directory.
I don’t know of any documentation about the feature. Please file a bug about adding it.
Upvotes: 5