* initial implementation with break panes to new tab * break pane group left/right * group embed/eject panes * stack pane group on resize * close pane group * style(fmt): rustfmt * fix tests * group drag and ungroup with the mouse * fix mouse hover for multiple clients * fix for multiple clients * multiple select plugin initial * use real data in plugin * adjust functionality * fix some ux issues * reflect group mouse group selections in plugin * group/ungroup panes in Zellij * highlight frames when marked by the plugin * refactor: render function in plugin * some ui responsiveness * some more responsiveness and adjust hover text * break out functionality * stack functionality * break panes left/right and close multiple panes * fix(tab): only relayout the relevant layout when non-focused pane is closed * status bar UI * embed and float panes * work * fix some ui/ux issues * refactor: move stuff around * some responsiveness and fix search result browsing bug * change plugin pane title * differentiate group from focused pane * add keyboard shortcut * add ui to compact bar * make boundary colors appear properly without pane frames * get plugins to also display their frame color * make hover shortcuts appear on command panes * fix: do not render search string component if it's empty * BeforeClose Event and unhighlight panes on exit * some UI/UX fixes * some fixes to the catppuccin-latte theme * remove ungroup shortcut * make some ui components opaque * fix more opaque elements * fix some issues with stacking pane order * keyboard shortcuts for grouping * config to opt out of advanced mouse actions * make selected + focused frame color distinct * group marking mode * refactor: multiple-select plugin * adjust stacking group behavior * adjust flashing periods * render common modifier in group controls * add to compact bar * adjust key hint wording * add key to presets and default config * some cleanups * some refactoring * fix tests * fix plugin system tests * tests: group/ungroup/hover * test: BeforeClose plugin event * new plugin assets * style(fmt): rustfmt * remove warnings * tests: give plugin more time to load
53 lines
2.3 KiB
Rust
53 lines
2.3 KiB
Rust
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
|
|
#[repr(i32)]
|
|
pub enum PermissionType {
|
|
ReadApplicationState = 0,
|
|
ChangeApplicationState = 1,
|
|
OpenFiles = 2,
|
|
RunCommands = 3,
|
|
OpenTerminalsOrPlugins = 4,
|
|
WriteToStdin = 5,
|
|
WebAccess = 6,
|
|
ReadCliPipes = 7,
|
|
MessageAndLaunchOtherPlugins = 8,
|
|
Reconfigure = 9,
|
|
FullHdAccess = 10,
|
|
}
|
|
impl PermissionType {
|
|
/// String value of the enum field names used in the ProtoBuf definition.
|
|
///
|
|
/// The values are not transformed in any way and thus are considered stable
|
|
/// (if the ProtoBuf definition does not change) and safe for programmatic use.
|
|
pub fn as_str_name(&self) -> &'static str {
|
|
match self {
|
|
PermissionType::ReadApplicationState => "ReadApplicationState",
|
|
PermissionType::ChangeApplicationState => "ChangeApplicationState",
|
|
PermissionType::OpenFiles => "OpenFiles",
|
|
PermissionType::RunCommands => "RunCommands",
|
|
PermissionType::OpenTerminalsOrPlugins => "OpenTerminalsOrPlugins",
|
|
PermissionType::WriteToStdin => "WriteToStdin",
|
|
PermissionType::WebAccess => "WebAccess",
|
|
PermissionType::ReadCliPipes => "ReadCliPipes",
|
|
PermissionType::MessageAndLaunchOtherPlugins => "MessageAndLaunchOtherPlugins",
|
|
PermissionType::Reconfigure => "Reconfigure",
|
|
PermissionType::FullHdAccess => "FullHdAccess",
|
|
}
|
|
}
|
|
/// Creates an enum from field names used in the ProtoBuf definition.
|
|
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
|
|
match value {
|
|
"ReadApplicationState" => Some(Self::ReadApplicationState),
|
|
"ChangeApplicationState" => Some(Self::ChangeApplicationState),
|
|
"OpenFiles" => Some(Self::OpenFiles),
|
|
"RunCommands" => Some(Self::RunCommands),
|
|
"OpenTerminalsOrPlugins" => Some(Self::OpenTerminalsOrPlugins),
|
|
"WriteToStdin" => Some(Self::WriteToStdin),
|
|
"WebAccess" => Some(Self::WebAccess),
|
|
"ReadCliPipes" => Some(Self::ReadCliPipes),
|
|
"MessageAndLaunchOtherPlugins" => Some(Self::MessageAndLaunchOtherPlugins),
|
|
"Reconfigure" => Some(Self::Reconfigure),
|
|
"FullHdAccess" => Some(Self::FullHdAccess),
|
|
_ => None,
|
|
}
|
|
}
|
|
}
|