Short-version:

You can use :: to access internal symbols of a package. So the code in my
previous email should be amended to

(load-module "notify")
(notify:notify-server-on)

or

(load-module "notify")
(notify::notify-server-toggle)


Long version:
# is a non-terminating dispatching macro character
<http://www.lispworks.com/documentation/HyperSpec/Body/02_dh.htm>, which
means that the meaning is determined by the character following the
sharp-sign (#). #: creates an is an uninterned
<http://www.lispworks.com/documentation/HyperSpec/Body/26_glo_u.htm#uninterned>
symbol, that is a symbol that doesn't belong to a package. They are
normally used for package designators among other things. In the case
of  (in-package
#:notify), #:notify stands in (denotes) the package notify. #' is short
hand notation for accessing the function namespace. Because funcall
takes a function
designator
<http://www.lispworks.com/documentation/HyperSpec/Body/26_glo_f.htm#function_designator>
we
can get away with passing it a symbol and it will be coerced it to the
function bound to that symbol in the function namespace.

Hope that clears things up

On Mon, Apr 2, 2018 at 10:31 PM, York Zhao <gtdplatf...@gmail.com> wrote:

> Thank you very much for your detailed instruction Javier!
>
> I'm very confused by the package name "#:notify". What does the "#" prefix
> mean? I can only call the functions inside this package by:
>
>   (in-package #:notify)
>   (notify-server-on)
>
> But I don't want to introduce a namespace only to call one or two
> functions. I want to be able to call the function with namespace prefix
> like:
>
>   (notify:notify-server-on)
>
> But this doesn't work. What did I do wrong?
>
> Thanks,
>
>
> On Mon, Apr 2, 2018 at 10:17 AM, Javier Olaechea <pir...@gmail.com> wrote:
>
>> Upon reading the README.md I've realized the instructions could be
>> written in a
>> more straightforward manner. All you have to do for the contrib to work
>> is put
>> the following lines in your rc file.
>>
>> (load-module "notify")
>> (notify-server-on) ; or (notify-server-toggle)
>>
>> With that in your rc file show-notification would run every time a slack
>> notification, or any other notification, is sent. In the case of
>> show-notification that means using the message box that StumpWM for its
>> messages.
>>
>> If you would like that the notification be displayed in a different
>> manner you
>> would have to change the function stored in *notification-received-hook*
>> (which
>> incidentally is not a hook, hooks are lists of functions). For example
>> Ubuntu
>> comes with libnotify which you can use from the CLI through notify-send.
>> One
>> could use libnotify by placing the following code it its rc-file after
>> loading
>> the notify module.
>>
>> (defun libnotify-show-notification (app icon summary body)
>>   (stumpwm:run-shell-command
>>    (format nil "notify-send --app-name=~A --icon=~A \"~A\" \"~A\""
>>            app
>>            icon
>>            summary
>>            body)) )
>> (setf notify:*notification-received-hook* #'libnotify-show-notification)
>>
>> Cheers
>>
>> On Fri, Mar 30, 2018 at 2:27 PM, York Zhao <gtdplatf...@gmail.com> wrote:
>>
>>> I still have no idea how to get "notify" working. Would it be possible
>>> for someone to provide me a bit more instruction as to how to get Slack
>>> notifications in StumpWM? The following is my ./stumpwm.d/init.lisp:
>>>
>>> ;; -*-lisp-*-
>>>
>>> (in-package :stumpwm)
>>>
>>> ;; Bind "c" to gnome-terminal instead of xterm
>>> (define-key *root-map* (kbd "c") "exec gnome-terminal")
>>>
>>> (setf *mode-line-position* :bottom)
>>> (mode-line)
>>>
>>> (add-to-load-path "/path/to/stumpwm-contrib/util/notify")
>>> ;; (load-module "notify")
>>>
>>> (emacs)
>>>
>>>
>>> On Tue, Mar 27, 2018 at 8:47 AM, York Zhao <gtdplatf...@gmail.com>
>>> wrote:
>>>
>>>> Thank you very much Javier. Because I'm new to Common Lisp, it would be
>>>> a lot easier for me if I could have some usage information with examples
>>>> for this "notify" package. Could you point me to some of these information
>>>> as I didn't find them on the GitHub link.
>>>>
>>>> Have a great day,
>>>>
>>>> York
>>>>
>>>>
>>>> On Sun, Mar 25, 2018 at 10:18 PM, Javier Olaechea <pir...@gmail.com>
>>>> wrote:
>>>>
>>>>> The notify contrib should display slack notifications
>>>>>
>>>>> https://github.com/stumpwm/stumpwm-contrib/tree/master/util/notify
>>>>>
>>>>> On Sun, Mar 25, 2018 at 2:26 PM, York Zhao <gtdplatf...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Hi list,
>>>>>>
>>>>>> I'm using Linux Mint 17.3 at home, and 18.3 at work. I'm trying to
>>>>>> use StumpWM. However, since we use Slack at work, I have to be able to 
>>>>>> get
>>>>>> notified whenever new slack messages arrive. Without this ability, 
>>>>>> StumpWM
>>>>>> would be useless for me. I've tried to run `gnome-panel' but all I got 
>>>>>> was
>>>>>> a black band at the top of the screen showing nothing. Is it possible to
>>>>>> have this notification in mode line?
>>>>>>
>>>>>> Thanks in advance,
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Stumpwm-devel mailing list
>>>>>> Stumpwm-devel@nongnu.org
>>>>>> https://lists.nongnu.org/mailman/listinfo/stumpwm-devel
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> "I object to doing things that computers can do." — Olin Shivers
>>>>>
>>>>> _______________________________________________
>>>>> Stumpwm-devel mailing list
>>>>> Stumpwm-devel@nongnu.org
>>>>> https://lists.nongnu.org/mailman/listinfo/stumpwm-devel
>>>>>
>>>>>
>>>>
>>>
>>
>>
>> --
>> "I object to doing things that computers can do." — Olin Shivers
>>
>> _______________________________________________
>> Stumpwm-devel mailing list
>> Stumpwm-devel@nongnu.org
>> https://lists.nongnu.org/mailman/listinfo/stumpwm-devel
>>
>>
>


-- 
"I object to doing things that computers can do." — Olin Shivers
_______________________________________________
Stumpwm-devel mailing list
Stumpwm-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/stumpwm-devel

Reply via email to