#gobjectintrospection — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #gobjectintrospection, aggregated by home.social.
-
#Lua #dbus #lgi #gobjectintrospection
Я, Матье Бал.
Короче, что я сделал, чтобы заработало это говно?
Пообщался вновь с ИИ. Она дала идею выбросить йухан ваш vtable, ибо он не нужон.
А ещё и понадабавил парочку хуйни. ссылка
Итог:(luajjit:<pid>): Lgi-WARNING **: <HH:MM:SS.ms>: Error raised while calling 'lgi.cbk (function: 0x7fdb3946c940): GObject': /usr/share/lua/5.1/lgi/override/GLib-Variant.lua:97: bad argument #2 to '?' (string expected, got nil)
Помогло добавление фигурных скобок...
Завелось блять!!!
Но а что мне теперь делать сvtable? -
#Lua #dbus #lgi #gobjectintrospection
Я, Матье Бал.
Короче, что я сделал, чтобы заработало это говно?
Пообщался вновь с ИИ. Она дала идею выбросить йухан ваш vtable, ибо он не нужон.
А ещё и понадабавил парочку хуйни. ссылка
Итог:(luajjit:<pid>): Lgi-WARNING **: <HH:MM:SS.ms>: Error raised while calling 'lgi.cbk (function: 0x7fdb3946c940): GObject': /usr/share/lua/5.1/lgi/override/GLib-Variant.lua:97: bad argument #2 to '?' (string expected, got nil)
Помогло добавление фигурных скобок...
Завелось блять!!!
Но а что мне теперь делать сvtable? -
#Lua #D-Bus #dbus #GTK #gobjectintrospection
@[email protected] @[email protected]
Ребят, нужна помощь с написанием кода.
Задача: Хочу написать на Lua простой скрипт, создающий D-Bus службу (В идеалеorg.kde.StatusNotifierWatcher) , к которой можно достучаться черезdbus-sendилиgdbus. Пробовал через ИИ, который даже написал, но... Сталкиваюсь с нккоторыми ошибками, а именно:
1)
Вызывается здесь:luajit: ./proxyserver.lua:62: bad argument #5 to 'bus_own_name' (GObject.Closure expected, got function) stack traceback: [C]: in function 'bus_own_name' ./proxyserver.lua:62: in function 'start' main.lua:25: in main chunk [C]: at 0x55b22012ed70
Из ошибки ясно, чтоGio.bus_own_name( Gio.BusType.SESSION, interface_name, Gio.BusNameOwnerFlags.NONE, on_bus_acquired, on_name_acquired, on_name_lostbus_own_nameожидалGObject.Closure, а получил функцию(-и). Спросил у ИИ, стоит ли заворачивать в GObject функцию, на что получил отказ по причине "GObject умеет сам заворачивать, если делать автоматически" и прилагает Вариант 1 (ссылка) (который у меня ± в коде). Ладно, обернул сам...
Но теперь сталкиваюсь со второй ошибкой:(luajit:30598): Lgi-WARNING **: 00:28:04.678: Error raised while calling 'lgi.cbk (function: 0x7f4efadd87c0): GObject': ./proxyserver.lua:51: bad argument #4 to 'register_object' (GObject.Closure expected, got userdata)
Вызывается здесь:local on_bus_acquired = function(connection, name) connection:register_object('/org/example/MyObject', iface, vtable) end
Та же ошибка, но теперь получает не функцию, а userdata. На этот раз предлагает два варианта (ссылка): Обернуть вGObject.Closureили преобразовать vtable вGio.DBusInterfaceVTable(Что у меня это УЖЕ есть). Ладно, обернём вGObject.Closureещё раз.
Ещё один запуск... Запустился без ошибок. Звучит неплохо, но а теперь самая мякотка...
Отправить сигнал:
илиdbus-send --session --print-reply \ --dest=org.example.MyInterface \ /org/example/MyObject \ org.example.MyInterface.SayHellogdbus call --session \ --dest org.example.MyInterface \ --object-path /org/example/MyObject \ --method org.example.MyInterface.SayHello
И вот тут ловим ошибку:
И вот тут я встал. Вроде всё запустилось, но сигнал принимает с ошибкой. ЧЯДНТ (Кроме того, что я использовал ИИ для решения этой задачи)?(luajit:25911): Lgi-WARNING **: HH:MM:SS.ms : Error raised while calling 'lgi.cbk (function :0x7f5b60662de0): GObject': /usr/share/lua/5.1/lgi/override/GObject-Closure.lua:286: attempt to call upvalue 'target' (a userdata value)
На всякий случай:
OS: Artix Linux / Void Linux
Packages (Artix):dbus-glib 0.114-1 dbus 1.16.2-1.1 lua-lgi 0.9.2-14 lua51-lgi 0.9.2-14 glib2 2.88.0-1 gobject-introspection 1.86.0-2
Packages (Void):dbus 1.16.2_2 lua51-lgi 0.9.2_6 glib2 2.88.0_1 gobject-introspection 1.86.0_2 -
#Lua #D-Bus #dbus #GTK #gobjectintrospection
@[email protected] @[email protected]
Ребят, нужна помощь с написанием кода.
Задача: Хочу написать на Lua простой скрипт, создающий D-Bus службу (В идеалеorg.kde.StatusNotifierWatcher) , к которой можно достучаться черезdbus-sendилиgdbus. Пробовал через ИИ, который даже написал, но... Сталкиваюсь с нккоторыми ошибками, а именно:
1)
Вызывается здесь:luajit: ./proxyserver.lua:62: bad argument #5 to 'bus_own_name' (GObject.Closure expected, got function) stack traceback: [C]: in function 'bus_own_name' ./proxyserver.lua:62: in function 'start' main.lua:25: in main chunk [C]: at 0x55b22012ed70
Из ошибки ясно, чтоGio.bus_own_name( Gio.BusType.SESSION, interface_name, Gio.BusNameOwnerFlags.NONE, on_bus_acquired, on_name_acquired, on_name_lostbus_own_nameожидалGObject.Closure, а получил функцию(-и). Спросил у ИИ, стоит ли заворачивать в GObject функцию, на что получил отказ по причине "GObject умеет сам заворачивать, если делать автоматически" и прилагает Вариант 1 (ссылка) (который у меня ± в коде). Ладно, обернул сам...
Но теперь сталкиваюсь со второй ошибкой:(luajit:30598): Lgi-WARNING **: 00:28:04.678: Error raised while calling 'lgi.cbk (function: 0x7f4efadd87c0): GObject': ./proxyserver.lua:51: bad argument #4 to 'register_object' (GObject.Closure expected, got userdata)
Вызывается здесь:local on_bus_acquired = function(connection, name) connection:register_object('/org/example/MyObject', iface, vtable) end
Та же ошибка, но теперь получает не функцию, а userdata. На этот раз предлагает два варианта (ссылка): Обернуть вGObject.Closureили преобразовать vtable вGio.DBusInterfaceVTable(Что у меня это УЖЕ есть). Ладно, обернём вGObject.Closureещё раз.
Ещё один запуск... Запустился без ошибок. Звучит неплохо, но а теперь самая мякотка...
Отправить сигнал:
илиdbus-send --session --print-reply \ --dest=org.example.MyInterface \ /org/example/MyObject \ org.example.MyInterface.SayHellogdbus call --session \ --dest org.example.MyInterface \ --object-path /org/example/MyObject \ --method org.example.MyInterface.SayHello
И вот тут ловим ошибку:
И вот тут я встал. Вроде всё запустилось, но сигнал принимает с ошибкой. ЧЯДНТ (Кроме того, что я использовал ИИ для решения этой задачи)?(luajit:25911): Lgi-WARNING **: HH:MM:SS.ms : Error raised while calling 'lgi.cbk (function :0x7f5b60662de0): GObject': /usr/share/lua/5.1/lgi/override/GObject-Closure.lua:286: attempt to call upvalue 'target' (a userdata value)
На всякий случай:
OS: Artix Linux / Void Linux
Packages (Artix):dbus-glib 0.114-1 dbus 1.16.2-1.1 lua-lgi 0.9.2-14 lua51-lgi 0.9.2-14 glib2 2.88.0-1 gobject-introspection 1.86.0-2
Packages (Void):dbus 1.16.2_2 lua51-lgi 0.9.2_6 glib2 2.88.0_1 gobject-introspection 1.86.0_2 -
Write your own Wayland Desktop!
The "Astal" framework, which is written in Vala, makes it super-simple! (you can use it with any gobject-introspection language though)
https://aylur.github.io/astal/
Here a WIP project from our community. So far a custom status bar, quick settings, MPRIS, etc. Together with the Hyprland window manager. Built with #GTK4, #Blueprint, #Libadwaita and of course #Vala!
https://github.com/ARKye03/morghulis#GTK #GObject #GObjectIntrospection #Wayland #Hyprland #Astal #freedesktop
-
Write your own Wayland Desktop!
The "Astal" framework, which is written in Vala, makes it super-simple! (you can use it with any gobject-introspection language though)
https://aylur.github.io/astal/
Here a WIP project from our community. So far a custom status bar, quick settings, MPRIS, etc. Together with the Hyprland window manager. Built with #GTK4, #Blueprint, #Libadwaita and of course #Vala!
https://github.com/ARKye03/morghulis#GTK #GObject #GObjectIntrospection #Wayland #Hyprland #Astal #freedesktop
-
We did a whole bunch of #Documentation and #GObjectIntrospection annotation cleanups for #phosh 0.39.0 so we're able to create #Rust bindings (https://gitlab.gnome.org/guidog/libphosh-rs) . But what could this be useful for? Who would want to use a #MobileShell as library?
#phrog 🐸 would! It's a #greetd compatible greeter by Sam Day written in #Rust: https://github.com/samcday/phrog . That way top-panel, quick settings, keypad, etc can basically look the same as in the logged in session.
#LinuxMobile -
We did a whole bunch of #Documentation and #GObjectIntrospection annotation cleanups for #phosh 0.39.0 so we're able to create #Rust bindings (https://gitlab.gnome.org/guidog/libphosh-rs) . But what could this be useful for? Who would want to use a #MobileShell as library?
#phrog 🐸 would! It's a #greetd compatible greeter by Sam Day written in #Rust: https://github.com/samcday/phrog . That way top-panel, quick settings, keypad, etc can basically look the same as in the logged in session.
#LinuxMobile -
No luck with the combo Guile + GTK (or GObject Introspection in general) in the Guix System 😞
Guile GI: https://lists.gnu.org/archive/html/guile-user/2023-11/msg00003.html
G-Golf on Guix: https://lists.gnu.org/archive/html/guile-user/2023-05/msg00024.html
I'll stick with Guile + web things for now.
-
No luck with the combo Guile + GTK (or GObject Introspection in general) in the Guix System 😞
Guile GI: https://lists.gnu.org/archive/html/guile-user/2023-11/msg00003.html
G-Golf on Guix: https://lists.gnu.org/archive/html/guile-user/2023-05/msg00024.html
I'll stick with Guile + web things for now.
-
🎉️ Added #GObjectIntrospection support for libflow
Not you can create flow graphs using large selection of programming languages including #python and #javascript
Code snippet: https://gist.github.com/SpikedPaladin/a755a73b04980b12efc64946a30b870d
-
It took me a day and there is still a lot to do, but I was able to get YOGA Image Optimizer running on #Windows! 😁️
(yeah I know, the icon theme is broken... But I will fix that 😅️)
-
Does anyone know if there's an up-to-date program to generate #Rust #bindings to #GObjectIntrospection files? Nothing important really, I'm just messing around, trying to use #at-spi (one of #Gnome's accessibility libraries) from Rust. I could just generate bindings from the C library the old-fashioned way, but I'd love to use #GIR if I can.
I found https://github.com/gi-rust/grust-gen, but it doesn't work and hasn't been updated since early 2018.