Benedikt Heine 56f2adb106 Manually convert GdkPixbuf to cairo surfaces
As already noted in the code comment, we all knew that the in memory
conversion to a PNG stream is a cumbersome technique. But it was worth
to remove the GTK dependency.

After finding out, that gdk_pixbuf_new_from_data can actually use a
GVariant and share its memory without allocating new memory, I poked
the cairo docs for a similar technique.

There is cairo_image_surface_create_for_data, which would achieve the
same, but cairo uses another color byte order. So we have to manually
copy and reassemble the bytes.

It may look like a big rise in complexity, but actually, it's straight
forward copying pixel by pixel and changing the byte's order.

And the gdk_pixbuf_to_cairo_surface is 33x faster.
2019-01-07 00:45:34 +01:00
2018-10-10 11:53:03 +02:00
2018-07-15 00:14:04 +00:00
2018-12-30 17:07:04 +01:00
2012-09-27 12:17:25 +02:00
2018-10-05 02:10:41 +02:00
2018-02-22 20:08:00 +01:00
2013-01-17 00:39:47 +01:00
2016-11-19 12:15:39 +02:00
2018-12-10 04:21:46 +01:00
2018-01-05 20:56:16 +02:00

CircleCI Build Status Coverage Status

Dunst

Description

Dunst is a highly configurable and lightweight notification daemon.

Installation

Dependencies

Dunst has a number of build dependencies that must be present before attempting configuration. The names are different depending on distribution:

  • dbus
  • libxinerama
  • libxrandr
  • libxss
  • glib
  • pango/cairo
  • libgtk-3-dev

Building

git clone https://github.com/dunst-project/dunst.git
cd dunst
make
sudo make install

Make parameters

  • PREFIX=<PATH>: Set the prefix of the installation. (Default: /usr/local)
  • MANPREFIX=<PATH>: Set the prefix of the manpage. (Default: ${PREFIX}/share/man)
  • SYSTEMD=(0|1): Enable/Disable the systemd unit. (Default: detected via pkg-config)
  • SERVICEDIR_SYSTEMD=<PATH>: The path to put the systemd user service file. Unused, if SYSTEMD=0. (Default: detected via pkg-config)
  • SERVICEDIR_DBUS=<PATH>: The path to put the dbus service file. (Default: detected via pkg-config)

Make sure to run all make calls with the same parameter set. So when building with make PREFIX=/usr, you have to install it with make PREFIX=/usr install, too.

Checkout the wiki for more information.

Bug reports

Please use the issue tracker provided by GitHub to send us bug reports or feature requests. You can also join us on the IRC channel #dunst on Freenode.

Maintainers

Author

written by Sascha Kruse dunst@knopwob.de

copyright 2013 Sascha Kruse and contributors (see LICENSE for licensing information)

If you feel that copyrights are violated, please send me an email.

Description
Lightweight and customizable notification daemon
Readme 6.8 MiB
Languages
C 95.1%
Shell 3.3%
Makefile 1.4%
Awk 0.2%