Aaron Blasko
a649dbe4c4
main: add watchdog-fd and safe-mode options to help message ( #12922 )
...
Additionally, don't print the "you're not using start-hyprland" warning when using `--verify-config`
2026-01-08 17:50:11 +01:00
Vaxry
6175ecd4c4
debug: move to hyprutils' logger ( #12673 )
2025-12-18 17:23:24 +00:00
Vaxry
f88deb928a
compositor: warn on start via a log about start-hyprland
2025-12-17 19:26:25 +00:00
Vaxry
016eb7a23d
start: init start-hyprland and safe mode ( #12484 )
2025-12-05 15:40:03 +00:00
Vaxry
9cd070fd31
hyprpm: check for abi strings in headersValid ( #12504 )
...
---------
Co-authored-by: Virt <41426325+VirtCode@users.noreply.github.com>
2025-12-04 18:00:15 +00:00
Nikolai Nechaev
da31e82aab
internal: prevent early exit processes from being zombies ( #11995 )
...
Prevent `exec`/`exec-once` processes which terminate very early
(before Hyprland declares that it does not want to reap zombies)
from getting stuck as zombie processes.
2025-10-10 17:03:34 +02:00
Nikolai Nechaev
29b103c376
exec: Spawn processes as direct children ( #11735 )
...
* exec: Spawn processes as direct children
Spawn processes as children rather than grandchildren.
This way, spawned processes may track Hyprland's state
by watching their parent, either directly or indirectly
(e.g., Linux's `PR_SET_PDEATH_SIG`).
Fixes #11728
* tests/exec: Add the test on process spawning
Add a test that ensures that:
- A spawned process remains a direct child of Hyprland;
- Upon termination, the process does not become a zombie.
2025-09-23 19:32:48 +02:00
Hato
d890178610
internal: reference command-line arguments instead of copying them ( #11422 )
...
Eliminates the need to copy command-line arguments into a std::vector<std::string>, reducing memory usage and improving performance by referencing the original arguments directly.
2025-08-17 20:18:51 +01:00
davc0n
997fefbc11
render: refactor class member vars ( #10292 )
...
* render: refactor class member vars
* render: fix clang format
2025-05-05 23:44:49 +02:00
davc0n
4d14bcb02f
config: Refactor class member vars ( #10124 )
...
* Refactor config classes vars
* Fix clang format errors
2025-04-20 20:39:33 +02:00
nyx
68bb3e7f0a
env: move XDG_SESSION_TYPE to before backend init ( #9390 )
2025-02-12 13:54:42 +00:00
Vaxry
0a28e13787
desktop: move desktop types to memory-safe pointers
2025-01-26 12:54:38 +00:00
Vaxry
d8f79d7678
core: add --verify-config to verify the config with Hyprland
...
fixes #9135
2025-01-24 20:30:21 +00:00
Vaxry
0a1ae48a9f
core: move all shared_ptrs from the STL to hyprutils ( #9143 )
2025-01-23 21:55:41 +01:00
Ikalco
5b714f05f8
internal: Make static analysis more happy ( #8767 )
...
* make functions used in 1 file static
* fix invalid substr param -1
* give default initializer to borderGradier
* move RASSERT from printf to std::print
2024-12-19 02:56:01 +01:00
Vaxry
8bbeee1173
core: Add clang-tidy ( #8664 )
...
This adds a .clang-tidy file for us.
It's not a strict requirement to be compliant, but I tuned it to be alright.
2024-12-07 18:51:18 +01:00
Toni500git
05a5e0b4f1
hyprland: convert std::cout and std::cerr to std::println()
2024-10-13 14:13:56 +01:00
Toni500github
7564b26b7d
internal: improve version query and define HYPRLAND_VERSION ( #8034 )
2024-10-11 12:19:16 +01:00
davc0n
b3a7e3109b
misc: refactor version command ( #8027 )
...
Fixes a minor spacing issue if git status is not dirty.
Additionally now should be easier to extend it eventually.
2024-10-08 11:42:51 +01:00
vaxerski
2a052c69f3
core: add a --systeminfo parameter to gather systeminfo without running
2024-09-25 10:36:51 +01:00
vaxerski
92df6b0dce
version: log build aquamarine version
...
log the built against aq version, might be useful when it's mismatched to identify the problem
2024-09-19 11:40:00 +01:00
vaxerski
71963972bf
args: add --version to binary args
2024-09-19 11:40:00 +01:00
Vladimir-csp
15f942000e
core: Preserve existing XDG_CURRENT_DESKTOP ( #7347 )
...
* Preserve existing XDG_CURRENT_DESKTOP
* fix
---------
Co-authored-by: vaxerski <vaxry@vaxry.net>
2024-08-15 17:14:48 +01:00
Ikalco
3e543d2ce8
core: Properly shutdown wl display ( #7018 )
...
* correctly destroy wayland globals
* properly shutdown and cleanup hyprland
* appease the nitpick gods and some comments
2024-07-24 19:07:36 +02:00
diniamo
d03fa94c2c
core: avoid locking 2 wayland sockets ( #6971 )
...
* fix: avoid locking 2 wayland sockets
* format
* fix formatting
2024-07-22 13:16:25 +02:00
Ferdinand Bachmann
efccf25fcc
compositor: implement wayland socket handover ( #6930 )
...
* compositor: implement wayland socket handover
This commit implements the compositor side of the Wayland socket
handover protocol as described in the [KDE Wiki]. The CLI options are
chosen so that they are compatible with Kwin.
[KDE Wiki]: https://invent.kde.org/plasma/kwin/-/wikis/Restarting
* main: verify that --wayland-fd is a valid file descriptor
* main: fail if only one of --socket and --wayland-fd is passed
2024-07-20 00:37:20 +02:00
Vaxry
a5a6480917
core: Move /tmp/hypr to $XDG_RUNTIME_DIR/hypr ( #5788 )
...
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`.
2024-04-28 22:25:24 +01:00
Naksu
d8dbdc4a01
main: Fix typo in std::cerr ( #4359 )
2024-01-05 12:45:49 +01:00
vaxerski
bd952dcef2
systemd: add HYPRLAND_NO_SD_NOTIFY
...
fixes #4217
2023-12-21 22:27:12 +01:00
dranull
934112af5b
config: Use canonical instead of read_symlink ( #4136 )
2023-12-12 16:43:38 +00:00
dranull
9a9528d093
config: Minor --config improvements, fixes ( #4034 )
...
* Follow symlink, only file, absolute path for -c
* Create config file only for default paths
* Skip non-file source= glob results
* Check for absolute path on XDG_CONFIG_HOME
As per spec, all non-absolute paths should be ignored.
https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
2023-12-04 01:35:24 +00:00
Vaxry
483302a2cd
env: add HYPRLAND_NO_RT
2023-11-17 23:29:30 +00:00
Vaxry
47654a84c2
main: set isShuttingDown after display dispatch reaches the end
...
relates to #3558
2023-11-07 14:53:56 +00:00
memchr
ea5d9584da
refactor: manually resets singletons ( #3395 )
2023-09-22 11:06:09 +01:00
Philip Damianik
8c83852704
internal: Remove all .c_str() calls when using std::vformat ( #3198 )
...
Signed-off-by: pdamianik <39028343+pdamianik@users.noreply.github.com>
2023-09-06 21:45:37 +02:00
Vaxry
61a71c65ac
internal: Formatter rework ( #3186 )
2023-09-06 12:51:36 +02:00
vaxerski
b79dfcceb4
compositor: fix missed raw throws
2023-08-20 13:58:46 +02:00
ferrreo
f6b340cc19
init: Fix for issue #2797 ( #2799 )
...
* Fix for issue #2797
* Fix for issue #2797
* Fix for issue #2797
2023-07-24 18:26:24 +02:00
Mily
9fc5f4c48b
init: Request SCHED_RR using CAP_SYS_NICE and add Python to nix dev shell ( #2690 )
...
* nix: add python3 to devShell
* init: request SCHED_RR scheduling policy
* init: checks if host supports reseting scheduler on fork
* init: make gainRealTime more compatible with other OSes
* init: remove linux-only code
2023-07-23 20:51:00 +02:00
Aaron Blasko
7c1dacea09
only return 0 when using -h ( #2738 )
2023-07-18 21:00:08 +02:00
Mykola Perehudov
41358c6fb5
Cleanup compositor deadcode ( #2657 )
...
* Remove dead code as it is a part of CCompositor::cleanup
* Unify sd_notify logic with Compositor lifetime
2023-07-06 15:24:49 +02:00
eriedaberrie
d123835ef5
main: fix segfault when -c is given with no other arguments ( #2470 )
2023-06-09 12:15:18 +02:00
vaxerski
fa4aef4531
args: print help on invalid arg
2023-04-10 18:26:36 +01:00
Andrew Nitrogenesis
a35ea4d242
Better and more secure argument parsing, and code reformatting ( #1976 )
...
* Better and more secure argument parsing, and code reformatting
* Changes to resolve PR conversation
* Formatted via clang-format, fixed typos
* More typos
2023-04-07 15:03:26 +01:00
vaxerski
471ac474a1
core: remove old redundant shutdown stuff
2023-03-23 03:07:57 +00:00
vaxerski
ca1c1438e3
Compositor: fix crash on exit
2023-03-09 14:19:54 +00:00
vaxerski
dc7d783d14
Initialize priority managers before server init
2023-03-05 13:37:21 +00:00
vaxerski
1a41f729a3
fix legacy system call to create hypr dir
2023-02-01 19:51:22 +00:00
vaxerski
20a1a47e66
replace java envvar
2023-01-09 21:26:19 +01:00
vaxerski
989ee6473f
describe layers in hyprctl layers
2023-01-09 21:26:07 +01:00