From 6541631e68e37593e69a6a28d539eda530c7331c Mon Sep 17 00:00:00 2001 From: Wildan M Date: Thu, 21 May 2026 22:53:19 +0700 Subject: [PATCH 1/4] Port xfce4 and tidyup X11 config --- config/x11.toml | 59 ++++++++++++++++--- recipes/groups/mate-common/recipe.toml | 2 + recipes/groups/xfce4-common/recipe.toml | 10 ++++ .../x11/mate/mate-session-manager/recipe.toml | 1 + .../x11/mate/mate-session-manager/redox.patch | 12 ++++ recipes/wip/x11/mate/mate-themes/recipe.toml | 10 ++++ recipes/wip/x11/xfce4/libexo/recipe.toml | 15 +++++ recipes/wip/x11/xfce4/thunar/recipe.toml | 29 +++++++++ recipes/wip/x11/xfce4/xfce4-panel/recipe.toml | 1 + recipes/wip/x11/xfce4/xfce4-panel/redox.patch | 22 +++++++ .../wip/x11/xfce4/xfce4-session/recipe.toml | 23 ++++++++ .../wip/x11/xfce4/xfce4-session/redox.patch | 35 +++++++++++ .../wip/x11/xfce4/xfce4-settings/recipe.toml | 25 ++++++++ recipes/wip/x11/xfce4/xfdesktop/recipe.toml | 53 +++++++++++++++++ 14 files changed, 289 insertions(+), 8 deletions(-) create mode 100644 recipes/groups/xfce4-common/recipe.toml create mode 100644 recipes/wip/x11/mate/mate-session-manager/redox.patch create mode 100644 recipes/wip/x11/mate/mate-themes/recipe.toml create mode 100644 recipes/wip/x11/xfce4/libexo/recipe.toml create mode 100644 recipes/wip/x11/xfce4/thunar/recipe.toml create mode 100644 recipes/wip/x11/xfce4/xfce4-panel/redox.patch create mode 100644 recipes/wip/x11/xfce4/xfce4-session/recipe.toml create mode 100644 recipes/wip/x11/xfce4/xfce4-session/redox.patch create mode 100644 recipes/wip/x11/xfce4/xfce4-settings/recipe.toml create mode 100644 recipes/wip/x11/xfce4/xfdesktop/recipe.toml diff --git a/config/x11.toml b/config/x11.toml index 06de655f..34475909 100644 --- a/config/x11.toml +++ b/config/x11.toml @@ -16,9 +16,9 @@ dbus = {} gtk3 = {} mate-common = {} mesa-demos-x11 = {} +#firefox = {} #webkitgtk3 = {} # not compiling -#xfce4-panel = {} -#xfwm4 = {} +xfce4-common = {} x11-full = {} zenity = {} @@ -59,6 +59,30 @@ requires_weak 10_dbus 10_xenv 20_audiod.service nowait BROWSER=/bin/netsurf-fb VT=3 orbital orbital-x11 """ +[[files]] +path = "/run/user/0" +data = "" +directory = true +mode = 0o700 + +[[files]] +path = "/home/root/.config/dconf" +data = "" +directory = true +postinstall = true + +[[files]] +path = "/home/root/Desktop" +data = "" +directory = true +postinstall = true + + +[[files]] +path = "/usr/share/X11/xorg.conf.d" +data = "" +directory = true + [[files]] path = "/usr/bin/orbital-x11" mode = 0o755 @@ -70,11 +94,12 @@ set -ex # for ice authority and pixbuf export HOME=/home/root export XDG_DATA_DIRS=/usr/share +export XDG_RUNTIME_DIR=/run/user/0 +export XDG_CONFIG_HOME=/home/root/.config # Generate config file WIDTH="$((0x$(grep FRAMEBUFFER_WIDTH /scheme/sys/env | cut -d '=' -f 2)))" HEIGHT="$((0x$(grep FRAMEBUFFER_HEIGHT /scheme/sys/env | cut -d '=' -f 2)))" -mkdir -p /usr/share/X11/xorg.conf.d cat > /usr/share/X11/xorg.conf.d/orbital.conf < ++#include + + G_BEGIN_DECLS + +diff --color -ruwN source/plugins/tasklist/tasklist-widget.h source-new/plugins/tasklist/tasklist-widget.h +--- source/plugins/tasklist/tasklist-widget.h 2025-03-22 13:22:37.000000000 +0700 ++++ source-new/plugins/tasklist/tasklist-widget.h 2026-05-21 15:17:12.117347685 +0700 +@@ -21,6 +21,7 @@ + + #include "libxfce4panel/libxfce4panel.h" + ++#include + #include + + G_BEGIN_DECLS diff --git a/recipes/wip/x11/xfce4/xfce4-session/recipe.toml b/recipes/wip/x11/xfce4/xfce4-session/recipe.toml new file mode 100644 index 00000000..f7f2ef95 --- /dev/null +++ b/recipes/wip/x11/xfce4/xfce4-session/recipe.toml @@ -0,0 +1,23 @@ +[source] +tar = "https://archive.xfce.org/src/xfce/xfce4-session/4.21/xfce4-session-4.21.1.tar.xz" +patches = [ "redox.patch" ] +[build] +dependencies = [ + "atk", + "cairo", + "gdk-pixbuf", + "glib", + "gtk3", + "libice", + "libsm", + "libwnck3", + "libx11", + "libxfce4ui", + "libxfce4util", + "libxfce4windowing", + "pango", + "xfconf", +] +template = "meson" +mesonflags = [ +] diff --git a/recipes/wip/x11/xfce4/xfce4-session/redox.patch b/recipes/wip/x11/xfce4/xfce4-session/redox.patch new file mode 100644 index 00000000..c0d53cd0 --- /dev/null +++ b/recipes/wip/x11/xfce4/xfce4-session/redox.patch @@ -0,0 +1,35 @@ +diff --color -ruwN source/meson.build source-new/meson.build +--- source/meson.build 2025-12-29 23:51:03.000000000 +0700 ++++ source-new/meson.build 2026-05-21 21:53:44.879480320 +0700 +@@ -47,8 +47,6 @@ + libxfce4windowing = dependency('libxfce4windowing-0', version: dependency_versions['libxfce4windowing']) + xfconf = dependency('libxfconf-0', version: dependency_versions['xfce4']) + +-gdk_pixbuf_csource = find_program(gdk_pixbuf.get_variable(pkgconfig: 'gdk_pixbuf_csource'), required: true) +- + # Feature: 'x11' + x11_deps = [] + x11_deps += dependency('gdk-x11-3.0', version: dependency_versions['gtk'], required: get_option('x11')) +diff --color -ruwN source/xfce4-session/meson.build source-new/xfce4-session/meson.build +--- source/xfce4-session/meson.build 2025-12-29 23:51:03.000000000 +0700 ++++ source-new/xfce4-session/meson.build 2026-05-21 21:53:55.246584551 +0700 +@@ -89,7 +89,7 @@ + 'xfsm-chooser-icon.h', + input: 'xfsm-chooser-icon.png', + output: 'xfsm-chooser-icon.h', +- command: [gdk_pixbuf_csource, '--static', '--raw', '--stream', '--name=xfsm_chooser_icon_data', '@INPUT@'], ++ command: ['gdk-pixbuf-csource', '--static', '--raw', '--stream', '--name=xfsm_chooser_icon_data', '@INPUT@'], + capture: true, + ) + +diff --color -ruwN source/xfce4-session/xfsm-manager.h source-new/xfce4-session/xfsm-manager.h +--- source/xfce4-session/xfsm-manager.h 2025-12-29 23:51:03.000000000 +0700 ++++ source-new/xfce4-session/xfsm-manager.h 2026-05-21 21:54:38.971024148 +0700 +@@ -26,6 +26,7 @@ + #include + #include + #include ++#include + + #include "xfsm-client.h" + #include "xfsm-global.h" diff --git a/recipes/wip/x11/xfce4/xfce4-settings/recipe.toml b/recipes/wip/x11/xfce4/xfce4-settings/recipe.toml new file mode 100644 index 00000000..31ee60bb --- /dev/null +++ b/recipes/wip/x11/xfce4/xfce4-settings/recipe.toml @@ -0,0 +1,25 @@ + +[source] +tar = "https://archive.xfce.org/src/xfce/xfce4-settings/4.21/xfce4-settings-4.21.1.tar.xz" +[build] +dependencies = [ + "atk", + "cairo", + "gdk-pixbuf", + "glib", + "gtk3", + "libice", + "libsm", + "libwnck3", + "libx11", + "libxfce4ui", + "libxfce4util", + "libxfce4windowing", + "pango", + "garcon", + "xfconf", +] +template = "meson" +mesonflags = [ + "-Dwayland=disabled" +] diff --git a/recipes/wip/x11/xfce4/xfdesktop/recipe.toml b/recipes/wip/x11/xfce4/xfdesktop/recipe.toml new file mode 100644 index 00000000..0cf12b6f --- /dev/null +++ b/recipes/wip/x11/xfce4/xfdesktop/recipe.toml @@ -0,0 +1,53 @@ +[source] +tar = "https://archive.xfce.org/src/xfce/xfdesktop/4.20/xfdesktop-4.20.2.tar.bz2" +[build] +dependencies = [ + "atk", + "cairo", + "expat", + "fontconfig", + "freetype2", + "fribidi", + "garcon", + "gdk-pixbuf", + "gettext", + "glib", + "gtk3", + "harfbuzz", + "libepoxy", + "libffi", + "libiconv", + "libjpeg", + "libpng", + "libpthread-stubs", + "libsm", + "libnotify", + "libwnck3", + "libx11", + "libxau", + "libxcb", + "libxext", + "libxfce4ui", + "libxfce4util", + "libxfce4windowing", + "libxfixes", + "libxft", + "libxi", + "libxrandr", + "libxrender", + "libxxf86vm", + "mesa-x11", + "pango", + "pcre2", + "pixman", + "shared-mime-info", + "x11proto", + "vte", + "xfconf", + "zlib", + "libexo", + "libyaml", +] +template = "meson" +mesonflags = [ +] From 9fd5e0043874577a6aba6238978b266fa6287de6 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Thu, 21 May 2026 23:01:03 +0700 Subject: [PATCH 2/4] Add xfce4 to CI --- config/x86_64/ci.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/config/x86_64/ci.toml b/config/x86_64/ci.toml index 07cb5392..3ec0e5ad 100644 --- a/config/x86_64/ci.toml +++ b/config/x86_64/ci.toml @@ -22,6 +22,7 @@ mate-common = {} redox-tests = {} x11-minimal = {} x11-full = {} +xfce4-common = {} # Normal packages below From 1ab4449c527556c3632fc9910cb60bc7eabe16d5 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Thu, 21 May 2026 23:06:51 +0700 Subject: [PATCH 3/4] Remove dock from mate (not exist) --- .../wip/x11/mate/mate-session-manager/redox.patch | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/recipes/wip/x11/mate/mate-session-manager/redox.patch b/recipes/wip/x11/mate/mate-session-manager/redox.patch index 1293e310..b43b54af 100644 --- a/recipes/wip/x11/mate/mate-session-manager/redox.patch +++ b/recipes/wip/x11/mate/mate-session-manager/redox.patch @@ -1,3 +1,15 @@ +diff -ruwN source/data/org.mate.session.gschema.xml.in source-new/data/org.mate.session.gschema.xml.in +--- source/data/org.mate.session.gschema.xml.in 2024-02-17 00:25:07.000000000 +0700 ++++ source-new/data/org.mate.session.gschema.xml.in 2026-05-21 23:05:41.642620533 +0700 +@@ -37,7 +37,7 @@ + List of applications that are part of the default session. + + +- [ 'windowmanager', 'panel', 'filemanager', 'dock' ] ++ [ 'windowmanager', 'panel', 'filemanager' ] + Required session components + List of components that are required as part of the session. (Each element names a key under "/org/mate/desktop/session/required_components"). The Startup Applications preferences tool will not normally allow users to remove a required component from the session, and the session manager will automatically add the required components back to the session at login time if they do get removed. + diff -ruwN source/mate-session/gsm-manager.c source-new/mate-session/gsm-manager.c --- source/mate-session/gsm-manager.c 2024-02-17 00:25:07.000000000 +0700 +++ source-new/mate-session/gsm-manager.c 2026-05-21 21:13:01.539990071 +0700 @@ -6,7 +18,7 @@ diff -ruwN source/mate-session/gsm-manager.c source-new/mate-session/gsm-manager #define GSM_MANAGER_DBUS_NAME "org.gnome.SessionManager" -#define GSM_MANAGER_PHASE_TIMEOUT 30 /* seconds */ -+#define GSM_MANAGER_PHASE_TIMEOUT 3 /* seconds */ ++#define GSM_MANAGER_PHASE_TIMEOUT 5 /* seconds */ /* In the exit phase, all apps were already given the chance to inhibit the session end * At that stage we don't want to wait much for apps to respond, we want to exit, and fast. From 7e1acfc1cea9dccaafb3ceda1c37122f17c53d74 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Thu, 21 May 2026 23:28:34 +0700 Subject: [PATCH 4/4] Update x11 config --- config/x11.toml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/config/x11.toml b/config/x11.toml index 34475909..026c34c4 100644 --- a/config/x11.toml +++ b/config/x11.toml @@ -69,13 +69,11 @@ mode = 0o700 path = "/home/root/.config/dconf" data = "" directory = true -postinstall = true [[files]] path = "/home/root/Desktop" data = "" directory = true -postinstall = true [[files]] @@ -130,7 +128,7 @@ EOF export DISPLAY=":0" X "${DISPLAY}" & sleep 1 -exec dbus-launch --exit-with-x11 mate-x11-session +exec dbus-launch --exit-with-x11 xfce4-x11-session """ [[files]]