aboutsummaryrefslogtreecommitdiff
path: root/sway/ipc-json.c
AgeCommit message (Collapse)Author
2022-10-03ipc: expose mode picture aspect ratioSimon Ser
2022-09-19sway: add non-desktop outputs to json when running `swaymsg -t get_outputs`Alex Maese
2022-08-30ipc: drop WLR_OUTPUT_ADAPTIVE_SYNC_UNKNOWN caseSimon Ser
This has been removed from wlroots.
2022-07-26ipc: make get_deco_rect check config->hide_lone_tabBaltazár Radics
Without this, the `IPC_GET_TREE` ipc call would return false information about the container's `deco_rect` and `rect` properties if `hide_edge_borders --i3` was in effect.
2022-07-04ipc: add "power" to output replySimon Ser
2022-06-22Remove access to wlr_input_device unionSimon Ser
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3626 Closes: https://github.com/swaywm/sway/issues/7077
2022-05-26Handle NULL output make/model/serialSimon Ser
2022-05-26De-duplicate IPC output descriptionsSimon Ser
2022-01-04[IPC] Add repeat delay/rate info to keyboardSeth Barberee
Closes #6735 wlroots already has the info in the struct so let's access it and print it out.
2021-07-07Update wlr_box includesSimon Ser
Update for the breaking change in [1]. [1]: https://github.com/swaywm/wlroots/pull/3011
2021-06-03config: Fix swaybar pango_markup inconsistencyDaniel Otero
Until now, swaybar did not have pango markup enabled by default, even if the sway config had it on. This patch aims to mimic the i3 behavior, but maintaining the functionality of the "pango_markup" sway config command.
2021-05-05Added scroll_factor input variable to ipc outputErik Reider
2021-02-16container: Move pending state to state structKenny Levinsen
Pending state is currently inlined directly in the container struct, while the current state is in a state struct. A side-effect of this is that it is not immediately obvious that pending double-buffered state is accessed, nor is it obvious what state is double-buffered. Instead, use the state struct for both current and pending.
2021-02-15Align ordering of core node properties with i3Jan Palus
Try to better mimic JSON node structure produced by i3 which might be relied on by already existing tools. In particular having "type" right after "id" is quite handy for streaming high-performance JSON parsers such as simdjson (which are handy for maintaining responsiveness on resource constrained systems). refer https://github.com/i3/i3/blob/ab2a22a78b25ad12fed2c177a34c44950795cf33/src/ipc.c#L338
2020-10-11Add support for workspace_min_width bar option.Tarmack
2020-07-30Fix incorrect format specifiersAntonin Décimo
2020-06-14i3-compat: add GET_BINDING_STATE IPC commandJason Nader
2020-05-29Add views idle inhibition status in get_tree outputDamien Tardy-Panis
Fixes #5286
2020-05-28ipc: invert output transformation when necessaryTudor Brindus
After swaywm/wlroots#2023, #4996 inverted configuration transformations. For consistency, we should undo (double-apply) the inversion when communicating via IPC. Closes #5356.
2020-05-22ipc: show marks of containers without view in treelbonn
2020-04-27Add each view's shell to JSON descriptionThomas Hebb
This is a criteria you can use to select windows since commit 484cc189e909 ("Add shell criteria token"), but there's no way to query it for an existing window. This exposes its value in the output of `swaymsg -t get_tree`.
2020-03-12Limit workspace numbers within 0..INT32_MAXJason Nader
See https://github.com/i3/i3/commit/83c7aff089a6728b6e522d934d656a8e09463112
2020-03-10ipc: add missing required propertiesIan Fan
2020-03-07Add adaptive_sync_status to output IPC replySimon Ser
2020-02-17i3compat: add `window_type` to IPC responseJason Nader
i3 added these in i3/i3#3797
2020-02-17i3compat: add `window_type` to IPC responseJason Nader
i3 added these in i3/i3#3797
2020-01-16ipc-json: Remove unnecessary dereferenceRonan Pigott
2019-11-29add scale_filter output config optionRonan Pigott
2019-11-17Add max_render_time to view JSONIvan Molodetskikh
2019-11-17Add max_render_time to output JSONIvan Molodetskikh
2019-07-05calibration_matrix: add the current matrix to the IPC description for ↵Sergei Dolgov
libinput devices
2019-06-09ipc: add xkb_layout_names and xkb_active_layout_indexSimon Ser
These can be useful to implement per-window layouts as a script. See https://github.com/swaywm/sway/issues/2361
2019-05-28Provide current DPMS state in GET_OUTPUTSJosef Gajdusek
2019-04-16Send disabled output available modes on IPC get_outputsRanieri Althoff
- Also fix missing trailing newline on pretty print Signed-off-by: Ranieri Althoff <1993083+ranisalt@users.noreply.github.com>
2019-04-14Add heuristics to differentiate touchpadsBenjamin Cheng
Use libinput_device_config_tap_get_finger_count to determine whether a pointer is a touchpad. swaymsg is also updated to reflect the new touchpad type.
2019-03-19Support WLR_INPUT_DEVICE_SWITCH in swayRyan Walklin
This commit adds support for laptop lid and tablet mode switches as provided by evdev/libinput and handled by wlroots. Adds a new bindswitch command with syntax: bindswitch <switch>:<state> <command> Where <switch> is one of: tablet for WLR_SWITCH_TYPE_TABLET_MODE lid for WLR_SWITCH_TYPE_LID <state> is one of: on for WLR_SWITCH_STATE_ON off for WLR_SWITCH_STATE_OFF toggle for WLR_SWITCH_STATE_TOGGLE (Note that WLR_SWITCH_STATE_TOGGLE doesn't map to libinput and will trigger at both on and off events)
2019-03-11get_deco_rect: fix floaters on tabbed/stacked wsBrian Ashworth
This fixes the decoration rects for floating containers on a workspace that is either tabbed or stacked. Without this, the floater would incorrectly try to calculate where it's tab or stack decorations were on the workspace. This would cause a SIGFPE (due to a divide-by-zero) when the floater was on a tabbed workspace without any tiling children. Furthermore, the floater does not care what the workspace's layout is and should just use the location relative to the workspace. This should have no effect on children of a floating container.
2019-03-09Fix crash when moving window to scratchpadminus
2019-03-07ipc: describe libinput device configurationBrian Ashworth
This adds the device configurations to the ipc response for libinput devices. Only supported configuration options for the device will be added. This also moves `libinput_send_events` inside a new `libinput` object that contains the rest of the configuration options. sway-ipc(7) has been updated to reflect the changes and document the new additions.
2019-03-06ipc: fix fullscreen deco_rectBrian Ashworth
This fixes the deco_rect reported by the ipc for fullscreen containers to be all zeroes. Children of the fullscreen container should still have their decorations reported correctly
2019-03-06ipc: fix rect for stacked childrenBrian Ashworth
This now takes all titlebars for stacked children into account for the ipc property `rect`
2019-03-06ipc: change {,deco_}rect to match i3Brian Ashworth
This fixes the `deco_rect` and `rect` properties in the IPC responses to match i3's behavior. `deco_rect` should be relative to the parent node, not the current node. This also takes tabbed and stacked decorations into account and will calculate `deco_rect` for all containers since tabbed and stacked child containers will have decorations. `rect` should exclude the window decorations.
2019-02-23ipc: add missing fields to disabled outputsCaleb Bassi
i3 requires all outputs to have certain fields, including 'primary', 'current_workspace', and 'rect' which were missing on disabled outputs. https://i3wm.org/docs/ipc.html#_outputs_reply
2019-02-21Handle NULL from output_get_active_workspaceBrian Ashworth
This modifies the places where output_get_active_workspace is called to handle a NULL result. Some places already handled it and did not need a change, some just have guard off code blocks, others return errors, and some have sway_asserts since the case should never happen. A lot of this is probably just safety precautions since they probably will never be called when `output_get_active_workspace` is not fully configured with a workspace.
2019-02-18Add 'visible' key to view json responseYorick van Pelt
2019-02-11ipc: handle unnamed xkb_active_layout_nameBrian Ashworth
If the active xkb_layout does not have a name, use `NULL` instead of `json_object_new_string(NULL)`. This also makes it so swaymsg will pretty print this as `(unnamed)`.
2019-01-28Introduce container_is_scratchpad_hiddenRyan Dwyer
Just a convenience function that improves readability of the code. Other things worth noting: * container_get_siblings and container_sibling_index no longer use the const keyword * container_handle_fullscreen_reparent is only ever called after attaching the container to a workspace, so its con->workspace check has been changed to an assertion
2019-01-25Implement fullscreen globalRyan Dwyer
2019-01-23Make json-c include respect pkg-config --cflagsJan Beich
json-c.pc contains `Cflags: -I${includedir}/json-c`, so `<json-c/json.h>` won't be found unless the parent directory is searched by default.
2019-01-16bar_cmd_tray_bind: Use mouse button helpersBrian Ashworth
This modifies `bar_cmd_tray_bindsym` to use `get_mouse_bindsym` for parsing mouse buttons. This also introduces `bar_cmd_tray_bindcode`, which will use `get_mouse_bindcode` for parsing mouse buttons. Like with sway bindings, the two commands are encapsulated in a single file to maximize shared code. This also modifies tray bindings to work off of events codes rather than x11 buttons, which allows for any mouse buttons to be used. For `get_bar_config`, `event_code` has been added to the `tray_bindings` section and will include to event code for the button. If the event code can be mapped to a x11 button, `input_code` will still be the x11 button number. Otherwise, `input_code` will be `0`.