add start and search icons

This commit is contained in:
end-4
2025-11-10 22:48:04 +01:00
parent 42919c59ec
commit 694eaccfbf
12 changed files with 308 additions and 9 deletions
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="800px" height="800px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<title>ic_fluent_battery_0_24_regular</title>
<desc>Created with Sketch.</desc>
<g id="🔍-Product-Icons" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="ic_fluent_battery_0_24_regular" fill="#212121" fill-rule="nonzero">
<path d="M17,6 C18.6569,6 20,7.34315 20,9 L20,10 L21.0003237,10 C21.1824237,10 21.3532237,10.0487 21.5003237,10.1338 C21.7992237,10.3067 22.0003237,10.6299 22.0003237,11 L22.0003237,13 C22.0003237,13.3701 21.7992237,13.6933 21.5003237,13.8662 C21.3532237,13.9513 21.1824237,14 21.0003237,14 L20,14 L20,15 C20,16.6569 18.6569,18 17,18 L4.99967629,18 C3.34282629,18 1.99967629,16.6569 1.99967629,15 L1.99967629,9 C1.99967629,7.34315 3.34282629,6 4.99967629,6 L17,6 Z M16.998153,7.5 L4.99967629,7.5 C4.21997746,7.5 3.57922729,8.09488554 3.50654284,8.85553954 L3.49967629,9 L3.49967629,15 C3.49967629,15.7796706 4.09456182,16.4204457 4.85521583,16.4931332 L4.99967629,16.5 L16.998153,16.5 C17.7778236,16.5 18.4185987,15.9050879 18.4912862,15.1444558 L18.498153,15 L18.498153,9 C18.498153,8.22030118 17.9032409,7.579551 17.1426088,7.50686655 L16.998153,7.5 Z" id="🎨-Color">
</path>
</g>
</g>

After

Width:  |  Height:  |  Size: 1.4 KiB

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="800px" height="800px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<title>ic_fluent_battery_6_24_regular</title>
<desc>Created with Sketch.</desc>
<g id="🔍-Product-Icons" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="ic_fluent_battery_6_24_regular" fill="#212121" fill-rule="nonzero">
<path d="M17,6 C18.6569,6 20,7.34315 20,9 L20,10 L21.0003237,10 C21.1824237,10 21.3532237,10.0487 21.5003237,10.1338 C21.7992237,10.3067 22.0003237,10.6299 22.0003237,11 L22.0003237,13 C22.0003237,13.3701 21.7992237,13.6933 21.5003237,13.8662 C21.3532237,13.9513 21.1824237,14 21.0003237,14 L20,14 L20,15 C20,16.6569 18.6569,18 17,18 L4.99967629,18 C3.34282629,18 1.99967629,16.6569 1.99967629,15 L1.99967629,9 C1.99967629,7.34315 3.34282629,6 4.99967629,6 L17,6 Z M16.998153,7.5 L4.99967629,7.5 C4.21997746,7.5 3.57922729,8.09488554 3.50654284,8.85553954 L3.49967629,9 L3.49967629,15 C3.49967629,15.7796706 4.09456182,16.4204457 4.85521583,16.4931332 L4.99967629,16.5 L16.998153,16.5 C17.7778236,16.5 18.4185987,15.9050879 18.4912862,15.1444558 L18.498153,15 L18.498153,9 C18.498153,8.22030118 17.9032409,7.579551 17.1426088,7.50686655 L16.998153,7.5 Z M5.99967629,9 L12,9 C12.51285,9 12.9355092,9.38604429 12.9932725,9.88337975 L13,10 L13,14 C13,14.51285 12.613973,14.9355092 12.1166239,14.9932725 L12,15 L5.99967629,15 C5.48684486,15 5.06416975,14.613973 5.00640408,14.1166239 L4.99967629,14 L4.99967629,10 C4.99967629,9.48716857 5.38572057,9.06449347 5.88305604,9.0067278 L5.99967629,9 L12,9 L5.99967629,9 Z" id="🎨-Color">
</path>
</g>
</g>

After

Width:  |  Height:  |  Size: 1.8 KiB

@@ -0,0 +1,82 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="64"
height="64"
version="1.1"
viewBox="0 0 16.933 16.933"
id="svg2"
sodipodi:docname="system-search.svg"
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview2"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="4.65625"
inkscape:cx="32"
inkscape:cy="32"
inkscape:window-width="1061"
inkscape:window-height="1020"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g2" />
<defs
id="defs2">
<linearGradient
id="linearGradient919"
x1="4.3106"
x2="14.36"
y1="8.4665"
y2="8.4665"
gradientTransform="matrix(1.226575,0,0,1.226575,-12.501917,0.89738077)"
gradientUnits="userSpaceOnUse">
<stop
stop-color="#3c8cff"
offset="0"
id="stop1"
style="stop-color:#f9f9f9;stop-opacity:1;" />
<stop
stop-color="#55b4ff"
offset="1"
id="stop2"
style="stop-color:#d7dcdf;stop-opacity:1;" />
</linearGradient>
</defs>
<g
transform="translate(16.148 .19097)"
id="g2">
<rect
transform="rotate(45)"
x="2.891"
y="10.492"
width="7.4901"
height="1.583"
ry=".79147"
fill="#1955b9"
stroke-width="1.1651"
id="rect2"
style="stroke-width:1.16520206;stroke-dasharray:none;fill:#d7dbdf;fill-opacity:1" />
<circle
transform="rotate(45)"
cx="-1.0514274"
cy="11.283"
r="5.3520403"
fill="none"
stroke="url(#linearGradient919)"
stroke-linecap="round"
stroke-width="1.77822"
id="circle2"
style="fill:#4f4f4f;fill-opacity:1;stroke:url(#linearGradient919)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

@@ -0,0 +1,82 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="64"
height="64"
version="1.1"
viewBox="0 0 16.933 16.933"
id="svg2"
sodipodi:docname="system-search.svg"
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview2"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="13.169864"
inkscape:cx="37.58581"
inkscape:cy="36.75057"
inkscape:window-width="1171"
inkscape:window-height="1020"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g2" />
<defs
id="defs2">
<linearGradient
id="linearGradient919"
x1="4.3106"
x2="14.36"
y1="8.4665"
y2="8.4665"
gradientTransform="matrix(1.226575,0,0,1.226575,-12.501917,0.89738077)"
gradientUnits="userSpaceOnUse">
<stop
stop-color="#3c8cff"
offset="0"
id="stop1"
style="stop-color:#434240;stop-opacity:1;" />
<stop
stop-color="#55b4ff"
offset="1"
id="stop2"
style="stop-color:#1f1f1f;stop-opacity:1;" />
</linearGradient>
</defs>
<g
transform="translate(16.148 .19097)"
id="g2">
<rect
transform="rotate(45)"
x="3.4592216"
y="10.492"
width="6.9218783"
height="1.5830011"
ry="0.71337014"
fill="#1955b9"
stroke-width="1.1651"
id="rect2"
style="fill:#1f1f1f;fill-opacity:1;stroke-width:1.1652;stroke-dasharray:none" />
<circle
transform="rotate(45)"
cx="-1.0514274"
cy="11.283"
r="5.3520403"
fill="none"
stroke="url(#linearGradient919)"
stroke-linecap="round"
stroke-width="1.77822"
id="circle2"
style="fill:none;fill-opacity:1;stroke:url(#linearGradient919)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

@@ -561,6 +561,7 @@ Singleton {
property JsonObject waffles: JsonObject {
property JsonObject bar: JsonObject {
property bool bottom: true
property bool leftAlignApps: true
}
}
}
@@ -0,0 +1,40 @@
import QtQuick
import QtQuick.Layouts
import org.kde.kirigami as Kirigami
import qs.services
import qs.modules.common
import qs.modules.waffle.looks
BarButton {
id: root
required property string iconName
implicitWidth: height - topInset - bottomInset + leftInset + rightInset
contentItem: Item {
id: contentItem
anchors.centerIn: root.background
implicitHeight: iconWidget.implicitHeight
implicitWidth: iconWidget.implicitWidth
scale: root.down ? 5/6 : 1 // If/When we do dragging, the scale is 1.25
Behavior on scale {
NumberAnimation {
duration: 90
easing.type: Easing.BezierSpline
easing.bezierCurve: root.down ? Looks.transition.easing.bezierCurve.easeIn : Looks.transition.easing.bezierCurve.easeOut
}
}
Kirigami.Icon {
id: iconWidget
anchors.centerIn: parent
implicitWidth: 26
implicitHeight: 26
roundToIconSize: false
source: `${Looks.iconsPath}/${root.iconName}-${Looks.dark ? "dark" : "light"}.svg`
fallback: root.iconName
}
}
}
@@ -0,0 +1,12 @@
import QtQuick
import QtQuick.Layouts
import org.kde.kirigami as Kirigami
import qs.services
import qs.modules.common
import qs.modules.waffle.looks
AppButton {
id: root
iconName: "system-search"
}
@@ -0,0 +1,13 @@
import QtQuick
import QtQuick.Layouts
import org.kde.kirigami as Kirigami
import qs.services
import qs.modules.common
import qs.modules.waffle.looks
AppButton {
id: root
leftInset: 12
iconName: "start-here"
}
@@ -34,10 +34,7 @@ BarButton {
}
FluentIcon {
icon: {
print(WIcons.batteryIcon)
return WIcons.batteryIcon
}
icon: WIcons.batteryIcon
}
}
}
@@ -21,14 +21,28 @@ Rectangle {
implicitHeight: 1
}
BarGroupRow {
id: bloatRow
anchors.left: parent.left
}
BarGroupRow {
id: appsRow
spacing: 4
anchors.left: undefined
anchors.horizontalCenter: parent.horizontalCenter
states: State {
name: "left"
when: Config.options.waffles.bar.leftAlignApps
AnchorChanges {
target: appsRow
anchors.left: parent.left
anchors.horizontalCenter: undefined
}
}
transitions: Transition {
animations: Looks.transition.anchor.createObject(this)
}
StartButton {}
SearchButton {}
}
BarGroupRow {
@@ -13,6 +13,7 @@ Kirigami.Icon {
implicitHeight: implicitSize
source: `${Looks.iconsPath}/${root.icon}.svg`
fallback: root.icon
roundToIconSize: false
color: Looks.colors.fg
isMask: true
@@ -13,6 +13,7 @@ Singleton {
property QtObject font
property QtObject transition
property string iconsPath: `${Directories.assetsPath}/icons/fluent`
property bool dark: Appearance.m3colors.darkmode
property real fluentBackgroundTransparency: 0.17
property real fluentContentTransparency: 0.3
@@ -66,6 +67,38 @@ Singleton {
ColorAnimation {
duration: 80
easing.type: Easing.BezierSpline
easing.bezierCurve: transition.easing.bezierCurve.easeIn
}
}
property Component enter: Component {
NumberAnimation {
duration: 250
easing.type: Easing.BezierSpline
easing.bezierCurve: transition.easing.bezierCurve.easeIn
}
}
property Component exit: Component {
NumberAnimation {
duration: 250
easing.type: Easing.BezierSpline
easing.bezierCurve: transition.easing.bezierCurve.easeOut
}
}
property Component move: Component {
NumberAnimation {
duration: 100
easing.type: Easing.BezierSpline
easing.bezierCurve: transition.easing.bezierCurve.easeInOut
}
}
property Component anchor: Component {
AnchorAnimation {
duration: 250
easing.type: Easing.BezierSpline
easing.bezierCurve: transition.easing.bezierCurve.easeInOut
}
}