You are not logged in.

#101 2012-06-12 16:05:21

ANOKNUSA
Member
Registered: 2010-10-22
Posts: 2,141

Re: dunst - a dmenu-ish notification daemon

I like doing it at compile time, but don't have a strong preference.  Sometimes it's nice to see results immediately, but it doesn't take long to build the binary.

Offline

#102 2012-06-12 16:22:24

knopwob
Member
From: Hannover, Germany
Registered: 2010-01-30
Posts: 239
Website

Re: dunst - a dmenu-ish notification daemon

bohoomil wrote:
knopwob wrote:

Oh and xft-support will be included.

I do hope it's an option only and I still will be able to use good old bitmap fonts? neutral

*sigh*
There is just no way to make everybody happy, is there? tongue

I think I'm going with a separate xft-branch to make this optional.
And since the objections against a config file aren't that high, I'll merge that into master (and xft), to keep the number of different versions low. I'm just not sure if I'll add xft uncommented as a patch to the dunst PKGBUILD in aur or if I should add an extra dunst-xft package. I personally don't like all the different $pkg $pkg-xft $pkg-otherfeature etc. packages in the aur. Maybe there's a TU reading this to give a comment on that?

Does anyone have a better idea to keep your (and more importantly my tongue ) maintenance overhead low?

edit: oh and don't suggest doing that with a configure script and #ifdefs

edit2: It seems, this all isn't really necessary. At least this works "font = terminus-16:antialias=false" if that's all what you want.

Last edited by knopwob (2012-06-12 16:47:33)

Offline

#103 2012-06-13 13:52:02

knopwob
Member
From: Hannover, Germany
Registered: 2010-01-30
Posts: 239
Website

Re: dunst - a dmenu-ish notification daemon

Hi,

I just pushed the changes to the master-branch. This needs a new PKGBUILD which you can get here until Army updated the aur version. (edit: aur is updated)

The new Features are as following:

* idle_mode: If the user is idle for a certain amount of time, no messages will be removed, so you don't miss anything while you're gone. The idle threshold is configurable and this can be completely disabled

* xft-support

* Dunst now has a configuration file and threfore isn't configured at compiletime via config.h anymore. You can find an example configuration file at /usr/share/dunst/dunstrc and dunst looks at XDG_CONFIG_HOME/dunstrc for it's config file. This usually translates to ~/.config/dunstrc.

If someone is unhappy with the xft's support of bitmap fonts, I'll create a non-xft branch for those (unless I find a better way to handle this).

Please let me know if you encounter any bugs, unclarities in the man page or comments in the example dunstrc (english isn't my native language, after all) etc.

I hope you'll like it.

edit: fixed typo

Last edited by knopwob (2012-06-13 21:37:20)

Offline

#104 2012-06-13 17:41:28

Army
Member
Registered: 2007-12-07
Posts: 1,784

Re: dunst - a dmenu-ish notification daemon

I actually liked the config.h way (dwm user) and don't need xft support. So if you'll create a non-xft branch, I'll use that one, but I think I'll be happy with the current version as is.

Offline

#105 2012-06-13 19:07:55

knopwob
Member
From: Hannover, Germany
Registered: 2010-01-30
Posts: 239
Website

Re: dunst - a dmenu-ish notification daemon

Army wrote:

I actually liked the config.h way (dwm user) and don't need xft support. So if you'll create a non-xft branch, I'll use that one, but I think I'll be happy with the current version as is.

Oh well. Since someone just pointed out to me, that iniparser isn't available for debian, I just created a "light" branch, without xft and iniparser. So that one is configured via config.h. Note that there's a new variable "const int idle_threshold" in config.h so you still need to update your old config.h (see config.def.h for referene).

If you want any other combination of those new features features feel free to fork dunst on github and cherry-pick what you want ;-)

Offline

#106 2012-06-13 19:30:42

Doomcide
Member
Registered: 2011-08-22
Posts: 221

Re: dunst - a dmenu-ish notification daemon

knopwob wrote:
Army wrote:

I actually liked the config.h way (dwm user) and don't need xft support. So if you'll create a non-xft branch, I'll use that one, but I think I'll be happy with the current version as is.

Oh well. Since someone just pointed out to me, that iniparser isn't available for debian, I just created a "light" branch, without xft and iniparser. So that one is configured via config.h. Note that there's a new variable "const int idle_threshold" in config.h so you still need to update your old config.h (see config.def.h for referene).

If you want any other combination of those new features features feel free to fork dunst on github and cherry-pick what you want ;-)

Thanks, that's exactly what I need, too.

Offline

#107 2012-06-13 20:55:22

Army
Member
Registered: 2007-12-07
Posts: 1,784

Re: dunst - a dmenu-ish notification daemon

Stupid me, I already deleted my config.h, but I remembered my modifications smile Maybe I'll include an easy way in the PKGBUILD to switch between branches. But for now I'll leave it as it is.

Offline

#108 2012-06-13 21:29:51

ninian
Member
From: United Kingdom
Registered: 2008-02-24
Posts: 726
Website

Re: dunst - a dmenu-ish notification daemon

@knopwob:
Thank you SO much for these developments; the Xft support and the new idle_mode are great! My desktop looks complete now.
Have tested out with the new configuration file rather than command-line options and everything looks go so far.
smile

PS: Just to avoid any confusion, I'd better mention that you have a '.' in front of dunstrc in your announcement post above:

knopwob wrote:

You can find an example configuration file at /usr/share/dunst/dunstrc and dunst looks at *XDG_CONFIG_HOME/.dunstrc* for it's config file. This usually translates to ~/.config/dunstrc.

Offline

#109 2012-06-13 21:47:54

knopwob
Member
From: Hannover, Germany
Registered: 2010-01-30
Posts: 239
Website

Re: dunst - a dmenu-ish notification daemon

ninian wrote:

PS: Just to avoid any confusion, I'd better mention that you have a '.' in front of dunstrc in your announcement post above:

knopwob wrote:

You can find an example configuration file at /usr/share/dunst/dunstrc and dunst looks at *XDG_CONFIG_HOME/.dunstrc* for it's config file. This usually translates to ~/.config/dunstrc.

Oh yes, fixed that. Thank you.

And it seems dunst is finally a mature project, because it has a homepage now.
I would appreciate if a native speaker could look over it and see if there are speeling or gramatical errors or some unclear wording. And if you have some nice screenshots I'll be glad to put them up there too.

Offline

#110 2012-06-13 23:52:39

ninian
Member
From: United Kingdom
Registered: 2008-02-24
Posts: 726
Website

Re: dunst - a dmenu-ish notification daemon

knopwob wrote:

I would appreciate if a native speaker could look over it and see if there are speeling or gramatical errors or some unclear wording.

Surely! On the webpage:

Capitalize Linux (or not) consistently: "... daemon for *l*inux. It's designed to fit nicely into minimalistic windowmanagers like dwm, but it should work on any *L*inux desktop."
Reduce capital M to small m: "Installing *m*anually"
Correct spelling: "(this normally tran*s*lates to ~/.config/dunstrc)"
Correct grammar: "and edit it to your liking." (remove 's')

Glad to see dunst looking "serious" now!
wink

Offline

#111 2012-06-14 12:56:54

chneukirchen
Member
Registered: 2010-02-11
Posts: 100

Re: dunst - a dmenu-ish notification daemon

Crashes now when $XDG_CONFIG_HOME is not set.

(gdb) r
Starting program: /tmp/packerbuild-1000/dunst-git/dunst-git/src/dunst-build/dunst -geometry 0x5-5+15 -fn 10x20 -format %s:\ %b -nb \#333 -nf \#eee -lb \#333 -lf \#777 -cb \#333 -cf \#f02
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff6f97829 in __strcat_chk () from /lib/libc.so.6
(gdb) bt
#0  0x00007ffff6f97829 in __strcat_chk () from /lib/libc.so.6
#1  0x0000000000404858 in strcat (__src=<optimized out>, __dest=0x625dd0 "")
    at /usr/include/bits/string3.h:144
#2  parse_dunstrc () at dunst.c:851
#3  0x0000000000402bdb in main (argc=19, argv=0x7fffffffe488) at dunst.c:999

When I set it to ~/.config, it loads, but the window is now in the top left corner and not in the top right one.

Offline

#112 2012-06-14 13:47:03

knopwob
Member
From: Hannover, Germany
Registered: 2010-01-30
Posts: 239
Website

Re: dunst - a dmenu-ish notification daemon

chneukirchen wrote:

Crashes now when $XDG_CONFIG_HOME is not set.


When I set it to ~/.config, it loads, but the window is now in the top left corner and not in the top right one.

Just pushed fixes for both. Please update and let me know the problems still persist.

Offline

#113 2012-06-14 14:24:06

Unia
Member
From: Stockholm, Sweden
Registered: 2010-03-30
Posts: 2,486
Website

Re: dunst - a dmenu-ish notification daemon

@ Knopwob: it seems like your focus is on this project again. I maintain a thread over at the Crunchbang forums on Dunst.

One of the guys there asked if you were still working on that Python version you were talking about before. Can you shed some light on this?


If you can't sit by a cozy fire with your code in hand enjoying its simplicity and clarity, it needs more work. --Carlos Torres

Offline

#114 2012-06-14 14:53:39

knopwob
Member
From: Hannover, Germany
Registered: 2010-01-30
Posts: 239
Website

Re: dunst - a dmenu-ish notification daemon

Unia wrote:

@ Knopwob: it seems like your focus is on this project again. I maintain a thread over at the Crunchbang forums on Dunst.

One of the guys there asked if you were still working on that Python version you were talking about before. Can you shed some light on this?

As I said before, dunst was suppost to be in bugfix only mode, but you were annoying enough to make me go  back working on dunst and implement xft-support ;P  The other features where done a few months ago but I never merged them into master. I'm not sure about the future of dunst. I will of course keep maintaining it and fix bugs etc.
But besides a history (keybinding to display the last x messages) there's no feature that I'm missing or that I'm aware of that somebody else is missing. So there's not much work left todo. Well the code could use a massive cleanup but that's nothing you guys would notice, except new bugs that get introduced cool
If you have any feature request let know here or preferably on the github issue tracker.

Regarding the python version:
I haven't started that one yet. It's more a "if I'm bored, have the time and want to code some python" kind of thing. I don't know when that will happen or if it will happen at all.

Offline

#115 2012-06-14 15:01:56

Unia
Member
From: Stockholm, Sweden
Registered: 2010-03-30
Posts: 2,486
Website

Re: dunst - a dmenu-ish notification daemon

Thanks, just forwarded it smile


If you can't sit by a cozy fire with your code in hand enjoying its simplicity and clarity, it needs more work. --Carlos Torres

Offline

#116 2012-06-14 21:42:14

skanky
Member
From: WAIS
Registered: 2009-10-23
Posts: 1,847

Re: dunst - a dmenu-ish notification daemon

Just started using this app and think it's great, many thanks. smile

I have a couple of questions though - I've read through the thread, so please forgive me if I've missed the answers above:

1) Has the -msg option been removed? I can't find any way to use dunst as stand alone app.
2) I am assuming that if you run dunst as a daemon, all notifications will be handled with its specified settings (dunstrc or options) unless overridden by hint, and only colours can be overridden?
3) Is there any way to make use of notify-send's categories?

Not asking for those as features if the answers are no, but just want to make sure I'm not missing any tricks.

If anyone has any neat uses for this I'd be interested to hear them. I'm currently using it with procmail and remind, but I'm sure there are other things (eg I'm thinking of wrapping my mplayer music playing in a script that uses it). Assuming, that is, that knopwob doesn't mind the clutter in the thread (could start a new one)?


"...one cannot be angry when one looks at a penguin."  - John Ruskin
"Life in general is a bit shit, and so too is the internet. And that's all there is." - scepticisle

Offline

#117 2012-06-15 07:14:44

knopwob
Member
From: Hannover, Germany
Registered: 2010-01-30
Posts: 239
Website

Re: dunst - a dmenu-ish notification daemon

skanky wrote:

Just started using this app and think it's great, many thanks. smile

I have a couple of questions though - I've read through the thread, so please forgive me if I've missed the answers above:

no problem.

skanky wrote:

1) Has the -msg option been removed? I can't find any way to use dunst as stand alone app.

Yes, because I haven't found a simple and clean way to make the different instances talk to each other and tell them, where to display their window.
So they would all display their messages on top of each other, which was mostly unusable.

skanky wrote:

2) I am assuming that if you run dunst as a daemon, all notifications will be handled with its specified settings (dunstrc or options) unless overridden by hint, and only colours can be overridden?

From notify-send itself you can influence the urgency (which changes colors and timeouts), the timeout and via hints the color.
With the rules from the dunstrc you can manipulate the timeout, urgency, colors and the format.

Here are my rules, to give an example:

[signed_on]
    appname = Pidgin
    summary = "*signed on*"
    urgency = low

[signed_off]
    appname = Pidgin
    summary = *signed off*
    urgency = low

[says]
    appname = Pidgin
    summary = *says*
    urgency = critical

[twitter]
    appname = Pidgin
    summary = *twitter.com*
    urgency = low

[mail]
    appname = gmailnotify.py
    background = "#cccc00"
    foreground = "#222222"

[dunst-sum]
    appname = gmailnotify.py
    summary = "*[dD]unst*"
    background = "#ffcc00"
    foreground = "#222222"
    timeout = 0

[dunst-body]
    appname = gmailnotify.py
    body = "*[dD]unst*"
    background = "#ffcc00"
    foreground = "#222222"
    timeout = 0
skanky wrote:

3) Is there any way to make use of notify-send's categories?

No. You _could_ use the icon option as an information channel in combination with rules, that match against the icon. But this would probably confuse other notification-daemons.

skanky wrote:

If anyone has any neat uses for this I'd be interested to hear them. I'm currently using it with procmail and remind, but I'm sure there are other things (eg I'm thinking of wrapping my mplayer music playing in a script that uses it). Assuming, that is, that knopwob doesn't mind the clutter in the thread (could start a new one)?

No, i don't mind. Actually I'm also interested in making use of dunst in ways I havn't thought off.

I'm currently using it for chat/email notifications and as a feedback channel from some scripts, keyboardshortcuts.

Offline

#118 2012-06-15 08:25:27

skanky
Member
From: WAIS
Registered: 2009-10-23
Posts: 1,847

Re: dunst - a dmenu-ish notification daemon

Thanks knopwob, very useful.

EDIT: just re-read thread and realised this bit was answered.

Re #2, I had seen those examples and then promptly forgotten they existed, so thanks for the reminder. I'd also meant to ask about the timeout and whether how it worked with dunst's, and you answered that for me. smile

Last edited by skanky (2012-06-15 08:50:21)


"...one cannot be angry when one looks at a penguin."  - John Ruskin
"Life in general is a bit shit, and so too is the internet. And that's all there is." - scepticisle

Offline

#119 2012-06-15 11:51:00

chneukirchen
Member
Registered: 2010-02-11
Posts: 100

Re: dunst - a dmenu-ish notification daemon

knopwob wrote:
chneukirchen wrote:

Crashes now when $XDG_CONFIG_HOME is not set.


When I set it to ~/.config, it loads, but the window is now in the top left corner and not in the top right one.

Just pushed fixes for both. Please update and let me know the problems still persist.

Works great now, thanks a lot!

Offline

#120 2012-06-15 19:34:26

knopwob
Member
From: Hannover, Germany
Registered: 2010-01-30
Posts: 239
Website

Re: dunst - a dmenu-ish notification daemon

I just added the last feature on my todo list: a history.
You can now define a keybinding to redisplay the last message (repeat to go further down in history).

in dunstrc:

[global]
...
history_key = "grave"

via commandline:

dunst ... -history_key "grave"

and for the users of the light branch, you have to add this to your config.h

char *history_key_string = "grave";
or to disable the keybinding:
char *history_key_string = NULL;

As I stated before, this was the last item on my todo list so from now on it should get quiet from the developement side of things. Bugfixes are of course the exception of this. And I'm still open for feature requests.

Offline

#121 2012-06-15 20:28:20

ninian
Member
From: United Kingdom
Registered: 2008-02-24
Posts: 726
Website

Re: dunst - a dmenu-ish notification daemon

knopwob wrote:

I just added the last feature on my todo list: a history.

Great stuff - I never knew I needed a 'history' key until you introduced the feature, and now I find it very useful!
Dunst is certainly doing everything I need for now.
Job very well done indeed.
smile

Offline

#122 2012-06-15 21:18:11

bohoomil
Member
Registered: 2010-09-04
Posts: 2,376
Website

Re: dunst - a dmenu-ish notification daemon

[testimony]

@knopwob -- First of all: thank you very much for keeping the light branch. What it can do is more than I'd ask for, and it does the job perfectly well. I've been using dunst for quite a long time now and it's proved to be one of my top rated apps as far as the number of bugs / errors / annoyances is concerned: briefly and frankly, I've never experienced any troubles with it whatsoever. When I have some spare time, I'll check the currently default branch and set it up the way you've suggested, but for now I'm very happy with the light one. Thank you again for this pretty piece of code. smile

[/testimony]


:: Registered Linux User No. 223384

:: github
:: infinality-bundle+fonts: good looking fonts made easy

Offline

#123 2012-06-15 22:13:43

knopwob
Member
From: Hannover, Germany
Registered: 2010-01-30
Posts: 239
Website

Re: dunst - a dmenu-ish notification daemon

bohoomil wrote:

it's proved to be one of my top rated apps as far as the number of bugs / errors / annoyances is concerned: briefly and frankly, I've never experienced any troubles with it whatsoever.

Then you havn't been one of the first testing some new features wink But I'll try to fix bugs as fast as possible. Anyway thank you for your kind words, it's much appreciated.

Offline

#124 2012-06-19 11:03:27

skanky
Member
From: WAIS
Registered: 2009-10-23
Posts: 1,847

Re: dunst - a dmenu-ish notification daemon

Okay, nothing amazing, but little script to tell me about mount/unmount events:

#!/bin/bash
#
# mntwatch: watches a passed in directory and notifies
#             of subdir creation and deletion via notify-send
#
# Depends on notifywait and notify-send
#

# Need to have an input dir
watchdir=${1:?"undefined. Need to specify dir to watch."}

while true; do
        notify-send -u low -a filesystem \
                "$(inotifywait -qs -e create -e delete --format '%w%f - %e' $watchdir)"
done

I call it from .xinitrc and pass it /media/ and /mnt/.
I use it with ldm that does the mounting of the drives and also deletes the dirs when unmounted.

Also, here's how I use it with remind:

/usr/bin/remind -z -k'notify-send -u normal -t 5000 -a remind %s &' $XDG_DATA_HOME/remind/ &

I haven't yet started to use the overrides in the config file as I want to see how this all works as is, but can see me wanting to at some point. So if anyone has any examples as to what/how they do, it would be interesting.


"...one cannot be angry when one looks at a penguin."  - John Ruskin
"Life in general is a bit shit, and so too is the internet. And that's all there is." - scepticisle

Offline

#125 2012-06-19 15:15:21

Sh1ken
Member
Registered: 2011-11-08
Posts: 7

Re: dunst - a dmenu-ish notification daemon

Sorry if I don't want to read the whole thread but dunst + irssi = infinite possibilities. Gonna try out some things one of these days if any of you haven't tried yet.

Offline

Board footer

Powered by FluxBB