Install battery applet, and make it work in the panel
This commit is contained in:
parent
ad1707a541
commit
14101dc7db
13 changed files with 89 additions and 5 deletions
|
|
@ -13,5 +13,5 @@ members = [
|
||||||
]
|
]
|
||||||
|
|
||||||
exclude = [
|
exclude = [
|
||||||
"applets/cosmic-applet-power-battery",
|
"applets/cosmic-applet-battery",
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -203,7 +203,7 @@ dependencies = [
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cosmic-applet-power-battery"
|
name = "cosmic-applet-battery"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"futures",
|
"futures",
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
[package]
|
[package]
|
||||||
name = "cosmic-applet-power-battery"
|
name = "cosmic-applet-battery"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Name=Cosmic Applet Battery
|
||||||
|
Comment=Write a GTK + Rust application
|
||||||
|
Type=Application
|
||||||
|
Exec=cosmic-applet-battery
|
||||||
|
Terminal=false
|
||||||
|
Categories=GNOME;GTK;
|
||||||
|
Keywords=Gnome;GTK;
|
||||||
|
# Translators: Do NOT translate or transliterate this text (this is an icon file name)!
|
||||||
|
Icon=com.system76.CosmicAppletBattery.svg
|
||||||
|
StartupNotify=true
|
||||||
|
NoDisplay=true
|
||||||
|
|
@ -0,0 +1,60 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="128px" height="128px" viewBox="0 0 128 128" version="1.1">
|
||||||
|
<defs>
|
||||||
|
<filter id="alpha" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
|
||||||
|
<feColorMatrix type="matrix" in="SourceGraphic" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
|
||||||
|
</filter>
|
||||||
|
<mask id="mask0">
|
||||||
|
<g filter="url(#alpha)">
|
||||||
|
<rect x="0" y="0" width="128" height="128" style="fill:rgb(0%,0%,0%);fill-opacity:0.1;stroke:none;"/>
|
||||||
|
</g>
|
||||||
|
</mask>
|
||||||
|
<clipPath id="clip1">
|
||||||
|
<rect x="0" y="0" width="192" height="152"/>
|
||||||
|
</clipPath>
|
||||||
|
<g id="surface10632" clip-path="url(#clip1)">
|
||||||
|
<path style="fill:none;stroke-width:0.99;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:0.99,0.99;stroke-miterlimit:4;" d="M 123.503906 236 C 123.503906 268.863281 96.863281 295.503906 64 295.503906 C 31.136719 295.503906 4.496094 268.863281 4.496094 236 C 4.496094 203.136719 31.136719 176.496094 64 176.496094 C 96.863281 176.496094 123.503906 203.136719 123.503906 236 Z M 123.503906 236 " transform="matrix(1,0,0,1,8,-156)"/>
|
||||||
|
</g>
|
||||||
|
<mask id="mask1">
|
||||||
|
<g filter="url(#alpha)">
|
||||||
|
<rect x="0" y="0" width="128" height="128" style="fill:rgb(0%,0%,0%);fill-opacity:0.1;stroke:none;"/>
|
||||||
|
</g>
|
||||||
|
</mask>
|
||||||
|
<clipPath id="clip2">
|
||||||
|
<rect x="0" y="0" width="192" height="152"/>
|
||||||
|
</clipPath>
|
||||||
|
<g id="surface10635" clip-path="url(#clip2)">
|
||||||
|
<path style="fill:none;stroke-width:0.99;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:0.99,0.99;stroke-miterlimit:4;" d="M 29.195312 180.496094 L 98.804688 180.496094 C 103.609375 180.496094 107.503906 184.046875 107.503906 188.425781 L 107.503906 283.574219 C 107.503906 287.953125 103.609375 291.503906 98.804688 291.503906 L 29.195312 291.503906 C 24.390625 291.503906 20.496094 287.953125 20.496094 283.574219 L 20.496094 188.425781 C 20.496094 184.046875 24.390625 180.496094 29.195312 180.496094 Z M 29.195312 180.496094 " transform="matrix(1,0,0,1,8,-156)"/>
|
||||||
|
</g>
|
||||||
|
<mask id="mask2">
|
||||||
|
<g filter="url(#alpha)">
|
||||||
|
<rect x="0" y="0" width="128" height="128" style="fill:rgb(0%,0%,0%);fill-opacity:0.1;stroke:none;"/>
|
||||||
|
</g>
|
||||||
|
</mask>
|
||||||
|
<clipPath id="clip3">
|
||||||
|
<rect x="0" y="0" width="192" height="152"/>
|
||||||
|
</clipPath>
|
||||||
|
<g id="surface10638" clip-path="url(#clip3)">
|
||||||
|
<path style="fill:none;stroke-width:0.99;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:0.99,0.99;stroke-miterlimit:4;" d="M 20.417969 184.496094 L 107.582031 184.496094 C 111.957031 184.496094 115.503906 188.042969 115.503906 192.417969 L 115.503906 279.582031 C 115.503906 283.957031 111.957031 287.503906 107.582031 287.503906 L 20.417969 287.503906 C 16.042969 287.503906 12.496094 283.957031 12.496094 279.582031 L 12.496094 192.417969 C 12.496094 188.042969 16.042969 184.496094 20.417969 184.496094 Z M 20.417969 184.496094 " transform="matrix(1,0,0,1,8,-156)"/>
|
||||||
|
</g>
|
||||||
|
<mask id="mask3">
|
||||||
|
<g filter="url(#alpha)">
|
||||||
|
<rect x="0" y="0" width="128" height="128" style="fill:rgb(0%,0%,0%);fill-opacity:0.1;stroke:none;"/>
|
||||||
|
</g>
|
||||||
|
</mask>
|
||||||
|
<clipPath id="clip4">
|
||||||
|
<rect x="0" y="0" width="192" height="152"/>
|
||||||
|
</clipPath>
|
||||||
|
<g id="surface10641" clip-path="url(#clip4)">
|
||||||
|
<path style="fill:none;stroke-width:0.99;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:0.99,0.99;stroke-miterlimit:4;" d="M 16.425781 200.496094 L 111.574219 200.496094 C 115.953125 200.496094 119.503906 204.390625 119.503906 209.195312 L 119.503906 278.804688 C 119.503906 283.609375 115.953125 287.503906 111.574219 287.503906 L 16.425781 287.503906 C 12.046875 287.503906 8.496094 283.609375 8.496094 278.804688 L 8.496094 209.195312 C 8.496094 204.390625 12.046875 200.496094 16.425781 200.496094 Z M 16.425781 200.496094 " transform="matrix(1,0,0,1,8,-156)"/>
|
||||||
|
</g>
|
||||||
|
</defs>
|
||||||
|
<g id="surface10578">
|
||||||
|
<rect x="0" y="0" width="128" height="128" style="fill:rgb(94.117647%,94.117647%,94.117647%);fill-opacity:1;stroke:none;"/>
|
||||||
|
<use xlink:href="#surface10632" transform="matrix(1,0,0,1,-8,-16)" mask="url(#mask0)"/>
|
||||||
|
<use xlink:href="#surface10635" transform="matrix(1,0,0,1,-8,-16)" mask="url(#mask1)"/>
|
||||||
|
<use xlink:href="#surface10638" transform="matrix(1,0,0,1,-8,-16)" mask="url(#mask2)"/>
|
||||||
|
<use xlink:href="#surface10641" transform="matrix(1,0,0,1,-8,-16)" mask="url(#mask3)"/>
|
||||||
|
<path style="fill:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(38.431373%,62.7451%,91.764706%);stroke-opacity:1;stroke-miterlimit:4;" d="M 0 289 L 128 289 " transform="matrix(1,0,0,1,0,-172)"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 4.5 KiB |
|
|
@ -109,6 +109,10 @@ impl SimpleComponent for AppModel {
|
||||||
|
|
||||||
view! {
|
view! {
|
||||||
gtk4::Window {
|
gtk4::Window {
|
||||||
|
set_decorated: false,
|
||||||
|
set_resizable: false,
|
||||||
|
set_width_request: 1,
|
||||||
|
set_height_request: 1,
|
||||||
gtk4::MenuButton {
|
gtk4::MenuButton {
|
||||||
set_has_frame: false,
|
set_has_frame: false,
|
||||||
#[watch]
|
#[watch]
|
||||||
5
debian/rules
vendored
5
debian/rules
vendored
|
|
@ -13,11 +13,12 @@ override_dh_shlibdeps:
|
||||||
override_dh_auto_clean:
|
override_dh_auto_clean:
|
||||||
if test "${CLEAN}" = "1"; then \
|
if test "${CLEAN}" = "1"; then \
|
||||||
cargo clean; \
|
cargo clean; \
|
||||||
|
cargo clean --manifest-path applets/cosmic-applet-battery/Cargo.toml; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! ischroot && test "${VENDOR}" = "1"; then \
|
if ! ischroot && test "${VENDOR}" = "1"; then \
|
||||||
mkdir -p .cargo; \
|
mkdir -p .cargo; \
|
||||||
cargo vendor --sync Cargo.toml | head -n -1 > .cargo/config; \
|
cargo vendor --sync Cargo.toml --sync applets/cosmic-applet-battery/Cargo.toml | head -n -1 > .cargo/config; \
|
||||||
echo 'directory = "vendor"' >> .cargo/config; \
|
echo 'directory = "vendor"' >> .cargo/config; \
|
||||||
tar pcf vendor.tar vendor; \
|
tar pcf vendor.tar vendor; \
|
||||||
rm -rf vendor; \
|
rm -rf vendor; \
|
||||||
|
|
@ -27,4 +28,4 @@ override_dh_auto_build:
|
||||||
just rootdir=$(DESTDIR) debug=$(DEBUG) vendor=$(VENDOR)
|
just rootdir=$(DESTDIR) debug=$(DEBUG) vendor=$(VENDOR)
|
||||||
|
|
||||||
override_dh_auto_install:
|
override_dh_auto_install:
|
||||||
just rootdir=$(DESTDIR) install
|
just rootdir=$(DESTDIR) install
|
||||||
|
|
|
||||||
7
justfile
7
justfile
|
|
@ -15,6 +15,7 @@ bindir := rootdir + prefix + '/bin'
|
||||||
|
|
||||||
app_list_id := 'com.system76.CosmicAppList'
|
app_list_id := 'com.system76.CosmicAppList'
|
||||||
audio_id := 'com.system76.CosmicAppletAudio'
|
audio_id := 'com.system76.CosmicAppletAudio'
|
||||||
|
battery_id := 'com.system76.CosmicAppletBattery'
|
||||||
graphics_id := 'com.system76.CosmicAppletGraphics'
|
graphics_id := 'com.system76.CosmicAppletGraphics'
|
||||||
network_id := 'com.system76.CosmicAppletNetwork'
|
network_id := 'com.system76.CosmicAppletNetwork'
|
||||||
notifications_id := 'com.system76.CosmicAppletNotifications'
|
notifications_id := 'com.system76.CosmicAppletNotifications'
|
||||||
|
|
@ -27,6 +28,7 @@ workspaces_button_id := 'com.system76.CosmicPanelWorkspacesButton'
|
||||||
|
|
||||||
all: _extract_vendor
|
all: _extract_vendor
|
||||||
cargo build {{cargo_args}}
|
cargo build {{cargo_args}}
|
||||||
|
cargo build --manifest-path applets/cosmic-applet-battery/Cargo.toml {{cargo_args}}
|
||||||
|
|
||||||
# Installs files into the system
|
# Installs files into the system
|
||||||
install:
|
install:
|
||||||
|
|
@ -42,6 +44,11 @@ install:
|
||||||
install -Dm0644 applets/cosmic-applet-audio/data/{{audio_id}}.desktop {{sharedir}}/applications/{{audio_id}}.desktop
|
install -Dm0644 applets/cosmic-applet-audio/data/{{audio_id}}.desktop {{sharedir}}/applications/{{audio_id}}.desktop
|
||||||
install -Dm0755 target/release/cosmic-applet-audio {{bindir}}/cosmic-applet-audio
|
install -Dm0755 target/release/cosmic-applet-audio {{bindir}}/cosmic-applet-audio
|
||||||
|
|
||||||
|
# battery
|
||||||
|
install -Dm0644 applets/cosmic-applet-battery/data/icons/{{battery_id}}.svg {{iconsdir}}/{{battery_id}}.svg
|
||||||
|
install -Dm0644 applets/cosmic-applet-battery/data/{{battery_id}}.desktop {{sharedir}}/applications/{{battery_id}}.desktop
|
||||||
|
install -Dm0755 applets/cosmic-applet-battery/target/release/cosmic-applet-battery {{bindir}}/cosmic-applet-battery
|
||||||
|
|
||||||
# graphics
|
# graphics
|
||||||
install -Dm0644 applets/cosmic-applet-graphics/data/icons/{{graphics_id}}.svg {{iconsdir}}/{{graphics_id}}.svg
|
install -Dm0644 applets/cosmic-applet-graphics/data/icons/{{graphics_id}}.svg {{iconsdir}}/{{graphics_id}}.svg
|
||||||
install -Dm0644 applets/cosmic-applet-graphics/data/{{graphics_id}}.desktop {{sharedir}}/applications/{{graphics_id}}.desktop
|
install -Dm0644 applets/cosmic-applet-graphics/data/{{graphics_id}}.desktop {{sharedir}}/applications/{{graphics_id}}.desktop
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue