diff --git a/config/x11.toml b/config/x11.toml index 06de655f..026c34c4 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,28 @@ 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 + +[[files]] +path = "/home/root/Desktop" +data = "" +directory = true + + +[[files]] +path = "/usr/share/X11/xorg.conf.d" +data = "" +directory = true + [[files]] path = "/usr/bin/orbital-x11" mode = 0o755 @@ -70,11 +92,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 <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 +@@ -70,7 +70,7 @@ + #define GSM_MANAGER_DBUS_PATH "/org/gnome/SessionManager" + #define GSM_MANAGER_DBUS_NAME "org.gnome.SessionManager" + +-#define GSM_MANAGER_PHASE_TIMEOUT 30 /* 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. diff --git a/recipes/wip/x11/mate/mate-themes/recipe.toml b/recipes/wip/x11/mate/mate-themes/recipe.toml new file mode 100644 index 00000000..c8a7b2ba --- /dev/null +++ b/recipes/wip/x11/mate/mate-themes/recipe.toml @@ -0,0 +1,10 @@ +[source] +git = "https://github.com/mate-desktop/mate-themes" +shallow_clone = true + +[build] +template = "custom" +script = """ +mkdir -p ${COOKBOOK_STAGE}/usr/share/themes/ +rsync -a ${COOKBOOK_SOURCE}/desktop-themes/ ${COOKBOOK_STAGE}/usr/share/themes/ +""" diff --git a/recipes/wip/x11/xfce4/libexo/recipe.toml b/recipes/wip/x11/xfce4/libexo/recipe.toml new file mode 100644 index 00000000..4c1017a0 --- /dev/null +++ b/recipes/wip/x11/xfce4/libexo/recipe.toml @@ -0,0 +1,15 @@ +[source] +tar = "https://archive.xfce.org/src/xfce/exo/4.21/exo-4.21.0.tar.bz2" +[build] +dependencies = [ + "atk", + "cairo", + "gdk-pixbuf", + "gettext", + "glib", + "gtk3", + "libxfce4ui", + "libxfce4util", +] +template = "configure" + diff --git a/recipes/wip/x11/xfce4/thunar/recipe.toml b/recipes/wip/x11/xfce4/thunar/recipe.toml new file mode 100644 index 00000000..aa40985f --- /dev/null +++ b/recipes/wip/x11/xfce4/thunar/recipe.toml @@ -0,0 +1,29 @@ +[source] +tar = "https://archive.xfce.org/src/xfce/thunar/4.21/thunar-4.21.5.tar.xz" +[build] +dependencies = [ + "atk", + "cairo", + "gdk-pixbuf", + "gettext", + "glib", + "gtk3", + "libice", + "libnotify", + "libx11", + "libxfce4ui", + "libxfce4util", + "pango", + "pcre2", + "vte", + "xfconf", +] +dev-dependencies = [ + "libstdcxx" +] +template = "meson" +mesonflags = [ + "-Dpolkit=disabled", + "-Dgudev=disabled", + "-Dintrospection=false" +] diff --git a/recipes/wip/x11/xfce4/xfce4-panel/recipe.toml b/recipes/wip/x11/xfce4/xfce4-panel/recipe.toml index fd646309..0f3f0362 100644 --- a/recipes/wip/x11/xfce4/xfce4-panel/recipe.toml +++ b/recipes/wip/x11/xfce4/xfce4-panel/recipe.toml @@ -1,6 +1,7 @@ [source] tar = "https://archive.xfce.org/src/xfce/xfce4-panel/4.21/xfce4-panel-4.21.0.tar.xz" blake3 = "59a8f55ba237a56ccd16869a28426fa3890c292164a4502dd07ddba45e0268ed" +patches = ["redox.patch"] [build] dependencies = [ diff --git a/recipes/wip/x11/xfce4/xfce4-panel/redox.patch b/recipes/wip/x11/xfce4/xfce4-panel/redox.patch new file mode 100644 index 00000000..c5162fb7 --- /dev/null +++ b/recipes/wip/x11/xfce4/xfce4-panel/redox.patch @@ -0,0 +1,22 @@ +diff --color -ruwN source/panel/panel-module.h source-new/panel/panel-module.h +--- source/panel/panel-module.h 2025-03-22 13:22:37.000000000 +0700 ++++ source-new/panel/panel-module.h 2026-05-21 15:16:48.097953249 +0700 +@@ -23,6 +23,7 @@ + #include "libxfce4panel/xfce-panel-plugin-provider.h" + + #include ++#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 = [ +]