Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Jak poslat signál obsahující slovník textového řetězce a pole bajtů  (Přečteno 2061 krát)

Martin 007

  • Návštěvník
  • Příspěvků: 18
Lze napsat skript, po jehož spuštění se ve výstupu příkazu dbus-monitor objeví toto?

Kód: [Vybrat]
signal time=1722266455.487564 sender=:1.581 -> destination=(null destination) serial=3 path=/kcminputrc; interface=org.kde.kconfig.notify; member=ConfigChanged
   array [
      dict entry(
         string "Mouse"
         array [
            array of bytes "cursorTheme"
         ]
      )
   ]

PS: Píši skript, který mi změní motiv kurzoru a má podporovat i distra bez plasma-apply-cursortheme. Zatím jediná oberlička, která mne napadla je nastavit XCURSOR_THEME a restartovat pár aplikací. Dejte prosím vědět, jestli vás napadne jak změnit motiv kurzoru, který nevyžaduje restart aplikací.

Martin 007

  • Návštěvník
  • Příspěvků: 18
Re:Jak poslat signál obsahující slovník textového řetězce a pole bajtů
« Odpověď #1 kdy: 28 Října 2024, 19:41:05 »
Nakonec jsem skončil u restartování aplikací, nastavení proměnné XCURSOR_THEME a spuštění následujícího:

Kód: [Vybrat]
        dbus-send --print-reply --session --type=method_call --dest=org.kde.klauncher /KLauncher org.kde.KLauncher.setLaunchEnv string:XCURSOR_THEME string:"$ThemeToUseForTheCursors" > /dev/null 2>&1
        dbus-send --print-reply --session --type=method_call --dest=org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager.SetEnvironment array:string:XCURSOR_THEME="$ThemeToUseForTheCursors" > /dev/null 2>&1
        dbus-send --print-reply --session --type=method_call --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.UpdateActivationEnvironment dict:string:string:XCURSOR_THEME,"$ThemeToUseForTheCursors" > /dev/null 2>&1

        printf "Xcursor.theme: %s\n" "$ThemeToUseForTheCursors" | xrdb -merge /proc/self/fd/0
​        dbus-send --session --type=signal /KGlobalSettings org.kde.KGlobalSettings.notifyChange int32:5 int32:0 # CursorChanged
Spuštění xrdb -merge je potřeba, aby se změna projevila jakmile se nahradí KWin.
Jsem naprosto v pohodě s restartem aplikací, takže jsem to tak udělal.

 

Provoz zaštiťuje spolek OpenAlt.