feat(nosignal): NoSignal logo + V1 on About; fully square the UI

- About page: replace caelestia AnimatedLogo with the NoSignal logo
  (assets/nosignal-logo.png), title "NoSignal", version reads "V1".
- Square every remaining curved element to match the no-curves design:
  avatars, toggle/icon circles, power/media buttons, slider tracks+handles,
  NsSwitch track+knob, notification dot, calendar today, lock avatar -> radius 0.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
28allday 2026-06-14 11:42:08 +01:00
parent 7c06b808ae
commit 16de3f16fe
9 changed files with 27 additions and 21 deletions

BIN
assets/nosignal-logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

View file

@ -13,7 +13,7 @@ Rectangle {
implicitWidth: 38 implicitWidth: 38
implicitHeight: 22 implicitHeight: 22
radius: 11 radius: 0
color: on ? Theme.accent : Theme.fillSubtle color: on ? Theme.accent : Theme.fillSubtle
Behavior on color { Behavior on color {
@ -27,7 +27,7 @@ Rectangle {
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
implicitWidth: 16 implicitWidth: 16
implicitHeight: 16 implicitHeight: 16
radius: 8 radius: 0
color: root.on ? Theme.onAccent : Theme.text color: root.on ? Theme.onAccent : Theme.text
Behavior on x { Behavior on x {

View file

@ -157,7 +157,7 @@ WlSessionLockSurface {
Layout.topMargin: 64 Layout.topMargin: 64
implicitWidth: 74 implicitWidth: 74
implicitHeight: 74 implicitHeight: 74
radius: 37 radius: 0
gradient: Gradient { gradient: Gradient {
orientation: Gradient.Vertical orientation: Gradient.Vertical
GradientStop { GradientStop {

View file

@ -1,5 +1,6 @@
import QtQuick import QtQuick
import QtQuick.Layouts import QtQuick.Layouts
import Quickshell
import Quickshell.Io import Quickshell.Io
import Caelestia import Caelestia
import Caelestia.Config import Caelestia.Config
@ -61,22 +62,27 @@ PageBase {
width: parent.width - Tokens.padding.largeIncreased * 2 width: parent.width - Tokens.padding.largeIncreased * 2
spacing: Tokens.spacing.small spacing: Tokens.spacing.small
AnimatedLogo { Image {
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
Layout.preferredWidth: implicitWidth Layout.preferredWidth: 104
Layout.preferredHeight: implicitHeight Layout.preferredHeight: 104
source: Quickshell.shellDir + "/assets/nosignal-logo.png"
sourceSize.width: 208
sourceSize.height: 208
fillMode: Image.PreserveAspectFit
smooth: true
} }
StyledText { StyledText {
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
Layout.topMargin: Tokens.spacing.small Layout.topMargin: Tokens.spacing.small
text: "Caelestia" text: "NoSignal"
font: Tokens.font.headline.builders.large.width(110).build() font: Tokens.font.headline.builders.large.width(110).build()
} }
StyledText { StyledText {
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
text: CUtils.version ? `v${CUtils.version}` : "…" text: "V1"
color: Colours.palette.m3onSurfaceVariant color: Colours.palette.m3onSurfaceVariant
font: Tokens.font.body.medium font: Tokens.font.body.medium
} }

View file

@ -164,7 +164,7 @@ Variants {
anchors.topMargin: 1 anchors.topMargin: 1
implicitWidth: 6 implicitWidth: 6
implicitHeight: 6 implicitHeight: 6
radius: 3 radius: 0
color: Theme.accent color: Theme.accent
} }
} }

View file

@ -122,13 +122,13 @@ NsPanel {
Rectangle { Rectangle {
Layout.fillWidth: true Layout.fillWidth: true
implicitHeight: 6 implicitHeight: 6
radius: 3 radius: 0
color: Theme.fillSubtle color: Theme.fillSubtle
Rectangle { Rectangle {
width: parent.width * Math.max(0, Math.min(1, s.value)) width: parent.width * Math.max(0, Math.min(1, s.value))
height: parent.height height: parent.height
radius: 3 radius: 0
color: Theme.accent color: Theme.accent
} }
@ -137,7 +137,7 @@ NsPanel {
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
implicitWidth: 14 implicitWidth: 14
implicitHeight: 14 implicitHeight: 14
radius: 7 radius: 0
color: Theme.accent color: Theme.accent
} }

View file

@ -109,7 +109,7 @@ NsPanel {
visible: parent.modelData > 0 visible: parent.modelData > 0
implicitWidth: 26 implicitWidth: 26
implicitHeight: 26 implicitHeight: 26
radius: 13 radius: 0
color: parent.today ? Theme.accent : "transparent" color: parent.today ? Theme.accent : "transparent"
StyledText { StyledText {

View file

@ -40,7 +40,7 @@ NsPanel {
Rectangle { Rectangle {
implicitWidth: 26 implicitWidth: 26
implicitHeight: 26 implicitHeight: 26
radius: 13 radius: 0
color: Notifs.dnd ? Theme.accentSoft : dndMa.containsMouse ? Theme.hover : "transparent" color: Notifs.dnd ? Theme.accentSoft : dndMa.containsMouse ? Theme.hover : "transparent"
NsIcon { NsIcon {

View file

@ -28,7 +28,7 @@ NsPanel {
Rectangle { Rectangle {
implicitWidth: 40 implicitWidth: 40
implicitHeight: 40 implicitHeight: 40
radius: 20 radius: 0
gradient: Gradient { gradient: Gradient {
orientation: Gradient.Vertical orientation: Gradient.Vertical
GradientStop { GradientStop {
@ -75,7 +75,7 @@ NsPanel {
Rectangle { Rectangle {
implicitWidth: 34 implicitWidth: 34
implicitHeight: 34 implicitHeight: 34
radius: 17 radius: 0
color: pwrMa.containsMouse ? Theme.accentSoft : Theme.fillSubtle color: pwrMa.containsMouse ? Theme.accentSoft : Theme.fillSubtle
NsIcon { NsIcon {
@ -264,7 +264,7 @@ NsPanel {
Rectangle { Rectangle {
implicitWidth: 30 implicitWidth: 30
implicitHeight: 30 implicitHeight: 30
radius: 15 radius: 0
color: tile.on ? Theme.accent : Qt.rgba(1, 1, 1, 0.06) color: tile.on ? Theme.accent : Qt.rgba(1, 1, 1, 0.06)
NsIcon { NsIcon {
@ -319,13 +319,13 @@ NsPanel {
Layout.fillWidth: true Layout.fillWidth: true
implicitHeight: 6 implicitHeight: 6
radius: 3 radius: 0
color: Theme.fillSubtle color: Theme.fillSubtle
Rectangle { Rectangle {
width: parent.width * Math.max(0, Math.min(1, s.value)) width: parent.width * Math.max(0, Math.min(1, s.value))
height: parent.height height: parent.height
radius: 3 radius: 0
color: Theme.accent color: Theme.accent
} }
@ -334,7 +334,7 @@ NsPanel {
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
implicitWidth: 14 implicitWidth: 14
implicitHeight: 14 implicitHeight: 14
radius: 7 radius: 0
color: Theme.accent color: Theme.accent
} }
@ -362,7 +362,7 @@ NsPanel {
implicitWidth: 28 implicitWidth: 28
implicitHeight: 28 implicitHeight: 28
radius: 14 radius: 0
color: mbm.containsMouse ? Theme.hover : "transparent" color: mbm.containsMouse ? Theme.hover : "transparent"
NsIcon { NsIcon {