{"added":null,"apiVersion":1,"behindSince":"2026-09-24","buildDepends":[],"categories":["x11"],"comment":"Urgent-first/LRU window switcher for sway","compare":null,"dependentCount":null,"description":"Swayr consists of a demon, and a client. The demon swayrd records\nwindow/workspace creations, deletions, and focus changes using sway's\nJSON IPC interface. The client swayr offers subcommands, see swayr\n--help, and sends them to the demon which executes them.\n\nRight now, there are these subcommands:\n* switch-window displays all windows in the order urgent first, then\n  last-recently-used, focused last and focuses the selected.\n* quit-window displays all windows and quits the selected one.\n* switch-to-urgent-or-lru-window switches to the next window with urgency\n  hint (if any) or to the last recently used window.\n* switch-workspace displays all workspaces in LRU order and switches to the\n  selected one.\n* switch-workspace-or-window displays all workspaces and their windows and\n   switches to the selected workspace or window.\n* quit-workspace-or-window displays all workspaces and their windows and\n  allows to quit either the selected workspace (all its windows) or the\n  selected window.\n* next-window (all-workspaces|current-workspace) \u0026 prev-window\n  (all-workspaces|current-workspace) focus the next/previous window in\n  depth-first iteration order of the tree.  The argument all-workspaces or\n  current-workspace define if all windows of all workspaces or only those of\n  the current workspace are considered.\n* next-tiled-window \u0026 prev-tiled-window do the same as next-window \u0026\n  prev-window but switch only between windows contained in a tiled container.\n* next-tabbed-or-stacked-window \u0026 prev-tabbed-or-stacked-window do the same\n  as next-window \u0026 prev-window but switch only between windows contained in\n  a tabbed or stacked container.\n* next-floating-window \u0026 prev-floating-window do the same as next-window\n  \u0026 prev-window but switch only between floating windows.\n* next-window-of-same-layout \u0026 prev-window-of-same-layout is like\n  next-floating-window / prev-floating-window if the current window is\n  floating, it is like next-tabbed-or-stacked-window /\n  prev-tabbed-or-stacked-window if the current window is in a tabbed, or\n  stacked container, it is like next-tiled-window / prev-tiled-window if\n  the current windows is in a tiled container, and is like next-window /\n  prev-window otherwise.\n* execute-swaymsg-command displays most swaymsg which don't require\n  additional input and executes the selected one.  That's handy especially for\n  less often used commands not bound to a key.  Non-matching input will be\n  executed executed as-is with swaymsg.\n* execute-swayr-command displays all commands above and executes the selected\n  one.  (This is useful for accessing swayr commands which are not bound to a\n  key.)\n* tile-workspace exclude-floating|include-floating tiles all windows on the\n  current workspace (excluding or including floating ones).  That's done by\n  moving all windows away to some special workspace, setting the current\n  workspace to splith layout, and then moving the windows back.  If the\n  auto_tile feature is used, see the Configuration section below, it'll\n  change from splitting horizontally to vertically during re-insertion.\n* shuffle-tile-workspace exclude-floating|include-floating shuffles \u0026 tiles\n  all windows on the current workspace.  The shuffle part means that (a) the\n  windows are shuffled before re-insertion, and (b) a randomly chosen already\n  re-inserted window is focused before re-inserting another window.  So while\n  tile-workspace on a typical horizontally oriented screen and 5 windows will\n  usually result in a layout with one window on the left and all four others\n  tiled vertially on the right, shuffle-tile-workspace in combination with\n  auto_tile usually results in a more balanced layout, i.e., 2 windows tiled\n  vertically on the right and the other 4 tiled vertially on the left.  If you\n  have less than a handful of windows, just repeat shuffle-tile-workspace a\n  few times until happenstance creates the layout you wanted.\n* tab-workspace exclude-floating|include-floating puts all windows of the\n  current workspace into a tabbed container.\n* toggle-tab-shuffle-tile-workspace exclude-floating|include-floating toggles\n  between a tabbed and tiled layout, i.e., it calls shuffle-tile-workspace if\n  it is currently tabbed, and calls shuffle-tile-workspace if it is currently\n  tiled.\n* move-focused-to-workspace moves the currently focused window or container\n  to another workspace selected with the menu program.  Non-matching input of\n  the form #w:\u003cworkspace\u003e where the hash and w: shortcut are optional can\n  be used to move it to a new workspace.","flavors":[],"html":"https://daemonports.org/dragonfly/x11/swayr/","kind":"port","lastUpdate":null,"license":["GPLv3+"],"maintainer":"jbeich@FreeBSD.org","name":"swayr","newest":false,"newestVersion":"0.28.3","noVulnData":false,"origin":"x11/swayr","otherSystems":[{"maintainer":"jbeich@FreeBSD.org","newest":true,"origin":"x11/swayr","path":"/x11/swayr/","system":"FreeBSD","updated":"2026-10-14","version":"0.28.3_1"},{"maintainer":"jbeich@FreeBSD.org","newest":true,"noVulnData":true,"origin":"x11/swayr","path":"","system":"HardenedBSD","version":"0.28.3"},{"behindSince":"2026-09-24","maintainer":"jbeich@FreeBSD.org","noVulnData":true,"origin":"x11/swayr","path":"","system":"GhostBSD","version":"0.28.2_6"}],"packages":null,"pkgName":"swayr-0.28.1","related":["x11/swayrbar"],"repository":"DPorts","requiredBy":[],"requiredByCount":0,"runDepends":[],"status":null,"system":"dragonfly","systemLabel":"DragonFly","version":"0.28.1","versions":null,"vulnerabilities":null,"www":"https://sr.ht/~tsdh/swayr/"}
