Refine notification center and configure native notifications
Keep notification actions and dismiss controls visible, compact and animate history, and add themed icon controls and grouping. Include notification settings, session integration and documentation, on-demand workspaces, and performance baseline notes.
This commit is contained in:
1 parent
a98d7a75c3
commit
ab6bf8b961
16 files changed
+921
-123
No files matched your search
@@ -15,6 +15,8 @@ use crate::window_rules::{self, WindowRule, WindowRuleConfig};
|
||||
|
||||
#[derive(Debug, Default, Deserialize)]
|
||||
pub struct Config {
|
||||
#[serde(default)]
|
||||
notifications: ferese_core::notifications::NotificationConfig,
|
||||
#[serde(default)]
|
||||
desktop_widgets: ferese_core::desktop::DesktopWidgets,
|
||||
#[serde(default)]
|
||||
@@ -271,6 +273,9 @@ impl Config {
|
||||
}
|
||||
|
||||
pub(crate) fn runtime_config(&self) -> Result<crate::RuntimeConfig, ConfigError> {
|
||||
self.notifications
|
||||
.validate()
|
||||
.map_err(ConfigError::InvalidBinding)?;
|
||||
self.desktop_widgets
|
||||
.validate()
|
||||
.map_err(ConfigError::InvalidBinding)?;
|
||||
|
||||
@@ -507,6 +507,17 @@ impl Ferese {
|
||||
.map(|workspace| workspace.id)
|
||||
{
|
||||
self.activate_managed_workspace(workspace);
|
||||
} else if next {
|
||||
let next_number = self
|
||||
.workspaces
|
||||
.iter()
|
||||
.filter_map(|workspace| workspace.name.parse::<u32>().ok())
|
||||
.max()
|
||||
.unwrap_or(1)
|
||||
.checked_add(1);
|
||||
if let Some(number) = next_number {
|
||||
self.switch_workspace(number);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -690,11 +690,6 @@ impl Ferese {
|
||||
xdg_shell_state,
|
||||
xdg_toplevel_icon_manager,
|
||||
};
|
||||
// Keep the numbered shortcuts and bar selectors available from startup,
|
||||
// including empty workspaces that have not been assigned to an output.
|
||||
for index in 1..=9 {
|
||||
state.workspaces.ensure_numeric(index)?;
|
||||
}
|
||||
state._ipc_socket = Some(crate::ipc::init(event_loop)?);
|
||||
Ok(state)
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user