Commit graph

114 commits

Author SHA1 Message Date
haruInDisguise
0d7a05af55 Applied suggestions by 'nemo' and drop 'basu' subproject 2024-11-17 23:28:31 +01:00
haruInDisguise
b55d5a6739 modules/mpris: Moved code over to 'sd-bus'
- Ported d-bus specific code from 'libdbus' to 'sd-bus'
- 'sd_bus' has been added to mesons dependencies. If systemd (>=221) is
  not installed, we fall back to [basu](https://git.sr.ht/~emersion/basu)
  v2.1
- Fixed a memory leak upon metadata change
2024-09-18 14:55:31 +02:00
haruInDisguise
0d8ef94921 Merge branch 'master' into module_mpris 2024-08-28 23:34:09 +00:00
Daniel Eklöf
3e0a65f185
meson: fix misdetection of memfd_create() 2024-08-07 17:27:26 +02:00
haruInDisguise
1b8962d296 Added 'MPRIS' module
This commit adds the ability to display status information for MPRIS
compatible music players.
I've adapted most of the naming conventions (and some code) from the
MPD module.
2024-07-05 23:22:20 +02:00
Daniel Eklöf
a2d30b96fb
meson/pkgbuild: bump version to 1.11.0 2024-04-17 10:30:54 +02:00
Leonardo Hernández Hernández
60671da2ca
lowercase DWL (dwl is the preferred form) 2024-01-03 15:11:09 +01:00
Daniel Eklöf
c4e094de3e
meson+pkgbuild: bump version to 1.10.0 2023-07-14 09:03:02 +02:00
Daniel Eklöf
1353d635c2
meson/pkgbuild: bump version to 1.9.0 2022-12-17 10:29:11 +01:00
Daniel Eklöf
a53e48a2c1
doc: meson: only install man pages for modules we actually build 2022-12-14 10:29:08 +01:00
Daniel Eklöf
690bd630a2
plugin: use auto-generated defines for enabled plugins 2022-12-14 10:16:54 +01:00
Daniel Eklöf
9ef6d73663
meson: make ‘foreign-toplevel’ plugin compile time optional 2022-12-14 10:08:48 +01:00
Daniel Eklöf
56b0047004
meson: make ‘river’ plugin compile time optional 2022-12-14 10:05:23 +01:00
Daniel Eklöf
1a81255579
meson: make ‘xwindow’ plugin compile time optional 2022-12-14 10:02:13 +01:00
Daniel Eklöf
a14d38b0cb
meson: make ‘xkb’ plugin compile time optional 2022-12-14 09:58:45 +01:00
Daniel Eklöf
b6450446a8
meson: make ‘sway-xkb’ plugin compile time optional 2022-12-14 09:53:24 +01:00
Daniel Eklöf
ec9ed66b6b
meson: make ‘script’ plugin compile time optional 2022-12-14 09:48:50 +01:00
Daniel Eklöf
eb26f64ea7
meson: make ‘removables’ plugin compile time optional 2022-12-14 09:46:08 +01:00
Daniel Eklöf
b901ac50ee
meson: make ‘network’ plugin compile time optional 2022-12-14 09:43:14 +01:00
Daniel Eklöf
8d5e8b5f20
meson: make ‘label’ plugin compile time optional 2022-12-14 09:41:44 +01:00
Daniel Eklöf
f54f583be1
meson: make ‘i3’ plugin compile time optional 2022-12-14 09:39:47 +01:00
Daniel Eklöf
85d55905f9
meson: make ‘mem’ plugin compile time optional 2022-12-14 09:36:48 +01:00
Daniel Eklöf
659b282445
meson: make ‘disk-io’ plugin compile time optional 2022-12-14 09:36:45 +01:00
Daniel Eklöf
b23365ccac
meson: make ‘cpu’ plugin compile time optional 2022-12-14 09:32:04 +01:00
Daniel Eklöf
25e123fbe6
meson: make ‘clock’ plugin compile time optional 2022-12-14 09:32:04 +01:00
Daniel Eklöf
aeef3eca0e
meson: make ‘battery’ plugin compile time optional 2022-12-14 09:32:04 +01:00
Daniel Eklöf
881359183f
meson: make ‘backlight’ plugin compile time optional 2022-12-13 16:47:48 +01:00
Daniel Eklöf
4c1398f1a5
meson: make ‘alsa’ plugin compile time optional 2022-12-13 16:41:50 +01:00
Daniel Eklöf
6fa9c47c0b
meson: summary: dwl: Wayland with upper case ‘W’ 2022-12-13 16:00:07 +01:00
Daniel Eklöf
7ddd009a5c
meson: sort plugin list in summary output 2022-12-13 15:59:40 +01:00
Daniel Eklöf
4631e75e28
meson: require version >= 0.59
Required by feature_option.allowed()
2022-12-13 15:58:59 +01:00
Ogromny
f5cfc103d0
modules/dwl: new module 2022-12-13 15:56:16 +01:00
Ogromny
19a9f099e2 modules/pipewire: new module 2022-12-13 10:16:58 +01:00
Willem van de Krol
dcf21f0b06 modules: add pulse
The pulse module shows information about PulseAudio sinks and sources.
2022-12-12 18:51:28 +01:00
Baptiste Daroussin
d15d1f58f7
meson: declare CFLAGS dependencies for xcb-stuff
on FreeBSD we need append to the lookup path a non default path to
find headers
2022-07-02 23:21:38 +02:00
Daniel Eklöf
4daa3d9904
meson: stop using deprecated functions, require meson >= 0.58
* get_pkgconfig_variable() -> get_variable()
* prog.path() -> prog.full_path()
* meson.build_root() -> meson.global_build_root()
2022-02-27 11:32:46 +01:00
Daniel Eklöf
ffccabbb13
config: add inheritable option “font-shaping”
This patch adds an inheritable option, “font-shaping”, that controls
whether a particle that renders text should enable font-shaping or
not.

The option works similar to the ‘font’ option: one can set it at the
top-level, and it gets inherited down through all modules and to their
particles.

Or, you can set it on a module and it gets inherited to all its
particles, but not to other modules’ particles.

Finally, you can set it on individual particles, in which case it only
applies to them (or “child” particles).

When font-shaping is enabled (the default), the string particle shapes
full text runs using the fcft_rasterize_text_run_utf32() API. In fcft,
this results in HarfBuzz being used to shape the string.

When disabled, the string particle instead uses the simpler
fcft_rasterize_char_utf32() API, which rasterizes individual
characters.

This gives user greater control over the font rendering. One example
is bitmap fonts, which HarfBuzz often doesn’t get right.

Closes #159
2022-02-23 18:43:13 +01:00
Daniel Eklöf
5edc226c00
meson/pkgbuild: bump version to 1.8.0 2022-02-05 17:57:40 +01:00
Daniel Eklöf
ff238e62ba
fcft: adapt to API changes in fcft-3.x 2022-02-05 12:51:08 +01:00
Daniel Eklöf
d8d44b0f33
meson: generate-version: use CURRENT_SOURCE_DIR instead of SOURCE_ROOT 2021-12-21 13:41:46 +01:00
Jan Beich
ec465ba3b3 wayland: unbreak build without memfd_create
New FreeBSD versions have memfd_create but other BSDs don't.

bar/wayland.c:774:15: error: implicit declaration of function 'memfd_create' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
    pool_fd = memfd_create("yambar-wayland-shm-buffer-pool", MFD_CLOEXEC);
              ^
bar/wayland.c:774:62: error: use of undeclared identifier 'MFD_CLOEXEC'
    pool_fd = memfd_create("yambar-wayland-shm-buffer-pool", MFD_CLOEXEC);
                                                             ^
2021-10-03 23:07:23 +00:00
Baptiste Daroussin
6a9f66b837 meson: add the library needed for the FreeBSD support 2021-10-01 10:52:02 +02:00
Stanislav Ochotnický
e723b039ad Make libmpdclient an optional dependency
Without this change yambar can't be installed/used without libmpdclient even for
people who do not use MPD. Let's make this optional.

We could put the optional module summary in the module meson.build but we'd have
to move summary() in main meson.build so that they appear in proper order.
2021-09-16 11:46:22 +02:00
Daniel Eklöf
42d944d020
meson/pkgbuild: bump version to 1.7.0 2021-09-03 20:39:01 +02:00
Daniel Eklöf
b8dd247111
meson: run generate_version.sh in a C locale
Previously, only the date command inside the script was run with
LC_TIME=C.

But there’s no reason to be that conservative; we absolutely do not
want _anything_ in that script to generate locale dependent output.
2021-08-25 19:03:32 +02:00
Daniel Eklöf
66ea64d826
meson/pkgbuild: bump version to 1.6.2 2021-07-24 13:38:09 +02:00
Daniel Eklöf
a5bbf0b769
particle/string: use fcft_text_run_rasterize() when available
This enables support for text shaping, and is required to render
e.g. 👩‍👩‍👧‍👧 correctly.

Since text-shaping is a fairly expensive operation, and since many
times the text is unchanged, we cache the last *rendered* string.

That is, we hash the instantiated string, and cache it along with the
text-run from fcft in the *particle* object (i.e. not the exposable).

This means two things:

* we only need to call fcft_text_run_rasterize() once per string
* if the string is the same as last time, we don’t have to call it at
  all.
2021-05-24 17:38:43 +02:00
Daniel Eklöf
18a0920ed9
meson: version.sh: SOURCE_DIR is not valid in custom_targets() 2021-05-04 13:46:20 +02:00
Daniel Eklöf
db7a4af80a
main: call fcft_log_init(). Note that this requires fcft >= 2.3.90 2021-04-17 20:35:48 +02:00
Daniel Eklöf
2563a233d7
meson/PKGBUILD: bump to 1.6.1 2021-01-14 11:13:16 +01:00