Initial commit

remove syncthing folder

bar/popops: fix menu window anims and positioning

bar/popops: change anims a little and add dropshadow

Update README.md

widgets/coloredicon: move to colorization, looks worse but..., yea

bar/popops: make popup window dissapear on menu close

README: add todo list, and brief desc

Update README.md

Update README.md

Update README.md

bar/systray: issue recreate on interact

bar/systray: hide popup on interact

bar/systray: add arrow for entries with children

bar/battery: start of battery widget

wallpaper/matugen: add foot template

extra sizing conditions for sys tray

bar/systray: add some more margin to text

update settings schema

bar/workspaces: filter by monitor, switch to scriptmodel

settings: fix settings lol

bar/systray: fix right item

feat: screenshot tool

clipboard one day...

feat: init lockscreen

mpris: add ipc handler for multimedia keys

mpris stuff

save progress

put shell in subdir, and add nix package

move readme back woops

bar/volume: make tool bar smaller

greeter: init greeter

greeter: fixed resource links

readme: update checklist

progress maybe, maybe not

fix: fixed screenshot tool not working

fix: bar layout issues

progress save

progress update

track styled popup

still broken but getting there

still broken but getting there

fix: gitignore qmlls.ini

fix: remove qmlls.ini

progress save

new popup system

new popup system

new popup system

more work on popups

fix: mask issues on popups

update readme
This commit is contained in:
kossLAN 2025-06-07 04:01:14 -04:00
commit 9e44812e93
Signed by: kossLAN
SSH key fingerprint: SHA256:bdV0x+wdQHGJ6LgmstH3KV8OpWY+OOFmJcPcB0wQPV8
102 changed files with 4592 additions and 0 deletions

View file

@ -0,0 +1,90 @@
pragma Singleton
pragma ComponentBehavior: Bound
import Quickshell
import Quickshell.Io
import QtQuick
import QtQuick.Layouts
import "../widgets/" as Widgets
import "../"
Singleton {
PersistentProperties {
id: persist
property bool windowOpen: false
}
IpcHandler {
target: "settings"
function open(): void {
persist.windowOpen = true;
}
function close(): void {
persist.windowOpen = false;
}
function toggle(): void {
persist.windowOpen = !persist.windowOpen;
}
}
LazyLoader {
id: loader
activeAsync: persist.windowOpen
FloatingWindow {
color: ShellSettings.colors["surface"]
implicitWidth: 840
implicitHeight: 845
// onWidthChanged: {
// console.log("height: " + height);
// console.log("width: " + width);
// }
maximumSize {
width: 840
height: 845
}
minimumSize {
width: 840
height: 845
}
onVisibleChanged: {
if (!visible) {
persist.windowOpen = false;
}
}
ColumnLayout {
spacing: 20
anchors.fill: parent
StackLayout {
id: page
currentIndex: topBar.currentIndex
Layout.fillWidth: true
Layout.preferredHeight: currentItem ? currentItem.implicitHeight : 0
readonly property Item currentItem: children[currentIndex]
WallpaperPicker {}
}
Widgets.TopBar {
id: topBar
model: ["headphones", "tune"]
Layout.fillWidth: true
Layout.preferredHeight: 35
}
}
}
}
function init() {
}
}

View file

@ -0,0 +1,135 @@
pragma ComponentBehavior: Bound
import QtQuick
import QtQuick.Layouts
import Quickshell.Widgets
import Qt5Compat.GraphicalEffects
import Qt.labs.folderlistmodel
import ".."
ColumnLayout {
id: container
spacing: 5
// anchors {
// fill: parent
// margins: 10
// }
ClippingRectangle {
radius: 20
Layout.preferredWidth: 464
Layout.preferredHeight: 261
Layout.alignment: Qt.AlignCenter
Layout.margins: 20
Image {
id: wallpaperImage
source: ShellSettings.settings.wallpaperUrl
fillMode: Image.PreserveAspectFit
anchors {
fill: parent
}
}
}
Rectangle {
color: ShellSettings.colors["surface_container"]
radius: 20
Layout.fillWidth: true
Layout.fillHeight: true
ColumnLayout {
anchors.fill: parent
Rectangle {
color: ShellSettings.colors["surface_container_high"]
Layout.fillWidth: true
Layout.preferredHeight: 1
}
GridView {
id: wallpaperGrid
cellWidth: 200
cellHeight: 200
clip: true
Layout.fillWidth: true
Layout.fillHeight: true
Layout.margins: 10
model: FolderListModel {
id: folderModel
folder: Qt.resolvedUrl("root:resources/wallpapers")
nameFilters: ["*.jpg", "*.png"]
}
delegate: Rectangle {
id: cell
required property var modelData
width: 200
height: 200
color: "transparent"
Item {
anchors.fill: parent
Rectangle {
id: border
visible: mouseArea.containsMouse
color: "transparent"
radius: 20
border {
color: ShellSettings.colors["primary"]
width: 2
}
anchors {
fill: parent
margins: 1
}
}
Image {
id: image
source: cell.modelData.fileUrl
fillMode: Image.PreserveAspectCrop
asynchronous: true
sourceSize {
height: image.height
width: image.width
}
anchors {
fill: parent
margins: 5
}
layer.enabled: true
layer.effect: OpacityMask {
maskSource: Rectangle {
width: cell.width
height: cell.height
radius: 20
}
}
}
}
MouseArea {
id: mouseArea
anchors.fill: parent
hoverEnabled: true
onClicked: {
ShellSettings.settings.wallpaperUrl = cell.modelData.fileUrl;
}
}
}
}
}
}
}