scratch-screen-share/notes.org

4.5 KiB

[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

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 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

repo for xdg-portal for wayland

the python snippet to check that ScreenCast via xdg-portal works

[2024-07-20 Sat]

and now i want to try to get display of stuff into gtk window, i guess