Configuration

Struct Configuration 

Source
pub struct Configuration {
Show 26 fields pub primary_modifier: Option<Modifier>, pub custom_key_actions: Option<Vec<CustomKeyAction>>, pub default_action_overrides: Option<Vec<BuiltInKeyCommandOverride>>, pub inner_gaps: Option<Gaps>, pub outer_gaps: Option<Gaps>, pub startup_apps: Option<Vec<StartupApp>>, pub terminal: Option<String>, pub resize_jump: Option<i32>, pub environment_variables: Option<Vec<EnvironmentVariable>>, pub border: Option<BorderConfig>, pub workspaces: Option<Vec<WorkspaceConfig>>, pub animations: Option<Vec<AnimationDefinition>>, pub enable_animations: Option<bool>, pub move_modifier: Option<Vec<Modifier>>, pub drag_and_drop: Option<DragAndDropConfiguration>, pub mouse: Option<MouseConfiguration>, pub touchpad: Option<TouchpadConfiguration>, pub keyboard: Option<KeyboardConfiguration>, pub hover_click: Option<HoverClickConfiguration>, pub simulated_secondary_click: Option<SimulatedSecondaryClickConfiguration>, pub output_filter: Option<OutputFilterConfiguration>, pub cursor: Option<CursorConfiguration>, pub slow_keys: Option<SlowKeysConfiguration>, pub sticky_keys: Option<StickyKeysConfiguration>, pub magnifier: Option<MagnifierConfiguration>, pub workspace_back_and_forth: Option<bool>,
}
Expand description

Configuration overrides that a plugin may return from [Plugin::configure].

Every field is optional. None means “do not override this value”. The compositor merges all loaded plugins’ results and then merges the combined result with the file-based configuration (plugin values win on conflict).

The plugins and includes keys of the compositor config cannot be set by plugins and are intentionally absent from this struct.

Fields§

§primary_modifier: Option<Modifier>

The primary modifier key (e.g. Modifier::Meta for the Super/Windows key).

§custom_key_actions: Option<Vec<CustomKeyAction>>

Custom key bindings that run shell commands.

§default_action_overrides: Option<Vec<BuiltInKeyCommandOverride>>

Overrides for built-in compositor key bindings.

§inner_gaps: Option<Gaps>

Inner (between windows) gap size.

§outer_gaps: Option<Gaps>

Outer (screen edge) gap size.

§startup_apps: Option<Vec<StartupApp>>

Applications to launch on startup.

§terminal: Option<String>

Override the default terminal emulator command.

§resize_jump: Option<i32>

Pixel amount to jump when resizing with keyboard shortcuts.

§environment_variables: Option<Vec<EnvironmentVariable>>

Extra environment variables to set in the compositor process.

§border: Option<BorderConfig>

Window border appearance.

§workspaces: Option<Vec<WorkspaceConfig>>

Workspace layout definitions.

§animations: Option<Vec<AnimationDefinition>>

Animation definitions per event. Each entry names an event plus the definition.

§enable_animations: Option<bool>

Whether animations are globally enabled.

§move_modifier: Option<Vec<Modifier>>

The modifier keys used for window move operations. Use vec![Modifier::Primary] to follow the user’s primary modifier.

§drag_and_drop: Option<DragAndDropConfiguration>

Drag-and-drop behaviour.

§mouse: Option<MouseConfiguration>

Mouse pointer settings.

§touchpad: Option<TouchpadConfiguration>

Touchpad settings.

§keyboard: Option<KeyboardConfiguration>

Keyboard repeat rate, delay, and keymap.

§hover_click: Option<HoverClickConfiguration>

Hover-click (dwell click) accessibility feature.

§simulated_secondary_click: Option<SimulatedSecondaryClickConfiguration>

Simulated secondary click accessibility feature.

§output_filter: Option<OutputFilterConfiguration>

Output (display) post-processing filter.

§cursor: Option<CursorConfiguration>

Cursor appearance and focus behaviour.

§slow_keys: Option<SlowKeysConfiguration>

Slow keys accessibility feature.

§sticky_keys: Option<StickyKeysConfiguration>

Sticky keys accessibility feature.

§magnifier: Option<MagnifierConfiguration>

Screen magnifier.

§workspace_back_and_forth: Option<bool>

Whether switching to the current workspace goes back to the previous one.

Trait Implementations§

Source§

impl Clone for Configuration

Source§

fn clone(&self) -> Configuration

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Configuration

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Configuration

Source§

fn default() -> Configuration

Returns the “default value” for a type. Read more
Source§

impl Serialize for Configuration

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.