Hi,

Note that StumpWM supplies a macro called DEFPROGRAM-SHORTCUT that
handles
creating a run-or-raise command and binding it to a key. It won't be an
anonymous command, because such a thing doesn't exist, but there's no
real harm
in having a command like "calibre" or "iceweasel".

-- 
  Joram

On Sat, Nov 28, 2015, at 07:25 PM, Tamas Papp wrote:
> I found a workaround:
> 
> (define-key *root-map* (kbd "c")
>   "eval-line (run-or-raise \"calibre\" '(:title \"calibre\"))")
> 
> I can of course write a macro for all of this:
> 
> (defmacro define-key-run-or-raise (map key command
>                                    &optional (props `(:title ,command)))
>   `(define-key ,map (kbd ,key)
>      ,(with-output-to-string (str)
>         (princ "eval-line " str)
>         (write `(run-or-raise ,command ',props) :stream str))))
> 
> and apply it as
> 
> (define-key-run-or-raise *root-map* "c" "calibre")
> (define-key-run-or-raise *root-map* "b" "iceweasel" (:title "Iceweasel"))
> 
> but this is as unlispy as it gets so please help me find a more elegant
> and idiomatic solution if there is one.
> 
> Best,
> 
> Tamas
> 
> 
> On Sat, Nov 28 2015, Tamas Papp <tkp...@gmail.com> wrote:
> 
> > Hi,
> >
> > I am new to stumpwm and find it amazing, but I need to wrap my head
> > around a few things.
> >
> > One of them is "commands", in particular, I am looking for an equivalent
> > of (lambda ...) when I don't want to name a command that I would just
> > use once. Eg instead of
> >
> > (defcommand ensure-calibre () ()
> >   "raise calibre if there is a running instance, otherwise start it"
> >   (run-or-raise "calibre" '(:title "calibre")))
> > (define-key *root-map* (kbd "c") "ensure-calibre")
> >
> > I am looking for something like
> >
> > (define-key *root-map* (kbd "c")
> >             (lambda ()
> >               (run-or-raise "calibre" '(:title "calibre"))))
> >
> > which of course does not work. Is there a way around this?
> >
> > Thanks,
> >
> > Tamas
> 
> _______________________________________________
> Stumpwm-devel mailing list
> Stumpwm-devel@nongnu.org
> https://lists.nongnu.org/mailman/listinfo/stumpwm-devel

_______________________________________________
Stumpwm-devel mailing list
Stumpwm-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/stumpwm-devel

Reply via email to