{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":40217904,"defaultBranch":"master","name":"sway","ownerLogin":"swaywm","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2015-08-05T01:31:45.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/32400794?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1720868409.0","currentOid":""},"activityList":{"items":[{"before":"f957c7e658871c27935f88f6e1d18b9db67f3808","after":"785a459a55d8b55b4bed1fdc55b04c32be5b450c","ref":"refs/heads/master","pushedAt":"2024-09-20T04:26:37.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Nefsen402","name":"Alexander Orzechowski","path":"/Nefsen402","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3621017?s=80&v=4"},"commit":{"message":"ext-session-lock: Do not use commit listener to arrange\n\nArranging lock surfaces rely on the sway_output width and height being\nupdated, but these are only updated after the commit has been completed\nand all commit listeners have executed. This means that the lock\nsurfaces will not be appropriately scaled to match a change in output\ndimensions, and may reveal what is under the lock background.\n\nReplace the implicit arrange through the output commit listener with an\nexplicit arrange after the output configuration is finalized.\n\nThis might have regressed by other transition away from output commit\nlisteners for other arrange tasks, but even then it would have\nerroneously relied on signalling order.","shortMessageHtmlLink":"ext-session-lock: Do not use commit listener to arrange"}},{"before":"d7a76d381bbe4321578bc3a95fbc82d76b67ef05","after":"f957c7e658871c27935f88f6e1d18b9db67f3808","ref":"refs/heads/master","pushedAt":"2024-09-13T11:09:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kennylevinsen","name":"Kenny Levinsen","path":"/kennylevinsen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/176245?s=80&v=4"},"commit":{"message":"config/output: support DRM_FORMAT_ARGB8888\n\nSome display output hardware [1] doesn't support any of the current\nformats, but works with ARGB8888. Fall back to it if available.\n\n[1] https://github.com/torvalds/linux/blob/196145c606d0f816fd3926483cb1ff87e09c2c0b/drivers/gpu/drm/xlnx/zynqmp_disp.c#L313\n\nSigned-off-by: Steffen Dirkwinkel ","shortMessageHtmlLink":"config/output: support DRM_FORMAT_ARGB8888"}},{"before":"fb5eadc363a7f8b9eeeb0ba562ecb3c40e0e6e5a","after":"d7a76d381bbe4321578bc3a95fbc82d76b67ef05","ref":"refs/heads/master","pushedAt":"2024-09-10T18:13:36.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"Nefsen402","name":"Alexander Orzechowski","path":"/Nefsen402","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3621017?s=80&v=4"},"commit":{"message":"config/output: Rename to apply_stored_output_configs","shortMessageHtmlLink":"config/output: Rename to apply_stored_output_configs"}},{"before":"c5ba7f23a50cd43d39fbb45274484abbcaa4e157","after":"fb5eadc363a7f8b9eeeb0ba562ecb3c40e0e6e5a","ref":"refs/heads/master","pushedAt":"2024-09-08T14:06:26.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"readme: update Czech translation","shortMessageHtmlLink":"readme: update Czech translation"}},{"before":"f4a6b0395f3fe38cb14bec1f5ac30445496e525c","after":"c5ba7f23a50cd43d39fbb45274484abbcaa4e157","ref":"refs/heads/master","pushedAt":"2024-09-08T12:18:01.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"sway/input/keyboard: always set active keyboard if there is none\n\nPreviously, we incorrectly only set active keyboard for non-virtual\ndevices. 4c3c0602116c12c2821e1e505e7248b3c642b4ca incorrectly put\nunrelated code in `sway_keyboard_set_layout`.\n\nFixes: 4c3c0602116c12c2821e1e505e7248b3c642b4ca","shortMessageHtmlLink":"sway/input/keyboard: always set active keyboard if there is none"}},{"before":"fc6b8d6af2a8b5c68bbf49753b0e560ad2cff208","after":"f4a6b0395f3fe38cb14bec1f5ac30445496e525c","ref":"refs/heads/master","pushedAt":"2024-09-08T00:11:30.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"Nefsen402","name":"Alexander Orzechowski","path":"/Nefsen402","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3621017?s=80&v=4"},"commit":{"message":"tree/arrange; Skip arranging disabled outputs\n\nDisabled outputs might not have a geometry to arrange for, so skip the\narrange to avoid messing up the workspace geometry.","shortMessageHtmlLink":"tree/arrange; Skip arranging disabled outputs"}},{"before":"4fe054c6db74401f4afc7453fc74665097b5261d","after":"fc6b8d6af2a8b5c68bbf49753b0e560ad2cff208","ref":"refs/heads/master","pushedAt":"2024-09-06T23:19:31.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"container: Skip % char if it doesn't match a view property\n\nThe else condition was missed here and we would never skip the % char\nif it didn't end up matching with any property. Since we fail to skip\nwe would re-evaluate the % in an infinite loop never achieving any\nforward-progress.\n\nFixes: https://github.com/swaywm/sway/issues/8333","shortMessageHtmlLink":"container: Skip % char if it doesn't match a view property"}},{"before":"af28ac04a4d523aecd74dacc94a91f7d9e537982","after":"4fe054c6db74401f4afc7453fc74665097b5261d","ref":"refs/heads/master","pushedAt":"2024-09-05T22:19:17.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"Nefsen402","name":"Alexander Orzechowski","path":"/Nefsen402","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3621017?s=80&v=4"},"commit":{"message":"tree/output: Avoid duplicate input mapping configure","shortMessageHtmlLink":"tree/output: Avoid duplicate input mapping configure"}},{"before":"be840f730e747a24106c8366ecb89e6b982cfa38","after":"af28ac04a4d523aecd74dacc94a91f7d9e537982","ref":"refs/heads/master","pushedAt":"2024-09-04T17:49:36.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"Nefsen402","name":"Alexander Orzechowski","path":"/Nefsen402","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3621017?s=80&v=4"},"commit":{"message":"(desktop|tree)/output: Do not use layout listener to arrange\n\nOutput layout changes originate from the centralized modeset\ninfrastructure and request_state which already takes care of arranging\nand updating outputs as needed.","shortMessageHtmlLink":"(desktop|tree)/output: Do not use layout listener to arrange"}},{"before":"980a4e02113789d0cca94aa023557c6f6e87ec73","after":"be840f730e747a24106c8366ecb89e6b982cfa38","ref":"refs/heads/master","pushedAt":"2024-09-02T20:49:05.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Nefsen402","name":"Alexander Orzechowski","path":"/Nefsen402","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3621017?s=80&v=4"},"commit":{"message":"move title_format to container","shortMessageHtmlLink":"move title_format to container"}},{"before":"77b9ddabe2a97c5d04c30929b0f8cbde3470fdd7","after":"980a4e02113789d0cca94aa023557c6f6e87ec73","ref":"refs/heads/master","pushedAt":"2024-08-28T08:59:56.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"use subheadings instead","shortMessageHtmlLink":"use subheadings instead"}},{"before":"f00f964abf0eae36a1cce03c532115319499e570","after":"77b9ddabe2a97c5d04c30929b0f8cbde3470fdd7","ref":"refs/heads/master","pushedAt":"2024-08-22T21:43:22.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"sway/tree/container: don't trunc coords in `floating_fix_coordinates`\n\nThis can cause issues such as the window not being shown at the exact\nsame coordinates when the old and new wlr_box aren't the same\ndimensions and the container is being moved back-and-forth between them.\n\nFor example, in the case where a floating window gets moved\nfrom one output to another but the outputs aren't the same resolution.\nFor e.g. have two displays that aren't the same resolution then:\n\n1. Open a floating window and set it to pos 0,0 on output 2\n2. Send it to scratchpad then `scratchpad show` on output 1\n3. `scratchpad show` on output 2 again\n\nObserve that the window isn't at 0,0 on output 2 anymore.","shortMessageHtmlLink":"sway/tree/container: don't trunc coords in floating_fix_coordinates"}},{"before":"7288f77bbe275825a0e0b011db873d9367782af0","after":"f00f964abf0eae36a1cce03c532115319499e570","ref":"refs/heads/master","pushedAt":"2024-08-22T21:41:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"sway/commands/move.c: arrange new workspace\n\nWhen moving a container to a new workspace, the workspace's dimension\nare left unset. Usually this doesn't matter, but when moving a floating\ncontainer to a new workspace on a different output, this leads to the\nposition of the container being calculated with 0, so the container ends\nup halfway offscreen on the leftmost topmost monitor.\n\nSigned-off-by: Anna (navi) Figueiredo Gomes ","shortMessageHtmlLink":"sway/commands/move.c: arrange new workspace"}},{"before":"f9c0f043e5ec39574c9d9b0fb3dece6169a0e67d","after":"7288f77bbe275825a0e0b011db873d9367782af0","ref":"refs/heads/master","pushedAt":"2024-08-21T15:16:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vyivel","name":"Kirill Primak","path":"/vyivel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/78619521?s=80&v=4"},"commit":{"message":"output: Chase wlroots!4803","shortMessageHtmlLink":"output: Chase wlroots!4803"}},{"before":"ae7c1b139a3c71d3e11fe2477d8b21c36de6770e","after":"f9c0f043e5ec39574c9d9b0fb3dece6169a0e67d","ref":"refs/heads/master","pushedAt":"2024-08-19T16:03:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Nefsen402","name":"Alexander Orzechowski","path":"/Nefsen402","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3621017?s=80&v=4"},"commit":{"message":"config/output: Skip search if config has a mode\n\nWhen doing an output configuration search, the intent is to only look\nfor modes if the output's configuration does not contain a specific\nmode. This was done by testing if config_has_auto_mode returned false.\n\nconfig_has_auto_mode had its return values backwards, leading to other\nmodes being tested if the output configuration had specified modes or\nmodelines, leading to unwanted modes being selected.\n\nInvert the function to config_has_manual_mode to give it a clearer name,\nand fix the return values in the process.","shortMessageHtmlLink":"config/output: Skip search if config has a mode"}},{"before":"c30c4519079e804c35e71810875c10f48097d230","after":"ae7c1b139a3c71d3e11fe2477d8b21c36de6770e","ref":"refs/heads/master","pushedAt":"2024-08-18T13:18:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"config/output: Do not set adaptive_sync if not supported\n\nAfter 4e38f93f367d (\"config/output: Skip VRR tests when not supported\"),\nthe configuration search no longer touches VRR state for outputs that\nare known to not support it. This also means that it will not remove VRR\nif already set, which could cause output configuration to fail.\n\nEnsure that VRR state is never set for outputs that do not support it by\nadding the same test for support to queue_output_config.\n\nFixes: 4e38f93f367d (\"config/output: Skip VRR tests when not supported\")\nFixes: https://github.com/swaywm/sway/issues/8296","shortMessageHtmlLink":"config/output: Do not set adaptive_sync if not supported"}},{"before":"c3279944fb195a5169eb540ef8285533dc5edfba","after":"c30c4519079e804c35e71810875c10f48097d230","ref":"refs/heads/master","pushedAt":"2024-08-14T19:04:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Nefsen402","name":"Alexander Orzechowski","path":"/Nefsen402","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3621017?s=80&v=4"},"commit":{"message":"xdg-shell: chase xdg_surface geometry updates","shortMessageHtmlLink":"xdg-shell: chase xdg_surface geometry updates"}},{"before":"6576b99c243e2b66d077db0a99ec9683747e3fe9","after":"c3279944fb195a5169eb540ef8285533dc5edfba","ref":"refs/heads/master","pushedAt":"2024-08-14T17:45:04.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"vyivel","name":"Kirill Primak","path":"/vyivel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/78619521?s=80&v=4"},"commit":{"message":"output: Use wlr_scene_set_gamma_control_manager_v1","shortMessageHtmlLink":"output: Use wlr_scene_set_gamma_control_manager_v1"}},{"before":"b44015578a3d53cdd9436850202d4405696c1f52","after":"6576b99c243e2b66d077db0a99ec9683747e3fe9","ref":"refs/heads/master","pushedAt":"2024-08-14T09:03:53.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"commands/output/color_profile: allows use of relative path for ICC profile","shortMessageHtmlLink":"commands/output/color_profile: allows use of relative path for ICC pr…"}},{"before":"9ba1beee580d07adfba903257ce8762b96ea3833","after":"b44015578a3d53cdd9436850202d4405696c1f52","ref":"refs/heads/master","pushedAt":"2024-08-11T17:47:39.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kennylevinsen","name":"Kenny Levinsen","path":"/kennylevinsen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/176245?s=80&v=4"},"commit":{"message":"Switch default config to wmenu-run\n\nThis removes the last dependency bit on dmenu. No need for\n\"swaymsg exec\" anymore: wmenu-run handles the xdg-activation\nshenanigans.","shortMessageHtmlLink":"Switch default config to wmenu-run"}},{"before":"f344e9d5a5afe6ba1aeaf781be3bd18dbf8596f1","after":"9ba1beee580d07adfba903257ce8762b96ea3833","ref":"refs/heads/master","pushedAt":"2024-08-11T14:42:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"Bind a few utilities to special keys in default config","shortMessageHtmlLink":"Bind a few utilities to special keys in default config"}},{"before":"951a22c2445f5c32b831bac0db86869627940402","after":"f344e9d5a5afe6ba1aeaf781be3bd18dbf8596f1","ref":"refs/heads/master","pushedAt":"2024-08-09T20:03:41.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"Add null-safety check for virtual keyboard keymaps\n\nNote that in the `sway_keyboard_configure` function of sway/input/keyboard.c,\nwe have skipped the `sway_keyboard_set_layout` function for virtual\nkeyboards, which then have null keymaps.\nHence, a null-safety check is needed at runtime.","shortMessageHtmlLink":"Add null-safety check for virtual keyboard keymaps"}},{"before":"32e5e5232d1b0b5a34b4296a79a4e8cfa32b5090","after":"951a22c2445f5c32b831bac0db86869627940402","ref":"refs/heads/master","pushedAt":"2024-08-07T20:58:14.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vyivel","name":"Kirill Primak","path":"/vyivel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/78619521?s=80&v=4"},"commit":{"message":"xwayland: Let scene restack","shortMessageHtmlLink":"xwayland: Let scene restack"}},{"before":"05e895c4638293a6bfe594ff0cae4eaab63b740e","after":"32e5e5232d1b0b5a34b4296a79a4e8cfa32b5090","ref":"refs/heads/master","pushedAt":"2024-08-07T12:33:03.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"kennylevinsen","name":"Kenny Levinsen","path":"/kennylevinsen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/176245?s=80&v=4"},"commit":{"message":"tearing: fix UAF on destroy\n\nFixes: 9a1c411abd8261c121dcd50dfe54132718768084","shortMessageHtmlLink":"tearing: fix UAF on destroy"}},{"before":"9a1c411abd8261c121dcd50dfe54132718768084","after":"05e895c4638293a6bfe594ff0cae4eaab63b740e","ref":"refs/heads/master","pushedAt":"2024-08-06T18:18:59.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"Add support for linux-drm-syncobj-v1\n\nReferences: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4262","shortMessageHtmlLink":"Add support for linux-drm-syncobj-v1"}},{"before":"b881c2e84c4be3c7b996f85200cfe391a7979267","after":"9a1c411abd8261c121dcd50dfe54132718768084","ref":"refs/heads/master","pushedAt":"2024-08-05T00:13:49.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"Add support for tearing-control-v1\n\nReferences: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3871\r\n\r\nAdds option to allow tearing per output, as well as an option to force\r\nenable or disable tearing for a specific application using a window\r\nrule. Only works with fullscreen applications.","shortMessageHtmlLink":"Add support for tearing-control-v1"}},{"before":"6e4ccb99c3a2197468f8f34c290b7cd5612ff80b","after":"b881c2e84c4be3c7b996f85200cfe391a7979267","ref":"refs/heads/master","pushedAt":"2024-08-04T16:08:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"transaction: Reparent all container children when disabling for scratchpad\n\nFixes: #8205","shortMessageHtmlLink":"transaction: Reparent all container children when disabling for scrat…"}},{"before":"9bb45a403758c8606fe9a7f0b5b5316bae1a12dd","after":"6e4ccb99c3a2197468f8f34c290b7cd5612ff80b","ref":"refs/heads/master","pushedAt":"2024-08-03T16:35:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"build: avoid git repository discovery when determining version\n\nWhen attempting to use Git to populate commit/branch information in a\nversion string, it is possible through repository discovery that it\nuses Git information not relevant to project. For example, if\nrepository content is extract into an interim build location when using\nan embedded build framework (e.g. Buildroot), the project will not have\nits Git repository to refer to. When it cannot find its repository, it\nwill look into its parent folders and may find the Git repository of\nanother project and use its branch/commit information.\n\nThis commit provides an explicit path to the project's Git repository\nwhen consider commit/branch information. This will prevent any\nrepository discovery from occurring.\n\nSigned-off-by: James Knight ","shortMessageHtmlLink":"build: avoid git repository discovery when determining version"}},{"before":"7e74a4914261cf32c45017521960adf7ff6dac8f","after":"9bb45a403758c8606fe9a7f0b5b5316bae1a12dd","ref":"refs/heads/master","pushedAt":"2024-08-02T14:57:01.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"xwayland: chase wlr_xwayland_surface_set_maximized() change\n\nSee\nhttps://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4670.","shortMessageHtmlLink":"xwayland: chase wlr_xwayland_surface_set_maximized() change"}},{"before":"4d4c88f0a73f6ee3da1c99355f04362ef2ad68c9","after":"7e74a4914261cf32c45017521960adf7ff6dac8f","ref":"refs/heads/master","pushedAt":"2024-07-29T18:19:42.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Nefsen402","name":"Alexander Orzechowski","path":"/Nefsen402","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3621017?s=80&v=4"},"commit":{"message":"desktop/xwayland: don't restack when marking window as inactive\n\ndaaec72ac01f (\"desktop/xwayland: restack surface upon activation\")\nhas updated Sway for wlroots commit bfc69decdd04 (\"xwm: do not\nrestack surfaces on activation\"). However, it unconditionally\nrestacks the window above all other windows even if marking the\nwindow as inactive.\n\nCloses: https://github.com/swaywm/sway/issues/7974","shortMessageHtmlLink":"desktop/xwayland: don't restack when marking window as inactive"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEu4xFBgA","startCursor":null,"endCursor":null}},"title":"Activity · swaywm/sway"}