(define-module (swayipc records) #:use-module (oop goops) #:use-module (sjson record) #:use-module (sjson parser) #:use-module (sjson builder) #:export ( scm->sway-rect json->sway-rect sway-rect-x sway-rect-y sway-rect-width sway-rect-height scm->sway-workspace json->sway-workspace sway-workspace-num sway-workspace-name sway-workspace-visible sway-workspace-focused sway-workspace-urgent sway-workspace-rect sway-workspace-output scm->sway-mode json->sway-mode sway-mode-width sway-mode-height sway-mode-refresh sway-mode-picture-aspect-ratio scm->sway-output json->sway-output sway-output-name sway-output-make sway-output-model sway-output-serial sway-output-active sway-output-primary sway-output-scale sway-output-subpixel-hinting sway-output-transform sway-output-current-workspace sway-output-modes sway-output-current-mode scm->sway-window-property json->sway-window-property class instance title transient-for scm->sway-tree json->sway-tree sway-tree-id sway-tree-name sway-tree-type sway-tree-border sway-tree-current-border-width sway-tree-layout sway-tree-orientation sway-tree-percent sway-tree-rect sway-tree-window-rect sway-tree-deco-rect sway-tree-geometry sway-tree-urgent sway-tree-sticky sway-tree-marks sway-tree-focused sway-tree-focus sway-tree-nodes sway-tree-floating-nodes sway-tree-representation sway-tree-fullscreen-mode sway-tree-app-id sway-tree-pid sway-tree-visible sway-tree-shell sway-tree-inhibit-idle sway-tree-idle-inhibitors sway-tree-window sway-tree-window-properties scm->sway-bar-color json->sway-bar-color sway-bar-color-background sway-bar-color-status-line sway-bar-color-separator sway-bar-color-focused-background sway-bar-color-focused-statusline sway-bar-color-focused-separator sway-bar-color-focused-workspace-text sway-bar-color-focused-workspace-background sway-bar-color-focused-workspace-border sway-bar-color-active-workspace-text sway-bar-color-active-workspace-background sway-bar-color-active-workspace-border sway-bar-color-inactive-workspace-text sway-bar-color-inactive-workspace-background sway-bar-color-inactive-workspace-border sway-bar-color-urgent-workspace-text sway-bar-color-urgent-workspace-background sway-bar-color-urgent-workspace-border sway-bar-color-binding-mode-text sway-bar-color-binding-mode-background sway-bar-color-binding-mode-border scm->sway-bar-gap json->sway-bar-gap sway-bar-gap-top sway-bar-gap-right sway-bar-gap-bottom sway-bar-gap-left scm->sway-bar-config json->sway-bar-config sway-bar-config-id sway-bar-config-mode sway-bar-config-position sway-bar-config-status-command sway-bar-config-font sway-bar-config-workspace-buttons sway-bar-config-workspace-min-width sway-bar-config-binding-mode-indicator sway-bar-config-verbose sway-bar-config-colors sway-bar-config-gaps sway-bar-config-bar-height sway-bar-config-status-padding sway-bar-config-status-edge-padding scm->sway-version json->sway-version sway-version-major sway-version-minor sway-version-patch sway-version-human-readable sway-version-loaded-config-file-name scm->sway-config json->sway-config sway-config-config scm->sway-tick json->sway-tick sway-tick-success sway-tick-parse-error sway-tick-error scm->sway-sync json->sway-sync sway-sync-success scm->sway-binding-state json->sway-binding-state sway-binding-state-name scm->sway-lib-input json->sway-lib-input sway-lib-input-send-events sway-lib-input-tap sway-lib-input-tap-button-map sway-lib-input-tap-drag sway-lib-input-tap-drag-lock sway-lib-input-accel-speed sway-lib-input-accel-profile sway-lib-input-natural-scroll sway-lib-input-left-handed sway-lib-input-click-method sway-lib-input-middle-emulation sway-lib-input-scroll-method sway-lib-input-scroll-button sway-lib-input-scroll-button-lock sway-lib-input-dwt sway-lib-input-dwtp sway-lib-input-calibration-matrix scm->sway-input json->sway-input sway-input-identifier sway-input-name sway-input-vendor sway-input-product sway-input-type sway-input-xkb-active-layout-name sway-input-xkb-layout-names sway-input-scroll-factor sway-input-libinput scm->sway-seat json->sway-seat sway-seat-name sway-seat-capabilities sway-seat-focus sway-seat-devices scm->sway-workspace-event json->sway-workspace-event sway-workspace-event-change sway-workspace-event-old sway-workspace-event-current scm->sway-output-event json->sway-output-event sway-output-event-change scm->sway-mode-event json->sway-mode-event sway-mode-event-change sway-mode-event-pango-markup scm->sway-window-event json->sway-window-event sway-window-event-change sway-window-event-container scm->sway-binding-event json->sway-binding-event sway-binding-event-change sway-binding-event-binding scm->sway-binding-event-binding json->sway-binding-event-binding sway-binding-event-binding-command sway-binding-event-binding-event-state-mask sway-binding-event-binding-input-code sway-binding-event-binding-sybmol sway-binding-event-binding-input-type scm->sway-shutdown-event json->sway-shutdown-event sway-shutdown-event-change scm->sway-tick-event json->sway-tick-event sway-tick-event-first sway-tick-event-paylaod scm->sway-bar-state-update-event json->sway-bar-state-update-event sway-bar-state-update-event-id sway-bar-state-update-event-visible-by-modifier scm->sway-input-event json->sway-input-event sway-input-event-change sway-input-event-input)) (define-json-type (x) (y) (width) (height)) (define-json-type (num) (name) (visible) (focused) (urgent) (rect "rect" ) (output)) (define-json-type (picture-aspect-ratio "picture_aspect_ratio") (refresh) (height) (width)) (define-json-type (name) (make) (model) (serial) (active) (primary) (scale) (subpixel-hinting "subpixel_hinting") (transform) (current-workspace "current_workspace") (modes "modes" #()) (current-mode "current_mode" )) (define-json-type (class) (instance) (title) (transient-for "transient_for")) (define-json-type (id) (name) (type) (border) (current-border-width "current_border_width") (layout) (orientation) (percent) (rect "rect" ) (window-rect "window_rect" ) (deco-rect "deco_rect" ) (geometry "geometry" ) (urgent) (sticky) (marks) (focused) (focus) (nodes "nodes" #()) (floating-nodes "floating_nodes" #()) (representation) (fullscreen-mode "fullscreen_mode") (app-id "app_id") (pid) (visible) (shell) (inhibit-idle "inhibit_idle") (idle-inhibitors "idle_inhibitors") (window) (window-properties "window_properties" )) (define-json-type (background) (status-line "statusline") (separator) (focused-background "focused_background") (focused-statusline "focused_statusline") (focused-separator "focused_separator") (focused-workspace-text "focused_workspace_text") (focused-workspace-background "focused_workspace_bg") (focused-workspace-border "focused_workspace_border") (active-workspace-text "active_workspace_text") (active-workspace-background "active_workspace_bg") (active-workspace-border "active_workspace_border") (inactive-workspace-text "inactive_workspace_text") (inactive-workspace-background "inactive_workspace_bg") (inactive-workspace-border "inactive_workspace_border") (urgent-workspace-text "urgent_workspace_text") (urgent-workspace-background "urgent_workspace_bg") (urgent-workspace-border "urgent_workspace_border") (binding-mode-text "binding_mode_text") (binding-mode-background "binding_mode_bg") (binding-mode-border "binding_mode_border")) (define-json-type (top) (right) (bottom) (left)) (define-json-type (id) (mode) (position) (status-command "status_command") (font) (workspace-buttons "workspace_buttons") (workspace-min-width "workspace_min_width") (binding-mode-indicator) (verbose) (colors "colors" ) (gaps "gaps" ) (bar-height "bar_height") (status-padding "status_padding") (status-edge-padding "status_edge_padding")) (define-json-type (major) (minor) (patch) (human-readable "human_readable") (loaded-config-file-name "loaded_config_file_name")) (define-json-type (config)) (define-json-type (success) (parse-error "parse_error") (error)) (define-json-type (success)) (define-json-type (name)) (define-json-type (send-events "send_events") (tap) (tap-button-map "tap_button_map") (tap-drag "tap_drag") (tap-drag-lock "tap_drag_lock") (accel-speed "accel_speed") (accel-profile "accel_profile") (natural-scroll "natural_scroll") (left-handed "left_handed") (click-method "click_method") (middle-emulation "middle_emulation") (scroll-method "scroll_method") (scroll-button "scroll_button") (scroll-button-lock "scroll_button_lock") (dwt) (dwtp) (calibration-matrix "calibration_matrix")) (define-json-type (identifier) (name) (vendor) (product) (type) (xkb-active-layout-name "xkb_active_layout_name") (xkb-layout-names "xkb_layout_names") (scroll-factor "scroll_factor") (libinput )) (define-json-type (name) (capabilities) (focus) (devices "devices" #())) (define-json-type (change) (old "old" ) (current "current" )) (define-json-type (change)) (define-json-type (change) (pango-markup "pango_markup")) (define-json-type (change) (container "container" (change) (binding "binding" (command) (event-state-mask "event_state_mask") (input-code "input_code") (sybmol) (input-type "input_type")) (define-json-type (change)) (define-json-type (first) (paylaod)) (define-json-type (id) (visible-by-modifier "visible_by_modifier")) (define-json-type (change) (input "input" ))