summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Soriano <csoriano1618@gmail.com>2018-03-19 09:17:57 +0000
committerCarlos Soriano <csoriano1618@gmail.com>2018-03-19 09:17:57 +0000
commite256eae68c887a0aaedc2d2494e03bf5c416531d (patch)
tree5a14bdae7227726391168353b8f6d2a2b322adb4
parentd40a913435b031c3bc78bbb9eabe7fb470c96cc6 (diff)
parent423c4bafa615d6974f79198ede9f1fab2c311710 (diff)
downloadnautilus-e256eae68c887a0aaedc2d2494e03bf5c416531d.tar.gz
Merge branch 'flatpak-add-stable' into 'gnome-3-28'
Flatpak: Add stable handling See merge request GNOME/nautilus!155
-rw-r--r--.gitlab-ci.yml135
-rw-r--r--build-aux/flatpak/org.gnome.NautilusDevel.json (renamed from build-aux/flatpak/org.gnome.Nautilus.json)12
-rw-r--r--data/meson.build75
-rw-r--r--data/nautilus-search-provider.ini5
-rw-r--r--data/org.gnome.Nautilus.appdata.xml.in.in (renamed from data/org.gnome.Nautilus.appdata.xml.in)2
-rw-r--r--data/org.gnome.Nautilus.desktop.in.in (renamed from data/org.gnome.Nautilus.desktop.in)2
-rw-r--r--data/org.gnome.Nautilus.search-provider.ini.in5
-rw-r--r--data/org.gnome.Nautilus.service.in2
-rw-r--r--eel/meson.build3
-rw-r--r--libnautilus-extension/meson.build1
-rw-r--r--meson.build45
-rw-r--r--meson_options.txt12
-rw-r--r--src/meson.build8
-rw-r--r--src/nautilus-application.c16
-rw-r--r--src/nautilus-dbus-manager.c2
-rw-r--r--src/nautilus-file-utilities.h4
-rw-r--r--src/nautilus-preferences-window.c2
-rw-r--r--src/nautilus-shell-search-provider.c2
-rw-r--r--src/nautilus-window.c12
-rw-r--r--src/resources/css/Adwaita.css118
-rw-r--r--src/resources/ui/nautilus-window.ui1
-rw-r--r--test/automated/meson.build2
22 files changed, 390 insertions, 76 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 881d3b253..12021b0c9 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,39 +1,106 @@
-image: fedora:rawhide
+variables:
+ GIT_SUBMODULE_STRATEGY: normal
stages:
- - test
-
-before_script:
-# This helps avoid errors until a F28 stable image materializes.
- - rpm --import https://pagure.io/fedora-repos/raw/master/f/RPM-GPG-KEY-fedora-29-primary
- - dnf install -y gcc meson gettext itstool redhat-rpm-config git
- gtk3-devel gnome-autoar-devel gnome-desktop3-devel
- gobject-introspection-devel libselinux-devel
- libxml2-devel tracker-devel desktop-file-utils
- libgexiv2-devel gcovr
-
-# Coverage data contains paths relative to the build directory,
-# so changing to it makes writing filter expressions easier.
-#
-# _build/src/ contains generated sources, so that is filtered out as well.
-test:
- stage: test
+- test
+- cross_distro
+
+.test_template: &distro_test
script:
- - meson _build . -Db_coverage=true -Ddisplay-tests=false
+ - meson _build .
- cd _build
- ninja test
-# git blame me and read the log. ;)
-# - gcovr --root=.
-# --exclude=src/
-# --exclude=../data/
-# --exclude=../eel/check-program.c
-# --exclude=../eel/eel-debug.c
-# --exclude=../eel/eel-lib-self-check-functions.c
-# --exclude=../eel/eel-self-checks.c
-# --exclude=../src/animation/
-# --exclude=../src/gtk/
-# --exclude=../src/nautilus-lib-self-check-functions.c
-# --exclude=../src/nautilus-self-check-functions.c
-# --exclude=../subprojects/libgd/
-# --exclude=../test/
-# coverage: '/^TOTAL.*\s+(\d+\%)$/'
+
+flatpak:master:
+ image: flatpak/flatpak-builder:gnome-3-28
+ stage: test
+ script:
+ - flatpak-builder --stop-at=nautilus app build-aux/flatpak/org.gnome.NautilusDevel.json
+ - flatpak-builder --run app build-aux/flatpak/org.gnome.NautilusDevel.json meson --prefix=/app --libdir=/app/lib -Dprofile=development _build
+ - flatpak-builder --run app build-aux/flatpak/org.gnome.NautilusDevel.json ninja -C _build install
+ - flatpak-builder --finish-only --repo=repo app build-aux/flatpak/org.gnome.NautilusDevel.json
+ # Make a Flatpak Nautilus bundle for people to test
+ - flatpak build-bundle repo nautilus-dev.flatpak org.gnome.NautilusDevel
+ # Run automatic tests inside the Flatpak env
+ - flatpak-builder --run app build-aux/flatpak/org.gnome.NautilusDevel.json ninja -C _build test
+ artifacts:
+ paths:
+ - nautilus-dev.flatpak
+ expire_in: 2 days
+ artifacts:
+ when: on_failure
+ paths:
+ - _build/meson-logs/meson-log.txt
+ - _build/meson-logs/testslog.txt
+
+ cache:
+ paths:
+ - .flatpak-builder/cache
+
+# Pick any distro to build the coverage
+fedora:rawhide:
+ image: fedora:rawhide
+ stage: cross_distro
+ script:
+ - dnf install -y 'dnf-command(builddep)' redhat-rpm-config gcovr
+ # Waiting for gcovr 3.5 to be released.
+ - pip install git+https://github.com/gcovr/gcovr.git
+ - dnf builddep -y nautilus
+ - meson _build . -Db_coverage=true
+ # Coverage data contains paths relative to the build directory,
+ # so changing to it makes writing filter expressions easier.
+ #
+ # _build/src/ contains generated sources, so that is filtered out as well.
+ - cd _build
+ - ninja test
+ - gcovr --root=.
+ --exclude=src/
+ --exclude=../data/
+ --exclude=../eel/check-program.c
+ --exclude=../eel/eel-debug.c
+ --exclude=../eel/eel-lib-self-check-functions.c
+ --exclude=../eel/eel-self-checks.c
+ --exclude=../src/animation/
+ --exclude=../src/gtk/
+ --exclude=../src/nautilus-lib-self-check-functions.c
+ --exclude=../src/nautilus-self-check-functions.c
+ --exclude=../subprojects/libgd/
+ --exclude=../test/
+ coverage: '/^TOTAL.*\s+(\d+\%)$/'
+ only:
+ - schedules
+ - web
+ - tags
+
+ubuntu:devel:
+ image: ubuntu:devel
+ stage: cross_distro
+ before_script:
+ # Ubuntu requires running update to fetch metadata and find packges
+ - apt update
+ - apt install -y gcc meson gettext itstool git libgtk-3-dev
+ libgnome-autoar-0-dev libgnome-desktop-3-dev
+ gobject-introspection libxml2-dev
+ libtracker-control-2.0-dev desktop-file-utils libgexiv2-dev
+ libgail-3-dev libtracker-sparql-2.0-dev
+ libgirepository1.0-dev
+ <<: *distro_test
+ only:
+ - schedules
+ - web
+ - tags
+
+opensuse:tumbleweed:
+ image: opensuse:tumbleweed
+ stage: cross_distro
+ before_script:
+ - zypper install -y gcc meson gettext-runtime gettext-tools itstool git
+ gtk3-devel gnome-autoar-devel libgnome-desktop-3-devel
+ gobject-introspection-devel libxml2-devel tracker-devel
+ desktop-file-utils libgexiv2-devel
+ <<: *distro_test
+ only:
+ - schedules
+ - web
+ - tags
+
diff --git a/build-aux/flatpak/org.gnome.Nautilus.json b/build-aux/flatpak/org.gnome.NautilusDevel.json
index df0260e03..083bcdcad 100644
--- a/build-aux/flatpak/org.gnome.Nautilus.json
+++ b/build-aux/flatpak/org.gnome.NautilusDevel.json
@@ -1,11 +1,11 @@
{
- "app-id": "org.gnome.Nautilus",
+ "app-id": "org.gnome.NautilusStableFlatpak",
"runtime": "org.gnome.Platform",
- "runtime-version": "master",
+ "runtime-version": "3.28",
"sdk": "org.gnome.Sdk",
"command": "nautilus",
- "tags": ["devel", "development", "nightly"],
- "desktop-file-name-prefix": "(Development) ",
+ "tags": ["test", "stable"],
+ "desktop-file-name-prefix": "(3.28 Flatpak) ",
"finish-args": [
"--share=ipc", "--socket=x11",
"--socket=wayland",
@@ -15,7 +15,6 @@
"--talk-name=org.gtk.vfs", "--talk-name=org.gtk.vfs.*",
"--talk-name=ca.desrt.dconf", "--env=DCONF_USER_CONFIG_DIR=.config/dconf"
],
- "cleanup": [ "/include", "/share/bash-completion" ],
"modules": [
{
"name": "exiv2",
@@ -83,7 +82,8 @@
"builddir": true,
"name": "nautilus",
"config-opts": [
- "--libdir=/app/lib"
+ "--libdir=/app/lib",
+ "-Dprofile=stable-flatpak"
],
"sources": [
{
diff --git a/data/meson.build b/data/meson.build
index 6924668da..ab9b853a9 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -1,7 +1,36 @@
-install_subdir(
- join_paths('icons', 'hicolor'),
- install_dir: join_paths(datadir, 'icons')
+########## EVIL EVIL EVIL
+# See https://github.com/mesonbuild/meson/issues/1487
+# and https://github.com/mesonbuild/meson/pull/3223
+#
+# This is primarily for the “build profiles” feature,
+# to be able to have icons even if we change the application ID.
+#
+# https://gitlab.gnome.org/GNOME/nautilus/merge_requests/144
+##########
+foreach icon_size: ['16x16', '22x22', '24x24', '32x32', '48x48', '512x512']
+ configure_file(
+ command: [
+ 'cp', '@INPUT@', '@OUTPUT@'
+ ],
+ input: files(
+ join_paths('icons', 'hicolor', icon_size, 'apps', 'org.gnome.Nautilus.png')
+ ),
+ install_dir: join_paths(datadir, 'icons', 'hicolor', icon_size, 'apps'),
+ output: '@0@.png'.format(application_id)
+ )
+endforeach
+
+configure_file(
+ command: [
+ 'cp', '@INPUT@', '@OUTPUT@'
+ ],
+ input: files(
+ join_paths('icons', 'hicolor', 'symbolic', 'apps', 'org.gnome.Nautilus-symbolic.svg')
+ ),
+ install_dir: join_paths(datadir, 'icons', 'hicolor', 'symbolic', 'apps'),
+ output: '@0@-symbolic.svg'.format(application_id)
)
+##########
po_dir = join_paths(meson.source_root(), 'po')
@@ -14,10 +43,18 @@ line_up_parameters = executable(
]
)
+desktop_conf = configuration_data()
+
+desktop_conf.set('icon', application_id)
+
desktop = i18n.merge_file(
'desktop',
- input: 'org.gnome.Nautilus.desktop.in',
- output: 'org.gnome.Nautilus.desktop',
+ input: configure_file(
+ input: files('org.gnome.Nautilus.desktop.in.in'),
+ output: 'org.gnome.Nautilus.desktop.in',
+ configuration: desktop_conf
+ ),
+ output: '@0@.desktop'.format(application_id),
install: true,
install_dir: desktopdir,
po_dir: po_dir,
@@ -34,21 +71,30 @@ desktop_autorun_software = i18n.merge_file(
type: 'desktop'
)
+appdata_conf = configuration_data()
+
+appdata_conf.set('appid', application_id)
+
appdata = i18n.merge_file(
'appdata',
- input: 'org.gnome.Nautilus.appdata.xml.in',
- output: 'org.gnome.Nautilus.appdata.xml',
+ input: configure_file(
+ input: files('org.gnome.Nautilus.appdata.xml.in.in'),
+ output: 'org.gnome.Nautilus.appdata.xml.in',
+ configuration: appdata_conf
+ ),
+ output: '@0@.appdata.xml'.format(application_id),
install: true,
install_dir: join_paths(datadir, 'metainfo'),
po_dir: po_dir
)
service_conf = configuration_data()
+service_conf.set('appid', application_id)
service_conf.set('bindir', join_paths(prefix, bindir))
configure_file(
input: 'org.gnome.Nautilus.service.in',
- output: 'org.gnome.Nautilus.service',
+ output: '@0@.service'.format(application_id),
configuration: service_conf,
install_dir: servicedir
)
@@ -60,9 +106,16 @@ configure_file(
install_dir: servicedir
)
-install_data(
- 'nautilus-search-provider.ini',
- install_dir: join_paths(datadir, 'gnome-shell', 'search-providers')
+search_provider_conf = configuration_data()
+
+search_provider_conf.set('appid', application_id)
+search_provider_conf.set('profile', profile)
+
+configure_file(
+ configuration: search_provider_conf,
+ input: files('org.gnome.Nautilus.search-provider.ini.in'),
+ install_dir: join_paths(datadir, 'gnome-shell', 'search-providers'),
+ output: '@0@.search-provider.ini'.format(application_id)
)
install_data(
diff --git a/data/nautilus-search-provider.ini b/data/nautilus-search-provider.ini
deleted file mode 100644
index 20b6d1240..000000000
--- a/data/nautilus-search-provider.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[Shell Search Provider]
-DesktopId=org.gnome.Nautilus.desktop
-BusName=org.gnome.Nautilus
-ObjectPath=/org/gnome/Nautilus/SearchProvider
-Version=2
diff --git a/data/org.gnome.Nautilus.appdata.xml.in b/data/org.gnome.Nautilus.appdata.xml.in.in
index 9ec61d52a..30648b3e6 100644
--- a/data/org.gnome.Nautilus.appdata.xml.in
+++ b/data/org.gnome.Nautilus.appdata.xml.in.in
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop">
- <id>org.gnome.Nautilus.desktop</id>
+ <id>@appid@.desktop</id>
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-2.0+</project_license>
<name>Nautilus</name>
diff --git a/data/org.gnome.Nautilus.desktop.in b/data/org.gnome.Nautilus.desktop.in.in
index b7be676f7..32bcab5c5 100644
--- a/data/org.gnome.Nautilus.desktop.in
+++ b/data/org.gnome.Nautilus.desktop.in.in
@@ -5,7 +5,7 @@ Comment=Access and organize files
Keywords=folder;manager;explore;disk;filesystem;
Exec=nautilus --new-window %U
# Translators: Do NOT translate or transliterate this text (this is an icon file name)!
-Icon=org.gnome.Nautilus
+Icon=@icon@
Terminal=false
Type=Application
DBusActivatable=true
diff --git a/data/org.gnome.Nautilus.search-provider.ini.in b/data/org.gnome.Nautilus.search-provider.ini.in
new file mode 100644
index 000000000..0ef7f7910
--- /dev/null
+++ b/data/org.gnome.Nautilus.search-provider.ini.in
@@ -0,0 +1,5 @@
+[Shell Search Provider]
+DesktopId=@appid@.desktop
+BusName=@appid@
+ObjectPath=/org/gnome/Nautilus@profile@/SearchProvider
+Version=2
diff --git a/data/org.gnome.Nautilus.service.in b/data/org.gnome.Nautilus.service.in
index 48fe6fce2..55505ef73 100644
--- a/data/org.gnome.Nautilus.service.in
+++ b/data/org.gnome.Nautilus.service.in
@@ -1,3 +1,3 @@
[D-BUS Service]
-Name=org.gnome.Nautilus
+Name=@appid@
Exec=@bindir@/nautilus --gapplication-service
diff --git a/eel/meson.build b/eel/meson.build
index 3bca16fde..2f577a981 100644
--- a/eel/meson.build
+++ b/eel/meson.build
@@ -27,6 +27,7 @@ libeel_2_sources = [
]
libeel_2_deps = [
+ config_h,
gail,
glib,
gtk,
@@ -56,6 +57,6 @@ check_eel = executable(
]
)
-if get_option('display-tests')
+if get_option('tests') == 'all'
test('check-eel', check_eel)
endif
diff --git a/libnautilus-extension/meson.build b/libnautilus-extension/meson.build
index 113c779ad..d62b05c62 100644
--- a/libnautilus-extension/meson.build
+++ b/libnautilus-extension/meson.build
@@ -54,6 +54,7 @@ libnautilus_extension_sources = [
]
libnautilus_extension_deps = [
+ config_h,
glib,
gtk
]
diff --git a/meson.build b/meson.build
index 0d9099ddb..e37583f8a 100644
--- a/meson.build
+++ b/meson.build
@@ -92,12 +92,31 @@ xml = dependency('libxml-2.0', version: '>= 2.7.8')
# Configuration
conf = configuration_data()
-conf.set_quoted('VERSION', meson.project_version())
+if get_option('profile') == 'development'
+ version = '@0@-@VCS_TAG@'.format(meson.project_version())
+ profile = 'Devel'
+ name_suffix = ' (Development Snapshot)'
+elif get_option('profile') == 'stable-flatpak'
+ version = '@0@-flatpak'.format(meson.project_version())
+ profile = 'StableFlatpak'
+ name_suffix = ' (3.28 Flatpak)'
+else
+ version = meson.project_version()
+ profile = ''
+ name_suffix = ''
+endif
+
+application_id = 'org.gnome.Nautilus@0@'.format(profile)
+
+conf.set_quoted('VERSION', version)
conf.set_quoted('PACKAGE_VERSION', meson.project_version())
conf.set_quoted('GETTEXT_PACKAGE', 'nautilus')
conf.set_quoted('LOCALEDIR', join_paths(prefix, get_option('localedir')))
conf.set_quoted('NAUTILUS_DATADIR', join_paths(datadir, 'nautilus'))
conf.set_quoted('NAUTILUS_EXTENSIONDIR', join_paths(prefix, extensiondir))
+conf.set_quoted('APPLICATION_ID', application_id)
+conf.set_quoted('PROFILE', profile)
+conf.set_quoted('NAME_SUFFIX', name_suffix)
if get_option('packagekit')
conf.set10('ENABLE_PACKAGEKIT', true)
@@ -109,7 +128,25 @@ if get_option('selinux')
conf.set10('HAVE_SELINUX', true)
endif
-configure_file(output: 'config.h', configuration: conf)
+if true or get_option('profile') == 'development'
+ config_h = declare_dependency(
+ sources: vcs_tag(
+ command: ['git', 'rev-parse', '--short', 'HEAD'],
+ fallback: 'devel',
+ input: configure_file(
+ output: 'config.h.in',
+ configuration: conf
+ ),
+ output: 'config.h'
+ )
+ )
+else
+ configure_file(
+ output: 'config.h',
+ configuration: conf
+ )
+ config_h = dependency('', required: false)
+endif
#
nautilus_include_dirs = include_directories(
@@ -121,7 +158,9 @@ subdir('eel')
subdir('libnautilus-extension')
subdir('src')
-subdir('test')
+if get_option('tests') != 'none'
+ subdir('test')
+endif
subdir('data')
subdir('po')
if get_option('docs')
diff --git a/meson_options.txt b/meson_options.txt
index 6a8266777..9d514eb76 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -3,4 +3,14 @@ option('profiling', type: 'boolean', value: false)
option('extensions', type: 'boolean', value: true)
option('packagekit', type: 'boolean', value: true)
option('selinux', type: 'boolean', value: false)
-option('display-tests', type: 'boolean', value: false)
+option('tests', type: 'combo', choices: ['none', 'headless', 'all'], value: 'headless')
+option(
+ 'profile',
+ type: 'combo',
+ choices: [
+ 'default',
+ 'stable-flatpak',
+ 'development'
+ ],
+ value: 'default'
+)
diff --git a/src/meson.build b/src/meson.build
index 9419aa83a..0979128c8 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -266,6 +266,7 @@ libnautilus_sources = [
]
nautilus_deps = [
+ config_h,
eel_2,
gio_unix,
gmodule,
@@ -303,7 +304,7 @@ nautilus = executable(
install: true
)
-if get_option('display-tests')
+if get_option('tests') == 'all'
test(
'nautilus', nautilus,
args: [
@@ -323,6 +324,9 @@ executable(
'nautilus-autorun-software',
nautilus_autorun_software_sources,
include_directories: nautilus_include_dirs,
- dependencies: gtk,
+ dependencies: [
+ config_h,
+ gtk
+ ],
install: true
)
diff --git a/src/nautilus-application.c b/src/nautilus-application.c
index 241c809dc..3c657ad56 100644
--- a/src/nautilus-application.c
+++ b/src/nautilus-application.c
@@ -245,6 +245,7 @@ nautilus_application_create_window (NautilusApplication *self,
g_autoptr (GVariant) default_size = NULL;
gint default_width = 0;
gint default_height = 0;
+ const gchar *application_id;
g_return_val_if_fail (NAUTILUS_IS_APPLICATION (self), NULL);
nautilus_profile_start (NULL);
@@ -270,6 +271,17 @@ nautilus_application_create_window (NautilusApplication *self,
MAX (NAUTILUS_WINDOW_MIN_WIDTH, default_width),
MAX (NAUTILUS_WINDOW_MIN_HEIGHT, default_height));
+ application_id = g_application_get_application_id (G_APPLICATION (self));
+ if (g_strcmp0 (application_id, "org.gnome.NautilusDevel") == 0 ||
+ g_strcmp0 (application_id, "org.gnome.NautilusStableFlatpak") == 0)
+ {
+ GtkStyleContext *style_context;
+
+ style_context = gtk_widget_get_style_context (GTK_WIDGET (window));
+
+ gtk_style_context_add_class (style_context, "devel");
+ }
+
DEBUG ("Creating a new navigation window");
nautilus_profile_end (NULL);
@@ -1253,7 +1265,7 @@ nautilus_application_startup_common (NautilusApplication *self)
*/
G_APPLICATION_CLASS (nautilus_application_parent_class)->startup (G_APPLICATION (self));
- gtk_window_set_default_icon_name ("org.gnome.Nautilus");
+ gtk_window_set_default_icon_name (APPLICATION_ID);
setup_theme_extensions ();
@@ -1535,7 +1547,7 @@ NautilusApplication *
nautilus_application_new (void)
{
return g_object_new (NAUTILUS_TYPE_APPLICATION,
- "application-id", "org.gnome.Nautilus",
+ "application-id", APPLICATION_ID,
"flags", G_APPLICATION_HANDLES_COMMAND_LINE | G_APPLICATION_HANDLES_OPEN,
"inactivity-timeout", 12000,
NULL);
diff --git a/src/nautilus-dbus-manager.c b/src/nautilus-dbus-manager.c
index ae09247e7..3611a2358 100644
--- a/src/nautilus-dbus-manager.c
+++ b/src/nautilus-dbus-manager.c
@@ -171,7 +171,7 @@ nautilus_dbus_manager_register (NautilusDBusManager *self,
GError **error)
{
return g_dbus_interface_skeleton_export (G_DBUS_INTERFACE_SKELETON (self->file_operations),
- connection, "/org/gnome/Nautilus", error);
+ connection, "/org/gnome/Nautilus" PROFILE, error);
}
void
diff --git a/src/nautilus-file-utilities.h b/src/nautilus-file-utilities.h
index a5a523830..4b2124b3b 100644
--- a/src/nautilus-file-utilities.h
+++ b/src/nautilus-file-utilities.h
@@ -26,7 +26,9 @@
#include <gio/gio.h>
#include <gtk/gtk.h>
-#define NAUTILUS_DESKTOP_ID "org.gnome.Nautilus.desktop"
+#include <config.h>
+
+#define NAUTILUS_DESKTOP_ID APPLICATION_ID ".desktop"
/* These functions all return something something that needs to be
* freed with g_free, is not NULL, and is guaranteed to exist.
diff --git a/src/nautilus-preferences-window.c b/src/nautilus-preferences-window.c
index 66b5e1782..e0d44d1be 100644
--- a/src/nautilus-preferences-window.c
+++ b/src/nautilus-preferences-window.c
@@ -509,7 +509,7 @@ static void nautilus_preferences_window_setup(GtkBuilder *builder,
window = GTK_WIDGET (gtk_builder_get_object (builder, "preferences_window"));
preferences_window = window;
- gtk_window_set_icon_name (GTK_WINDOW (preferences_window), "org.gnome.Nautilus");
+ gtk_window_set_icon_name (GTK_WINDOW (preferences_window), APPLICATION_ID);
g_object_add_weak_pointer (G_OBJECT (window), (gpointer *) &preferences_window);
diff --git a/src/nautilus-shell-search-provider.c b/src/nautilus-shell-search-provider.c
index cdadc08d3..56e26e431 100644
--- a/src/nautilus-shell-search-provider.c
+++ b/src/nautilus-shell-search-provider.c
@@ -779,7 +779,7 @@ nautilus_shell_search_provider_register (NautilusShellSearchProvider *self,
{
return g_dbus_interface_skeleton_export (G_DBUS_INTERFACE_SKELETON (self->skeleton),
connection,
- "/org/gnome/Nautilus/SearchProvider", error);
+ "/org/gnome/Nautilus" PROFILE "/SearchProvider", error);
}
void
diff --git a/src/nautilus-window.c b/src/nautilus-window.c
index 49f03ec05..cecdf3b59 100644
--- a/src/nautilus-window.c
+++ b/src/nautilus-window.c
@@ -2987,6 +2987,7 @@ NautilusWindow *
nautilus_window_new (GdkScreen *screen)
{
return g_object_new (NAUTILUS_TYPE_WINDOW,
+ "icon-name", APPLICATION_ID,
"screen", screen,
NULL);
}
@@ -3071,9 +3072,16 @@ nautilus_window_show_about_dialog (NautilusWindow *window)
"Sun Microsystems",
NULL
};
+ g_autofree gchar *program_name = NULL;
+
+ /* “Files” is the generic application name and the suffix is
+ * an arbitrary and deliberately unlocalized string only shown
+ * in development builds.
+ */
+ program_name = g_strconcat (_("Files"), NAME_SUFFIX, NULL);
gtk_show_about_dialog (window ? GTK_WINDOW (window) : NULL,
- "program-name", _("Files"),
+ "program-name", program_name,
"version", VERSION,
"comments", _("Access and organize your files."),
"copyright", "Copyright © 1999–2016 The Files Authors",
@@ -3086,7 +3094,7 @@ nautilus_window_show_about_dialog (NautilusWindow *window)
* box to give credit to the translator(s).
*/
"translator-credits", _("translator-credits"),
- "logo-icon-name", "org.gnome.Nautilus",
+ "logo-icon-name", APPLICATION_ID,
NULL);
}
diff --git a/src/resources/css/Adwaita.css b/src/resources/css/Adwaita.css
index 098d0914a..b45361a78 100644
--- a/src/resources/css/Adwaita.css
+++ b/src/resources/css/Adwaita.css
@@ -4,6 +4,124 @@
background: @theme_base_color;
}
+/* Devel window styling */
+.nautilus-window.devel headerbar {
+ background: #cbd2d9 -gtk-icontheme("system-run-symbolic") 70% 0/64px 64px no-repeat, linear-gradient(to top, #a5b1bd, #c5cdd5 2px, #cbd2d9 3px);
+ box-shadow: inset 0 1px #f1f3f5;
+ border-color: #909fae;
+ color: rgba(46, 52, 54, 0.2);
+}
+.nautilus-window.devel headerbar > * {
+ color: #2e3436;
+}
+.nautilus-window.devel headerbar > *:backdrop {
+ color: #8b8e8f;
+}
+.nautilus-window.devel headerbar:backdrop {
+ background-image: -gtk-icontheme("system-run-symbolic"), image(#cbd2d9);
+ box-shadow: inset 0 1px #f1f3f5;
+ color: rgba(139, 142, 143, 0.1);
+}
+.nautilus-window.devel headerbar button {
+ color: #2e3436;
+ outline-color: rgba(46, 52, 54, 0.3);
+ border-color: #909fae;
+ border-bottom-color: #738698;
+ background-image: linear-gradient(to bottom, #cbd2d9, #bfc8d0 60%, #aeb9c3);
+ text-shadow: 0 1px rgba(255, 255, 255, 0.76923);
+ -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.76923);
+ box-shadow: inset 0 1px rgba(255, 255, 255, 0.6);
+}
+.nautilus-window.devel headerbar button.flat,
+.nautilus-window.devel headerbar button.titlebutton {
+ border-color: transparent;
+ background-color: transparent;
+ background-image: none;
+ box-shadow: inset 0 1px rgba(255, 255, 255, 0);
+ text-shadow: none;
+ -gtk-icon-shadow: none;
+}
+.nautilus-window.devel headerbar button.titlebutton {
+ text-shadow: 0 1px rgba(255, 255, 255, 0.76923);
+ -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.76923);
+}
+.nautilus-window.devel headerbar button:hover {
+ color: #2e3436;
+ outline-color: rgba(46, 52, 54, 0.3);
+ border-color: #909fae;
+ border-bottom-color: #738698;
+ text-shadow: 0 1px rgba(255, 255, 255, 0.76923);
+ -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.76923);
+ box-shadow: inset 0 1px rgba(255, 255, 255, 0.6);
+ background-image: linear-gradient(to bottom, #dde1e6, #cbd2d9 60%, #bfc8d0);
+}
+.nautilus-window.devel headerbar button:active,
+.nautilus-window.devel headerbar button:checked {
+ color: #2e3436;
+ outline-color: rgba(46, 52, 54, 0.3);
+ border-color: #909fae;
+ background-image: image(#b9c3cc);
+ box-shadow: inset 0 1px rgba(255, 255, 255, 0);
+ text-shadow: none;
+ -gtk-icon-shadow: none;
+}
+.nautilus-window.devel headerbar button:disabled {
+ border-color: #909fae;
+ background-image: image(#d3d9df);
+ text-shadow: none;
+ -gtk-icon-shadow: none;
+ box-shadow: inset 0 1px rgba(255, 255, 255, 0);
+}
+.nautilus-window.devel headerbar button:disabled label,
+.nautilus-window.devel headerbar button:disabled {
+ color: #8b8e8f;
+}
+.nautilus-window.devel headerbar button:backdrop {
+ border-color: #cbd2d9;
+ background-image: image(#cbd2d9);
+ text-shadow: none;
+ -gtk-icon-shadow: none;
+ box-shadow: inset 0 1px rgba(255, 255, 255, 0);
+ border-color: #909fae;
+}
+.nautilus-window.devel headerbar button:backdrop label,
+.nautilus-window.devel headerbar button:backdrop {
+ color: #8b8e8f;
+}
+.nautilus-window.devel headerbar button:backdrop:active {
+ border-color: #bbc5ce;
+ background-image: image(#bbc5ce);
+ box-shadow: inset 0 1px rgba(255, 255, 255, 0);
+ border-color: #909fae;
+}
+.nautilus-window.devel headerbar button:backdrop:active label,
+.nautilus-window.devel headerbar button:backdrop:active {
+ color: #8b8e8f;
+}
+.nautilus-window.devel headerbar button:backdrop:disabled {
+ border-color: #d3d9df;
+ background-image: image(#d3d9df);
+ text-shadow: none;
+ -gtk-icon-shadow: none;
+ box-shadow: inset 0 1px rgba(255, 255, 255, 0);
+ border-color: #909fae;
+}
+.nautilus-window.devel headerbar button:backdrop:disabled label,
+.nautilus-window.devel headerbar button:backdrop:disabled {
+ color: #999fa4;
+}
+.nautilus-window.devel headerbar button.flat:backdrop,
+.nautilus-window.devel headerbar button.titlebutton:backdrop {
+ border-color: transparent;
+ background-color: transparent;
+ background-image: none;
+ box-shadow: inset 0 1px rgba(255, 255, 255, 0);
+ text-shadow: none;
+ -gtk-icon-shadow: none;
+}
+
+/* End devel window styling */
+
.nautilus-canvas-item {
border-radius: 5px;
}
diff --git a/src/resources/ui/nautilus-window.ui b/src/resources/ui/nautilus-window.ui
index ba988b325..52efc2ecc 100644
--- a/src/resources/ui/nautilus-window.ui
+++ b/src/resources/ui/nautilus-window.ui
@@ -3,7 +3,6 @@
<template class="NautilusWindow" parent="GtkApplicationWindow">
<property name="show-menubar">False</property>
<property name="title" translatable="yes">_Files</property>
- <property name="icon-name">org.gnome.Nautilus</property>
<child type="titlebar">
<object class="NautilusToolbar" id="toolbar">
<!-- We override the title widget so the GtkHeaderBar stop managing the
diff --git a/test/automated/meson.build b/test/automated/meson.build
index f71d0e884..a1122423a 100644
--- a/test/automated/meson.build
+++ b/test/automated/meson.build
@@ -1,4 +1,4 @@
subdir('displayless')
-if get_option('display-tests')
+if get_option('tests') == 'all'
subdir('display')
endif