mirror of
https://gitlab.redox-os.org/redox-os/redox.git
synced 2026-06-17 15:34:18 +08:00
Merge branch 'xfce4' into 'master'
Port xfce4 and tidyup X11 config See merge request redox-os/redox!2159
This commit is contained in:
commit
79d8072276
@ -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 <<EOF
|
||||
Section "Device"
|
||||
Identifier "Configured Video Device"
|
||||
@ -105,22 +128,40 @@ EOF
|
||||
export DISPLAY=":0"
|
||||
X "${DISPLAY}" &
|
||||
sleep 1
|
||||
exec dbus-launch --exit-with-x11 orbital-x11-session
|
||||
exec dbus-launch --exit-with-x11 xfce4-x11-session
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/usr/bin/orbital-x11-session"
|
||||
path = "/usr/bin/mate-x11-session"
|
||||
mode = 0o755
|
||||
data = """
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -ex
|
||||
|
||||
gdk-pixbuf-query-loaders --update-cache
|
||||
/usr/libexec/dconf-service &
|
||||
|
||||
xterm&
|
||||
sleep 1
|
||||
#zenity --info --text="running mate as $(id)!"
|
||||
#exec marco
|
||||
exec mate-session
|
||||
"""
|
||||
|
||||
|
||||
[[files]]
|
||||
path = "/usr/bin/xfce4-x11-session"
|
||||
mode = 0o755
|
||||
data = """
|
||||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
|
||||
gdk-pixbuf-query-loaders --update-cache
|
||||
mate-session&
|
||||
/usr/lib/xfce4/xfconf/xfconfd &
|
||||
|
||||
xterm&
|
||||
#zenity --info --text="running xfce4 as $(id)!"
|
||||
#exec xfwm4
|
||||
exec xfce4-session
|
||||
"""
|
||||
|
||||
|
||||
|
||||
@ -22,6 +22,7 @@ mate-common = {}
|
||||
redox-tests = {}
|
||||
x11-minimal = {}
|
||||
x11-full = {}
|
||||
xfce4-common = {}
|
||||
|
||||
# Normal packages below
|
||||
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
[package]
|
||||
dependencies = [
|
||||
"caja",
|
||||
"dconf",
|
||||
"marco",
|
||||
"mate-control-center",
|
||||
"mate-icon-theme",
|
||||
@ -8,4 +9,5 @@ dependencies = [
|
||||
"mate-session-manager",
|
||||
"mate-settings-daemon",
|
||||
"mate-terminal",
|
||||
"mate-themes",
|
||||
]
|
||||
|
||||
10
recipes/groups/xfce4-common/recipe.toml
Normal file
10
recipes/groups/xfce4-common/recipe.toml
Normal file
@ -0,0 +1,10 @@
|
||||
[package]
|
||||
dependencies = [
|
||||
"thunar",
|
||||
"xfconf",
|
||||
"xfdesktop",
|
||||
"xfce4-session",
|
||||
"xfce4-panel",
|
||||
"xfce4-settings",
|
||||
"xfwm4",
|
||||
]
|
||||
@ -1,6 +1,7 @@
|
||||
[source]
|
||||
tar = "https://github.com/mate-desktop/mate-session-manager/releases/download/v1.28.0/mate-session-manager-1.28.0.tar.xz"
|
||||
blake3 = "c76fd3064f4697180006cc2562a0ac55ddfa40b4029047f58c8dcc790606a9a6"
|
||||
patches = ["redox.patch"]
|
||||
script = """
|
||||
autotools_recursive_regenerate
|
||||
"""
|
||||
|
||||
24
recipes/wip/x11/mate/mate-session-manager/redox.patch
Normal file
24
recipes/wip/x11/mate/mate-session-manager/redox.patch
Normal file
@ -0,0 +1,24 @@
|
||||
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 @@
|
||||
<description>List of applications that are part of the default session.</description>
|
||||
</key>
|
||||
<key name="required-components-list" type="as">
|
||||
- <default>[ 'windowmanager', 'panel', 'filemanager', 'dock' ]</default>
|
||||
+ <default>[ 'windowmanager', 'panel', 'filemanager' ]</default>
|
||||
<summary>Required session components</summary>
|
||||
<description>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.</description>
|
||||
</key>
|
||||
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.
|
||||
10
recipes/wip/x11/mate/mate-themes/recipe.toml
Normal file
10
recipes/wip/x11/mate/mate-themes/recipe.toml
Normal file
@ -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/
|
||||
"""
|
||||
15
recipes/wip/x11/xfce4/libexo/recipe.toml
Normal file
15
recipes/wip/x11/xfce4/libexo/recipe.toml
Normal file
@ -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"
|
||||
|
||||
29
recipes/wip/x11/xfce4/thunar/recipe.toml
Normal file
29
recipes/wip/x11/xfce4/thunar/recipe.toml
Normal file
@ -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"
|
||||
]
|
||||
@ -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 = [
|
||||
|
||||
22
recipes/wip/x11/xfce4/xfce4-panel/redox.patch
Normal file
22
recipes/wip/x11/xfce4/xfce4-panel/redox.patch
Normal file
@ -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 <gtk/gtk.h>
|
||||
+#include <strings.h>
|
||||
|
||||
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 <strings.h>
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
23
recipes/wip/x11/xfce4/xfce4-session/recipe.toml
Normal file
23
recipes/wip/x11/xfce4/xfce4-session/recipe.toml
Normal file
@ -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 = [
|
||||
]
|
||||
35
recipes/wip/x11/xfce4/xfce4-session/redox.patch
Normal file
35
recipes/wip/x11/xfce4/xfce4-session/redox.patch
Normal file
@ -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 <glib-object.h>
|
||||
#include <libxfce4util/libxfce4util.h>
|
||||
#include <xfconf/xfconf.h>
|
||||
+#include <strings.h>
|
||||
|
||||
#include "xfsm-client.h"
|
||||
#include "xfsm-global.h"
|
||||
25
recipes/wip/x11/xfce4/xfce4-settings/recipe.toml
Normal file
25
recipes/wip/x11/xfce4/xfce4-settings/recipe.toml
Normal file
@ -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"
|
||||
]
|
||||
53
recipes/wip/x11/xfce4/xfdesktop/recipe.toml
Normal file
53
recipes/wip/x11/xfce4/xfdesktop/recipe.toml
Normal file
@ -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 = [
|
||||
]
|
||||
Loading…
Reference in New Issue
Block a user