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
b1e5cc66bd
core: Add support for hyprqtutils' update screen ( #8651 )
...
* Nix: add hyprland-qtutils to PATH
* flake.lock: update
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2024-12-06 15:45:02 +01:00
Mike Will
5ff02902ee
snap: use the bit mask to check if snapping occurred ( #8659 )
2024-12-06 15:25:14 +01:00
cccca7c02e
renderer: drop requesting OUT_FENCE_PTR
2024-12-06 14:15:46 +00:00
a7a6eedc21
core: move version include to hyprctl
2024-12-05 19:35:50 +00:00
888bdf4e23
hyprctl: add directScanout to hyprctl monitors
2024-12-05 19:33:54 +00:00
ceef4fb3a5
core: feeling a bit quirky today.
2024-12-05 03:36:50 +00:00
22f7d6f142
core: add a few festive splashes
...
adds two new 'special' splash types for xmas and new years. Activated based on local time.
2024-12-05 01:59:36 +00:00
Mike Will
f9e4998a6d
snap: check which corner is being grabbed for monitor snapping ( #8637 )
2024-12-04 19:12:04 +01:00
3c617ce33c
internal: fixup some missed updateColorsOk() calls
2024-12-03 22:58:30 +00:00
f6ac755cf7
cleanup: Revert use doLater instead of adding idle event handlers ( #8624 )
...
This reverts commit 6d7544458d
.
2024-12-03 21:15:25 +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
UjinT34
10a9fec7fc
master: make center ignore reserved areas ( #8625 )
2024-12-02 15:32:32 +00:00
Ikalco
6d7544458d
cleanup: use doLater instead of adding idle event handlers ( #8624 )
2024-12-01 17:14:35 +00:00
littleblack111
ef6b0c81c9
cleanup: remove leftover var in ThreadManager.cpp ( #8611 )
2024-11-30 16:40:23 +00:00
8f83d29f00
renderer: restore discard mode after IME render pass
...
ref #8555
2024-11-28 23:51:59 +00:00
nyx
5963970be5
descriptions: change allow_pin_fullscreen value to false ( #8592 )
2024-11-28 15:25:24 +00:00
8b51eeb7ae
core: fix compilation outside stdlibc++
...
fixes #8603
2024-11-28 14:31:43 +00:00
Andre Toerien
5329298b52
sessionLock: don't send motion events on every surface commit ( #8584 )
2024-11-27 19:59:00 +00:00
Agent00Ming
e9a7fb8f91
renderer: fix incorrect early return ( #8590 )
...
Co-authored-by: Agent_00Ming <agent00ming9366@gmail.com>
2024-11-27 14:17:45 +00:00
Ikalco
1fb720b62a
seat: fix double scrolling in some applications ( #8583 )
2024-11-26 13:52:43 +00:00
Nabil Otsmane
1930a95000
shm: fix shm fd size check before creating or resizing shm_pool ( #8572 )
...
* protocols: fix shm fd size check before creating or resizing shm_pool
* added static to function
2024-11-25 00:50:35 +00:00
cc38e7e18f
config: don't overwrite errors in gradients
2024-11-24 14:53:36 +00:00
55ec8bd512
config: throw an error explicitly when parsing colors in gradients
...
ref #8552
2024-11-24 02:46:28 +00:00
Mike Will
54f57797e9
snap: account for position of multiple monitors ( #8543 )
2024-11-23 14:36:28 +00:00
littleblack111
65f66dcf0d
binds: add option to allow fullscreening a pinned window ( #8526 )
2024-11-23 14:32:13 +00:00
Ryan
451d7a41fc
renderer: add option to blur IME popups ( #8521 )
2024-11-23 14:29:29 +00:00
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
a847bc67b1
monitor: fix default focus when switching to a fs workspace
2024-11-22 15:22:35 +00:00
may
b100344595
keybinds: actually suppress internal keybinds instead of passing them along ( #8538 )
2024-11-22 02:31:42 +00:00
Tom Englund
943b3d467b
bezier: optimize setup of bezier curves ( #8528 )
...
avoid reallocations by resizing and copy the pVec into the resized
m_dPoints, reduce the amount of calculations in baking to only do it
once per iteration instead of twice. precompute in getYforT and getXforT
return early in getYForPoint if x is equal or below 0. and use const
references where we can.
these changes we are now down to an average of "time to bake: 2.50µs."
on my machine compared to before average of "time to bake: 11.15µs"
2024-11-22 01:47:51 +00:00
940f7aa990
renderer: fixup blur optimization considitons
...
fixes #8531
2024-11-20 11:02:21 +00:00
e5fa017172
internal: fix some misused configStringToInt conversions
...
fixes #8523
2024-11-20 10:32:50 +00:00
c4eda46d0e
xdg-shell: even more robust layout min/max size
...
although I don't think any apps use this, but better safe than sorry
2024-11-19 22:07:25 +00:00
aa067a4cf1
xdg-shell: don't report invalid min/max sizes on unset
...
fixes #8522
2024-11-19 21:40:16 +00:00
67cee43006
internal: minor cleanups for color results
2024-11-19 01:16:11 +00:00
47a1650c48
miscfunctions: move configStringToInt to std::expected
2024-11-18 23:53:38 +00:00
936dfedbad
keybinds: move to managed pointers
2024-11-18 19:56:26 +00:00
MightyPlaza
6113f4da7f
keybinds: allow repeating multiple binds ( #8290 )
2024-11-18 19:48:13 +00:00
Maximilian Seidler
cc923ad031
config: update the configStringToInt implementation ( #8476 )
...
Copied from hyprlang and removed std::expected.
2024-11-18 19:45:22 +00:00
🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко)
df9ff44899
Fix example config name in auto-generated cfg header ( #8509 )
...
Previously, it was suggesting to find `hypr.conf` in the `examples/` folder which doesn't exist. This patch fixed that to point to the existing file.
Additionally, the change updates `HYPR` to `HYPRLAND` in the same header.
2024-11-18 17:54:18 +02:00
Aqa-Ib
97493511f9
internal: fix changeWindowZOrder reordering incorrectly ( #8494 )
2024-11-18 14:44:15 +00:00
505c1f8f4a
miscfunctions: fix cross build
2024-11-18 14:35:09 +00:00
johannes hanika
6744bb57c6
constraints: don't warp pointer position on release ( #8491 )
...
this was annoying for nuklear properties/ui slider elements that grab
the pointer via GLFW_CURSOR_DISABLE to allow more range and finer control.
upon mouse release, the pointer is reset to the middle of the window
without this patch, making long mouse movements necessary to go back
to the original position for readjustments. fwiw the new behaviour
is consistent with x11 and weston.
2024-11-18 14:02:34 +00:00
2259a88551
miscfunctions: add missing include
2024-11-18 13:59:57 +00:00
1ba050d603
shell: propagate new machanism from hyprctl to miscfunctions
2024-11-17 21:58:00 +00:00
e8717a4fce
shell: don't use fgrep, prefer grep -F
2024-11-17 21:57:04 +00:00
Alessio Molinari
9b03307653
hooks: add pre connected/disconnected monitor events ( #8503 )
2024-11-17 19:34:03 +00:00
b735295d2b
windows/xdg: minor cleanup of min/max size calculations
...
fixes #8495
2024-11-17 19:31:54 +00:00
4f591e807a
renderer: simplify blur enabling logic
2024-11-17 16:42:30 +00:00
fb91c2550f
renderer: don't render unmapped popups
...
fixes #8485
2024-11-17 16:16:54 +00:00
Alexandre Acebedo
0ddbd1c3a4
renderer: add lockdead_screen_delay ( #8467 )
2024-11-17 15:58:18 +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
staz
9d37b1b073
workspacerules: Do not check 'on-created-empty' if using a workspace windowrule ( #8486 )
2024-11-16 23:07:33 +00:00
ec1e6be003
core: guard pmonitor in focuswindow
...
may be null
fixes #8483
2024-11-16 23:05:02 +00:00
sslater11
83be2480c4
workspace: fix missing name via focusworkspaceoncurrentmonitor ( #8484 )
2024-11-16 16:39:58 +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
098e491a43
protocols: mark primarySelection as not privileged
...
fixes #8479
2024-11-15 00:47:34 +00:00
UjinT34
967fe76a60
drm: enable explit out fence in AQ ( #8431 )
2024-11-15 00:45:13 +00:00
Tom Englund
940ed3d525
xcursors: store themes in a std:set to order it ( #8474 )
...
using a unordered_set means its store based on a hash_value meaning
currently it can end up loading inherited themes before the actual theme
itself depending on the hash of the theme name used, reason for using
set at all over vector is to keep unique members and not foreverever
looping broken inherit themeing.
2024-11-14 20:38:16 +00:00
6f7280a690
descriptions: add use_cpu_buffer
2024-11-14 20:20:51 +00:00
Vaxry
20031cea92
pointer: add drm dumb buffers for cursors ( #8399 )
...
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2024-11-14 20:15:51 +00:00
SoSeDiK
a29cfa7843
logging: Add some context to config error logs ( #8326 )
2024-11-12 00:53:55 +00:00
nnra
f5fa84554f
config: Changed the default value of decoration:blur:ignore_opacity to true ( #8418 )
...
This change is made in order to deliver the blur look majority of people
expect by default.
2024-11-11 15:49:35 +00:00
8fa4cfb7df
keybinds: don't animate fullscreen size/pos changes coming in
...
when fullscreen, don't animate the pos/size when switching to another fullscreen window, as they can look weird and distracting.
Ideally we would do it differently but it's not really possible to do well without reading minds
2024-11-11 13:55:37 +00:00
dawsers
a551f85b91
renderer: scaled surfaces could have zero area ( #8423 )
2024-11-11 13:48:50 +00:00
JManch
07052a515b
pointer: map devices across all outputs by default ( #8352 )
2024-11-11 13:45:33 +00:00
WavyEbuilder
1fa0cd7a75
debug: clean up fetching of the contents of /proc/device-tree ( #8413 )
2024-11-11 13:44:41 +00:00
c10739e6e3
core: fixup execAndGet
...
fixes #8410
2024-11-10 22:53:11 +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
a8ff3a452c
core: move to os/Process from hyprutils
...
nix bump too
2024-11-09 17:14:25 +00:00
dca75db127
defaultConfig: fixup smart gaps rules
2024-11-09 16:56:43 +00:00
cca227a53e
tablet: use inputMgr unified naming scheme
...
ref #8301
2024-11-09 02:34:04 +00:00
b9c439a55e
compositor: make sure we don't ret early on no surface
...
if there is no implicit surface passed, make sure the current focus is not null, otherwise we nope early without focusing the window
fixes #8293
2024-11-09 02:27:01 +00:00
726d697821
popup: minor cleanups
...
don't iterate over unmapped popups in breadthfirst, don't refocus if it wasnt in focus
ref #8293
2024-11-09 02:26:24 +00:00
0ccc0ace88
input: ignore non-kb ls-es in refocusLastWindow
...
ref #8293
2024-11-09 02:25:54 +00:00
f43d4a8638
layershell: minor cleanups and improvements to focus
...
ref #8293
2024-11-09 02:25:34 +00:00
4c7a2faf85
input: cleanup device naming logic
...
ref #8301
2024-11-09 01:53:05 +00:00
nickodei
3b66351eeb
input: Refocus window on scrolling if follows mouse ( #8361 )
2024-11-08 17:25:37 +00:00
dawsers
2ec2b3bfb3
renderer: minor fixup to window rendering logic ( #8359 )
...
Don't render animating windows out of their monitor when they are not moving workspaces
2024-11-06 23:30:17 +00:00
0ec128e5ed
renderer: don't rely on datarootdir for local share
2024-11-06 22:11:46 +00:00
Aqa-Ib
8f42401aa8
groups: add merge_groups_on_groupbar ( #8362 )
2024-11-06 16:52:10 +00:00
97a309b784
layershell: check if workspace is valid in onMap
...
ref #8296
2024-11-06 14:02:44 +00:00
Kamikadze
e4ab28b1fb
defaultConfig: update default config values for shadows ( #8360 )
2024-11-05 18:03:37 +00:00
81ad218b8b
shadow: fix double premultiplication
...
shader takes straight alpha aaaa
2024-11-05 16:28:55 +00:00
64c46db087
hyprctl: add mirrorOf to hyprctl monitors
...
fixes #8026
2024-11-05 16:20:04 +00:00
0920572e70
shaders: improve corner AA in borders shader
2024-11-05 16:11:05 +00:00
55ccb1a8cf
shaders: fixup jagged edges in texture rounded corners
2024-11-05 16:00:39 +00:00
d1638a09ba
shadow: add sharp and refactor options
...
options moved to decoration:shadow:
2024-11-05 15:44:40 +00:00
e3882b23d0
screencopy: fix build with legacyrenderer
...
fixes #8355
2024-11-05 09:59:03 +00:00
88e9e03945
renderer: add expand_undersized_textures
...
adds an option to disable the texture expansion for textures that are smaller while resizing up
2024-11-04 19:45:23 +00:00
180c26ada6
renderer: safeguard against non-sampleable currentFB in blurMainFb
...
fixes #8325
2024-11-03 15:16:13 +00:00
trianta
5833abbbd1
xwayland: minor fixups for stability ( #8323 )
...
* xwayland: add inline safe closing of fds and fix LOCK_FILE_MODE permissions
* xwayland: auto recreate xwayland instance if it crashes
* xwayland: delay auto-restart until later
2024-11-03 14:59:46 +00:00
40081cb330
renderer: improve api around new framebuffer changes
...
ref #8325
2024-11-02 15:26:45 +00:00
d8b865366a
renderer: Add a missing texture asset and a user check
...
When an asset is missing, instead of a black screen, render an obnoxious, yet standard, missing texture.
Additionally, warn the user assets failed to load.
Shoutout to Arch for having their assets broken for months. Fix your shit. I am tired of it, and it's negatively impacting users.
2024-11-01 15:52:09 +00:00
3852418d24
hyprctl: reload windowrules on reloadAll
2024-11-01 13:03:12 +00:00
Ikalco
c4d214c42d
monitors: fix vrr breaking monitor disconnect ( #8314 )
2024-11-01 12:30:26 +00:00
Mike Will
93b4478e70
snap: add option border_overlap
and other improvements ( #8289 )
...
* snap: add option `border_overlap` and other improvements
I really liked the way borders used to overlap when snapping and how
only the window's main surface would snap to the monitor, so I would
like to bring that behavior back, but in the form of a config option.
Other improvements include:
- reduced the number of snap functions from 4 down to 2, and only
one ever gets called at any given time.
- border size should not be added to gap size. It seemed like the
right thing to do at the time, but it makes snapping feel way
stronger than it actually should.
- all const variables have been given the all-caps naming convention.
- to avoid excessive casting, border size is declared as a double.
- to avoid excessive x + w, y + h calculations. I'm using a struct
called Range and working only with start and end values until the
very end of the function.
- check for both monitor snapping as well as reserved monitor space
snapping in a relatively efficient way.
* snap: always border-align for corners and reserved monitor space
We probably don't want to treat reserved monitor space as if it were just
a smaller monitor. Instead, it should be treated more like a borderless
window, which means our window's border should never encroach upon it.
2024-10-31 11:21:08 +00:00