Other A small bar with small visible icons i can click.

First of all i am bar noob. Using sway/wayland i have a nice textual i3status.
But i also would like to have a small bar with clickable icons to launch frequent programs.
There are some names but i have no experience.
To list a few names , i3bar,dzen2,xmobar,lemonbar,polybar,tint2,river,swaybar,waybar,fbpanel
PS1 : sfwbar does not compile ...
PS2 : waybar does not show anything at all. And I don't know why.
PS3:fbpanel crashes
What is your experience in creating a small bar with clickable lauch items ?
[ In absence of it i have to rely on key combinations to lauch programs ]
 
https://arewewaylandyet.com/ appears to be a useful resource if you don't already know about it.

If you prefer the "bar" style, have a look at x11/wapanel. It's pretty basic, but it works well enough. I have yet to find a way to use multiple panels, mirrored or not, on multiple screens/outputs. Customize it using the TOML config file and optionally a stylesheet; the default config and stylesheet are in /usr/local/share/wapanel. Documentation is missing from the port, so here is a link to it.

Alternatively, you might want a "dock" like x11/nwg-dock. nwg-dock is arguably even simpler with just a stylesheet in its configuration directory and nwg-dock-pinned in your cache directory for pinned apps that you can use to reorder the order of your apps in the dock (pinned apps always appear at the start of the dock). I guess that's also how you might add an application to the dock if it's not already running? Again, it doesn't seem to work on multiple screens/outputs, and executing nwg-dock when a dock is already running will kill the dock, so you cannot use the flag -o OUTPUT to run a second instance. Customizing the margins and padding in the stylesheet and adding some command-line parameters can make the dock look more like a bar/panel. There is no config file; all configuration is via command-line. As a result, there's practically no need for documentation; you have the stylesheet that lays things out from the dock window down to every individual button, and you can add --help to the command-line.

x11/lavalauncher exists as well, but it took a lot more configuration than I anticipated and doesn't act like other docks because it's specifically described as "not a dock". That said, it's still useful if you can live with its limitations. I definitely would recommend either of the previous two options over this one, but it may suit you just fine, so I'll try to avoid further discouraging you from trying it. I'm not sure how it works with multiple screens/outputs. Feel free to try it if you need that functionality.
 
First part is ok,
OST:x: /home/x/Sway/sfwbar >meson build
Code:
The Meson build system
Version: 0.58.1
Source dir: /usr/home/x/Sway/sfwbar
Build dir: /usr/home/x/Sway/sfwbar/build
Build type: native build
Project name: sfwbar
Project version: undefined
C compiler for the host machine: ccache cc (clang 11.0.1 "FreeBSD clang version 11.0.1 (git@github.com:llvm/llvm-project.git llvmorg-11.0.1-0-g43ff75f2c3fe)")
C linker for the host machine: cc ld.lld 11.0.1
Host machine cpu family: x86_64
Host machine cpu: x86_64
Found pkg-config: /usr/local/bin/pkg-config (1.7.4)
Run-time dependency gtk+-3.0 found: YES 3.24.29
Run-time dependency glib-2.0 found: YES 2.66.8
Run-time dependency libucl found: YES 0.8.1
Run-time dependency gtk-layer-shell-0 found: YES 0.6.0
Run-time dependency wayland-client found: YES 1.19.0
Program wayland-scanner found: YES (/usr/local/bin/wayland-scanner)
Build targets in project: 3
Found ninja-1.10.2 at /usr/local/bin/ninja

Second part is not,
HOST:x: /home/x/Sway/sfwbar >ninja -C build
Code:
ninja: Entering directory `build'
[5/19] Compiling C object sfwbar.p/src_expr.c.o
FAILED: sfwbar.p/src_expr.c.o
ccache cc -Isfwbar.p -I. -I.. -I/usr/local/include/gtk-3.0 -I/usr/local/include/pango-1.0 -I/usr/local/include -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/harfbuzz -I/usr/local/include/freetype2 -I/usr/local/include/libpng16 -I/usr/local/include/fribidi -I/usr/local/include/cairo -I/usr/local/include/pixman-1 -I/usr/local/include/gdk-pixbuf-2.0 -I/usr/local/include/gio-unix-2.0 -I/usr/local/include/libepoll-shim -I/usr/local/include/atk-1.0 -I/usr/local/include/at-spi2-atk/2.0 -I/usr/local/include/dbus-1.0 -I/usr/local/lib/dbus-1.0/include -I/usr/local/include/at-spi-2.0 -I/usr/local/include/ -I/usr/local/include/gtk-layer-shell -fcolor-diagnostics -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -g -pthread -D_THREAD_SAFE -DGLIB_DISABLE_DEPRECATION_WARNINGS -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -MD -MQ sfwbar.p/src_expr.c.o -MF sfwbar.p/src_expr.c.o.d -o sfwbar.p/src_expr.c.o -c ../src/expr.c
../src/expr.c:12:10: fatal error: 'sys/vfs.h' file not found
#include <sys/vfs.h>
         ^~~~~~~~~~~
1 error generated.                                                                                                                                 
[14/19] Compiling C object sfwbar.p/src_pager.c.o
ninja: build stopped: subcommand failed.

In my config vfs.h is in subdirectory libspl:
Code:
/usr/local/include/libspl/sys/vfs.h
Code:
/usr/local/include/libspl/sys/vfs.h was installed by package openzfs-2021062100
 
I have tried a very simple possible solution
Code:
ln -s /usr/local/include/libspl/sys/vfs.h /usr/local/include/sys/vfs.h

But it does not work.
ninja -C build
Code:
ninja: Entering directory `build'
[2/6] Compiling C object sfwbar.p/src_expr.c.o
FAILED: sfwbar.p/src_expr.c.o
ccache cc -Isfwbar.p -I. -I.. -I/usr/local/include/gtk-3.0 -I/usr/local/include/pango-1.0 -I/usr/local/include -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/harfbuzz -I/usr/local/include/freetype2 -I/usr/local/include/libpng16 -I/usr/local/include/fribidi -I/usr/local/include/cairo -I/usr/local/include/pixman-1 -I/usr/local/include/gdk-pixbuf-2.0 -I/usr/local/include/gio-unix-2.0 -I/usr/local/include/libepoll-shim -I/usr/local/include/atk-1.0 -I/usr/local/include/at-spi2-atk/2.0 -I/usr/local/include/dbus-1.0 -I/usr/local/lib/dbus-1.0/include -I/usr/local/include/at-spi-2.0 -I/usr/local/include/ -I/usr/local/include/gtk-layer-shell -fcolor-diagnostics -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -g -pthread -D_THREAD_SAFE -DGLIB_DISABLE_DEPRECATION_WARNINGS -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -MD -MQ sfwbar.p/src_expr.c.o -MF sfwbar.p/src_expr.c.o.d -o sfwbar.p/src_expr.c.o -c ../src/expr.c
../src/expr.c:75:17: error: variable has incomplete type 'struct statfs'
  struct statfs fs;
                ^
../src/expr.c:75:10: note: forward declaration of 'struct statfs'                                                                                    
  struct statfs fs;
         ^
../src/expr.c:76:6: warning: implicit declaration of function 'statfs' is invalid in C99 [-Wimplicit-function-declaration]                           
  if(statfs(fpath,&fs)!=0)
     ^
1 warning and 1 error generated.                                                                                                                     
[5/6] Compiling C object sfwbar.p/src_parser.tab.c.o
ninja: build stopped: subcommand failed.

 
https://arewewaylandyet.com/ appears to be a useful resource if you don't already know about it.

If you prefer the "bar" style, have a look at x11/wapanel. It's pretty basic, but it works well enough. I have yet to find a way to use multiple panels, mirrored or not, on multiple screens/outputs. Customize it using the TOML config file and optionally a stylesheet; the default config and stylesheet are in /usr/local/share/wapanel. Documentation is missing from the port, so here is a link to it.

Alternatively, you might want a "dock" like x11/nwg-dock. nwg-dock is arguably even simpler with just a stylesheet in its configuration directory and nwg-dock-pinned in your cache directory for pinned apps that you can use to reorder the order of your apps in the dock (pinned apps always appear at the start of the dock). I guess that's also how you might add an application to the dock if it's not already running? Again, it doesn't seem to work on multiple screens/outputs, and executing nwg-dock when a dock is already running will kill the dock, so you cannot use the flag -o OUTPUT to run a second instance. Customizing the margins and padding in the stylesheet and adding some command-line parameters can make the dock look more like a bar/panel. There is no config file; all configuration is via command-line. As a result, there's practically no need for documentation; you have the stylesheet that lays things out from the dock window down to every individual button, and you can add --help to the command-line.

x11/lavalauncher exists as well, but it took a lot more configuration than I anticipated and doesn't act like other docks because it's specifically described as "not a dock". That said, it's still useful if you can live with its limitations. I definitely would recommend either of the previous two options over this one, but it may suit you just fine, so I'll try to avoid further discouraging you from trying it. I'm not sure how it works with multiple screens/outputs. Feel free to try it if you need that functionality.
nwg-bar is usable. I'll assign in sway configuration a keyboard shortcut to nwg-bar application configured with a personal list of frequently used programs.
 
Back
Top