Skip to content

Commit 69f341a

Browse files
authored
Merge pull request #130380 from bobby285271/switchboard
Pantheon 6.0.2
2 parents 84258de + 1b16dbe commit 69f341a

File tree

115 files changed

+1764
-1581
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

115 files changed

+1764
-1581
lines changed

nixos/doc/manual/from_md/release-notes/rl-2111.section.xml

+14-4
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,13 @@
5555
actions.
5656
</para>
5757
</listitem>
58+
<listitem>
59+
<para>
60+
Pantheon desktop has been updated to version 6. Due to changes
61+
of screen locker, if locking doesn’t work for you, please try
62+
<literal>gsettings set org.gnome.desktop.lockdown disable-lock-screen false</literal>.
63+
</para>
64+
</listitem>
5865
</itemizedlist>
5966
</section>
6067
<section xml:id="sec-release-21.11-new-services">
@@ -189,8 +196,6 @@
189196
<link linkend="opt-services.isso.enable">isso</link>
190197
</para>
191198
</listitem>
192-
</itemizedlist>
193-
<itemizedlist spacing="compact">
194199
<listitem>
195200
<para>
196201
<link xlink:href="https://www.navidrome.org/">navidrome</link>,
@@ -199,8 +204,6 @@
199204
<link linkend="opt-services.navidrome.enable">navidrome</link>.
200205
</para>
201206
</listitem>
202-
</itemizedlist>
203-
<itemizedlist>
204207
<listitem>
205208
<para>
206209
<link xlink:href="https://docs.fluidd.xyz/">fluidd</link>, a
@@ -263,6 +266,13 @@
263266
unified analytics engine for large-scale data processing.
264267
</para>
265268
</listitem>
269+
<listitem>
270+
<para>
271+
<link xlink:href="https://github.com/JoseExposito/touchegg">touchegg</link>,
272+
a multi-touch gesture recognizer. Available as
273+
<link linkend="opt-services.touchegg.enable">services.touchegg</link>.
274+
</para>
275+
</listitem>
266276
</itemizedlist>
267277
</section>
268278
<section xml:id="sec-release-21.11-incompatibilities">

nixos/doc/manual/release-notes/rl-2111.section.md

+5-1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ In addition to numerous new and upgraded packages, this release has the followin
2020
This allows activation scripts to output what they would change if the activation was really run.
2121
The users/modules activation script supports this and outputs some of is actions.
2222

23+
- Pantheon desktop has been updated to version 6. Due to changes of screen locker, if locking doesn't work for you, please try `gsettings set org.gnome.desktop.lockdown disable-lock-screen false`.
24+
2325
## New Services {#sec-release-21.11-new-services}
2426

2527
- [btrbk](https://digint.ch/btrbk/index.html), a backup tool for btrfs subvolumes, taking advantage of btrfs specific capabilities to create atomic snapshots and transfer them incrementally to your backup locations. Available as [services.btrbk](options.html#opt-services.brtbk.instances).
@@ -60,7 +62,7 @@ pt-services.clipcat.enable).
6062
- [isso](https://posativ.org/isso/), a commenting server similar to Disqus.
6163
Available as [isso](#opt-services.isso.enable)
6264

63-
* [navidrome](https://www.navidrome.org/), a personal music streaming server with
65+
- [navidrome](https://www.navidrome.org/), a personal music streaming server with
6466
subsonic-compatible api. Available as [navidrome](#opt-services.navidrome.enable).
6567

6668
- [fluidd](https://docs.fluidd.xyz/), a Klipper web interface for managing 3d printers using moonraker. Available as [fluidd](#opt-services.fluidd.enable).
@@ -82,6 +84,8 @@ subsonic-compatible api. Available as [navidrome](#opt-services.navidrome.enable
8284

8385
- [spark](https://spark.apache.org/), a unified analytics engine for large-scale data processing.
8486

87+
- [touchegg](https://github.com/JoseExposito/touchegg), a multi-touch gesture recognizer. Available as [services.touchegg](#opt-services.touchegg.enable).
88+
8589
## Backward Incompatibilities {#sec-release-21.11-incompatibilities}
8690

8791

nixos/modules/module-list.nix

+1
Original file line numberDiff line numberDiff line change
@@ -1055,6 +1055,7 @@
10551055
./services/x11/gdk-pixbuf.nix
10561056
./services/x11/imwheel.nix
10571057
./services/x11/redshift.nix
1058+
./services/x11/touchegg.nix
10581059
./services/x11/urserver.nix
10591060
./services/x11/urxvtd.nix
10601061
./services/x11/window-managers/awesome.nix

nixos/modules/services/x11/desktop-managers/pantheon.nix

+16-10
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,9 @@ in
134134
services.accounts-daemon.enable = true;
135135
services.bamf.enable = true;
136136
services.colord.enable = mkDefault true;
137+
services.fwupd.enable = mkDefault true;
138+
services.touchegg.enable = mkDefault true;
139+
services.touchegg.package = pkgs.pantheon.touchegg;
137140
services.tumbler.enable = mkDefault true;
138141
services.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true));
139142
services.dbus.packages = with pkgs.pantheon; [
@@ -162,12 +165,11 @@ in
162165
isAllowed = true;
163166
isSystem = true;
164167
};
165-
# Use gnome-settings-daemon fork
166168
services.udev.packages = [
167-
pkgs.pantheon.elementary-settings-daemon
169+
pkgs.gnome.gnome-settings-daemon338
168170
];
169171
systemd.packages = [
170-
pkgs.pantheon.elementary-settings-daemon
172+
pkgs.gnome.gnome-settings-daemon338
171173
];
172174
programs.dconf.enable = true;
173175
networking.networkmanager.enable = mkDefault true;
@@ -180,7 +182,6 @@ in
180182
gnome.adwaita-icon-theme
181183
gtk3.out
182184
hicolor-icon-theme
183-
lightlocker
184185
onboard
185186
qgnomeplatform
186187
shared-mime-info
@@ -208,25 +209,26 @@ in
208209

209210
# Services
210211
elementary-capnet-assist
211-
elementary-dpms-helper
212212
elementary-notifications
213213
elementary-settings-daemon
214214
pantheon-agent-geoclue2
215215
pantheon-agent-polkit
216216
]) ++ (gnome.removePackagesByName [
217-
gnome.geary
218-
gnome.epiphany
219217
gnome.gnome-font-viewer
218+
gnome.gnome-settings-daemon338
220219
] config.environment.pantheon.excludePackages);
221220

222221
programs.evince.enable = mkDefault true;
223222
programs.file-roller.enable = mkDefault true;
224223

225224
# Settings from elementary-default-settings
226225
environment.sessionVariables.GTK_CSD = "1";
227-
environment.sessionVariables.GTK3_MODULES = [ "pantheon-filechooser-module" ];
228226
environment.etc."gtk-3.0/settings.ini".source = "${pkgs.pantheon.elementary-default-settings}/etc/gtk-3.0/settings.ini";
229227

228+
xdg.portal.extraPortals = [
229+
pkgs.pantheon.elementary-files
230+
];
231+
230232
# Override GSettings schemas
231233
environment.sessionVariables.NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas";
232234

@@ -254,6 +256,8 @@ in
254256

255257
# Default Fonts
256258
fonts.fonts = with pkgs; [
259+
inter
260+
open-dyslexic
257261
open-sans
258262
roboto-mono
259263
];
@@ -271,14 +275,16 @@ in
271275
elementary-camera
272276
elementary-code
273277
elementary-files
278+
elementary-mail
274279
elementary-music
275280
elementary-photos
276-
elementary-screenshot-tool
281+
elementary-screenshot
277282
elementary-terminal
278283
elementary-videos
284+
epiphany
279285
] config.environment.pantheon.excludePackages);
280286

281-
# needed by screenshot-tool
287+
# needed by screenshot
282288
fonts.fonts = [
283289
pkgs.pantheon.elementary-redacted-script
284290
];

nixos/modules/services/x11/desktop-managers/pantheon.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<programlisting>
2323
<xref linkend="opt-services.pantheon.apps.enable"/> = false;
2424
</programlisting>
25-
You can also use <xref linkend="opt-environment.pantheon.excludePackages"/> to remove any other app (like <package>geary</package>).
25+
You can also use <xref linkend="opt-environment.pantheon.excludePackages"/> to remove any other app (like <package>elementary-mail</package>).
2626
</para>
2727
</section>
2828
<section xml:id="sec-pantheon-wingpanel-switchboard">
+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
{ config, lib, pkgs, ... }:
2+
3+
with lib;
4+
5+
let cfg = config.services.touchegg;
6+
7+
in {
8+
meta = {
9+
maintainers = teams.pantheon.members;
10+
};
11+
12+
###### interface
13+
options.services.touchegg = {
14+
enable = mkEnableOption "touchegg, a multi-touch gesture recognizer";
15+
16+
package = mkOption {
17+
type = types.package;
18+
default = pkgs.touchegg;
19+
defaultText = "pkgs.touchegg";
20+
description = "touchegg derivation to use.";
21+
};
22+
};
23+
24+
###### implementation
25+
config = mkIf cfg.enable {
26+
systemd.services.touchegg = {
27+
description = "Touchegg Daemon";
28+
serviceConfig = {
29+
Type = "simple";
30+
ExecStart = "${cfg.package}/bin/touchegg --daemon";
31+
Restart = "on-failure";
32+
};
33+
wantedBy = [ "multi-user.target" ];
34+
};
35+
36+
environment.systemPackages = [ cfg.package ];
37+
};
38+
}

nixos/tests/pantheon.nix

+2-2
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@ import ./make-test-python.nix ({ pkgs, ...} :
4545
with subtest("Check if pantheon session components actually start"):
4646
machine.wait_until_succeeds("pgrep gala")
4747
machine.wait_for_window("gala")
48-
machine.wait_until_succeeds("pgrep wingpanel")
49-
machine.wait_for_window("wingpanel")
48+
machine.wait_until_succeeds("pgrep -f io.elementary.wingpanel")
49+
machine.wait_for_window("io.elementary.wingpanel")
5050
machine.wait_until_succeeds("pgrep plank")
5151
machine.wait_for_window("plank")
5252
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
diff --git a/meson.build b/meson.build
2+
index de9cbfa850..647f617605 100644
3+
--- a/meson.build
4+
+++ b/meson.build
5+
@@ -92,6 +92,7 @@ iso_codes_dep = dependency('iso-codes', version: '>= 0.35')
6+
json_glib_dep = dependency('json-glib-1.0', version: '>= 1.6')
7+
libarchive_dep = dependency('libarchive')
8+
libdazzle_dep = dependency('libdazzle-1.0', version: '>= 3.37.1')
9+
+libgranite_dep = dependency('granite', version: '>= 6.0.0')
10+
libhandy_dep = dependency('libhandy-1', version: '>= 1.1.0')
11+
libsecret_dep = dependency('libsecret-1', version: '>= 0.19.0')
12+
libsoup_dep = dependency('libsoup-2.4', version: '>= 2.48.0')
13+
diff --git a/src/ephy-shell.c b/src/ephy-shell.c
14+
index 650531da86..b9d1355e86 100644
15+
--- a/src/ephy-shell.c
16+
+++ b/src/ephy-shell.c
17+
@@ -50,6 +50,7 @@
18+
19+
#include <glib/gi18n.h>
20+
#include <gtk/gtk.h>
21+
+#include <granite.h>
22+
#include <handy.h>
23+
24+
struct _EphyShell {
25+
@@ -483,6 +484,20 @@ run_in_background_set_mapping (const GValue *value,
26+
return g_variant_new_boolean (g_variant_get_boolean (var));
27+
}
28+
29+
+static void
30+
+ephy_shell_set_prefers_color_scheme (EphyShell *shell)
31+
+{
32+
+ GtkSettings* gtk_settings = gtk_settings_get_default ();
33+
+ GraniteSettings* granite_settings = granite_settings_get_default ();
34+
+
35+
+ g_object_set (
36+
+ gtk_settings,
37+
+ "gtk-application-prefer-dark-theme",
38+
+ granite_settings_get_prefers_color_scheme (granite_settings) == GRANITE_SETTINGS_COLOR_SCHEME_DARK,
39+
+ NULL
40+
+ );
41+
+}
42+
+
43+
static void
44+
ephy_shell_startup (GApplication *application)
45+
{
46+
@@ -490,11 +505,18 @@ ephy_shell_startup (GApplication *application)
47+
EphyShell *shell = EPHY_SHELL (application);
48+
EphyEmbedShellMode mode;
49+
GAction *action;
50+
+ GraniteSettings* granite_settings = granite_settings_get_default ();
51+
52+
G_APPLICATION_CLASS (ephy_shell_parent_class)->startup (application);
53+
54+
hdy_init ();
55+
56+
+ ephy_shell_set_prefers_color_scheme (shell);
57+
+
58+
+ g_signal_connect (granite_settings, "notify::prefers-color-scheme",
59+
+ G_CALLBACK (ephy_shell_set_prefers_color_scheme), shell
60+
+ );
61+
+
62+
/* If we are under Pantheon set the icon-theme and cursor-theme accordingly. */
63+
if (is_desktop_pantheon ()) {
64+
GtkSettings *settings = gtk_settings_get_default ();
65+
diff --git a/src/meson.build b/src/meson.build
66+
index 5bf3eb92ec..d17b1b6d93 100644
67+
--- a/src/meson.build
68+
+++ b/src/meson.build
69+
@@ -74,6 +74,7 @@ libephymain_deps = [
70+
gdk_dep,
71+
gvdb_dep,
72+
libarchive_dep,
73+
+ libgranite_dep,
74+
libhandy_dep
75+
]
76+

pkgs/desktops/gnome/core/epiphany/default.nix

+11-2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
, icu
1010
, wrapGAppsHook
1111
, gnome
12+
, pantheon
1213
, libportal
1314
, libxml2
1415
, libxslt
@@ -33,6 +34,7 @@
3334
, libdazzle
3435
, libhandy
3536
, buildPackages
37+
, withPantheon ? false
3638
}:
3739

3840
stdenv.mkDerivation rec {
@@ -44,6 +46,13 @@ stdenv.mkDerivation rec {
4446
sha256 = "2tE4ufLVXeJxEo/KOLYfU/2YDFh9KeG6a1CP/zsZ9WQ=";
4547
};
4648

49+
patches = lib.optionals withPantheon [
50+
# https://github.com/elementary/browser
51+
# FIXME: Update the patches when https://github.com/elementary/browser/pull/41 merged
52+
./dark-style.patch
53+
./navigation-buttons.patch
54+
];
55+
4756
nativeBuildInputs = [
4857
desktop-file-utils
4958
gettext
@@ -87,7 +96,7 @@ stdenv.mkDerivation rec {
8796
p11-kit
8897
sqlite
8998
webkitgtk
90-
];
99+
] ++ lib.optional withPantheon pantheon.granite;
91100

92101
# Tests need an X display
93102
mesonFlags = [
@@ -108,7 +117,7 @@ stdenv.mkDerivation rec {
108117
meta = with lib; {
109118
homepage = "https://wiki.gnome.org/Apps/Epiphany";
110119
description = "WebKit based web browser for GNOME";
111-
maintainers = teams.gnome.members;
120+
maintainers = teams.gnome.members ++ teams.pantheon.members;
112121
license = licenses.gpl3Plus;
113122
platforms = platforms.linux;
114123
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
diff --git a/src/resources/gtk/action-bar-start.ui b/src/resources/gtk/action-bar-start.ui
2+
index e604b9601f..2bfe244d53 100644
3+
--- a/src/resources/gtk/action-bar-start.ui
4+
+++ b/src/resources/gtk/action-bar-start.ui
5+
@@ -7,7 +7,6 @@
6+
<property name="visible">True</property>
7+
<property name="orientation">horizontal</property>
8+
<style>
9+
- <class name="linked"/>
10+
<class name="navigation-box"/>
11+
</style>
12+
<child>

0 commit comments

Comments
 (0)