* 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
168 lines
6.2 KiB
Rust
168 lines
6.2 KiB
Rust
#[allow(clippy::derive_partial_eq_without_eq)]
|
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
|
pub struct Style {
|
|
#[deprecated]
|
|
#[prost(message, optional, tag="1")]
|
|
pub palette: ::core::option::Option<Palette>,
|
|
#[prost(bool, tag="2")]
|
|
pub rounded_corners: bool,
|
|
#[prost(bool, tag="3")]
|
|
pub hide_session_name: bool,
|
|
#[prost(message, optional, tag="4")]
|
|
pub styling: ::core::option::Option<Styling>,
|
|
}
|
|
#[allow(clippy::derive_partial_eq_without_eq)]
|
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
|
pub struct Palette {
|
|
#[prost(enumeration="ThemeHue", tag="1")]
|
|
pub theme_hue: i32,
|
|
#[prost(message, optional, tag="2")]
|
|
pub fg: ::core::option::Option<Color>,
|
|
#[prost(message, optional, tag="3")]
|
|
pub bg: ::core::option::Option<Color>,
|
|
#[prost(message, optional, tag="4")]
|
|
pub black: ::core::option::Option<Color>,
|
|
#[prost(message, optional, tag="5")]
|
|
pub red: ::core::option::Option<Color>,
|
|
#[prost(message, optional, tag="6")]
|
|
pub green: ::core::option::Option<Color>,
|
|
#[prost(message, optional, tag="7")]
|
|
pub yellow: ::core::option::Option<Color>,
|
|
#[prost(message, optional, tag="8")]
|
|
pub blue: ::core::option::Option<Color>,
|
|
#[prost(message, optional, tag="9")]
|
|
pub magenta: ::core::option::Option<Color>,
|
|
#[prost(message, optional, tag="10")]
|
|
pub cyan: ::core::option::Option<Color>,
|
|
#[prost(message, optional, tag="11")]
|
|
pub white: ::core::option::Option<Color>,
|
|
#[prost(message, optional, tag="12")]
|
|
pub orange: ::core::option::Option<Color>,
|
|
#[prost(message, optional, tag="13")]
|
|
pub gray: ::core::option::Option<Color>,
|
|
#[prost(message, optional, tag="14")]
|
|
pub purple: ::core::option::Option<Color>,
|
|
#[prost(message, optional, tag="15")]
|
|
pub gold: ::core::option::Option<Color>,
|
|
#[prost(message, optional, tag="16")]
|
|
pub silver: ::core::option::Option<Color>,
|
|
#[prost(message, optional, tag="17")]
|
|
pub pink: ::core::option::Option<Color>,
|
|
#[prost(message, optional, tag="18")]
|
|
pub brown: ::core::option::Option<Color>,
|
|
}
|
|
#[allow(clippy::derive_partial_eq_without_eq)]
|
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
|
pub struct Color {
|
|
#[prost(enumeration="ColorType", tag="1")]
|
|
pub color_type: i32,
|
|
#[prost(oneof="color::Payload", tags="2, 3")]
|
|
pub payload: ::core::option::Option<color::Payload>,
|
|
}
|
|
/// Nested message and enum types in `Color`.
|
|
pub mod color {
|
|
#[allow(clippy::derive_partial_eq_without_eq)]
|
|
#[derive(Clone, PartialEq, ::prost::Oneof)]
|
|
pub enum Payload {
|
|
#[prost(message, tag="2")]
|
|
RgbColorPayload(super::RgbColorPayload),
|
|
#[prost(uint32, tag="3")]
|
|
EightBitColorPayload(u32),
|
|
}
|
|
}
|
|
#[allow(clippy::derive_partial_eq_without_eq)]
|
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
|
pub struct RgbColorPayload {
|
|
#[prost(uint32, tag="1")]
|
|
pub red: u32,
|
|
#[prost(uint32, tag="2")]
|
|
pub green: u32,
|
|
#[prost(uint32, tag="3")]
|
|
pub blue: u32,
|
|
}
|
|
#[allow(clippy::derive_partial_eq_without_eq)]
|
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
|
pub struct Styling {
|
|
#[prost(message, repeated, tag="1")]
|
|
pub text_unselected: ::prost::alloc::vec::Vec<Color>,
|
|
#[prost(message, repeated, tag="2")]
|
|
pub text_selected: ::prost::alloc::vec::Vec<Color>,
|
|
#[prost(message, repeated, tag="3")]
|
|
pub ribbon_unselected: ::prost::alloc::vec::Vec<Color>,
|
|
#[prost(message, repeated, tag="4")]
|
|
pub ribbon_selected: ::prost::alloc::vec::Vec<Color>,
|
|
#[prost(message, repeated, tag="5")]
|
|
pub table_title: ::prost::alloc::vec::Vec<Color>,
|
|
#[prost(message, repeated, tag="6")]
|
|
pub table_cell_unselected: ::prost::alloc::vec::Vec<Color>,
|
|
#[prost(message, repeated, tag="7")]
|
|
pub table_cell_selected: ::prost::alloc::vec::Vec<Color>,
|
|
#[prost(message, repeated, tag="8")]
|
|
pub list_unselected: ::prost::alloc::vec::Vec<Color>,
|
|
#[prost(message, repeated, tag="9")]
|
|
pub list_selected: ::prost::alloc::vec::Vec<Color>,
|
|
#[prost(message, repeated, tag="10")]
|
|
pub frame_unselected: ::prost::alloc::vec::Vec<Color>,
|
|
#[prost(message, repeated, tag="11")]
|
|
pub frame_selected: ::prost::alloc::vec::Vec<Color>,
|
|
#[prost(message, repeated, tag="12")]
|
|
pub frame_highlight: ::prost::alloc::vec::Vec<Color>,
|
|
#[prost(message, repeated, tag="13")]
|
|
pub exit_code_success: ::prost::alloc::vec::Vec<Color>,
|
|
#[prost(message, repeated, tag="14")]
|
|
pub exit_code_error: ::prost::alloc::vec::Vec<Color>,
|
|
#[prost(message, repeated, tag="15")]
|
|
pub multiplayer_user_colors: ::prost::alloc::vec::Vec<Color>,
|
|
}
|
|
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
|
|
#[repr(i32)]
|
|
pub enum ColorType {
|
|
Rgb = 0,
|
|
EightBit = 1,
|
|
}
|
|
impl ColorType {
|
|
/// 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 {
|
|
ColorType::Rgb => "Rgb",
|
|
ColorType::EightBit => "EightBit",
|
|
}
|
|
}
|
|
/// Creates an enum from field names used in the ProtoBuf definition.
|
|
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
|
|
match value {
|
|
"Rgb" => Some(Self::Rgb),
|
|
"EightBit" => Some(Self::EightBit),
|
|
_ => None,
|
|
}
|
|
}
|
|
}
|
|
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
|
|
#[repr(i32)]
|
|
pub enum ThemeHue {
|
|
Dark = 0,
|
|
Light = 1,
|
|
}
|
|
impl ThemeHue {
|
|
/// 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 {
|
|
ThemeHue::Dark => "Dark",
|
|
ThemeHue::Light => "Light",
|
|
}
|
|
}
|
|
/// Creates an enum from field names used in the ProtoBuf definition.
|
|
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
|
|
match value {
|
|
"Dark" => Some(Self::Dark),
|
|
"Light" => Some(Self::Light),
|
|
_ => None,
|
|
}
|
|
}
|
|
}
|