Package Details: sfwbar 1.0_beta16.1-1

Git Clone URL: https://aur.archlinux.org/sfwbar.git (read-only, click to copy)
Package Base: sfwbar
Description: S* Floating Window taskBar
Upstream URL: https://github.com/LBCrion/sfwbar
Licenses: GPL3
Submitter: Crion
Maintainer: Crion
Last Packager: Crion
Votes: 10
Popularity: 0.75
First Submitted: 2020-12-30 17:52 (UTC)
Last Updated: 2025-05-28 16:53 (UTC)

Dependencies (10)

Required by (0)

Sources (1)

Latest Comments

scruffidog commented on 2025-05-26 20:24 (UTC) (edited on 2025-05-26 20:40 (UTC) by scruffidog)

The binary pkg broke for me when xdg-desktop-portal (1.20.2 -> 1.20.3):

sfwbar: symbol lookup error: /usr/lib/sfwbar/libsfwbar.so: undefined symbol: xdg_popup_interface

I've been using Ownstuff's (https://github.com/Martchus/PKGBUILDs) repository (https://martchus.dyn.f3l.de/repo/arch/ownstuff/os) and I don't think the recent activities are being picked up due to unchanging versions.

Just throwing this out there: maybe bumping the PKGBUILD pkgrel version or tagging a new release (maybe -beta17 ? there does seem to have some activities in the codebase...)

Personal preference would be to a new tagged release... :)

Crion commented on 2025-05-23 17:42 (UTC)

This should also be fixed now

maderios commented on 2025-05-23 10:38 (UTC)

Build error

ninja: Entering directory `build'
[93/114] Linking target libsfwbar.so
FAILED: libsfwbar.so
cc  -o libsfwbar.so libsfwbar.so.p/meson-generated_.._wlr-foreign-toplevel-management-unstable-v1.c.o libsfwbar.so.p/meson-generated_.._xdg-output-unstable-v1.c.o libsfwbar.so.p/meson-generated_.._wlr-layer-shell-unstable-v1.c.o libsfwbar.so.p/meson-generated_.._cosmic-workspace-unstable-v1.c.o libsfwbar.so.p/src_action.c.o libsfwbar.so.p/src_actionlib.c.o libsfwbar.so.p/src_appinfo.c.o libsfwbar.so.p/src_client.c.o libsfwbar.so.p/src_expr.c.o libsfwbar.so.p/src_exprlib.c.o libsfwbar.so.p/src_module.c.o libsfwbar.so.p/src_mpd.c.o libsfwbar.so.p/src_scanner.c.o libsfwbar.so.p/src_signal.c.o libsfwbar.so.p/src_sni.c.o libsfwbar.so.p/src_sniitem.c.o libsfwbar.so.p/src_snimenu.c.o libsfwbar.so.p/src_trigger.c.o libsfwbar.so.p/src_wayland.c.o libsfwbar.so.p/src_window.c.o libsfwbar.so.p/src_wintree.c.o libsfwbar.so.p/src_workspace.c.o libsfwbar.so.p/src_gui_bar.c.o libsfwbar.so.p/src_gui_basewidget.c.o libsfwbar.so.p/src_gui_button.c.o libsfwbar.so.p/src_gui_cchart.c.o libsfwbar.so.p/src_gui_chart.c.o libsfwbar.so.p/src_gui_css.c.o libsfwbar.so.p/src_gui_flowgrid.c.o libsfwbar.so.p/src_gui_flowitem.c.o libsfwbar.so.p/src_gui_grid.c.o libsfwbar.so.p/src_gui_image.c.o libsfwbar.so.p/src_gui_label.c.o libsfwbar.so.p/src_gui_menu.c.o libsfwbar.so.p/src_gui_monitor.c.o libsfwbar.so.p/src_gui_pager.c.o libsfwbar.so.p/src_gui_pageritem.c.o libsfwbar.so.p/src_gui_popup.c.o libsfwbar.so.p/src_gui_scale.c.o libsfwbar.so.p/src_gui_scaleimage.c.o libsfwbar.so.p/src_gui_switcher.c.o libsfwbar.so.p/src_gui_switcheritem.c.o libsfwbar.so.p/src_gui_taskbar.c.o libsfwbar.so.p/src_gui_taskbaritem.c.o libsfwbar.so.p/src_gui_taskbarpager.c.o libsfwbar.so.p/src_gui_taskbarpopup.c.o libsfwbar.so.p/src_gui_taskbarshell.c.o libsfwbar.so.p/src_gui_tray.c.o libsfwbar.so.p/src_gui_trayitem.c.o libsfwbar.so.p/src_config_base.c.o libsfwbar.so.p/src_config_init.c.o libsfwbar.so.p/src_config_layout.c.o libsfwbar.so.p/src_config_placer.c.o libsfwbar.so.p/src_config_scanner.c.o libsfwbar.so.p/src_config_switcher.c.o libsfwbar.so.p/src_config_toplevel.c.o libsfwbar.so.p/src_ipc_cosmic-workspaces.c.o libsfwbar.so.p/src_ipc_foreign-toplevel.c.o libsfwbar.so.p/src_ipc_hyprland.c.o libsfwbar.so.p/src_ipc_sway.c.o libsfwbar.so.p/src_ipc_wayfire.c.o libsfwbar.so.p/src_util_file.c.o libsfwbar.so.p/src_util_json.c.o libsfwbar.so.p/src_util_string.c.o -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,-soname,libsfwbar.so -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -Wl,--start-group /usr/lib/libgtk-3.so /usr/lib/libgdk-3.so /usr/lib/libz.so /usr/lib/libpangocairo-1.0.so /usr/lib/libcairo-gobject.so /usr/lib/libgdk_pixbuf-2.0.so /usr/lib/libatk-1.0.so /usr/lib/libpango-1.0.so /usr/lib/libcairo.so /usr/lib/libharfbuzz.so /usr/lib/libgio-2.0.so /usr/lib/libgobject-2.0.so /usr/lib/libglib-2.0.so -Wl,--export-dynamic /usr/lib/libgmodule-2.0.so -pthread /usr/lib/libgtk-layer-shell.so /usr/lib/libwayland-client.so /usr/lib/libjson-c.so -lrt -Wl,--end-group
/usr/bin/ld: libsfwbar.so.p/meson-generated_.._wlr-layer-shell-unstable-v1.c.o:(.data.rel+0x48): undefined reference to `xdg_popup_interface'
collect2: error: ld returned 1 exit status
[98/114] Generating sfwbar.1 with a custom command
ninja: build stopped: subcommand failed.

5y1vn commented on 2025-05-20 05:29 (UTC)

Tested and verified tobbik's changes today. Please update.

tobbik commented on 2025-05-07 20:57 (UTC) (edited on 2025-05-07 20:57 (UTC) by tobbik)

This is because compilation rules have been tightened down. Backported from main:

This is the section needed in the PKGBUILD. Patch below:

source=("$pkgname-$pkgver.tar.gz::$url/archive/refs/tags/v$pkgver.tar.gz"
        "monitor_noop.patch")

sha256sums=('238d6394650dfdfc2f36374ec25702bbef57e2cff1d9a149ecb9a52f887c3cdf'
            '8e12f2a82a24fb76236d72cee274521affdb332807c126a2c9702395dcd565d6')

prepare() {
  patch --directory "$pkgname-$pkgver" --forward --strip=1 --input=../monitor_noop.patch
}

monitor_noop.patch

diff -ruN sfwbar-1.0_beta16_orig/src/gui/monitor.c sfwbar-1.0_beta16/src/gui/monitor.c
--- sfwbar-1.0_beta16_orig/src/gui/monitor.c    2024-11-07 13:36:37.000000000 -0800
+++ sfwbar-1.0_beta16/src/gui/monitor.c 2025-05-07 12:13:52.466383416 -0700
@@ -51,7 +51,7 @@

 struct wl_surface_listener monitor_surface_listener = {
   .enter = monitor_surface_enter,
-  .leave = monitor_noop
+  .leave = (void (*)(void *, struct wl_surface *, struct wl_output *))monitor_noop
 };

 void monitor_layer_surface_configure ( void *data,
@@ -64,7 +64,7 @@

 struct zwlr_layer_surface_v1_listener monitor_layer_surface_listener = {
   .configure = monitor_layer_surface_configure,
-  .closed = monitor_noop
+  .closed = (void (*)(void *, struct zwlr_layer_surface_v1 *))monitor_noop
 };

 void monitor_default_probe ( void )
@@ -161,11 +161,11 @@
 }

 static const struct zxdg_output_v1_listener xdg_output_listener = {
-  .logical_position = monitor_noop,
-  .logical_size = monitor_noop,
+  .logical_position = (void (*)(void *, struct zxdg_output_v1 *, int32_t,  int32_t))monitor_noop,
+  .logical_size = (void (*)(void *, struct zxdg_output_v1 *, int32_t,  int32_t))monitor_noop,
   .done = monitor_handle_done,
   .name = monitor_handle_name,
-  .description = monitor_noop,
+  .description = (void (*)(void *, struct zxdg_output_v1 *, const char *))monitor_noop,
 };

 static void xdg_output_new ( GdkMonitor *monitor )

maderios commented on 2025-05-01 10:38 (UTC)

Build error since system update today


../src/gui/monitor.c:54:12: error: initialization of ‘void (*)(void *, struct wl_surface *, struct wl_output *)’ from incompatible pointer type ‘void (*)(void)’ [-Wincompatible-pointer-types]
   54 |   .leave = monitor_noop
      |            ^~~~~~~~~~~~
../src/gui/monitor.c:54:12: note: (near initialization for ‘monitor_surface_listener.leave’)
../src/gui/monitor.c:32:13: note: ‘monitor_noop’ declared here
   32 | static void monitor_noop() {
      |             ^~~~~~~~~~~~
../src/gui/monitor.c:67:13: error: initialization of ‘void (*)(void *, struct zwlr_layer_surface_v1 *)’ from incompatible pointer type ‘void (*)(void)’ [-Wincompatible-pointer-types]
   67 |   .closed = monitor_noop
      |             ^~~~~~~~~~~~
../src/gui/monitor.c:67:13: note: (near initialization for ‘monitor_layer_surface_listener.closed’)
../src/gui/monitor.c:32:13: note: ‘monitor_noop’ declared here
   32 | static void monitor_noop() {
      |             ^~~~~~~~~~~~
../src/gui/monitor.c:164:23: error: initialization of ‘void (*)(void *, struct zxdg_output_v1 *, int32_t,  int32_t)’ {aka ‘void (*)(void *, struct zxdg_output_v1 *, int,  int)’} from incompatible pointer type ‘void (*)(void)’ [-Wincompatible-pointer-types]
  164 |   .logical_position = monitor_noop,
      |                       ^~~~~~~~~~~~
../src/gui/monitor.c:164:23: note: (near initialization for ‘xdg_output_listener.logical_position’)
../src/gui/monitor.c:32:13: note: ‘monitor_noop’ declared here
   32 | static void monitor_noop() {
      |             ^~~~~~~~~~~~
../src/gui/monitor.c:165:19: error: initialization of ‘void (*)(void *, struct zxdg_output_v1 *, int32_t,  int32_t)’ {aka ‘void (*)(void *, struct zxdg_output_v1 *, int,  int)’} from incompatible pointer type ‘void (*)(void)’ [-Wincompatible-pointer-types]
  165 |   .logical_size = monitor_noop,
      |                   ^~~~~~~~~~~~
../src/gui/monitor.c:165:19: note: (near initialization for ‘xdg_output_listener.logical_size’)
../src/gui/monitor.c:32:13: note: ‘monitor_noop’ declared here
   32 | static void monitor_noop() {
      |             ^~~~~~~~~~~~
../src/gui/monitor.c:168:18: error: initialization of ‘void (*)(void *, struct zxdg_output_v1 *, const char *)’ from incompatible pointer type ‘void (*)(void)’ [-Wincompatible-pointer-types]
  168 |   .description = monitor_noop,
      |                  ^~~~~~~~~~~~
../src/gui/monitor.c:168:18: note: (near initialization for ‘xdg_output_listener.description’)
../src/gui/monitor.c:32:13: note: ‘monitor_noop’ declared here
   32 | static void monitor_noop() {
      |             ^~~~~~~~~~~~
[61/114] Compiling C object libsfwbar.so.p/src_gui_taskbarpopup.c.o
ninja: build stopped: subcommand failed.