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

94
shell/widgets/TopBar.qml Normal file
View file

@ -0,0 +1,94 @@
pragma ComponentBehavior: Bound
import QtQuick
import QtQuick.Layouts
import ".."
Item {
id: root
property alias model: buttonRepeater.model
property int currentIndex: 0
RowLayout {
id: buttonGroup
spacing: 0
anchors.fill: parent
Repeater {
id: buttonRepeater
delegate: MouseArea {
id: button
hoverEnabled: true
Layout.fillWidth: true
Layout.fillHeight: true
Layout.alignment: Qt.AlignHCenter | Qt.AlignTop
required property var modelData
required property int index
property bool checked: index === root.currentIndex
onClicked: {
currentIndex = button.index;
root.updateSelectionBarPosition();
}
// Change to SVG Icon
FontIcon {
text: button.modelData
fill: {
if (button.checked)
return 1;
return button.containsMouse ? 1 : 0;
}
color: button.checked ? ShellSettings.colors["primary"] : ShellSettings.colors["inverse_surface"]
anchors.fill: parent
anchors.bottomMargin: 5
}
}
}
}
Rectangle {
id: selectionBar
implicitWidth: 100
implicitHeight: 3
topLeftRadius: width / 2
topRightRadius: width / 2
color: ShellSettings.colors["primary"]
anchors.bottom: tabBar.top
Behavior on x {
NumberAnimation {
duration: 250
easing.type: Easing.OutCubic
}
}
}
Rectangle {
id: tabBar
implicitHeight: 1.5
radius: width / 2
color: ShellSettings.colors["surface_container"]
anchors {
top: buttonGroup.bottom
left: parent.left
right: parent.right
}
}
// Change to icons being greyed out by default but selected is full white
function updateSelectionBarPosition() {
if (buttonRepeater.count > 0) {
var buttonWidth = buttonGroup.width / buttonRepeater.count;
var targetX = currentIndex * buttonWidth + (buttonWidth - selectionBar.width) / 2;
selectionBar.x = targetX;
}
}
Component.onCompleted: updateSelectionBarPosition()
onWidthChanged: updateSelectionBarPosition()
}