Commit graph

39 commits

Author SHA1 Message Date
b67f92bc13
all: use BINDABLE only with trivial setters
Fixes various bugs caused by the QML engine bypassing setters
when BINDABLE is specified (even if the bindable is const).
Also restructures all properties using BINDABLE to have
a default READ and WRITE to ensure this doesn't happen again.
2025-05-29 16:08:39 -07:00
6026c4ce27
service/mpris: expose dbus service name 2025-05-18 12:33:43 -07:00
0662c37d67
io/process!: replace manageLifetime with startDetached
In most cases this is what was desired for usages of
manageLifetime. Starting the process in a detached state also makes
sure the process hierarchy will not result in the child being killed when
Quickshell is killed.
2025-03-12 01:37:38 -07:00
d1a172751d
service/mpris: hack around more non-compliant players
Mpris is currently winning the competition for least compliant clients.
2025-02-21 02:38:12 -08:00
2c411fce5a
all: fix new lints 2025-01-07 03:11:19 -08:00
761d99d644
service/mpris: reset position timestamps on seek
Moving the onPositionUpdated callback to a bpPosition binding caused
it not to fire when Position was changed to the same value, which can
happen when quickly changing tracks before the player has sent a new
position.

This reverts the above change while still updating position on seek.
2025-01-05 01:55:33 -08:00
66b9917e70
service/mpris: trigger onPositionUpdated when seeking 2025-01-01 19:56:51 -08:00
27840db7a6
service/mpris: don't send postTrackChanged unless trackChanged sent 2024-12-13 15:04:28 -08:00
2571766d3b
all: fix clang 18 lints 2024-11-24 03:36:04 -08:00
324fe9274d
all: remove unused dbus props and warnings for non-required ones 2024-11-21 19:45:45 -08:00
d4deb11216
dbus/properties: support data transformation/validation before store 2024-11-21 03:28:33 -08:00
abb900b7ff
service/mpris!: do not provide fallback track information
See the [!TIP] messages for more information.
2024-11-20 19:58:57 -08:00
e2ef7b7982
service/mpris: add isPlaying 2024-11-20 19:52:11 -08:00
db9e633197
service/mpris: adopt bindable properties 2024-11-20 19:31:40 -08:00
dca75b7d6a
service/mpris: clarify trackinfo emit order and use QBindings 2024-11-20 00:52:47 -08:00
8450543e09
service/mpris!: convert trackArtists from list<string> to string
Most people treat it as a string already, which breaks in Qt 6.8,
and I have not seen a meaningful multi-artist response.
2024-11-19 18:28:19 -08:00
66b494d760
build: add qs_add_link_dependencies
Further inspection as to what libraries actually require which others
will be required before this can be used as a hint for shared builds.
2024-11-19 13:58:34 -08:00
7ffce72b31
all: optimize build 2024-11-05 04:15:17 -08:00
1168879d6d
build: only install necessary qml module files 2024-11-04 14:13:37 -08:00
cdeec6ee83
all: use fully qualified type names in signals and invokables
Further fixes qmllint/qmlls
2024-11-01 21:10:21 -07:00
98cdb87181
all: use UntypedObjectModel instead of ObjectModel in Q_PROPERTY
Fixes qmllint/qmlls type deduction for ObjectModels
2024-11-01 03:12:07 -07:00
746b0e70d7
all: use fully qualified type names in Q_PROPERTY
Fixes type deduction issues with qmllint/qmlls.
2024-11-01 01:43:22 -07:00
a931adf033
all: add DEPENDENCIES entries to qml modules
Fixes some qmlls/qmllint issues.
2024-10-31 14:05:02 -07:00
5a038f085d
service/mpris: support trackids in object path form
Chromium reports trackids as object paths, which caused us to fall
back to Seek, which is also entirely broken on chromium.
2024-08-18 13:41:16 -07:00
e223408143
service/mpris: fix display position when paused 2024-08-18 13:07:52 -07:00
ba1e535f9c
core/util: add experimental member macros
An experiment that should reduce boilerplate for properties that just
access a backing value. Code also exists for using it as an interface
for other properties as well, but isn't currently in use.
2024-07-30 20:23:57 -07:00
abc0201f6e
service/mpris: add uniqueId property to detect track changes
Also emits all property changes after trackChanged
2024-07-29 01:34:44 -07:00
a9e4720fae
docs: use new member reference shorthand 2024-07-21 17:41:49 -07:00
d8fa9e7bb3
service/mpris: add properties for common track metadata
This was done to work around bad player implementations sending weird
metadata, such as removing the art url halfway through a song.
2024-06-21 19:03:40 -07:00
c56a3ec966
service/mpris: add shorthand for playback state changes 2024-06-21 16:31:02 -07:00
b1f5a5eb94
service/mpris: preserve mpris watcher and players across reload 2024-06-02 16:18:45 -07:00
06240ccf80
service/mpris: improve compatibility with noncompliant players 2024-05-23 18:15:49 -07:00
5016dbf0d4
all: replace list properties with ObjectModels 2024-05-23 17:28:07 -07:00
6326f60ce2
service/mpris: re-query position on playback and metadata change 2024-05-23 02:38:26 -07:00
ac339cb23b
service/mpris: expose desktopEntry property 2024-05-22 05:40:03 -07:00
f2df3da596
service/mpris: fix position being incorrect after pausing 2024-05-22 04:34:56 -07:00
ed3708f5cb
service/mpris: add trackChanged signal 2024-05-21 05:07:24 -07:00
4ee9ac7f7c
service/mpris: finish mpris implementation 2024-05-21 04:09:19 -07:00
3b6d1c3bd8
feat: mpris 2024-05-21 04:09:19 -07:00