3
0
mirror of https://github.com/hyprwm/Hyprland.git synced 2026-03-01 04:48:25 +00:00
Commit Graph

5861 Commits

Author SHA1 Message Date
nyx
d7e7a29261 input: add flip_x and flip_y for touchpad (#9481) 2025-03-03 21:56:01 +01:00
f1ef724a87 protocols: Ensure protocol dtors are called in ProtocolManager dtor (#9521) 2025-03-03 01:57:49 +01:00
474bfcbccd core: fix clang-format 2025-03-02 16:24:37 +00:00
905ca39bc9 nix/module: toHyprconf -> toHyprlang (#9221)
* nix/module: toHyprconf -> toHyprlang

Updated generator that will end up living in Nixpkgs' `lib/generators`.

* nix/module: use xdph package directly

The downstream module already applies hyprland's
finalPackage to the portalPackage.

* new lib

* lib: add flattenAttrs, remove category processing

Flattening attributes means we no longer need to process categories
separately. For all intents and purposes, they do not exist.

Simplify the codebase once again, while introducing an easy to grasp
recursive function.

Add a bit of documentation for toHyprlang, though I doubt it's clear
enough even now. Still needs proper NixDoc.

* lib: add proper NixDoc

* nix/lib: inherit from lib
2025-03-02 15:41:49 +02:00
3a21dd84b3 core: cleanup some smart pointer usage 2025-03-02 02:19:35 +00:00
e6be4af21f core: add default initializers for ccompositor ptrs 2025-03-02 02:16:24 +00:00
2c78867a98 core: cleanup window properties
they don't need to be in CConfigManager, and belong to window instead
2025-03-02 02:13:37 +00:00
2acbb59bf2 core: ignore internal move workspace calls if the workspace doesn't change (#9516) 2025-03-01 19:34:38 +01:00
11943f761e monitor: avoid crash on expired special workspace monitor owner
fixes #9477
2025-03-01 15:56:44 +00:00
f148b96bea input: Provide a non-zero time for button release triggered during window unmap. (#9513)
It doesn't seem that this is actually required, but it seems more consistant with other areas, such as in CVirtualKeyboardV1Resource::releasePressed.
2025-03-01 16:53:30 +01:00
445337d03d protocols: Fix IWaylandProtocol onDisplayDestroy m_pGlobal double-free (#9507) 2025-02-28 02:52:31 +01:00
34f2a4713e core: Add null activeWorkspace check in moveWorkspaceToMonitor (#9503) 2025-02-28 02:52:23 +01:00
d5920bc5da internal: fix include paths (#9500)
* Fix include path in Monitor.hpp

* fix more includes
2025-02-27 00:56:11 +01:00
aee9b8ac19 protocols: fix relative include 2025-02-26 22:13:06 +00:00
32a3d84d74 protocols: fix wrong iface for xdg_dialog
fixes #9498
2025-02-26 20:49:31 +00:00
002cd91fbf nix: wp-protocol version bump (#9494) 2025-02-26 19:36:24 +02:00
01f4074421 hyprctl/layers: print pid for layershell clients (#9468)
Adds a `getPID()` fn to layershell to print it in `hyprctl layers`
2025-02-26 16:03:06 +01:00
6787fe8933 protocols: Support wp color management proto (#9444)
Adds support for the recently merged w-p CM protocol alongside the (now deprecated) old CM WIP protocols
2025-02-26 15:56:37 +01:00
f0850905f0 cmake: add CXX_STANDARD_REQUIRED flag to ensure c++ version must be c++26 (#9476)
As the [cmake documentation](https://cmake.org/cmake/help/latest/prop_tgt/CXX_STANDARD_REQUIRED.html) said, when we use the CMAKE_CXX_STANDARD without CXX_STANDARD_REQUIRED, then the standard version we set will be an optional value, and may decay back to older c++ version. So I add this configuration into cmakelist to ensure c++ version is c++26.
2025-02-25 14:03:09 +00:00
d1ea18b492 hyprctl/config: fixup config descriptions, fill out missing ones, provide more data
adds current and explicit, better parsing, and fixes missing / invalid ones
2025-02-25 14:03:04 +00:00
73ae9790f9 hyprpm: add --hl-url for custom forks 2025-02-24 13:11:30 +00:00
nyx
3458d7ac93 xwayland: improve dnd and cleanup (#9405)
Minor changes to xwayland dnd / regular dnd to fix various issues

---------

Co-authored-by: Vaxry <vaxry@vaxry.net>
2025-02-24 03:52:10 +01:00
e59464629f config: fix a possible crash in the monitor config parser (#9460)
* Less crash-prone monitor config parser

* clang-format
2025-02-23 23:43:24 +01:00
2e81648980 internal: use isNumber from hyprutils (#9467) 2025-02-23 18:35:29 +01:00
8f50460bfe xcursor: move config check to sync gsettings (#9473)
move the check down into the function itself, 39df1f4 began syncing on
session change, but isnt checking for the setting itself, so instead of
duplicating checks all over. do it here.
2025-02-23 18:32:38 +01:00
f4b148df1e anr: add xwayland support (#9456)
Adds XWayland support to ANR dialogs
2025-02-21 21:26:53 +01:00
0e24f9c0d5 anr: add a note for no pid dialogs 2025-02-21 16:58:22 +00:00
2cfa5d2408 hyprctl: Add IPC support for Hyprsunset (#9315)
* Add IPC support for Hyprsunset

* clang-format

* Add documentation
2025-02-21 15:20:11 +01:00
fa246cb6ed flake.lock: update hyprutils and aquamarine 2025-02-20 14:56:17 +02:00
nyx
6d25ef09cd xwayland: add INCR support for clipboard transfers (#9434)
add INCR protocol support for large transfers
fix write handling for partial transfers
fix an issue where wayland windows could die from a paste from an
xwayland window
2025-02-19 16:29:39 +01:00
0137a5f6cd anr: capitalize options 2025-02-18 15:20:00 +00:00
3c1a2e9fca config/descriptions: add enable_anr_dialog 2025-02-18 15:18:34 +00:00
fb8eaba83f core: add an ANR dialog
for xdg-shell, we can ping the wm_base, and thus render an ANR dialog if an app dies

for XWayland, there probably is a similar method, but I don't know about it and don't care.
2025-02-18 15:13:56 +00:00
nyx
3352317ca8 scripts/generateVersion.sh: convert to posix (#9433) 2025-02-18 16:18:22 +02:00
e59623d1d5 hyprctl: don't return empty str if there are no global shortcuts
fixes #6043
2025-02-18 00:33:36 +00:00
nyx
d01f9943e1 subsurfaces: dont try to access popup surfaces when handling subsurface updates (#9421) 2025-02-17 19:02:32 +01:00
59c615c321 input: add follow_mouse_threshold (#9392) 2025-02-17 03:03:27 +01:00
e2a9271150 animations: add the gnomed animation style for windows 2025-02-16 20:53:49 +00:00
897ee276dc xwayland: configure on a configure request and cleanup geometry conversion (#9375)
* xwayland: configure the window on a configure request

* xwayland: move coordinate conversion handling to their own functions

* xwayland: rename configure to configureRequest
2025-02-16 01:20:42 +01:00
94a30889a7 keybinds: fix some errors not returning a failure (#9416) 2025-02-15 20:04:02 +01:00
nyx
9228116c9a xwayland: fix a possible clipboard race condition (#9394) 2025-02-15 20:03:37 +01:00
410da2e46f workspaces: update persistence on workspace rename (#9368) 2025-02-15 15:01:52 +01:00
nyx
7a6fde8414 internal: redirect exec'd app output to /dev/null (#9411) 2025-02-15 14:51:17 +01:00
3eb6cb1875 syncobj: ensure we only add waiters on succesful checks (#9412)
timeline check only returns nullopt on ETIME_ERR , meaning the if check
later on returns true if drmSyncobjTimelineWait returns anything else
like EINVAL/EPERM/EACCESS etc, so actually check the returned .value()
of the std::optional. also move the fd to rvalue references.
2025-02-15 14:48:52 +01:00
2f967037aa config: set no_hw_cursors to auto by default and disable on tearing
when tearing, updates to the overlay plane may be ignored by the kernel. To avoid the cursor being a slideshow, disable hw cursors
2025-02-15 00:29:27 +00:00
1309b59f2c monitor: report a scheduled frame when tearing on cursor move 2025-02-15 00:18:43 +00:00
fb36815b01 renderer: remove spammy log 2025-02-14 22:51:41 +00:00
df3fba1572 internal: remove unused variable (#9402) 2025-02-14 16:31:03 +01:00
40adb3dfb4 config: actually set initial beziers (#9400) 2025-02-13 11:37:59 +00:00
5d2b008294 renderer: disable explicit if aquamarine output doesn't support it (#9396) (#9398)
The explicit settings ignore the aquamarine output.supportsExplicit
attribute, which creates glitches on drivers not supporting explicit
sync (example: freedreno).

If the output has been set as not supporting explicit, disable the
explicit settings.
2025-02-13 11:09:25 +00:00