Updated Readme and Dep

This commit is contained in:
Gerben Jan Dijkman 2024-05-20 21:29:52 +02:00
parent 85a8331214
commit 980171f64a
23 changed files with 970 additions and 3 deletions

View File

@ -28,7 +28,7 @@ RDEPEND="
DEPEND="
${RDEPEND}
dev-util/gtk-doc-am
dev-build/gtk-doc-am
virtual/pkgconfig
"

View File

@ -0,0 +1,103 @@
# Copyright 2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Meta package for Phosh without squeekboard"
HOMEPAGE="https://github.com/dreemurrs-embedded/Pine64-Arch"
SRC_URI=""
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~arm64 ~arm"
IUSE="squeekboard chromium firefox geary lollypop owncloud nextcloud voicemail tuba"
DEPEND="
gui-wm/phosh
gnome-extra/phosh-antispam
net-voip/gnome-calls
net-im/chatty
net-dns/dnsmasq
app-editors/gedit
app-misc/gnote
media-video/megapixels
gnome-base/gnome-control-center
gnome-base/gnome-keyring
gnome-extra/gnome-contacts
gnome-extra/gnome-calculator
gnome-extra/gnome-calendar
gnome-extra/gnome-clocks
gnome-extra/gnome-weather
gnome-base/gnome-session
gnome-extra/gnome-system-monitor
media-gfx/gnome-screenshot
gnome-extra/gnome-tweaks
app-arch/file-roller
sys-apps/gnome-disk-utility
media-sound/gnome-sound-recorder
www-client/epiphany
sci-geosciences/gnome-maps
x11-terms/gnome-terminal
x11-themes/sound-theme-librem5
app-text/evince
sys-power/gtherm
sys-auth/rtkit
gnome-extra/sushi
media-gfx/eog
x11-misc/phosh-mobile-settings
media-video/totem
>=media-video/pipewire-0.3.65[libcamera]
tuba? (
net-im/tuba
)
squeekboard? (
x11-misc/squeekboard
)
chromium? (
www-client/chromium
)
firefox? (
www-client/firefox
)
geary? (
mail-client/geary
)
lollypop? (
media-sound/lollypop
)
owncloud? (
net-misc/owncloud-client
)
nextcloud? (
net-misc/nextcloud-client
)
voicemail? (
gnome-extra/vvmplayer
)
"
RDEPEND="${DEPEND}"
BDEPEND=""
S="${WORKDIR}"
pkg_postinst() {
[ -e /usr/share/applications-bak ] || mkdir /usr/share/applications-bak
for i in vim org.gnupg.pinentry-qt org.gnome.Extensions mupdf \
gnome-printers-panel gnome-wifi-pannel pidgin wpa_gui cups \
Gentoo-system-config-printer
do
if [ -e /usr/share/applications/$i.desktop ]; then
mv /usr/share/applications/$i.desktop /usr/share/applications-bak
fi
done
}

4
gui-wm/phosh/Manifest Normal file
View File

@ -0,0 +1,4 @@
DIST gmobile-f1b50f0f90604e0f125412932dae9b1e08d57ddc.tar.gz 24027 BLAKE2B 55e3ac1452e2a788e7e4a8c39103d729a47ce32328f22c2f8684683731c9a157665a38850b2530d953813c597904813447517c6c4b46a5ef16bf21e94c1a5d9b SHA512 cdde81747792e69f5b80e85a78730986ec9e4da70ff36f965f9c2ea6ba58260c9e01e806fb145538e4d9a1eddd88479ebf255fff737a662af99874855d21cec8
DIST libcall-ui-6798b38d4d66d069751151b3e9a202c6de8d7f3c.tar.gz 168424 BLAKE2B 3e1d9bada93132f10165afce6ca54c3f1a2c8a21b1fdb856ad671a72f53ea910bdf8c49e4ccdffd60aaad29d0f4b68a875e5c666ed1bc568a109eb39fc750667 SHA512 02a45f88a0c79bb5b34ebb7de909d1028e245f0700c5afae81f39b74f4ca2da9ef1a4a82b45a296a2e93dee8b2bbf6a5b572175a8eff16c25ceb05254ff28a4d
DIST libgnome-volume-control-a1ae68ff11dc6156f9c80069194ea39679700f3f.tar.gz 46611 BLAKE2B 5888c374d7d92c6bdb1abf692ac12c0e6d93cfd6e606776b1c4af06483f41c46cdd5eca7e4bcb36d37efe377f7b8f2aad6a539d84563beb846c51ac80fa485c2 SHA512 8109c2fc8c0c0158ecdbad690902a8e3021e16b8c2b68d237215e1242c19ec60e78f006b02f9a2f824026eb4129be07a27ab045ad941252572db517da1cf769e
DIST phosh-v0.30.0.tar.gz 936377 BLAKE2B a1acdfec831aade7a14f400634e391ca2abd191ed6b5c68563104f886e5fbefbf6c673e83b7885c757ffd9e5436a292011314cff2282b7df1c98fa7c39ba70f6 SHA512 df227dfee98f5f312af9b9ea7f07b27eef58ea8c76943974e1cc0f4f3692a9a65b2ee703b847809a88ba6e340b79e5f866039c500047bd9d9747cb87e7f2acf8

View File

@ -0,0 +1,29 @@
From 19e3a56e02646308b2b78512308119811af96896 Mon Sep 17 00:00:00 2001
From: Gerben Jan Dijkman <gjdijkman@gjdwebserver.nl>
Date: Wed, 15 Jun 2022 18:13:55 +0200
Subject: [PATCH] Fix for polkit 120 and higher
---
src/polkit-auth-agent.h | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/polkit-auth-agent.h b/src/polkit-auth-agent.h
index fe7e808..bd79a20 100644
--- a/src/polkit-auth-agent.h
+++ b/src/polkit-auth-agent.h
@@ -19,7 +19,11 @@ G_BEGIN_DECLS
#if POLKIT_AGENT_MAJOR_VERSION == 0 && POLKIT_AGENT_MINOR_VERSION < 114
G_DEFINE_AUTOPTR_CLEANUP_FUNC(PolkitSubject, g_object_unref)
#endif
-G_DEFINE_AUTOPTR_CLEANUP_FUNC(PolkitAgentListener, g_object_unref)
+
+/* libpolkit lacks these */
+#if POLKIT_AGENT_MAJOR_VERSION == 0 && POLKIT_AGENT_MINOR_VERSION < 120
+ G_DEFINE_AUTOPTR_CLEANUP_FUNC(PolkitAgentListener, g_object_unref)
+#endif
#define PHOSH_TYPE_POLKIT_AUTH_AGENT (phosh_polkit_auth_agent_get_type())
--
2.35.1

View File

@ -0,0 +1,23 @@
From 4cb433819d0e39b85a9e8785b32c65deae8a36db Mon Sep 17 00:00:00 2001
From: Gerben Jan Dijkman <gjdijkman@gjdwebserver.nl>
Date: Fri, 15 Jul 2022 16:19:57 +0200
Subject: [PATCH] Gentoo patch for polkit 120
---
src/polkit-auth-agent.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/polkit-auth-agent.h b/src/polkit-auth-agent.h
index 426adc8..cf46441 100644
--- a/src/polkit-auth-agent.h
+++ b/src/polkit-auth-agent.h
@@ -21,7 +21,7 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(PolkitSubject, g_object_unref)
#endif
/* libpolkit lacks these */
-#if POLKIT_AGENT_MAJOR_VERSION == 0 && POLKIT_AGENT_MINOR_VERSION < 121
+#if POLKIT_AGENT_MAJOR_VERSION == 0 && POLKIT_AGENT_MINOR_VERSION < 120
G_DEFINE_AUTOPTR_CLEANUP_FUNC(PolkitAgentListener, g_object_unref)
#endif
--

View File

@ -0,0 +1,49 @@
From e88f5dee0cbb7fa0851b43a5ded5d94256c756d2 Mon Sep 17 00:00:00 2001
From: Arnaud Ferraris <arnaud.ferraris@gmail.com>
Date: Sat, 21 Mar 2020 03:00:34 +0100
Subject: [PATCH] system-prompt: allow blank passwords
---
src/system-prompt.c | 5 -----
1 file changed, 5 deletions(-)
diff --git a/src/system-prompt.c b/src/system-prompt.c
index 30aa3f1..bd06ee0 100644
--- a/src/system-prompt.c
+++ b/src/system-prompt.c
@@ -256,8 +256,6 @@ phosh_system_prompt_password_async (GcrPrompt *prompt,
priv->task = g_task_new (self, NULL, callback, user_data);
g_task_set_source_tag (priv->task, phosh_system_prompt_password_async);
- if (!gtk_entry_get_text_length (GTK_ENTRY (priv->entry_password)))
- gtk_widget_set_sensitive (priv->btn_continue, FALSE);
gtk_widget_set_sensitive (priv->grid, TRUE);
obj = G_OBJECT (self);
@@ -315,7 +313,6 @@ phosh_system_prompt_confirm_async (GcrPrompt *prompt,
priv->task = g_task_new (self, NULL, callback, user_data);
g_task_set_source_tag (priv->task, phosh_system_prompt_confirm_async);
- gtk_widget_set_sensitive (priv->btn_continue, TRUE);
gtk_widget_set_sensitive (priv->grid, TRUE);
obj = G_OBJECT (self);
@@ -392,7 +389,6 @@ prompt_complete (PhoshSystemPrompt *self)
g_task_return_pointer (res, (gpointer)password, NULL);
g_object_unref (res);
- gtk_widget_set_sensitive (priv->btn_continue, FALSE);
gtk_widget_set_sensitive (priv->grid, FALSE);
return TRUE;
@@ -451,7 +447,6 @@ on_password_changed (PhoshSystemPrompt *self,
if (!gtk_entry_get_text_length (GTK_ENTRY (editable)))
return;
- gtk_widget_set_sensitive (priv->btn_continue, TRUE);
password = gtk_entry_get_text (GTK_ENTRY (editable));
/*
--
2.24.1

View File

@ -0,0 +1,45 @@
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

View File

@ -0,0 +1,14 @@
diff -Npur a/data/phosh.in b/data/phosh.in
--- a/data/phosh.in 2021-03-20 13:53:32.367786000 +0100
+++ b/data/phosh.in 2021-03-20 13:55:19.327789721 +0100
@@ -56,6 +56,10 @@ elif [ -f /etc/phosh/rootston.ini ]; th
PHOC_INI=/etc/phosh/rootston.ini
fi
+# Set proper locale according to /etc/locale.conf
+source /etc/locale.conf
+export LANG=$LANG
+
# Run gnome-session through a login shell so it picks
# variables from /etc/profile.d (XDG_*)
[ -n "$WLR_BACKENDS" ] || WLR_BACKENDS=drm,libinput

View File

@ -0,0 +1,22 @@
From: Daniel Dehennin <daniel.dehennin@baby-gnu.org>
Date: Wed, 17 Mar 2021 17:38:58 +0100
Subject: Fix locale issue in Service file
* data/phosh.service (Environment): do not override user language
setting.
---
data/phosh.service | 1 -
1 file changed, 1 deletion(-)
diff --git a/data/phosh.service b/data/phosh.service
index fa18137..a585696 100644
--- a/data/phosh.service
+++ b/data/phosh.service
@@ -25,7 +25,6 @@ Before=graphical.target
ConditionPathExists=/dev/tty0
[Service]
-Environment=LANG=C.UTF-8
Environment=XDG_CURRENT_DESKTOP=Phosh:GNOME
Environment=XDG_SESSION_DESKTOP=phosh
Environment=XDG_SESSION_TYPE=wayland

View File

@ -0,0 +1,375 @@
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

View File

@ -0,0 +1,50 @@
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

View File

@ -0,0 +1,8 @@
#!/bin/sh
set -e
OSK=/usr/bin/virtboard
if [ -x /usr/bin/squeekboard ]; then
OSK=/usr/bin/squeekboard
fi
exec $OSK

View File

@ -0,0 +1,5 @@
#%PAM-1.0
auth include system-local-login
account include system-local-login
session include system-local-login

View File

@ -0,0 +1,62 @@
[Unit]
Description=Phosh, a shell for mobile phones
Documentation=https://gitlab.gnome.org/World/Phosh/phosh
# replaces the getty
Conflicts=getty@tty1.service
After=getty@tty1.service
# Needs all the dependencies of the services it's replacing
# (currently getty@tty1.service):
After=rc-local.service plymouth-quit-wait.service systemd-user-sessions.service
OnFailure=getty@tty1.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=Phosh:GNOME
Environment=XDG_SESSION_DESKTOP=phosh
Environment=XDG_SESSION_TYPE=wayland
ExecStart=/usr/bin/phosh-session
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

View File

@ -0,0 +1,12 @@
[Desktop Entry]
Type=Application
Name=On-screen keyboard
Comment=Default on-screen keyboard
Exec=/usr/bin/osk-wayland
Categories=GNOME;Core;
OnlyShowIn=GNOME;
NoDisplay=true
X-GNOME-Autostart-Phase=Panel
X-GNOME-Provides=inputmethod
X-GNOME-Autostart-Notify=true
X-GNOME-AutoRestart=true

15
gui-wm/phosh/metadata.xml Executable file
View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>gjdijkman@gjdwebserver.nl</email>
<name>Gerben Jan Dijkman</name>
</maintainer>
<longdescription lang="en">
A pure Wayland shell prototype for GNOME on mobile devices. For a matching compositor see x11-wm/phoc but others implementing wlr-layer-shell should work as well.
</longdescription>
<upstream>
<doc>https://source.puri.sm/Librem5/phosh</doc>
<bugs-to>https://source.puri.sm/Librem5/phosh/-/issues</bugs-to>
</upstream>
</pkgmetadata>

104
gui-wm/phosh/phosh-0.30.0.ebuild Executable file
View File

@ -0,0 +1,104 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit desktop gnome2-utils meson pam readme.gentoo-r1 systemd xdg
MY_P="${PN}-v${PV}"
LVC_COMMIT="a1ae68ff11dc6156f9c80069194ea39679700f3f"
LCU_COMMIT="6798b38d4d66d069751151b3e9a202c6de8d7f3c"
GMO_COMMIT="f1b50f0f90604e0f125412932dae9b1e08d57ddc"
DESCRIPTION="A pure Wayland shell prototype for GNOME on mobile devices"
HOMEPAGE="https://gitlab.gnome.org/World/Phosh/phosh/"
SRC_URI="
https://gitlab.gnome.org/World/Phosh/phosh/-/archive/v${PV}/${MY_P}.tar.gz
https://gitlab.gnome.org/GNOME/libgnome-volume-control/-/archive/${LVC_COMMIT}/libgnome-volume-control-${LVC_COMMIT}.tar.gz
https://gitlab.gnome.org/World/Phosh/libcall-ui/-/archive/${LCU_COMMIT}/libcall-ui-${LCU_COMMIT}.tar.gz
https://gitlab.gnome.org/guidog/gmobile/-/archive/${GMO_COMMIT}/gmobile-${GMO_COMMIT}.tar.gz
"
S="${WORKDIR}/${MY_P}"
KEYWORDS="~amd64 ~arm64"
LICENSE="GPL-3"
SLOT="0"
IUSE="+systemd"
DEPEND="
app-crypt/gcr
dev-libs/feedbackd
media-sound/pulseaudio
>=gui-libs/libhandy-1.1.90
net-misc/networkmanager
gnome-base/gnome-control-center
gnome-base/gnome-desktop
gnome-base/gnome-session
x11-themes/gnome-backgrounds
gnome-base/gnome-keyring
gnome-base/gnome-shell
x11-wm/phoc
sys-apps/systemd
sys-power/upower
app-misc/geoclue
net-libs/libnma
media-sound/callaudiod
"
RDEPEND="${DEPEND}"
BDEPEND="
dev-util/ctags
dev-util/meson
"
src_prepare() {
default
rm -r "${S}"/subprojects/gvc || die
mv "${WORKDIR}"/libgnome-volume-control-"${LVC_COMMIT}" "${S}"/subprojects/gvc || die
rm -r "${S}"/subprojects/libcall-ui || die
mv "${WORKDIR}"/libcall-ui-"${LCU_COMMIT}" "${S}"/subprojects/libcall-ui || die
rm -r "${S}"/subprojects/gmobile || die
mv "${WORKDIR}"/gmobile-"${GMO_COMMIT}" "${S}"/subprojects/gmobile || die
#Phosh patches
# eapply "${FILESDIR}"/0001-system-prompt-allow-blank-passwords.patch
# eapply "${FILESDIR}"/0003-fix-locale-issue-in-service-file.patch
# eapply "${FILESDIR}"/977.patch
# eapply "${FILESDIR}"/1008.patch
}
src_configure() {
local emesonargs=(
-Dsystemd=true
-Dtests=false
-Dphoc_tests=disabled
)
meson_src_configure
}
src_install() {
default
meson_src_install
newpamd "${FILESDIR}"/pam_phosh 'phosh'
systemd_newunit "${FILESDIR}"/phosh.service 'phosh.service'
domenu "${FILESDIR}"/sm.puri.OSK0.desktop
dobin "${FILESDIR}"/osk-wayland
DOC_CONTENTS="To amend the existing password policy please see the man 5 passwdqc.conf
page and then edit the /etc/security/passwdqc.conf file to change enforce=none
to allow use digit only password as phosh only support passcode for now"
readme.gentoo_create_doc
}
pkg_postinst() {
xdg_pkg_postinst
gnome2_schemas_update
readme.gentoo_print_elog
}
pkg_postrm() {
xdg_pkg_postrm
gnome2_schemas_update
}

View File

@ -1,6 +1,11 @@
Gentoo overlay: GJDWebserver
This is a personal overlay I use for my computers.
This is a personal overlay I use for my computers and Pine64 PinePhone Pro.
**Binaryhost**
For the PinePhone Pro I've created a binaryhost: https://distfiles.gjdwebserver.nl/
More information on this you can find on my blog: https://blog.gjdwebserver.nl/ords/f?p=107:HOME:::::ARTICLE:gjdwebserver-binaryhost-packages
**Setup**
@ -14,3 +19,5 @@ sync-type = git
sync-uri = https://git.gjdwebserver.nl/gjdwebserver/gjdwebserver-overlay
auto-sync = yes
```
Or run eselect repository add gjdwebserver git https://git.gjdwebserver.nl/gjdwebserver/gjdwebserver-overlay.git

View File

@ -1 +0,0 @@
DIST phosh-mobile-settings-0.30.0.tar.gz 175802 BLAKE2B 2d59e5c99c2c58d45a1c28ad32a7358746732bab3046ca653370d105562af8c89839608da124b223c977f2b145873532b1d3bd8bbcb07fc15c61532f0732f171 SHA512 337d228d3a8e8dce77e2a85fa13569c47598b6b42758631917f3c1a00a12f8c80770a82b7be6fea42b5fcd6625ba1c6759e2aed69a87915bc1362efed74e6e6e

View File

@ -0,0 +1 @@
DIST sound-theme-librem5-v0.1.0.tar.gz 478867 BLAKE2B 1621e0f9a2a7ba3e295edc199b0f64957f1d734f3edffd2878bc037e0e2fadfb5fe3b7d882349d06a3147af6165c68d0269b6b706742334295ef0b791627b982 SHA512 348031406e0393f9c67c1ea99e5b250ae985f736cc5b1ce79c959134605bfc79bf875ec10abfe324077d0129df09041e5b574273df7d142af8d8bc5604a12406

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>gjdijkman@gjdwebserver.nl</email>
<name>Gerben Jan Dijkman</name>
</maintainer>
<longdescription lang="en">
Sound theme for the librem 5.
</longdescription>
<upstream>
<doc>https://source.puri.sm/Librem5/sound-theme-librem5</doc>
<bugs-to>https://source.puri.sm/Librem5/sound-theme-librem5/-/issues</bugs-to>
</upstream>
</pkgmetadata>

View File

@ -0,0 +1,25 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Sound theme for the Librem 5/PinePhone"
HOMEPAGE="https://source.puri.sm/Librem5/sound-theme-librem5"
SRC_URI="https://source.puri.sm/Librem5/sound-theme-librem5/-/archive/v${PV}/${PN}-v${PV}.tar.gz"
LICENSE="GPL-2 LGPL-2 CC-BY-3.0 CC-BY-SA-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64"
DEPEND="
sys-devel/gettext
dev-libs/glib:2
>=dev-util/intltool-0.40
"
S="${WORKDIR}/${PN}-v${PV}"
src_install() {
insinto /usr/share/sounds/
doins -r librem5
}