Chris Down e8fc45da63 follow=keyboard: Fall back to follow=mouse instead of XDefaultScreen()
In dwm and similar window managers, it's common to often have empty
tags, and navigate to them with the intent to create clients there. If I
navigate to one of those empty tags with a dunst notification visible
and follow=keyboard set, the notification warps over to the default
screen.  If I then open a client, it then warps back, which is pretty
jarring.

This is mostly an artefact of the implementation of follow=keyboard --
if we fail to get a focused window, we use the default screen. However
this case isn't necessarily really a "failure" on window managers like
dwm where it's a common occurrence to end up with no clients on the
screen, whereas that would be significantly rarer on (say) GNOME or KDE.

A guess that's more likely to fit user expectations is falling back to
where the mouse pointer currently is, since this indicates the currently
focused monitor that the window manager would create a client on. This
avoids warping back to that monitor again when a client is created.
2020-04-27 16:34:53 +01:00
2018-07-15 00:14:04 +00:00
2020-01-29 23:02:00 +01:00
2020-03-31 23:51:26 +02:00
2012-09-27 12:17:25 +02:00
2019-07-03 10:02:21 +03:00
2020-04-05 21:46:07 -04:00
2019-03-06 21:14:52 +01:00
2013-01-17 00:39:47 +01:00
2016-11-19 12:15:39 +02:00
2019-03-30 18:47:06 +02:00

main codecov

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
  • libnotify (for dunstify only)

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)
  • BINDIR=<PATH>: Set the dunst executable's path (Default: ${PREFIX}/bin)
  • DATADIR=<PATH>: Set the path for shared files. (Default: ${PREFIX}/share)
  • MANDIR=<PATH>: Set the prefix of the manpage. (Default: ${DATADIR}/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%