mirror of
https://github.com/kossLAN/dots.git
synced 2025-11-05 06:59:50 -05:00
Compare commits
No commits in common. "c48aca3d0c014bd3868ab7db6815cf6700480b2c" and "62ed66e60af658e9f47d1d6539d095909f097c05" have entirely different histories.
c48aca3d0c
...
62ed66e60a
6 changed files with 29 additions and 73 deletions
|
|
@ -47,13 +47,12 @@ Variants {
|
||||||
Workspaces {
|
Workspaces {
|
||||||
screen: root.screen
|
screen: root.screen
|
||||||
Layout.fillHeight: true
|
Layout.fillHeight: true
|
||||||
Layout.preferredWidth: height
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ActiveWindow {
|
ActiveWindow {
|
||||||
// id: activeWindow
|
id: activeWindow
|
||||||
// Layout.preferredWidth: 400
|
Layout.preferredWidth: 400
|
||||||
// }
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// PowerMenu {
|
// PowerMenu {
|
||||||
|
|
@ -95,7 +94,6 @@ Variants {
|
||||||
Clock {
|
Clock {
|
||||||
id: clock
|
id: clock
|
||||||
color: ShellSettings.colors.active
|
color: ShellSettings.colors.active
|
||||||
Layout.leftMargin: 5
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import qs
|
||||||
|
|
||||||
RowLayout {
|
RowLayout {
|
||||||
spacing: 6
|
spacing: 6
|
||||||
visible: Hyprland.workspaces.values.some(ws => ws.monitor === Hyprland.monitorFor(screen))
|
visible: Hyprland.monitors.values.length != 0
|
||||||
|
|
||||||
required property var screen
|
required property var screen
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,6 @@ import Quickshell
|
||||||
import Quickshell.Io
|
import Quickshell.Io
|
||||||
import Quickshell.Wayland
|
import Quickshell.Wayland
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import qs
|
|
||||||
|
|
||||||
Singleton {
|
Singleton {
|
||||||
id: root
|
id: root
|
||||||
|
|
@ -54,30 +53,10 @@ Singleton {
|
||||||
const height = Math.floor(selection.height);
|
const height = Math.floor(selection.height);
|
||||||
|
|
||||||
let position = `${x},${y} ${width}x${height}`;
|
let position = `${x},${y} ${width}x${height}`;
|
||||||
|
let path = "/home/koss/Pictures/screenshot.png";
|
||||||
// i hate javascript
|
|
||||||
let date = new Date();
|
|
||||||
let year = date.getFullYear();
|
|
||||||
let month = date.getMonth();
|
|
||||||
let day = date.getDay();
|
|
||||||
let dateString = `${year}-${month}-${day}`;
|
|
||||||
|
|
||||||
let hour = date.getHours();
|
|
||||||
let minutes = date.getMinutes();
|
|
||||||
let seconds = date.getSeconds();
|
|
||||||
let timeString = `${hour}:${minutes}:${seconds}`;
|
|
||||||
|
|
||||||
let fileName = `screenshot-${dateString}-${timeString}.png`
|
|
||||||
const path = `${ShellSettings.settings.screenshotPath}/${fileName}`;
|
|
||||||
|
|
||||||
console.log(`Screenshot saved to ${path}`);
|
|
||||||
|
|
||||||
// take a screenshot with grim, probably a better way to get this path...
|
|
||||||
let scriptUrl = Qt.resolvedUrl("root:scripts/screenshot.sh").toLocaleString();
|
|
||||||
let scriptPath = scriptUrl.replace(/^(file:\/{2})/, "");
|
|
||||||
|
|
||||||
Quickshell.execDetached({
|
Quickshell.execDetached({
|
||||||
command: ["sh", scriptPath, position, path]
|
command: ["grim", "-g", position, path]
|
||||||
});
|
});
|
||||||
|
|
||||||
root.windowOpen = false;
|
root.windowOpen = false;
|
||||||
|
|
|
||||||
|
|
@ -9,17 +9,10 @@ Item {
|
||||||
property color overlayColor: "#80000000"
|
property color overlayColor: "#80000000"
|
||||||
property rect selectionRect: Qt.rect(0, 0, 0, 0)
|
property rect selectionRect: Qt.rect(0, 0, 0, 0)
|
||||||
property point startPosition: Qt.point(0, 0)
|
property point startPosition: Qt.point(0, 0)
|
||||||
property real borderSize: 2
|
|
||||||
|
|
||||||
signal areaSelected(rect selection)
|
signal areaSelected(rect selection)
|
||||||
|
|
||||||
// only send signal when selection rectangle has finished
|
// only send signal when selection rectangle has finished
|
||||||
onVisibleChanged: {
|
onVisibleChanged: areaSelected(selectionRect)
|
||||||
if (!visible)
|
|
||||||
selectionRect.width -= borderSize;
|
|
||||||
selectionRect.height -= borderSize;
|
|
||||||
areaSelected(selectionRect);
|
|
||||||
}
|
|
||||||
|
|
||||||
MouseArea {
|
MouseArea {
|
||||||
id: selectionArea
|
id: selectionArea
|
||||||
|
|
@ -101,7 +94,7 @@ Item {
|
||||||
id: rectangle
|
id: rectangle
|
||||||
color: "transparent"
|
color: "transparent"
|
||||||
border.color: ShellSettings.colors.active_translucent
|
border.color: ShellSettings.colors.active_translucent
|
||||||
border.width: root.borderSize
|
border.width: 2
|
||||||
x: 0
|
x: 0
|
||||||
y: 0
|
y: 0
|
||||||
width: 0
|
width: 0
|
||||||
|
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
#!/usr/bin/env sh
|
|
||||||
|
|
||||||
# Very basic script for taking a screenshot and then
|
|
||||||
# copying it the clipboard
|
|
||||||
|
|
||||||
if [ "$#" -ne 2 ]; then
|
|
||||||
echo "Usage: $0 <geometry> <path>"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# create directory if doesn't already exist
|
|
||||||
mkdir -p ~/Pictures
|
|
||||||
|
|
||||||
# 1 - Geometry
|
|
||||||
# 2 - Path
|
|
||||||
grim -g "$1" $2
|
|
||||||
wl-copy <$2
|
|
||||||
|
|
@ -6,8 +6,7 @@ import Qt5Compat.GraphicalEffects
|
||||||
import Quickshell
|
import Quickshell
|
||||||
import Quickshell.Widgets
|
import Quickshell.Widgets
|
||||||
import Quickshell.Services.Pipewire
|
import Quickshell.Services.Pipewire
|
||||||
import qs
|
import ".."
|
||||||
import qs.widgets
|
|
||||||
|
|
||||||
Scope {
|
Scope {
|
||||||
id: root
|
id: root
|
||||||
|
|
@ -21,7 +20,6 @@ Scope {
|
||||||
target: Pipewire.defaultAudioSink?.audio
|
target: Pipewire.defaultAudioSink?.audio
|
||||||
|
|
||||||
function onVolumeChanged() {
|
function onVolumeChanged() {
|
||||||
console.log("Volume Changed, showing OSD.");
|
|
||||||
root.shouldShowOsd = true;
|
root.shouldShowOsd = true;
|
||||||
hideTimer.restart();
|
hideTimer.restart();
|
||||||
}
|
}
|
||||||
|
|
@ -38,19 +36,21 @@ Scope {
|
||||||
LazyLoader {
|
LazyLoader {
|
||||||
active: root.shouldShowOsd
|
active: root.shouldShowOsd
|
||||||
|
|
||||||
PanelWindow {
|
PopupWindow {
|
||||||
implicitWidth: 250
|
implicitWidth: 50
|
||||||
implicitHeight: 50
|
implicitHeight: 275
|
||||||
color: "transparent"
|
color: "transparent"
|
||||||
exclusiveZone: 0
|
|
||||||
visible: true
|
|
||||||
mask: Region {}
|
|
||||||
anchors.bottom: true
|
|
||||||
margins.bottom: screen.height / 10
|
|
||||||
|
|
||||||
StyledRectangle {
|
// An empty click mask prevents the window from blocking mouse events.
|
||||||
|
mask: Region {}
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
// radius: 8
|
radius: 8
|
||||||
|
color: {
|
||||||
|
let color = ShellSettings.colors["surface"];
|
||||||
|
return Qt.rgba(color.r, color.g, color.b, 0.8);
|
||||||
|
}
|
||||||
|
|
||||||
RowLayout {
|
RowLayout {
|
||||||
anchors {
|
anchors {
|
||||||
|
|
@ -69,7 +69,10 @@ Scope {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
implicitHeight: 10
|
implicitHeight: 10
|
||||||
radius: 20
|
radius: 20
|
||||||
color: ShellSettings.colors.inactive
|
color: {
|
||||||
|
let color = ShellSettings.colors["inverse_surface"];
|
||||||
|
return Qt.rgba(color.r, color.g, color.b, 0.5);
|
||||||
|
}
|
||||||
|
|
||||||
layer.enabled: true
|
layer.enabled: true
|
||||||
layer.effect: OpacityMask {
|
layer.effect: OpacityMask {
|
||||||
|
|
@ -82,7 +85,7 @@ Scope {
|
||||||
}
|
}
|
||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
color: ShellSettings.colors.active
|
color: ShellSettings.colors["primary"]
|
||||||
anchors {
|
anchors {
|
||||||
left: parent.left
|
left: parent.left
|
||||||
top: parent.top
|
top: parent.top
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue