Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
text.py
dotfiles
buildScripts
117 changes: 64 additions & 53 deletions Bar.qml
Original file line number Diff line number Diff line change
Expand Up @@ -9,65 +9,76 @@ import Qt5Compat.GraphicalEffects

Scope {
id:root
Variants {
model: Quickshell.screens

PanelWindow {
color: Solid.color.colorBG
id: topBar
required property var modelData
screen: modelData

anchors {
top: true
left: true
right: true
}

implicitHeight: 30

Row {
id:leftBlock

anchors.left: parent.left
anchors.leftMargin: Solid.spacing.paddingMonitorEdge
y:parent.height/5

spacing:15


WorkSpacesViz {}
Text {
color:Solid.color.colorA
text:Hyprland.activeToplevel ? Hyprland.activeToplevel.title : "what, notings open :("
}

PanelWindow {
color: Solid.color.surface
id: topBar
screen: Quickshell.screens[2]

anchors {
top: true
left: true
right: true
}

implicitHeight: 30

Row {
id:leftBlock

anchors.left: parent.left
anchors.leftMargin: Solid.spacing.paddingMonitorEdge
y:parent.height/5

spacing:15


WorkSpacesViz {}
Rectangle {
width:windowviz.width+10
height:windowviz.height
color:Solid.color.primary
radius:windowviz.height
Text {
id:windowviz
x:5
color:Solid.color.on_primary
text:Hyprland.activeToplevel ? Hyprland.activeToplevel.title : "what, notings open :("
}
ClockWidget {
anchors.centerIn:parent

timeFormat: mouseHere.containsMouse ? "~ d MMMM yyyy hh:mm:ss AP t ~" : "~ hh:mm:ss AP ~"
MouseArea {
id: mouseHere
anchors.fill: parent
anchors.margins: -15
}

hoverEnabled: true
}
}
Rectangle {
anchors.centerIn:parent
width:bob.width+10
height:bob.height
radius:bob.height

color:Solid.color.primary
ClockWidget {
anchors.centerIn:parent
id:bob
timeFormat: mouseHere.containsMouse ? "~ d MMMM yyyy hh:mm:ss AP t ~" : "~ hh:mm:ss AP ~"
MouseArea {
id: mouseHere
anchors.fill: parent
anchors.margins: -15

hoverEnabled: true
}
}
}

Row{
id:rightBlock
Row{
id:rightBlock

anchors.right: parent.right
anchors.rightMargin: Solid.spacing.paddingMonitorEdge
anchors.right: parent.right
anchors.rightMargin: Solid.spacing.paddingMonitorEdge

spacing:15
spacing:15

MprisThingy {id: smile}
}
MprisThingy {id: smile}
}


}//panel
}//variants
}//scope
}
}
2 changes: 2 additions & 0 deletions BottomBar.qml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ import Quickshell
import Quickshell.Io
import QtQuick



Scope {
// no more time object

Expand Down
2 changes: 1 addition & 1 deletion ClockWidget.qml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Text {



color: Solid.color.colorA
color: Solid.color.on_primary
text: Qt.formatDateTime(clock.date, timeFormat)

SystemClock {
Expand Down
12 changes: 12 additions & 0 deletions ListOfThangs.qml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import QtQuick
import Qt.labs.folderlistmodel

FolderListModel {
folder:Qt.resolvedUrl("images/wallpapers/")
}
// ListElement {
// name: "sunset02.jpg"
// photo: "images/wallpapers/sunset02.jpg"
// }

// unset03.jpg windows-10.jpg
34 changes: 19 additions & 15 deletions MprisThingy.qml
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,19 @@ import Quickshell.Services.Mpris
import Quickshell.Widgets
import QtQuick.Shapes


Rectangle{
height:root.height
width:root.width + 20
radius:height
color:Solid.color.primary

ClippingRectangle {
x:10
id: root
implicitHeight: textHere.implicitHeight+squigglePath.confAmplitude*2+10
implicitHeight: textHere.implicitHeight+squigglePath.confAmplitude*2+2
implicitWidth: 300
color: '#00000000'
color: "transparent"



Expand All @@ -25,22 +33,18 @@ ClippingRectangle {
var out = {}
var MprisVars = Mpris.players.values
for (const e of MprisVars) {
console.log("ts bro " + e.identity)
}
for (const player of desiredPlayers) {
console.log("looking for " + player)

const found = MprisVars.find(p => p.identity == player)
console.log(found ? "found "+player : "failed :(" )

const safeFound = found || mprisPlaceholderVars //makes the rest of the code not shit itself

out[player] = safeFound
}
console.log(" ")
return out
}
property var activePlayer: playerDict["Chrome"]
property var activePlayer: playerDict[desiredPlayers[1]]

property var playing: activePlayer.playbackState == MprisPlaybackState.Playing

Expand Down Expand Up @@ -68,7 +72,7 @@ ClippingRectangle {
id:progressBall
width:squigglePath.confAmplitude*1.5
height:squigglePath.confAmplitude*1.5
color:Solid.color.colorA
color:Solid.color.on_primary
radius:width/2
anchors.horizontalCenter:squiggleClip.right
anchors.verticalCenter:squiggleClip.verticalCenter
Expand All @@ -87,11 +91,11 @@ ClippingRectangle {

ShapePath {
id:squigglePath
strokeColor:Solid.color.colorA
strokeColor:Solid.color.on_primary
fillColor:"transparent"
strokeWidth:2

property real amplitude: 5
property real amplitude: confAmplitude
property real confAmplitude: 5
property real wavelength: confAmplitude*4
property real phase: 0
Expand All @@ -101,7 +105,7 @@ ClippingRectangle {
}
Instantiator {
active: true
model:Math.floor(squiggleRoot.barLength/squigglePath.wavelength*2)+2 // jesus ts ugly
model:Math.floor(squiggleRoot.barLength/squigglePath.wavelength*2)+3 // jesus ts ugly
onObjectAdded: (index,object) => squigglePath.pathElements.push(object)


Expand Down Expand Up @@ -163,9 +167,9 @@ ClippingRectangle {

Text {
id: textHere
color: Solid.color.colorA
color: Solid.color.on_primary
text: root.activePlayer.trackTitle

antialiasing: true
onWidthChanged: {
//even tho is 0 miliseconds, incase like idk i press skip rly quick, we make it not do shi too much
widthDelayTimer.stop()
Expand All @@ -176,9 +180,8 @@ ClippingRectangle {
interval:0
running:false
repeat:false
onTriggered: {console.log(textHere.width)
onTriggered: {
if (textHere.width > root.implicitWidth) {
console.log("owo so big *blushes*")
bigTextAnim.start()
} else {
bigTextAnim.stop()
Expand Down Expand Up @@ -210,3 +213,4 @@ ClippingRectangle {
}

}
}
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@ Arch - Linux 6.17.9.arch1-1 ~ hyprland 0.52.2-2 ~ quickshell 0.2.1-3 . this
check the todo file to see waht needs doing, or checkout Quickshell-plans to see my visson for the future



AI disclosure:
so ai, none of the code is writen by an llm, i dont need an llm to write code as bad as me. research however is aided by Gemini, basicly ill ask it sometyhing then ill look at qml/quickshell docs for what gemini ws yaapping abt so usualy most of what i do isnt cooked

as said earlier this is my first time using both git and github so there's going to be many roadblocks in the form of my own incompetence so please please please be patient

Expand Down
38 changes: 13 additions & 25 deletions SolidColors.qml
Original file line number Diff line number Diff line change
@@ -1,33 +1,21 @@
// generated using wallust.
// generated using matugen.
// dont edit as this will be overwriten

pragma Singleton
import QtQuick

Item {
property color colorA: '#FEFFFF'
property color colorSelected: '#B4AA7C'
property color colorTextInacive: '#FF741E'
property color colorTextDimm: '#7497B5'
property color colorBG: '#3B456E'
property color color0: '#FEFFFF'
property color color1: '#B4AA7C'
property color color2: '#FF741E'
property color color3: '#7497B5'
property color color4: '#B35561'
property color color5: '#6B5B37'
property color color6: '#454B64'
property color color7: '#514C38'
property color color8: '#7E7757'
property color color9: '#B4AA7C'
property color color10: '#FF741E'
property color color11: '#7497B5'
property color color12: '#B35561'
property color color13: '#6B5B37'
property color color14: '#454B64'
property color color15: '#D1CCB5'
property color background: '#3B456E'
property color foreground: '#F0F0F4'
property color cursor: '#5E5437'
//personalised matugen results
property color surface: "#141318"
property color on_surface: "#e6e1e9"
property color outline: "#938f99"
property color outline_variant: "#48454e"
property color primary_container: "#4a3e76"
property color on_primary_container: "#e7deff"
property color primary: "#ccbeff"
property color on_primary: "#33275e"
property color background: "#141318"
property color on_background: "#e6e1e9"

}
//33275e
56 changes: 56 additions & 0 deletions TODO.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
heres the todo file, as its just me on the project **working** just shows what im currently messing with however in the future it will show who's working on what

heres the key:
- **working**: what im working on
- **waiting**: indicates an incomplete dependencie
- **todo**: can be done, im just not working on it rn
- **done**: stuff that has been completed


### todo:

- [ ] spruce up workspace viz - working
- [x] figure out how to detect if objects are touching - working

- [ ] make a gui wallapaper switcher - currently commented out in shell.qml - working

- [ ] make mprisviz better with a way to switch sources - working

### Working


- [ ] make github project better for contributors - todo

- [ ] make the project build itself using just a few commands not just puting files inside .conf - todo

- [ ] add .conf backing up to the build - waiting

- [ ] upload to aur - waiting

- [ ] start hardware temp/usage viz, figure out how to get the data and then display it - todo

- [ ] steal someone elses code for a systemTray - todo

- [ ] start on a dock like bottom bar - todo

- [ ] make the shell interact with open rgb or the one that corsair or logitech uses - todo

- [ ] an app launcher, figure out how to read from the .desktop files - todo


### finished:
<i>

- [x] learn Instantiator and use it to make a fancy ass squiggle for the MprisThingy - done

- [x] take the squiggle out of shell.qml and into MprisThingy.qml and tidy up both files - done

- [x] make theme/colour managent better by having it read form some config file and spruse up the names

- [x] cause its kinda cooked - done - moved to using matugen and it writes to SolidColors.qml

</i>




Loading