From 9a9861f8e3a0b2964f7064bb64258f41ac2d5b11 Mon Sep 17 00:00:00 2001 From: Ashley Wulber Date: Mon, 24 Oct 2022 14:03:45 -0400 Subject: [PATCH] feat: additions for optional experimental X support via wayland-proxy-virtwl --- Justfile | 13 ++++++++++--- data/cosmic-x.desktop | 7 +++++++ data/start-cosmic | 9 +++++++++ debian/rules | 5 +++-- 4 files changed, 29 insertions(+), 5 deletions(-) create mode 100644 data/cosmic-x.desktop diff --git a/Justfile b/Justfile index 4f097aa..609699c 100644 --- a/Justfile +++ b/Justfile @@ -4,6 +4,7 @@ prefix := rootdir + '/usr' clean := '0' debug := '0' vendor := '0' +x := '0' target := if debug == '1' { 'debug' } else { 'release' } vendor_args := if vendor == '1' { '--frozen --offline' } else { '' } debug_args := if debug == '1' { '' } else { '--release' } @@ -18,17 +19,23 @@ all: _extract_vendor # Installs files into the system install: + #!/usr/bin/env sh + # main binary install -Dm0755 target/release/cosmic-session {{bindir}}/cosmic-session - # session desktop file - install -Dm0644 data/cosmic.desktop {{sessiondir}}/cosmic.desktop - # session start script install -Dm0755 data/start-cosmic {{bindir}}/start-cosmic # systemd target install -Dm0644 data/cosmic-session.target {{systemddir}}/cosmic-session.target + + # session desktop file + if test {{x}} = 1; then + install -Dm0644 data/cosmic-x.desktop {{sessiondir}}/cosmic.desktop + else + install -Dm0644 data/cosmic.desktop {{sessiondir}}/cosmic.desktop + fi clean_vendor: rm -rf vendor vendor.tar .cargo/config diff --git a/data/cosmic-x.desktop b/data/cosmic-x.desktop new file mode 100644 index 0000000..b99d166 --- /dev/null +++ b/data/cosmic-x.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Name=COSMIC +Comment=This session logs you into the COSMIC desktop with experimental X support +Exec=env COSMIC_X=1 /usr/bin/start-cosmic +TryExec=/usr/bin/start-cosmic +Type=Application +DesktopNames=pop:COSMIC diff --git a/data/start-cosmic b/data/start-cosmic index f2a4533..cdec35e 100755 --- a/data/start-cosmic +++ b/data/start-cosmic @@ -26,6 +26,15 @@ fi export XDG_CURRENT_DESKTOP="${XDG_CURRENT_DESKTOP:=pop:COSMIC}" export XDG_SESSION_TYPE="${XDG_SESSION_TYPE:=wayland}" export XCURSOR_THEME="${XCURSOR_THEME:=Adwaita}" +export _JAVA_AWT_WM_NONREPARENTING=1 + +# experimental X support in cosmic, but still prefer wayland +if [[ ! -z "${COSMIC_X}" ]]; then + export DISPLAY=:0 + export GDK_BACKEND=wayland,x11 + export MOZ_ENABLE_WAYLAND=1 + export COSMIC_BACKEND=kms +fi # import environment variables from the login manager systemctl --user import-environment XDG_SESSION_TYPE XDG_CURRENT_DESKTOP diff --git a/debian/rules b/debian/rules index 5a1d807..23ad4c1 100755 --- a/debian/rules +++ b/debian/rules @@ -3,6 +3,7 @@ DESTDIR = debian/cosmic-session CLEAN ?= 1 VENDOR ?= 1 +X ?= 0 %: dh $@ @@ -24,7 +25,7 @@ override_dh_auto_clean: fi override_dh_auto_build: - just rootdir=$(DESTDIR) debug=$(DEBUG) vendor=$(VENDOR) + just rootdir=$(DESTDIR) debug=$(DEBUG) vendor=$(VENDOR) x=${X} override_dh_auto_install: - just rootdir=$(DESTDIR) install + just rootdir=$(DESTDIR) x=${X} install