moment/src/themes/Midnight.qpl

450 lines
14 KiB
Plaintext
Raw Normal View History

// vim: syntax=qml
2019-07-25 04:58:16 +10:00
// Base variables
2019-12-05 00:08:38 +11:00
real uiScale: 1.0
int minimumSupportedWidth: 240 * uiScale
int minimumSupportedHeight: 120 * uiScale
int contentIsWideAbove: 472 * uiScale
2019-08-21 08:31:20 +10:00
int baseElementsHeight: 36 * uiScale
int spacing: 12 * uiScale
int radius: 4 * uiScale
2019-08-21 08:31:20 +10:00
int animationDuration: 100
2019-08-28 04:21:10 +10:00
real loadingElementsOpacity: 0.8
2019-08-21 08:31:20 +10:00
real disabledElementsOpacity: 0.3
fontSize:
2019-12-05 00:08:38 +11:00
int smaller: 13 * uiScale
int small: 13 * uiScale
int normal: 16 * uiScale
int big: 22 * uiScale
int bigger: 32 * uiScale
int biggest: 48 * uiScale
fontFamily:
2020-03-16 10:06:48 +11:00
string sans: "Roboto"
string mono: "Hack"
colors:
2020-03-13 16:09:04 +11:00
int hue: 240
2020-03-10 23:58:14 +11:00
2020-03-13 16:09:04 +11:00
real intensity: 1.0
2020-03-14 03:11:02 +11:00
real coloredTextIntensity: intensity * 71
2020-03-13 16:09:04 +11:00
int saturation: 60
int bgSaturation: saturation
int coloredTextSaturation: saturation + 20
real opacity: 0.7
2020-03-10 23:58:14 +11:00
color weakBackground:
hsluv(hue, bgSaturation, intensity * 2.5, opacity)
color mediumBackground:
hsluv(hue, bgSaturation, intensity * 7, opacity)
color strongBackground:
hsluv(hue, bgSaturation * 2, intensity, opacity)
2020-03-13 16:09:04 +11:00
color accentBackground: hsluv(hue, saturation, intensity * 32, 1)
color accentElement: hsluv(hue, saturation * 1.5, intensity * 52, 1)
color strongAccentElement: hsluv(hue, saturation * 1.5, intensity * 72, 1)
color positiveBackground:
2020-03-13 16:09:04 +11:00
hsluv(155, saturation * 1.5, intensity * 52, opacity)
color middleBackground:
2020-03-13 16:09:04 +11:00
hsluv(60, saturation * 1.5, intensity * 52, opacity)
color negativeBackground:
2020-03-13 16:09:04 +11:00
hsluv(0, saturation * 1.5, intensity * 52, opacity)
2020-03-10 23:58:14 +11:00
color alertBackground: negativeBackground
2019-08-29 08:21:13 +10:00
color brightText: hsluv(0, 0, intensity * 100)
2020-03-10 23:58:14 +11:00
color text: hsluv(0, 0, intensity * 85)
color halfDimText: hsluv(0, 0, intensity * 72)
color dimText: hsluv(0, 0, intensity * 60)
2019-08-17 06:30:18 +10:00
2020-03-13 16:09:04 +11:00
color warningText: hsluv(60, coloredTextSaturation, coloredTextIntensity)
color errorText: hsluv(0, coloredTextSaturation, coloredTextIntensity)
color accentText: hsluv(hue, coloredTextSaturation, coloredTextIntensity)
color link: hsluv(hue, coloredTextSaturation, coloredTextIntensity)
color code: hsluv(hue + 10, coloredTextSaturation, coloredTextIntensity)
// Example of an animation, set running: true to enable
NumberAnimation on hue
running: false
from: 0
to: 360
duration: 10000
loops: Animation.Infinite
icons:
string preferredPack: "thin"
2019-08-29 08:32:16 +10:00
// "transparent" to disable colorizing
2019-08-31 10:30:39 +10:00
color colorize: hsluv(0, 0, colors.intensity * 90)
2019-08-29 08:32:16 +10:00
color disabledColorize: "white"
2019-12-05 00:08:38 +11:00
int smallDimension: 16 * uiScale
int dimension: 22 * uiScale
2019-07-25 04:58:16 +10:00
// Generic UI controls
controls:
box:
int defaultWidth: minimumSupportedWidth
2020-03-10 23:58:14 +11:00
color background: colors.mediumBackground
int radius: theme.radius
popup:
2020-03-16 09:01:56 +11:00
int defaultWidth: minimumSupportedWidth * 1.75
color background: colors.mediumBackground
color windowOverlay: hsluv(0, 0, 0, 0.7)
header:
color background: colors.strongBackground
button:
2020-03-10 23:58:14 +11:00
color background: colors.strongBackground
2019-08-21 08:31:20 +10:00
color text: colors.text
2019-08-21 07:41:24 +10:00
color hoveredOverlay: hsluv(0, 0, 50, 0.2)
color pressedOverlay: hsluv(0, 0, 50, 0.5)
2019-08-21 07:41:24 +10:00
color checkedOverlay: colors.accentBackground
tab:
color text: controls.button.text
color background: controls.button.background
color alternateBackground: hsluv(
colors.hue,
colors.bgSaturation * 1.25,
colors.intensity * 4,
Math.max(0.6, colors.opacity)
)
2020-03-19 18:33:46 +11:00
color bottomLine: background
color hoveredOverlay: controls.button.hoveredOverlay
color pressedOverlay: controls.button.pressedOverlay
color checkedOverlay: controls.button.checkedOverlay
2019-08-22 06:23:22 +10:00
menu:
color background: controls.button.background
color border: "black"
2019-08-22 06:23:22 +10:00
real borderWidth: 2
menuItem:
color background: "transparent"
color text: controls.button.text
color hoveredOverlay: controls.button.hoveredOverlay
color pressedOverlay: controls.button.hoveredOverlay
color checkedOverlay: controls.button.hoveredOverlay
2019-08-21 08:31:20 +10:00
checkBox:
2020-03-10 23:58:14 +11:00
color checkIconColorize: colors.accentElement
color boxBackground: controls.button.background
int boxSize: 24 * uiScale
2019-08-21 08:31:20 +10:00
2020-03-10 23:58:14 +11:00
color boxBorder: "black"
color boxHoveredBorder: colors.accentElement
color boxPressedBorder: colors.strongAccentElement
2019-08-21 08:31:20 +10:00
2020-03-13 16:09:04 +11:00
color text: controls.button.text
2019-11-08 00:50:59 +11:00
color subtitle: colors.dimText
2019-08-21 08:31:20 +10:00
2019-08-21 18:58:34 +10:00
listView:
2020-03-13 16:09:04 +11:00
color highlight: hsluv(
colors.hue,
colors.bgSaturation * 2,
colors.intensity * 1,
colors.opacity / 1.5,
2020-03-13 16:09:04 +11:00
)
color smallPaneHighlight: colors.accentBackground
2019-08-21 18:58:34 +10:00
textField:
2020-03-10 23:58:14 +11:00
color background: colors.strongBackground
color focusedBackground: background
int borderWidth: 1
color border: "transparent"
2020-03-10 23:58:14 +11:00
color focusedBorder: colors.accentElement
color errorBorder: colors.negativeBackground
color text: colors.text
color focusedText: colors.text
color placeholderText: colors.dimText
textArea:
2020-03-10 23:58:14 +11:00
color background: colors.strongBackground
color text: colors.text
color placeholderText: controls.textField.placeholderText
toolTip:
int delay: 500
2020-03-10 23:58:14 +11:00
color background: colors.strongBackground
color text: colors.text
color border: "black"
int borderWidth: 2
2019-08-29 04:28:20 +10:00
progressBar:
2019-12-06 01:51:57 +11:00
int height: Math.max(2, spacing / 2)
2020-03-10 23:58:14 +11:00
color background: colors.strongBackground
color foreground: colors.accentElement
2019-12-06 01:51:57 +11:00
color pausedForeground: colors.middleBackground
color errorForeground: colors.negativeBackground
2019-08-29 04:28:20 +10:00
2019-11-07 04:49:48 +11:00
circleProgressBar:
int thickness: Math.max(2, spacing / 2)
2020-03-10 23:58:14 +11:00
color background: colors.strongBackground
color foreground: colors.accentElement
2019-12-02 17:57:47 +11:00
color errorForeground: colors.negativeBackground
2019-11-07 04:49:48 +11:00
color text: colors.text
real indeterminateSpan: 0.5 // 0-1
2019-11-07 04:49:48 +11:00
2019-09-18 06:30:04 +10:00
slider:
int radius: 2
int height: controls.progressBar.height
color background: controls.progressBar.background
color foreground: controls.progressBar.foreground
handle:
int size: 20
color inside: hsluv(0, 0, 90)
color pressedInside: "white"
color border: "black"
2020-03-10 23:58:14 +11:00
color pressedBorder: colors.strongAccentElement
2019-09-18 06:30:04 +10:00
2019-09-13 07:27:26 +10:00
image:
int maxPauseIndicatorSize: 64
avatar:
int size: baseElementsHeight
int radius: theme.radius
hoveredImage:
int size: 192
color background: hsluv(0, 0, 0, 0.4)
background:
2020-03-10 23:58:14 +11:00
int saturation: colors.saturation
int lightness: Math.min(50, colors.intensity * 25)
real opacity: 1.0
letter:
2020-03-10 23:58:14 +11:00
int saturation: colors.saturation + 20
int lightness: colors.intensity * 60
real opacity: 1.0
displayName:
2020-03-13 16:09:04 +11:00
int saturation: colors.coloredTextSaturation
2020-03-14 03:11:02 +11:00
int lightness: colors.coloredTextIntensity
// Specific interface parts
2019-07-25 04:58:16 +10:00
ui:
// The background image can be an URL or local file path
// (in the form file://<path>, e.g. file:///home/user/images/foo.png).
// If not specified, the gradient will be shown instead.
url image: "../../images/midnight.jpg"
point gradientStart: Qt.point(0, 0)
point gradientEnd: Qt.point(window.width, window.height)
color gradientStartColor:
hsluv(colors.hue, 100, colors.intensity * 8)
color gradientEndColor:
hsluv(colors.hue + 50, 30, colors.intensity * 22)
// To have a solid color instead,
// set gradientStartColor and gradientEndColor to the same value, e.g.:
2020-03-13 16:09:04 +11:00
// color gradientStartColor: hsluv(0, 0, 0, 0.5)
// color gradientEndColor: hsluv(0, 0, 0, 0.5)
2019-12-11 06:17:41 +11:00
mainPane:
2020-03-13 16:09:04 +11:00
color background: "transparent"
topBar:
color background: colors.strongBackground
color nameVersionLabel: colors.text
2020-03-13 16:09:04 +11:00
listView:
color background: colors.mediumBackground
2020-03-13 16:09:04 +11:00
account:
real collapsedOpacity: 0.3
color background: "transparent"
color name: colors.text
int avatarRadius: controls.avatar.radius
int collapsedAvatarRadius: controls.avatar.size / 2
2020-03-13 16:09:04 +11:00
room:
real leftRoomOpacity: 0.65
color background: "transparent"
color name: colors.text
color lastEventDate: colors.halfDimText
2020-03-13 16:09:04 +11:00
color subtitle: colors.dimText
color subtitleQuote: chat.message.quote
int avatarRadius: controls.avatar.radius
int collapsedAvatarRadius: controls.avatar.radius
2020-03-13 16:09:04 +11:00
bottomBar:
color background: colors.strongBackground
2020-03-13 16:09:04 +11:00
color settingsButtonBackground: "transparent"
color filterFieldBackground: "transparent"
chat:
roomHeader:
color background: controls.header.background
color name: colors.text
color topic: colors.dimText
2019-12-11 05:57:54 +11:00
roomPane:
2020-03-13 16:09:04 +11:00
color background: "transparent"
2020-03-13 16:09:04 +11:00
topBar:
color background: colors.strongBackground
2020-03-13 16:09:04 +11:00
listView:
color background: colors.mediumBackground
2020-03-13 16:09:04 +11:00
member:
real invitedOpacity: 0.5
2020-03-13 16:09:04 +11:00
color background: "transparent"
color name: colors.text
color subtitle: colors.dimText
color adminIcon: hsluv(60, colors.saturation * 2.25, 60)
color moderatorIcon: adminIcon
color invitedIcon: hsluv(0, colors.saturation * 2.25, 60)
2020-03-16 06:17:44 +11:00
roomSettings:
color background: colors.mediumBackground
2020-03-13 16:09:04 +11:00
bottomBar:
2020-03-10 23:58:14 +11:00
color background: colors.strongBackground
2020-03-13 16:09:04 +11:00
inviteButton:
color background: "transparent"
filterMembers:
color background: "transparent"
eventList:
int ownEventsOnRightUnderWidth: 896 * theme.uiScale
color background: "transparent"
message:
2020-03-17 08:21:17 +11:00
int avatarSize: 56 * uiScale
int collapsedAvatarSize: 32 * uiScale
int avatarRadius: controls.avatar.radius
int radius: theme.radius
int horizontalSpacing: theme.spacing / 1.25
int verticalSpacing: theme.spacing / 1.75
2019-12-05 00:08:38 +11:00
color background: colors.weakBackground
color ownBackground: colors.mediumBackground
2019-07-25 14:10:07 +10:00
color body: colors.text
color date: colors.dimText
2019-11-30 22:10:48 +11:00
color noticeBody: colors.halfDimText
2020-03-16 06:29:57 +11:00
int noticeLineWidth: 1 * uiScale
2019-11-30 22:10:48 +11:00
2020-03-13 16:09:04 +11:00
color quote: hsluv(
135, colors.coloredTextSaturation, colors.coloredTextIntensity,
)
2019-08-31 02:10:45 +10:00
color link: colors.link
color code: colors.code
string styleSheet:
2019-09-08 04:34:14 +10:00
"* { white-space: pre-wrap }" +
"a { color: " + link + " }" +
"p { margin-top: 0 }" +
"code { font-family: " + fontFamily.mono + "; " +
"color: " + code + " }" +
"h1, h2, h3 { font-weight: normal }" +
"h1 { font-size: " + fontSize.biggest + "px }" +
"h2 { font-size: " + fontSize.bigger + "px }" +
"h3 { font-size: " + fontSize.big + "px }" +
"h4 { font-size: " + fontSize.normal + "px }" +
"h5 { font-size: " + fontSize.small + "px }" +
"h6 { font-size: " + fontSize.smaller + "px }" +
".sender { margin-bottom: " + spacing / 2 + " }" +
".quote { color: " + quote + " }"
string styleInclude:
'<style type"text/css">\n' + styleSheet + '\n</style>\n'
// Prefered minimum width of file messages
2019-12-06 01:51:57 +11:00
int fileMinWidth: 256 * uiScale
// Don't scale down thumbnails below this size in pixels, if
// the becomes too small to show it at normal size.
size thumbnailMinSize: Qt.size(256 * uiScale, 256 * uiScale)
// How much of the chat height thumbnails can take at most,
// by default 0.4 for 40%.
real thumbnailMaxHeightRatio: 0.4 * Math.min(1, uiScale)
daybreak:
2020-03-10 23:58:14 +11:00
color background: colors.mediumBackground
color text: colors.text
int radius: theme.radius
inviteBanner:
color background: colors.mediumBackground
leftBanner:
color background: colors.mediumBackground
unknownDevices:
color background: colors.mediumBackground
typingMembers:
2019-09-08 06:55:07 +10:00
color background: hsluv(
colors.hue, colors.saturation, colors.intensity * 9, 0.52
)
fileTransfer:
2019-11-07 07:14:48 +11:00
color background: chat.typingMembers.background
2019-08-28 13:03:52 +10:00
composer:
color background: colors.strongBackground
2019-09-18 06:30:04 +10:00
uploadButton:
color background: "transparent"
2019-09-18 06:30:04 +10:00
mediaPlayer:
hoverPreview:
int maxHeight: 192
2019-09-18 06:30:04 +10:00
progress:
int height: 8
color background: hsluv(0, 0, 0, 0.5)
controls:
2019-12-05 00:08:38 +11:00
int iconSize: icons.dimension
2019-09-18 06:30:04 +10:00
int volumeSliderWidth: 100
int speedSliderWidth: 100
color background: hsluv(
colors.hue, colors.saturation * 1.25, colors.intensity * 2, 0.85,
)