We have a whole branch of dead code under the condition that a window is not visible. This is dead code because, as of GTK4, the :visible property is TRUE by default; but even before that, I doubt the window wasn't presented already before this callback. The logic on this conditional branch is ancient[0] and employs rather drastic measures: destroy the window if it failed to load its initial location. At a later point[1], a special case hase been added not to destroy the window if there is no other nautilus window. It would open Home instead, or, failing that, the filesystem root. But if both fail, it would still resort to destroying the window. Not only is destroying the window unecessary, the special case of a single application window assumes NautilusWindowSlot can only exist inside a NautilusWindow (belonging to NautilusApplication). This is going to be a problem for the FileChooser window, which will not be a NautilusWindow, not belong to the NautilusApplication, but still run in the same process. Let's drop the dead branch. But salvage the handling of rare cases where $HOME fails to load for some reason. Part of https://gitlab.gnome.org/GNOME/nautilus/-/work_items/3402 [0] commit |
||
---|---|---|
.gitlab | ||
build-aux/flatpak | ||
data | ||
docs | ||
eel | ||
extensions | ||
icons | ||
libnautilus-extension | ||
po | ||
src | ||
test | ||
.editorconfig | ||
.git-blame-ignore-revs | ||
.gitattributes | ||
.gitignore | ||
.gitlab-ci.yml | ||
LICENSE | ||
meson_options.txt | ||
meson.build | ||
nautilus.doap | ||
NEWS | ||
README.md |
nautilus
This is the project of the Files app, a file browser for
GNOME, internally known by its historical name nautilus
.
Supported version
Only the latest version of Files as provided upstream is supported. Try out the Flatpak nightly installation before filling issues to ensure the installation is reproducible and doesn't have downstream changes on it. In case you cannot reproduce in the nightly installation, don't hesitate to file an issue in your distribution. This is to ensure the issue is well triaged and reaches the proper people.
Contributing to nautilus
To build the development version of the Files app and hack on the code see the welcome guide.
Commit messages should follow the expected format detailed here.
Update default branch
The default development branch of nautilus has been renamed to main
. To
update your local checkout, use:
git checkout master
git branch -m master main
git fetch
git branch --unset-upstream
git branch -u origin/main
git symbolic-ref refs/remotes/origin/HEAD refs/remotes/origin/main
Runtime dependencies
- Bubblewrap installed. Used for security reasons.
- Tracker (including tracker-miners) properly set up and with all features enabled. Used for fast search and metadata extraction, starred files and batch renaming.
Discourse
For more informal discussion we use GNOME Discourse in the Applications category with the nautilus
tag. Feel free to open a topic there.
Extensions
Documentation for the libnautilus-extension API is available here. Also, if you are interested in developing a Nautilus extension in Python you should refer to the nautilus-python documentation.
How to report issues
Report issues to the GNOME issue tracking system.