This hidden setting was added back when tabs were introduced in
commit 07cf7db47f
That commit provides no motivation for this setting, and neither does
the bug it references: https://bugzilla.gnome.org/show_bug.cgi?id=48034
The same commit added a "tabs_enable" setting too, so it's fair assume
this setting doesn't solve any problem, it was just a trend of older
times to make everything configurable.
Let's remove the setting and assume the default behavior. Also remove
the related NAUTILUS_OPEN_FLAG_SLOT_APPEND flag.
(Diff and message amended by António Fernandes<antoniof@gnome.org>)
When navigating to Other Locations with "Open in New Tab" or
"Open in New Window", you are always presented with the icon view
because view_mode_before_places was never initialized. An uninitialized
gint == 0 (and NAUTILUS_VIEW_GRID_ID == 0).
Initialize view_mode_before_places in init to NAUTILUS_VIEW_INVALID_ID
so that it will follow the default behavior. For best practices,
change NAUTILUS_VIEW_INVALID_ID to 0 (which would have also prevented
this issue) and NAUTILUS_VIEW_GRID_ID to 2 (matching the keyboard
shortcut).
Fixes: https://gitlab.gnome.org/GNOME/nautilus/-/issues/2281
Meson builds out-of-tree, these ignored files will never get created in
these directories. If they do, it indicates a build configuration error
and should not be hidden.
Exchange the adjustable GtkPaned widget for AdwFlap. We lose a
resizable sidebar, but gain an adaptive one. For windows narrower
than 600px, we fold the sidebar.
The loss of the resizable sidebar means that all settings related
to it are removed.
Fixes#2156
GPL3+ is a deprecated SPDX identifier.[0] The meson and about dialog say
GPL 3.0, so that should also appear on the appdata.
[0] https://spdx.org/licenses/
These symbols are actually meant for both old and new "grid" views,
in opposition to the "list" view, so this is a more appropriate name,
considering both share NAUTILUS_VIEW_GRID_ID.
The positional argument was being silently ignored until meson 0.60.0 where
it fails with "ERROR: Function does not take positional arguments".
See: https://github.com/mesonbuild/meson/issues/9441
Currently, it is not possible to create encrypted archives over
Nautilus. Let's add support for encrypted .zip files to not have
to install a dedicated archive manager.
Fixes: https://gitlab.gnome.org/GNOME/nautilus/-/issues/822
A new bug in uncrustify 0.73 causes a pointer type to be interpreted
as an arithmetic operation, thus adding a space. [0]
This causes the CI pipeline to fail on style-check job.
To workaround this, ignore the "space around arithmetic operator" rule.
[0] https://github.com/uncrustify/uncrustify/issues/3233
The `validate-desktop`, `validate-desktop-autorun-software` and
`validate-appdata` meson tests fail currently because of the updated meson.
This is because of the recent change, which requires explicit specification
of dependencies. Let's specify them to fix the pipeline.
https://gitlab.gnome.org/GNOME/gnome-build-meta/-/issues/372
Whe the ASK option gone, the only alternative to the default is RUN.
This option is not safe: it's too easy to accidentally run programs.
Now we have a "Run as a Program" action in the context menu, which is
available by default (no configuration required) and safe (clearly
labeled, intentionally chosen).
So, remove the RUN option is no longer necessary, and with it we can
remove the preference from both the UI and GSettings schemas.
Closes https://gitlab.gnome.org/GNOME/nautilus/-/issues/1700
Discussed in https://gitlab.gnome.org/GNOME/nautilus/-/issues/443
There is an option in Preferences which enables a dialog asking users
what they intend to do when they double-click an executable text file:
open as a text file or run as a program?
The dialog asking that question has known design problems, but they
remain unaddressed, which is not surprising because it's non-default.
Now, with the new menu item added in the last commit, the two options
("Open" and "Run as a Program") are both available by default in the
context menu, so there is no need to ask the question in a dialog.
Remove the option, the dialog, and the related code.
Closes https://bugzilla.gnome.org/show_bug.cgi?id=598671
Part of https://gitlab.gnome.org/GNOME/nautilus/-/issues/1700
A gsettings-based option "confirm-trash" existed to determine if a
confirmation dialog should be shown when emptying the trash. This
setting, enabled by default, was misappropriated for the unrelated
"delete directly" operation of files outside Trash. This latter use of
this setting was misleading and unexpected (more discussion on the
linked issue page.)
Remove option "confirm-trash" entirely because neither of the above
mentioned operations are reversible, so they should always require
confirmation.
Add ellipsis to labels for the "empty trash" and "delete permanently"
actions since they now always invoke a confirmation dialog.
Closes https://gitlab.gnome.org/GNOME/nautilus/-/issues/1699
Now that we have backend support for showing and sorting by btime, add
an optional "Created" column to the list view.
This enables using the attribute as caption for icon view too.
Nautilus is a file manager, so we should star files.
Previously we starred the content resources extracted by Tracker Miner
FS, instead. This had the advantage that the stars would follow file
renames. It had the downside of being more complex and limited in
which files can be starred. In Tracker 2.x, the feature only worked
in folders indexed by Tracker Miner FS. With Tracker 3.x, it was
additionally limited to files where Tracker had extracted metadata
-- mainly just documents and media files.
This commit takes the simpler approach of storing the star against
the file URL. All files can now be starred, and stars will no longer
persist when a file is moved or renamed.
Fixes https://gitlab.gnome.org/GNOME/nautilus/-/issues/160
This means the Nautilus flatpak will be able to use Tracker on systems
which don't have Tracker 3 available on the host. It comes at a cost of
increased resource consumption inside the Flatpak due running an extra
indexer process there.
Mostly the port is straightforward, we connect to tracker-miner-fs
explicitly over D-Bus instead of the centralized tracker-store daemon
we connected to previously.
The search-engine-tracker test is now isolated from the user's real
Tracker index using the `tracker-sandbox` script provided by Tracker,
and it lets tracker-miner-fs index the test file rather than trying
to synthesize the expected database contents.
There are more changes in nautilus-tag-manager.c. Until now, starred
file information was stored in the tracker-miner-fs database. This has
some downsides, firstly the data is deleted if someone runs `tracker
reset --hard`, secondly it isn't possible to do this from inside a
Flatpak sandbox with Tracker 3.0. because the
This commit changes the NautilusTagManager to set up a private
database inside XDG_DATA_HOME/nautilus/tags. This stores the starred
file information. The database is managed with Tracker, which allows us
to continue using the rename-tracking that tracker-miner-fs provides.
The same limitations apply as before that only files in indexed
locations can be starred.
The list of releases is outdated, which is probably why GNOME Software and
"flatpak info" shows version 3.32.1 for our nightly bundles, although the
About dialog shows something completely different. Let's replace the list of
outdated releases with just the current one. Also add comment in meson.build
to not forget about it next time.
Based on patches from Felipe Borges for other apps. Quoting him:
The GNOME Shell search results are forwarded from the results of
GLib's g_desktop_app_info_search() function, which matches the
Name, Exec, Keywords, GenericName, X_GNOME_FullName, and Comment
keys from desktop files[0].
Since Totem is now named "Videos", a query for "totem" would
match the "Exec" key and present the application in the search
results as expected. Unfortunately that doesn't happen for Flaptaked
Totem, which would get its desktop file "Exec" key overwritten to
something such as Exec=/usr/bin/flatpak run --branch=stable
--arch=x86_64 --command=totem org.gnome.Totem --new-document
This way, searching for "totem" when only the Flatpaked version
of it is installed returns no results. Searching for "Videos"
presents the application as expected.
Its been proposed in GLib to parse the "Exec" key for searches
but that was rejected[1] because it would imply establishing an
API which assumes that the command line behavior of Flatpak would
be stable/never-change.
A fix was proposed in Flatpak directly[2] but it was rejected,
leaving us with the only option of adding the historical/legacy
application names to the "Keywords" key in their desktop files.
Many users, such as myself, have the "muscle memory" of search
for the old application's name, such as "totem", "gedit", "evince".
Although I agree that the new names should be presented to new
users and that the old ones shouldn't be visible in UI, it makes
sense and little effort to support the search for the old names IMO.
[0] https://gitlab.gnome.org/GNOME/glib/blob/master/gio/gdesktopappinfo.c#L378
[1] glib#1706
[2] https://github.com/flatpak/flatpak/issues/2749
Add new version of FileOperations interface. This versions adds
PlatformData argument to all methods. Currently supported arguments
are parent-handle and timestamp.
This change is necessary for proper focus handling.
https://gitlab.gnome.org/GNOME/nautilus/merge_requests/504
C++ comments ("//") are converted to C comments ("/* */"), but they
are not grouped together. So, each line is enclosed by "/* */". Let's
add cmt_cpp_group and cmt_c_group options to ensure that the single
line comments are grouped together.
Let's add "indent_ternary_operator = 1" to our uncrustify.cfg in order
to prevent the following unwanted change:
list = back ? nautilus_window_slot_get_back_history (self->window_slot) :
- nautilus_window_slot_get_forward_history (self->window_slot);
+ nautilus_window_slot_get_forward_history (self->window_slot);
Files is name which is used in the About dialog, the in Desktop file
and on the website, thus we should use it also in the AppData file as other
projects do.
This fixes the following downstream bug:
https://bugzilla.redhat.com/show_bug.cgi?id=1725120
Keep the ID as "org.gnome.Nautilus.desktop" as was in 3.32.x. The
appstream ID is supposed to be stable and not change.
This partially reverts commit e3e2811b9e
Make the capitalisation of the image captions match the translatable
titles of the dialogues in the images, so that translations can be
reused.
Signed-off-by: Philip Withnall <withnall@endlessm.com>
Network access is restricted on Flatpak build env, the same with other distros running tests for packages during the build process without network access. Fixes the pipeline from failing.
This was needed for manual layout, which was still used for handling
desktop icons. Non-desktop views still have code to gracefully handle
this value.
With the refactoring from the last commit, we can finally drop this.
The org.gnome.nautilus.preferences default-sort-order key is a currently
hidden-from-UI preference that should be honored by all views, if no
custom order is specified in the current location's metadata.
However, for this to work, two enums must be kept in sync between the
code and the schemas. This has not been happening since the introduction
of the Starred files feature.
To fix this, restore the sort order according to settings, and make
starred take the place of trash-time, which is non-sensical as default
for all folders.
Forthermore, to prevent this from breaking again, add documentation to
both enums.
Fixes https://gitlab.gnome.org/GNOME/nautilus/issues/636
- imrpove the grid fit of the shapes. Primary sizes are 128, 64 and 32,
but we render at 96 in the shell in many places.
This isn't perfect and we're probably be better off sticking to 128
in the shell, but it is less fuzzy.
Adresses issue #743
It was truly unreliable and not working clearly. We have a more powerful
and simpler API with CopyURIs, so there is no point to have this one.
This commits drops the DBus API. Note that the DBus version is not
bumped, I believe this DBus API is not used by any external service
given how broken was it.