Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
X
ximper-shell-notification-center
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Ximper Linux
ximper-shell-notification-center
Commits
2ad20060
Verified
Commit
2ad20060
authored
May 25, 2026
by
Kirill Unitsaev
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
client: describe notification center metadata
parent
32c90270
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
154 additions
and
3 deletions
+154
-3
client.vala
src/client.vala
+0
-0
configSchema.json
src/configSchema.json
+148
-3
constants.vala.in
src/constants.vala.in
+3
-0
meson.build
src/meson.build
+3
-0
No files found.
src/client.vala
View file @
2ad20060
This diff is collapsed.
Click to expand it.
src/configSchema.json
View file @
2ad20060
...
...
@@ -3,6 +3,150 @@
"title"
:
"XimperShellNotificationCenter JSON schema"
,
"type"
:
"object"
,
"additionalProperties"
:
false
,
"x-ximper-options"
:
{
"reload-command"
:
"ximper-shell-notification-center-client --reload-config"
,
"config-path"
:
"~/.config/ximper-shell/notification-center/config.json"
,
"style-path"
:
"~/.config/ximper-shell/notification-center/style.css"
},
"x-ximper-widgets"
:
[
{
"type"
:
"backlight"
,
"title"
:
"Backlight"
,
"description"
:
"Unified display, DDC/CI monitor, and keyboard brightness control"
,
"repeatable"
:
true
,
"config-ref"
:
"#/widgets/backlight"
},
{
"type"
:
"volume"
,
"title"
:
"Volume"
,
"description"
:
"PulseAudio volume control"
,
"repeatable"
:
true
,
"config-ref"
:
"#/widgets/volume"
,
"optional-feature"
:
"pulse-audio"
},
{
"type"
:
"quick-settings"
,
"title"
:
"Quick Settings"
,
"description"
:
"GNOME-style quick settings toggle tiles"
,
"repeatable"
:
true
,
"config-ref"
:
"#/widgets/quick-settings"
},
{
"type"
:
"inhibitors"
,
"title"
:
"Inhibitors"
,
"description"
:
"Notification center inhibitors"
,
"repeatable"
:
true
,
"config-ref"
:
"#/widgets/inhibitors"
},
{
"type"
:
"mpris"
,
"title"
:
"MPRIS"
,
"description"
:
"Media player controls"
,
"repeatable"
:
true
,
"config-ref"
:
"#/widgets/mpris"
},
{
"type"
:
"notifications"
,
"title"
:
"Notifications"
,
"description"
:
"Notification history"
,
"repeatable"
:
false
,
"config-ref"
:
"#/widgets/notifications"
},
{
"type"
:
"label"
,
"title"
:
"Label"
,
"description"
:
"Custom text label"
,
"repeatable"
:
true
,
"config-ref"
:
"#/widgets/label"
}
],
"x-ximper-quick-settings-tiles"
:
[
{
"type"
:
"wifi"
,
"title"
:
"Wi-Fi"
,
"description"
:
"Wi-Fi control through NetworkManager"
,
"repeatable"
:
false
},
{
"type"
:
"vpn"
,
"title"
:
"VPN"
,
"description"
:
"VPN control through NetworkManager"
,
"repeatable"
:
false
},
{
"type"
:
"bluetooth"
,
"title"
:
"Bluetooth"
,
"description"
:
"Bluetooth control through BlueZ"
,
"repeatable"
:
false
},
{
"type"
:
"power-profiles"
,
"title"
:
"Power Profiles"
,
"description"
:
"Power profile switching through power-profiles-daemon"
,
"repeatable"
:
false
},
{
"type"
:
"dnd"
,
"title"
:
"Do Not Disturb"
,
"description"
:
"Notification Do Not Disturb toggle"
,
"repeatable"
:
false
,
"requires-widget"
:
"notifications"
},
{
"type"
:
"dark-mode"
,
"title"
:
"Dark Mode"
,
"description"
:
"GNOME color scheme toggle"
,
"repeatable"
:
false
},
{
"type"
:
"night-light"
,
"title"
:
"Night Light"
,
"description"
:
"Night light control through hyprsunset"
,
"repeatable"
:
false
,
"properties"
:
{
"temperature"
:
{
"type"
:
"integer"
,
"description"
:
"Color temperature in Kelvin"
,
"default"
:
4500
}
}
},
{
"type"
:
"caffeine"
,
"title"
:
"Caffeine"
,
"description"
:
"Idle inhibitor toggle through logind"
,
"repeatable"
:
false
},
{
"type"
:
"command"
,
"title"
:
"Command"
,
"description"
:
"Custom command toggle"
,
"repeatable"
:
true
,
"properties"
:
{
"label"
:
{
"type"
:
"string"
,
"description"
:
"Button label"
},
"icon"
:
{
"type"
:
"string"
,
"description"
:
"Icon name"
},
"command"
:
{
"type"
:
"string"
,
"description"
:
"Command to run on toggle"
},
"update-command"
:
{
"type"
:
"string"
,
"description"
:
"Command to check state when control center opens"
},
"active"
:
{
"type"
:
"boolean"
,
"description"
:
"Initial active state"
,
"default"
:
false
}
}
}
],
"properties"
:
{
"$schema"
:
{
"type"
:
"string"
,
...
...
@@ -28,7 +172,8 @@
"layer-shell"
:
{
"type"
:
"boolean"
,
"description"
:
"Whether or not the windows should be opened as layer-shell surfaces. Note: Requires ximper-shell-notification-center restart to apply"
,
"default"
:
true
"default"
:
true
,
"x-ximper-requires-restart"
:
true
},
"layer-shell-cover-screen"
:
{
"type"
:
"boolean"
,
...
...
@@ -230,8 +375,8 @@
"widgets"
:
{
"type"
:
"array"
,
"uniqueItems"
:
true
,
"description"
:
"Which order and which widgets to display.
If the
\"
notifications
\"
widget isn't specified, it will be placed at the bottom.
"
,
"default"
:
[
"
inhibitors"
,
"title
"
,
"notifications"
],
"description"
:
"Which order and which widgets to display."
,
"default"
:
[
"
backlight"
,
"volume"
,
"quick-settings"
,
"inhibitors"
,
"mpris
"
,
"notifications"
],
"items"
:
{
"type"
:
"string"
,
"$comment"
:
"Sadly can't use regex and enums at the same time. Fix in the future?"
,
...
...
src/constants.vala.in
View file @
2ad20060
...
...
@@ -3,5 +3,8 @@ public class Constants {
public const string VERSIONNUM = @VERSION_NUM@;
public const string GETTEXT_PACKAGE = @GETTEXT_PACKAGE@;
public const string LOCALEDIR = @LOCALEDIR@;
public const string CONFIG_PATH = @CONFIG_PATH@;
public const string CONFIG_SCHEMA_PATH = @CONFIG_SCHEMA_PATH@;
public const string STYLE_PATH = @STYLE_PATH@;
public const uint ANIMATION_DURATION = 400;
}
src/meson.build
View file @
2ad20060
...
...
@@ -18,6 +18,9 @@ const_config_data.set_quoted('VERSION', version)
const_config_data.set_quoted('VERSION_NUM', meson.project_version())
const_config_data.set_quoted('GETTEXT_PACKAGE', meson.project_name())
const_config_data.set_quoted('LOCALEDIR', get_option('prefix') / get_option('localedir'))
const_config_data.set_quoted('CONFIG_PATH', join_paths('/', config_path, 'config.json'))
const_config_data.set_quoted('CONFIG_SCHEMA_PATH', join_paths('/', config_path, 'configSchema.json'))
const_config_data.set_quoted('STYLE_PATH', join_paths('/', config_path, 'style.css'))
constants = configure_file(
input : 'constants.vala.in',
output : 'constants.vala',
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment