config: rename criterion payload types
This commit is contained in:
parent
a8176b96c3
commit
f9e8d614ce
4 changed files with 75 additions and 75 deletions
|
|
@ -62,7 +62,7 @@ pub struct PollableId(pub u64);
|
|||
pub const DEFAULT_SEAT_NAME: &str = "default";
|
||||
|
||||
#[derive(Serialize, Deserialize, Clone, Debug, Hash, Eq, PartialEq)]
|
||||
pub enum GenericCriterionIpc<T> {
|
||||
pub enum GenericCriterionPayload<T> {
|
||||
Matcher(T),
|
||||
Not(T),
|
||||
List { list: Vec<T>, all: bool },
|
||||
|
|
@ -70,8 +70,8 @@ pub enum GenericCriterionIpc<T> {
|
|||
}
|
||||
|
||||
#[derive(Serialize, Deserialize, Clone, Debug, Hash, Eq, PartialEq)]
|
||||
pub enum ClientCriterionIpc {
|
||||
Generic(GenericCriterionIpc<ClientMatcher>),
|
||||
pub enum ClientCriterionPayload {
|
||||
Generic(GenericCriterionPayload<ClientMatcher>),
|
||||
String {
|
||||
string: String,
|
||||
field: ClientCriterionStringField,
|
||||
|
|
@ -93,8 +93,8 @@ pub enum ClientCriterionStringField {
|
|||
}
|
||||
|
||||
#[derive(Serialize, Deserialize, Clone, Debug, Hash, Eq, PartialEq)]
|
||||
pub enum WindowCriterionIpc {
|
||||
Generic(GenericCriterionIpc<WindowMatcher>),
|
||||
pub enum WindowCriterionPayload {
|
||||
Generic(GenericCriterionPayload<WindowMatcher>),
|
||||
String {
|
||||
string: String,
|
||||
field: WindowCriterionStringField,
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@
|
|||
use {
|
||||
crate::{
|
||||
_private::{
|
||||
ClientCriterionIpc, ClientCriterionStringField, GenericCriterionIpc, PollableId,
|
||||
ServerHandler, Unref, WindowCriterionIpc, WindowCriterionStringField, WireMode,
|
||||
ClientCriterionPayload, ClientCriterionStringField, GenericCriterionPayload, PollableId,
|
||||
ServerHandler, Unref, WindowCriterionPayload, WindowCriterionStringField, WireMode,
|
||||
messages::{
|
||||
ClientMessage, InitMessage, Response, ServerFeature, ServerMessage, WorkspaceSource,
|
||||
},
|
||||
|
|
@ -1689,7 +1689,7 @@ impl ConfigClient {
|
|||
criterion: GenericCriterion<'_, Crit, Matcher>,
|
||||
child: bool,
|
||||
create_child_matcher: impl Fn(Crit) -> (Matcher, bool),
|
||||
create_matcher: impl Fn(GenericCriterionIpc<Matcher>) -> Matcher,
|
||||
create_matcher: impl Fn(GenericCriterionPayload<Matcher>) -> Matcher,
|
||||
destroy_matcher: impl Fn(Matcher),
|
||||
) -> (Matcher, bool)
|
||||
where
|
||||
|
|
@ -1716,18 +1716,18 @@ impl ConfigClient {
|
|||
if child {
|
||||
return (m, false);
|
||||
}
|
||||
GenericCriterionIpc::Matcher(m)
|
||||
GenericCriterionPayload::Matcher(m)
|
||||
}
|
||||
GenericCriterion::Not(c) => GenericCriterionIpc::Not(create_child_matcher(*c)),
|
||||
GenericCriterion::All(l) => GenericCriterionIpc::List {
|
||||
GenericCriterion::Not(c) => GenericCriterionPayload::Not(create_child_matcher(*c)),
|
||||
GenericCriterion::All(l) => GenericCriterionPayload::List {
|
||||
list: create_vec(l),
|
||||
all: true,
|
||||
},
|
||||
GenericCriterion::Any(l) => GenericCriterionIpc::List {
|
||||
GenericCriterion::Any(l) => GenericCriterionPayload::List {
|
||||
list: create_vec(l),
|
||||
all: false,
|
||||
},
|
||||
GenericCriterion::Exactly(num, l) => GenericCriterionIpc::Exactly {
|
||||
GenericCriterion::Exactly(num, l) => GenericCriterionPayload::Exactly {
|
||||
list: create_vec(l),
|
||||
num,
|
||||
},
|
||||
|
|
@ -1750,7 +1750,7 @@ impl ConfigClient {
|
|||
) -> (ClientMatcher, bool) {
|
||||
macro_rules! string {
|
||||
($t:expr, $field:ident, $regex:expr) => {
|
||||
ClientCriterionIpc::String {
|
||||
ClientCriterionPayload::String {
|
||||
string: $t.to_string(),
|
||||
field: ClientCriterionStringField::$field,
|
||||
regex: $regex,
|
||||
|
|
@ -1759,7 +1759,7 @@ impl ConfigClient {
|
|||
}
|
||||
let create_matcher = |criterion| {
|
||||
let res = self.send_with_response(&ClientMessage::CreateClientMatcher {
|
||||
criterion: ClientCriterionIpc::Generic(criterion),
|
||||
criterion: ClientCriterionPayload::Generic(criterion),
|
||||
});
|
||||
get_response!(res, ClientMatcher(0), CreateClientMatcher { matcher });
|
||||
matcher
|
||||
|
|
@ -1788,10 +1788,10 @@ impl ConfigClient {
|
|||
ClientCriterion::SandboxAppIdRegex(t) => string!(t, SandboxAppId, true),
|
||||
ClientCriterion::SandboxInstanceId(t) => string!(t, SandboxInstanceId, false),
|
||||
ClientCriterion::SandboxInstanceIdRegex(t) => string!(t, SandboxInstanceId, true),
|
||||
ClientCriterion::Sandboxed => ClientCriterionIpc::Sandboxed,
|
||||
ClientCriterion::Uid(p) => ClientCriterionIpc::Uid(p),
|
||||
ClientCriterion::Pid(p) => ClientCriterionIpc::Pid(p),
|
||||
ClientCriterion::IsXwayland => ClientCriterionIpc::IsXwayland,
|
||||
ClientCriterion::Sandboxed => ClientCriterionPayload::Sandboxed,
|
||||
ClientCriterion::Uid(p) => ClientCriterionPayload::Uid(p),
|
||||
ClientCriterion::Pid(p) => ClientCriterionPayload::Pid(p),
|
||||
ClientCriterion::IsXwayland => ClientCriterionPayload::IsXwayland,
|
||||
ClientCriterion::Comm(t) => string!(t, Comm, false),
|
||||
ClientCriterion::CommRegex(t) => string!(t, Comm, true),
|
||||
ClientCriterion::Exe(t) => string!(t, Exe, false),
|
||||
|
|
@ -1851,7 +1851,7 @@ impl ConfigClient {
|
|||
) -> (WindowMatcher, bool) {
|
||||
macro_rules! string {
|
||||
($t:expr, $field:ident, $regex:expr) => {
|
||||
WindowCriterionIpc::String {
|
||||
WindowCriterionPayload::String {
|
||||
string: $t.to_string(),
|
||||
field: WindowCriterionStringField::$field,
|
||||
regex: $regex,
|
||||
|
|
@ -1860,7 +1860,7 @@ impl ConfigClient {
|
|||
}
|
||||
let create_matcher = |criterion| {
|
||||
let res = self.send_with_response(&ClientMessage::CreateWindowMatcher {
|
||||
criterion: WindowCriterionIpc::Generic(criterion),
|
||||
criterion: WindowCriterionPayload::Generic(criterion),
|
||||
});
|
||||
get_response!(res, WindowMatcher(0), CreateWindowMatcher { matcher });
|
||||
matcher
|
||||
|
|
@ -1884,24 +1884,24 @@ impl ConfigClient {
|
|||
WindowCriterion::All(c) => return generic(GenericCriterion::All(c)),
|
||||
WindowCriterion::Any(c) => return generic(GenericCriterion::Any(c)),
|
||||
WindowCriterion::Exactly(n, c) => return generic(GenericCriterion::Exactly(n, c)),
|
||||
WindowCriterion::Types(t) => WindowCriterionIpc::Types(t),
|
||||
WindowCriterion::Types(t) => WindowCriterionPayload::Types(t),
|
||||
WindowCriterion::Client(c) => {
|
||||
let (matcher, original) = self.create_client_matcher_(*c, true);
|
||||
if original {
|
||||
_destroy_client_matcher = on_drop(move || matcher.destroy());
|
||||
}
|
||||
WindowCriterionIpc::Client(matcher)
|
||||
WindowCriterionPayload::Client(matcher)
|
||||
}
|
||||
WindowCriterion::Title(t) => string!(t, Title, false),
|
||||
WindowCriterion::TitleRegex(t) => string!(t, Title, true),
|
||||
WindowCriterion::AppId(t) => string!(t, AppId, false),
|
||||
WindowCriterion::AppIdRegex(t) => string!(t, AppId, true),
|
||||
WindowCriterion::Floating => WindowCriterionIpc::Floating,
|
||||
WindowCriterion::Visible => WindowCriterionIpc::Visible,
|
||||
WindowCriterion::Urgent => WindowCriterionIpc::Urgent,
|
||||
WindowCriterion::Focus(seat) => WindowCriterionIpc::SeatFocus(seat),
|
||||
WindowCriterion::Fullscreen => WindowCriterionIpc::Fullscreen,
|
||||
WindowCriterion::JustMapped => WindowCriterionIpc::JustMapped,
|
||||
WindowCriterion::Floating => WindowCriterionPayload::Floating,
|
||||
WindowCriterion::Visible => WindowCriterionPayload::Visible,
|
||||
WindowCriterion::Urgent => WindowCriterionPayload::Urgent,
|
||||
WindowCriterion::Focus(seat) => WindowCriterionPayload::SeatFocus(seat),
|
||||
WindowCriterion::Fullscreen => WindowCriterionPayload::Fullscreen,
|
||||
WindowCriterion::JustMapped => WindowCriterionPayload::JustMapped,
|
||||
WindowCriterion::Tag(t) => string!(t, Tag, false),
|
||||
WindowCriterion::TagRegex(t) => string!(t, Tag, true),
|
||||
WindowCriterion::XClass(t) => string!(t, XClass, false),
|
||||
|
|
@ -1910,10 +1910,10 @@ impl ConfigClient {
|
|||
WindowCriterion::XInstanceRegex(t) => string!(t, XInstance, true),
|
||||
WindowCriterion::XRole(t) => string!(t, XRole, false),
|
||||
WindowCriterion::XRoleRegex(t) => string!(t, XRole, true),
|
||||
WindowCriterion::Workspace(t) => WindowCriterionIpc::Workspace(t),
|
||||
WindowCriterion::Workspace(t) => WindowCriterionPayload::Workspace(t),
|
||||
WindowCriterion::WorkspaceName(t) => string!(t, Workspace, false),
|
||||
WindowCriterion::WorkspaceNameRegex(t) => string!(t, Workspace, true),
|
||||
WindowCriterion::ContentTypes(t) => WindowCriterionIpc::ContentTypes(t),
|
||||
WindowCriterion::ContentTypes(t) => WindowCriterionPayload::ContentTypes(t),
|
||||
};
|
||||
let res = self.send_with_response(&ClientMessage::CreateWindowMatcher { criterion });
|
||||
get_response!(
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
use {
|
||||
crate::{
|
||||
_private::{ClientCriterionIpc, PollableId, WindowCriterionIpc, WireMode},
|
||||
_private::{ClientCriterionPayload, PollableId, WindowCriterionPayload, WireMode},
|
||||
Axis, Direction, PciId, Workspace,
|
||||
client::{Client, ClientMatcher},
|
||||
input::{
|
||||
|
|
@ -707,7 +707,7 @@ pub enum ClientMessage<'a> {
|
|||
pinned: bool,
|
||||
},
|
||||
CreateClientMatcher {
|
||||
criterion: ClientCriterionIpc,
|
||||
criterion: ClientCriterionPayload,
|
||||
},
|
||||
DestroyClientMatcher {
|
||||
matcher: ClientMatcher,
|
||||
|
|
@ -716,7 +716,7 @@ pub enum ClientMessage<'a> {
|
|||
matcher: ClientMatcher,
|
||||
},
|
||||
CreateWindowMatcher {
|
||||
criterion: WindowCriterionIpc,
|
||||
criterion: WindowCriterionPayload,
|
||||
},
|
||||
DestroyWindowMatcher {
|
||||
matcher: WindowMatcher,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue