Updated patches
This commit is contained in:
parent
32aa700f52
commit
f2ff9c6e41
@ -1,45 +0,0 @@
|
|||||||
From 16b46e295b86cbf1beaccf8218cf65ebb4b7a6f1 Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Guido=20G=C3=BCnther?= <agx@sigxcpu.org>
|
|
||||||
Date: Wed, 13 Jul 2022 17:33:05 +0200
|
|
||||||
Subject: [PATCH] build: Adjust to polkit version changes
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
So far it was `0.x` now it's `y` so don't fail if there's
|
|
||||||
no `.` in the version number. Otherwise we fail like
|
|
||||||
|
|
||||||
src/meson.build:295:0: ERROR: Index 1 out of bounds of array of size 1.
|
|
||||||
|
|
||||||
Signed-off-by: Guido Günther <guido.gunther@puri.sm>
|
|
||||||
Part-of: <https://gitlab.gnome.org/World/Phosh/phosh/-/merge_requests/1105>
|
|
||||||
---
|
|
||||||
src/meson.build | 12 ++++++++++--
|
|
||||||
1 file changed, 10 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/meson.build b/src/meson.build
|
|
||||||
index 6f00e2d..c41207a 100644
|
|
||||||
--- a/src/meson.build
|
|
||||||
+++ b/src/meson.build
|
|
||||||
@@ -292,9 +292,17 @@ phosh_deps = [
|
|
||||||
cc.find_library('rt', required: false),
|
|
||||||
]
|
|
||||||
|
|
||||||
+polkit_version = libpolkit_agent_dep.version().split('.')
|
|
||||||
+if polkit_version.length() == 1
|
|
||||||
+ polkit_major = polkit_version[0]
|
|
||||||
+ polkit_minor = '0'
|
|
||||||
+else
|
|
||||||
+ polkit_major = polkit_version[0]
|
|
||||||
+ polkit_minor = polkit_version[1]
|
|
||||||
+endif
|
|
||||||
add_project_arguments([
|
|
||||||
- '-DPOLKIT_AGENT_MAJOR_VERSION=' + libpolkit_agent_dep.version().split('.')[0],
|
|
||||||
- '-DPOLKIT_AGENT_MINOR_VERSION=' + libpolkit_agent_dep.version().split('.')[1]
|
|
||||||
+ '-DPOLKIT_AGENT_MAJOR_VERSION=' + polkit_major,
|
|
||||||
+ '-DPOLKIT_AGENT_MINOR_VERSION=' + polkit_minor,
|
|
||||||
], language: 'c')
|
|
||||||
|
|
||||||
phosh_inc = include_directories('.')
|
|
||||||
--
|
|
||||||
2.35.1
|
|
@ -1,375 +0,0 @@
|
|||||||
From 91637428127909ebabf3ea3ce7f6e251fd9e0382 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Adrien Plazas <kekun.plazas@laposte.net>
|
|
||||||
Date: Tue, 18 Jan 2022 11:24:10 +0100
|
|
||||||
Subject: [PATCH 1/2] app-grid-button: Add the adaptive property
|
|
||||||
|
|
||||||
If false, the button will show an icon denoting desktop support only.
|
|
||||||
---
|
|
||||||
data/icons/desktop-thin-small-symbolic.svg | 4 ++
|
|
||||||
src/app-grid-button.c | 63 +++++++++++++++++++++-
|
|
||||||
src/app-grid-button.h | 3 ++
|
|
||||||
src/phosh.gresources.xml | 1 +
|
|
||||||
src/ui/app-grid-button.ui | 25 +++++++--
|
|
||||||
5 files changed, 89 insertions(+), 7 deletions(-)
|
|
||||||
create mode 100644 data/icons/desktop-thin-small-symbolic.svg
|
|
||||||
|
|
||||||
diff --git a/data/icons/desktop-thin-small-symbolic.svg b/data/icons/desktop-thin-small-symbolic.svg
|
|
||||||
new file mode 100644
|
|
||||||
index 000000000..46111bd10
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/data/icons/desktop-thin-small-symbolic.svg
|
|
||||||
@@ -0,0 +1,4 @@
|
|
||||||
+<svg width="8" height="8" version="1.1" viewBox="0 0 8 8" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
+ <rect x="2" y="7" width="4" height="1" fill="#241f31"/>
|
|
||||||
+ <path d="m1.5 1c-0.82235 0-1.5 0.67765-1.5 1.5v2c0 0.82235 0.67765 1.5 1.5 1.5h5c0.82235 0 1.5-0.67765 1.5-1.5v-2c0-0.82235-0.67765-1.5-1.5-1.5zm0 1h5c0.28565 0 0.5 0.21435 0.5 0.5v2c0 0.28565-0.21435 0.5-0.5 0.5h-5c-0.28565 0-0.5-0.21435-0.5-0.5v-2c0-0.28565 0.21435-0.5 0.5-0.5z" color="#000000" fill="#241f31" stroke-dashoffset="26.4" stroke-linecap="square" stroke-linejoin="round"/>
|
|
||||||
+</svg>
|
|
||||||
diff --git a/src/app-grid-button.c b/src/app-grid-button.c
|
|
||||||
index f65c00b87..e66401772 100644
|
|
||||||
--- a/src/app-grid-button.c
|
|
||||||
+++ b/src/app-grid-button.c
|
|
||||||
@@ -22,12 +22,15 @@ struct _PhoshAppGridButtonPrivate {
|
|
||||||
GAppInfo *info;
|
|
||||||
gboolean is_favorite;
|
|
||||||
PhoshAppGridButtonMode mode;
|
|
||||||
+ gboolean adaptive;
|
|
||||||
|
|
||||||
gulong favorite_changed_watcher;
|
|
||||||
|
|
||||||
+ GtkWidget *form_factor_desktop;
|
|
||||||
GtkWidget *icon;
|
|
||||||
GtkWidget *label;
|
|
||||||
GtkWidget *popover;
|
|
||||||
+ GtkWidget *title_box;
|
|
||||||
GtkGesture *gesture;
|
|
||||||
|
|
||||||
GMenu *menu;
|
|
||||||
@@ -43,6 +46,7 @@ enum {
|
|
||||||
PROP_APP_INFO,
|
|
||||||
PROP_IS_FAVORITE,
|
|
||||||
PROP_MODE,
|
|
||||||
+ PROP_ADAPTIVE,
|
|
||||||
LAST_PROP
|
|
||||||
};
|
|
||||||
static GParamSpec *props[LAST_PROP];
|
|
||||||
@@ -68,6 +72,9 @@ phosh_app_grid_button_set_property (GObject *object,
|
|
||||||
case PROP_MODE:
|
|
||||||
phosh_app_grid_button_set_mode (self, g_value_get_enum (value));
|
|
||||||
break;
|
|
||||||
+ case PROP_ADAPTIVE:
|
|
||||||
+ phosh_app_grid_button_set_adaptive (self, g_value_get_boolean (value));
|
|
||||||
+ break;
|
|
||||||
default:
|
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
|
||||||
break;
|
|
||||||
@@ -93,6 +100,9 @@ phosh_app_grid_button_get_property (GObject *object,
|
|
||||||
case PROP_MODE:
|
|
||||||
g_value_set_enum (value, phosh_app_grid_button_get_mode (self));
|
|
||||||
break;
|
|
||||||
+ case PROP_ADAPTIVE:
|
|
||||||
+ g_value_set_boolean (value, phosh_app_grid_button_get_adaptive (self));
|
|
||||||
+ break;
|
|
||||||
default:
|
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
|
||||||
break;
|
|
||||||
@@ -229,14 +239,31 @@ phosh_app_grid_button_class_init (PhoshAppGridButtonClass *klass)
|
|
||||||
G_PARAM_READWRITE |
|
|
||||||
G_PARAM_EXPLICIT_NOTIFY);
|
|
||||||
|
|
||||||
+ /**
|
|
||||||
+ * PhoshAppGridButton:adaptive:
|
|
||||||
+ *
|
|
||||||
+ * Whether to set the button in adaptive mode.
|
|
||||||
+ *
|
|
||||||
+ * An icon will be shown when the app is expected to not adjust to a phone's
|
|
||||||
+ * screen size.
|
|
||||||
+ */
|
|
||||||
+ props[PROP_ADAPTIVE] =
|
|
||||||
+ g_param_spec_boolean ("adaptive", "", "",
|
|
||||||
+ FALSE,
|
|
||||||
+ G_PARAM_STATIC_STRINGS |
|
|
||||||
+ G_PARAM_READWRITE |
|
|
||||||
+ G_PARAM_EXPLICIT_NOTIFY);
|
|
||||||
+
|
|
||||||
|
|
||||||
g_object_class_install_properties (object_class, LAST_PROP, props);
|
|
||||||
|
|
||||||
gtk_widget_class_set_template_from_resource (widget_class, "/sm/puri/phosh/ui/app-grid-button.ui");
|
|
||||||
|
|
||||||
+ gtk_widget_class_bind_template_child_private (widget_class, PhoshAppGridButton, form_factor_desktop);
|
|
||||||
gtk_widget_class_bind_template_child_private (widget_class, PhoshAppGridButton, icon);
|
|
||||||
gtk_widget_class_bind_template_child_private (widget_class, PhoshAppGridButton, label);
|
|
||||||
gtk_widget_class_bind_template_child_private (widget_class, PhoshAppGridButton, popover);
|
|
||||||
+ gtk_widget_class_bind_template_child_private (widget_class, PhoshAppGridButton, title_box);
|
|
||||||
|
|
||||||
gtk_widget_class_bind_template_child_private (widget_class, PhoshAppGridButton, menu);
|
|
||||||
gtk_widget_class_bind_template_child_private (widget_class, PhoshAppGridButton, actions);
|
|
||||||
@@ -555,10 +582,10 @@ phosh_app_grid_button_set_mode (PhoshAppGridButton *self,
|
|
||||||
|
|
||||||
switch (mode) {
|
|
||||||
case PHOSH_APP_GRID_BUTTON_LAUNCHER:
|
|
||||||
- gtk_widget_set_visible (priv->label, TRUE);
|
|
||||||
+ gtk_widget_set_visible (priv->title_box, TRUE);
|
|
||||||
break;
|
|
||||||
case PHOSH_APP_GRID_BUTTON_FAVORITES:
|
|
||||||
- gtk_widget_set_visible (priv->label, FALSE);
|
|
||||||
+ gtk_widget_set_visible (priv->title_box, FALSE);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
g_critical ("Invalid mode %i", mode);
|
|
||||||
@@ -581,3 +608,35 @@ phosh_app_grid_button_get_mode (PhoshAppGridButton *self)
|
|
||||||
|
|
||||||
return priv->mode;
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+void
|
|
||||||
+phosh_app_grid_button_set_adaptive (PhoshAppGridButton *self,
|
|
||||||
+ gboolean adaptive)
|
|
||||||
+{
|
|
||||||
+ PhoshAppGridButtonPrivate *priv;
|
|
||||||
+
|
|
||||||
+ g_return_if_fail (PHOSH_IS_APP_GRID_BUTTON (self));
|
|
||||||
+ priv = phosh_app_grid_button_get_instance_private (self);
|
|
||||||
+
|
|
||||||
+ adaptive = !!adaptive;
|
|
||||||
+
|
|
||||||
+ if (priv->adaptive == adaptive)
|
|
||||||
+ return;
|
|
||||||
+
|
|
||||||
+ priv->adaptive = adaptive;
|
|
||||||
+
|
|
||||||
+ g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ADAPTIVE]);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+gboolean
|
|
||||||
+phosh_app_grid_button_get_adaptive (PhoshAppGridButton *self)
|
|
||||||
+{
|
|
||||||
+ PhoshAppGridButtonPrivate *priv;
|
|
||||||
+
|
|
||||||
+ g_return_val_if_fail (PHOSH_IS_APP_GRID_BUTTON (self), FALSE);
|
|
||||||
+ priv = phosh_app_grid_button_get_instance_private (self);
|
|
||||||
+
|
|
||||||
+ return priv->adaptive;
|
|
||||||
+}
|
|
||||||
diff --git a/src/app-grid-button.h b/src/app-grid-button.h
|
|
||||||
index 3e409f75c..7db4c3f51 100644
|
|
||||||
--- a/src/app-grid-button.h
|
|
||||||
+++ b/src/app-grid-button.h
|
|
||||||
@@ -51,5 +51,8 @@ gboolean phosh_app_grid_button_is_favorite (PhoshAppGridButton
|
|
||||||
void phosh_app_grid_button_set_mode (PhoshAppGridButton *self,
|
|
||||||
PhoshAppGridButtonMode mode);
|
|
||||||
PhoshAppGridButtonMode phosh_app_grid_button_get_mode (PhoshAppGridButton *self);
|
|
||||||
+void phosh_app_grid_button_set_adaptive (PhoshAppGridButton *self,
|
|
||||||
+ gboolean adaptive);
|
|
||||||
+gboolean phosh_app_grid_button_get_adaptive (PhoshAppGridButton *self);
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
diff --git a/src/phosh.gresources.xml b/src/phosh.gresources.xml
|
|
||||||
index 692f5e09d..7e53285f4 100644
|
|
||||||
--- a/src/phosh.gresources.xml
|
|
||||||
+++ b/src/phosh.gresources.xml
|
|
||||||
@@ -37,6 +37,7 @@
|
|
||||||
<file alias="auth-sim-locked-symbolic.svg">../data/icons/auth-sim-locked-symbolic.svg</file>
|
|
||||||
<file alias="auth-sim-missing-symbolic.svg">../data/icons/auth-sim-missing-symbolic.svg</file>
|
|
||||||
<file alias="camera-hardware-disabled-symbolic.svg">../data/icons/camera-hardware-disabled-symbolic.svg</file>
|
|
||||||
+ <file alias="desktop-thin-small-symbolic.svg">../data/icons/desktop-thin-small-symbolic.svg</file>
|
|
||||||
<file alias="eye-not-looking-symbolic.svg">../data/icons/eye-not-looking-symbolic.svg</file>
|
|
||||||
<file alias="eye-open-negative-filled-symbolic.svg">../data/icons/eye-open-negative-filled-symbolic.svg</file>
|
|
||||||
<file alias="feedback-quiet-symbolic.svg">../data/icons/feedback-quiet-symbolic.svg</file>
|
|
||||||
diff --git a/src/ui/app-grid-button.ui b/src/ui/app-grid-button.ui
|
|
||||||
index 98a017086..08fc0bdbc 100644
|
|
||||||
--- a/src/ui/app-grid-button.ui
|
|
||||||
+++ b/src/ui/app-grid-button.ui
|
|
||||||
@@ -48,12 +48,27 @@
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
- <object class="PhoshFadingLabel" id="label">
|
|
||||||
- <property name="visible">True</property>
|
|
||||||
- <property name="can_focus">False</property>
|
|
||||||
- <property name="no_show_all">True</property>
|
|
||||||
- <property name="label" translatable="yes">App</property>
|
|
||||||
+ <object class="GtkBox" id="title_box">
|
|
||||||
<property name="halign">center</property>
|
|
||||||
+ <property name="no-show-all">True</property>
|
|
||||||
+ <property name="spacing">4</property>
|
|
||||||
+ <property name="visible">True</property>
|
|
||||||
+ <child>
|
|
||||||
+ <object class="GtkImage" id="form_factor_desktop">
|
|
||||||
+ <property name="icon-name">desktop-thin-small-symbolic</property>
|
|
||||||
+ <property name="pixel-size">8</property>
|
|
||||||
+ <property name="visible" bind-source="PhoshAppGridButton" bind-property="adaptive" bind-flags="sync-create|invert-boolean"/>
|
|
||||||
+ </object>
|
|
||||||
+ </child>
|
|
||||||
+ <child>
|
|
||||||
+ <object class="PhoshFadingLabel" id="label">
|
|
||||||
+ <property name="visible">True</property>
|
|
||||||
+ <property name="can_focus">False</property>
|
|
||||||
+ <property name="no_show_all">True</property>
|
|
||||||
+ <property name="label" translatable="yes">App</property>
|
|
||||||
+ <property name="halign">center</property>
|
|
||||||
+ </object>
|
|
||||||
+ </child>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
--
|
|
||||||
GitLab
|
|
||||||
|
|
||||||
|
|
||||||
From b10f431e139e8c258aa93eff010be6847d90c333 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Adrien Plazas <kekun.plazas@laposte.net>
|
|
||||||
Date: Wed, 26 Jan 2022 13:46:41 +0100
|
|
||||||
Subject: [PATCH 2/2] app-grid: Show a desktop icon on non-adaptive apps
|
|
||||||
|
|
||||||
This helps knowing which apps work everywhere and which ones only work
|
|
||||||
on desktops.
|
|
||||||
---
|
|
||||||
src/app-grid.c | 68 +++++++++++++++++++++++++++++++++++---------------
|
|
||||||
1 file changed, 48 insertions(+), 20 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/app-grid.c b/src/app-grid.c
|
|
||||||
index 276f08485..a6dd1a9a5 100644
|
|
||||||
--- a/src/app-grid.c
|
|
||||||
+++ b/src/app-grid.c
|
|
||||||
@@ -146,6 +146,45 @@ update_filter_adaptive_button (PhoshAppGrid *self)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
+static gboolean
|
|
||||||
+app_is_adaptive (PhoshAppGrid *self, GDesktopAppInfo *info)
|
|
||||||
+{
|
|
||||||
+ PhoshAppGridPrivate *priv = phosh_app_grid_get_instance_private (self);
|
|
||||||
+ g_autofree char *mobile = NULL;
|
|
||||||
+ const char *id;
|
|
||||||
+
|
|
||||||
+ mobile = g_desktop_app_info_get_string (G_DESKTOP_APP_INFO (info),
|
|
||||||
+ "X-Purism-FormFactor");
|
|
||||||
+ if (mobile && strcasestr (mobile, "mobile;"))
|
|
||||||
+ return TRUE;
|
|
||||||
+
|
|
||||||
+ g_free (mobile);
|
|
||||||
+ mobile = g_desktop_app_info_get_string (G_DESKTOP_APP_INFO (info),
|
|
||||||
+ "X-KDE-FormFactor");
|
|
||||||
+ if (mobile && strcasestr (mobile, "handset;"))
|
|
||||||
+ return TRUE;
|
|
||||||
+
|
|
||||||
+ id = g_app_info_get_id (G_APP_INFO (info));
|
|
||||||
+ if (id && priv->force_adaptive && g_strv_contains ((const char * const*)priv->force_adaptive, id))
|
|
||||||
+ return TRUE;
|
|
||||||
+
|
|
||||||
+ return FALSE;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+static void
|
|
||||||
+update_app_button_adaptive (GtkWidget *widget,
|
|
||||||
+ gpointer data)
|
|
||||||
+{
|
|
||||||
+ PhoshAppGridButton *button = PHOSH_APP_GRID_BUTTON (widget);
|
|
||||||
+ PhoshAppGrid *self = PHOSH_APP_GRID (data);
|
|
||||||
+ GAppInfo *info = phosh_app_grid_button_get_app_info (button);
|
|
||||||
+ gboolean adaptive = app_is_adaptive (self, G_DESKTOP_APP_INFO (info));
|
|
||||||
+
|
|
||||||
+ phosh_app_grid_button_set_adaptive (button, adaptive);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+
|
|
||||||
static void
|
|
||||||
on_filter_setting_changed (PhoshAppGrid *self,
|
|
||||||
GParamSpec *pspec,
|
|
||||||
@@ -158,7 +197,7 @@ on_filter_setting_changed (PhoshAppGrid *self,
|
|
||||||
|
|
||||||
priv = phosh_app_grid_get_instance_private (self);
|
|
||||||
|
|
||||||
- g_strfreev (priv->force_adaptive);
|
|
||||||
+ g_clear_pointer (&priv->force_adaptive, g_strfreev);
|
|
||||||
priv->force_adaptive = g_settings_get_strv (priv->settings,
|
|
||||||
"force-adaptive");
|
|
||||||
priv->filter_mode = g_settings_get_flags (priv->settings,
|
|
||||||
@@ -168,6 +207,8 @@ on_filter_setting_changed (PhoshAppGrid *self,
|
|
||||||
gtk_widget_set_visible (priv->btn_adaptive, show);
|
|
||||||
|
|
||||||
gtk_filter_list_model_refilter (priv->model);
|
|
||||||
+
|
|
||||||
+ gtk_container_foreach (GTK_CONTAINER (priv->apps), update_app_button_adaptive, self);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@@ -175,8 +216,6 @@ static gboolean
|
|
||||||
filter_adaptive (PhoshAppGrid *self, GDesktopAppInfo *info)
|
|
||||||
{
|
|
||||||
PhoshAppGridPrivate *priv = phosh_app_grid_get_instance_private (self);
|
|
||||||
- g_autofree char *mobile = NULL;
|
|
||||||
- const char *id;
|
|
||||||
|
|
||||||
if (!(priv->filter_mode & PHOSH_APP_FILTER_MODE_FLAGS_ADAPTIVE))
|
|
||||||
return TRUE;
|
|
||||||
@@ -184,22 +223,7 @@ filter_adaptive (PhoshAppGrid *self, GDesktopAppInfo *info)
|
|
||||||
if (!priv->filter_adaptive)
|
|
||||||
return TRUE;
|
|
||||||
|
|
||||||
- mobile = g_desktop_app_info_get_string (G_DESKTOP_APP_INFO (info),
|
|
||||||
- "X-Purism-FormFactor");
|
|
||||||
- if (mobile && strcasestr (mobile, "mobile;"))
|
|
||||||
- return TRUE;
|
|
||||||
-
|
|
||||||
- g_free (mobile);
|
|
||||||
- mobile = g_desktop_app_info_get_string (G_DESKTOP_APP_INFO (info),
|
|
||||||
- "X-KDE-FormFactor");
|
|
||||||
- if (mobile && strcasestr (mobile, "handset;"))
|
|
||||||
- return TRUE;
|
|
||||||
-
|
|
||||||
- id = g_app_info_get_id (G_APP_INFO (info));
|
|
||||||
- if (id && g_strv_contains ((const char * const*)priv->force_adaptive, id))
|
|
||||||
- return TRUE;
|
|
||||||
-
|
|
||||||
- return FALSE;
|
|
||||||
+ return app_is_adaptive (self, info);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@@ -319,6 +343,7 @@ favorites_changed (GListModel *list,
|
|
||||||
|
|
||||||
/* We don't show favorites in the main list, filter them out */
|
|
||||||
gtk_filter_list_model_refilter (priv->model);
|
|
||||||
+ gtk_container_foreach (GTK_CONTAINER (priv->apps), update_app_button_adaptive, self);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@@ -332,6 +357,7 @@ create_launcher (gpointer item,
|
|
||||||
G_CALLBACK (app_launched_cb), self);
|
|
||||||
|
|
||||||
gtk_widget_show (btn);
|
|
||||||
+ update_app_button_adaptive (btn, self);
|
|
||||||
|
|
||||||
return btn;
|
|
||||||
}
|
|
||||||
@@ -410,7 +436,7 @@ phosh_app_grid_finalize (GObject *object)
|
|
||||||
PhoshAppGridPrivate *priv = phosh_app_grid_get_instance_private (self);
|
|
||||||
|
|
||||||
g_clear_pointer (&priv->search_string, g_free);
|
|
||||||
- g_strfreev (priv->force_adaptive);
|
|
||||||
+ g_clear_pointer (&priv->force_adaptive, g_strfreev);
|
|
||||||
|
|
||||||
G_OBJECT_CLASS (phosh_app_grid_parent_class)->finalize (object);
|
|
||||||
}
|
|
||||||
@@ -447,6 +473,7 @@ do_search (PhoshAppGrid *self)
|
|
||||||
}
|
|
||||||
|
|
||||||
gtk_filter_list_model_refilter (priv->model);
|
|
||||||
+ gtk_container_foreach (GTK_CONTAINER (priv->apps), update_app_button_adaptive, self);
|
|
||||||
|
|
||||||
priv->debounce = 0;
|
|
||||||
return G_SOURCE_REMOVE;
|
|
||||||
@@ -682,5 +709,6 @@ phosh_app_grid_set_filter_adaptive (PhoshAppGrid *self, gboolean enable)
|
|
||||||
update_filter_adaptive_button (self);
|
|
||||||
|
|
||||||
gtk_filter_list_model_refilter (priv->model);
|
|
||||||
+ gtk_container_foreach (GTK_CONTAINER (priv->apps), update_app_button_adaptive, self);
|
|
||||||
g_object_notify_by_pspec (G_OBJECT (self), props[PROP_FILTER_ADAPTIVE]);
|
|
||||||
}
|
|
||||||
--
|
|
||||||
GitLab
|
|
||||||
|
|
@ -1,51 +0,0 @@
|
|||||||
From 8aee7788de2cfead530a175a162ea37ab55f2b16 Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Guido=20G=C3=BCnther?= <agx@sigxcpu.org>
|
|
||||||
Date: Fri, 7 Jan 2022 20:10:26 +0100
|
|
||||||
Subject: [PATCH] network-auth-prompt: Allow for WPA{,2} enterprise
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
Signed-off-by: Guido Günther <guido.gunther@puri.sm>
|
|
||||||
---
|
|
||||||
src/network-auth-prompt.c | 9 +++++++++
|
|
||||||
1 file changed, 9 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/src/network-auth-prompt.c b/src/network-auth-prompt.c
|
|
||||||
index 9005bc0d3..bf6925b2a 100644
|
|
||||||
--- a/src/network-auth-prompt.c
|
|
||||||
+++ b/src/network-auth-prompt.c
|
|
||||||
@@ -154,6 +154,10 @@ network_connection_get_key_type (NMConnection *connection)
|
|
||||||
|
|
||||||
if (g_str_equal (key_mgmt, "none"))
|
|
||||||
return "wep-key0";
|
|
||||||
+ else if (g_str_equal (key_mgmt, "wpa-eap")) {
|
|
||||||
+ /* TODO: This is too simplistic as we have a cert password too */
|
|
||||||
+ return "password";
|
|
||||||
+ }
|
|
||||||
|
|
||||||
/* Assume WPA/WPA2 Personal */
|
|
||||||
return "psk";
|
|
||||||
@@ -179,7 +183,9 @@ network_prompt_setup_dialog (PhoshNetworkAuthPrompt *self)
|
|
||||||
g_bytes_get_size (bytes));
|
|
||||||
|
|
||||||
if (self->security_type != NMU_SEC_WPA_PSK &&
|
|
||||||
+ self->security_type != NMU_SEC_WPA_ENTERPRISE &&
|
|
||||||
self->security_type != NMU_SEC_WPA2_PSK &&
|
|
||||||
+ self->security_type != NMU_SEC_WPA2_ENTERPRISE &&
|
|
||||||
self->security_type != NMU_SEC_STATIC_WEP) {
|
|
||||||
g_debug ("Network security method %d of %s not supported",
|
|
||||||
self->security_type, ssid);
|
|
||||||
@@ -294,6 +300,9 @@ network_prompt_wpa_password_changed_cb (PhoshNetworkAuthPrompt *self)
|
|
||||||
} else if (self->security_type == NMU_SEC_STATIC_WEP) {
|
|
||||||
valid = nm_utils_wep_key_valid (password, NM_WEP_KEY_TYPE_PASSPHRASE);
|
|
||||||
valid |= nm_utils_wep_key_valid (password, NM_WEP_KEY_TYPE_KEY);
|
|
||||||
+ } else if (self->security_type == NMU_SEC_WPA_ENTERPRISE ||
|
|
||||||
+ self->security_type == NMU_SEC_WPA2_ENTERPRISE) {
|
|
||||||
+ valid = TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
gtk_widget_set_sensitive (self->connect_button, valid);
|
|
||||||
--
|
|
||||||
GitLab
|
|
||||||
|
|
0
gui-wm/phosh/files/pam_phosh
Executable file → Normal file
0
gui-wm/phosh/files/pam_phosh
Executable file → Normal file
@ -1,56 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description=Phosh, a shell for mobile phones
|
|
||||||
Documentation=https://gitlab.gnome.org/World/Phosh/phosh
|
|
||||||
|
|
||||||
# Make sure we are started after logins are permitted.
|
|
||||||
After=systemd-user-sessions.service
|
|
||||||
# If Plymouth is used, we want to start when it is on its way out.
|
|
||||||
After=plymouth-quit-wait.service
|
|
||||||
|
|
||||||
# D-Bus is necessary for contacting logind. Logind is required.
|
|
||||||
Wants=dbus.socket
|
|
||||||
After=dbus.socket
|
|
||||||
|
|
||||||
# This scope is created by pam_systemd when logging in as the user.
|
|
||||||
# This directive is a workaround to a systemd bug, where the setup of the
|
|
||||||
# user session by PAM has some race condition, possibly leading to a failure.
|
|
||||||
# See README for more details.
|
|
||||||
After=session-c1.scope
|
|
||||||
|
|
||||||
# Since we are part of the graphical session, make sure we are started before
|
|
||||||
# it is complete.
|
|
||||||
Before=graphical.target
|
|
||||||
|
|
||||||
# Prevent starting on systems without virtual consoles
|
|
||||||
ConditionPathExists=/dev/tty0
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Environment=LANG=C.UTF-8
|
|
||||||
Environment=XDG_CURRENT_DESKTOP=GNOME:Phosh
|
|
||||||
Environment=XDG_SESSION_DESKTOP=phosh
|
|
||||||
Environment=XDG_SESSION_TYPE=wayland
|
|
||||||
ExecStart=/usr/bin/phosh
|
|
||||||
TimeoutStartSec=30
|
|
||||||
User=1000
|
|
||||||
PAMName=login
|
|
||||||
WorkingDirectory=~
|
|
||||||
Restart=always
|
|
||||||
RestartSec=5s
|
|
||||||
|
|
||||||
# A virtual terminal is needed.
|
|
||||||
TTYPath=/dev/tty7
|
|
||||||
TTYReset=yes
|
|
||||||
TTYVHangup=yes
|
|
||||||
TTYVTDisallocate=yes
|
|
||||||
|
|
||||||
# Fail to start if not controlling the tty.
|
|
||||||
StandardInput=tty-fail
|
|
||||||
StandardOutput=journal
|
|
||||||
StandardError=journal
|
|
||||||
|
|
||||||
# Log this user with utmp, letting it show up with commands 'w' and 'who'.
|
|
||||||
UtmpIdentifier=tty7
|
|
||||||
UtmpMode=user
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=graphical.target
|
|
2
gui-wm/phosh/files/sm.puri.OSK0.desktop
Executable file → Normal file
2
gui-wm/phosh/files/sm.puri.OSK0.desktop
Executable file → Normal file
@ -2,7 +2,7 @@
|
|||||||
Type=Application
|
Type=Application
|
||||||
Name=On-screen keyboard
|
Name=On-screen keyboard
|
||||||
Comment=Default on-screen keyboard
|
Comment=Default on-screen keyboard
|
||||||
Exec=/usr/bin/phosh-osk-stub
|
Exec=/usr/bin/osk-wayland
|
||||||
Categories=GNOME;Core;
|
Categories=GNOME;Core;
|
||||||
OnlyShowIn=GNOME;
|
OnlyShowIn=GNOME;
|
||||||
NoDisplay=true
|
NoDisplay=true
|
||||||
|
@ -53,15 +53,19 @@ src_prepare() {
|
|||||||
rm -r "${S}"/subprojects/libcall-ui || die
|
rm -r "${S}"/subprojects/libcall-ui || die
|
||||||
mv "${WORKDIR}"/libcall-ui-"${LCU_COMMIT}" "${S}"/subprojects/libcall-ui || die
|
mv "${WORKDIR}"/libcall-ui-"${LCU_COMMIT}" "${S}"/subprojects/libcall-ui || die
|
||||||
|
|
||||||
|
#Polkit fix
|
||||||
eapply "${FILESDIR}"/0001-Fix-for-polkit-120-and-higher.patch
|
eapply "${FILESDIR}"/0001-Fix-for-polkit-120-and-higher.patch
|
||||||
|
|
||||||
|
#Phosh patches
|
||||||
|
eapply "${FILESDIR}"/0001-system-prompt-allow-blank-passwords.patch
|
||||||
eapply "${FILESDIR}"/0002-build-Adjust-to-polkit-version-changes.patch
|
eapply "${FILESDIR}"/0002-build-Adjust-to-polkit-version-changes.patch
|
||||||
|
eapply "${FILESDIR}"/0003-fix-locale-issue-in-service-file.patch
|
||||||
}
|
}
|
||||||
|
|
||||||
src_install() {
|
src_install() {
|
||||||
default
|
default
|
||||||
meson_src_install
|
meson_src_install
|
||||||
newpamd "${FILESDIR}"/pam_phosh 'phosh'
|
newpamd "${FILESDIR}"/pam_phosh 'phosh'
|
||||||
systemd_newunit "${FILESDIR}"/phosh.service 'phosh.service'
|
|
||||||
domenu "${FILESDIR}"/sm.puri.OSK0.desktop
|
domenu "${FILESDIR}"/sm.puri.OSK0.desktop
|
||||||
|
|
||||||
DOC_CONTENTS="To amend the existing password policy please see the man 5 passwdqc.conf
|
DOC_CONTENTS="To amend the existing password policy please see the man 5 passwdqc.conf
|
@ -56,12 +56,13 @@ src_prepare() {
|
|||||||
rm -r "${S}"/subprojects/libcall-ui || die
|
rm -r "${S}"/subprojects/libcall-ui || die
|
||||||
mv "${WORKDIR}"/libcall-ui-"${LCU_COMMIT}" "${S}"/subprojects/libcall-ui || die
|
mv "${WORKDIR}"/libcall-ui-"${LCU_COMMIT}" "${S}"/subprojects/libcall-ui || die
|
||||||
|
|
||||||
|
#Polkit patch
|
||||||
eapply "${FILESDIR}"/0001-Gentoo-patch-for-polkit-120.patch
|
eapply "${FILESDIR}"/0001-Gentoo-patch-for-polkit-120.patch
|
||||||
|
|
||||||
|
#Phosh patches
|
||||||
eapply "${FILESDIR}"/0001-system-prompt-allow-blank-passwords.patch
|
eapply "${FILESDIR}"/0001-system-prompt-allow-blank-passwords.patch
|
||||||
eapply "${FILESDIR}"/0002-fix-locale-issue.patch
|
eapply "${FILESDIR}"/0002-build-Adjust-to-polkit-version-changes.patch
|
||||||
eapply "${FILESDIR}"/0003-fix-locale-issue-in-service-file.patch
|
eapply "${FILESDIR}"/0003-fix-locale-issue-in-service-file.patch
|
||||||
eapply "${FILESDIR}"/1008.patch
|
|
||||||
eapply "${FILESDIR}"/977.patch
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -69,7 +70,6 @@ src_install() {
|
|||||||
default
|
default
|
||||||
meson_src_install
|
meson_src_install
|
||||||
newpamd "${FILESDIR}"/pam_phosh 'phosh'
|
newpamd "${FILESDIR}"/pam_phosh 'phosh'
|
||||||
systemd_newunit "${FILESDIR}"/phosh.service 'phosh.service'
|
|
||||||
domenu "${FILESDIR}"/sm.puri.OSK0.desktop
|
domenu "${FILESDIR}"/sm.puri.OSK0.desktop
|
||||||
|
|
||||||
DOC_CONTENTS="To amend the existing password policy please see the man 5 passwdqc.conf
|
DOC_CONTENTS="To amend the existing password policy please see the man 5 passwdqc.conf
|
Loading…
Reference in New Issue
Block a user