home.social

#gobjectintrospection — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #gobjectintrospection, aggregated by home.social.

  1. #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 ?

  2. #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 ?

  3. #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_lost
    Из ошибки ясно, что bus_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.SayHello
    или
    gdbus 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

  4. #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_lost
    Из ошибки ясно, что bus_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.SayHello
    или
    gdbus 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

  5. 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)
    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!
    github.com/ARKye03/morghulis

    #GTK #GObject #GObjectIntrospection #Wayland #Hyprland #Astal #freedesktop

  6. 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)
    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!
    github.com/ARKye03/morghulis

    #GTK #GObject #GObjectIntrospection #Wayland #Hyprland #Astal #freedesktop

  7. We did a whole bunch of and annotation cleanups for 0.39.0 so we're able to create bindings (gitlab.gnome.org/guidog/libpho) . But what could this be useful for? Who would want to use a as library?

    🐸 would! It's a compatible greeter by Sam Day written in : github.com/samcday/phrog . That way top-panel, quick settings, keypad, etc can basically look the same as in the logged in session.

  8. We did a whole bunch of #Documentation and #GObjectIntrospection annotation cleanups for #phosh 0.39.0 so we're able to create #Rust bindings (gitlab.gnome.org/guidog/libpho) . 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: github.com/samcday/phrog . That way top-panel, quick settings, keypad, etc can basically look the same as in the logged in session.

    #LinuxMobile

  9. No luck with the combo Guile + GTK (or GObject Introspection in general) in the Guix System 😞

    Guile GI: lists.gnu.org/archive/html/gui

    G-Golf on Guix: lists.gnu.org/archive/html/gui

    I'll stick with Guile + web things for now.

    #gnu #guix #guile #gtk #GObjectIntrospection

  10. No luck with the combo Guile + GTK (or GObject Introspection in general) in the Guix System 😞

    Guile GI: lists.gnu.org/archive/html/gui

    G-Golf on Guix: lists.gnu.org/archive/html/gui

    I'll stick with Guile + web things for now.

    #gnu #guix #guile #gtk #GObjectIntrospection

  11. 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 😅️)

    #Python #GTK #GObjectIntrospection

  12. 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 github.com/gi-rust/grust-gen, but it doesn't work and hasn't been updated since early 2018.