Vaxry
a5234f26e4
core: drop using deques in favor of vectors
...
No point in most of these.
2024-12-16 15:58:19 +00:00
Vaxry
35e134e570
hyprctl: add an inhibitingIdle field to windows
...
fixes #4322
2024-12-13 21:30:24 +00:00
Vaxry
0a27af8cd1
crashreporter: avoid clang warning
2024-12-08 18:52:39 +00: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
Vaxry
a7a6eedc21
core: move version include to hyprctl
2024-12-05 19:35:50 +00:00
Vaxry
888bdf4e23
hyprctl: add directScanout to hyprctl monitors
2024-12-05 19:33:54 +00:00
Vaxry
320144ae72
core: move colorspace handling to oklab ( #8635 )
...
* Meson: add hyprgraphics
* Nix: add hyprgraphics
* CI/setup_base: get hyprgraphics-git
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2024-12-03 18:58:24 +00:00
Vaxry
92186898c0
version: add link versions for other utils ( #8619 )
...
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2024-12-02 16:31:22 +00:00
Vaxry
745a82ce8a
core: workspace-related function cleanup / refactor
...
CCompositor is massive, and has a lot of functions that could be better optimized if in CWorkspace
2024-11-22 16:01:02 +00:00
Vaxry
67cee43006
internal: minor cleanups for color results
2024-11-19 01:16:11 +00:00
Vaxry
47a1650c48
miscfunctions: move configStringToInt to std::expected
2024-11-18 23:53:38 +00:00
Vaxry
936dfedbad
keybinds: move to managed pointers
2024-11-18 19:56:26 +00:00
Vaxry
e8717a4fce
shell: don't use fgrep, prefer grep -F
2024-11-17 21:57:04 +00:00
Ruslan
af83c82513
hyprctl: add json output on hyprctl -j plugins list ( #8480 )
...
---------
Co-authored-by: Руслан Новокшонов <r.novokshonov@vk.team>
2024-11-16 23:18:30 +00:00
littleblack111
7affc34ab4
bind: new long press option ( #8302 )
...
---------
Co-authored-by: Vaxry <vaxry@vaxry.net>
2024-11-15 23:21:59 +00:00
WavyEbuilder
1fa0cd7a75
debug: clean up fetching of the contents of /proc/device-tree ( #8413 )
2024-11-11 13:44:41 +00:00
WavyEbuilder
9e628067fc
debug: clean up opening of files in HyprCtl ( #8401 )
...
`std::ifstream` is more suited than `execAndGet` here.
2024-11-10 15:54:15 +00:00
Vaxry
64c46db087
hyprctl: add mirrorOf to hyprctl monitors
...
fixes #8026
2024-11-05 16:20:04 +00:00
vaxerski
3852418d24
hyprctl: reload windowrules on reloadAll
2024-11-01 13:03:12 +00:00
MightyPlaza
7188ee4f99
hyprctl: move setprop into dispatchers ( #8275 )
...
* move setprop into dispatchers
modified: src/debug/HyprCtl.cpp
modified: src/managers/KeybindManager.cpp
modified: src/managers/KeybindManager.hpp
* add deprecated
modified: src/debug/HyprCtl.cpp
2024-10-28 18:18:58 +00:00
Vaxry
5d4b54b012
core: move internal structures to monitor pointers ( #8266 )
2024-10-27 18:45:38 +00:00
Vaxry
d5689bb539
internal: cleanup CMonitor usage and fix a few ref hogs
...
ref #8221
2024-10-26 02:06:13 +01:00
czlabinger
7f46680ab1
hyprctl: add caps/num lock state for keyboards ( #8145 )
...
---------
Co-authored-by: Behzad <behzadasbahi@gmail.com>
2024-10-24 14:01:08 +01:00
Vaxry
f044e4c951
internal: Move CMonitor to SP ( #8178 )
...
* move monitors to sp
* XD
2024-10-19 23:03:29 +01:00
Vaxry
5c3bd8e93d
notif-overlay: add a bit of padding for icons
2024-10-13 17:26:44 +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
Vaxry
22746b3046
hyprctl: use the getMonitorData helper everywhere
2024-09-25 23:38:11 +01:00
vaxerski
2a052c69f3
core: add a --systeminfo parameter to gather systeminfo without running
2024-09-25 10:36:51 +01:00
vaxerski
8f5188269b
hyprctl: add solitary field to hyprctl monitors
2024-09-25 09:59:18 +01:00
vaxerski
00c8626863
hyprctl: add submap request
...
fixes #7898
2024-09-24 11:25:05 +01:00
Vaxry
0a211f29f5
hyprctl: add defaultName to workspacerules
...
fixes #7886
2024-09-24 01:19:05 +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
e72ae6b25f
hyprctl: allow parsing empty value
...
fixes #7821
2024-09-17 11:24:54 +01:00
Vaxry
d105c7403c
hyprctl: add next and all to switchxkblayout
...
fixes #7555
2024-08-28 14:05:31 +02:00
Ikalco
7dd0f76e5a
logs: don't get timezone every time logging ( #7550 )
...
its expensive cause cpp dum
2024-08-28 13:19:06 +02:00
Tom Englund
17ed4fc04c
hyprctl: avoid parsing string::npos on invalid cmd ( #7544 )
...
* hyprctl: avoid parsing string::npos on invalid cmd
invalid lines passed to hyprctl keyword made the string parsing try to
parse std::string::npos, avoid that and return an error text instead.
* style
---------
Co-authored-by: Vaxry <vaxry@vaxry.net>
2024-08-27 20:42:30 +02:00
Tom Englund
72c7818ae6
misc: constify the remaining for loops ( #7534 )
...
now we roll loops at blazing constified speed.
2024-08-26 20:24:30 +02:00
Tom Englund
8d6c18076f
core: make most for loops use const references ( #7527 )
...
why not let the compiler optimise things for us at hyprspeeds when we
can.
2024-08-26 17:25:39 +02:00
Ikalco
66586c38f5
keybinds: refactor dispatchers to be better ( #7331 )
2024-08-24 18:45:53 +02:00
Red
f634b9e61a
Fix crash reports having execute permission
2024-08-22 15:28:01 +03:00
vaxerski
912e7ba82d
render: fixup format mismatch after leaving DS
...
fixes #7373
2024-08-17 19:27:20 +02:00
Vaxry
92744b5b9a
IPC: Add config descriptions ( #7377 )
...
Thanks @gulafaran for the work
---
Co-authored-by: @gulafaran
2024-08-17 17:33:16 +01:00
Tom Englund
3fa6db1e7a
core: fix data race and a unsigned int rollover ( #7278 )
...
* keybindmgr: avoid uint rollover on mouse keycode
mouse keycode is 0, and the switch case checks for 0 - 8 and rolls over,
just return early if keycode is 0.
* watchdog: avoid data races in watchdog
asan thread sanitizer reported data races in the watchdog from reading
and setting the bool variables make them std::atomic bools. also add a
atomic bool for the main thread to wait for to avoid data race when
reading the config values.
* hyprdebug: change non unicode character to name
asan created false positives and didnt like this bit, so for the sake of
easier debugging rename it to something unicode.
2024-08-12 18:19:03 +01:00
Tom Englund
4b4971c06f
internal: introduce new types to avoid unsigned int rollover and signed int overflow ( #7216 )
...
* framebuffer: avoid gluint overflow
GLuint was being initialized to -1 and rolling over to unsigned int max,
its defined behaviour but very unnecessery. add a bool and use it for
checking if allocated or not.
* opengl: avoid gluint rollover
-1 rolls over to unsigned int max, use 0xFF instead.
* core: big uint64_t to int type conversion
there were a few uint64_t to int implicit conversions overflowing int
and causing UB, make all monitor/workspaces/windows use the new
typedefs. also fix the various related 64 to 32 implicit conversions
going around found with -Wshorten-64-to-32
2024-08-08 21:01:50 +02:00
Vaxry
83a334f97d
core: Move to C++26 and use native_handle to CLOEXEC the debug fd ( #7219 )
...
Requires GCC >= 14 / Clang >= 18
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2024-08-08 11:54:41 +02:00
Tom Englund
5b736a4a66
debug: dont manually unlock the lock_guard ( #7210 )
...
when lock_guard goes out of scope it RAII itself and calls unlock.
causes crashes on freebsd/libc++ and double unlocking a mutex is UB.
2024-08-07 13:22:01 +02:00
Tom Englund
5489682799
internal: some minor fd/socket cleanups and make logging thread safe ( #7123 )
...
* bezier: dont loop on float values
Using a floating-point loop variable with a fixed increment can cause precision
errors over time due to the nature of floating-point arithmetic.
and cause undesired effects.
ex
iteration 1 = 0.10000000149011611938
iteration 2 = 0.20000000298023223877
eventually..
iteration 8 = 0.80000001192092895508
iteration 9 = 0.89999997615814208984
* hyprctl: close sockets on destruction
store socketpath and close the fd and unlink the socket path on exit.
* eventloopmgr: close the timerfd
close the timerfd on exit.
* debug: make logging thread safe
instead of opening and closing the logfile on each write open it on init
and close it on compositor exit. also add a mutex so accidently using
logging from a thread like the watchdog or similiar doesnt cause issues.
* xwl: clean up fd logic
check if the fd is actually opened before closing, and close the
pipesource FD on exit.
2024-07-31 21:00:14 +02:00
MightyPlaza
e989a0bcff
internal: refactor fullscreen states ( #7104 )
...
* refactor fullscreen
modified: src/Compositor.cpp
modified: src/Compositor.hpp
modified: src/config/ConfigManager.cpp
modified: src/config/ConfigManager.hpp
modified: src/debug/HyprCtl.cpp
modified: src/desktop/LayerSurface.cpp
modified: src/desktop/Window.cpp
modified: src/desktop/Window.hpp
modified: src/desktop/Workspace.cpp
modified: src/desktop/Workspace.hpp
modified: src/events/Windows.cpp
modified: src/helpers/Monitor.cpp
modified: src/layout/DwindleLayout.cpp
modified: src/layout/DwindleLayout.hpp
modified: src/layout/IHyprLayout.cpp
modified: src/layout/IHyprLayout.hpp
modified: src/layout/MasterLayout.cpp
modified: src/layout/MasterLayout.hpp
modified: src/managers/KeybindManager.cpp
modified: src/managers/KeybindManager.hpp
modified: src/managers/input/IdleInhibitor.cpp
modified: src/managers/input/InputManager.cpp
modified: src/managers/input/Swipe.cpp
modified: src/protocols/ForeignToplevelWlr.cpp
modified: src/render/Renderer.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* clean up
modified: src/config/ConfigManager.cpp
modified: src/debug/HyprCtl.cpp
modified: src/desktop/Window.hpp
modified: src/desktop/Workspace.cpp
modified: src/events/Windows.cpp
modified: src/managers/KeybindManager.cpp
modified: src/managers/input/Swipe.cpp
* fix mapWindow fullscreen
modified: src/events/Windows.cpp
* fix typo
modified: src/desktop/Workspace.cpp
* add fullscreenstate
modified: src/config/ConfigManager.cpp
modified: src/events/Windows.cpp
* change syncFullscreen to lower
modified: src/config/ConfigManager.hpp
* initialize fs state
modified: src/desktop/Window.hpp
2024-07-31 19:55:52 +02:00
Ikalco
3b9b5346b8
protocols: Move globalshortcuts impl ( #7102 )
...
* move global shortcuts to hyprwayland-scanner
* remove wayland-scanner from deps
* fix the thing
2024-07-30 23:33:56 +02:00