feat: implement declarative scratchpads
This commit is contained in:
parent
d756c8a6a2
commit
b6502e1d8a
17 changed files with 549 additions and 78 deletions
|
|
@ -648,6 +648,10 @@ impl ConfigClient {
|
|||
self.send(&ClientMessage::SeatToggleScratchpad { seat, name });
|
||||
}
|
||||
|
||||
pub fn seat_cycle_scratchpad(&self, seat: Seat, name: &str) {
|
||||
self.send(&ClientMessage::SeatCycleScratchpad { seat, name });
|
||||
}
|
||||
|
||||
pub fn window_send_to_scratchpad(&self, window: Window, name: &str) {
|
||||
self.send(&ClientMessage::WindowSendToScratchpad { window, name });
|
||||
}
|
||||
|
|
|
|||
|
|
@ -294,6 +294,10 @@ pub enum ClientMessage<'a> {
|
|||
seat: Seat,
|
||||
name: &'a str,
|
||||
},
|
||||
SeatCycleScratchpad {
|
||||
seat: Seat,
|
||||
name: &'a str,
|
||||
},
|
||||
GetTimer {
|
||||
name: &'a str,
|
||||
},
|
||||
|
|
|
|||
|
|
@ -477,11 +477,22 @@ impl Seat {
|
|||
///
|
||||
/// If the scratchpad has a visible window, that window is hidden. Otherwise, the
|
||||
/// most recently hidden window in the scratchpad is shown on the current workspace.
|
||||
/// Scratchpad windows are always shown floating.
|
||||
/// Use an empty string for the default scratchpad.
|
||||
pub fn toggle_scratchpad(self, name: &str) {
|
||||
get!().seat_toggle_scratchpad(self, name)
|
||||
}
|
||||
|
||||
/// Cycles through the windows of a scratchpad, one at a time.
|
||||
///
|
||||
/// With nothing shown, the first window is brought up; each further invocation
|
||||
/// hides the current window and shows the next; after the last window the
|
||||
/// scratchpad is hidden again. Scratchpad windows are always shown floating.
|
||||
/// Use an empty string for the default scratchpad.
|
||||
pub fn cycle_scratchpad(self, name: &str) {
|
||||
get!().seat_cycle_scratchpad(self, name)
|
||||
}
|
||||
|
||||
/// Toggles whether the currently focused window is fullscreen.
|
||||
pub fn toggle_fullscreen(self) {
|
||||
let c = get!();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue