summaryrefslogtreecommitdiff
path: root/src/plugins
Commit message (Collapse)AuthorAgeFilesLines
* core: move all shared_ptrs from the STL to hyprutils (#9143)Vaxry2025-01-236-12/+12
|
* core: move to inotify for monitoring the config filesvaxerski2025-01-192-3/+5
| | | | | | instead of manually polling every second which is not efficient, use inotify. an added bonus is that inotify is much much faster
* core: cleanup header includes (#9088)user1111111111111111111111111111111112025-01-173-3/+10
| | | Cleanup some unneeded includes to speed up compilation
* functionHooks: wait for hyprland pages before returning addr for trampovaxerski2024-12-261-0/+15
| | | | ref #8845
* pluginAPI: add register dispatcher v2Vaxry2024-12-192-1/+23
|
* core: Add clang-tidy (#8664)Vaxry2024-12-075-11/+12
| | | | | This adds a .clang-tidy file for us. It's not a strict requirement to be compliant, but I tuned it to be alright.
* core: move colorspace handling to oklab (#8635)Vaxry2024-12-032-4/+4
| | | | | | | | | | | * Meson: add hyprgraphics * Nix: add hyprgraphics * CI/setup_base: get hyprgraphics-git --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* miscfunctions: move configStringToInt to std::expectedVaxry2024-11-181-5/+8
|
* misc: constify the remaining for loops (#7534)Tom Englund2024-08-262-12/+12
| | | now we roll loops at blazing constified speed.
* core: make most for loops use const references (#7527)Tom Englund2024-08-261-1/+1
| | | | why not let the compiler optimise things for us at hyprspeeds when we can.
* keybinds: refactor dispatchers to be better (#7331)Ikalco2024-08-241-2/+5
|
* pluginapi: Add force reload of config at the end of plugin initialization ↵atikiNBTW2024-07-291-0/+2
| | | | | | | (#7099) * Add force reload of config at the end of plugin load * Remove unnecessary include
* Core: Move to aquamarine (#6608)Vaxry2024-07-211-0/+1
| | | | | | | | | | | | | | Moves Hyprland from wlroots to aquamarine for the backend. --------- Signed-off-by: Vaxry <vaxry@vaxry.net> Co-authored-by: Mihai Fufezan <mihai@fufexan.net> Co-authored-by: Jan Beich <jbeich@FreeBSD.org> Co-authored-by: vaxerski <vaxerski@users.noreply.github.com> Co-authored-by: UjinT34 <41110182+UjinT34@users.noreply.github.com> Co-authored-by: Tom Englund <tomenglund26@gmail.com> Co-authored-by: Ikalco <73481042+ikalco@users.noreply.github.com> Co-authored-by: diniamo <diniamo53@gmail.com>
* core: fix no-pch buildVaxry2024-06-191-0/+1
|
* core: move to hyprutils for utils (#6385)Vaxry2024-06-111-1/+1
| | | | | | | | | | | | | * core: move to hyprutils for utils Nix: add hyprutils dep * Meson: add hyprutils dep * flake.lock: update --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* internal: new shared_ptr and weak_ptr implementation (#5883)Vaxry2024-05-053-24/+22
| | | | | | | | | | | moves std::shared_ptrs to a new implementation Advantages: - you can dereference a weak_ptr directly. This will obviously segfault on a nullptr deref if it's expired. - this is useful to avoid the .lock() hell where we are 100% sure the pointer _should_ be valid. (and if it isn't, it should throw.) - weak_ptrs are still valid while the SP is being destroyed. - reasoning: while an object (e.g. CWindow) is being destroyed, its `weak_ptr self` should be accessible (the sp is still alive, and so is CWindow), but it's not because by stl it's already expired (to prevent resurrection) - this impl solves it differently. w_p is expired, but can still be dereferenced and used. Creating `s_p`s is not possible anymore, though. - this is useful in destructors and callbacks.
* pluginAPI/hooks: Remove dependency on cc from the hooksystem (#5801)Vaxry2024-04-301-77/+40
| | | | | | | | | * Remove dependency on cc from the hooksystem * Nix: remove cc from wrapper --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* core: Move /tmp/hypr to $XDG_RUNTIME_DIR/hypr (#5788)Vaxry2024-04-281-1/+2
| | | | | | Moves the directory containing sockets and logs. Also restructures lockfiles a bit. For consumers, check if `$XDG_RUNTIME_DIR/hypr` exists. If so, use it. If not, use the old `/tmp/hypr`.
* hooksystem: check for existing random outdirVaxry2024-04-281-1/+7
|
* core: prefer mkdir over create_directory and permissionsVaxry2024-04-281-3/+5
|
* hooksystem: use a random 700 directory for assemblerVaxry2024-04-281-10/+17
|
* CrashReporter: fix deadlocks by making it mostly async-signal-safe (#5771)virchau132024-04-272-0/+12
| | | | | `CrashReporter::createAndSaveCrash()` is not async-signal-safe, resulting in random deadlocks/double-crashes during Hyprland crashes. This changes the function to be (mostly) async-signal-safe.
* internal: Window storage rework - part 1 (#5762)Vaxry2024-04-273-5/+9
| | | | | | | | | | | | | | | | | * Window storage rework - part 1 * format * remove useless include * fix pch * format * fix crash in dwindle * fix vram leak * prefer .expired() for bool checks
* pluginsystem: fix unhooking on exitVaxry2024-04-221-2/+4
|
* pluginapi: unregister callbacks on lost ptrsVaxry2024-04-224-17/+21
|
* pluginsystem: unload entire plugin before calling dlclose()Vaxry2024-04-221-3/+8
| | | | fixes #5689
* HookSystem: improve callback safetyVaxry2024-04-203-37/+17
|
* core: fix compile without pchVaxry2024-04-051-1/+0
| | | | fixes #5445
* hooksystem: attempt allocating pages in linear orderVaxry2024-04-051-1/+1
|
* hooksystem: Fix miscalculation in comment (#5442)Martin Sundhaug2024-04-051-1/+1
|
* hyprpm: add support for minimum versionsVaxry2024-04-052-1/+2
|
* hooksystem: manually map trampoline addressesVaxry2024-04-042-15/+154
| | | | better patching of rip calls as we are close enough to just change them up
* format: make ci happyVaxry2024-03-081-1/+1
|
* Migrate the config to hyprlang (#4656)Vaxry2024-02-182-8/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Migrate to hyprlang * pop up errors * fix swapped args * Meson & Nix: build with hyprlang * CI: add hyprlang to setup action * add infra for plugin stuff * fix hyprctl getoption * fix hyprctl getoption with json * format * fix post parse logic * fix autogen config * oops missed exec-once * fmt * fix ws rules * require 0.3.0 for hyprlang * nix: flaek * minor type fixes * fix cfg usages in swipe * use cvarlist for ws rules * fix throw in addPluginConfigVar * Nix: update hyprlang * minor fixes * fix disableLogs * mention hyprlang docs * bump hyprlang dep in cmake * Meson: bump min hyprlang version Nix: update hyprlang * minor fix * Nix: update meson patch --------- Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
* pluginapi: allow registering hyprctl commandsVaxry2024-02-054-0/+43
| | | | closes #4616
* hyprctl: move to a class and unify commandsVaxry2024-02-051-2/+2
|
* pluginapi: fix hooks with negative rip offsetsVaxry2024-01-241-3/+4
| | | | fixes #4484
* HookSystem: rename PAGESIZE_VAR from PAGESIZE to avoid conflict (#4321)Zach DeCook2024-01-011-3/+3
|
* pluginapi: manually detect endbr64 opcodes in function hooksvaxerski2023-12-281-0/+16
| | | | ref #4277
* pluginapi: better wording for plugin function hook errorsvaxerski2023-12-271-1/+1
|
* pluginapi: log assembler returnvaxerski2023-12-271-1/+3
|
* pluginapi: Trampoline hooks %rip patching improvements (#4256)Vaxry2023-12-272-60/+114
| | | | | --------- Co-authored-by: Jan Beich <jbeich@FreeBSD.org>
* functionHooks: fix incorrect protlen calcsVaxry2023-12-091-3/+6
|
* style/ci: apply clang-format and verify it in ci (#4039)François Conzelmann2023-12-061-3/+3
| | | | | * style: apply clang-format * ci: add new clang-format job to CI
* hooksystem: fix missed log includeVaxry2023-11-261-0/+1
|
* functionhooks: throw an exception on unsupported %rip usageVaxry2023-11-261-1/+8
| | | | ref #2479, now will actually tell you what's wrong instead of crashing
* pluginmgr: fix double use of dlerror()Vaxry2023-11-171-2/+3
|
* plugins: make logging on error more verboseVaxry2023-11-172-1/+9
| | | | ref #3874
* decorations: Decoration Positioner (#3800)Vaxry2023-11-112-6/+5
|
* pluginapi: fixup get_hash functionsVaxry2023-10-292-1/+9
|