diff --git a/cosmic-settings/src/app.rs b/cosmic-settings/src/app.rs index 3413b5f..ca40408 100644 --- a/cosmic-settings/src/app.rs +++ b/cosmic-settings/src/app.rs @@ -61,9 +61,11 @@ impl SettingsApp { PageCommands::Appearance => self.pages.page_id::(), PageCommands::Bluetooth => None, PageCommands::DateTime => self.pages.page_id::(), + PageCommands::Desktop => self.pages.page_id::(), PageCommands::Displays => self.pages.page_id::(), PageCommands::Dock => self.pages.page_id::(), PageCommands::Firmware => self.pages.page_id::(), + PageCommands::Input => self.pages.page_id::(), PageCommands::Keyboard => self.pages.page_id::(), PageCommands::Mouse => self.pages.page_id::(), PageCommands::Network => None, @@ -71,6 +73,7 @@ impl SettingsApp { PageCommands::Power => self.pages.page_id::(), PageCommands::RegionLanguage => self.pages.page_id::(), PageCommands::Sound => self.pages.page_id::(), + PageCommands::System => self.pages.page_id::(), PageCommands::Time => self.pages.page_id::(), PageCommands::Touchpad => self.pages.page_id::(), PageCommands::Users => self.pages.page_id::(), @@ -307,6 +310,12 @@ impl cosmic::Application for SettingsApp { page::update!(self.pages, message, system::about::Page); } + crate::pages::Message::Appearance(message) => { + if let Some(page) = self.pages.page_mut::() { + return page.update(message).map(Into::into); + } + } + crate::pages::Message::DateAndTime(message) => { if let Some(page) = self.pages.page_mut::() { return page.update(message).map(Into::into); @@ -333,6 +342,22 @@ impl cosmic::Application for SettingsApp { } } + crate::pages::Message::Dock(message) => { + page::update!(self.pages, message, dock::Page); + } + + crate::pages::Message::DockApplet(message) => { + if let Some(page) = self.pages.page_mut::() { + return page.update(message).map(Into::into); + } + } + + crate::pages::Message::Input(message) => { + if let Some(page) = self.pages.page_mut::() { + return page.update(message).map(Into::into); + } + } + crate::pages::Message::Keyboard(message) => { if let Some(page) = self.pages.page_mut::() { return page.update(message).map(Into::into); @@ -405,12 +430,6 @@ impl cosmic::Application for SettingsApp { } } - crate::pages::Message::Input(message) => { - if let Some(page) = self.pages.page_mut::() { - return page.update(message).map(Into::into); - } - } - crate::pages::Message::External { .. } => { todo!("external plugins not supported yet"); } @@ -429,22 +448,6 @@ impl cosmic::Application for SettingsApp { } } - crate::pages::Message::Dock(message) => { - page::update!(self.pages, message, dock::Page); - } - - crate::pages::Message::DockApplet(message) => { - if let Some(page) = self.pages.page_mut::() { - return page.update(message).map(Into::into); - } - } - - crate::pages::Message::Appearance(message) => { - if let Some(page) = self.pages.page_mut::() { - return page.update(message).map(Into::into); - } - } - crate::pages::Message::Power(message) => { page::update!(self.pages, message, power::Page); } diff --git a/cosmic-settings/src/main.rs b/cosmic-settings/src/main.rs index e6e734c..f4b7db8 100644 --- a/cosmic-settings/src/main.rs +++ b/cosmic-settings/src/main.rs @@ -44,14 +44,18 @@ pub enum PageCommands { Appearance, /// Bluetooth settings page Bluetooth, - /// DateTime settings page + /// Date & Time settings page DateTime, + /// Desktop settings page + Desktop, /// Displays settings page Displays, /// Dock settings page Dock, /// Firmware settings page Firmware, + /// Input Devices settings page + Input, /// Keyboard settings page Keyboard, /// Mouse settings page @@ -66,7 +70,9 @@ pub enum PageCommands { RegionLanguage, /// Sound settings page Sound, - /// Time settings page + /// System & Accounts settings page + System, + /// Time & Language settings page Time, /// Touchpad settings page Touchpad, @@ -74,7 +80,7 @@ pub enum PageCommands { Users, /// Wallpaper settings page Wallpaper, - /// Window management page + /// Window management settings page WindowManagement, /// Workspaces settings page Workspaces, diff --git a/debian/install b/debian/install index 9dad5cd..b00cfe5 100644 --- a/debian/install +++ b/debian/install @@ -3,9 +3,11 @@ /usr/share/applications/com.system76.CosmicSettings.Appearance.desktop /usr/share/applications/com.system76.CosmicSettings.DateTime.desktop /usr/share/applications/com.system76.CosmicSettings.desktop +/usr/share/applications/com.system76.CosmicSettings.Desktop.desktop /usr/share/applications/com.system76.CosmicSettings.Displays.desktop /usr/share/applications/com.system76.CosmicSettings.Dock.desktop /usr/share/applications/com.system76.CosmicSettings.Firmware.desktop +/usr/share/applications/com.system76.CosmicSettings.Input.desktop /usr/share/applications/com.system76.CosmicSettings.Keyboard.desktop /usr/share/applications/com.system76.CosmicSettings.Mouse.desktop /usr/share/applications/com.system76.CosmicSettings.Notifications.desktop @@ -13,6 +15,8 @@ /usr/share/applications/com.system76.CosmicSettings.Power.desktop /usr/share/applications/com.system76.CosmicSettings.RegionLanguage.desktop /usr/share/applications/com.system76.CosmicSettings.Sound.desktop +/usr/share/applications/com.system76.CosmicSettings.System.desktop +/usr/share/applications/com.system76.CosmicSettings.Time.desktop /usr/share/applications/com.system76.CosmicSettings.Touchpad.desktop /usr/share/applications/com.system76.CosmicSettings.Users.desktop /usr/share/applications/com.system76.CosmicSettings.Wallpaper.desktop diff --git a/justfile b/justfile index e6c898f..31abaf9 100644 --- a/justfile +++ b/justfile @@ -28,9 +28,11 @@ entry-settings := appid + '.desktop' entry-about := appid + '.About.desktop' entry-appear := appid + '.Appearance.desktop' entry-date-time := appid + '.DateTime.desktop' +entry-desktop := appid + '.Desktop.desktop' entry-displays := appid + '.Displays.desktop' entry-dock := appid + '.Dock.desktop' entry-firmware := appid + '.Firmware.desktop' +entry-input := appid + '.Input.desktop' entry-keyboard := appid + '.Keyboard.desktop' entry-mouse := appid + '.Mouse.desktop' entry-notifications := appid + '.Notifications.desktop' @@ -38,6 +40,8 @@ entry-panel := appid + '.Panel.desktop' entry-power := appid + '.Power.desktop' entry-region-language := appid + '.RegionLanguage.desktop' entry-sound := appid + '.Sound.desktop' +entry-system := appid + '.System.desktop' +entry-time := appid + '.Time.desktop' entry-touchpad := appid + '.Touchpad.desktop' entry-users := appid + '.Users.desktop' entry-wallpaper := appid + '.Wallpaper.desktop' @@ -54,9 +58,11 @@ install-desktop-entries: install -Dm0644 'resources/{{entry-about}}' '{{appdir}}/{{entry-about}}' install -Dm0644 'resources/{{entry-appear}}' '{{appdir}}/{{entry-appear}}' install -Dm0644 'resources/{{entry-date-time}}' '{{appdir}}/{{entry-date-time}}' + install -Dm0644 'resources/{{entry-desktop}}' '{{appdir}}/{{entry-desktop}}' install -Dm0644 'resources/{{entry-displays}}' '{{appdir}}/{{entry-displays}}' install -Dm0644 'resources/{{entry-dock}}' '{{appdir}}/{{entry-dock}}' install -Dm0644 'resources/{{entry-firmware}}' '{{appdir}}/{{entry-firmware}}' + install -Dm0644 'resources/{{entry-input}}' '{{appdir}}/{{entry-input}}' install -Dm0644 'resources/{{entry-keyboard}}' '{{appdir}}/{{entry-keyboard}}' install -Dm0644 'resources/{{entry-mouse}}' '{{appdir}}/{{entry-mouse}}' install -Dm0644 'resources/{{entry-notifications}}' '{{appdir}}/{{entry-notifications}}' @@ -64,6 +70,8 @@ install-desktop-entries: install -Dm0644 'resources/{{entry-power}}' '{{appdir}}/{{entry-power}}' install -Dm0644 'resources/{{entry-region-language}}' '{{appdir}}/{{entry-region-language}}' install -Dm0644 'resources/{{entry-sound}}' '{{appdir}}/{{entry-sound}}' + install -Dm0644 'resources/{{entry-system}}' '{{appdir}}/{{entry-system}}' + install -Dm0644 'resources/{{entry-time}}' '{{appdir}}/{{entry-time}}' install -Dm0644 'resources/{{entry-touchpad}}' '{{appdir}}/{{entry-touchpad}}' install -Dm0644 'resources/{{entry-users}}' '{{appdir}}/{{entry-users}}' install -Dm0644 'resources/{{entry-wallpaper}}' '{{appdir}}/{{entry-wallpaper}}' @@ -92,9 +100,11 @@ uninstall: '{{appdir}}/{{entry-about}}' \ '{{appdir}}/{{entry-appear}}' \ '{{appdir}}/{{entry-date-time}}' \ + '{{appdir}}/{{entry-desktop}}' \ '{{appdir}}/{{entry-displays}}' \ '{{appdir}}/{{entry-dock}}' \ '{{appdir}}/{{entry-firmware}}' \ + '{{appdir}}/{{entry-input}}' \ '{{appdir}}/{{entry-keyboard}}' \ '{{appdir}}/{{entry-mouse}}' \ '{{appdir}}/{{entry-notifications}}' \ @@ -102,6 +112,8 @@ uninstall: '{{appdir}}/{{entry-power}}' \ '{{appdir}}/{{entry-region-language}}' \ '{{appdir}}/{{entry-sound}}' \ + '{{appdir}}/{{entry-system}}' \ + '{{appdir}}/{{entry-time}}' \ '{{appdir}}/{{entry-touchpad}}' \ '{{appdir}}/{{entry-users}}' \ '{{appdir}}/{{entry-wallpaper}}' \ diff --git a/resources/com.system76.CosmicSettings.Desktop.desktop b/resources/com.system76.CosmicSettings.Desktop.desktop new file mode 100644 index 0000000..5d96c65 --- /dev/null +++ b/resources/com.system76.CosmicSettings.Desktop.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Name=Desktop +Comment= +Type=Settings +Exec=cosmic-settings desktop +Terminal=false +Categories=COSMIC +Keywords=COSMIC +NoDisplay=true +OnlyShowIn=COSMIC +Icon=preferences-desktop +StartupNotify=true diff --git a/resources/com.system76.CosmicSettings.Input.desktop b/resources/com.system76.CosmicSettings.Input.desktop new file mode 100644 index 0000000..32c95cc --- /dev/null +++ b/resources/com.system76.CosmicSettings.Input.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Name=Input Devices +Comment= +Type=Settings +Exec=cosmic-settings input +Terminal=false +Categories=COSMIC +Keywords=COSMIC +NoDisplay=true +OnlyShowIn=COSMIC +Icon=preferences-input-devices +StartupNotify=true diff --git a/resources/com.system76.CosmicSettings.System.desktop b/resources/com.system76.CosmicSettings.System.desktop new file mode 100644 index 0000000..599d361 --- /dev/null +++ b/resources/com.system76.CosmicSettings.System.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Name=System & Accounts +Comment= +Type=Settings +Exec=cosmic-settings system +Terminal=false +Categories=COSMIC +Keywords=COSMIC +NoDisplay=true +OnlyShowIn=COSMIC +Icon=preferences-system-and-accounts +StartupNotify=true diff --git a/resources/com.system76.CosmicSettings.Time.desktop b/resources/com.system76.CosmicSettings.Time.desktop new file mode 100644 index 0000000..8786ac0 --- /dev/null +++ b/resources/com.system76.CosmicSettings.Time.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Name=Time & Language +Comment= +Type=Settings +Exec=cosmic-settings time +Terminal=false +Categories=COSMIC +Keywords=COSMIC +NoDisplay=true +OnlyShowIn=COSMIC +Icon=preferences-time-and-language +StartupNotify=true