cee1f5837e
service/mpris: make lengthSupported bindable and notify for changes
...
Fixes #109
2025-07-13 20:32:51 -07:00
3d594e16dd
core/log: track default logging categories
...
Fixes a bug in fb37be7 which ignored default logging categories due to
skipping QLoggingRegistry's filter.
2025-07-08 13:49:06 -07:00
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