feat(desktop): new desktop application project

this is a thin wrapper consisting of a tray icon only
This commit is contained in:
Gauthier Roebroeck 2023-08-11 17:01:10 +08:00
parent fdd6fff0ba
commit 4da12ae05d
17 changed files with 786 additions and 12 deletions

View File

@ -12,6 +12,12 @@ updates:
schedule:
interval: "weekly"
- package-ecosystem: "gradle"
directory: "/komga-tray"
open-pull-requests-limit: 0
schedule:
interval: "weekly"
# Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"

View File

@ -7,7 +7,7 @@
</map>
</option>
<option name="executionName" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="externalProjectPath" value="$PROJECT_DIR$/komga" />
<option name="externalSystemIdString" value="GRADLE" />
<option name="scriptParameters" value="" />
<option name="taskDescriptions">
@ -20,7 +20,10 @@
</option>
<option name="vmOptions" value="" />
</ExternalSystemSettings>
<GradleScriptDebugEnabled>true</GradleScriptDebugEnabled>
<ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
<DebugAllEnabled>false</DebugAllEnabled>
<RunAsTest>false</RunAsTest>
<method v="2" />
</configuration>
</component>
</component>

View File

@ -7,7 +7,7 @@
</map>
</option>
<option name="executionName" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="externalProjectPath" value="$PROJECT_DIR$/komga" />
<option name="externalSystemIdString" value="GRADLE" />
<option name="scriptParameters" value="" />
<option name="taskDescriptions">
@ -20,7 +20,10 @@
</option>
<option name="vmOptions" value="" />
</ExternalSystemSettings>
<GradleScriptDebugEnabled>true</GradleScriptDebugEnabled>
<ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
<DebugAllEnabled>false</DebugAllEnabled>
<RunAsTest>false</RunAsTest>
<method v="2" />
</configuration>
</component>
</component>

View File

@ -7,7 +7,7 @@
</map>
</option>
<option name="executionName" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="externalProjectPath" value="$PROJECT_DIR$/komga" />
<option name="externalSystemIdString" value="GRADLE" />
<option name="scriptParameters" value="" />
<option name="taskDescriptions">
@ -23,6 +23,7 @@
<ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
<DebugAllEnabled>false</DebugAllEnabled>
<RunAsTest>false</RunAsTest>
<method v="2" />
</configuration>
</component>
</component>

View File

@ -7,7 +7,7 @@
</map>
</option>
<option name="executionName" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="externalProjectPath" value="$PROJECT_DIR$/komga" />
<option name="externalSystemIdString" value="GRADLE" />
<option name="scriptParameters" value="" />
<option name="taskDescriptions">
@ -20,7 +20,10 @@
</option>
<option name="vmOptions" value="" />
</ExternalSystemSettings>
<GradleScriptDebugEnabled>true</GradleScriptDebugEnabled>
<ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
<DebugAllEnabled>false</DebugAllEnabled>
<RunAsTest>false</RunAsTest>
<method v="2" />
</configuration>
</component>
</component>

View File

@ -0,0 +1,40 @@
plugins {
run {
kotlin("jvm")
kotlin("plugin.spring")
}
id("com.gorylenko.gradle-git-properties") version "2.4.1"
id("org.jetbrains.compose") version "1.4.3"
id("dev.hydraulic.conveyor") version "1.5"
application
}
group = "org.gotson"
kotlin {
jvmToolchain(19) // for NightMonkeys
}
dependencies {
implementation(project(":komga"))
implementation(platform("org.springframework.boot:spring-boot-dependencies:3.1.1"))
implementation("org.springframework.boot:spring-boot-starter-web")
implementation(compose.desktop.common)
linuxAmd64(compose.desktop.linux_x64)
macAmd64(compose.desktop.macos_x64)
macAarch64(compose.desktop.macos_arm64)
windowsAmd64(compose.desktop.windows_x64)
}
application {
mainClass.set("org.gotson.komga.DesktopApplicationKt")
}
// Work around temporary Compose bugs
configurations.all {
attributes {
attribute(Attribute.of("ui", String::class.java), "awt")
}
}

View File

@ -0,0 +1,12 @@
package org.gotson.komga
import org.springframework.boot.builder.SpringApplicationBuilder
fun main(args: Array<String>) {
System.setProperty("apple.awt.UIElement", "true")
System.setProperty("org.jooq.no-logo", "true")
System.setProperty("org.jooq.no-tips", "true")
val builder = SpringApplicationBuilder(Application::class.java)
builder.headless(false)
builder.run(*args)
}

View File

@ -0,0 +1,11 @@
package org.gotson.komga
import java.awt.Desktop
import java.net.URI
fun openUrl(url: String) {
if (Desktop.isDesktopSupported())
Desktop.getDesktop().let {
if (it.isSupported(Desktop.Action.BROWSE)) it.browse(URI.create(url))
}
}

View File

@ -0,0 +1,41 @@
package org.gotson.komga.application.gui
import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.res.loadSvgPainter
import androidx.compose.ui.window.Tray
import androidx.compose.ui.window.application
import org.gotson.komga.openUrl
import org.springframework.beans.factory.annotation.Value
import org.springframework.boot.ApplicationArguments
import org.springframework.boot.ApplicationRunner
import org.springframework.context.annotation.Profile
import org.springframework.core.env.Environment
import org.springframework.core.io.ClassPathResource
import org.springframework.stereotype.Component
@Profile("!test")
@Component
class TrayIconRunner(
@Value("#{servletContext.contextPath}") servletContextPath: String,
@Value("\${server.port}") serverPort: Int,
env: Environment,
) : ApplicationRunner {
val komgaUrl = "http://localhost:$serverPort$servletContextPath"
val iconFileName = if (env.activeProfiles.contains("mac")) "komga-gray-minimal.svg" else "komga-color.svg"
override fun run(args: ApplicationArguments) {
runTray()
}
private fun runTray() {
application {
Tray(
icon = loadSvgPainter(ClassPathResource("icons/$iconFileName").inputStream, LocalDensity.current),
menu = {
Item("Open Komga", onClick = { openUrl(komgaUrl) })
Item("Quit Komga", onClick = ::exitApplication)
},
)
}
}
}

View File

@ -0,0 +1,5 @@
logging:
file:
name: ${user.home}/Library/Logs/Komga/komga.log
komga:
config-dir: ${user.home}/Library/Application Support/Komga

View File

@ -0,0 +1,2 @@
komga:
config-dir: ${LOCALAPPDATA}/Komga

View File

@ -0,0 +1,113 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
height="512pt"
viewBox="0 0 512 512"
width="512pt"
version="1.1"
id="svg4586"
sodipodi:docname="komga - Copy.svg"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)">
<metadata
id="metadata4592">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs4590">
<linearGradient
id="linearGradient6082"
osb:paint="solid">
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop6080"/>
</linearGradient>
<linearGradient
id="linearGradient6076"
osb:paint="solid">
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop6074"/>
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6082"
id="linearGradient6084"
x1="77.866812"
y1="386.00679"
x2="217.20259"
y2="386.00679"
gradientUnits="userSpaceOnUse"/>
</defs>
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1656"
inkscape:window-height="1368"
id="namedview4588"
showgrid="false"
inkscape:zoom="1.2512475"
inkscape:cx="264.73114"
inkscape:cy="305.20589"
inkscape:window-x="-7"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg4586"/>
<path
d="m512 256c0 141.386719-114.613281 256-256 256s-256-114.613281-256-256 114.613281-256 256-256 256 114.613281 256 256zm0 0"
fill="#005ed3"
id="path4556"/>
<path
d="m 512,256 c 0,-11.71094 -0.80469,-23.23047 -2.32422,-34.52344 L 382.48047,94.28125 320.52344,121.85938 256,56.933594 212.69531,131.30469 129.51953,94.28125 141.86719,178.42187 49.949219,193.81641 114.32031,256 l -64.371091,62.18359 82.121091,82.16016 -2.55078,17.375 91.95703,91.95703 C 232.76953,511.19531 244.28906,512 256,512 397.38672,512 512,397.38672 512,256 Z"
id="path4558"
inkscape:connector-curvature="0"
style="fill:#00459f"
sodipodi:nodetypes="scccccccccccccss"/>
<path
d="m256 86.742188 37.109375 63.738281 70.574219-31.414063-10.527344 71.71875 77.078125 12.910156-54.144531 52.304688 54.144531 52.304688-77.078125 12.910156 10.527344 71.71875-70.574219-31.414063-37.109375 63.738281-37.109375-63.738281-70.574219 31.414063 10.527344-71.71875-77.078125-12.910156 54.144531-52.304688-54.144531-52.304688 77.078125-12.910156-10.527344-71.71875 70.574219 31.414063zm0 0"
fill="#ff0335"
id="path4560"/>
<path
d="m430.230469 308.300781-77.070313 12.910157 10.519532 71.71875-70.570313-31.410157-37.109375 63.742188v-338.523438l37.109375 63.742188 70.570313-31.410157-6.757813 46.101563-3.761719 25.617187 58.800782 9.851563 18.269531 3.058594-13.390625 12.929687-40.75 39.371094 11.378906 10.988281zm0 0"
fill="#c2001b"
id="path4562"/>
<path
d="m256 455.066406-43.304688-74.371094-83.175781 37.023438 12.347657-84.140625-91.917969-15.394531 64.371093-62.183594-64.371093-62.183594 91.917969-15.394531-12.347657-84.140625 83.179688 37.023438 43.300781-74.371094 43.304688 74.371094 83.175781-37.023438-12.347657 84.140625 91.917969 15.394531-64.371093 62.183594 64.371093 62.183594-91.917969 15.398437 12.347657 84.136719-83.175781-37.023438zm-30.917969-112.722656 30.917969 53.101562 30.917969-53.101562 57.964843 25.800781-8.703124-59.292969 62.238281-10.425781-43.917969-42.425781 43.917969-42.425781-62.238281-10.425781 8.703124-59.292969-57.964843 25.800781-30.917969-53.101562-30.917969 53.101562-57.964843-25.800781 8.703124 59.292969-62.238281 10.425781 43.917969 42.425781-43.917969 42.425781 62.238281 10.425781-8.703124 59.292969zm0 0"
fill="#ffdf47"
id="path4564"/>
<path
d="m403.308594 261.441406-5.628906-5.441406 25.160156-24.300781 39.210937-37.878907-55.75-9.339843-36.171875-6.058594 2.800782-19.09375 9.550781-65.046875-83.179688 37.019531-43.300781-74.371093v59.621093l30.921875 53.109375 57.957031-25.808594-3.910156 26.667969-2.546875 17.378907-2.242187 15.25 2.480468.421874 59.761719 10.007813-43.921875 42.421875 16.96875 16.390625 26.953125 26.03125-62.242187 10.429687 8.699218 59.296876-57.957031-25.808594-30.921875 53.109375v59.621093l43.300781-74.371093 83.179688 37.019531-12.351563-84.140625 91.921875-15.398437zm0 0"
fill="#fec000"
id="path4566"/>
<g
aria-label="K"
transform="matrix(1.1590846,-0.34467221,0.22789693,0.794981,0,0)"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:296.55969238px;line-height:125%;font-family:Impact;-inkscape-font-specification:Impact;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.54528999;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="text4596">
<path
d="m 220.91497,266.9035 -34.89789,105.85211 38.2284,128.58643 H 161.2555 L 136.63873,400.84769 V 501.34204 H 75.676021 V 266.9035 h 60.962709 v 91.08205 l 27.07845,-91.08205 z"
style="font-size:296.55969238px;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.54528999;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path824"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.4 KiB

View File

@ -0,0 +1,169 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
inkscape:version="1.2.1 (9c6d41e, 2022-07-14)"
sodipodi:docname="komga-gray-minimal.svg"
id="svg4586"
version="1.1"
width="410.233pt"
viewBox="0 0 410.233 395.22604"
height="395.22604pt"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:osb="http://www.openswatchbook.org/uri/2009/osb">
<metadata
id="metadata4592">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs4590">
<linearGradient
id="linearGradient6082"
osb:paint="solid">
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop6080"/>
</linearGradient>
<linearGradient
id="linearGradient6076"
osb:paint="solid">
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop6074"/>
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6082"
id="linearGradient6084"
x1="77.866814"
y1="386.00677"
x2="217.20259"
y2="386.00677"
gradientUnits="userSpaceOnUse"/>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Greyscale"
id="filter1943"
x="0"
y="0"
width="1"
height="1">
<feColorMatrix
values="0.5 0.72 0.77 -0.4 0 0.5 0.72 0.77 -0.4 0 0.5 0.72 0.77 -0.4 0 0 0 0 1 0 "
id="feColorMatrix1941"/>
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Greyscale"
id="filter1947"
x="0"
y="0"
width="1"
height="1">
<feColorMatrix
values="0.5 0.72 0.77 -0.4 0 0.5 0.72 0.77 -0.4 0 0.5 0.72 0.77 -0.4 0 0 0 0 1 0 "
id="feColorMatrix1945"/>
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Greyscale"
id="filter1951"
x="0"
y="0"
width="1"
height="1">
<feColorMatrix
values="0.5 0.72 0.77 -0.4 0 0.5 0.72 0.77 -0.4 0 0.5 0.72 0.77 -0.4 0 0 0 0 1 0 "
id="feColorMatrix1949"/>
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Greyscale"
id="filter1955"
x="0"
y="0"
width="1"
height="1">
<feColorMatrix
values="0.5 0.72 0.77 -0.4 0 0.5 0.72 0.77 -0.4 0 0.5 0.72 0.77 -0.4 0 0 0 0 1 0 "
id="feColorMatrix1953"/>
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Greyscale"
id="filter1959"
x="0"
y="0"
width="1"
height="1">
<feColorMatrix
values="0.5 0.72 0.77 -0.4 0 0.5 0.72 0.77 -0.4 0 0.5 0.72 0.77 -0.4 0 0 0 0 1 0 "
id="feColorMatrix1957"/>
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Greyscale"
id="filter1963"
x="0"
y="0"
width="1"
height="1">
<feColorMatrix
values="0.5 0.72 0.77 -0.4 0 0.5 0.72 0.77 -0.4 0 0.5 0.72 0.77 -0.4 0 0 0 0 1 0 "
id="feColorMatrix1961"/>
</filter>
</defs>
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1464"
inkscape:window-height="1639"
id="namedview4588"
showgrid="false"
inkscape:zoom="1.2512475"
inkscape:cx="204.19621"
inkscape:cy="228.17228"
inkscape:window-x="1512"
inkscape:window-y="25"
inkscape:window-maximized="0"
inkscape:current-layer="svg4586"
inkscape:showpageshadow="2"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="pt"/>
<path
style="display:inline;fill:#999999;fill-opacity:1;stroke-width:0.599402"
d="m 203.55187,393.08158 c -3.58002,-6.33922 -40.86919,-70.37011 -41.21358,-70.76967 -0.21133,-0.24518 -18.84901,7.77439 -41.41706,17.82126 -22.568048,10.04688 -41.188138,18.20454 -41.377988,18.12814 -0.18983,-0.0764 2.40057,-18.75034 5.75646,-41.49764 3.35589,-22.74729 5.93879,-41.52084 5.73978,-41.71899 -0.19901,-0.19815 -20.18705,-3.65416 -44.417867,-7.68001 -24.230819,-4.02584 -44.5679892,-7.5201 -45.1937132,-7.76501 -0.94460103,-0.36972 4.272372,-5.67414 30.7398102,-31.25509 l 31.87749,-30.80981 -3.76672,-3.68006 C 46.628335,180.51868 3.4121968,138.9192 1.7910138,137.55519 c -1.08535403,-0.91317 -1.88711903,-1.74658 -1.78170003,-1.85199 0.105419,-0.10543 20.68378523,-3.61497 45.72970123,-7.799 25.045917,-4.18402 45.574367,-7.63814 45.618757,-7.67581 0.0444,-0.0376 -2.679,-18.8148 -6.052,-41.726929 -3.373,-22.91213 -6.06864,-41.741375 -5.99031,-41.842753 0.0783,-0.101385 18.67717,8.074163 41.330768,18.167883 22.65359,10.09373 41.34595,18.19464 41.53855,18.00203 0.19261,-0.19262 9.72349,-16.46009 21.17973,-36.149948 11.45624,-19.689855 21.06179,-36.18017703 21.34566,-36.64515003 0.36706,-0.601246 4.99119,6.84257203 16.01108,25.77427503 18.40578,31.620363 27.36013,46.925943 27.61297,47.198583 0.10162,0.10958 18.73052,-8.04828 41.39753,-18.12858 22.66702,-10.0803 41.28487,-18.255708 41.37301,-18.16756 0.0881,0.08814 -2.52005,18.36091 -5.79597,40.60614 -3.27594,22.24525 -5.95695,41.052789 -5.9578,41.794549 -6e-4,0.74176 0.31373,1.34866 0.69909,1.34866 0.89595,0 90.00121,14.97743 90.18223,15.15845 0.0745,0.0745 -14.13309,13.88961 -31.57236,30.70033 -17.43926,16.81072 -31.71456,30.83938 -31.72289,31.17481 -0.0132,0.52999 50.04039,49.31536 60.01322,58.49271 3.05361,2.81003 3.46171,3.40725 2.50006,3.65874 -0.63208,0.16529 -21.16319,3.64411 -45.62468,7.73072 l -44.47544,7.4302 0.0166,1.4985 c 0.009,0.82418 2.68639,19.56786 5.94946,41.65263 3.26307,22.08477 5.84022,40.24677 5.72701,40.35999 -0.11322,0.11322 -18.73866,-8.05461 -41.38986,-18.15072 -22.65121,-10.09612 -41.25658,-18.27807 -41.34528,-18.18212 -0.14213,0.15376 -7.74003,13.19628 -35.01971,60.11464 -4.02529,6.92309 -7.53343,12.80955 -7.79587,13.08101 -0.26245,0.27147 -1.13578,-0.67258 -1.9407,-2.0979 z"
id="path672"
sodipodi:nodetypes="ssssssssscsssssssssssssssscssssssscsssssssss"/>
<g
aria-label="K"
transform="matrix(1.1590846,-0.34467221,0.22789693,0.794981,-50.781178,-58.461849)"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:296.56px;line-height:125%;font-family:Impact;-inkscape-font-specification:Impact;letter-spacing:0px;word-spacing:0px;display:inline;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.54529;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="text4596">
<path
d="m 220.91497,266.9035 -34.89789,105.85211 38.2284,128.58643 H 161.2555 L 136.63873,400.84769 V 501.34204 H 75.676021 V 266.9035 h 60.962709 v 91.08205 l 27.07845,-91.08205 z"
style="font-size:296.56px;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.54529;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path824"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.3 KiB

View File

@ -160,7 +160,7 @@ tasks {
}
getByName<Jar>("jar") {
enabled = false
enabled = true
}
register<Exec>("npmInstall") {

169
res/komga-gray-minimal.svg Normal file
View File

@ -0,0 +1,169 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
inkscape:version="1.2.1 (9c6d41e, 2022-07-14)"
sodipodi:docname="komga-gray-minimal.svg"
id="svg4586"
version="1.1"
width="410.233pt"
viewBox="0 0 410.233 395.22604"
height="395.22604pt"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:osb="http://www.openswatchbook.org/uri/2009/osb">
<metadata
id="metadata4592">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs4590">
<linearGradient
id="linearGradient6082"
osb:paint="solid">
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop6080"/>
</linearGradient>
<linearGradient
id="linearGradient6076"
osb:paint="solid">
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop6074"/>
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6082"
id="linearGradient6084"
x1="77.866814"
y1="386.00677"
x2="217.20259"
y2="386.00677"
gradientUnits="userSpaceOnUse"/>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Greyscale"
id="filter1943"
x="0"
y="0"
width="1"
height="1">
<feColorMatrix
values="0.5 0.72 0.77 -0.4 0 0.5 0.72 0.77 -0.4 0 0.5 0.72 0.77 -0.4 0 0 0 0 1 0 "
id="feColorMatrix1941"/>
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Greyscale"
id="filter1947"
x="0"
y="0"
width="1"
height="1">
<feColorMatrix
values="0.5 0.72 0.77 -0.4 0 0.5 0.72 0.77 -0.4 0 0.5 0.72 0.77 -0.4 0 0 0 0 1 0 "
id="feColorMatrix1945"/>
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Greyscale"
id="filter1951"
x="0"
y="0"
width="1"
height="1">
<feColorMatrix
values="0.5 0.72 0.77 -0.4 0 0.5 0.72 0.77 -0.4 0 0.5 0.72 0.77 -0.4 0 0 0 0 1 0 "
id="feColorMatrix1949"/>
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Greyscale"
id="filter1955"
x="0"
y="0"
width="1"
height="1">
<feColorMatrix
values="0.5 0.72 0.77 -0.4 0 0.5 0.72 0.77 -0.4 0 0.5 0.72 0.77 -0.4 0 0 0 0 1 0 "
id="feColorMatrix1953"/>
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Greyscale"
id="filter1959"
x="0"
y="0"
width="1"
height="1">
<feColorMatrix
values="0.5 0.72 0.77 -0.4 0 0.5 0.72 0.77 -0.4 0 0.5 0.72 0.77 -0.4 0 0 0 0 1 0 "
id="feColorMatrix1957"/>
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Greyscale"
id="filter1963"
x="0"
y="0"
width="1"
height="1">
<feColorMatrix
values="0.5 0.72 0.77 -0.4 0 0.5 0.72 0.77 -0.4 0 0.5 0.72 0.77 -0.4 0 0 0 0 1 0 "
id="feColorMatrix1961"/>
</filter>
</defs>
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1464"
inkscape:window-height="1639"
id="namedview4588"
showgrid="false"
inkscape:zoom="1.2512475"
inkscape:cx="204.19621"
inkscape:cy="228.17228"
inkscape:window-x="1512"
inkscape:window-y="25"
inkscape:window-maximized="0"
inkscape:current-layer="svg4586"
inkscape:showpageshadow="2"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="pt"/>
<path
style="display:inline;fill:#999999;fill-opacity:1;stroke-width:0.599402"
d="m 203.55187,393.08158 c -3.58002,-6.33922 -40.86919,-70.37011 -41.21358,-70.76967 -0.21133,-0.24518 -18.84901,7.77439 -41.41706,17.82126 -22.568048,10.04688 -41.188138,18.20454 -41.377988,18.12814 -0.18983,-0.0764 2.40057,-18.75034 5.75646,-41.49764 3.35589,-22.74729 5.93879,-41.52084 5.73978,-41.71899 -0.19901,-0.19815 -20.18705,-3.65416 -44.417867,-7.68001 -24.230819,-4.02584 -44.5679892,-7.5201 -45.1937132,-7.76501 -0.94460103,-0.36972 4.272372,-5.67414 30.7398102,-31.25509 l 31.87749,-30.80981 -3.76672,-3.68006 C 46.628335,180.51868 3.4121968,138.9192 1.7910138,137.55519 c -1.08535403,-0.91317 -1.88711903,-1.74658 -1.78170003,-1.85199 0.105419,-0.10543 20.68378523,-3.61497 45.72970123,-7.799 25.045917,-4.18402 45.574367,-7.63814 45.618757,-7.67581 0.0444,-0.0376 -2.679,-18.8148 -6.052,-41.726929 -3.373,-22.91213 -6.06864,-41.741375 -5.99031,-41.842753 0.0783,-0.101385 18.67717,8.074163 41.330768,18.167883 22.65359,10.09373 41.34595,18.19464 41.53855,18.00203 0.19261,-0.19262 9.72349,-16.46009 21.17973,-36.149948 11.45624,-19.689855 21.06179,-36.18017703 21.34566,-36.64515003 0.36706,-0.601246 4.99119,6.84257203 16.01108,25.77427503 18.40578,31.620363 27.36013,46.925943 27.61297,47.198583 0.10162,0.10958 18.73052,-8.04828 41.39753,-18.12858 22.66702,-10.0803 41.28487,-18.255708 41.37301,-18.16756 0.0881,0.08814 -2.52005,18.36091 -5.79597,40.60614 -3.27594,22.24525 -5.95695,41.052789 -5.9578,41.794549 -6e-4,0.74176 0.31373,1.34866 0.69909,1.34866 0.89595,0 90.00121,14.97743 90.18223,15.15845 0.0745,0.0745 -14.13309,13.88961 -31.57236,30.70033 -17.43926,16.81072 -31.71456,30.83938 -31.72289,31.17481 -0.0132,0.52999 50.04039,49.31536 60.01322,58.49271 3.05361,2.81003 3.46171,3.40725 2.50006,3.65874 -0.63208,0.16529 -21.16319,3.64411 -45.62468,7.73072 l -44.47544,7.4302 0.0166,1.4985 c 0.009,0.82418 2.68639,19.56786 5.94946,41.65263 3.26307,22.08477 5.84022,40.24677 5.72701,40.35999 -0.11322,0.11322 -18.73866,-8.05461 -41.38986,-18.15072 -22.65121,-10.09612 -41.25658,-18.27807 -41.34528,-18.18212 -0.14213,0.15376 -7.74003,13.19628 -35.01971,60.11464 -4.02529,6.92309 -7.53343,12.80955 -7.79587,13.08101 -0.26245,0.27147 -1.13578,-0.67258 -1.9407,-2.0979 z"
id="path672"
sodipodi:nodetypes="ssssssssscsssssssssssssssscssssssscsssssssss"/>
<g
aria-label="K"
transform="matrix(1.1590846,-0.34467221,0.22789693,0.794981,-50.781178,-58.461849)"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:296.56px;line-height:125%;font-family:Impact;-inkscape-font-specification:Impact;letter-spacing:0px;word-spacing:0px;display:inline;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.54529;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="text4596">
<path
d="m 220.91497,266.9035 -34.89789,105.85211 38.2284,128.58643 H 161.2555 L 136.63873,400.84769 V 501.34204 H 75.676021 V 266.9035 h 60.962709 v 91.08205 l 27.07845,-91.08205 z"
style="font-size:296.56px;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.54529;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path824"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.7 KiB

195
res/komga-grayscale.svg Normal file
View File

@ -0,0 +1,195 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
inkscape:version="1.2.1 (9c6d41e, 2022-07-14)"
sodipodi:docname="komga_text_as_path.svg"
id="svg4586"
version="1.1"
width="512pt"
viewBox="0 0 512 512"
height="512pt"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:osb="http://www.openswatchbook.org/uri/2009/osb">
<metadata
id="metadata4592">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs4590">
<linearGradient
id="linearGradient6082"
osb:paint="solid">
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop6080"/>
</linearGradient>
<linearGradient
id="linearGradient6076"
osb:paint="solid">
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop6074"/>
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6082"
id="linearGradient6084"
x1="77.866812"
y1="386.00679"
x2="217.20259"
y2="386.00679"
gradientUnits="userSpaceOnUse"/>
<filter
style="color-interpolation-filters:sRGB;"
inkscape:label="Greyscale"
id="filter1943"
x="0"
y="0"
width="1"
height="1">
<feColorMatrix
values="0.5 0.72 0.77 -0.4 0 0.5 0.72 0.77 -0.4 0 0.5 0.72 0.77 -0.4 0 0 0 0 1 0 "
id="feColorMatrix1941"/>
</filter>
<filter
style="color-interpolation-filters:sRGB;"
inkscape:label="Greyscale"
id="filter1947"
x="0"
y="0"
width="1"
height="1">
<feColorMatrix
values="0.5 0.72 0.77 -0.4 0 0.5 0.72 0.77 -0.4 0 0.5 0.72 0.77 -0.4 0 0 0 0 1 0 "
id="feColorMatrix1945"/>
</filter>
<filter
style="color-interpolation-filters:sRGB;"
inkscape:label="Greyscale"
id="filter1951"
x="0"
y="0"
width="1"
height="1">
<feColorMatrix
values="0.5 0.72 0.77 -0.4 0 0.5 0.72 0.77 -0.4 0 0.5 0.72 0.77 -0.4 0 0 0 0 1 0 "
id="feColorMatrix1949"/>
</filter>
<filter
style="color-interpolation-filters:sRGB;"
inkscape:label="Greyscale"
id="filter1955"
x="0"
y="0"
width="1"
height="1">
<feColorMatrix
values="0.5 0.72 0.77 -0.4 0 0.5 0.72 0.77 -0.4 0 0.5 0.72 0.77 -0.4 0 0 0 0 1 0 "
id="feColorMatrix1953"/>
</filter>
<filter
style="color-interpolation-filters:sRGB;"
inkscape:label="Greyscale"
id="filter1959"
x="0"
y="0"
width="1"
height="1">
<feColorMatrix
values="0.5 0.72 0.77 -0.4 0 0.5 0.72 0.77 -0.4 0 0.5 0.72 0.77 -0.4 0 0 0 0 1 0 "
id="feColorMatrix1957"/>
</filter>
<filter
style="color-interpolation-filters:sRGB;"
inkscape:label="Greyscale"
id="filter1963"
x="0"
y="0"
width="1"
height="1">
<feColorMatrix
values="0.5 0.72 0.77 -0.4 0 0.5 0.72 0.77 -0.4 0 0.5 0.72 0.77 -0.4 0 0 0 0 1 0 "
id="feColorMatrix1961"/>
</filter>
</defs>
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1464"
inkscape:window-height="1639"
id="namedview4588"
showgrid="false"
inkscape:zoom="1.2512475"
inkscape:cx="341.65902"
inkscape:cy="305.69492"
inkscape:window-x="1512"
inkscape:window-y="25"
inkscape:window-maximized="0"
inkscape:current-layer="svg4586"
inkscape:showpageshadow="2"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="pt"/>
<path
d="M 512,256 C 512,397.38672 397.38672,512 256,512 114.61328,512 0,397.38672 0,256 0,114.61328 114.61328,0 256,0 397.38672,0 512,114.61328 512,256 Z m 0,0"
fill="#005ed3"
id="path4556"
style="display:inline;filter:url(#filter1943)"/>
<path
d="m 512,256 c 0,-11.71094 -0.80469,-23.23047 -2.32422,-34.52344 L 382.48047,94.28125 320.52344,121.85938 256,56.933594 212.69531,131.30469 129.51953,94.28125 141.86719,178.42187 49.949219,193.81641 114.32031,256 l -64.371091,62.18359 82.121091,82.16016 -2.55078,17.375 91.95703,91.95703 C 232.76953,511.19531 244.28906,512 256,512 397.38672,512 512,397.38672 512,256 Z"
id="path4558"
inkscape:connector-curvature="0"
style="display:inline;fill:#00459f;filter:url(#filter1947)"
sodipodi:nodetypes="scccccccccccccss"/>
<path
d="m256 86.742188 37.109375 63.738281 70.574219-31.414063-10.527344 71.71875 77.078125 12.910156-54.144531 52.304688 54.144531 52.304688-77.078125 12.910156 10.527344 71.71875-70.574219-31.414063-37.109375 63.738281-37.109375-63.738281-70.574219 31.414063 10.527344-71.71875-77.078125-12.910156 54.144531-52.304688-54.144531-52.304688 77.078125-12.910156-10.527344-71.71875 70.574219 31.414063zm0 0"
fill="#ff0335"
id="path4560"
style="filter:url(#filter1951)"/>
<path
d="m430.230469 308.300781-77.070313 12.910157 10.519532 71.71875-70.570313-31.410157-37.109375 63.742188v-338.523438l37.109375 63.742188 70.570313-31.410157-6.757813 46.101563-3.761719 25.617187 58.800782 9.851563 18.269531 3.058594-13.390625 12.929687-40.75 39.371094 11.378906 10.988281zm0 0"
fill="#c2001b"
id="path4562"
style="filter:url(#filter1955)"/>
<path
d="m256 455.066406-43.304688-74.371094-83.175781 37.023438 12.347657-84.140625-91.917969-15.394531 64.371093-62.183594-64.371093-62.183594 91.917969-15.394531-12.347657-84.140625 83.179688 37.023438 43.300781-74.371094 43.304688 74.371094 83.175781-37.023438-12.347657 84.140625 91.917969 15.394531-64.371093 62.183594 64.371093 62.183594-91.917969 15.398437 12.347657 84.136719-83.175781-37.023438zm-30.917969-112.722656 30.917969 53.101562 30.917969-53.101562 57.964843 25.800781-8.703124-59.292969 62.238281-10.425781-43.917969-42.425781 43.917969-42.425781-62.238281-10.425781 8.703124-59.292969-57.964843 25.800781-30.917969-53.101562-30.917969 53.101562-57.964843-25.800781 8.703124 59.292969-62.238281 10.425781 43.917969 42.425781-43.917969 42.425781 62.238281 10.425781-8.703124 59.292969zm0 0"
fill="#ffdf47"
id="path4564"
style="filter:url(#filter1959)"/>
<path
d="m403.308594 261.441406-5.628906-5.441406 25.160156-24.300781 39.210937-37.878907-55.75-9.339843-36.171875-6.058594 2.800782-19.09375 9.550781-65.046875-83.179688 37.019531-43.300781-74.371093v59.621093l30.921875 53.109375 57.957031-25.808594-3.910156 26.667969-2.546875 17.378907-2.242187 15.25 2.480468.421874 59.761719 10.007813-43.921875 42.421875 16.96875 16.390625 26.953125 26.03125-62.242187 10.429687 8.699218 59.296876-57.957031-25.808594-30.921875 53.109375v59.621093l43.300781-74.371093 83.179688 37.019531-12.351563-84.140625 91.921875-15.398437zm0 0"
fill="#fec000"
id="path4566"
style="filter:url(#filter1963)"/>
<g
aria-label="K"
transform="matrix(1.1590846,-0.34467221,0.22789693,0.794981,0,0)"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:296.55969238px;line-height:125%;font-family:Impact;-inkscape-font-specification:Impact;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.54528999;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="text4596">
<path
d="m 220.91497,266.9035 -34.89789,105.85211 38.2284,128.58643 H 161.2555 L 136.63873,400.84769 V 501.34204 H 75.676021 V 266.9035 h 60.962709 v 91.08205 l 27.07845,-91.08205 z"
style="font-size:296.55969238px;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.54528999;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path824"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 9.2 KiB

View File

@ -1 +1,2 @@
include 'komga'
include 'komga-tray'