diff --git a/meta-citadel/recipes-citadel/citadel-config/files/systemd/sway-session-switcher.service b/meta-citadel/recipes-citadel/citadel-config/files/systemd/sway-session-switcher.service index ff22d83..048620a 100644 --- a/meta-citadel/recipes-citadel/citadel-config/files/systemd/sway-session-switcher.service +++ b/meta-citadel/recipes-citadel/citadel-config/files/systemd/sway-session-switcher.service @@ -1,9 +1,8 @@ [Unit] Description=Sway Session Switcher After=accounts-daemon.service -Wants=accounts-daemon.service - -ConditionKernelCommandLine=|citadel.sway +Before=gdm.service +ConditionKernelCommandLine=citadel.sway [Service] Type=oneshot diff --git a/meta-citadel/recipes-citadel/packagegroups/packagegroup-sway.bb b/meta-citadel/recipes-citadel/packagegroups/packagegroup-sway.bb index 175c06c..e8799ee 100644 --- a/meta-citadel/recipes-citadel/packagegroups/packagegroup-sway.bb +++ b/meta-citadel/recipes-citadel/packagegroups/packagegroup-sway.bb @@ -5,12 +5,13 @@ RDEPENDS_${PN} = "\ wlroots \ sway \ xcb-util-xrm \ - sgflow \ swaybg \ swaylock \ grim \ slurp \ wdisplays \ polkit-gnome \ + gtk-layer-shell \ + sgmenu \ " diff --git a/meta-citadel/recipes-sway/gtk-layer-shell/gtk-layer-shell_0.5.1.bb b/meta-citadel/recipes-sway/gtk-layer-shell/gtk-layer-shell_0.5.1.bb new file mode 100644 index 0000000..5f68fbe --- /dev/null +++ b/meta-citadel/recipes-sway/gtk-layer-shell/gtk-layer-shell_0.5.1.bb @@ -0,0 +1,23 @@ + +LICENSE = "LGPLv3 & MIT & GPLv3" +LIC_FILES_CHKSUM = "file://LICENSE_LGPL.txt;md5=3000208d539ec061b899bce1d9ce9404 \ + file://LICENSE_MIT.txt;md5=d015f272ca1521139fd99ea64d6e5e23 \ + file://LICENSE_GPL.txt;md5=1ebbd3e34237af26da5dc08a4e440464 \ + file://test/license-ignore.txt;md5=6d7a7aa8c01eace0202bf3b11070a899 \ + file://test/check-licenses.py;md5=3c4fd5f6d979f739fba5d1f020f81e3e" + + +SRC_URI = "git://github.com/wmww/gtk-layer-shell;protocol=https" + + +SRCREV = "3b3b935b1643eb58e6cf5a9432b4470d568bfbc2" +UPSTREAM_CHECK_COMMITS = "1" + +S = "${WORKDIR}/git" +B = "${WORKDIR}/build" + +inherit meson pkgconfig gobject-introspection +DEPENDS = "wlroots wayland wayland-native wayland-protocols glib-2.0 gtk+3" +#DEPENDS_class-native = "wayland-native glib-2.0-native gtk+3-native gtk+3-wayland-native" +BBCLASSEXTEND = "native nativesdk" + diff --git a/meta-citadel/recipes-sway/sgflow/sgflow_git.bb b/meta-citadel/recipes-sway/sgflow/sgflow_git.bb deleted file mode 100644 index 45ebc5d..0000000 --- a/meta-citadel/recipes-sway/sgflow/sgflow_git.bb +++ /dev/null @@ -1,22 +0,0 @@ - -inherit meson pkgconfig - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=f0ae30b1ae6ac2aff356f848cfe6bd04" - -SRC_URI = "git://github.com/subgraph/sgflow;protocol=https \ - " -PV = "0.1.0+git${SRCPV}" -PR = "r0" - -UPSTREAM_CHECK_COMMITS = "1" - -SRCREV = "3a2d4a70f09a3cee6d345ed7fbb17696576a0e4c" - -S = "${WORKDIR}/git" - -#DEPENDS = "libx11 libdrm dbus libxcb xcb-util-wm xcb-util-image virtual/egl mesa wayland wayland-native libxkbcommon libinput systemd pixman" - -DEPENDS = "wlroots gtk+3 glib-2.0-native wayland-native" - - diff --git a/meta-citadel/recipes-sway/sgmenu/sgmenu_0.1.0.bb b/meta-citadel/recipes-sway/sgmenu/sgmenu_0.1.0.bb new file mode 100644 index 0000000..80e8157 --- /dev/null +++ b/meta-citadel/recipes-sway/sgmenu/sgmenu_0.1.0.bb @@ -0,0 +1,108 @@ +SUMMARY = "${PN}" +HOMEPAGE = "http://github.com/subgraph/citadel" +LICENSE = "CLOSED" +LIC_FILES_CHKSUM="" + +inherit cargo systemd +# +# Update this when changes are pushed to github +# +SRCREV = "32b4b0886a2a1872b4b7a2d36236daf0b94578d6" + +SRC_URI = "git://github.com/subgraph/sgmenu.git;protocol=https" + +S = "${WORKDIR}/git" + +# If Cargo.lock changes in citadel-tools, this needs to be updated. +# cargo bitbake does not support workspaces so as a workaround first +# copy the Cargo.lock file into one of the tool subdirectories. In +# that subdirectory run "cargo bitbake" and it will produce a bitbake +# recipe file with the correct set of dependencies for the Cargo.lock +# file. Copy just the SRC_URI variable from that file here to update +# the dependency list. + +SRC_URI += " \ +crate://crates.io/aho-corasick/0.7.13 \ +crate://crates.io/anyhow/1.0.31 \ +crate://crates.io/atk/0.9.0 \ +crate://crates.io/atk-sys/0.10.0 \ +crate://crates.io/atty/0.2.14 \ +crate://crates.io/bitflags/1.2.1 \ +crate://crates.io/cairo-rs/0.9.1 \ +crate://crates.io/cairo-sys-rs/0.10.0 \ +crate://crates.io/cc/1.0.58 \ +crate://crates.io/cfg-if/0.1.10 \ +crate://crates.io/either/1.5.3 \ +crate://crates.io/env_logger/0.7.1 \ +crate://crates.io/futures/0.3.5 \ +crate://crates.io/futures-channel/0.3.5 \ +crate://crates.io/futures-core/0.3.5 \ +crate://crates.io/futures-executor/0.3.5 \ +crate://crates.io/futures-io/0.3.5 \ +crate://crates.io/futures-macro/0.3.5 \ +crate://crates.io/futures-sink/0.3.5 \ +crate://crates.io/futures-task/0.3.5 \ +crate://crates.io/futures-util/0.3.5 \ +crate://crates.io/gdk/0.13.2 \ +crate://crates.io/gdk-pixbuf/0.9.0 \ +crate://crates.io/gdk-pixbuf-sys/0.10.0 \ +crate://crates.io/gdk-sys/0.10.0 \ +crate://crates.io/gio/0.9.1 \ +crate://crates.io/gio-sys/0.10.1 \ +crate://crates.io/glib/0.10.3 \ +crate://crates.io/glib-macros/0.10.1 \ +crate://crates.io/glib-sys/0.10.1 \ +crate://crates.io/gobject-sys/0.10.0 \ +crate://crates.io/gtk/0.9.2 \ +crate://crates.io/gtk-sys/0.10.0 \ +crate://crates.io/heck/0.3.1 \ +crate://crates.io/hermit-abi/0.1.15 \ +crate://crates.io/humantime/1.3.0 \ +crate://crates.io/itertools/0.9.0 \ +crate://crates.io/lazy_static/1.4.0 \ +crate://crates.io/libc/0.2.72 \ +crate://crates.io/log/0.4.11 \ +crate://crates.io/memchr/2.3.3 \ +crate://crates.io/once_cell/1.4.0 \ +crate://crates.io/pango/0.9.1 \ +crate://crates.io/pango-sys/0.10.0 \ +crate://crates.io/pin-project/0.4.22 \ +crate://crates.io/pin-project-internal/0.4.22 \ +crate://crates.io/pin-utils/0.1.0 \ +crate://crates.io/pkg-config/0.3.17 \ +crate://crates.io/proc-macro2/1.0.18 \ +crate://crates.io/proc-macro-crate/0.1.5 \ +crate://crates.io/proc-macro-error/1.0.3 \ +crate://crates.io/proc-macro-error-attr/1.0.3 \ +crate://crates.io/proc-macro-hack/0.5.16 \ +crate://crates.io/proc-macro-nested/0.1.6 \ +crate://crates.io/quick-error/1.2.3 \ +crate://crates.io/quote/1.0.7 \ +crate://crates.io/regex/1.3.9 \ +crate://crates.io/regex-syntax/0.6.18 \ +crate://crates.io/serde/1.0.114 \ +crate://crates.io/slab/0.4.2 \ +crate://crates.io/strum/0.18.0 \ +crate://crates.io/strum_macros/0.18.0 \ +crate://crates.io/syn/1.0.33 \ +crate://crates.io/syn-mid/0.5.0 \ +crate://crates.io/system-deps/1.3.2 \ +crate://crates.io/termcolor/1.1.0 \ +crate://crates.io/thiserror/1.0.20 \ +crate://crates.io/thiserror-impl/1.0.20 \ +crate://crates.io/thread_local/1.0.1 \ +crate://crates.io/toml/0.5.6 \ +crate://crates.io/unicode-segmentation/1.6.0 \ +crate://crates.io/unicode-xid/0.2.1 \ +crate://crates.io/version_check/0.9.2 \ +crate://crates.io/version-compare/0.0.10 \ +crate://crates.io/winapi/0.3.9 \ +crate://crates.io/winapi-util/0.1.5 \ +crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ +crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ +" + +export SODIUM_USE_PKG_CONFIG = "1" + +DEPENDS = "gtk-layer-shell gtk+3 glib-2.0" +BBCLASSEXTEND = "native" diff --git a/meta-citadel/recipes-sway/sgstatus/sgstatus_0.1.0.bb b/meta-citadel/recipes-sway/sgstatus/sgstatus_0.1.0.bb deleted file mode 100644 index 8bd14f5..0000000 --- a/meta-citadel/recipes-sway/sgstatus/sgstatus_0.1.0.bb +++ /dev/null @@ -1,96 +0,0 @@ -# Auto-Generated by cargo-bitbake 0.3.10 -# -inherit cargo - -# If this is git based prefer versioned ones if they exist -# DEFAULT_PREFERENCE = "-1" - -# how to get sgstatus could be as easy as but default to a git checkout: -# SRC_URI += "crate://crates.io/sgstatus/0.1.0" -SRC_URI += "git://github.com/subgraph/sgstatus;protocol=https" -SRCREV = "a39d5627de38507458fd4f6a5f624ae5faaf797c" -S = "${WORKDIR}/git" -CARGO_SRC_DIR="" -PV_append = ".AUTOINC+a39d5627de" - -# please note if you have entries that do not begin with crate:// -# you must change them to how that package can be fetched -SRC_URI += " \ -crate://crates.io/aho-corasick/0.6.4 \ -crate://crates.io/atty/0.2.6 \ -crate://crates.io/bitflags/1.0.1 \ -crate://crates.io/byteorder/1.2.1 \ -crate://crates.io/bytes/0.4.6 \ -crate://crates.io/cfg-if/0.1.2 \ -crate://crates.io/dbus-tokio/0.2.1 \ -crate://crates.io/dbus/0.6.1 \ -crate://crates.io/env_logger/0.5.4 \ -crate://crates.io/error-chain/0.10.0 \ -crate://crates.io/fuchsia-zircon-sys/0.3.3 \ -crate://crates.io/fuchsia-zircon/0.3.3 \ -crate://crates.io/futures/0.1.18 \ -crate://crates.io/humantime/1.1.1 \ -crate://crates.io/iovec/0.1.2 \ -crate://crates.io/kernel32-sys/0.2.2 \ -crate://crates.io/lazy_static/1.0.0 \ -crate://crates.io/lazycell/0.6.0 \ -crate://crates.io/libc/0.2.37 \ -crate://crates.io/libdbus-sys/0.1.2 \ -crate://crates.io/libpulse-binding/1.0.3 \ -crate://crates.io/libpulse-sys/1.0.2 \ -crate://crates.io/log/0.3.9 \ -crate://crates.io/log/0.4.1 \ -crate://crates.io/memchr/2.0.1 \ -crate://crates.io/metadeps/1.1.2 \ -crate://crates.io/mio/0.6.13 \ -crate://crates.io/miow/0.2.1 \ -crate://crates.io/net2/0.2.32 \ -crate://crates.io/pkg-config/0.3.9 \ -crate://crates.io/quick-error/1.2.1 \ -crate://crates.io/redox_syscall/0.1.37 \ -crate://crates.io/redox_termios/0.1.1 \ -crate://crates.io/regex-syntax/0.4.2 \ -crate://crates.io/regex/0.2.6 \ -crate://crates.io/scoped-tls/0.1.0 \ -crate://crates.io/slab/0.3.0 \ -crate://crates.io/slab/0.4.0 \ -crate://crates.io/termcolor/0.3.5 \ -crate://crates.io/termion/1.5.1 \ -crate://crates.io/thread_local/0.3.5 \ -crate://crates.io/tokio-core/0.1.12 \ -crate://crates.io/tokio-io/0.1.5 \ -crate://crates.io/tokio-timer/0.1.2 \ -crate://crates.io/toml/0.2.1 \ -crate://crates.io/unreachable/1.0.0 \ -crate://crates.io/utf8-ranges/1.0.0 \ -crate://crates.io/void/1.0.2 \ -crate://crates.io/winapi-build/0.1.1 \ -crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ -crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ -crate://crates.io/winapi/0.2.8 \ -crate://crates.io/winapi/0.3.4 \ -crate://crates.io/wincolor/0.1.6 \ -crate://crates.io/ws2_32-sys/0.2.1 \ -" - - - -LIC_FILES_CHKSUM=" \ -" - -SUMMARY = "sgstatus" -HOMEPAGE = "https://github.com/subgraph/sgstatus" -LICENSE = "CLOSED" - -DEPENDS += " dbus pulseaudio" -do_install() { - install -d ${D}${libexecdir} - - install -m 755 ${B}/target/${CARGO_TARGET_SUBDIR}/sgstatus ${D}${libexecdir} -} - -# includes this file if it exists but does not fail -# this is useful for anything you may want to override from -# what cargo-bitbake generates. -include sgstatus-${PV}.inc -include sgstatus.inc diff --git a/meta-citadel/recipes-sway/sway/files/0001-Reinstate-wayland-0-as-starting-display-socket-for-C.patch b/meta-citadel/recipes-sway/sway/files/0001-Reinstate-wayland-0-as-starting-display-socket-for-C.patch new file mode 100644 index 0000000..110a1cf --- /dev/null +++ b/meta-citadel/recipes-sway/sway/files/0001-Reinstate-wayland-0-as-starting-display-socket-for-C.patch @@ -0,0 +1,25 @@ +From 6970d4c08014a782a90513ef5ab99c10d9937dd1 Mon Sep 17 00:00:00 2001 +From: David McKinney +Date: Fri, 12 Feb 2021 13:49:22 +0000 +Subject: [PATCH] Reinstate wayland-0 as starting display socket for Citadel + +--- + sway/server.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/sway/server.c b/sway/server.c +index 5de73b39..095389d3 100644 +--- a/sway/server.c ++++ b/sway/server.c +@@ -152,9 +152,9 @@ bool server_init(struct sway_server *server) { + wlr_primary_selection_v1_device_manager_create(server->wl_display); + wlr_viewporter_create(server->wl_display); + +- // Avoid using "wayland-0" as display socket ++ // Undo: Avoid using "wayland-0" as display socket + char name_candidate[16]; +- for (int i = 1; i <= 32; ++i) { ++ for (int i = 0; i <= 32; ++i) { + sprintf(name_candidate, "wayland-%d", i); + if (wl_display_add_socket(server->wl_display, name_candidate) >= 0) { + server->socket = strdup(name_candidate); diff --git a/meta-citadel/recipes-sway/sway/files/config b/meta-citadel/recipes-sway/sway/files/config index 2ca2059..7cf4c42 100644 --- a/meta-citadel/recipes-sway/sway/files/config +++ b/meta-citadel/recipes-sway/sway/files/config @@ -7,29 +7,34 @@ ### Variables # # Logo key. Use Mod1 for Alt. +# set $mod Mod4 +# # Home row direction keys, like vim +# set $left h set $down j set $up k set $right l -# Your preferred terminal emulator - script command to appease pty requirement of machinectl -set $term /usr/libexec/citadel-run gnome-terminal -set $citadelterm gnome-terminal -set $filemanager /usr/libexec/citadel-run nautilus -set $lockscreen swaylock --scaling=fill -i /usr/share/backgrounds/gnome/adwaita-morning.jpg -set $screenshot grim /storage/realms/Shared/`date +'%Y-%m-%d-%H%M%S_screenshot.png'` -set $screenshot_region slurp | grim -g - /home/citadel/`date +'%Y-%m-%d-%H%M%S_screenshot.png'` +# +# Commands +# +set $term /usr/libexec/citadel-run /usr/bin/x-terminal-emulator +set $citadelterm /usr/bin/dbus-launch /usr/bin/gnome-terminal --app-id org.gnome.TerminalCitadel --title "Citadel" +set $lockscreen /usr/bin/swaylock --scaling=fill -i /usr/share/backgrounds/gnome/adwaita-morning.jpg +set $screenshot /usr/bin/grim `/usr/bin/mktemp -u /storage/realms/Shared/$(/usr/bin/date +"%Y-%m-%d_%T_XXXXXX_screenshot.png")` +set $screenshot_region /usr/bin/slurp | /usr/bin/grim -g `/usr/bin/mktemp -u storage/realms/Shared/$(/usr/bin/date +"%Y-%m-%d_%T_XXXXXX_screenshot.png")` -# Your preferred application launcher -set $menu /usr/bin/sgflow +set $menu dbus-launch /usr/bin/sgmenu +set $realmsui /usr/libexec/citadel-realms-ui ### Output configuration # # Default wallpaper -output * bg /usr/share/backgrounds/gnome/adwaita-night.jpg fill +# +output * bg #2e3440 solid_color # # Example configuration: @@ -56,26 +61,23 @@ output * bg /usr/share/backgrounds/gnome/adwaita-night.jpg fill # # Basics: # -# start a terminal bindsym $mod+Return exec $term bindsym $mod+Shift+Return exec $citadelterm -# start file manager -bindsym $mod+n exec $filemanager - # kill focused window bindsym $mod+Shift+q kill # start your launcher bindsym $mod+d exec $menu +bindsym $mod+Shift+d exec $realmsui # lock screen -bindsym $mod+9 exec $lockscreen +bindsym $mod+Shift+Escape exec $lockscreen # volume -bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% -bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5% -bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle +bindsym XF86AudioRaiseVolume exec /usr/bin/pactl set-sink-volume @DEFAULT_SINK@ +5% +bindsym XF86AudioLowerVolume exec /usr/bin/pactl set-sink-volume @DEFAULT_SINK@ -5% +bindsym XF86AudioMute exec /usr/bin/pactl set-sink-mute @DEFAULT_SINK@ toggle # screenshots bindsym $mod+Print exec $screenshot @@ -125,6 +127,9 @@ bindsym $mod+5 workspace 5 bindsym $mod+6 workspace 6 bindsym $mod+7 workspace 7 bindsym $mod+8 workspace 8 +bindsym $mod+9 workspace 9 +bindsym $mod+0 workspace 10 + # move focused container to workspace bindsym $mod+Shift+1 move container to workspace 1 bindsym $mod+Shift+2 move container to workspace 2 @@ -134,8 +139,8 @@ bindsym $mod+Shift+5 move container to workspace 5 bindsym $mod+Shift+6 move container to workspace 6 bindsym $mod+Shift+7 move container to workspace 7 bindsym $mod+Shift+8 move container to workspace 8 -# Note: workspaces can have any name you want, not just numbers. -# We just use 1-8 as the default. +bindsym $mod+Shift+9 move container to workspace 9 +bindsym $mod+Shift+0 move container to workspace 10 # # Layout stuff: @@ -204,25 +209,65 @@ mode "resize" { } bindsym $mod+r mode "resize" +# +# Passthrough mode for nested sessions: +# +mode passthrough { +bindsym $mod+f12 mode default +} +bindsym $mod+f12 mode passthrough + # # Borders: # -default_border pixel 1 -default_floating_border normal +default_border pixel 3 +default_floating_border pixel 3 # # Gaps: # gaps inner 10 -gaps outer 4 +gaps outer 5 smart_gaps on +smart_borders on + +# +# Titlebar (hide in stacking/tabbed modes): +# +titlebar_border_thickness 0 +titlebar_padding 0 0 + +# +# Client styles: +set $nord0 #2e3440 +set $nord1 #3b4252 +set $nord2 #434c5e +set $nord3 #4c566a +set $nord4 #d8dee9 +set $nord5 #e5e9f0 +set $nord6 #eceff4 +set $nord7 #8fbcbb +set $nord8 #88c0d0 +set $nord9 #81a1c1 +set $nord10 #5e81ac +set $nord11 #bf616a +set $nord12 #d08770 +set $nord13 #ebcb8b +set $nord14 #a3be8c +set $nord15 #b48ead + +# class border bg text indic child_border +client.focused $nord6 $nord3 $nord5 $nord2 $nord2 +client.focused_inactive $nord1 $nord1 $nord1 $nord1 $nord1 +client.unfocused $nord0 $nord1 $nord3 $nord1 $nord0 +client.urgent $nord2 $nord2 $nord6 $nord2 $nord2 +client.placeholder $nord0 $nord0 $nord6 $nord0 $nord0 # # Startup Commands: # exec /usr/libexec/polkit-gnome-authentication-agent-1 exec systemctl --user restart pulseaudio.service -exec /usr/bin/start-pulseaudio-x11 exec /usr/libexec/gsd-power exec /usr/libexec/gsd-sound exec /usr/libexec/gsd-xsettings @@ -233,16 +278,12 @@ exec /usr/libexec/gsd-xsettings # Read `man 5 sway-bar` for more information about this section. bar { position bottom + status_command while /usr/bin/date +'%Y-%m-%d %l:%M %p'; do /usr/bin/sleep 60; done colors { - statusline #ffffff - background #00000000 - inactive_workspace #32323200 #32323200 #5c5c5c + statusline $nord4 + background $nord1 + focused_workspace $nord4 $nord3 $nord4 + inactive_workspace $nord1 $nord1 $nord3 } - # Disabling until tray works in Sway 1.0 - #status_command /usr/libexec/sgstatus - # Disabling until tray works in Sway 1.0 - #icon_theme Paper } -include /etc/sway/config.d/* - diff --git a/meta-citadel/recipes-sway/sway/sway_1.5.1.bb b/meta-citadel/recipes-sway/sway/sway_1.5.1.bb new file mode 100644 index 0000000..afec0ca --- /dev/null +++ b/meta-citadel/recipes-sway/sway/sway_1.5.1.bb @@ -0,0 +1,31 @@ +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=dfc67e5b1fa10ebb4b70eb0c0ca67bea" + +SRCREV = "5ae4f65045c04df7ad2d87142b4064803d97a73e" + +#PV = "1.4+git${SRCPV}" + +S = "${WORKDIR}/git" +SRC_URI = "git://github.com/swaywm/sway;protocol=https \ + file://config \ + file://0001-Reinstate-wayland-0-as-starting-display-socket-for-C.patch \ + " + +UPSTREAM_CHECK_COMMITS = "1" + +inherit meson + +DEPENDS = "dbus cairo pango wlroots libinput libxkbcommon wayland wayland-native libpam libcap json-c libpcre gdk-pixbuf" + +FILES_${PN} += "\ + ${datadir}/wayland-sessions/sway.desktop \ +" + +do_install_append() { + rm ${D}${sysconfdir}/sway/config + install -m 644 ${WORKDIR}/config ${D}${sysconfdir}/sway/config +} + +EXTRA_OEMESON += "-Ddefault-wallpaper=false -Dzsh-completions=false -Dbash-completions=false -Dfish-completions=false" + + diff --git a/meta-citadel/recipes-sway/swaybg/swaybg_git.bb b/meta-citadel/recipes-sway/swaybg/swaybg_git.bb index 13c416e..70b0973 100644 --- a/meta-citadel/recipes-sway/swaybg/swaybg_git.bb +++ b/meta-citadel/recipes-sway/swaybg/swaybg_git.bb @@ -14,6 +14,6 @@ SRCREV = "a8f109af90353369e7e2e689efe8ce06eb9c60ac" S = "${WORKDIR}/git" -DEPENDS = "wayland wayland-native wayland-protocols cairo" +DEPENDS = "wayland wayland-native wayland-protocols cairo gdk-pixbuf" diff --git a/meta-citadel/recipes-sway/wdisplays/wdisplays/use_correct_versions.patch b/meta-citadel/recipes-sway/wdisplays/wdisplays/use_correct_versions.patch new file mode 100644 index 0000000..200acd8 --- /dev/null +++ b/meta-citadel/recipes-sway/wdisplays/wdisplays/use_correct_versions.patch @@ -0,0 +1,48 @@ +From 5198a9c94b40ff157c284df413be5402f1b75118 Mon Sep 17 00:00:00 2001 +From: Simon Ser +Date: Wed, 8 Jul 2020 11:57:35 +0200 +Subject: [PATCH] Use correct versions when binding globals + +Changes to protocols aren't forward-compatible. It's not possible to use +version n+1 when a client has been designed to work with version n. For +instance in wlr-screencopy v5 a new event has been added. Binding to +version 5 without upgrading the client leads to libwayland errors +because libwayland doesn't know how to handle the event. + +The client needs to maintain its own version requirements. + +Closes: https://github.com/cyclopsian/wdisplays/issues/18 +--- + src/outputs.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/src/outputs.c b/src/outputs.c +index 9ebf7e5..a5007e8 100644 +--- a/src/outputs.c ++++ b/src/outputs.c +@@ -534,20 +534,20 @@ static void registry_handle_global(void *data, struct wl_registry *registry, + + if (strcmp(interface, zwlr_output_manager_v1_interface.name) == 0) { + state->output_manager = wl_registry_bind(registry, name, +- &zwlr_output_manager_v1_interface, version); ++ &zwlr_output_manager_v1_interface, 1); + zwlr_output_manager_v1_add_listener(state->output_manager, + &output_manager_listener, state); + } else if (strcmp(interface, zxdg_output_manager_v1_interface.name) == 0) { + state->xdg_output_manager = wl_registry_bind(registry, name, +- &zxdg_output_manager_v1_interface, version); ++ &zxdg_output_manager_v1_interface, 2); + } else if(strcmp(interface, zwlr_screencopy_manager_v1_interface.name) == 0) { + state->copy_manager = wl_registry_bind(registry, name, +- &zwlr_screencopy_manager_v1_interface, version); ++ &zwlr_screencopy_manager_v1_interface, 1); + } else if(strcmp(interface, zwlr_layer_shell_v1_interface.name) == 0) { + state->layer_shell = wl_registry_bind(registry, name, +- &zwlr_layer_shell_v1_interface, version); ++ &zwlr_layer_shell_v1_interface, 1); + } else if(strcmp(interface, wl_shm_interface.name) == 0) { +- state->shm = wl_registry_bind(registry, name, &wl_shm_interface, version); ++ state->shm = wl_registry_bind(registry, name, &wl_shm_interface, 1); + } + } + diff --git a/meta-citadel/recipes-sway/wdisplays/wdisplays_git.bb b/meta-citadel/recipes-sway/wdisplays/wdisplays_git.bb index 0918a96..2d6f92c 100644 --- a/meta-citadel/recipes-sway/wdisplays/wdisplays_git.bb +++ b/meta-citadel/recipes-sway/wdisplays/wdisplays_git.bb @@ -8,6 +8,8 @@ LIC_FILES_CHKSUM = "file://LICENSES/MIT.txt;md5=38aa75cf4c4c87f018227d5ec9638d75 file://LICENSES/CC-BY-SA-4.0.txt;md5=4b39cb11ffa11c92d3f7a3431390e0d9" SRC_URI = "git://github.com/cyclopsian/wdisplays;protocol=https" +SRC_URI += "file://use_correct_versions.patch" + PV = "1.0+git${SRCPV}" PR = "r0" diff --git a/meta-citadel/recipes-sway/wlroots/wlroots_0.10.1.bb b/meta-citadel/recipes-sway/wlroots/wlroots_0.12.0.bb similarity index 56% rename from meta-citadel/recipes-sway/wlroots/wlroots_0.10.1.bb rename to meta-citadel/recipes-sway/wlroots/wlroots_0.12.0.bb index 08c7d7f..542c059 100644 --- a/meta-citadel/recipes-sway/wlroots/wlroots_0.10.1.bb +++ b/meta-citadel/recipes-sway/wlroots/wlroots_0.12.0.bb @@ -4,11 +4,11 @@ inherit meson pkgconfig LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=7578fad101710ea2d289ff5411f1b818" -SRC_URI = "https://github.com/swaywm/wlroots/archive/${PV}.tar.gz \ - " +SRCREV = "238d1c078fb03338e9f271d98f7bf6b1fc399285" -SRC_URI[md5sum] = "3d9736cfbfaf6661d36b6c788ac2c199" -SRC_URI[sha256sum] = "b84baefbaff7bb04b3d2c43cbacef1a433e2cd65111f8fbf4bfc5faaa4b34b08" +S = "${WORKDIR}/git" +SRC_URI = "git://github.com/swaywm/wlroots;protocol=https \ + " DEPENDS = "libx11 libdrm dbus libxcb xcb-util-wm xcb-util-image virtual/egl mesa wayland wayland-native libxkbcommon libinput systemd pixman" diff --git a/meta-citadel/recipes-sway/wlroots/wlroots_0.5.0.bb b/meta-citadel/recipes-sway/wlroots/wlroots_0.5.0.bb deleted file mode 100644 index 697d680..0000000 --- a/meta-citadel/recipes-sway/wlroots/wlroots_0.5.0.bb +++ /dev/null @@ -1,14 +0,0 @@ - -inherit meson pkgconfig - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=7578fad101710ea2d289ff5411f1b818" - -SRC_URI = "https://github.com/swaywm/wlroots/archive/${PV}.tar.gz \ - " -SRC_URI[md5sum] = "d186d57cd7aeca3d8af10e2d88575875" -SRC_URI[sha256sum] = "3c6d422aaa7ac09a1e4a88d93f07a4d6ef6c5e4d76c3422c240a5783265ed0e3" - -DEPENDS = "libx11 libdrm dbus libxcb xcb-util-wm xcb-util-image virtual/egl mesa wayland wayland-native libxkbcommon libinput systemd pixman" - -