Commit graph

160 commits

Author SHA1 Message Date
outfoxxed 41803ee235
core/window: fix windows not taking screen assignments during reload 2024-03-14 04:48:27 -07:00
outfoxxed 48156a55b3
core/variants: restructure Variants to match the design of Repeater 2024-03-14 04:46:44 -07:00
outfoxxed ffbdac9977
core: synthesized qmldir files and new qml scanning strategy 2024-03-14 00:16:22 -07:00
outfoxxed 1687ff3614
reload: encapsulate each engine generation more 2024-03-13 22:53:05 -07:00
outfoxxed 211f454de9
singleton: add reloadable Singleton type 2024-03-13 00:57:03 -07:00
outfoxxed 463f9a297f
root: recreate the qml engine on reload instead of clearing it
This causes singletons to be recreated instead of kept alive.
2024-03-12 14:55:51 -07:00
outfoxxed 9f6ef37f61
build: improve parallelism by removing core dependency on modules 2024-03-12 00:04:20 -07:00
outfoxxed c44041653c
build: greatly speed up build times using pch 2024-03-11 18:18:55 -07:00
outfoxxed 3480707e99
wayland: namespace type names a bit to prevent future conflicts 2024-03-11 06:21:23 -07:00
outfoxxed 1e647cee51
readme: mention hosted docs 2024-03-11 06:01:51 -07:00
outfoxxed b675b3676c
popups: add popup windows 2024-03-11 05:44:56 -07:00
outfoxxed 8cf0659444
window: fix empty masks not applying 2024-03-10 04:08:42 -07:00
outfoxxed 7a15495e3f
layershell: fix protocol error on popup attachment 2024-03-10 03:02:40 -07:00
outfoxxed 5f9bb9b46c
window: changing screen now recreates the window on the new screen 2024-03-09 05:06:49 -08:00
outfoxxed 31365dd179
misc: make the last window closing not quit by default 2024-03-09 03:23:58 -08:00
outfoxxed 3789709820
screens: make screen list changes not recreate QuickshellScreenInfos
Fixes Variants recreating windows on existing screens and causing flickering.
2024-03-09 02:39:15 -08:00
outfoxxed 15cd78e30c
screens: add qDebug<< impl to QuickshellScreenInfo 2024-03-09 02:35:48 -08:00
outfoxxed fc93591cab
variants: fix onReload not being called after variant updates 2024-03-09 02:35:07 -08:00
outfoxxed a35d3f9584
global: add Quickshell.processId and rename Process.pid 2024-03-08 23:25:54 -08:00
outfoxxed b720dfa165
build: add git revision to version 2024-03-08 23:08:50 -08:00
outfoxxed 73fd022b1e
build: slightly improve qmltype generation
qmlls still sucks too much for this to be very useful
2024-03-08 21:07:47 -08:00
outfoxxed 6966fc025c
all: ensure QObject ownership is Cpp when required 2024-03-08 18:33:01 -08:00
outfoxxed de8668eff3
cli: add manifest and environment variables for config path 2024-03-08 18:08:47 -08:00
outfoxxed f5d3457815
feat: resolve symlinks to the config 2024-03-08 02:20:53 -08:00
outfoxxed f32b4175fb
docs: add build instructions to README 2024-03-07 06:19:09 -08:00
outfoxxed 5ac04649aa
fix: ub/crash when changing layershell props after hiding window 2024-03-04 17:54:33 -08:00
outfoxxed 3d4b8efc74
fix: remove unexpected and undefined mask behavior
ProxyWindowBase no longer takes ownership of the mask.
It is no longer undefined behavior to set the mask to null.
2024-03-04 17:20:25 -08:00
outfoxxed 04c4cfe7e0
feat: add --workdir 2024-03-04 05:38:03 -08:00
outfoxxed 63180382be
misc: change version to 0.1 2024-03-04 05:37:24 -08:00
outfoxxed 28087c182e
build: nix packaging 2024-03-04 05:13:58 -08:00
outfoxxed dfeb02e50b
fix(panel): WlrLayershell exclusionMode was never set 2024-03-04 04:04:24 -08:00
outfoxxed 4ef4cba4ee
refactor: move settings to their own object 2024-03-04 01:36:00 -08:00
outfoxxed 62f99f5754
feat: add Process.manageLifetime 2024-03-03 23:17:15 -08:00
outfoxxed 4cfe6ee0a1
fix: fix scopes of created QQmlComponents
Using the scope of the component itself makes sure things availible in
its scope are usable, instead of the parent scope.
2024-03-03 21:38:21 -08:00
outfoxxed 7467b65809
feat: attach Qt.quit and Qt.exit functions 2024-03-03 21:37:47 -08:00
outfoxxed e06b07ac01
feat(process): add Process.environment 2024-03-03 19:35:10 -08:00
outfoxxed 65ad2a9877
refactor: rename ReloadPropagator to Scope 2024-03-03 17:10:29 -08:00
outfoxxed 1188bdd8b3
fix: ShellRoot missing NOTIFY for configChanged 2024-03-03 17:08:20 -08:00
outfoxxed bbe64f42f3
feat: add support for getting and setting workdir 2024-03-03 17:05:19 -08:00
outfoxxed b5f50cd68f
fix(socket): clear buffer when closing/opening socket 2024-03-03 15:37:31 -08:00
outfoxxed b42add3967
fix: Process.pid and Quickshell.env returning undefined instead of null 2024-03-03 15:31:15 -08:00
outfoxxed 087c929871
fix(process): pid not emitting changed signal 2024-03-03 15:30:52 -08:00
outfoxxed ffa9d02d48
feat(process): add ways to close stdio channels 2024-03-03 15:23:41 -08:00
outfoxxed 3f0bd20852
feat: add Process type 2024-03-03 14:45:49 -08:00
outfoxxed cd2343e57d
fix(stream): segfault for datastream with no reader 2024-03-03 06:27:21 -08:00
outfoxxed bccf43f1f7
fix: root is now destroyed on exit
This should fix a whole lot of things never being able to run cleanup.
2024-03-03 06:26:41 -08:00
outfoxxed b5110b759e
feat: add Quickshell.env 2024-03-03 02:24:33 -08:00
outfoxxed 14e1d2d162
refactor: move socket and datastream types to Io module 2024-03-03 01:59:31 -08:00
outfoxxed f45d298b66
feat(socket): add SocketServer and Socket.write 2024-03-03 01:26:43 -08:00
outfoxxed f004454395
fix(slock): memory leak when creating non SessionLockSurface 2024-03-02 06:22:14 -08:00
outfoxxed 83a0ec6fc6
feat(socket): add unix socket listener 2024-03-02 05:05:45 -08:00
outfoxxed bb5bc0547a
build: add build options for all components 2024-02-29 01:30:57 -08:00
outfoxxed d06b67107b
docs(layer): improve WlrLayershell documentation 2024-02-29 00:54:18 -08:00
outfoxxed 42ea70e04c
docs(slock): improve session lock documentation 2024-02-29 00:30:50 -08:00
outfoxxed cdd5729642
feat(slock): intentionally protocol error if lock is destroyed 2024-02-28 23:32:40 -08:00
outfoxxed a255889e5c
fix(slock): fix lock target when attempting to enable multiple locks 2024-02-28 23:02:53 -08:00
outfoxxed b05d98b56d
fix(slock): protocol error when session lock is reconfigured 2024-02-28 23:01:38 -08:00
outfoxxed 0b529c6682
fix(slock): make SessionLock.secure accurate 2024-02-28 21:41:30 -08:00
outfoxxed cbdfba1a3f
chore: clean up lints 2024-02-28 21:30:06 -08:00
outfoxxed 4eac0b40c3
fix(wayland): fix ext screens resetting and causing protocol error
Could not reproduce this personally but I am told this fixes it.
2024-02-28 21:11:28 -08:00
outfoxxed 48bdcf4db2
feat(slock): add user facing SessionLock and SessionLockSurface 2024-02-28 19:55:49 -08:00
outfoxxed 1fa87b7c5a
feat(slock): implement ext_session_lock_v1 backend
note: did not run lints or fully test yet
2024-02-28 04:37:52 -08:00
outfoxxed cfd9a27619
refactor: move wlr_layershell to its own subdirectory 2024-02-26 03:13:55 -08:00
outfoxxed 4ae7ff8c72
rename: QuickShell => Quickshell 2024-02-26 00:57:47 -08:00
outfoxxed 0034edd0f8
docs: add macro hints for typegen to paper over weird interfaces 2024-02-26 00:30:25 -08:00
outfoxxed c0faebc700
cleanup(plugin): remove dependency on unstable moc functions 2024-02-26 00:08:30 -08:00
outfoxxed 3bd587cfcc
feat: basic plugin system
The wayland plugin now uses it.
2024-02-25 23:47:17 -08:00
outfoxxed 6c6272e523
cleanup: remove unused ScreenConfiguration type 2024-02-25 19:38:54 -08:00
outfoxxed fabf86f75f
fix(docs): fix incorrect docgen and add wayland module 2024-02-25 19:36:52 -08:00
outfoxxed d5344f463f
feat(panel): set exclusionMode to Normal when exclusiveZone is set 2024-02-25 18:50:38 -08:00
outfoxxed 8cd9657f97
fix(wayland): layershell auto exclusive zone applies on reload 2024-02-25 18:37:42 -08:00
outfoxxed e2063e8b93
feat(wayland): WaylandLayershell attached property for PanelWindow 2024-02-25 18:25:48 -08:00
outfoxxed 13c5d7c7a9
fix(wayland): layershell windows are recreated if attach fails
Usually this happens if the namespace changes
2024-02-25 16:13:24 -08:00
outfoxxed c2930783ea
feat(wayland): create cross platform window interfaces
Internally this also refactors a ton of code around the wayland
layershell. Note that attachment failures are still broken and
platform interfaces are hardcoded.
2024-02-25 07:13:54 -08:00
outfoxxed 4a82949854
feat(wayland): custom layershell implementation
A fair amount of things are broken but not in the layershell interface
itself. The shell window platform extensions are next in line for
refactoring and relevent issues will be fixed then. Same for docs.
2024-02-24 02:06:40 -08:00
outfoxxed b0567a569b
build(wayland): setup cmake for wayland module 2024-02-20 03:12:05 -08:00
outfoxxed c6dde9ca9d
refactor(wayland): seperate cmake files for modularity 2024-02-19 00:52:03 -08:00
outfoxxed 5bbd0333ef
refactor(wayland): start factoring wayland out of ShellWindow 2024-02-19 00:36:51 -08:00
outfoxxed 55bcae4d62
fix: dangling screen issues and incorrect warnings 2024-02-18 19:57:12 -08:00
outfoxxed a361930865
feat: expose ProxyWindowBase.screen 2024-02-18 19:31:46 -08:00
outfoxxed 6ad4fffc17
feat: expose ProxyWindowBase contentItem 2024-02-18 19:02:10 -08:00
outfoxxed 1ecc943eb3
fix: ShellScreen signals are now connected 2024-02-18 18:06:32 -08:00
outfoxxed ea2cdf38b8
feat: make proxy windows visible by default 2024-02-17 05:24:29 -08:00
outfoxxed dc616923aa
refactor: rename ProxyShell/FloatingWindow to Shell/FloatingWindow
also make ProxyWindowBase visible in docs
2024-02-17 05:14:15 -08:00
outfoxxed 083fff57be
feat: add PersistentProperties 2024-02-17 04:24:03 -08:00
outfoxxed ed62193978
feat: use an intermediary content item for proxy windows (fixes in desc)
fix: combo boxes not opening after a soft reload
fix: anchors breaking after a soft reload
2024-02-17 04:16:57 -08:00
outfoxxed 5e58f0ba9f
fix: allow reloadable objects inside of proxy windows 2024-02-16 23:47:55 -08:00
outfoxxed d967d56d3b
fix: regression of default window color from white to black 2024-02-16 21:17:05 -08:00
outfoxxed 1da43be6c0
feat: completely redesign hot reloader
The hot reloader previously attempted to figure out which parent a
component would attach to as it loaded. This was fairly error prone as
it was heuristic based and didn't work as soon as you split
definitions into multiple QML files.

The new hot reloader functions by first completely building the widget
tree, then applying the old tree to the first tree and pulling out
usable values. Proxy windows now wait to appear until being reloaded.

Additionally added support for `reloadableId` to help match a
Reloadable to its value in the previous widget tree.
2024-02-16 17:09:50 -08:00
outfoxxed d6ed717c39
feat: abstract out scavenger scopes 2024-02-14 03:03:41 -08:00
outfoxxed 82aa7d45d3
feat: add clickthrough mask to windows 2024-02-13 06:12:31 -08:00
outfoxxed 5f75c40b67
feat: expose the backing window for ProxyWindowBase 2024-02-13 06:12:25 -08:00
outfoxxed ad2450762b
feat: add ProxyShellWindow.exclusionMode 2024-02-12 23:09:34 -08:00
outfoxxed bb16054b84
feat: add NOTIFY for ProxyWindowBase.color 2024-02-12 16:01:07 -08:00
outfoxxed 424a45be05
feat: begin work on docs, also minor refactoring 2024-02-12 16:00:42 -08:00
outfoxxed 5de0ae095b
feat: rename project to quickshell 2024-02-12 02:16:22 -08:00
outfoxxed c0d6e63f6c
feat: add filesystem watcher and rename QtShell object 2024-02-04 23:00:59 -08:00
outfoxxed cab5ffc65e
build: add option to not build layershell 2024-02-04 20:08:46 -08:00
outfoxxed 767500b466
refactor: move reload function to QtShellGlobal 2024-02-04 05:26:14 -08:00
outfoxxed 7a18ce8a55
fix: thisptr lints for base classes 2024-02-04 05:01:47 -08:00