diff options
| author | Freya Murphy <freya@freyacat.org> | 2026-01-08 16:26:49 -0500 |
|---|---|---|
| committer | Freya Murphy <freya@freyacat.org> | 2026-03-16 09:12:20 -0400 |
| commit | 371c1520a53234b4d73ce289771476c4475bcfff (patch) | |
| tree | cad04bea54faea59719417d434eecc142812024a | |
| parent | only support one color scheme (diff) | |
| download | caelestia-shell-371c1520a53234b4d73ce289771476c4475bcfff.tar.gz caelestia-shell-371c1520a53234b4d73ce289771476c4475bcfff.tar.bz2 caelestia-shell-371c1520a53234b4d73ce289771476c4475bcfff.zip | |
remove recording
| -rw-r--r-- | modules/dashboard/Content.qml | 2 | ||||
| -rw-r--r-- | modules/dashboard/Dash.qml | 2 | ||||
| -rw-r--r-- | modules/dashboard/Wrapper.qml | 12 | ||||
| -rw-r--r-- | modules/dashboard/dash/User.qml | 89 | ||||
| -rw-r--r-- | modules/utilities/Content.qml | 10 | ||||
| -rw-r--r-- | modules/utilities/Wrapper.qml | 4 | ||||
| -rw-r--r-- | modules/utilities/cards/Record.qml | 277 | ||||
| -rw-r--r-- | utils/Icons.qml | 3 | ||||
| -rw-r--r-- | utils/Paths.qml | 1 |
9 files changed, 0 insertions, 400 deletions
diff --git a/modules/dashboard/Content.qml b/modules/dashboard/Content.qml index bbb4272..f5001b2 100644 --- a/modules/dashboard/Content.qml +++ b/modules/dashboard/Content.qml @@ -13,7 +13,6 @@ Item { required property PersistentProperties visibilities required property PersistentProperties state - required property FileDialog facePicker readonly property var dashboardTabs: { const allTabs = [ @@ -149,7 +148,6 @@ Item { Dash { visibilities: root.visibilities state: root.state - facePicker: root.facePicker } } diff --git a/modules/dashboard/Dash.qml b/modules/dashboard/Dash.qml index 71e224f..0bc81b4 100644 --- a/modules/dashboard/Dash.qml +++ b/modules/dashboard/Dash.qml @@ -11,7 +11,6 @@ GridLayout { required property PersistentProperties visibilities required property PersistentProperties state - required property FileDialog facePicker rowSpacing: Appearance.spacing.normal columnSpacing: Appearance.spacing.normal @@ -29,7 +28,6 @@ GridLayout { visibilities: root.visibilities state: root.state - facePicker: root.facePicker } } diff --git a/modules/dashboard/Wrapper.qml b/modules/dashboard/Wrapper.qml index 0e37909..3f8f2bd 100644 --- a/modules/dashboard/Wrapper.qml +++ b/modules/dashboard/Wrapper.qml @@ -18,17 +18,6 @@ Item { reloadableId: "dashboardState" } - readonly property FileDialog facePicker: FileDialog { - title: qsTr("Select a profile picture") - filterLabel: qsTr("Image files") - filters: Images.validImageExtensions - onAccepted: path => { - if (CUtils.copyFile(Qt.resolvedUrl(path), Qt.resolvedUrl(`${Paths.home}/.face`))) - Quickshell.execDetached(["notify-send", "-a", "caelestia-shell", "-u", "low", "-h", `STRING:image-path:${path}`, "Profile picture changed", `Profile picture changed to ${Paths.shortenHome(path)}`]); - else - Quickshell.execDetached(["notify-send", "-a", "caelestia-shell", "-u", "critical", "Unable to change profile picture", `Failed to change profile picture to ${Paths.shortenHome(path)}`]); - } - } readonly property real nonAnimHeight: state === "visible" ? (content.item?.nonAnimHeight ?? 0) : 0 @@ -99,7 +88,6 @@ Item { sourceComponent: Content { visibilities: root.visibilities state: root.dashState - facePicker: root.facePicker } } } diff --git a/modules/dashboard/dash/User.qml b/modules/dashboard/dash/User.qml index 5ede24b..6cb06f2 100644 --- a/modules/dashboard/dash/User.qml +++ b/modules/dashboard/dash/User.qml @@ -13,99 +13,10 @@ Row { required property PersistentProperties visibilities required property PersistentProperties state - required property FileDialog facePicker padding: Appearance.padding.large spacing: Appearance.spacing.normal - StyledClippingRect { - implicitWidth: info.implicitHeight - implicitHeight: info.implicitHeight - - radius: Appearance.rounding.large - color: Colours.layer(Colours.palette.m3surfaceContainerHigh, 2) - - MaterialIcon { - anchors.centerIn: parent - - text: "person" - fill: 1 - grade: 200 - font.pointSize: Math.floor(info.implicitHeight / 2) || 1 - visible: pfp.status !== Image.Ready - } - - CachingImage { - id: pfp - - anchors.fill: parent - path: `${Paths.home}/.face` - } - - MouseArea { - anchors.fill: parent - hoverEnabled: true - - StyledRect { - anchors.fill: parent - - color: Qt.alpha(Colours.palette.m3scrim, 0.5) - opacity: parent.containsMouse ? 1 : 0 - - Behavior on opacity { - Anim { - duration: Appearance.anim.durations.expressiveFastSpatial - } - } - } - - StyledRect { - anchors.centerIn: parent - - implicitWidth: selectIcon.implicitHeight + Appearance.padding.small * 2 - implicitHeight: selectIcon.implicitHeight + Appearance.padding.small * 2 - - radius: Appearance.rounding.normal - color: Colours.palette.m3primary - scale: parent.containsMouse ? 1 : 0.5 - opacity: parent.containsMouse ? 1 : 0 - - StateLayer { - color: Colours.palette.m3onPrimary - - function onClicked(): void { - root.visibilities.launcher = false; - root.facePicker.open(); - } - } - - MaterialIcon { - id: selectIcon - - anchors.centerIn: parent - anchors.horizontalCenterOffset: -font.pointSize * 0.02 - - text: "frame_person" - color: Colours.palette.m3onPrimary - font.pointSize: Appearance.font.size.extraLarge - } - - Behavior on scale { - Anim { - duration: Appearance.anim.durations.expressiveFastSpatial - easing.bezierCurve: Appearance.anim.curves.expressiveFastSpatial - } - } - - Behavior on opacity { - Anim { - duration: Appearance.anim.durations.expressiveFastSpatial - } - } - } - } - } - Column { id: info diff --git a/modules/utilities/Content.qml b/modules/utilities/Content.qml index 902656d..f6d8d63 100644 --- a/modules/utilities/Content.qml +++ b/modules/utilities/Content.qml @@ -21,19 +21,9 @@ Item { IdleInhibit {} - Record { - props: root.props - visibilities: root.visibilities - z: 1 - } - Toggles { visibilities: root.visibilities popouts: root.popouts } } - - RecordingDeleteModal { - props: root.props - } } diff --git a/modules/utilities/Wrapper.qml b/modules/utilities/Wrapper.qml index 77178e3..455b5fa 100644 --- a/modules/utilities/Wrapper.qml +++ b/modules/utilities/Wrapper.qml @@ -13,10 +13,6 @@ Item { required property Item popouts readonly property PersistentProperties props: PersistentProperties { - property bool recordingListExpanded: false - property string recordingConfirmDelete - property string recordingMode - reloadableId: "utilities" } readonly property bool shouldBeActive: visibilities.sidebar || (visibilities.utilities && Config.utilities.enabled && !(visibilities.session && Config.session.enabled)) diff --git a/modules/utilities/cards/Record.qml b/modules/utilities/cards/Record.qml deleted file mode 100644 index 273c640..0000000 --- a/modules/utilities/cards/Record.qml +++ /dev/null @@ -1,277 +0,0 @@ -pragma ComponentBehavior: Bound - -import qs.components -import qs.components.controls -import qs.services -import qs.config -import QtQuick -import QtQuick.Layouts - -StyledRect { - id: root - - required property var props - required property var visibilities - - Layout.fillWidth: true - implicitHeight: layout.implicitHeight + layout.anchors.margins * 2 - - radius: Appearance.rounding.normal - color: Colours.tPalette.m3surfaceContainer - - ColumnLayout { - id: layout - - anchors.fill: parent - anchors.margins: Appearance.padding.large - spacing: Appearance.spacing.normal - - RowLayout { - spacing: Appearance.spacing.normal - z: 1 - - StyledRect { - implicitWidth: implicitHeight - implicitHeight: { - const h = icon.implicitHeight + Appearance.padding.smaller * 2; - return h - (h % 2); - } - - radius: Appearance.rounding.full - color: Recorder.running ? Colours.palette.m3secondary : Colours.palette.m3secondaryContainer - - MaterialIcon { - id: icon - - anchors.centerIn: parent - anchors.horizontalCenterOffset: -0.5 - anchors.verticalCenterOffset: 1.5 - text: "screen_record" - color: Recorder.running ? Colours.palette.m3onSecondary : Colours.palette.m3onSecondaryContainer - font.pointSize: Appearance.font.size.large - } - } - - ColumnLayout { - Layout.fillWidth: true - spacing: 0 - - StyledText { - Layout.fillWidth: true - text: qsTr("Screen Recorder") - font.pointSize: Appearance.font.size.normal - elide: Text.ElideRight - } - - StyledText { - Layout.fillWidth: true - text: Recorder.paused ? qsTr("Recording paused") : Recorder.running ? qsTr("Recording running") : qsTr("Recording off") - color: Colours.palette.m3onSurfaceVariant - font.pointSize: Appearance.font.size.small - elide: Text.ElideRight - } - } - - SplitButton { - disabled: Recorder.running - active: menuItems.find(m => root.props.recordingMode === m.icon + m.text) ?? menuItems[0] - menu.onItemSelected: item => root.props.recordingMode = item.icon + item.text - - menuItems: [ - MenuItem { - icon: "fullscreen" - text: qsTr("Record fullscreen") - activeText: qsTr("Fullscreen") - onClicked: Recorder.start() - }, - MenuItem { - icon: "screenshot_region" - text: qsTr("Record region") - activeText: qsTr("Region") - onClicked: Recorder.start(["-r"]) - }, - MenuItem { - icon: "select_to_speak" - text: qsTr("Record fullscreen with sound") - activeText: qsTr("Fullscreen") - onClicked: Recorder.start(["-s"]) - }, - MenuItem { - icon: "volume_up" - text: qsTr("Record region with sound") - activeText: qsTr("Region") - onClicked: Recorder.start(["-sr"]) - } - ] - } - } - - Loader { - id: listOrControls - - property bool running: Recorder.running - - Layout.fillWidth: true - Layout.preferredHeight: implicitHeight - sourceComponent: running ? recordingControls : recordingList - - Behavior on Layout.preferredHeight { - id: locHeightAnim - - enabled: false - - Anim {} - } - - Behavior on running { - SequentialAnimation { - ParallelAnimation { - Anim { - target: listOrControls - property: "scale" - to: 0.7 - duration: Appearance.anim.durations.small - easing.bezierCurve: Appearance.anim.curves.standardAccel - } - Anim { - target: listOrControls - property: "opacity" - to: 0 - duration: Appearance.anim.durations.small - easing.bezierCurve: Appearance.anim.curves.standardAccel - } - } - PropertyAction { - target: locHeightAnim - property: "enabled" - value: true - } - PropertyAction {} - PropertyAction { - target: locHeightAnim - property: "enabled" - value: false - } - ParallelAnimation { - Anim { - target: listOrControls - property: "scale" - to: 1 - duration: Appearance.anim.durations.small - easing.bezierCurve: Appearance.anim.curves.standardDecel - } - Anim { - target: listOrControls - property: "opacity" - to: 1 - duration: Appearance.anim.durations.small - easing.bezierCurve: Appearance.anim.curves.standardDecel - } - } - } - } - } - } - - Component { - id: recordingList - - RecordingList { - props: root.props - visibilities: root.visibilities - } - } - - Component { - id: recordingControls - - RowLayout { - spacing: Appearance.spacing.normal - - StyledRect { - radius: Appearance.rounding.full - color: Recorder.paused ? Colours.palette.m3tertiary : Colours.palette.m3error - - implicitWidth: recText.implicitWidth + Appearance.padding.normal * 2 - implicitHeight: recText.implicitHeight + Appearance.padding.smaller * 2 - - StyledText { - id: recText - - anchors.centerIn: parent - animate: true - text: Recorder.paused ? "PAUSED" : "REC" - color: Recorder.paused ? Colours.palette.m3onTertiary : Colours.palette.m3onError - font.family: Appearance.font.family.mono - } - - Behavior on implicitWidth { - Anim {} - } - - SequentialAnimation on opacity { - running: !Recorder.paused - alwaysRunToEnd: true - loops: Animation.Infinite - - Anim { - from: 1 - to: 0 - duration: Appearance.anim.durations.large - easing.bezierCurve: Appearance.anim.curves.emphasizedAccel - } - Anim { - from: 0 - to: 1 - duration: Appearance.anim.durations.extraLarge - easing.bezierCurve: Appearance.anim.curves.emphasizedDecel - } - } - } - - StyledText { - text: { - const elapsed = Recorder.elapsed; - - const hours = Math.floor(elapsed / 3600); - const mins = Math.floor((elapsed % 3600) / 60); - const secs = Math.floor(elapsed % 60).toString().padStart(2, "0"); - - let time; - if (hours > 0) - time = `${hours}:${mins.toString().padStart(2, "0")}:${secs}`; - else - time = `${mins}:${secs}`; - - return qsTr("Recording for %1").arg(time); - } - font.pointSize: Appearance.font.size.normal - } - - Item { - Layout.fillWidth: true - } - - IconButton { - label.animate: true - icon: Recorder.paused ? "play_arrow" : "pause" - toggle: true - checked: Recorder.paused - type: IconButton.Tonal - font.pointSize: Appearance.font.size.large - onClicked: { - Recorder.togglePause(); - internalChecked = Recorder.paused; - } - } - - IconButton { - icon: "stop" - inactiveColour: Colours.palette.m3error - inactiveOnColour: Colours.palette.m3onError - font.pointSize: Appearance.font.size.large - onClicked: Recorder.stop() - } - } - } -} diff --git a/utils/Icons.qml b/utils/Icons.qml index 34f8049..ac8e97c 100644 --- a/utils/Icons.qml +++ b/utils/Icons.qml @@ -52,7 +52,6 @@ Singleton { Audio: "music_note", Music: "music_note", Player: "music_note", - Recorder: "mic", Game: "sports_esports", FileTools: "files", FileManager: "files", @@ -168,8 +167,6 @@ Singleton { summary = summary.toLowerCase(); if (summary.includes("reboot")) return "restart_alt"; - if (summary.includes("recording")) - return "screen_record"; if (summary.includes("battery")) return "power"; if (summary.includes("screenshot")) diff --git a/utils/Paths.qml b/utils/Paths.qml index bc89770..6d52399 100644 --- a/utils/Paths.qml +++ b/utils/Paths.qml @@ -19,7 +19,6 @@ Singleton { readonly property string imagecache: `${cache}/imagecache` readonly property string notifimagecache: `${imagecache}/notifs` readonly property string wallsdir: Quickshell.env("CAELESTIA_WALLPAPERS_DIR") || absolutePath(Config.paths.wallpaperDir) - readonly property string recsdir: Quickshell.env("CAELESTIA_RECORDINGS_DIR") || `${videos}/Recordings` readonly property string libdir: Quickshell.env("CAELESTIA_LIB_DIR") || "/usr/lib/caelestia" function toLocalFile(path: url): string { |