Commit graph

316 commits

Author SHA1 Message Date
outfoxxed 13b6eeaa22
core/reloader: null generation ref in reloadables on destruction
On the post-reload reloadable initialzation path, a timer is used to
delay reload(). This change fixes a UAF when switching generations
while that timer is running.
2024-08-30 16:29:59 -07:00
outfoxxed 3edb3f4efa
core/reloader: disconnect old generation before reloading
Previously the old generation was not disconnected, causing the root
wrapper's generation pointer to be nulled when pointing to the new
generation, leaving multiple shell versions running simultaneously.
2024-08-30 16:29:48 -07:00
outfoxxed 60349f1894
core: set application name to avoid bin name fallback 2024-08-29 14:43:25 -07:00
outfoxxed 77c5a2d569
build: add "qs" as a symlink to the "quickshell" binary 2024-08-29 14:11:40 -07:00
outfoxxed f6ad617b67
service/pipewire: ignore insignificant device volume changes
Fixes devices getting stuck in a "waiting for volume change
acknowledgement" state forever.
2024-08-29 13:21:07 -07:00
outfoxxed a116f39c63
core/desktopentry: prioritize fallback keys over mismatched keys
The fallback key will now be selected when there isn't a more specific
key to select, instead of the first key.
2024-08-28 22:05:21 -07:00
outfoxxed af29bc277e
core: add by-pid symlinks to instance runtime paths 2024-08-28 17:53:39 -07:00
outfoxxed 9967e2e03b
core: fix UAF when calling Qt.quit or Qt.exit
A pointer to the last generation had shutdown() called on it after deletion.
2024-08-28 15:30:02 -07:00
outfoxxed e327d6750d
build: fix -DCRASH_REPORTER=OFF 2024-08-28 11:32:14 -07:00
outfoxxed 79b22af093
service/pipewire: avoid overloading devices with volume changes
Wait until in-flight changes have been responded to before sending more.
2024-08-27 20:34:11 -07:00
outfoxxed c60871a7fb
service/pipewire: set device node volumes with device object
Fixes discrepancies between pulse and qs volumes, and volumes not
persisting across reboot or vt switches.
2024-08-27 01:34:34 -07:00
Nydragon b40d4147e0
build: add opt-in installation of QML lib
Override the package with `withQMLLib = true;` to enable lib
installation, alternatively add `-DINSTALL_QML_LIB=ON` to your cmake
build command.

Co-authored-by: a-usr <81042605+a-usr@users.noreply.github.com>
2024-08-25 22:59:41 +02:00
outfoxxed f95e7dbaf6
hyprland/focus_grab: wait for surface creation if null
Fixes an occasional crash with QWaylandWindow::surface() returning null.
2024-08-20 16:41:04 -07:00
outfoxxed fe1d15e8f6
crash: add crash reporter 2024-08-20 00:55:07 -07:00
outfoxxed 5040f3796c
core/reloader: delay post-reload reload hooks
Ensures onReload runs after Component.onCompleted.
2024-08-18 19:54:36 -07:00
outfoxxed 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
outfoxxed e223408143
service/mpris: fix display position when paused 2024-08-18 13:07:52 -07:00
outfoxxed f89c504b55
core/menu: opening platform menus w/o QApplication no longer crashes
An error is displayed instead.
2024-08-16 16:47:50 -07:00
outfoxxed 1d2bf5d7b4
core/clock: fix behavior with odd time changes 2024-08-16 02:35:03 -07:00
outfoxxed 815867c178
x11/panelwindow: fix multi monitor
Previously attached panels to the virtual desktop geometry instead of
the screen geometry.
2024-08-15 18:46:18 -07:00
outfoxxed 22c397bbb0
x11/panelwindow: respect exclusive zones per layer 2024-08-15 17:15:30 -07:00
outfoxxed 23cd6cd9e1
x11/panelwindow: set _NET_WM_DESKTOP to stay on all desktops 2024-08-15 17:14:00 -07:00
outfoxxed 683d92a05f
core/command: add --version 2024-08-10 01:59:40 -07:00
outfoxxed 14852700cb
core/log: ensure malformed logs cannot overflow ring buffer 2024-08-10 01:40:51 -07:00
outfoxxed 5f4d7f89db
core/log: fix log corruption with messages at 29 second deltas
29, or 0x1d is used as a marker to mean the log level and time delta
cannot fit in a single byte, and the time delta will be a varint
following the current byte.

Prior to this commit, 29 second deltas would be written as 0x1d
instead of 0x1d1d, which the parser interpreted as a hint to read the
next byte, causing the parser to become offset by one byte and all
following logs to be potentially corrupt.
2024-08-10 01:35:52 -07:00
outfoxxed 53b8f1ee0b
core/log: add read-log --no-time 2024-08-09 23:58:30 -07:00
outfoxxed c2b4610acb
core/log: add read-log --filter 2024-08-09 23:45:46 -07:00
outfoxxed 0fc98652a8
core/log: create fully detailed logs by default
The .qslog logs now log messages for quickshell* by default.
2024-08-09 20:24:17 -07:00
outfoxxed 291179ede2
core/command: rewrite command parser with CLI11 2024-08-09 19:25:18 -07:00
outfoxxed bdbf5b9af9
core/log: add custom log encoder for smaller log storage
Will be used to store more detailed logs in the future without using
as much disk space.
2024-08-09 14:43:18 -07:00
outfoxxed 8364e94d26
core/log: capture early logs in fs logger 2024-08-07 15:53:11 -07:00
outfoxxed 7c7326ec52
core/log: add timestamps to log files 2024-08-07 13:40:37 -07:00
outfoxxed 38ba3fff24
core/popupanchor: pick flip direction based on available width 2024-08-06 22:24:31 -07:00
outfoxxed 6bf4826ae7
core/log: add filesystem logger 2024-08-02 21:37:52 -07:00
outfoxxed 46f48f2f87
core/log: add fancy logger 2024-08-02 18:52:05 -07:00
outfoxxed 533b389742
nix: build with split debuginfo in release mode 2024-08-02 13:56:30 -07:00
outfoxxed d582bb7b57
core: add per-config shell id
Will be useful for future functionality such as IPC and caching.
2024-08-02 02:09:55 -07:00
outfoxxed 79b2fea52e
core/util: fix MemberMetadata compile on gcc 2024-08-02 01:32:12 -07:00
outfoxxed 2c87cc3803
core: stop using the simple animation driver by default 2024-08-01 21:47:18 -07:00
outfoxxed cb2862eca9
wayland/toplevel_management: add ToplevelManager.activeToplevel 2024-07-31 23:10:08 -07:00
outfoxxed 9555b201fe
core/clock: fix instability causing timer to fire multiple times
If the signal was fired slightly before the scheduled time, it would
schedule itself again a couple ms in the future.
2024-07-31 23:09:39 -07:00
outfoxxed a4903eaefc
core/clock: fix breakage at midnight
The difference between 23:59 and 00:00 is -23:59, not 00:01.
2024-07-31 01:51:53 -07:00
outfoxxed 76744c903a
core/clock: add SystemClock 2024-07-30 23:24:54 -07:00
outfoxxed 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
outfoxxed 8873a06962
service/notifications: use DROP_EMIT_SET for notification properties 2024-07-30 12:20:39 -07:00
outfoxxed 3a8e67e8ab
core/util: move DropEmitter to utils and add generic accessor macros 2024-07-30 12:19:59 -07:00
outfoxxed 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
outfoxxed d9f66e63a3
service/upower!: divide percentage by 100
Brings range back to the expected 0-1 instead of 0-100.
2024-07-28 20:28:45 -07:00
outfoxxed 18563b1273
wayland/popupanchor: fix anchor state breaking show after reposition
If the popup was hidden and reposition was called to update qt's
initial positioning properties it would be cancelled by the dirty
marker being unset. This includes if the popup is shown or not into
its dirty state.
2024-07-27 02:28:21 -07:00
outfoxxed 4b2e569e94
core/types: allow implicit conversion from point to box 2024-07-26 10:06:56 -07:00