Also collect SSID information. Althought nothing is being done with it
for now.
This was done by interfacing with `NetworkManager.Device.Wifi` and
`NetworkManager.AccessPoint` dbus interfaces.
This splits most CLI/IPC commands into two categories:
- `var` for ironvars
- `bar` for controlling individual bars.
It also introduces more commands for visibility, as well as breaking existing ones.
New commands:
- `show`
- `hide`
- `toggle_visible`
- `set_popup_visible`
- `get_popup_visible`
Lastly, the implementation of some existing commands has been improved.
BREAKING CHANGE: All IPC commands have changed. Namely, `type` has been changed to `command`, and bar/var related commands are now under a `subcommand`. The full spec can be found on the wiki.
BREAKING CHANGE: Several CLI commands are now located under the `var` and `bar` categories. Usage of any commands to get/set Ironvars or control bar visibility will need to be updated.
BREAKING CHANGE: The `open_popup` and `close_popup` IPC commands are now called `show_popup` and `hide_popup` respectively.
BREAKING CHANGE: The popup `name` argument has been renamed to `widget_name` on all IPC commands.
BREAKING CHANGE: The `set-visibility` CLI command now takes a `true`/`false` positional argument in place of the `-v` flag.
BREAKING CHANGE: `ok_value` responses will no longer print `ok` as the first line when using the CLI
This PR includes the necessary code changes, CI changes and documentation to generate and deploy a full JSON schema for each release and the master branch, which can be used within config files for autocomplete and type checking.
let index = match index {
Some(index) => index - 1,
None => {
lock!(map).push(monitor_name.clone());
lock!(map).len() - 1
}
};
//This causes index to underflow
//Expected Output is something like 0, 1, etc
//But sometimes we go back around to 18446744073709551615
//Removing the -1 here seems to work ok with multi monitor, and reload is not broken anymore
Some(index) => index,