Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add /in command and supporting changes (#118)
* Add /in command This allows running commands like setwindow or mode in contexts other than the currently focused window. Also adds two new command types, adds focus to the context Args can work with, and reworks a handful of commands to not fetch clientFocus themselves. It also tweaks /list to not use extensionArg anymore. There is still some work that needs doing in support of this one command (as well as future metacommands but never mind): - Tab completion needs to be burned to the ground. - Views (names, masks) need to be changed to respect the override. - `/in #channel-im-not-in masks b` should really just work. ClientCommands don't make sense with /in and can exhibit surprising behavior, and so /in currently rejects them. * Make subfocuses work correctly with /in Also adjusts the status line to show overridden foci. * Rework focus label in status line Minor changes were made in an earlier commit. These changes are a bit more radical due to subfocuses no longer being "sub"focuses so much. Also changes the application title. * Implement macro expansion in /in This commit also undoes a decision to forbid client-wide commands from /in. It's simpler this way.
- Loading branch information