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