summaryrefslogtreecommitdiff
path: root/x11/swayr/pkg-descr
blob: 65a3094e35c0a14fb1d330fccbce452a7716450a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
Swayr consists of a demon, and a client. The demon swayrd records
window/workspace creations, deletions, and focus changes using sway's
JSON IPC interface. The client swayr offers subcommands, see swayr
--help, and sends them to the demon which executes them.

Right now, there are these subcommands:
* switch-window displays all windows in the order urgent first, then
  last-recently-used, focused last and focuses the selected.
* quit-window displays all windows and quits the selected one.
* switch-to-urgent-or-lru-window switches to the next window with urgency
  hint (if any) or to the last recently used window.
* switch-workspace displays all workspaces in LRU order and switches to the
  selected one.
* switch-workspace-or-window displays all workspaces and their windows and
   switches to the selected workspace or window.
* quit-workspace-or-window displays all workspaces and their windows and
  allows to quit either the selected workspace (all its windows) or the
  selected window.
* next-window (all-workspaces|current-workspace) & prev-window
  (all-workspaces|current-workspace) focus the next/previous window in
  depth-first iteration order of the tree.  The argument all-workspaces or
  current-workspace define if all windows of all workspaces or only those of
  the current workspace are considered.
* next-tiled-window & prev-tiled-window do the same as next-window &
  prev-window but switch only between windows contained in a tiled container.
* next-tabbed-or-stacked-window & prev-tabbed-or-stacked-window do the same
  as next-window & prev-window but switch only between windows contained in
  a tabbed or stacked container.
* next-floating-window & prev-floating-window do the same as next-window
  & prev-window but switch only between floating windows.
* next-window-of-same-layout & prev-window-of-same-layout is like
  next-floating-window / prev-floating-window if the current window is
  floating, it is like next-tabbed-or-stacked-window /
  prev-tabbed-or-stacked-window if the current window is in a tabbed, or
  stacked container, it is like next-tiled-window / prev-tiled-window if
  the current windows is in a tiled container, and is like next-window /
  prev-window otherwise.
* execute-swaymsg-command displays most swaymsg which don't require
  additional input and executes the selected one.  That's handy especially for
  less often used commands not bound to a key.  Non-matching input will be
  executed executed as-is with swaymsg.
* execute-swayr-command displays all commands above and executes the selected
  one.  (This is useful for accessing swayr commands which are not bound to a
  key.)
* tile-workspace exclude-floating|include-floating tiles all windows on the
  current workspace (excluding or including floating ones).  That's done by
  moving all windows away to some special workspace, setting the current
  workspace to splith layout, and then moving the windows back.  If the
  auto_tile feature is used, see the Configuration section below, it'll
  change from splitting horizontally to vertically during re-insertion.
* shuffle-tile-workspace exclude-floating|include-floating shuffles & tiles
  all windows on the current workspace.  The shuffle part means that (a) the
  windows are shuffled before re-insertion, and (b) a randomly chosen already
  re-inserted window is focused before re-inserting another window.  So while
  tile-workspace on a typical horizontally oriented screen and 5 windows will
  usually result in a layout with one window on the left and all four others
  tiled vertially on the right, shuffle-tile-workspace in combination with
  auto_tile usually results in a more balanced layout, i.e., 2 windows tiled
  vertically on the right and the other 4 tiled vertially on the left.  If you
  have less than a handful of windows, just repeat shuffle-tile-workspace a
  few times until happenstance creates the layout you wanted.
* tab-workspace exclude-floating|include-floating puts all windows of the
  current workspace into a tabbed container.
* toggle-tab-shuffle-tile-workspace exclude-floating|include-floating toggles
  between a tabbed and tiled layout, i.e., it calls shuffle-tile-workspace if
  it is currently tabbed, and calls shuffle-tile-workspace if it is currently
  tiled.
* move-focused-to-workspace moves the currently focused window or container
  to another workspace selected with the menu program.  Non-matching input of
  the form #w:<workspace> where the hash and w: shortcut are optional can
  be used to move it to a new workspace.