forked from Shinonome/dots-hyprland
Merge branch 'end-4:main' into parallax
This commit is contained in:
@@ -1,28 +1,31 @@
|
|||||||
function fish_prompt -d "Write out the prompt"
|
# Commands to run in interactive sessions can go here
|
||||||
# This shows up as USER@HOST /home/user/ >, with the directory colored
|
if status is-interactive
|
||||||
# $USER and $hostname are set by fish, so you can just use them
|
|
||||||
# instead of using `whoami` and `hostname`
|
|
||||||
printf '%s@%s %s%s%s > ' $USER $hostname \
|
|
||||||
(set_color $fish_color_cwd) (prompt_pwd) (set_color normal)
|
|
||||||
end
|
|
||||||
|
|
||||||
if status is-interactive # Commands to run in interactive sessions can go here
|
|
||||||
|
|
||||||
# No greeting
|
# No greeting
|
||||||
set fish_greeting
|
set fish_greeting
|
||||||
|
|
||||||
# Use starship
|
# Use starship
|
||||||
starship init fish | source
|
function starship_transient_prompt_func
|
||||||
|
starship module character
|
||||||
|
end
|
||||||
|
if test "$TERM" != "linux"
|
||||||
|
starship init fish | source
|
||||||
|
enable_transience
|
||||||
|
end
|
||||||
|
|
||||||
|
# Colors
|
||||||
if test -f ~/.local/state/quickshell/user/generated/terminal/sequences.txt
|
if test -f ~/.local/state/quickshell/user/generated/terminal/sequences.txt
|
||||||
cat ~/.local/state/quickshell/user/generated/terminal/sequences.txt
|
cat ~/.local/state/quickshell/user/generated/terminal/sequences.txt
|
||||||
end
|
end
|
||||||
|
|
||||||
# Aliases
|
# Aliases
|
||||||
alias clear "printf '\033[2J\033[3J\033[1;1H'" # fix: kitty doesn't clear properly
|
# kitty doesn't clear properly so we need to do this weird printing
|
||||||
|
alias clear "printf '\033[2J\033[3J\033[1;1H'"
|
||||||
alias celar "printf '\033[2J\033[3J\033[1;1H'"
|
alias celar "printf '\033[2J\033[3J\033[1;1H'"
|
||||||
alias claer "printf '\033[2J\033[3J\033[1;1H'"
|
alias claer "printf '\033[2J\033[3J\033[1;1H'"
|
||||||
alias ls 'eza --icons'
|
|
||||||
alias pamcan pacman
|
alias pamcan pacman
|
||||||
alias q 'qs -c ii'
|
alias q 'qs -c ii'
|
||||||
|
if test "$TERM" != "linux"
|
||||||
|
alias ls 'eza --icons'
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -12,11 +12,11 @@ QuickToggleModel {
|
|||||||
name: Translation.tr("Night Light")
|
name: Translation.tr("Night Light")
|
||||||
statusText: (auto ? Translation.tr("Auto, ") : "") + (toggled ? Translation.tr("Active") : Translation.tr("Inactive"))
|
statusText: (auto ? Translation.tr("Auto, ") : "") + (toggled ? Translation.tr("Active") : Translation.tr("Inactive"))
|
||||||
|
|
||||||
toggled: Hyprsunset.active
|
toggled: Hyprsunset.temperatureActive
|
||||||
icon: auto ? "night_sight_auto" : "bedtime"
|
icon: auto ? "night_sight_auto" : "bedtime"
|
||||||
|
|
||||||
mainAction: () => {
|
mainAction: () => {
|
||||||
Hyprsunset.toggle()
|
Hyprsunset.toggleTemperature()
|
||||||
}
|
}
|
||||||
hasMenu: true
|
hasMenu: true
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ Slider {
|
|||||||
id: root
|
id: root
|
||||||
|
|
||||||
property list<real> stopIndicatorValues: [1]
|
property list<real> stopIndicatorValues: [1]
|
||||||
|
property list<real> dividerValues: []
|
||||||
enum Configuration {
|
enum Configuration {
|
||||||
Wavy = 4,
|
Wavy = 4,
|
||||||
XS = 12,
|
XS = 12,
|
||||||
@@ -45,6 +46,7 @@ Slider {
|
|||||||
property real handleHeight: (configuration === StyledSlider.Configuration.Wavy) ? 24 : Math.max(33, trackWidth + 9)
|
property real handleHeight: (configuration === StyledSlider.Configuration.Wavy) ? 24 : Math.max(33, trackWidth + 9)
|
||||||
property real handleWidth: root.pressed ? handlePressedWidth : handleDefaultWidth
|
property real handleWidth: root.pressed ? handlePressedWidth : handleDefaultWidth
|
||||||
property real handleMargins: 4
|
property real handleMargins: 4
|
||||||
|
property real dividerMargins: 2
|
||||||
property real trackDotSize: 3
|
property real trackDotSize: 3
|
||||||
property bool usePercentTooltip: true
|
property bool usePercentTooltip: true
|
||||||
property string tooltipContent: usePercentTooltip ? `${Math.round(((value - from) / (to - from)) * 100)}%` : `${Math.round(value)}`
|
property string tooltipContent: usePercentTooltip ? `${Math.round(((value - from) / (to - from)) * 100)}%` : `${Math.round(value)}`
|
||||||
@@ -94,71 +96,94 @@ Slider {
|
|||||||
}
|
}
|
||||||
|
|
||||||
background: Item {
|
background: Item {
|
||||||
|
id: background
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
width: parent.width
|
anchors.horizontalCenter: parent.horizontalCenter
|
||||||
|
width: root.width
|
||||||
implicitHeight: trackWidth
|
implicitHeight: trackWidth
|
||||||
|
property var normalized: root.dividerValues.map(v => (v - root.from) / (root.to - root.from))
|
||||||
|
property var filtered: normalized.filter(v => Math.abs(v - root.visualPosition) * effectiveDraggingWidth > handleMargins + handleWidth / 2 - dividerMargins)
|
||||||
|
property var leftValues: [0, ...filtered.filter(v => v < root.visualPosition), root.visualPosition]
|
||||||
|
property var rightValues: [root.visualPosition, ...filtered.filter(v => v > root.visualPosition), 1]
|
||||||
|
property var leftWidths: leftValues.map((v, i, a) => a[i + 1] - v).slice(0, -1)
|
||||||
|
property var rightWidths: rightValues.map((v, i, a) => a[i + 1] - v).slice(0, -1)
|
||||||
|
|
||||||
// Fill left
|
// Fill left
|
||||||
Loader {
|
Repeater {
|
||||||
anchors {
|
model: background.leftWidths.length
|
||||||
verticalCenter: parent.verticalCenter
|
|
||||||
left: parent.left
|
Loader {
|
||||||
}
|
required property real index
|
||||||
width: root.handleMargins + (root.visualPosition * root.effectiveDraggingWidth) - (root.handleWidth / 2 + root.handleMargins)
|
anchors.verticalCenter: background.verticalCenter
|
||||||
height: root.trackWidth
|
property real leftMargin: index > 0 ? root.dividerMargins : 0
|
||||||
active: !root.wavy
|
property real rightMargin: index < background.leftWidths.length - 1 ? root.dividerMargins : root.handleMargins
|
||||||
sourceComponent: Rectangle {
|
x: background.leftValues[index] * root.effectiveDraggingWidth + leftMargin + (index > 0 ? leftPadding : 0)
|
||||||
color: root.highlightColor
|
width: background.leftWidths[index] * root.effectiveDraggingWidth - leftMargin - rightMargin - (index === background.leftWidths.length - 1 ? handleWidth / 2 : 0) + (index === 0 ? leftPadding : 0)
|
||||||
topLeftRadius: root.trackRadius
|
height: root.trackWidth
|
||||||
bottomLeftRadius: root.trackRadius
|
active: !root.wavy
|
||||||
topRightRadius: root.unsharpenRadius
|
sourceComponent: Rectangle {
|
||||||
bottomRightRadius: root.unsharpenRadius
|
color: root.highlightColor
|
||||||
|
topLeftRadius: index === 0 ? root.trackRadius : root.unsharpenRadius
|
||||||
|
bottomLeftRadius: index === 0 ? root.trackRadius : root.unsharpenRadius
|
||||||
|
topRightRadius: root.unsharpenRadius
|
||||||
|
bottomRightRadius: root.unsharpenRadius
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Loader {
|
Repeater {
|
||||||
anchors {
|
model: background.leftWidths.length
|
||||||
verticalCenter: parent.verticalCenter
|
|
||||||
left: parent.left
|
Loader {
|
||||||
}
|
required property int index
|
||||||
width: root.handleMargins + (root.visualPosition * root.effectiveDraggingWidth) - (root.handleWidth / 2 + root.handleMargins)
|
anchors.verticalCenter: background.verticalCenter
|
||||||
height: root.height
|
property real leftMargin: index > 0 ? root.dividerMargins : 0
|
||||||
active: root.wavy
|
property real rightMargin: index < background.leftWidths.length - 1 ? root.dividerMargins : root.handleMargins
|
||||||
sourceComponent: WavyLine {
|
x: background.leftValues[index] * root.effectiveDraggingWidth + leftMargin + (index > 0 ? leftPadding : 0)
|
||||||
id: wavyFill
|
width: background.leftWidths[index] * root.effectiveDraggingWidth - leftMargin - rightMargin - (index === background.leftWidths.length - 1 ? handleWidth / 2 : 0) + (index === 0 ? leftPadding : 0)
|
||||||
frequency: root.waveFrequency
|
height: root.height
|
||||||
fullLength: root.width
|
active: root.wavy
|
||||||
color: root.highlightColor
|
sourceComponent: WavyLine {
|
||||||
amplitudeMultiplier: root.wavy ? 0.5 : 0
|
id: wavyFill
|
||||||
width: root.handleMargins + (root.visualPosition * root.effectiveDraggingWidth) - (root.handleWidth / 2 + root.handleMargins)
|
frequency: root.waveFrequency
|
||||||
height: root.trackWidth
|
fullLength: root.width
|
||||||
Connections {
|
color: root.highlightColor
|
||||||
target: root
|
amplitudeMultiplier: root.wavy ? 0.5 : 0
|
||||||
function onValueChanged() { wavyFill.requestPaint(); }
|
width: parent.width
|
||||||
function onHighlightColorChanged() { wavyFill.requestPaint(); }
|
height: root.trackWidth
|
||||||
}
|
Connections {
|
||||||
FrameAnimation {
|
target: root
|
||||||
running: root.animateWave
|
function onValueChanged() { wavyFill.requestPaint(); }
|
||||||
onTriggered: {
|
function onHighlightColorChanged() { wavyFill.requestPaint(); }
|
||||||
wavyFill.requestPaint()
|
}
|
||||||
|
FrameAnimation {
|
||||||
|
running: root.animateWave
|
||||||
|
onTriggered: {
|
||||||
|
wavyFill.requestPaint()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fill right
|
// Fill right
|
||||||
Rectangle {
|
Repeater {
|
||||||
anchors {
|
model: background.rightWidths.length
|
||||||
verticalCenter: parent.verticalCenter
|
|
||||||
right: parent.right
|
Rectangle {
|
||||||
|
required property int index
|
||||||
|
anchors.verticalCenter: background.verticalCenter
|
||||||
|
property real leftMargin: index > 0 ? root.dividerMargins : root.handleMargins
|
||||||
|
property real rightMargin: index < background.rightWidths.length - 1 ? root.dividerMargins : 0
|
||||||
|
x: background.rightValues[index] * root.effectiveDraggingWidth + leftMargin + (index === 0 ? handleWidth / 2 : 0) + leftPadding
|
||||||
|
width: background.rightWidths[index] * root.effectiveDraggingWidth - leftMargin - rightMargin - (index === 0 ? handleWidth / 2 : 0) + (index === background.rightWidths.length - 1 ? rightPadding : 0)
|
||||||
|
height: trackWidth
|
||||||
|
color: root.trackColor
|
||||||
|
topRightRadius: index === background.rightWidths.length - 1 ? root.trackRadius : root.unsharpenRadius
|
||||||
|
bottomRightRadius: index === background.rightWidths.length - 1 ? root.trackRadius : root.unsharpenRadius
|
||||||
|
topLeftRadius: root.unsharpenRadius
|
||||||
|
bottomLeftRadius: root.unsharpenRadius
|
||||||
}
|
}
|
||||||
width: root.handleMargins + ((1 - root.visualPosition) * root.effectiveDraggingWidth) - (root.handleWidth / 2 + root.handleMargins)
|
|
||||||
height: trackWidth
|
|
||||||
color: root.trackColor
|
|
||||||
topRightRadius: root.trackRadius
|
|
||||||
bottomRightRadius: root.trackRadius
|
|
||||||
topLeftRadius: root.unsharpenRadius
|
|
||||||
bottomLeftRadius: root.unsharpenRadius
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Stop indicators
|
// Stop indicators
|
||||||
@@ -177,7 +202,7 @@ Slider {
|
|||||||
|
|
||||||
implicitWidth: root.handleWidth
|
implicitWidth: root.handleWidth
|
||||||
implicitHeight: root.handleHeight
|
implicitHeight: root.handleHeight
|
||||||
x: root.handleMargins + (root.visualPosition * root.effectiveDraggingWidth) - (root.handleWidth / 2)
|
x: root.leftPadding + (root.visualPosition * root.effectiveDraggingWidth) - (root.handleWidth / 2)
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
radius: Appearance.rounding.full
|
radius: Appearance.rounding.full
|
||||||
color: root.handleColor
|
color: root.handleColor
|
||||||
|
|||||||
@@ -59,8 +59,8 @@ Item { // Bar content region
|
|||||||
implicitWidth: leftSectionRowLayout.implicitWidth
|
implicitWidth: leftSectionRowLayout.implicitWidth
|
||||||
implicitHeight: Appearance.sizes.baseBarHeight
|
implicitHeight: Appearance.sizes.baseBarHeight
|
||||||
|
|
||||||
onScrollDown: root.brightnessMonitor.setBrightness(root.brightnessMonitor.brightness - 0.05)
|
onScrollDown: Brightness.decreaseBrightness()
|
||||||
onScrollUp: root.brightnessMonitor.setBrightness(root.brightnessMonitor.brightness + 0.05)
|
onScrollUp: Brightness.increaseBrightness()
|
||||||
onMovedAway: GlobalStates.osdBrightnessOpen = false
|
onMovedAway: GlobalStates.osdBrightnessOpen = false
|
||||||
onPressed: event => {
|
onPressed: event => {
|
||||||
if (event.button === Qt.LeftButton)
|
if (event.button === Qt.LeftButton)
|
||||||
@@ -70,7 +70,7 @@ Item { // Bar content region
|
|||||||
// Visual content
|
// Visual content
|
||||||
ScrollHint {
|
ScrollHint {
|
||||||
reveal: barLeftSideMouseArea.hovered
|
reveal: barLeftSideMouseArea.hovered
|
||||||
icon: "light_mode"
|
icon: Hyprsunset.gamma === 100 ? "light_mode" : "wb_twilight"
|
||||||
tooltipText: Translation.tr("Scroll to change brightness")
|
tooltipText: Translation.tr("Scroll to change brightness")
|
||||||
side: "left"
|
side: "left"
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
|
|||||||
@@ -25,6 +25,10 @@ Scope {
|
|||||||
id: "brightness",
|
id: "brightness",
|
||||||
sourceUrl: "indicators/BrightnessIndicator.qml"
|
sourceUrl: "indicators/BrightnessIndicator.qml"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
id: "gamma",
|
||||||
|
sourceUrl: "indicators/GammaIndicator.qml"
|
||||||
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
function triggerOsd() {
|
function triggerOsd() {
|
||||||
@@ -52,6 +56,15 @@ Scope {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Connections {
|
||||||
|
target: Hyprsunset
|
||||||
|
function onGammaChangeAttempt() {
|
||||||
|
root.protectionMessage = "";
|
||||||
|
root.currentIndicator = "gamma";
|
||||||
|
root.triggerOsd();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Connections {
|
Connections {
|
||||||
// Listen to volume changes
|
// Listen to volume changes
|
||||||
target: Audio.sink?.audio ?? null
|
target: Audio.sink?.audio ?? null
|
||||||
|
|||||||
@@ -11,6 +11,8 @@ Item {
|
|||||||
required property string name
|
required property string name
|
||||||
property bool rotateIcon: false
|
property bool rotateIcon: false
|
||||||
property bool scaleIcon: false
|
property bool scaleIcon: false
|
||||||
|
property alias from: valueProgressBar.from
|
||||||
|
property alias to: valueProgressBar.to
|
||||||
|
|
||||||
property real valueIndicatorVerticalPadding: 9
|
property real valueIndicatorVerticalPadding: 9
|
||||||
property real valueIndicatorLeftPadding: 10
|
property real valueIndicatorLeftPadding: 10
|
||||||
|
|||||||
+1
-1
@@ -9,7 +9,7 @@ OsdValueIndicator {
|
|||||||
property var focusedScreen: Quickshell.screens.find(s => s.name === Hyprland.focusedMonitor?.name)
|
property var focusedScreen: Quickshell.screens.find(s => s.name === Hyprland.focusedMonitor?.name)
|
||||||
property var brightnessMonitor: Brightness.getMonitorForScreen(focusedScreen)
|
property var brightnessMonitor: Brightness.getMonitorForScreen(focusedScreen)
|
||||||
|
|
||||||
icon: Hyprsunset.active ? "routine" : "light_mode"
|
icon: Hyprsunset.temperatureActive ? "routine" : "light_mode"
|
||||||
rotateIcon: true
|
rotateIcon: true
|
||||||
scaleIcon: true
|
scaleIcon: true
|
||||||
name: Translation.tr("Brightness")
|
name: Translation.tr("Brightness")
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
import qs.services
|
||||||
|
import QtQuick
|
||||||
|
import Quickshell
|
||||||
|
import Quickshell.Hyprland
|
||||||
|
import qs.modules.ii.onScreenDisplay
|
||||||
|
|
||||||
|
OsdValueIndicator {
|
||||||
|
id: rotateIcon
|
||||||
|
|
||||||
|
icon: "wb_twilight"
|
||||||
|
name: Translation.tr("Gamma")
|
||||||
|
from: Hyprsunset.gammaLowerLimit / 100
|
||||||
|
value: Hyprsunset.gamma / 100 ?? 0.5
|
||||||
|
}
|
||||||
@@ -98,7 +98,7 @@ Scope {
|
|||||||
if (!Config.options.sidebar.cornerOpen.valueScroll)
|
if (!Config.options.sidebar.cornerOpen.valueScroll)
|
||||||
return;
|
return;
|
||||||
if (cornerWidget.isLeft)
|
if (cornerWidget.isLeft)
|
||||||
cornerPanelWindow.brightnessMonitor.setBrightness(cornerPanelWindow.brightnessMonitor.brightness - 0.05);
|
Brightness.decreaseBrightness()
|
||||||
else {
|
else {
|
||||||
const currentVolume = Audio.value;
|
const currentVolume = Audio.value;
|
||||||
const step = currentVolume < 0.1 ? 0.01 : 0.02 || 0.2;
|
const step = currentVolume < 0.1 ? 0.01 : 0.02 || 0.2;
|
||||||
@@ -109,7 +109,7 @@ Scope {
|
|||||||
if (!Config.options.sidebar.cornerOpen.valueScroll)
|
if (!Config.options.sidebar.cornerOpen.valueScroll)
|
||||||
return;
|
return;
|
||||||
if (cornerWidget.isLeft)
|
if (cornerWidget.isLeft)
|
||||||
cornerPanelWindow.brightnessMonitor.setBrightness(cornerPanelWindow.brightnessMonitor.brightness + 0.05);
|
Brightness.increaseBrightness()
|
||||||
else {
|
else {
|
||||||
const currentVolume = Audio.value;
|
const currentVolume = Audio.value;
|
||||||
const step = currentVolume < 0.1 ? 0.01 : 0.02 || 0.2;
|
const step = currentVolume < 0.1 ? 0.01 : 0.02 || 0.2;
|
||||||
|
|||||||
@@ -40,10 +40,25 @@ Rectangle {
|
|||||||
visible: active
|
visible: active
|
||||||
active: Config.options.sidebar.quickSliders.showBrightness
|
active: Config.options.sidebar.quickSliders.showBrightness
|
||||||
sourceComponent: QuickSlider {
|
sourceComponent: QuickSlider {
|
||||||
materialSymbol: "brightness_6"
|
materialSymbol: "light_mode"
|
||||||
value: root.brightnessMonitor.brightness
|
secondaryMaterialSymbol: "wb_twilight"
|
||||||
|
stopIndicatorValues: Hyprsunset.gamma !== 100 && root.brightnessMonitor?.brightness !== 0 ? [0.3 + root.brightnessMonitor?.brightness * 0.7] : []
|
||||||
|
value: Hyprsunset.gamma === 100? 0.3 + root.brightnessMonitor?.brightness * 0.7 : Hyprsunset.gamma / 100 * 0.3
|
||||||
|
tooltipContent: Hyprsunset.gamma === 100 ? `${Math.round(root.brightnessMonitor?.brightness * 100)}%` : `${Translation.tr("Gamma")} ${Hyprsunset.gamma}%`
|
||||||
onMoved: {
|
onMoved: {
|
||||||
root.brightnessMonitor.setBrightness(value)
|
if (value >= 0.3) {
|
||||||
|
// 0.3 - 1.0 brightness
|
||||||
|
root.brightnessMonitor.setBrightness((value - 0.3) / 0.7);
|
||||||
|
if (Hyprsunset.gamma !== 100) {
|
||||||
|
Hyprsunset.setGamma(100);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// 0 - 0.3 gamma
|
||||||
|
if (root.brightnessMonitor.brightness !== 0) {
|
||||||
|
root.brightnessMonitor.setBrightness(0);
|
||||||
|
}
|
||||||
|
Hyprsunset.setGamma(value * 100 / 0.3);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -84,16 +99,18 @@ Rectangle {
|
|||||||
component QuickSlider: StyledSlider {
|
component QuickSlider: StyledSlider {
|
||||||
id: quickSlider
|
id: quickSlider
|
||||||
required property string materialSymbol
|
required property string materialSymbol
|
||||||
|
property string secondaryMaterialSymbol
|
||||||
configuration: StyledSlider.Configuration.M
|
configuration: StyledSlider.Configuration.M
|
||||||
stopIndicatorValues: []
|
stopIndicatorValues: []
|
||||||
|
dividerValues: secondaryMaterialSymbol.length > 0 ? [secondaryIcon.iconLocation] : []
|
||||||
|
|
||||||
MaterialSymbol {
|
MaterialSymbol {
|
||||||
id: icon
|
id: icon
|
||||||
property bool nearFull: quickSlider.value >= 0.9
|
property bool nearFull: quickSlider.value >= 0.9
|
||||||
anchors {
|
anchors {
|
||||||
verticalCenter: parent.verticalCenter
|
verticalCenter: quickSlider.verticalCenter
|
||||||
right: nearFull ? quickSlider.handle.right : parent.right
|
right: nearFull ? quickSlider.handle.right : quickSlider.right
|
||||||
rightMargin: quickSlider.nearFull ? 14 : 8
|
rightMargin: nearFull ? 14 : 8
|
||||||
}
|
}
|
||||||
iconSize: 20
|
iconSize: 20
|
||||||
color: nearFull ? Appearance.colors.colOnPrimary : Appearance.colors.colOnSecondaryContainer
|
color: nearFull ? Appearance.colors.colOnPrimary : Appearance.colors.colOnSecondaryContainer
|
||||||
@@ -105,7 +122,25 @@ Rectangle {
|
|||||||
Behavior on anchors.rightMargin {
|
Behavior on anchors.rightMargin {
|
||||||
animation: Appearance.animation.elementMoveFast.numberAnimation.createObject(this)
|
animation: Appearance.animation.elementMoveFast.numberAnimation.createObject(this)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
MaterialSymbol {
|
||||||
|
id: secondaryIcon
|
||||||
|
visible: secondaryMaterialSymbol.length > 0
|
||||||
|
property real iconLocation: 0.3
|
||||||
|
property bool nearIcon: iconLocation - quickSlider.value <= 0.1 && iconLocation - quickSlider.value > (quickSlider.handleWidth + 8 - 14) / quickSlider.effectiveDraggingWidth
|
||||||
|
anchors {
|
||||||
|
verticalCenter: quickSlider.verticalCenter
|
||||||
|
right: nearIcon ? quickSlider.handle.right : quickSlider.right
|
||||||
|
rightMargin: nearIcon ? 14 : (1 - iconLocation) * quickSlider.effectiveDraggingWidth + quickSlider.rightPadding + 8
|
||||||
|
}
|
||||||
|
iconSize: 20
|
||||||
|
color: quickSlider.value >= iconLocation - 0.1 ? Appearance.colors.colOnPrimary : Appearance.colors.colOnSecondaryContainer
|
||||||
|
text: secondaryMaterialSymbol
|
||||||
|
|
||||||
|
Behavior on color {
|
||||||
|
animation: Appearance.animation.elementMoveFast.colorAnimation.createObject(this)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ WindowDialog {
|
|||||||
id: root
|
id: root
|
||||||
property var screen: root.QsWindow.window?.screen
|
property var screen: root.QsWindow.window?.screen
|
||||||
property var brightnessMonitor: Brightness.getMonitorForScreen(screen)
|
property var brightnessMonitor: Brightness.getMonitorForScreen(screen)
|
||||||
backgroundHeight: 600
|
backgroundHeight: 700
|
||||||
|
|
||||||
WindowDialogTitle {
|
WindowDialogTitle {
|
||||||
text: Translation.tr("Eye protection")
|
text: Translation.tr("Eye protection")
|
||||||
@@ -44,9 +44,9 @@ WindowDialog {
|
|||||||
iconSize: Appearance.font.pixelSize.larger
|
iconSize: Appearance.font.pixelSize.larger
|
||||||
buttonIcon: "check"
|
buttonIcon: "check"
|
||||||
text: Translation.tr("Enable now")
|
text: Translation.tr("Enable now")
|
||||||
checked: Hyprsunset.active
|
checked: Hyprsunset.temperatureActive
|
||||||
onCheckedChanged: {
|
onCheckedChanged: {
|
||||||
Hyprsunset.toggle(checked)
|
Hyprsunset.toggleTemperature(checked)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -146,6 +146,33 @@ WindowDialog {
|
|||||||
id: brightnessColumn
|
id: brightnessColumn
|
||||||
Layout.topMargin: -16
|
Layout.topMargin: -16
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
|
|
||||||
|
WindowDialogSlider {
|
||||||
|
anchors {
|
||||||
|
left: parent.left
|
||||||
|
right: parent.right
|
||||||
|
leftMargin: 4
|
||||||
|
rightMargin: 4
|
||||||
|
}
|
||||||
|
value: root.brightnessMonitor.brightness
|
||||||
|
onMoved: root.brightnessMonitor.setBrightness(value)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
WindowDialogSectionHeader {
|
||||||
|
text: Translation.tr("Gamma")
|
||||||
|
}
|
||||||
|
|
||||||
|
WindowDialogSeparator {
|
||||||
|
Layout.topMargin: -22
|
||||||
|
Layout.leftMargin: 0
|
||||||
|
Layout.rightMargin: 0
|
||||||
|
}
|
||||||
|
|
||||||
|
Column {
|
||||||
|
id: gammaColumn
|
||||||
|
Layout.topMargin: -16
|
||||||
|
Layout.fillWidth: true
|
||||||
Layout.fillHeight: true
|
Layout.fillHeight: true
|
||||||
|
|
||||||
WindowDialogSlider {
|
WindowDialogSlider {
|
||||||
@@ -155,9 +182,10 @@ WindowDialog {
|
|||||||
leftMargin: 4
|
leftMargin: 4
|
||||||
rightMargin: 4
|
rightMargin: 4
|
||||||
}
|
}
|
||||||
// text: Translation.tr("Brightness")
|
from: Hyprsunset.gammaLowerLimit / 100
|
||||||
value: root.brightnessMonitor.brightness
|
value: Hyprsunset.gamma / 100
|
||||||
onMoved: root.brightnessMonitor.setBrightness(value)
|
onMoved: Hyprsunset.setGamma(value * 100)
|
||||||
|
tooltipContent: `${Math.round(value * 100)}%`
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -6,10 +6,10 @@ import Quickshell.Io
|
|||||||
|
|
||||||
QuickToggleButton {
|
QuickToggleButton {
|
||||||
id: nightLightButton
|
id: nightLightButton
|
||||||
toggled: Hyprsunset.active
|
toggled: Hyprsunset.temperatureActive
|
||||||
buttonIcon: Config.options.light.night.automatic ? "night_sight_auto" : "bedtime"
|
buttonIcon: Config.options.light.night.automatic ? "night_sight_auto" : "bedtime"
|
||||||
onClicked: {
|
onClicked: {
|
||||||
Hyprsunset.toggle()
|
Hyprsunset.toggleTemperature()
|
||||||
}
|
}
|
||||||
|
|
||||||
altAction: () => {
|
altAction: () => {
|
||||||
|
|||||||
@@ -54,8 +54,8 @@ Item { // Bar content region
|
|||||||
height: (root.height - middleSection.height) / 2
|
height: (root.height - middleSection.height) / 2
|
||||||
width: Appearance.sizes.verticalBarWidth
|
width: Appearance.sizes.verticalBarWidth
|
||||||
|
|
||||||
onScrollDown: root.brightnessMonitor.setBrightness(root.brightnessMonitor.brightness - 0.05)
|
onScrollDown: Brightness.decreaseBrightness()
|
||||||
onScrollUp: root.brightnessMonitor.setBrightness(root.brightnessMonitor.brightness + 0.05)
|
onScrollUp: Brightness.increaseBrightness()
|
||||||
onMovedAway: GlobalStates.osdBrightnessOpen = false
|
onMovedAway: GlobalStates.osdBrightnessOpen = false
|
||||||
onPressed: event => {
|
onPressed: event => {
|
||||||
if (event.button === Qt.LeftButton)
|
if (event.button === Qt.LeftButton)
|
||||||
|
|||||||
@@ -303,7 +303,7 @@ ContentPage {
|
|||||||
Config.options.background.widgets.clock.cookie.useSineCookie = checked;
|
Config.options.background.widgets.clock.cookie.useSineCookie = checked;
|
||||||
}
|
}
|
||||||
StyledToolTip {
|
StyledToolTip {
|
||||||
text: "Looks a bit softer and more consistent with different number of sides,\nbut has less impressive morphing"
|
text: Translation.tr("Looks a bit softer and more consistent with different number of sides,\nbut has less impressive morphing")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -327,7 +327,7 @@ ContentPage {
|
|||||||
Config.options.background.widgets.clock.cookie.constantlyRotate = checked;
|
Config.options.background.widgets.clock.cookie.constantlyRotate = checked;
|
||||||
}
|
}
|
||||||
StyledToolTip {
|
StyledToolTip {
|
||||||
text: "Makes the clock always rotate. This is extremely expensive\n(expect 50% usage on Intel UHD Graphics) and thus impractical."
|
text: Translation.tr("Makes the clock always rotate. This is extremely expensive\n(expect 50% usage on Intel UHD Graphics) and thus impractical.")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -345,7 +345,7 @@ ContentPage {
|
|||||||
Config.options.background.widgets.clock.cookie.hourMarks = checked;
|
Config.options.background.widgets.clock.cookie.hourMarks = checked;
|
||||||
}
|
}
|
||||||
StyledToolTip {
|
StyledToolTip {
|
||||||
text: "Can only be turned on using the 'Dots' or 'Full' dial style for aesthetic reasons"
|
text: Translation.tr("Can only be turned on using the 'Dots' or 'Full' dial style for aesthetic reasons")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -361,7 +361,7 @@ ContentPage {
|
|||||||
Config.options.background.widgets.clock.cookie.timeIndicators = checked;
|
Config.options.background.widgets.clock.cookie.timeIndicators = checked;
|
||||||
}
|
}
|
||||||
StyledToolTip {
|
StyledToolTip {
|
||||||
text: "Can't be turned on when using 'Numbers' dial style for aesthetic reasons"
|
text: Translation.tr("Can't be turned on when using 'Numbers' dial style for aesthetic reasons")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -87,9 +87,9 @@ Item {
|
|||||||
name: Translation.tr("Enable now")
|
name: Translation.tr("Enable now")
|
||||||
description: Translation.tr("More comfortable viewing at night")
|
description: Translation.tr("More comfortable viewing at night")
|
||||||
iconName: WIcons.nightLightIcon
|
iconName: WIcons.nightLightIcon
|
||||||
checked: Hyprsunset.active
|
checked: Hyprsunset.temperatureActive
|
||||||
onCheckedChanged: {
|
onCheckedChanged: {
|
||||||
Hyprsunset.toggle(checked);
|
Hyprsunset.toggleTemperature(checked);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ Singleton {
|
|||||||
|
|
||||||
property string bluetoothIcon: BluetoothStatus.connected ? "bluetooth-connected" : BluetoothStatus.enabled ? "bluetooth" : "bluetooth-disabled"
|
property string bluetoothIcon: BluetoothStatus.connected ? "bluetooth-connected" : BluetoothStatus.enabled ? "bluetooth" : "bluetooth-disabled"
|
||||||
|
|
||||||
property string nightLightIcon: Hyprsunset.active ? "weather-moon" : "weather-moon-off"
|
property string nightLightIcon: Hyprsunset.temperatureActive ? "weather-moon" : "weather-moon-off"
|
||||||
|
|
||||||
property string notificationsIcon: Notifications.silent ? "alert-snooze" : "alert"
|
property string notificationsIcon: Notifications.silent ? "alert-snooze" : "alert"
|
||||||
|
|
||||||
|
|||||||
@@ -40,6 +40,9 @@ apply_kitty() {
|
|||||||
for i in "${!colorlist[@]}"; do
|
for i in "${!colorlist[@]}"; do
|
||||||
sed -i "s/${colorlist[$i]} #/${colorvalues[$i]#\#}/g" "$STATE_DIR"/user/generated/terminal/kitty-theme.conf
|
sed -i "s/${colorlist[$i]} #/${colorvalues[$i]#\#}/g" "$STATE_DIR"/user/generated/terminal/kitty-theme.conf
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# Reload
|
||||||
|
kill -SIGUSR1 $(pidof kitty)
|
||||||
}
|
}
|
||||||
|
|
||||||
apply_anyterm() {
|
apply_anyterm() {
|
||||||
|
|||||||
@@ -23,5 +23,27 @@ cursor #$term7 #
|
|||||||
|
|
||||||
foreground #$term7 #
|
foreground #$term7 #
|
||||||
|
|
||||||
selection_background #$term7 #
|
selection_background #$onSecondaryContainer #
|
||||||
selection_foreground #$term0 #
|
selection_foreground #$secondaryContainer #
|
||||||
|
|
||||||
|
# Override obscure colors for starship prompt (these are greys at the end)
|
||||||
|
color255 #$primary #
|
||||||
|
color254 #$primaryContainer #
|
||||||
|
color253 #$secondary #
|
||||||
|
color252 #$secondaryContainer #
|
||||||
|
color251 #$tertiary #
|
||||||
|
color250 #$tertiaryContainer #
|
||||||
|
color249 #$error #
|
||||||
|
color248 #$errorContainer #
|
||||||
|
|
||||||
|
color232 #$onPrimary #
|
||||||
|
color233 #$onPrimaryContainer #
|
||||||
|
color234 #$onSecondary #
|
||||||
|
color235 #$onSecondaryContainer #
|
||||||
|
color236 #$onTertiary #
|
||||||
|
color237 #$onTertiaryContainer #
|
||||||
|
color238 #$onError #
|
||||||
|
color239 #$onErrorContainer #
|
||||||
|
|
||||||
|
color244 #$outline #
|
||||||
|
color245 #$outlineVariant #
|
||||||
|
|||||||
@@ -28,6 +28,12 @@ Singleton {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function increaseBrightness(): void {
|
function increaseBrightness(): void {
|
||||||
|
// if gamma is not yet 100, first increase gamma
|
||||||
|
if (Hyprsunset.gamma !== 100) {
|
||||||
|
Hyprsunset.setGamma(Hyprsunset.gamma + 5);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const focusedName = Hyprland.focusedMonitor.name;
|
const focusedName = Hyprland.focusedMonitor.name;
|
||||||
const monitor = monitors.find(m => focusedName === m.screen.name);
|
const monitor = monitors.find(m => focusedName === m.screen.name);
|
||||||
if (monitor)
|
if (monitor)
|
||||||
@@ -37,8 +43,12 @@ Singleton {
|
|||||||
function decreaseBrightness(): void {
|
function decreaseBrightness(): void {
|
||||||
const focusedName = Hyprland.focusedMonitor.name;
|
const focusedName = Hyprland.focusedMonitor.name;
|
||||||
const monitor = monitors.find(m => focusedName === m.screen.name);
|
const monitor = monitors.find(m => focusedName === m.screen.name);
|
||||||
if (monitor)
|
if (monitor && monitor.brightness > 0)
|
||||||
monitor.setBrightness(monitor.brightness - 0.05);
|
monitor.setBrightness(monitor.brightness - 0.05);
|
||||||
|
// if brightness is 0, then decrease gamma
|
||||||
|
else {
|
||||||
|
Hyprsunset.setGamma(Hyprsunset.gamma - 5);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
reloadableId: "brightness"
|
reloadableId: "brightness"
|
||||||
|
|||||||
@@ -13,13 +13,18 @@ import Quickshell.Hyprland
|
|||||||
*/
|
*/
|
||||||
Singleton {
|
Singleton {
|
||||||
id: root
|
id: root
|
||||||
|
signal gammaChangeAttempt()
|
||||||
|
|
||||||
|
readonly property real gammaLowerLimit: 25
|
||||||
|
|
||||||
property string from: Config.options?.light?.night?.from ?? "19:00"
|
property string from: Config.options?.light?.night?.from ?? "19:00"
|
||||||
property string to: Config.options?.light?.night?.to ?? "06:30"
|
property string to: Config.options?.light?.night?.to ?? "06:30"
|
||||||
property bool automatic: Config.options?.light?.night?.automatic && (Config?.ready ?? true)
|
property bool automatic: Config.options?.light?.night?.automatic && (Config?.ready ?? true)
|
||||||
property int colorTemperature: Config.options?.light?.night?.colorTemperature ?? 5000
|
property int colorTemperature: Config.options?.light?.night?.colorTemperature ?? 5000
|
||||||
|
property int gamma: 100
|
||||||
property bool shouldBeOn
|
property bool shouldBeOn
|
||||||
property bool firstEvaluation: true
|
property bool firstEvaluation: true
|
||||||
property bool active: false
|
property bool temperatureActive: false
|
||||||
|
|
||||||
property int fromHour: Number(from.split(":")[0])
|
property int fromHour: Number(from.split(":")[0])
|
||||||
property int fromMinute: Number(from.split(":")[1])
|
property int fromMinute: Number(from.split(":")[1])
|
||||||
@@ -71,24 +76,52 @@ Singleton {
|
|||||||
if (!root.automatic || root.manualActive !== undefined)
|
if (!root.automatic || root.manualActive !== undefined)
|
||||||
return;
|
return;
|
||||||
if (root.shouldBeOn) {
|
if (root.shouldBeOn) {
|
||||||
root.enable();
|
root.enableTemperature();
|
||||||
} else {
|
} else {
|
||||||
root.disable();
|
root.disableTemperature();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function load() { } // Dummy to force init
|
function startHyprsunset() {
|
||||||
|
Quickshell.execDetached(["bash", "-c", `pidof hyprsunset || hyprsunset`]);
|
||||||
function enable() {
|
|
||||||
root.active = true;
|
|
||||||
// console.log("[Hyprsunset] Enabling");
|
|
||||||
Quickshell.execDetached(["bash", "-c", `pidof hyprsunset || hyprsunset --temperature ${root.colorTemperature}`]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function disable() {
|
function load() {
|
||||||
root.active = false;
|
root.startHyprsunset();
|
||||||
|
updateHyprsunset.restart();
|
||||||
|
}
|
||||||
|
|
||||||
|
Timer {
|
||||||
|
id: updateHyprsunset
|
||||||
|
interval: 100
|
||||||
|
repeat: false
|
||||||
|
onTriggered: {
|
||||||
|
root.ensureState();
|
||||||
|
root.setGamma(root.gamma);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function enableTemperature() {
|
||||||
|
root.temperatureActive = true;
|
||||||
|
|
||||||
|
// console.log("[Hyprsunset] Enabling");
|
||||||
|
root.startHyprsunset();
|
||||||
|
Quickshell.execDetached(["bash", "-c", `hyprctl hyprsunset temperature ${root.colorTemperature}`]);
|
||||||
|
}
|
||||||
|
|
||||||
|
function disableTemperature() {
|
||||||
|
root.temperatureActive = false;
|
||||||
// console.log("[Hyprsunset] Disabling");
|
// console.log("[Hyprsunset] Disabling");
|
||||||
Quickshell.execDetached(["bash", "-c", `pkill hyprsunset`]);
|
Quickshell.execDetached(["hyprctl", "hyprsunset", "identity"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
function setGamma(gamma) {
|
||||||
|
root.gamma = Math.max(root.gammaLowerLimit, Math.min(100, gamma));
|
||||||
|
|
||||||
|
root.gammaChangeAttempt();
|
||||||
|
|
||||||
|
root.startHyprsunset();
|
||||||
|
Quickshell.execDetached(["bash", "-c", `hyprctl hyprsunset gamma ${root.gamma}`]);
|
||||||
}
|
}
|
||||||
|
|
||||||
function fetchState() {
|
function fetchState() {
|
||||||
@@ -104,26 +137,26 @@ Singleton {
|
|||||||
onStreamFinished: {
|
onStreamFinished: {
|
||||||
const output = stateCollector.text.trim();
|
const output = stateCollector.text.trim();
|
||||||
if (output.length == 0 || output.startsWith("Couldn't"))
|
if (output.length == 0 || output.startsWith("Couldn't"))
|
||||||
root.active = false;
|
root.temperatureActive = false;
|
||||||
else
|
else
|
||||||
root.active = (output != "6500"); // 6500 is the default when off
|
root.temperatureActive = (output != "6500"); // 6500 is the default when off
|
||||||
// console.log("[Hyprsunset] Fetched state:", output, "->", root.active);
|
// console.log("[Hyprsunset] Fetched state:", output, "->", root.temperatureActive);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function toggle(active = undefined) {
|
function toggleTemperature(active = undefined) {
|
||||||
if (root.manualActive === undefined) {
|
if (root.manualActive === undefined) {
|
||||||
root.manualActive = root.active;
|
root.manualActive = root.temperatureActive;
|
||||||
root.manualActiveHour = root.clockHour;
|
root.manualActiveHour = root.clockHour;
|
||||||
root.manualActiveMinute = root.clockMinute;
|
root.manualActiveMinute = root.clockMinute;
|
||||||
}
|
}
|
||||||
|
|
||||||
root.manualActive = active !== undefined ? active : !root.manualActive;
|
root.manualActive = active !== undefined ? active : !root.manualActive;
|
||||||
if (root.manualActive) {
|
if (root.manualActive) {
|
||||||
root.enable();
|
root.enableTemperature();
|
||||||
} else {
|
} else {
|
||||||
root.disable();
|
root.disableTemperature();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -131,9 +164,9 @@ Singleton {
|
|||||||
Connections {
|
Connections {
|
||||||
target: Config.options.light.night
|
target: Config.options.light.night
|
||||||
function onColorTemperatureChanged() {
|
function onColorTemperatureChanged() {
|
||||||
if (!root.active) return;
|
if (!root.temperatureActive) return;
|
||||||
Hyprland.dispatch(`hyprctl hyprsunset temperature ${Config.options.light.night.colorTemperature}`);
|
Hyprland.dispatch(`hyprctl hyprsunset temperature ${Config.options.light.night.colorTemperature}`);
|
||||||
Quickshell.execDetached(["hyprctl", "hyprsunset", "temperature", `${Config.options.light.night.colorTemperature}`]);
|
Quickshell.execDetached(["hyprctl", "hyprsunset", "temperature", `${Config.options.light.night.colorTemperature}`]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -81,6 +81,7 @@
|
|||||||
"Unknown function call: %1": "Unknown function call: %1",
|
"Unknown function call: %1": "Unknown function call: %1",
|
||||||
"Online | %1's model | Delivers fast, responsive and well-formatted answers. Disadvantages: not very eager to do stuff; might make up unknown function calls": "Online | %1's model | Delivers fast, responsive and well-formatted answers. Disadvantages: not very eager to do stuff; might make up unknown function calls",
|
"Online | %1's model | Delivers fast, responsive and well-formatted answers. Disadvantages: not very eager to do stuff; might make up unknown function calls": "Online | %1's model | Delivers fast, responsive and well-formatted answers. Disadvantages: not very eager to do stuff; might make up unknown function calls",
|
||||||
"Volume": "Volume",
|
"Volume": "Volume",
|
||||||
|
"Gamma": "Gamma",
|
||||||
"Medium": "Medium",
|
"Medium": "Medium",
|
||||||
"Copy code": "Copy code",
|
"Copy code": "Copy code",
|
||||||
"Exceeded max allowed": "Exceeded max allowed",
|
"Exceeded max allowed": "Exceeded max allowed",
|
||||||
@@ -359,6 +360,10 @@
|
|||||||
"Connect to Wi-Fi": "Connect to Wi-Fi",
|
"Connect to Wi-Fi": "Connect to Wi-Fi",
|
||||||
"... and %1 more": "... and %1 more",
|
"... and %1 more": "... and %1 more",
|
||||||
"Cookie clock settings": "Cookie clock settings",
|
"Cookie clock settings": "Cookie clock settings",
|
||||||
|
"Looks a bit softer and more consistent with different number of sides,\nbut has less impressive morphing": "Looks a bit softer and more consistent with different number of sides,\nbut has less impressive morphing",
|
||||||
|
"Makes the clock always rotate. This is extremely expensive\n(expect 50% usage on Intel UHD Graphics) and thus impractical.": "Makes the clock always rotate. This is extremely expensive\n(expect 50% usage on Intel UHD Graphics) and thus impractical.",
|
||||||
|
"Can only be turned on using the 'Dots' or 'Full' dial style for aesthetic reasons": "Can only be turned on using the 'Dots' or 'Full' dial style for aesthetic reasons",
|
||||||
|
"Can't be turned on when using 'Numbers' dial style for aesthetic reasons": "Can't be turned on when using 'Numbers' dial style for aesthetic reasons",
|
||||||
"Brightness and volume": "Brightness and volume",
|
"Brightness and volume": "Brightness and volume",
|
||||||
"Choose file": "Choose file",
|
"Choose file": "Choose file",
|
||||||
"Invalid model. Supported: \n```": "Invalid model. Supported: \n```",
|
"Invalid model. Supported: \n```": "Invalid model. Supported: \n```",
|
||||||
@@ -607,4 +612,4 @@
|
|||||||
"Battery full": "Battery full",
|
"Battery full": "Battery full",
|
||||||
"Pin": "Pin",
|
"Pin": "Pin",
|
||||||
"Unpin": "Unpin"
|
"Unpin": "Unpin"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
"Help & Support": "Помощь",
|
"Help & Support": "Помощь",
|
||||||
"Bubble": "Пузырчатый",
|
"Bubble": "Пузырчатый",
|
||||||
"Large images | God tier quality, no NSFW.": "Большие изобр. | Отличное качество, без NSFW.",
|
"Large images | God tier quality, no NSFW.": "Большие изобр. | Отличное качество, без NSFW.",
|
||||||
"Dark": "Тьма",
|
"Dark": "Тёмный",
|
||||||
"Center clock": "Часы по центру экрана",
|
"Center clock": "Часы по центру экрана",
|
||||||
"Search, calculate or run": "Поиск, расчёт, запуск",
|
"Search, calculate or run": "Поиск, расчёт, запуск",
|
||||||
"Region height": "Высота области",
|
"Region height": "Высота области",
|
||||||
@@ -47,7 +47,7 @@
|
|||||||
"at": "в",
|
"at": "в",
|
||||||
"Math": "Математика",
|
"Math": "Математика",
|
||||||
"Consider plugging in your device": "Подключите зарядку",
|
"Consider plugging in your device": "Подключите зарядку",
|
||||||
"Workspaces shown": "Видимые пространство",
|
"Workspaces shown": "Видимые пространства",
|
||||||
"Place the corners to trigger at the bottom": "Триггер-углы снизу",
|
"Place the corners to trigger at the bottom": "Триггер-углы снизу",
|
||||||
"No API key\nSet it with /key YOUR_API_KEY": "Нет API-ключа\nУстановите: /key ВАШ_КЛЮЧ",
|
"No API key\nSet it with /key YOUR_API_KEY": "Нет API-ключа\nУстановите: /key ВАШ_КЛЮЧ",
|
||||||
"Auto (System)": "Авто (система)",
|
"Auto (System)": "Авто (система)",
|
||||||
@@ -223,7 +223,7 @@
|
|||||||
"Networking": "Сеть",
|
"Networking": "Сеть",
|
||||||
"Tint icons": "Тонировать иконки",
|
"Tint icons": "Тонировать иконки",
|
||||||
"Low battery": "Низкий заряд",
|
"Low battery": "Низкий заряд",
|
||||||
"Make icons pinned by default": "Показывать все иконки",
|
"Make icons pinned by default": "Закреплять все иконки",
|
||||||
"Get the next page of results": "Следующая стр. результатов",
|
"Get the next page of results": "Следующая стр. результатов",
|
||||||
"Invalid API provider. Supported: \n-": "Неверный провайдер. Поддерж:\n-",
|
"Invalid API provider. Supported: \n-": "Неверный провайдер. Поддерж:\n-",
|
||||||
"Show \"Locked\" text": "Показ. текст «Заблокировано»",
|
"Show \"Locked\" text": "Показ. текст «Заблокировано»",
|
||||||
@@ -276,7 +276,7 @@
|
|||||||
"Prefixes": "Префиксы",
|
"Prefixes": "Префиксы",
|
||||||
"Terminal": "Терминала",
|
"Terminal": "Терминала",
|
||||||
"Incorrect password": "Неверный пароль",
|
"Incorrect password": "Неверный пароль",
|
||||||
"Line-separated": "Без разделения",
|
"Line-separated": "Разделение по строкам",
|
||||||
"Always": "Всегда",
|
"Always": "Всегда",
|
||||||
"☕ Break: %1 minutes": "☕ Перерыв: %1 мин",
|
"☕ Break: %1 minutes": "☕ Перерыв: %1 мин",
|
||||||
"Depends on sidebars": "Зависит от панелей",
|
"Depends on sidebars": "Зависит от панелей",
|
||||||
@@ -288,7 +288,7 @@
|
|||||||
"Base URL": "Базовый URL",
|
"Base URL": "Базовый URL",
|
||||||
"Float": "Флоат",
|
"Float": "Флоат",
|
||||||
"Invalid arguments. Must provide `command`.": "Неверные аргументы. Укажите `command`.",
|
"Invalid arguments. Must provide `command`.": "Неверные аргументы. Укажите `command`.",
|
||||||
"Fully charged": "Полностью заряжен",
|
"Fully charged": "Полностью заряжена",
|
||||||
"Earbang protection": "Защита ушей",
|
"Earbang protection": "Защита ушей",
|
||||||
"Low warning": "Увед. о низком %",
|
"Low warning": "Увед. о низком %",
|
||||||
"Advanced": "Прочее",
|
"Advanced": "Прочее",
|
||||||
@@ -330,6 +330,10 @@
|
|||||||
"Connect to Wi-Fi": "Подкл. к Wi-Fi",
|
"Connect to Wi-Fi": "Подкл. к Wi-Fi",
|
||||||
"... and %1 more": "... и ещё %1",
|
"... and %1 more": "... и ещё %1",
|
||||||
"Cookie clock settings": "Настройки «Cookie»-часов",
|
"Cookie clock settings": "Настройки «Cookie»-часов",
|
||||||
|
"Looks a bit softer and more consistent with different number of sides,\nbut has less impressive morphing": "Выглядит мягче и уместнее с разным количеством углов,\nно сжатие может выглядить менее впечатляюще",
|
||||||
|
"Makes the clock always rotate. This is extremely expensive\n(expect 50% usage on Intel UHD Graphics) and thus impractical.": "Часы будут постоянно вращаться. Это крайне ресурсозатратно\n(примерно 50% использования Intel UHD Graphics) и фактически бесполезно.",
|
||||||
|
"Can only be turned on using the 'Dots' or 'Full' dial style for aesthetic reasons": "Может быть активировано только в режимах 'С точками' и 'Полностью залитый' по эстетическим причинам",
|
||||||
|
"Can't be turned on when using 'Numbers' dial style for aesthetic reasons": "Не может быть включено, когда используется стиль 'С числами' по эстетическим причинам",
|
||||||
"Brightness and volume": "Яркость и громкость",
|
"Brightness and volume": "Яркость и громкость",
|
||||||
"Choose file": "Выбор обоев",
|
"Choose file": "Выбор обоев",
|
||||||
"Invalid model. Supported: \n```": "Неверная модель. Поддерживаемые: \n```",
|
"Invalid model. Supported: \n```": "Неверная модель. Поддерживаемые: \n```",
|
||||||
@@ -434,7 +438,7 @@
|
|||||||
"Game mode": "Игровой режим",
|
"Game mode": "Игровой режим",
|
||||||
"Usage: %1save CHAT_NAME": "Исп: %1save ИМЯ_ЧАТА",
|
"Usage: %1save CHAT_NAME": "Исп: %1save ИМЯ_ЧАТА",
|
||||||
"Thin": "Тонкий",
|
"Thin": "Тонкий",
|
||||||
"Light": "Свет",
|
"Light": "Светлый",
|
||||||
"When not fullscreen": "Не в фулл-скрине",
|
"When not fullscreen": "Не в фулл-скрине",
|
||||||
"Commands, edit configs, search.\nTakes an extra turn to switch to search mode if that's needed": "Команды, редактирование конфигов, поиск.\nПри необходимости переключается в режим поиска",
|
"Commands, edit configs, search.\nTakes an extra turn to switch to search mode if that's needed": "Команды, редактирование конфигов, поиск.\nПри необходимости переключается в режим поиска",
|
||||||
"Privacy Policy": "Политика конфиденциальности",
|
"Privacy Policy": "Политика конфиденциальности",
|
||||||
@@ -506,7 +510,7 @@
|
|||||||
"Could be images or parts of the screen that have some containment.\nMight not always be accurate.\nThis is done with an image processing algorithm run locally and no AI is used.": "Могут быть изображения или части экрана с содержимым.\nМожет быть неточно.\nИспользуется локальный алгоритм обработки изображений, без ИИ.",
|
"Could be images or parts of the screen that have some containment.\nMight not always be accurate.\nThis is done with an image processing algorithm run locally and no AI is used.": "Могут быть изображения или части экрана с содержимым.\nМожет быть неточно.\nИспользуется локальный алгоритм обработки изображений, без ИИ.",
|
||||||
"Polling interval (m)": "Интервал опроса (мин)",
|
"Polling interval (m)": "Интервал опроса (мин)",
|
||||||
"Inactive": "Неактивно",
|
"Inactive": "Неактивно",
|
||||||
"Authentication": "Аутентиф.",
|
"Authentication": "Аутентификация",
|
||||||
"Full warning": "Уведомление о полном заряде при проценте",
|
"Full warning": "Уведомление о полном заряде при проценте",
|
||||||
"Power Profile": "Профиль питания",
|
"Power Profile": "Профиль питания",
|
||||||
"Content region": "Обл. контента",
|
"Content region": "Обл. контента",
|
||||||
@@ -596,7 +600,7 @@
|
|||||||
"Battery: %1%2": "Батарея: %1%2",
|
"Battery: %1%2": "Батарея: %1%2",
|
||||||
"Command": "Команда",
|
"Command": "Команда",
|
||||||
"Tooltips": "Подсказки",
|
"Tooltips": "Подсказки",
|
||||||
"Show hidden icons": "Системный трей",
|
"Show hidden icons": "Показать скрытые значки",
|
||||||
"Used for headings and titles": "Для заголовков",
|
"Used for headings and titles": "Для заголовков",
|
||||||
"Top-down": "Сверху вниз",
|
"Top-down": "Сверху вниз",
|
||||||
"of %1": "из %1",
|
"of %1": "из %1",
|
||||||
@@ -613,7 +617,7 @@
|
|||||||
"Overlay: General": "Игровой оверлей",
|
"Overlay: General": "Игровой оверлей",
|
||||||
"Enable opening zoom animation": "Анимация зума при открытии",
|
"Enable opening zoom animation": "Анимация зума при открытии",
|
||||||
"More Internet settings": "Доп. сетевые настройки",
|
"More Internet settings": "Доп. сетевые настройки",
|
||||||
"Nerd font icons": "Иконки Nerd Font (эмодзи)",
|
"Nerd font icons": "Иконки Nerd Font",
|
||||||
"Display modifiers and keys in multiple keycap (e.g., \"Ctrl + A\" instead of \"Ctrl A\" or \" + A\" instead of \" A\")": "Показывать модификаторы с разделителем (напр, «Ctrl + A» вместо «Ctrl A»)",
|
"Display modifiers and keys in multiple keycap (e.g., \"Ctrl + A\" instead of \"Ctrl A\" or \" + A\" instead of \" A\")": "Показывать модификаторы с разделителем (напр, «Ctrl + A» вместо «Ctrl A»)",
|
||||||
"Change password": "Изменить пароль",
|
"Change password": "Изменить пароль",
|
||||||
"Check interval (mins)": "Интервал пров. (мин)",
|
"Check interval (mins)": "Интервал пров. (мин)",
|
||||||
@@ -633,7 +637,7 @@
|
|||||||
"Numbers font": "Шрифт чисел",
|
"Numbers font": "Шрифт чисел",
|
||||||
"Move right": "Переместить вправо",
|
"Move right": "Переместить вправо",
|
||||||
"Unknown Application": "Неизв. приложение",
|
"Unknown Application": "Неизв. приложение",
|
||||||
"Used for decorative/expressive text": "Для декоротивного / выразительного текста",
|
"Used for decorative/expressive text": "Для декоративного / выразительного текста",
|
||||||
"Used for reading large blocks of text": "Для чтения больших блоков",
|
"Used for reading large blocks of text": "Для чтения больших блоков",
|
||||||
"Type /key to get started with online models\nCtrl+O to expand sidebar\nCtrl+P to pin sidebar\nCtrl+D to detach sidebar": "Введите /key для онлайн-моделей\nCtrl+O - расширить панель\nCtrl+P - закрепить панель\nCtrl+D - открепить панель",
|
"Type /key to get started with online models\nCtrl+O to expand sidebar\nCtrl+P to pin sidebar\nCtrl+D to detach sidebar": "Введите /key для онлайн-моделей\nCtrl+O - расширить панель\nCtrl+P - закрепить панель\nCtrl+D - открепить панель",
|
||||||
"Health:": "Здоровье:",
|
"Health:": "Здоровье:",
|
||||||
@@ -648,7 +652,7 @@
|
|||||||
"Pinned": "Закреплено",
|
"Pinned": "Закреплено",
|
||||||
"Unpin from Start": "Открепить из пуска",
|
"Unpin from Start": "Открепить из пуска",
|
||||||
"Adjust the color temperature": "Цветовая температура",
|
"Adjust the color temperature": "Цветовая температура",
|
||||||
"Han chars": "Кандзи",
|
"Han chars": "Иероглифы",
|
||||||
"Show only when locked": "Отображать только при блокировке",
|
"Show only when locked": "Отображать только при блокировке",
|
||||||
"Widget: Weather": "Виджет погоды",
|
"Widget: Weather": "Виджет погоды",
|
||||||
"Right to left": "Справа налево",
|
"Right to left": "Справа налево",
|
||||||
@@ -659,13 +663,13 @@
|
|||||||
"Fonts": "Шрифты",
|
"Fonts": "Шрифты",
|
||||||
"Left to right": "Слева направо",
|
"Left to right": "Слева направо",
|
||||||
"Set FPS limit": "Лимит FPS",
|
"Set FPS limit": "Лимит FPS",
|
||||||
"Draggable": "Drag & drop",
|
"Draggable": "Перетаскиваемый",
|
||||||
"Turn on from sunset to sunrise": "От заката до рассвета",
|
"Turn on from sunset to sunrise": "От заката до рассвета",
|
||||||
"Do you want to allow this app to make changes to your device?": "Разрешить приложению изменять устройство?",
|
"Do you want to allow this app to make changes to your device?": "Разрешить приложению изменять устройство?",
|
||||||
"Balance brightness based on content": "Баланс яркости по содержимому",
|
"Balance brightness based on content": "Баланс яркости по содержимому",
|
||||||
"Font width and roundness settings are only available for some fonts like Google Sans Flex": "Ширина и скруглённость - только для нек. шрифтов (напр, Google Sans Flex)",
|
"Font width and roundness settings are only available for some fonts like Google Sans Flex": "Ширина и скруглённость - только для нек. шрифтов (напр, Google Sans Flex)",
|
||||||
"Record region": "Запись обл.",
|
"Record region": "Запись обл.",
|
||||||
"You can also manually edit cheatsheet.superKey": "Можно вручную отредактировать клавишу в шпаргалке клавиш и в других частях системы",
|
"You can also manually edit cheatsheet.superKey": "Также вы можете вручную отредактировать cheatsheet.superKey",
|
||||||
"Sign out": "Выйти",
|
"Sign out": "Выйти",
|
||||||
"Overlay: Crosshair": "Оверлей: прицел",
|
"Overlay: Crosshair": "Оверлей: прицел",
|
||||||
"Shut down": "Выключить",
|
"Shut down": "Выключить",
|
||||||
|
|||||||
+21
-18
@@ -7,28 +7,31 @@ add_newline = false
|
|||||||
# Cool stuff
|
# Cool stuff
|
||||||
|
|
||||||
# format = """
|
# format = """
|
||||||
# $cmd_duration$username$hostname $directory $git_branch
|
# $directory $fill $git_branch $cmd_duration
|
||||||
# $character
|
# $character"""
|
||||||
# """
|
|
||||||
format = """
|
format = """
|
||||||
$cmd_duration $directory $git_branch
|
$cmd_duration $directory$git_branch
|
||||||
$character"""
|
$character"""
|
||||||
|
|
||||||
|
[fill]
|
||||||
|
symbol = '-'
|
||||||
|
style = 'fg:245'
|
||||||
|
|
||||||
# Replace the "❯" symbol in the prompt with "➜"
|
# Replace the "❯" symbol in the prompt with "➜"
|
||||||
[character] # The name of the module we are configuring is "character"
|
[character] # The name of the module we are configuring is "character"
|
||||||
success_symbol = "[ ](bold fg:blue)"
|
success_symbol = "[ ](bold fg:255)"
|
||||||
error_symbol = "[ ](bold fg:red)"
|
error_symbol = "[ ](bold fg:249)"
|
||||||
|
|
||||||
# Disable the package module, hiding it from the prompt completely
|
# Disable the package module, hiding it from the prompt completely
|
||||||
[package]
|
[package]
|
||||||
disabled = true
|
disabled = true
|
||||||
|
|
||||||
[git_branch]
|
[git_branch]
|
||||||
style = "bg: cyan"
|
style = "bg: 252"
|
||||||
symbol = ""
|
symbol = ""
|
||||||
truncation_length = 12
|
truncation_length = 12
|
||||||
truncation_symbol = ""
|
truncation_symbol = ""
|
||||||
format = " [](bold fg:cyan)[$symbol $branch(:$remote_branch)](fg:black bg:cyan)[ ](bold fg:cyan)"
|
format = " [](bold fg:252)[$symbol $branch(:$remote_branch)](fg:235 bg:252)[ ](bold fg:252)"
|
||||||
|
|
||||||
[git_commit]
|
[git_commit]
|
||||||
commit_hash_length = 4
|
commit_hash_length = 4
|
||||||
@@ -52,7 +55,7 @@ deleted = " 🗑 "
|
|||||||
|
|
||||||
[hostname]
|
[hostname]
|
||||||
ssh_only = false
|
ssh_only = false
|
||||||
format = "[•$hostname](bg:cyan bold fg:black)[](bold fg:cyan)"
|
format = "[•$hostname](bg:252 bold fg:235)[](bold fg:252)"
|
||||||
trim_at = ".companyname.com"
|
trim_at = ".companyname.com"
|
||||||
disabled = false
|
disabled = false
|
||||||
|
|
||||||
@@ -71,19 +74,19 @@ format = '🕙[\[ $time \]]($style) '
|
|||||||
time_format = "%T"
|
time_format = "%T"
|
||||||
|
|
||||||
[username]
|
[username]
|
||||||
style_user = "bold bg:cyan fg:black"
|
style_user = "bold bg:252 fg:235"
|
||||||
style_root = "red bold"
|
style_root = "red bold"
|
||||||
format = "[](bold fg:cyan)[$user]($style)"
|
format = "[](bold fg:252)[$user]($style)"
|
||||||
disabled = false
|
disabled = false
|
||||||
show_always = true
|
show_always = true
|
||||||
|
|
||||||
[directory]
|
[directory]
|
||||||
home_symbol = " "
|
home_symbol = " "
|
||||||
read_only = " "
|
read_only = " "
|
||||||
style = "bg:green fg:black"
|
style = "bg:255 fg:black"
|
||||||
truncation_length = 6
|
truncation_length = 2
|
||||||
truncation_symbol = " ••/"
|
truncation_symbol = ".../"
|
||||||
format = '[](bold fg:green)[ $path]($style)[](bold fg:green)'
|
format = '[](bold fg:255)[ → $path]($style)[](bold fg:255)'
|
||||||
|
|
||||||
|
|
||||||
[directory.substitutions]
|
[directory.substitutions]
|
||||||
@@ -97,4 +100,4 @@ format = '[](bold fg:green)[ $path]($style)[](bold fg:green)'
|
|||||||
|
|
||||||
[cmd_duration]
|
[cmd_duration]
|
||||||
min_time = 0
|
min_time = 0
|
||||||
format = '[](bold fg:yellow)[ $duration](bold bg:yellow fg:black)[](bold fg:yellow)'
|
format = '[](bold fg:252)[ $duration](bold bg:252 fg:235)[](bold fg:252)'
|
||||||
|
|||||||
+31
-31
@@ -9,62 +9,62 @@ DESCRIPTION="Toolkit for building desktop widgets using QtQuick"
|
|||||||
HOMEPAGE="https://quickshell.org/"
|
HOMEPAGE="https://quickshell.org/"
|
||||||
|
|
||||||
EGIT_REPO_URI="https://github.com/quickshell-mirror/quickshell.git"
|
EGIT_REPO_URI="https://github.com/quickshell-mirror/quickshell.git"
|
||||||
EGIT_COMMIT="6e17efab83d3a5ad5d6e59bc08d26095c6660502"
|
EGIT_COMMIT="7511545ee20664e3b8b8d3322c0ffe7567c56f7a"
|
||||||
|
|
||||||
KEYWORDS="~amd64 ~arm64 ~x86"
|
KEYWORDS="~amd64 ~arm64 ~x86"
|
||||||
LICENSE="LGPL-3"
|
LICENSE="LGPL-3"
|
||||||
SLOT="0"
|
SLOT="0"
|
||||||
# Upstream recommends leaving all build options enabled by default
|
|
||||||
IUSE="+breakpad +jemalloc +sockets +wayland +layer-shell +session-lock +toplevel-management +screencopy +X +pipewire +tray +mpris +pam +hyprland +hyprland-global-shortcuts +hyprland-focus-grab +i3 +i3-ipc +bluetooth"
|
IUSE="-breakpad +jemalloc +sockets +wayland +layer-shell +session-lock +toplevel-management +screencopy +X +pipewire +tray +mpris +pam +hyprland +hyprland-global-shortcuts +hyprland-focus-grab -i3 -i3-ipc +bluetooth"
|
||||||
|
|
||||||
RDEPEND="
|
RDEPEND="
|
||||||
dev-qt/qtbase:6
|
dev-qt/qtbase:6=
|
||||||
dev-qt/qtsvg:6
|
dev-qt/qtdeclarative:6=
|
||||||
dev-qt/qt5compat:6
|
dev-qt/qt5compat:6=
|
||||||
|
kde-frameworks/kimageformats:6=[avif]
|
||||||
dev-qt/qtimageformats:6
|
dev-cpp/cpptrace[unwind]
|
||||||
dev-qt/qtmultimedia:6
|
dev-qt/qtimageformats:6=
|
||||||
dev-qt/qtpositioning:6
|
dev-qt/qtmultimedia:6=
|
||||||
dev-qt/qtquicktimeline:6
|
dev-qt/qtpositioning:6=
|
||||||
dev-qt/qtsensors:6
|
dev-qt/qtquicktimeline:6=
|
||||||
dev-qt/qtsvg:6
|
dev-qt/qtsensors:6=
|
||||||
dev-qt/qttools:6
|
dev-qt/qtsvg:6=
|
||||||
dev-qt/qttranslations:6
|
dev-qt/qttools:6=
|
||||||
dev-qt/qtvirtualkeyboard:6
|
dev-qt/qttranslations:6=
|
||||||
dev-qt/qtwayland:6
|
dev-qt/qtvirtualkeyboard:6=
|
||||||
|
dev-qt/qtwayland:6=
|
||||||
kde-apps/kdialog
|
kde-apps/kdialog
|
||||||
kde-frameworks/syntax-highlighting:6
|
kde-frameworks/syntax-highlighting:6=
|
||||||
kde-frameworks/kirigami
|
kde-frameworks/kirigami:6=
|
||||||
|
|
||||||
jemalloc? ( dev-libs/jemalloc )
|
jemalloc? ( dev-libs/jemalloc:= )
|
||||||
wayland? (
|
wayland? (
|
||||||
dev-libs/wayland
|
dev-libs/wayland
|
||||||
dev-qt/qtwayland:6
|
dev-qt/qtwayland:6=
|
||||||
)
|
)
|
||||||
screencopy? (
|
screencopy? (
|
||||||
x11-libs/libdrm
|
x11-libs/libdrm
|
||||||
media-libs/mesa
|
media-libs/mesa
|
||||||
)
|
)
|
||||||
X? ( x11-libs/libxcb )
|
X? ( x11-libs/libxcb:= )
|
||||||
pipewire? ( media-video/pipewire )
|
pipewire? ( media-video/pipewire:= )
|
||||||
mpris? ( dev-qt/qtdbus )
|
mpris? ( dev-qt/qtdbus:= )
|
||||||
pam? ( sys-libs/pam )
|
pam? ( sys-libs/pam )
|
||||||
bluetooth? ( net-wireless/bluez )
|
bluetooth? ( net-wireless/bluez )
|
||||||
"
|
"
|
||||||
DEPEND="${RDEPEND}"
|
DEPEND="${RDEPEND}"
|
||||||
BDEPEND="
|
BDEPEND="
|
||||||
|| ( >=sys-devel/gcc-14:* >=llvm-core/clang-17:* )
|
dev-cpp/cli11
|
||||||
|
dev-build/cmake
|
||||||
|
dev-vcs/git
|
||||||
|
dev-build/ninja
|
||||||
|
dev-qt/qtshadertools
|
||||||
|
|
||||||
dev-util/spirv-tools
|
dev-util/spirv-tools
|
||||||
dev-qt/qtshadertools:6
|
|
||||||
wayland? (
|
wayland? (
|
||||||
dev-util/wayland-scanner
|
dev-util/wayland-scanner
|
||||||
dev-libs/wayland-protocols
|
dev-libs/wayland-protocols
|
||||||
)
|
)
|
||||||
dev-cpp/cli11
|
|
||||||
dev-build/ninja
|
|
||||||
dev-build/cmake
|
|
||||||
dev-vcs/git
|
|
||||||
virtual/pkgconfig
|
virtual/pkgconfig
|
||||||
breakpad? ( dev-util/breakpad )
|
breakpad? ( dev-util/breakpad )
|
||||||
dev-util/vulkan-headers
|
dev-util/vulkan-headers
|
||||||
@@ -74,7 +74,7 @@ src_configure(){
|
|||||||
mycmakeargs=(
|
mycmakeargs=(
|
||||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo
|
||||||
-DDISTRIBUTOR="Gentoo Illogical-Impulses"
|
-DDISTRIBUTOR="Gentoo Illogical-Impulses"
|
||||||
-DINSTALL_QML_PREFIX="lib64/qt6/qml"
|
-DINSTALL_QML_PREFIX="$(get_libdir)/qt6/qml"
|
||||||
-DCRASH_REPORTER=$(usex breakpad ON OFF)
|
-DCRASH_REPORTER=$(usex breakpad ON OFF)
|
||||||
-DUSE_JEMALLOC=$(usex jemalloc ON OFF)
|
-DUSE_JEMALLOC=$(usex jemalloc ON OFF)
|
||||||
-DSOCKETS=$(usex sockets ON OFF)
|
-DSOCKETS=$(usex sockets ON OFF)
|
||||||
+1
-1
@@ -18,7 +18,7 @@ RDEPEND="
|
|||||||
gui-apps/hypridle
|
gui-apps/hypridle
|
||||||
gui-apps/hyprlock
|
gui-apps/hyprlock
|
||||||
gui-apps/hyprpicker
|
gui-apps/hyprpicker
|
||||||
app-misc/songrec
|
media-sound/songrec
|
||||||
app-i18n/translate-shell
|
app-i18n/translate-shell
|
||||||
gui-apps/wlogout
|
gui-apps/wlogout
|
||||||
sci-libs/libqalculate
|
sci-libs/libqalculate
|
||||||
@@ -19,6 +19,3 @@ import_ebuild "${FT_DIR}" "media-fonts" "rubik-vf"
|
|||||||
import_ebuild "${FT_DIR}" "media-fonts" "space-grotesk"
|
import_ebuild "${FT_DIR}" "media-fonts" "space-grotesk"
|
||||||
import_ebuild "${FT_DIR}" "kde-plasma" "breeze-plus"
|
import_ebuild "${FT_DIR}" "kde-plasma" "breeze-plus"
|
||||||
import_ebuild "${FT_DIR}" "x11-themes" "darkly"
|
import_ebuild "${FT_DIR}" "x11-themes" "darkly"
|
||||||
|
|
||||||
############### WIDGETS
|
|
||||||
import_ebuild "${WIDGETS_DIR}" "app-misc" "songrec"
|
|
||||||
|
|||||||
@@ -52,7 +52,6 @@ v sudo sh -c 'cat ./sdata/dist-gentoo/additional-useflags >> /etc/portage/packag
|
|||||||
v sudo emerge --sync
|
v sudo emerge --sync
|
||||||
v sudo emerge --quiet --newuse --update --deep @world
|
v sudo emerge --quiet --newuse --update --deep @world
|
||||||
v sudo emerge --quiet @smart-live-rebuild
|
v sudo emerge --quiet @smart-live-rebuild
|
||||||
v sudo emerge --depclean
|
|
||||||
|
|
||||||
# Remove old ebuilds (if this isn't done the wildcard will fuck upon a version change)
|
# Remove old ebuilds (if this isn't done the wildcard will fuck upon a version change)
|
||||||
x sudo rm -fr ${ebuild_dir}/app-misc/illogical-impulse-*
|
x sudo rm -fr ${ebuild_dir}/app-misc/illogical-impulse-*
|
||||||
@@ -66,3 +65,5 @@ for i in "${metapkgs[@]}"; do
|
|||||||
v sudo ebuild ${ebuild_dir}/app-misc/${i}/*.ebuild digest
|
v sudo ebuild ${ebuild_dir}/app-misc/${i}/*.ebuild digest
|
||||||
v sudo emerge --update --quiet app-misc/${i}
|
v sudo emerge --update --quiet app-misc/${i}
|
||||||
done
|
done
|
||||||
|
|
||||||
|
v sudo emerge --depclean
|
||||||
|
|||||||
@@ -28,7 +28,6 @@ gui-libs/hyprcursor
|
|||||||
gui-apps/wf-recorder
|
gui-apps/wf-recorder
|
||||||
gui-apps/wtype
|
gui-apps/wtype
|
||||||
gui-apps/fuzzel
|
gui-apps/fuzzel
|
||||||
gui-apps/quickshell **
|
|
||||||
gui-apps/wlogout
|
gui-apps/wlogout
|
||||||
dev-cpp/sdbus-c++
|
dev-cpp/sdbus-c++
|
||||||
dev-libs/hyprland-protocols
|
dev-libs/hyprland-protocols
|
||||||
@@ -52,5 +51,7 @@ media-fonts/space-grotesk
|
|||||||
media-fonts/material-symbols-variable **
|
media-fonts/material-symbols-variable **
|
||||||
media-fonts/readex-pro
|
media-fonts/readex-pro
|
||||||
media-fonts/rubik-vf
|
media-fonts/rubik-vf
|
||||||
app-misc/songrec
|
media-sound/songrec
|
||||||
dev-cpp/glaze
|
dev-cpp/glaze
|
||||||
|
dev-cpp/cpptrace
|
||||||
|
dev-libs/libdwarf
|
||||||
|
|||||||
@@ -1,48 +0,0 @@
|
|||||||
# Copyright 2025 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
DESCRIPTION="Illogicall Impulse Widget Dependencies"
|
|
||||||
HOMEPAGE=""
|
|
||||||
SRC_URI="https://github.com/marin-m/SongRec/archive/${PV}.tar.gz -> ${P}-SongRec.tar.gz"
|
|
||||||
|
|
||||||
LICENSE="GPL-2"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~amd64 ~arm64 ~x86"
|
|
||||||
# need for cargo fetch, idk how to get around it if possible
|
|
||||||
RESTRICT="strip network-sandbox"
|
|
||||||
|
|
||||||
DEPEND=""
|
|
||||||
RDEPEND=""
|
|
||||||
|
|
||||||
S="${WORKDIR}/SongRec-${PV}"
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
default
|
|
||||||
export CARGO_HOME="${WORKDIR}/cargo"
|
|
||||||
cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_compile() {
|
|
||||||
export CARGO_HOME="${WORKDIR}/cargo"
|
|
||||||
cargo build --release --frozen --offline
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
dobin target/release/songrec
|
|
||||||
insinto /usr/share/applications
|
|
||||||
|
|
||||||
doins packaging/rootfs/usr/share/applications/com.github.marinm.songrec.desktop
|
|
||||||
|
|
||||||
insinto /usr/share/icons/hicolor/scalable/apps
|
|
||||||
doins packaging/rootfs/usr/share/icons/hicolor/scalable/apps/com.github.marinm.songrec.svg
|
|
||||||
|
|
||||||
insinto /usr/share/metainfo
|
|
||||||
doins packaging/rootfs/usr/share/metainfo/com.github.marinm.songrec.metainfo.xml
|
|
||||||
|
|
||||||
insinto /usr/share/songrec/translations
|
|
||||||
doins -r translations/*
|
|
||||||
|
|
||||||
dodoc README.md
|
|
||||||
}
|
|
||||||
@@ -111,7 +111,9 @@ sys-power/upower introspection
|
|||||||
gui-apps/fuzzel png svg
|
gui-apps/fuzzel png svg
|
||||||
dev-libs/glib dbus elf introspection mime xattr
|
dev-libs/glib dbus elf introspection mime xattr
|
||||||
# ngl idk about nm-connection-editor. Works fine without
|
# ngl idk about nm-connection-editor. Works fine without
|
||||||
gui-apps/quickshell -X -i3 -i3-ipc breakpad bluetooth hyprland hyprland-focus-grab hyprland-global-shortcuts jemalloc layer-shell mpris pam pipewire screencopy session-lock sockets toplevel-management tray wayland
|
|
||||||
#app-i18n/translate-shell (nothing needed)
|
#app-i18n/translate-shell (nothing needed)
|
||||||
#gui-apps/wlogout (no use flags)
|
#gui-apps/wlogout (no use flags)
|
||||||
media-gfx/imagemagick xml
|
media-gfx/imagemagick xml
|
||||||
|
|
||||||
|
################### OTHER ###################
|
||||||
|
dev-cpp/cpptrace unwind
|
||||||
|
|||||||
Reference in New Issue
Block a user