4.5 KiB
- [2024-06-28 Fri]
- [2024-06-29 Sat]
- the receiving of the signals
- all the different tabs i had
- searching github for 'get-managed-objects usage
- searchin github for 'define-singlan-handler usage examples
- example in cl-notify of calling a method 'with-introspected-object
- example in cl-notify of working with signals
- dbus library example for publishing objects
- my request for help with interactive async calls
- old ticket on dbus repo about enabling introspection
- example of signal-handler in stumpwm-thingy
- ref for symbold in dbus package
- blog article with basics of usage
- big article about iolib
- docs on dbus Screenshots portal
- docs on dbus type system
- example of flameshot how they get Screenshot via dbus
- dbus methods for Notification
- dbus methods of ScreenCast
- dbus spec on Request & Response for the async methods
- repo for xdg-portal for wayland
- the python snippet to check that ScreenCast via xdg-portal works
- [2024-07-20 Sat]
[2024-06-28 Fri]
well, i'm setting up sbcl and sly?
because i imagine using Common Lisp for my attempt at building screen sharing for the XR glasses
for the cool runtime access, right?
well, just flake shell and (use-package sly) is enough
for .lisp files to get stuff
yes, i'm still using C-M-f and stuff to move around sexps but things are fine
so, what's next? well, this is nice high level description dbus https://www.freedesktop.org/wiki/Software/dbus/
and here's something to start usage https://blog.macrolet.net/posts/DBus-and-PolicyKit-from-Common-Lisp.html from https://github.com/death/dbus
and even lots of examples, but i think i will need a big book on Common Lisp to learn new things?
[2024-06-29 Sat]
going through the dbus guide, sounds neat
https://develop.kde.org/docs/features/d-bus/introduction_to_dbus/
that qdbus and qdbus-viewer are in
$ nix shell nixpkgs#kdePackages.qttools
now let's read about calling methods
the receiving of the signals
all the different tabs i had
searching github for 'get-managed-objects usage
searchin github for 'define-singlan-handler usage examples
https://github.com/search?q=dbus%3Adefine-dbus-signal-handler&type=code
example in cl-notify of calling a method 'with-introspected-object
https://github.com/Lautaro-Garcia/cl-notify/blob/main/src/dbus-protocol.lisp#L27
(defmacro with-dbus-method-inovaction ((result-var method &rest args) &body body)
(alexandria:with-gensyms (bus notifications-object)
`(dbus:with-open-bus (,bus (dbus:session-server-addresses))
(dbus:with-introspected-object (,notifications-object ,bus "/org/freedesktop/Notifications" "org.freedesktop.Notifications")
(let ((,result-var (,notifications-object "org.freedesktop.Notifications" ,method ,@args)))
,@body)))))
example in cl-notify of working with signals
https://github.com/Lautaro-Garcia/cl-notify/blob/main/src/signals.lisp
they register single handler, and add callbacks dynamically & call them from the registered function
dbus library example for publishing objects
my request for help with interactive async calls
old ticket on dbus repo about enabling introspection
example of signal-handler in stumpwm-thingy
ref for symbold in dbus package
blog article with basics of usage
big article about iolib
https://pages.cs.wisc.edu/~psilord/blog/data/iolib-tutorial/tutorial.html
it's the one that's used to create multiplexer for communication i tried to figure out what it means to have event-loops
docs on dbus Screenshots portal
docs on dbus type system
https://dbus.freedesktop.org/doc/dbus-specification.html#type-system
i.e how to understand types of methods and properties
CL-USER> (dbus:sigexp "xsaysas")
(:INT64 :STRING (:ARRAY :BYTE) :STRING (:ARRAY :STRING))
function signature explanation can show what should lisp types be https://github.com/death/dbus/issues/17#issuecomment-418920440