Skip to content

Commit

Permalink
input-capture: hookup ZonesChanged signal
Browse files Browse the repository at this point in the history
  • Loading branch information
3l0w committed Jan 30, 2025
1 parent 3bd6cb4 commit e49a997
Showing 1 changed file with 31 additions and 0 deletions.
31 changes: 31 additions & 0 deletions src/input-capture.c
Original file line number Diff line number Diff line change
Expand Up @@ -1115,6 +1115,36 @@ on_deactivated_cb (XdpDbusImplInputCapture *impl,
}
}

static void
on_zones_changed_cb (XdpDbusImplInputCapture *impl,
const char *session_id,
GVariant *options,
gpointer data)
{
g_autoptr(XdpSession) session = xdp_session_lookup (session_id);
InputCaptureSession *input_capture_session;

if (!IS_INPUT_CAPTURE_SESSION (session))
{
g_critical ("Invalid session type for signal");
return;
}

input_capture_session = (InputCaptureSession*)session;

switch (input_capture_session->state)
{
case INPUT_CAPTURE_SESSION_STATE_INIT:
case INPUT_CAPTURE_SESSION_STATE_ENABLED:
case INPUT_CAPTURE_SESSION_STATE_ACTIVE:
case INPUT_CAPTURE_SESSION_STATE_DISABLED:
pass_signal (impl, "ZonesChanged", session_id, options, data);
break;
case INPUT_CAPTURE_SESSION_STATE_CLOSED:
break;
}
}

static void
input_capture_init (InputCapture *input_capture)
{
Expand All @@ -1130,6 +1160,7 @@ input_capture_init (InputCapture *input_capture)
g_signal_connect (impl, "disabled", G_CALLBACK (on_disabled_cb), input_capture);
g_signal_connect (impl, "activated", G_CALLBACK (on_activated_cb), input_capture);
g_signal_connect (impl, "deactivated", G_CALLBACK (on_deactivated_cb), input_capture);
g_signal_connect (impl, "zones-changed", G_CALLBACK (on_zones_changed_cb), input_capture);
}

static void
Expand Down

0 comments on commit e49a997

Please sign in to comment.