fbf5ba87ce
shaders: use highp for fragments
2024-02-15 17:32:34 +00:00
Jacob Birkett
a8dae8f5e1
socket2: monitoraddedv2
IPC event for monitor description and id ( #4646 )
...
* add monitor szShortDescription without DRM node name
* change hyprctl to use szShortDescription
* add monitoraddedv2 event
* add monitor ID as first param of monitoraddedv2
2024-02-15 14:22:20 +00:00
a42b984f51
screencopy: fix ~dtor being in monitorRenderResources map
2024-02-15 02:01:40 +00:00
e5ac970d6e
input: fix follow_focus
2024-02-15 01:51:01 +00:00
770956b092
input: don't schedule frame on cursor move on hw cursors
...
spams unnecessary frames. Maybe we should ignore empty damage frame requests too?
ref #3747 #3490
2024-02-15 01:26:48 +00:00
3cca36e773
input: avoid rampant refocuses on popups
2024-02-15 01:24:40 +00:00
ef490965a2
screencopy: attempt binding framebuffer before gathering format
2024-02-15 00:59:06 +00:00
b7ab15dc80
input: log cursor image requests
2024-02-15 00:59:04 +00:00
9c3f3b0018
renderer: don't calculate mirror damage without mirrors present
2024-02-14 22:33:50 +00:00
8d68d6bfa5
windowrules: nuke no*request
2024-02-14 22:27:53 +00:00
60834a4687
config: remove usages of nomaximizerequest from default cfg
2024-02-14 22:26:45 +00:00
7f52db806c
windowrules: add suppressevent
...
deprecates nofullscreenrequest nomaximizerequest
2024-02-14 22:19:49 +00:00
305b1419c8
renderer: accept custom state requests for fake outputs
2024-02-14 22:05:41 +00:00
Niklas Haas
d5950f7719
dwindle: add swapsplit dispatcher ( #4702 )
...
This is distinct from `swapwindow` in that it allows swapping the entire
tree node with its neighbour.
Fixes: https://github.com/hyprwm/Hyprland/issues/4701
2024-02-14 17:58:28 +00:00
0608791480
dwindle: round wbox before setting
2024-02-14 11:44:47 +00:00
2a002f31e4
renderer: don't set solitary on present notifications
...
fixes #4647
2024-02-14 11:09:18 +00:00
Epilepsy Gatherings
2a3429d4cf
internal: add forcenofocus
prop ( #4672 )
...
* add forcenofocus
* change nofocus to overridable var
2024-02-13 18:07:19 +00:00
95abf1220f
keybinds: fix swapactiveworkspaces not moving focus
...
fixes #4626
2024-02-13 17:53:50 +00:00
b500e5699b
renderer: update cursor also when hostpot only changes
...
fixes #4691
2024-02-13 17:39:51 +00:00
Filipe Paniguel
61378380ee
config: fix tiny typo in defaultConfig.hpp ( #4693 )
2024-02-13 17:30:17 +00:00
890307532c
input: avoid reassigns of unchanged surfaces in processMouseRequest
2024-02-12 20:02:00 +00:00
ComycSans
927da86e3e
hyprctl: fix dispatchBatch() treating empty curitem as last request ( #4681 )
2024-02-12 15:16:00 +00:00
e4bb5fa4af
input: focus monitor on mouse down
...
fixes #4649
2024-02-10 17:39:53 +00:00
658f718fa3
input: partially revert #4514
...
issues with refocus in #4649
2024-02-10 17:05:38 +00:00
Sefa Eyeoglu
334a0f03ee
keybinds: Fix focus not moving along when moving workspace ( #4660 )
...
---------
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2024-02-09 23:47:00 +00:00
Ben Landon
289d4241be
groupbar: scale groupbar text according to monitor scale ( #4640 )
2024-02-08 22:29:10 +00:00
a6ccd36147
screencopy: move monitor verif check to the proper place
...
oops
2024-02-07 23:47:14 +00:00
thejch
3d9ca6381d
crashreporter: fix logging of function data ( #4632 )
2024-02-07 09:50:23 +00:00
f085ed4454
screencopy/toplevelexport: sanitize pointers in ::copyFrame
...
oopsie~~ >///<
2024-02-07 00:18:47 +00:00
ded174d6e5
misc: remove unused var
2024-02-05 23:39:19 +00:00
181f651de2
vector: avoid min0 clamps without a max being invalid
2024-02-05 22:37:34 +00:00
Epilepsy Gatherings
8a6e428d32
keybinds: focusWorkspaceOnCurrentMonitor: use focused monitor instead ( #4625 )
2024-02-05 22:36:22 +00:00
1fd82e37a7
xwaylandmgr: proper clamping for setWindowSize
...
closes #4622 fixes #4621
2024-02-05 20:56:20 +00:00
f9202f791e
xwaylandmgr: clamp size in setWindowSize
...
fixes #4586
2024-02-05 14:08:08 +00:00
60bda7ee3d
pluginapi: allow registering hyprctl commands
...
closes #4616
2024-02-05 01:57:29 +00:00
939696f97e
hyprctl: move to a class and unify commands
2024-02-05 01:56:49 +00:00
MightyPlaza
cbadf3e3f3
input: focus window on mouse down on decoration ( #4514 )
...
Also unifies vectorToWindow funcs
2024-02-04 15:40:20 +00:00
JManch
1ed4f1cb25
screenshader: rename output uniform to wl_output ( #4606 )
...
* screenshader: rename output uniform to monitor
* rename to wl_output
2024-02-04 02:30:00 +00:00
504ebe1b37
box: add missing include
2024-02-03 01:31:52 +00:00
cf1886ca44
renderer: avoid unnecessary gpu resource deletions
...
fixes #4594
2024-02-02 15:36:13 +00:00
341e04a36c
dwindle: avoid sending negative sizes to wlr
...
fixes #4591
2024-02-02 15:04:04 +00:00
d7514412d8
renderer: reset fb pointers after render pass
...
fixes #4590
2024-02-02 14:56:04 +00:00
4644de2269
keybinds: fix ignoremods with release
2024-02-02 01:09:57 +00:00
Abílio Costa
15316aaa31
subsurfaceTree: Fix nullptr crash when disconnecting a monitor ( #4577 )
...
I was able to reproduce this frequently by having a kitty terminal on an
monitor running the following command and then unplugging that monitor:
`while true; do echo "" && sleep 0.02; done`
2024-02-01 03:09:31 +00:00
cfd68af5b6
tearing-control: handle unmapped surfaces for hints
...
fixes #4570
2024-02-01 00:55:29 +00:00
c51b3fb06f
events: ignore sending mouse enter to focused if a constraint is active
...
fixes #4186
2024-01-30 16:24:41 +00:00
2e3f0d5991
renderer: Add new background infrastructure
...
Adds new backgrounds from the winners of the contest
Rewrites how it works
Allows high color precision PNGs (RGB32F precisely)
Fixes a small bug in renderTextureInternalWithDamage
Nukes misc:force_hypr_chan
2024-01-29 23:11:00 +00:00
4b4bd90b14
renderer: fixup misaligned fsv1 surfaces with uv
...
fixes #4548
2024-01-28 23:42:49 +00:00
b7840c6461
xwayland: remove delta from pos sets in configureX11
...
ref #4536
2024-01-28 20:13:44 +00:00
Epilepsy Gatherings
0e5f14d8d2
xwayland: remove reportedsize set in unmanagedSetGeometry ( #4539 )
2024-01-28 19:22:02 +00:00
bfcc2adbda
monitor: wrap usage of wlr_output_state
...
for better control and convenience in usage.
fixes #4546
2024-01-28 01:57:13 +00:00
9002657bcc
monitor: don't call output_state_finish on buffer-less state clears
...
ref #4546
2024-01-28 00:41:54 +00:00
3e93fdf779
opengl: use texBox for rendering background texture
...
fixes #4543
2024-01-28 00:32:54 +00:00
bc7e488a4c
monitor: clear output state after usage
...
fixes massive lag
2024-01-27 19:11:14 +00:00
7b3d039388
deps: update wlroots
...
drops requirement for WLR_DRM_NO_ATOMIC provided kernel >= 6.8
2024-01-27 13:58:28 +00:00
rszyma
12d79d6342
dwindle: fix windows being created at incorrect position when cursor is over reserved area ( #4520 )
...
* fix: smart_split not working correctly when creating a window with cursor over reserved area
* use getClosestNodeOnWorkspace instead of getFirstNodeOnWorkspace when hovering over reserved area
* optimize `getClosestNodeOnWorkspace`
* remove unused methods
2024-01-26 22:30:36 +00:00
bvr-yr
08e3519747
layout: save float props before setting fs state ( #4537 )
...
fixes #4388
2024-01-26 17:24:00 +00:00
Epilepsy Gatherings
5cd7e4587e
compositor: don't close special on focus on pinned ( #4533 )
2024-01-26 12:24:52 +00:00
72987dee88
opengl: rassert false on lost context
...
we do not have infra to deal with this. It will cause hyprland to freeze rendering, we might as well die.
2024-01-26 02:26:10 +00:00
754eaf5b8b
pluginapi: fix hooks with negative rip offsets
...
fixes #4484
2024-01-24 13:53:18 +00:00
Zach DeCook
df17991b1c
input: Allow disabling touchscreen input ( #4517 )
...
* enable/disable touch device
* ConfigManager: update documentation of 'enabled'
2024-01-24 00:15:01 +00:00
791e1b96b3
internal: minor header cleanup
2024-01-23 01:32:34 +00:00
02b4a9bded
compositor: clarify common errors at launch
2024-01-22 09:46:47 +01:00
f40e382fc6
crashreporter: skip first possibly cut off line in log tail
2024-01-20 09:16:27 +01:00
b86ed02d8a
keybinds: avoid duplicated held keys, only use last, remove all
...
ref #4471
2024-01-19 19:09:32 +01:00
17339e0ae9
input: track exclusive LSes
...
ref #4465
2024-01-19 16:45:34 +01:00
5eeec8860e
core: improve cleanup logic
2024-01-19 16:20:30 +01:00
Epilepsy Gatherings
9f20a15955
input: remove animate checks on resize limiter ( #4480 )
2024-01-19 15:45:51 +01:00
c4365f20ed
damage: use buffer_damage instead of effective_damage
2024-01-17 16:01:20 +01:00
307dd8f511
input: partially revert #4401
...
ref #4465
2024-01-17 14:43:38 +01:00
virchau13
3c964a9fdc
keybinds: Add dispatcher for xmonad/qtile-style workspace switching ( #4439 )
...
* feat: implement xmonad/qtile-style workspace switching
Implements the focusWorkspaceOnCurrentMonitor dispatcher and function,
which implements XMonad/Qtile-style workspace switching.
When called, focusWorkspaceOnCurrentMonitor will:
1. Send the requested workspace to the current monitor,
2. If the workspace was previously active on a different monitor,
replace it with the workspace that was previously active on the
current monitor,
3. Focus the workspace on the current monitor.
* fix: address PR comments
2024-01-15 16:30:46 +01:00
MightyPlaza
f14c5ea5c5
groupbar: separate gradients from title ( #4444 )
...
* separate gradients from title logic
modified: src/config/ConfigManager.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* fix disabled extents
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* fix disabled height
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
2024-01-15 16:17:42 +01:00
Isaac Myhal
b6516bad02
config: Add border gradients to windowrulev2 ( #4335 )
...
* Add border gradients to windowrulev2
* windowrule border gradient: Use CVarList to parse
* windowrule border gradient: No {} around short ifs
2024-01-14 18:27:32 +01:00
dranull
13d9a637d6
hyprctl: screen_shader config fixes ( #4102 )
...
* Allow "/" in values of requests
* Don't tick on empty value
2024-01-14 18:12:52 +01:00
1over137
4cee94b91c
fractional: Set preferred scale on monitor config reload ( #4406 )
2024-01-14 14:56:35 +01:00
Zach DeCook
c4da4b026d
layershell: Fix greedy mouse grab from keyboard_interactive layer ( #4401 )
...
* Layer: Don't allow a keyboard-layer to steal focus from other layers
* Input: Don't change keyboard focus on click if focus is locked
2024-01-12 15:43:16 +01:00
scorpion-26
babb9c07b0
swipe: Prevent hiding current workspace when swiping ( #4417 )
...
When workspace_swipe_use_r is enabled, swiping from WS 1 to a non-empty WS 2 would
hide WS 1 (Similar effect to issue #4076 ). This is caused by a faulty
check which doesn't consider, that workspaceIDLeft could be the current
workspace.
This bug is only a problem for r, because m wraps around on WS 1 m-1, whereas r stays on WS 1.
2024-01-11 19:22:40 +01:00
6b92144f15
surface: avoid spam of window surfaces with scale and transform events
...
fixes #4408
2024-01-11 14:07:28 +01:00
Clyybber
8d31c84483
layout: Round window pos and size on togglefloating ( #4407 )
...
Also restore the behaviour introduced in bc4a51dbbb
2024-01-10 18:08:58 +01:00
d484506600
keybinds: fix tracking of sent key states
2024-01-10 18:06:38 +01:00
b240704bee
renderer: allow rendering multiple fullscreen windows in third fs pass
...
something might be fading out, sliding out, etc. We handle it before, why not use it?
fixes #4076
2024-01-09 20:42:07 +01:00
71166ef40b
subsurfaceTree: update surface tree protocol feedback on map
2024-01-09 18:14:08 +01:00
252aaaecfa
input: add special_fallthrough
...
fixes #4323
2024-01-09 13:17:55 +01:00
f92a86af53
renderer: ignore box offsets for fullscreen windows
2024-01-08 19:58:15 +01:00
MightyPlaza
2ba2c8aeee
groupbar: improve gradient handling ( #4390 )
...
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
2024-01-08 19:38:22 +01:00
d7d333d162
opengl: apply box rot to projections
2024-01-07 18:51:08 +01:00
f5b2fd2bc3
opengl: add renderdata.forceIntrospection
2024-01-07 18:37:02 +01:00
44ee9915e3
renderer: overhaul renderModifData
2024-01-07 18:35:44 +01:00
7904188de9
input: allow focusSurface when locked if surfase is sessionLock
2024-01-07 14:04:32 +01:00
Epilepsy Gatherings
666ee61c13
input: leave special on focus ( #4358 )
2024-01-07 12:06:33 +01:00
Naksu
d8dbdc4a01
main: Fix typo in std::cerr ( #4359 )
2024-01-05 12:45:49 +01:00
thejch
880996b053
master: Add more null checks for rollnext ( #4343 )
...
* add more null check for rollnext
* remove pwindow check
2024-01-04 16:17:17 +01:00
1512b81126
master: guard PNODE in roll*
...
fixes #4331
2024-01-02 22:18:38 +01:00
flicko
4f26c4e1eb
config: variables update their value when set again ( #4263 )
...
* variables update their value when set again
* only sort if new variable is found
* clang-format
2024-01-02 16:38:30 +01:00
dranull
3c33d4b9dd
keybinds: Refocus only if the silently moved window had the focus ( #4328 )
2024-01-02 14:50:30 +01:00
813af393f1
layout: update rules before applying fullscreen nodes in layouts
2024-01-02 14:21:36 +01:00
dranull
583b05a8c6
groupbar: Drag single window instead of destroying group ( #4327 )
2024-01-02 13:37:03 +01:00
Zach DeCook
1607e96704
HookSystem: rename PAGESIZE_VAR from PAGESIZE to avoid conflict ( #4321 )
2024-01-01 23:05:26 +01:00
q234rty
1a4f23eb2f
renderer: Only force nearest neighbor when the sizes are off by one or two ( #4325 )
...
Fixes rendering issues in arch's extra/telegram-desktop
2024-01-01 20:20:27 +01:00
rszyma
37b76cd1ca
keybinds: fix keys getting stuck + minor refactor & optimizations to keybind handling ( #4304 )
2024-01-01 18:29:51 +01:00
069880e374
hyprctl: add systeminfo
2024-01-01 17:53:03 +01:00
33444e1e5e
deps: update wlroots
2024-01-01 16:47:54 +01:00
dranull
7c1ac58a4b
input: Ignore some input events when focus is on a layer surface ( #4306 )
...
* No motion events with focus on LS on workspace change
* Don't check scroll events on decorations with focus on LS
2024-01-01 13:02:16 +01:00
46997a7643
renderer: fix auto scale detection with fractional
...
ref #4225
2023-12-31 13:54:24 +01:00
b5b025a1ed
renderer: use nearest_neighbor for misaligned fractional-scale surfaces
...
ref #4225
2023-12-31 13:11:26 +01:00
MightyPlaza
94d6b2d2c1
deco: fix missing border on togglefloating ( #4305 )
...
modified: src/managers/KeybindManager.cpp
2023-12-30 16:59:01 +01:00
MightyPlaza
2ad2e1d5f5
groupbar: add enabling groupbar and setting priority ( #4299 )
2023-12-30 15:18:53 +01:00
dranull
5f8e4068e5
groupbar: Middle click on groupbar to close tab ( #4297 )
...
* Prevent window swapping when the head is removed
* Bring floating windows to top when selected
* Allow clicks on gropubar in fullscreen 1
* Close window on groupbar with middle click
2023-12-30 00:38:12 +01:00
9242b03317
internal: minor include fixes and missed format
2023-12-29 10:27:09 +01:00
f9c13b614c
xdg-shell: fix sending of suspended state
...
fixes #4287
2023-12-29 00:26:23 +01:00
ddf8e01c1e
config: don't emit reloaded event before eventManager is created
2023-12-29 00:17:58 +01:00
f771c10d1a
renderer: ignore windowRequestedCursorHide
...
ref #4197 , thanks @dtop129
co-authored-by: dtop129
2023-12-29 00:04:01 +01:00
dranull
8321d6be46
internal: Unify input handling on decorations ( #4280 )
...
* Unify input handling on decorations
* Make input methods private
* Optional data
2023-12-28 23:54:41 +01:00
9fba887cc9
socket2: emit configreloaded event
...
fixes #4285
2023-12-28 22:34:12 +01:00
4f3ee4c645
renderer: add decoration:blur:popups_ignorealpha
...
fixes #4282
2023-12-28 22:29:04 +01:00
MightyPlaza
5f65946c84
hyprctl: add decorations ( #4275 )
...
* add hyprctl decorations
modified: hyprctl/main.cpp
modified: src/debug/HyprCtl.cpp
modified: src/render/decorations/CHyprBorderDecoration.cpp
modified: src/render/decorations/CHyprBorderDecoration.hpp
modified: src/render/decorations/CHyprDropShadowDecoration.cpp
modified: src/render/decorations/CHyprDropShadowDecoration.hpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.hpp
modified: src/render/decorations/IHyprWindowDecoration.cpp
modified: src/render/decorations/IHyprWindowDecoration.hpp
* fixes
modified: hyprctl/main.cpp
modified: src/render/decorations/IHyprWindowDecoration.cpp
2023-12-28 16:38:16 +01:00
6a93cee74e
pluginapi: manually detect endbr64 opcodes in function hooks
...
ref #4277
2023-12-28 13:36:09 +01:00
07132741bc
renderer: use 120 as the denominator in scale checks
2023-12-27 23:47:01 +01:00
e75dafd8b2
pluginapi: better wording for plugin function hook errors
2023-12-27 19:27:15 +01:00
b7e8110a30
pluginapi: log assembler return
2023-12-27 19:23:06 +01:00
2702814a3f
opengl: add toggleable nvidia_anti_flicker
...
ref #4252
2023-12-27 19:17:07 +01:00
MightyPlaza
6cd82d948f
input: don't steal mouseDown from LS ( #4260 )
...
modified: src/managers/input/InputManager.cpp
2023-12-27 11:44:13 +01:00
MightyPlaza
1ecd173c7a
groupbar: remove extra border size from groupbars ( #4262 )
...
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
2023-12-27 11:43:55 +01:00
Vaxry
7474c81958
pluginapi: Trampoline hooks %rip patching improvements ( #4256 )
...
---------
Co-authored-by: Jan Beich <jbeich@FreeBSD.org>
2023-12-27 11:43:04 +01:00
Tuur Vanhoutte
191fa587f4
windowrules: add initialTitle and initialClass ( #4259 )
2023-12-26 23:47:46 +01:00
9fb50252d3
special: move floating windows along with the workspace
2023-12-26 19:44:38 +01:00
André Silva
bfb4d66c81
compositor: spawn environment setup with keybind manager ( #3722 )
2023-12-26 18:16:59 +01:00
dranull
34b0ce66b3
dwindle: Use window->middle() when cursor is on reserved area ( #4253 )
2023-12-26 17:24:31 +01:00
André Silva
2c2ff4b61b
hyprctl: check only ISDEBUG in version ( #3702 )
2023-12-26 14:14:12 +01:00
e2d04ae503
renderer: add option to blur popups
...
closes #2134
2023-12-25 18:07:07 +01:00
MightyPlaza
b25b06430b
groupbar: add egl context to refreshGroupBarGradients() ( #4238 )
...
* add egl context to refreshGroupBarGradients()
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* don't unsetEGL
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
2023-12-24 19:29:04 +01:00
5aab4a96e3
dispatchers: add tiled/floating to cyclenext
2023-12-24 15:08:48 +01:00
ff75f991a5
compositor: don't block focus if there is no keyboard
2023-12-24 13:20:31 +01:00
f013acc6ee
renderer: add occlusion for special workspaces
2023-12-23 22:41:42 +01:00
d5811283d2
xdgshell: bump to 6, send suspended states
2023-12-23 22:30:56 +01:00
dranull
5c7e23f86b
shadow: Avoid rounded shadows when rounding is 0 ( #4230 )
2023-12-23 20:40:07 +01:00
b9c1414f25
border: fix missed translate by offset
2023-12-23 16:11:26 +01:00
cc0516a9ae
windowrules: minor fixes to onworkspace
...
fixes #4227
2023-12-23 15:49:42 +01:00
6c8e0f9863
config: add debug:disable_scale_checks
...
ref #4225
2023-12-23 00:21:02 +01:00
6b6f3396cf
renderer: deny invalid scales and suggest a replacement
...
ref #4225 #3511
2023-12-23 00:09:55 +01:00
79ef29d6e0
renderer: apply scale to wlr after checks
...
ref #4225
2023-12-22 23:00:36 +01:00
c416880cf9
shadow: correctly scale boxes
2023-12-22 19:54:31 +01:00
37d2840246
renderer: reject non-clean scales, find nearest clean
2023-12-22 19:54:31 +01:00
thejch
7cec618fe4
master: add dispatchers rollnext and rollprev ( #4209 )
2023-12-22 12:37:38 +01:00
bd952dcef2
systemd: add HYPRLAND_NO_SD_NOTIFY
...
fixes #4217
2023-12-21 22:27:12 +01:00
bc51a91043
crashreporter: don't explicitly set 777 on crash report directory
...
fixes #4218
2023-12-21 22:18:07 +01:00
Ahmed Yasser
79f3888b4b
signal: fix invalid pointer access ( #4207 )
2023-12-20 23:54:52 +01:00
4eb42fab7b
windowrules: add onworkspace
...
cool
2023-12-20 23:52:18 +01:00
48ecb13b14
renderer: improve cursor hiding infra
...
ref #4197
2023-12-20 21:40:44 +01:00
a197fe3c11
renderer: don't set surfaces on cursor timeout
2023-12-20 17:59:11 +01:00
Junxuan Liao
53c78ab906
idle: notify idle on tablet inputs ( #4201 )
...
Fixes #4028 .
2023-12-20 17:53:54 +01:00
b4f4bd38e8
configmanager: set a limit to config variable substitutions
...
fixes #4198
2023-12-20 13:07:12 +01:00
d1b8a63a8e
input: allow setting cursor even if it's hidden
...
ref #4197
2023-12-20 13:00:35 +01:00
Husam Harazi
3771c49a94
filesystem: Set the sticky bit on /tmp/hypr
( #4199 )
...
To prevent unprivileged users from deleting other users' files.
2023-12-20 11:56:15 +00:00
d9b74ff96b
renderer: staticize local functions
2023-12-19 11:55:56 +00:00
ef445093f9
internal: convert uname fields to strings before logging
...
fixes #4188 , thanks @jbeich
2023-12-18 23:33:10 +00:00
11fd37418c
renderer: fix null cursor surface sets being ignored
...
oopsie from #4184
2023-12-18 22:06:50 +00:00
dusanx
0c74df4f9e
renderer: cursor hiding logic improvements ( #4184 )
...
Co-authored-by: Dusan Popovic <dpx@binaryapparatus.com>
2023-12-18 16:06:06 +00:00
460a326c90
Revert "xdgshell: set predicted tiled windows to monitor res size pre-map"
...
This reverts commit 763d5fa05f
.
Some issues and fixes #4185
2023-12-18 14:45:20 +00:00
403fd7d9f6
xwayland: move commit handler connect to associate
...
fixes #4179
2023-12-18 00:15:30 +00:00
763d5fa05f
xdgshell: set predicted tiled windows to monitor res size pre-map
...
Should improve #4022 although not exactly fix. Fixing would require more witchcraft
2023-12-17 20:09:34 +00:00
9fd928e114
internal: nuke CWindow::m_bMappedX11
...
it's useless. m_bIsMapped is the same.
2023-12-17 20:00:18 +00:00
bf7374011b
xwaylandmgr: allow resizes without a monitor
2023-12-17 19:58:11 +00:00
8c9f38e405
events: improve wl_surface::commit event tracking
2023-12-17 19:58:01 +00:00
c0d9dcc586
xwayland: set reported and pending size/pos on geometry sets
2023-12-17 14:53:59 +00:00
MightyPlaza
2a777cb71b
hyprctl: add commit date to "hyprctl version" ( #4171 )
...
* add commit date to "hyprctl version"
modified: scripts/generateVersion.sh
modified: src/debug/HyprCtl.cpp
modified: src/version.h.in
* Nix: add date to hyprctl
---------
Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-12-17 14:29:58 +00:00
dranull
9ca0c7d814
input: Activate resize_on_border only when key is pressed ( #4170 )
2023-12-16 20:47:58 +00:00
b1b8d732e6
toplevelexport: fix missed pmonitor set for opengl
...
ref #4165
2023-12-15 21:20:13 +00:00
4e5d9b90c0
toplevelexport: fix missing GL_READ_FRAMEBUFFER set in shm copy
...
ref #4165
2023-12-15 21:04:34 +00:00
e1ed8e11ca
internal: import qt env to dbus
2023-12-15 20:59:13 +00:00
79d8d14fe0
config: add qt env to default config
2023-12-15 18:27:04 +00:00
395ab3ba37
xdg: use better min/max size checks for floating resizes
2023-12-15 15:38:20 +00:00
dranull
36fa33f7ca
input: Prevent crash with invalid keyboard layout ( #4157 )
2023-12-15 00:39:03 +00:00
01e5c59d75
Revert "xwayland: push invisible windows outside layout"
...
This reverts commit accb3d8d0b
.
Bad idea
2023-12-13 17:25:19 +00:00
dranull
4de986072c
layout: Focus a floating window after closing the last tiled ( #4137 )
2023-12-12 16:44:31 +00:00
dranull
934112af5b
config: Use canonical instead of read_symlink ( #4136 )
2023-12-12 16:43:38 +00:00
ba2af6f86d
focus: prefer sendMotionEventsToFocused for ensuring cursor image
2023-12-12 14:58:43 +00:00
1950c3fc9c
input: unset resize cursor on empty focus
...
fixes #4133
2023-12-12 14:55:48 +00:00
8f38487884
xwayland: don't change workspace on configure for invisible windows
...
fixes #3578
2023-12-12 01:15:17 +00:00
accb3d8d0b
xwayland: push invisible windows outside layout
...
fixes some xwl focus issues with special especially.
2023-12-12 01:14:36 +00:00
ea7569d7e0
config: improve layoutopt handling for workspacerules
2023-12-11 22:58:51 +00:00
François Conzelmann
e53134ca90
internal: fix interactions with fakefullscreen ( #4113 )
...
- In a maximized window, unstuck fakefullscreen from on state
- In a fakefullscreen window, going in and out of fullscreen state
keep the fakefullscreen state rendered
2023-12-11 16:51:10 +00:00
8191e635a3
deco-positioner: include sticky in sent geometry
2023-12-11 16:46:20 +00:00
0fdf909b19
renderer: don't render decorations on renderdata.decorate false
...
fixes #4117
2023-12-11 16:32:11 +00:00
nmzik
53ce7992be
renderer: double lookup fix, input: double conversion fix ( #4124 )
2023-12-11 16:28:22 +00:00
167f2ed3b2
border: fix failed assert on small windows
...
fixes #4115
2023-12-10 19:32:03 +00:00
nmzik
efdf07e295
renderer: Allocate background texture only if required ( #4111 )
2023-12-10 16:53:08 +00:00
Mihai Fufezan
0c10b8ab2d
input: Add scroll_points option for device ( #4101 )
2023-12-10 16:30:08 +00:00
Vaxry
9f5b9053c6
internal: Remake borders as window decorations ( #4104 )
2023-12-10 16:28:12 +00:00
af6aae4e12
renderer: don't use clipBox for pinned window occlusion during animations
...
ref #4094
2023-12-09 18:41:32 +00:00
0ebbf371ff
renderer: improve fullscreen workspace client rendering
...
fixes #4076
2023-12-09 18:38:32 +00:00
dranull
89d8f665b5
config: Avoid regenerating config if --config is used ( #4103 )
2023-12-09 18:27:30 +00:00
9132660768
functionHooks: fix incorrect protlen calcs
2023-12-09 16:16:46 +00:00
dd0714c22a
input: add relative_input for tablets
...
closes #2639
2023-12-09 04:07:28 +00:00
11d1c50420
windowrules: add focus param
2023-12-08 16:02:16 +00:00
dranull
004bf94a23
keybinds: Keep focus on special when switching workspaces ( #4084 )
2023-12-07 22:12:08 +00:00
aa020a2a1a
toplevel-export: commence render pass before reading
...
fixes #4070
2023-12-07 17:58:13 +00:00
a794eecd6a
README: add note about hyprpm + clang-format
2023-12-07 10:46:12 +00:00
ddmetz
62a8d0be5c
keybinds: check for null last monitor in changeworkspace ( #4077 )
2023-12-07 00:09:25 +00:00
François Conzelmann
4a42344e97
style/ci: apply clang-format and verify it in ci ( #4039 )
...
* style: apply clang-format
* ci: add new clang-format job to CI
2023-12-06 22:54:56 +00:00
5489f9f07a
renderer: use xray for background blur on small() surfaces
...
ref #4050
2023-12-06 20:17:40 +00:00
03c6f4506a
internal: various improvements to avoid crashes on exit
2023-12-06 14:46:29 +00:00
swwind
13b4c6de86
input: don't send mouse events on touch ( #4071 )
2023-12-06 14:30:40 +00:00
dranull
cfd94c5b30
input: Stop propagating axis events after valid binds ( #4059 )
2023-12-05 21:16:26 +00:00
ab66fa430e
screencopy: fix glReadPixels offset
...
fixes #4042
2023-12-05 20:04:53 +00:00
37d7a8c64d
framebuffer: ignore addStencil on legacyRenderer
...
ref #4044
2023-12-05 15:41:17 +00:00
da863459c4
screencopy: fix legacyrenderer builds
...
fixes #4044
2023-12-05 14:59:12 +00:00
83248b6936
toplevelexport: fix getPreferredReadFormat param in captureToplevel
...
fixes #4043
2023-12-05 14:43:54 +00:00
2d04cb1cc6
input: make fallback layout us
2023-12-05 00:48:39 +00:00
c6804ccaab
opengl: fixup blur dirty repaint conditions with solitary
...
fixes #4025
2023-12-05 00:43:09 +00:00
Glizda
aa46aaed04
config: Add variables to default config ( #4032 )
...
* update default config
* Fix inconsistency in variable naming
* continuation of last commit
* edited example/hyprland.conf for parity
* fix issue
* deleted unwanted newline
2023-12-04 18:47:58 +00:00
68783d904d
screencopy: use buffer format for glReadPixels
...
fixes #4029
2023-12-04 03:52:54 +00:00
5d100bdcbb
opengl: clear layer fade fbs in ~dtor
2023-12-04 02:08:34 +00:00
45d3fbb8d8
opengl: free window framebuffers in ~dtor
...
ref #4036
2023-12-04 01:44:16 +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
e496b0f250
screencopy: fix detecting gl shm formats
...
ref #4029
2023-12-03 22:04:07 +00:00
dc2082b00a
screencopy: fix transformed on shm
2023-12-03 19:06:51 +00:00
dranull
59cb0e20de
input: Handle fullscreen windows in vectorToWindowIdeal ( #4021 )
2023-12-03 12:53:12 +00:00
80b9b21f9f
opengl: fix nvidia read formats
...
fixes #4023
2023-12-02 14:51:45 +00:00
thejch
758cf90ea1
workspacerules: Add workspace rule for master layout orientation ( #3964 )
...
* add workspace rule for master layout orientation
* change rule format
* edit rule name
* use map for layoutopts
* use std::any instead of string
2023-12-02 14:42:49 +00:00
6e8b9ef7d8
opengl: fix swapped rgb drm formats
2023-12-01 17:23:50 +00:00
9c09f2a847
screencopy: fix shm exports with 10-bit
...
fixes #4019
2023-12-01 17:20:56 +00:00
Wren Baxter
8440a30231
input: fix overzealous mouse capture on resize_on_border ( #4010 )
...
fixes #2456
2023-12-01 01:12:08 +00:00
ab40f240c3
screencopy: use drmFormat instead of wlr funcs
...
ref #4014
2023-12-01 00:23:48 +00:00
b2f3623131
events: add keyPress and mouseAxis
...
fixes #4011 fixes #4008
2023-11-30 18:45:12 +00:00
François Conzelmann
5513eed64d
managers: fix debug log using printf format ( #4007 )
...
Some debug messages where using printf format style to print variable
content instead of std::format format.
2023-11-30 15:20:08 +00:00
12ec549a18
screencopy: fix shm sharing if introspection required
2023-11-30 11:07:17 +00:00
9f2027be4b
opengl: don't make a mirror buffer on fakeFrame
2023-11-30 10:15:02 +00:00
b9937484f4
screencopy: fix broken shm copying
...
fixes #4001
2023-11-30 10:14:35 +00:00
776f944619
opengl: fix missed makeEGLCurrent
...
fixes #3998
2023-11-30 02:19:27 +00:00
François Conzelmann
1fc1e4e9cb
monitor: remove comma from monitor description ( #3996 )
...
this allows for monitor specific rules to work on monitor with comma on
their description
fixes #2457
2023-11-30 01:48:10 +00:00
d2c3b23ace
deps: update wlroots
2023-11-30 01:18:55 +00:00
b80c72c7dd
groupbar: fix crash in renderGradientTo
...
fixes #3985
2023-11-29 13:36:37 +00:00
3caaa483d4
configmgr: fix parsing of touchdevice groups
...
fixes #3992
2023-11-29 03:39:45 +00:00
e2f18f8c7f
groupbar: more safety around gradient textures
2023-11-28 19:03:02 +00:00
99ca26d4eb
hooksystem: fix missed log include
2023-11-26 18:33:53 +00:00
e416ab740d
config: log info about logs before loading vars
2023-11-26 18:02:33 +00:00
MightyPlaza
7a0a5666d5
groupbar: allow reload and fix locked groupbar gradient ( #3546 )
...
modified: src/config/ConfigManager.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.hpp
2023-11-26 17:59:49 +00:00
1778fb77e2
functionhooks: throw an exception on unsupported %rip usage
...
ref #2479 , now will actually tell you what's wrong instead of crashing
2023-11-26 17:53:51 +00:00
adeb20ea11
opengl: tiled special require introspection
2023-11-26 16:42:04 +00:00
68e57b7ee3
renderer: proper full occlusion checks for back layer
2023-11-26 15:24:24 +00:00
408d96668d
renderer: use occlusion checks for buffer clear
2023-11-26 15:06:42 +00:00
75e5799310
layer-shell: simulate mouse movement on unmap
2023-11-26 14:54:34 +00:00
9e2b939024
surface: avoid infinite pointer image resets
...
fixes #3729 , should also #3968
2023-11-26 14:53:22 +00:00
ad3f688648
opengl: check for introspection on special_blur
2023-11-25 19:44:34 +00:00
b281d8647a
screencopy: use new isNvidia() for format
2023-11-25 17:56:38 +00:00
15b282ee0c
opengl: fix window introspection check
2023-11-25 17:46:50 +00:00
6f733292bf
renderer: nvidia checks and use glFinish on nvidia
...
fixes #3952 #3946
2023-11-25 17:45:08 +00:00
3fe6162af1
opengl: fix xray modes in introspection checks for ls
...
fixes #3953
2023-11-25 14:52:52 +00:00
Jibin George
2ce4b94a22
input: Fix custom acceleration profile config ( #3948 )
2023-11-25 14:39:21 +00:00
Junxuan Liao
929c44e361
input: pass mouse input to IME popups ( #3922 )
2023-11-25 14:27:57 +00:00
512a59731b
config: default special_scale_factor to 1
2023-11-25 01:45:04 +00:00
a6eba91935
opengl: require introspection on mirroring
...
fixes #3939
2023-11-25 00:48:02 +00:00
Xavier
745b998587
renderer: Adding an option to disable first launch animation ( #3933 )
2023-11-24 21:45:59 +00:00
1a2a2da6aa
renderer: fixup cursor scaling
...
fixes #3935
2023-11-24 21:30:28 +00:00
Vaxry
822775aa8c
renderer: Fixup double rendering cases with special ( #3928 )
...
* fixup
* better fullscreen
2023-11-24 21:18:50 +00:00
d79cf0afe2
renderer: fix software cursors on nvidia
...
fixes #3926
2023-11-24 13:47:36 +00:00
334d0ae31b
monitor: fix transform matrix calculations for transformed
...
fixes #3929
2023-11-24 13:45:10 +00:00
thejch
258c83f3bb
exec: remove redundant environment variables from spawn ( #3923 )
2023-11-24 12:42:20 +00:00
aedcade68d
opengl: better checking for required introspection
...
performance woo
2023-11-24 12:37:10 +00:00
802ab58f8a
renderer: fix inverseOpaque calcs in renderWithBlur
2023-11-24 12:32:35 +00:00
Vaxry
2ebfd0c745
renderer: Move to a full Hyprland GL rendering pipeline ( #3920 )
...
Also updates wlroots
2023-11-24 10:54:21 +00:00
e40e486f61
renderer: better checks for special rendering in renderWorkspaceWindows
...
ref #3916 #3888
2023-11-23 11:31:52 +00:00
e55c5a916a
renderer: make sure lastWindow has correct ws in renderWorkspaceWindows
...
fixes #3916 fixes #3888
2023-11-22 23:43:46 +00:00
45ebe0df8f
config: fix red warn in default config
...
fixes #3917
2023-11-22 23:38:14 +00:00
812a3f6d78
renderer: fix double render of tiled on workspace switch
...
fixes #3889
2023-11-22 20:05:50 +00:00
44accacff9
config: add nomaximizerequest all to default cfg
2023-11-22 19:50:37 +00:00
zakk4223
4729265284
hyprctl: Add 'layouts' command ( #3895 )
...
* Add hyprctl 'layouts' command
formatting
* Add getAllLayoutNames(), move m_vLayouts back to private
Formatting
* clang-format
2023-11-21 18:43:38 +00:00
thejch
572fd554b8
renderer: Fix floating clipbox ( #3907 )
...
* fix floating decoration clipbox scale
* use vecTransformedSize
* use workspace offset
2023-11-21 00:34:34 +00:00
thejch
7d1c8d827a
shadow: add workspace offset to floating window shadow ( #3906 )
2023-11-20 22:34:28 +00:00
thejch
6d26199e1c
renderer: fix floating window rendering when scale > 1 ( #3901 )
2023-11-20 12:13:09 +00:00
end-4
646f4bc638
general: add workspace gaps ( #3877 )
...
* anims: workspace gap
* anims: ws gaps: on swipe end
* anims: ws gaps: add missing parentheses
* format
* refractor
* Update Swipe.cpp
* format
* fix swipe to right
* ws gaps: move animations:workspace_gap to general:gaps_workspace
* ws gaps: general:gaps_workspace -> general:gaps_workspaces
2023-11-19 12:33:26 +00:00
MightyPlaza
7e0c90b92c
groupbar: fix text pos with verical offset ( #3893 )
...
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
2023-11-19 12:29:26 +00:00
MightyPlaza
add23a9ba2
group: fix dragging into floating groups ( #3719 )
...
* allow dragging into floating groups
modified: src/Compositor.cpp
modified: src/Compositor.hpp
modified: src/layout/IHyprLayout.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* floating-only
modified: src/layout/IHyprLayout.cpp
2023-11-19 12:29:01 +00:00
Dickby
3d89654254
vector: New operator overloads and small fix in Vector2D. ( #3891 )
2023-11-18 21:37:16 +00:00
Dickby
6ad5f26cfe
layout: Don't update pseudoSize after window moved by mouse. ( #3873 )
2023-11-18 19:59:12 +00:00
89f6457a99
renderer: avoid rendering floating windows twice with special
...
fixes #3887
2023-11-18 19:53:45 +00:00
Vaxry
8b57a1973e
internal: Allow floating windows on special ( #3872 )
...
* allow floating on special
* fix mistake
* fix clipbox
2023-11-18 17:00:24 +00:00
483302a2cd
env: add HYPRLAND_NO_RT
2023-11-17 23:29:30 +00:00
395985f815
pluginmgr: fix double use of dlerror()
2023-11-17 22:24:52 +00:00
51282f964f
plugins: make logging on error more verbose
...
ref #3874
2023-11-17 22:22:31 +00:00
TheAngusMcFire
db8f13291a
hyprctl: add monitors all to report all connected monitors ( #3730 )
...
---------
Co-authored-by: Christian Rieger <christian.rieger@student.tugraz.at>
2023-11-17 16:01:21 +00:00
84bc0a73f6
compositor: drop unused vectorToWindow func
2023-11-17 15:30:04 +00:00
Dickby
1d9bfa60a1
opengl: Don't use wrong shader just because it's GLES ( #3867 )
2023-11-16 21:03:17 +00:00
a34e192433
renderer: clip floating boxes on slide anim
...
fixes #3514
2023-11-16 20:20:41 +00:00
4868d4dfd3
shadow: avoid fatal mutation of the windowBox for calcs
...
fixes #3865
2023-11-16 17:31:52 +00:00
859841f4d1
renderer: don't make snapshots of invisible windows on close
2023-11-16 12:24:07 +00:00
28ef18a921
shadow: avoid using glClear and don't draw behind window if ignore_window
...
fixes #3860
2023-11-16 11:42:53 +00:00
Dickby
91d6be1f09
groupbar: Fix position of groupbar titles on monitor scales != 1.0 ( #3856 )
2023-11-15 20:32:44 +00:00
thejch
9e3dccca76
keybinds: Close special workspace after moving windows out of it ( #3649 )
...
* use old monitor
* use pMonitor for for special workspace
2023-11-15 12:32:02 +00:00
e195e51c1b
logging: move to an internal rolling log buffer
...
disables logging to the logfile by default
2023-11-14 20:06:04 +00:00
e8469f8b1b
renderer: drop unnecessary spammy logs
2023-11-14 19:51:47 +00:00
49597688e9
windowrules: make idleinhibit dynamic
2023-11-14 15:46:57 +00:00
5edb4e4a30
decorations: recalc layout and positioner on add/remove
2023-11-13 16:42:58 +00:00
Ching Pei Yang
4d6fa6ed0c
pluginapi: add touch event hooks ( #3836 )
2023-11-13 16:32:12 +00:00
016a7a9c9b
hyprctl: use a rolling buffer for reading requests
...
fixes #3846
2023-11-13 16:30:37 +00:00
2e26542e3b
renderer: use viewporter corrected size for uv calcs
2023-11-12 23:57:53 +00:00
68935ba9dc
renderer: separate oversize uv calcs in dimensions
2023-11-12 23:27:52 +00:00
ba5bc5871f
subsurfaces: damage window on subsurface size change
2023-11-12 23:06:31 +00:00
824ccd957b
renderer: pass proper arg to main param of uv calcs
...
was fucking up some non-fitting subsurfaces
2023-11-12 22:59:19 +00:00
45e86d4fdf
groupbar: translate box by workspace offset
2023-11-12 22:40:21 +00:00
0ba2e68704
deco-positioner: don't remove hidden windows' data
2023-11-12 17:02:42 +00:00
Dickby
e974d1fe98
shaders: Some more changes in rgb2hsl. ( #3834 )
2023-11-12 16:20:23 +00:00
47d46aa56c
inputmgr: clean lists in ~dtor
...
ref #3558
2023-11-12 14:03:46 +00:00
65efde32c9
internal: make getPlusMinusKeywordResult return optional
2023-11-12 13:40:02 +00:00
69e314207d
internal: replace INT_MAX with WORKSPACE_INVALID
2023-11-12 13:34:54 +00:00
Alessio Molinari
1bfd4a2bff
output-layout: fix wlroots display handling ( #3718 )
2023-11-12 13:14:05 +00:00
91cbe93cf8
decoration: add NON_SOLID flag for shadow
...
fixes #3841
2023-11-12 13:01:23 +00:00
f39a6ca17c
decoration-positioner: improve stability
2023-11-11 18:07:56 +00:00
Dickby
6eb2abcb20
shaders: Small optimization in rgb2hsl. ( #3831 )
2023-11-11 17:20:18 +00:00
ae46fbafe5
xdg: set state maximized for all tiled windows
...
forces them to not draw stupid decorations of their own. Wlroots stopped doing it for us. Fixes #3830
2023-11-11 17:13:20 +00:00
52cf122a0a
shadow: move workspace offset calcs to draw
...
fixes #3829
2023-11-11 16:15:23 +00:00
Dickby
844da8db56
shaders: Avoid calculating unused values in hsl2rgb. ( #3827 )
2023-11-11 15:43:31 +00:00
db82fc5b09
animationmgr: push shadow avs to ended on disabled
2023-11-11 15:23:33 +00:00
bea828ea45
decoration-positioner: improve extent handling
2023-11-11 15:18:17 +00:00
cc04b52ce1
deco-positioner: recalc after uncache
2023-11-11 14:52:27 +00:00
Vaxry
9be6fbf5ea
decorations: Decoration Positioner ( #3800 )
2023-11-11 14:37:17 +00:00
Dickby
7345b1a1ea
shaders: Use clamp in doubleCircleSigmoid. ( #3824 )
2023-11-11 13:15:37 +00:00
e44d6de555
shadow: alpha treatment improvements
2023-11-11 00:52:40 +00:00
427153e86a
xwayland: add half of delta to configure request sizes
2023-11-10 23:49:35 +00:00
92cb44ddb2
input: don't schedule repaint on cursor move if hardware cursors are in use
2023-11-10 18:49:15 +00:00
b8a615ffb8
xdg-shell: improve ack-configure handling
...
fixes #3807
2023-11-10 00:13:22 +00:00
8dd02eb5f3
xdg-shell: update reported size on ack_configure
2023-11-09 22:43:52 +00:00
14195835ef
opengl: switch to black-and-white for alpha mattes
...
also fixes shadows on 10b
2023-11-09 22:11:54 +00:00
11432f69b9
opengl: remove unused alpha matte from shadow
2023-11-09 22:11:54 +00:00
Tobias Pisani
da6fa9cbd2
hyprctl: return group list in correct order ( #3683 )
2023-11-09 16:05:05 +00:00
c619e6976f
screencopy: round boxes
...
fixes #3795
2023-11-08 12:43:07 +00:00
a0fcda301d
layout: round box in mouseMove
...
fixes #3792
2023-11-07 20:47:09 +00:00
47654a84c2
main: set isShuttingDown after display dispatch reaches the end
...
relates to #3558
2023-11-07 14:53:56 +00:00
Visual-Dawg
29e0a7112e
renderer: added new customization options to the blur shaders ( #3650 )
...
Adds to `decoration:blur:` `vibrancy` and `vibrancy_darkness`
2023-11-06 18:49:03 +00:00
a1b7a5a53d
layout: fix various rounding errors
...
maybe finally will end #3761
2023-11-06 17:00:37 +00:00
ecf98069f6
layout: round window boxes after special scale factor
...
fixes #3761 again
2023-11-05 19:57:23 +00:00
David Leal
0476e1b498
groups: add option to configure font name ( #3751 )
2023-11-05 19:25:50 +00:00
Brett Alcox
a122271f09
includes: fix box headers ( #3771 )
2023-11-05 17:32:27 +00:00
600a128f83
compositor: allow windowfromregex tiled param
2023-11-05 16:22:43 +00:00
55825c301e
compositor: allow windowfromregex floating param
...
fixes #3766
2023-11-05 16:21:47 +00:00
d8b7ded18c
compositor: find windows in direction on floating
2023-11-05 16:18:41 +00:00
c4e1a9b13b
box: use std::round instead of std::floor in ::round()
...
fixes #3761 , possibly also #3511
2023-11-05 14:47:24 +00:00
9404972732
events: set reported size on floating map
...
fixes #3767
2023-11-05 14:12:55 +00:00
92e535025e
region: include box in the header
2023-11-04 23:12:08 +00:00
d3e5796ee1
layout: fix missed setWindowSize in no_gaps_when_only node apply
...
fixes #3758
2023-11-04 23:00:20 +00:00
56dec1c6a2
renderer: properly set currentFB on snapshot renders
2023-11-04 22:25:09 +00:00
931927de29
dwindle: move to CBox for expressing nodes
2023-11-04 21:45:34 +00:00
74cf2281dd
binds: add movefocus_cycles_fullscreen
...
fixes #3738
2023-11-04 21:03:08 +00:00
2b07d54bc7
shadow: fix missed fullBox.scale
2023-11-04 20:11:22 +00:00
66a3719b86
renderer: allow transform enabling from outside opengl
2023-11-04 19:35:49 +00:00
64a084477e
shadows: fix on transformed
2023-11-04 19:32:50 +00:00
7a09d24065
shadow: fix ignore_window false
2023-11-04 17:45:31 +00:00
a3e20d2d5f
wlsurface: fix small detection
2023-11-04 17:39:56 +00:00
32b3d2b456
includes: include vector2d for sharedDefs
2023-11-04 17:27:21 +00:00
447c173cad
includes: include sharedDefs in includes.hpp
2023-11-04 17:04:10 +00:00
Vaxry
55b4f84fea
Internal: Hyprland box implementation ( #3755 )
...
* box impl
* remove unused operators
* missed applyfromwlr
2023-11-04 17:03:05 +00:00
Vaxry
73e78f05ad
Decos: Window decoration flags, shadow improvements ( #3739 )
2023-11-04 13:10:52 +00:00
54e51b7acf
events: better adjust to unreported sizes for xwayland apps
...
fixes #3745
2023-11-04 13:09:33 +00:00
200cccdd3b
events: set reported size on the end of mapping
...
fixes #3743
2023-11-03 22:47:12 +00:00
15b25d5850
renderer: render oversized blur with respect to fade alpha
2023-11-03 21:58:02 +00:00
21ba8b363e
fractional-scale: fix addon existence check
2023-11-03 21:02:12 +00:00
9d2a5fb417
renderer: improvements to wayland surface small() detection
2023-11-03 19:12:09 +00:00
thejch
ed3d5053b2
Master: fix drop_at_cursor when there are only two windows ( #3734 )
...
* make drop_at_cursor work when dragging into a one-window workspace
* fix drop_at_cursor when new_is_master is enabled
2023-11-03 17:02:59 +00:00
93a2ac9de4
fractional-scale: post error on taken fs objects
...
fixes #3735
2023-11-03 15:51:43 +00:00
pastalian
49fdffacea
renderer: fix legacy_renderer build ( #3732 )
...
In GLES2, `GL_RGB10_A2` and `GL_UNSIGNED_INT_2_10_10_10_REV` are defined as
`GL_RGB10_A2_EXT` and `GL_UNSIGNED_INT_2_10_10_10_REV_EXT` respectively.
2023-11-03 15:47:20 +00:00
0f6e530798
layout: better storage for no fullscreen checks var
...
fixes #3731
2023-11-03 12:19:23 +00:00
88b47dfa83
xdg: use std::ceil for sending scale to surfaces
...
fixes #3724
2023-11-02 23:29:47 +00:00
ba9e7814b0
input: simulate movement only if mouse is over in open/close window
...
fixes #3726
2023-11-02 21:36:16 +00:00
thejch
f10996b575
master: fix moving window between monitors ( #3721 )
2023-11-02 17:20:32 +00:00
Dashie
062f749450
xdg: send unconstrain events after a popup reposition ( #3716 )
...
* fix: Use unconstrain_from_box after reposition request
* chore: Remove unused include
* chore: remove variable specifier
2023-11-01 20:31:52 +00:00
a4db48b46b
input: simulate mouse movement to fix focus on open/close window
...
fixes #3679
2023-11-01 19:50:32 +00:00
MightyPlaza
c44e255194
group: fixes for dragging groups onto groupbars ( #3708 )
...
* fixes for dragging groups onto groupbars
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* use onWindowRemoved()
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
2023-11-01 19:13:39 +00:00
Vaxry
21e9313c10
Core: various unsafe state improvements ( #3713 )
...
Fixes #3637
2023-11-01 18:53:36 +00:00
7b32b4214d
layout: avoid redundant size sets on new fullscreen
2023-11-01 01:28:43 +00:00
ab5497a0c9
input: properly track xdg surfaces' geometry in vectorToSurfaceLocal
...
fixes #3703
2023-10-30 19:36:45 +00:00
1c9d6b94d1
renderer: fix small surface's blur region being offset by monitor coords
2023-10-30 16:20:30 +00:00
4b592d0819
renderer: properly pass 10-bit formats to opengl
2023-10-30 15:56:16 +00:00
MightyPlaza
a1924ae435
internal: create canBeGroupedInto() ( #3693 )
...
modified: src/Window.cpp
modified: src/Window.hpp
modified: src/layout/DwindleLayout.cpp
modified: src/layout/MasterLayout.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
2023-10-30 14:54:12 +00:00
cb6cfde6e8
window: update window reported size on damage events
2023-10-30 14:49:49 +00:00
8e91c038db
renderer: use optional for cursor surface storing
...
because nullptr is a valid surface.
fixes #3692
2023-10-30 00:18:40 +00:00
86318ce04f
input: let input-grabbing decos have prio over resize on border
2023-10-29 23:37:12 +00:00
59d6a12a7e
config: fixup usage of plugin in handles
...
would filter calls to keyword plugin: and stuff
2023-10-29 22:35:26 +00:00
935c90915a
pluginapi: fixup get_hash functions
2023-10-29 21:21:54 +00:00
b95c0c318e
renderer: fixup blend disable conditions in renderSurface
...
Fixes #3680
2023-10-29 20:54:14 +00:00
MightyPlaza
9abfa9efc6
input: handle mouse on decorations ( #3560 )
2023-10-29 20:14:47 +00:00
7a5234a0cc
input: better cursor image infrastructure
...
Improves handling of cursor images/surfaces
Fixes an issue with decos and cursors
Fixes #3471
2023-10-29 18:09:05 +00:00
af9440152e
pluginapi: add a config keyword adding method
2023-10-29 16:59:50 +00:00
7f4b0aaadc
hyprctl: add focusHistoryID to hyprctl clients
...
fixes #3661
2023-10-28 17:22:42 +01:00
4a4e13f8ac
events: ignore takes_over_fullscreen for floating windows
...
fixes #3622 . Floating windows should not respect the config option, they should be shown on top. That option is meant for tiled only
2023-10-27 12:45:17 +01:00
Antoine Dutot
1d47e2c408
input: fix force_zero_scaling for tablet and touch ( #3644 )
...
* Attempt to fix force_zero_scaling for tablet and touch for XWayland apps.
* Formated using clang-format.
* Simpler way to compute touch origin.
2023-10-27 10:15:29 +01:00
47256a6ed8
input: remove incorrect check in re-enter
...
fixes #3659
2023-10-26 22:21:13 +01:00
732b058489
input: send motion events on focusWindow if follows_mouse is 0
2023-10-26 22:17:49 +01:00
92cf1c2337
input: fix mouse down handling on unset last surface
...
fixes #3659
2023-10-26 18:54:19 +01:00
Tyler Schneider
07714dd5bd
input: Apply scaling to cursorPosOnActivate position ( #3664 )
2023-10-26 02:05:10 +01:00
b0b88a63b6
renderer: fix missed box scale
2023-10-25 22:38:14 +01:00
5b0dc779ed
renderer: blur properly behind small surfaces
2023-10-25 22:20:58 +01:00
8991be671f
renderer: respect viewporter dest on base surfaces
2023-10-25 22:05:04 +01:00
6650e4ba85
compositor: remove old comment
2023-10-25 18:32:04 +01:00
df00727310
deps: update wlroots
2023-10-25 00:27:16 +01:00
03771d3aa9
windowrules: add nearestneighbor
2023-10-24 21:29:03 +01:00
14a3c939ce
hyprctl: log monitor id in workspaces request
...
fixes #3640
2023-10-24 01:03:40 +01:00
aeb8c8fc70
internal: honor close_special_on_empty on moveToWorkspace
...
fixes #3602
2023-10-24 00:58:44 +01:00
616ff343b7
input: fix warn
2023-10-24 00:53:59 +01:00
2f6729f557
example: add special workspace to default config
2023-10-24 00:50:45 +01:00
015664eb4c
compositor: do not process fullscreen events in unsafe
2023-10-23 00:53:33 +01:00
98059b52d7
layershell: support ON_DEMAND keyboard mode
...
fixes #2264
2023-10-22 23:32:55 +01:00
Brenno Lemos
b135bd6cd4
workspacerules: Add new optional "default command" for auto-launching apps on new workspaces ( #3559 )
2023-10-22 23:11:03 +01:00
59f27e7f57
compositor: send preferred scale and transform events to surfaces
...
fixes #3635
2023-10-22 16:58:06 +01:00
d0367d8560
renderer: use preOffset pos instead of offset
...
offset is not passed to transformers, so if they change pos, decos will be in the wrong place
2023-10-21 19:51:14 +01:00
95db9108e5
transformers: allow modifying renderdata pre-pass
2023-10-21 19:25:44 +01:00
a61eb7694d
hooksystem: add callbackinfo struct and cancellable events
2023-10-21 14:52:43 +01:00
c6233a790f
renderer: avoid drawing invisibly small surfaces in renderSurface
2023-10-21 14:20:06 +01:00
92311d260a
renderer: add transformers
2023-10-21 14:15:56 +01:00
Roberto Previdi
af72404259
hyprctl: add a query for workspace rules ( #3630 )
2023-10-21 02:28:34 +01:00
4a79718fe8
renderer: fix shimmers when manual resizing
2023-10-20 20:32:47 +01:00
7f35f33b4c
surface/wayland: conform to small surface requirements
...
do not stretch small surfaces, instead center them if they fit.
2023-10-20 20:15:57 +01:00
thejch
bab2f6a664
master: fix movewindow across monitors ( #3628 )
2023-10-20 18:01:04 +01:00
thejch
bb9d0aed5b
compositor: Fix a lack of a check for workspace equality on same monitors in getInDirection ( #3625 )
...
* prevent movefocus and movewindow from going into main workspace when in special workspace
* compare workspace IDs instead
* change comparison and make code more readable
2023-10-20 10:53:37 +01:00
386708563c
workspacerules: search for special properly
...
fixes #3537
2023-10-19 16:04:59 +01:00
6e15590e98
shaders: support changing the outer radius of borders independently
2023-10-19 14:05:02 +01:00
a0b675ec9e
binds: add ignoreMods flag
2023-10-17 20:10:07 +01:00
André Silva
784f8a88fb
input: don't reset cursor movement timer on simulateMouseMovement ( #3595 )
...
Fixes #2570
2023-10-17 17:00:39 +01:00
thejch
20e7ccd480
master: fix resizing wrong window behind in special workspace ( #3591 )
2023-10-17 12:06:16 +01:00
eriedaberrie
421f5fb221
events: make new windows taking over fullscreen keep the existing mode ( #3588 )
2023-10-17 11:41:27 +01:00
Jan Beich
93676f91a0
renderer: cast std::clamp args to be of the same type ( #3589 )
...
src/render/OpenGL.cpp:1769:41: error: no matching function for call to 'clamp'
const auto FORCEWALLPAPER = std::clamp(*PFORCEWALLPAPER, -1L, 2L);
^~~~~~~~~~
/usr/include/c++/v1/__algorithm/clamp.h:38:1: note: candidate template ignored: deduced conflicting types for parameter '_Tp' ('int64_t' (aka 'long long') vs. 'long')
clamp(const _Tp& __v, const _Tp& __lo, const _Tp& __hi)
^
/usr/include/c++/v1/__algorithm/clamp.h:27:1: note: candidate function template not viable: requires 4 arguments, but 3 were provided
clamp(const _Tp& __v, const _Tp& __lo, const _Tp& __hi, _Compare __comp)
^
2023-10-17 01:29:06 +01:00
memchr
54e1c2ccbd
fix(build): do not include wlr headers directly, use includes.hpp instead. ( #3587 )
2023-10-16 17:39:12 +01:00
Alexander Seleznev
1f582457cf
Debug: respect logging settings for wlr ( #3584 )
2023-10-15 19:19:07 +01:00
Philip Damianik
442209942f
cleanup: Replace find() with C++20 starts_with(), ends_with() and contains() ( #3572 )
...
* Replace find() with C++20 starts_with() and ends_with()
* Replace find() with C++20 contains()
2023-10-15 19:07:23 +01:00
memchr
43b39e0bc6
build: include version.h in PluginAPI.hpp ( #3571 )
2023-10-15 12:22:51 +01:00
Vaxry
d5a572bd39
Plugin API: Add version query ( #3545 )
2023-10-14 18:47:43 +01:00
424c9a7e70
render: stop locking SWC on tearing
2023-10-13 22:11:21 +01:00
Michał Lewandowski
3a61350286
notifications: Schedule a frame on notification creation ( #3556 )
2023-10-13 00:05:05 +01:00
vaxerski
e4bcd2e2da
monitor: ensure vrr on workspace change
2023-10-12 17:26:35 +01:00
Vaxry
06cc42441c
build: guard execinfo.h via build systems ( #3547 )
...
* guard execinfo via cmake
* libexecinfo -> execinfo macro name
* meson: add execinfo check
* move check in cmake up
---------
Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-10-11 22:27:53 +01:00
Bernhard M. Wiedemann
5dc7161b1d
meson: Sort input file list ( #3550 )
...
so that hyprland builds in a reproducible way
in spite of non-deterministic filesystem readdir order.
See https://reproducible-builds.org/ for why this is good.
This patch was done while working on reproducible builds for openSUSE.
Co-authored-by: Bernhard M. Wiedemann <bernhard+gitcommit lsmod.de>
2023-10-11 19:49:42 +01:00
memchr
34455844e9
groups: ensure consistency in dispatcher behavior with global group lock ( #3531 )
2023-10-11 11:13:12 +01:00
vaxerski
d83357f497
internal: use pragma once in version.h
2023-10-10 21:03:07 +01:00
Vaxry
914851b91a
internal: better versioning ( #3543 )
...
* better versioning
* meson: better versioning
* nix: better versioning
---------
Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-10-10 20:21:57 +01:00
MightyPlaza
d537815d43
groups: create group and groupbar config sections ( #3522 )
...
* config: create group section
modified: src/Compositor.cpp
modified: src/config/ConfigManager.cpp
modified: src/layout/DwindleLayout.cpp
modified: src/layout/MasterLayout.cpp
modified: src/managers/KeybindManager.cpp
modified: src/managers/input/InputManager.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* separate group border and groupbar colors
modified: src/Compositor.cpp
modified: src/config/ConfigManager.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* add new line
modified: config/ConfigManager.cpp
2023-10-10 17:42:45 +01:00
Philip Damianik
ac1bd47653
dispatchers: Add option to center the cursor on the focused window when switching workspaces ( #3528 )
...
* Add option for centering on workspace when switching workspace
* Add option for centering on workspace when switching workspace
---------
Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
2023-10-10 17:34:28 +01:00
vaxerski
8abb6e1cee
screencopy: enhance error logging
2023-10-09 23:51:59 +01:00
Roberto Previdi
df0c8e0f7a
workspacerules: Add a persistent workspace rule ( #3530 )
...
* add persistent flag to workspace rules
* get rid of unused ws->indestructible flag
2023-10-09 20:28:22 +01:00
Michał Lewandowski
7f8e0a1318
dwindle: Avoid rounding errors in window position ( #3524 )
...
* Avoid rounding errors in window position
* Fix naming scheme
* Fix unwanted window movement
2023-10-09 12:28:58 +01:00
MightyPlaza
499df49f7b
dispatchers: fix extra monitor offset when snapping floating ( #3520 )
...
modified: src/managers/KeybindManager.cpp
2023-10-08 13:49:15 +01:00
vaxerski
728a8bb48e
config: mention force_default_wallpaper in default configs
2023-10-07 15:55:33 +01:00
DaniD3v
7d7565e7ec
renderer: add force_wallpaper instead of no_hypr_chan ( #3459 )
2023-10-07 14:08:38 +01:00
vaxerski
38e242953d
animationmgr: damage floating windows on workspace anim
...
fixes #3514
2023-10-07 02:28:23 +01:00
Jeremy Huang
61d3d4dee7
master: fix drop_at_cursor on workspace 2 ( #3512 )
2023-10-06 22:33:11 +01:00
ItsDrike
1afb00a01b
pluginapi: remove starting newline in demangled func name ( #3502 )
2023-10-06 14:01:40 +01:00
vaxerski
cb7dd1ac6e
layershell: avoid configure on unchanged size
...
fixes #3496
2023-10-06 14:00:05 +01:00
vaxerski
4b3efc73c5
events: fixup empty events not being sent on unmap
...
Ref #3506 https://github.com/hyprwm/Hyprland/issues/3506#issuecomment-1749508111
2023-10-06 01:11:47 +01:00
vaxerski
24c04a8b7c
crashreporter: avoid using empty CACHE_HOME
2023-10-05 16:57:54 +01:00
vaxerski
3d1a167960
wsrules: check for workspace ID matches on numbered workspaces
...
fixes #3494
2023-10-05 01:31:13 +01:00
322c5cc4b9
layout: add new_window_takes_over_fullscreen mode 2
...
fixes #3486
2023-10-04 15:00:24 +01:00
vaxerski
230356012b
renderer: extract solitary check into frame handler
2023-10-04 13:48:44 +01:00
vaxerski
4531717f3e
renderer: considerable fixes to repaint logic
2023-10-04 13:39:40 +01:00
vaxerski
f8c18ff797
renderer: fixup solitary conditions
2023-10-04 13:30:13 +01:00
vaxerski
f803be3d31
input: fixup frame schedule conditions on mouse move
2023-10-04 12:57:37 +01:00
vaxerski
2901bb0d2f
renderer: add further conditions to solitary recheck
2023-10-04 09:44:07 +01:00
Jeremy Huang
d61e4f9ad7
master: add option to drag and drop windows at cursor position ( #3465 )
...
* add option to drag and drop a window at cursor position
* use getWindowIdealBoundingBoxIgnoreReserved
2023-10-03 22:16:57 +01:00
vaxerski
b814ba98a7
misc: add misc:new_window_takes_over_fullscreen
...
referenced in #3474
2023-10-02 16:27:32 +01:00
vaxerski
50fecf084d
events: set new window alpha to 0 if it's tiled behind fullscreen
...
fixes #3474
2023-10-02 16:22:39 +01:00
vaxerski
5ffb1032e1
events: don't focus new window if spawned behind fullscreen
...
fixes #3473
2023-10-02 14:09:23 +01:00
vaxerski
fc1d7acd9a
renderer: fix missing check for surfaceCount in rechecking solitary
...
closes #3470
2023-10-02 14:02:19 +01:00
vaxerski
763bb2d3bc
renderer: remove old debug log
2023-10-02 10:50:33 +01:00
memchr
161fee1d82
internal: include missing header ( #3464 )
2023-10-01 12:26:10 +01:00
vaxerski
a2a29a60e5
tearing: cleanup vars and avoid rendering before drm is ready
2023-09-30 17:07:50 +01:00
vaxerski
e2b72b2975
renderer: avoid spamming software cursor locks
2023-09-30 16:55:41 +01:00
Dickby
772c7d1d3c
shaders: Remove redundant clamp of smoothsteps return value. ( #3456 )
2023-09-30 13:12:48 +01:00
vaxerski
6a4643842d
hyprctl: log activelyTearing for monitors
2023-09-30 13:12:04 +01:00
vaxerski
a05076a7ee
log: log wlr errors regardless of env
2023-09-30 13:12:04 +01:00
vaxerski
b8f8912db2
renderer: lock software cursors while tearing
2023-09-30 13:12:01 +01:00
vaxerski
86e8ed038f
includes: add missing log include to animatedvariable
2023-09-30 02:09:08 +01:00
vaxerski
c298439433
renderer: nuke multisample_edges in favor of a faster algorithm
2023-09-30 01:41:05 +01:00
vaxerski
495d4f2d11
shaders: improve border rounding
2023-09-30 01:35:05 +01:00
vaxerski
7b002d609b
input: fix warn
2023-09-29 20:06:20 +01:00
vaxerski
4daa515700
watchdog: don't hang on exit
2023-09-29 20:05:43 +01:00
vaxerski
e07e64458e
input: fix unused variable warn
2023-09-29 17:55:41 +01:00
vaxerski
a44ab7748f
renderer: optimize render pipeline when there is a solitary client
2023-09-29 17:51:07 +01:00
vaxerski
ab11bd2085
watchdog: remove thread on destroy
2023-09-29 17:33:26 +01:00
vaxerski
27cd7ef0c9
watchdog: initialize after config
2023-09-29 17:04:20 +01:00
vaxerski
9cc614d096
internal: add a watchdog
...
a watchdog will abort processing a signal if a timeout specified via debug:watchdog_timeout is reached.
2023-09-29 16:38:13 +01:00
vaxerski
453128ee0e
examples/readme: mention tearing
2023-09-28 22:09:14 +01:00
Vaxry
88b63a00b6
renderer: Tearing implementation ( #3441 )
2023-09-28 21:48:33 +01:00
vaxerski
d48c11cc3f
input: minor constraint fixes
...
Better adjust to constraints that do not set a hint. Fixes #3436
2023-09-28 20:02:00 +01:00
vaxerski
1f4eab176e
layout: don't discard fullscreen on new tiling
2023-09-28 17:49:40 +01:00
Cascade aka. Isoheptane
6d7dc70f66
input: Add map to region options for tablets ( #3425 )
...
* Add region remap for tablets
* Fix code style
2023-09-27 19:49:30 +01:00
ffacd2efd1
hyprctl: fix crash in unsafe state with activeworkspace
...
fixes #3419
2023-09-25 15:00:28 +01:00
vaxerski
3b657257ec
layout: check for specialworkspace in floating toggle
2023-09-24 23:20:15 +01:00
Legorel
6bdc45e9ce
config: restore configCurrenPath after sourcing file ( #3339 )
2023-09-24 23:11:34 +01:00
Vaxry
46d66f4bcc
internal: Further unsafe state improvements ( #3404 )
...
Instead of allowing Hyprland to sit in a state where there are no monitors, which various parts of the code don't like, we create a fake headless output on all monitor disconnect, and then remove it when a monitor appears
2023-09-24 18:04:38 +01:00
vaxerski
352ceb1117
config: trim spaces in the rule field in windowrulev2
2023-09-24 13:35:36 +01:00
vaxerski
3b445ec849
input: avoid using the wrong surface in drag focus force
2023-09-23 17:20:39 +01:00
memchr
8252957392
dispatchers: support number as arg in changegroupactive ( #3329 )
2023-09-23 13:36:40 +01:00
Jan Beich
8637bfb1b7
build: Unbreak build without precompiled headers ( #3400 )
...
* helpers: add missing header after 2e34548aea
src/helpers/VarList.cpp: In constructor 'CVarList::CVarList(const std::string&, size_t, char, bool)':
src/helpers/VarList.cpp:19:34: error: 'removeBeginEndSpacesTabs' was not declared in this scope
19 | m_vArgs.emplace_back(removeBeginEndSpacesTabs(in.substr(pos)));
| ^~~~~~~~~~~~~~~~~~~~~~~~
src/helpers/VarList.cpp:23:30: error: 'removeBeginEndSpacesTabs' was not declared in this scope
23 | m_vArgs.emplace_back(removeBeginEndSpacesTabs(std::string_view{s}.data()));
| ^~~~~~~~~~~~~~~~~~~~~~~~
* helpers: add missing C linkage after 0dbd997003
ld.lld: error: undefined symbol: wlr_region_scale(pixman_region32*, pixman_region32 const*, float)
>>> referenced by Region.cpp
>>> src/Hyprland.p/helpers_Region.cpp.o:(CRegion::scale(float))
>>> did you mean: extern "C" wlr_region_scale
>>> defined in: /usr/lib/libwlroots.so.12032
2023-09-23 13:31:37 +01:00
vaxerski
de95089552
input: fixup mouse down refocus conditions
...
fixes #3402
2023-09-23 13:30:53 +01:00
vaxerski
9c00381dfc
hyprctl: avoid .pop_back() on empty string
2023-09-23 13:26:35 +01:00
vaxerski
fb80cbe415
input: properly track mouse focus on drag operations
2023-09-23 01:28:45 +01:00
vaxerski
3b1e09e5a1
renderer: fix missing dontRound check in renderSurface
...
fixes 3296
2023-09-23 00:06:48 +01:00
vaxerski
9f68aa33ea
renderer: damage monitor on special workspace change
...
fixes #3396
2023-09-22 23:36:28 +01:00
vaxerski
ea45bfb63c
renderer: cleanup drm format selection
2023-09-22 20:15:12 +01:00
memchr
ea5d9584da
refactor: manually resets singletons ( #3395 )
2023-09-22 11:06:09 +01:00
memchr
1357b66091
windowrules: add rule group
to map windows grouped ( #3279 )
...
* windows: add rule group to map windows grouped
* group rule: use `invade` to force open a window in a locked group
2023-09-22 00:42:00 +01:00
vaxerski
2e1842b5ff
screencopy: log renderer_begin_with_buffer failures
2023-09-22 00:21:07 +01:00
vaxerski
b662215fad
input: simplify fullscreen workspace input calculations
...
Fixes an issue with special workspaces not receiving focus above fullscreen windows, and cleans up the code
2023-09-21 23:58:58 +01:00
alaricljs
e4ddfcfa0c
keybinds: implement pushactivetobottom dispacher ( #3217 )
...
Co-authored-by: Leeman <lstrout@enlj.com>
2023-09-21 22:18:26 +01:00
Mihai Fufezan
1925e64c21
Vector2D: fix typo in include
2023-09-20 22:26:08 +03:00
vaxerski
62efc045d7
input: lock focus to last surface on buttons held
...
fixes #3385
2023-09-20 19:50:46 +01:00
Vaxry
0dbd997003
input: Various constraint handling fixes ( #3381 )
...
Fixes #3204
2023-09-20 16:47:05 +01:00
memchr
3785defaf1
logging: implement std::formatter for some types ( #3380 )
2023-09-20 16:25:03 +01:00
memchr
6594b50e57
logging/format: use std::format_string to catch formatting string errors at compile time ( #3377 )
...
* fix(log): use constexpr format string
* deprecate getFormat
2023-09-20 08:26:20 +01:00
Dickby
d8d0cd75c2
internal: Make part of CCompositor::focusWindow a bit easier to read. ( #3356 )
2023-09-19 11:37:30 +01:00
memchr
c50072b108
varlist: cleanup unintuitive string splitting ( #3369 )
...
* refactor(varlist): replace unintuitive string splitting
* refactor(varlist): remove test asserts
2023-09-19 09:44:54 +01:00
vaxerski
60f10e6037
hyprctl: print monitor IDs as int64
2023-09-19 00:41:56 +01:00
vaxerski
e4d6695375
keybinds: focus last window on workspace change to another mon
2023-09-18 11:33:19 +01:00
Dickby
b0a82c04df
bezier: Remove Todo about N-Point bezier curves. ( #3352 )
2023-09-17 18:48:11 +01:00
vaxerski
af15b15b4b
input: guard constraint in unconstrainMouse
2023-09-17 16:46:04 +01:00
Mihai Fufezan
f72e04d63b
misc: add disable_hypr_chan option ( #3343 )
2023-09-17 15:26:24 +01:00
vaxerski
2f01a18989
window: recalculate layout on swallow in map
...
fixes #2848
2023-09-16 18:40:57 +01:00
Dickby
a53ec98b82
bezier: Optimize CBezierCurve::getYForPoint ( #3321 )
2023-09-16 18:32:33 +01:00
Jeremy Huang
cc630c90b5
master: partially revert 0e64dd2e
and fix the animation ( #3327 )
2023-09-15 22:13:23 +01:00
vaxerski
b9b38424b0
input: fix hints not being used if committed at the beginning
2023-09-15 21:01:54 +01:00
memchr
56adec7c1a
socket2: emit lockgroups event ( #3317 )
2023-09-15 12:06:59 +01:00
MightyPlaza
824290c791
windowrules: fix workspace exec rule with special ( #3316 )
...
modified: src/events/Windows.cpp
2023-09-15 12:05:21 +01:00
Jeremy Huang
d3cbec2d1a
master: Add mfact dispatcher ( #3298 )
...
* add mfact dispatcher
* limit mfact to between 0.05 and 0.95
* add try catch block for stof
* change log to err
2023-09-15 12:03:05 +01:00
vaxerski
2536630049
dwindle: fix moving windows on special
2023-09-14 15:37:45 +01:00
memchr
e6651334f2
refactor: flatten nesting if
s in layout window creation method ( #3294 )
2023-09-14 12:27:16 +01:00
Jeremy Huang
0e64dd2ea5
master: respect the resizing animation option in master layout ( #3300 )
2023-09-14 12:14:10 +01:00
memchr
db2b72adee
config: fix relative path resolution ( #3308 )
2023-09-14 12:07:31 +01:00
memchr
0dc8289b02
dwindle: fix: don't merge groups when moving window ( #3302 )
2023-09-14 11:56:29 +01:00
memchr
84f8f4d77d
keybinds: warp cursor to correct window in moveWindowOutOfGroup ( #3290 )
2023-09-13 15:02:21 +01:00
Jeremy Huang
2ad429dfe0
master: Fix the wrong resize speed in master layout center orientation ( #3289 )
...
* rebase
* change isStackVertical variable to make it more readable
* fix some code getting unnecessarily repeating in a loop
2023-09-13 11:48:19 +01:00
memchr
4f88897fc0
keybinds: avoid onWindowRemoved & onWindowCreated when group has one member ( #3286 )
...
Make moveWindowOutOfGroup behave like toggleGroup on a group with single
member, this prevents the window from moving around rabidly.
2023-09-13 11:44:02 +01:00
41e5f401c5
keybinds: simulate movement on empty focus after workspace change
2023-09-13 11:36:41 +01:00
b884544ee6
input: don't refocus on switched workspace on the same monitor
2023-09-13 11:33:36 +01:00
memchr
6b1ac659e0
layout: add direction parameter to onWindowCreated and friends ( #3269 )
...
* feat(layout): add direction parameter to onWindowCreated and friends
In addition:
- Implement directional moveWindowOutOfGroup for `movewindoworgroup`
when using dwindle layout. (augmentation of #3006 )
- Replace `DWindleLayout::OneTimeFocus` with `IHyprLayout::eDirection`.
- Slight formatting change (clang-format).
* fix: nullptr dereference in dwindle window creation
* refactor: generalized eDirection
* refactor: eliminate DIRECTION_NONE
* Update IHyprLayout.hpp
2023-09-13 11:13:29 +01:00
outfoxxed
b0d5e4008b
layout: Allow the layout to control how windows are raised in groups ( #3275 )
...
* Allow the layout to control how windows are raised in groups
Previously windows could only be focused if they weren't hidden or
were part of a group. This shifts the logic for picking the window out
of a group to the layout allowing for alternate group implementations
to function normally.
* Fix doc comment consistency
* Fix tabs in comments
2023-09-12 22:37:08 +01:00
be19773aaa
windowrules: fix workspace rule separation
...
fixes #3265
2023-09-12 16:50:10 +01:00
2e34548aea
varlist: move to a separate header, add join
2023-09-12 16:50:10 +01:00
memchr
5cc53c14d9
config: add wildcard handling in source= ( #3276 )
2023-09-12 12:54:05 +01:00
alaricljs
9192b20b96
windowrules: add on-screen constraint to wrv2 'move' ( #3247 )
...
* add on-screen constraint to wrv2 'move'
* review changes
* std::clamp
* more parens
---------
Co-authored-by: Leeman <lstrout@enlj.com>
2023-09-12 09:56:20 +01:00
memchr
bc41d7ec85
fix: inconsistent behaviour where last workspace was not saved ( #3261 )
2023-09-11 23:39:24 +01:00
memchr
df51c45d7f
keybinds: unify changeworkspace dispatcher ( #3250 )
...
* refactor: changeworkspace dispatcher
* refactor: remove redundant focusWindow calls
* refactor(changeworkspace): warp cursor to middle of last focused window
* refactor: use rememberPrevWorkspace
* Fix: `CWorkspace::rememberPreWorkspace` condition is illogical
2023-09-11 15:14:43 +01:00
5a6d0e9963
refactor: fix missed middle() call in CKeybindManager
2023-09-11 12:19:21 +01:00
alaricljs
99fac59938
keybinds: movewindow to screen edge for floating windows ( #3245 )
...
* movewindow to screen edge for floating windows
* review changes
* constify vars
---------
Co-authored-by: Leeman <lstrout@enlj.com>
Co-authored-by: vaxerski <vaxry@vaxry.net>
2023-09-11 10:23:57 +01:00
memchr
e96e0dc02d
refactor: utilize 'middle()' method for window/montior center ( #3253 )
2023-09-11 10:09:34 +01:00
vaxerski
3859607b6c
input: do not process mouse in unsafe state
2023-09-10 23:44:47 +01:00
memchr
ac2f1a9c30
feat: add a new movewindoworgroup dispatcher ( #3006 )
2023-09-10 23:29:10 +01:00
alaricljs
81661b49aa
windowrules: add % to resizeparams ( #3246 )
...
Co-authored-by: Leeman <lstrout@enlj.com>
2023-09-10 23:26:14 +01:00
memchr
79862c957c
layout: add missing groupbar decoration to the window ( #3235 )
...
* fix: add missing groupbar decoration to the window
Add groupbar decoration to the operand window of `CWindow::insertWindowToGroup` if it does not exist, to prevent segmentation faults when mouse events are triggered after moving the window to a group, where `getDecorationByType(DECORATION_GROUPBAR)` unexpectedly returns nullptr.
Also fixed a bug where the group bar disappeared when the moveIntoGroup dispatcher's operand window was in a group.
* Update Window.cpp
2023-09-10 22:59:10 +01:00
Jeremy Huang
19bbdeed47
master: Add smart resizing option for master layout ( #3210 )
...
* add smart resizing for master layout
* fix smart resizing workspace check
* master layout fix smart resize when at max size
* change resizing for center orientation so it doesnt use all nodes
* master layout resizing, simplify code for calculating total height and weight
* remove the redundant smart resizing check
2023-09-10 22:58:06 +01:00
vaxerski
0d53401217
xwayland: adjust coord calculation
...
coord exactly at the corner would be calc'd wrong
2023-09-10 20:19:09 +01:00
vaxerski
d28725c678
keybinds: ignore conditions on special release
...
while the previous commit ignores mods, we also need to ignore other conditions to avoid dangling presses
2023-09-10 16:54:14 +01:00
vaxerski
dcb909df04
keybinds: track pressed special binds
...
Ignore mods only if we're processing a special bind, and only if it's pressed. Otherwise we might shadow normal key releases via ignoring mods. Fixes #3240
2023-09-10 16:27:14 +01:00
Philip Damianik
6c855dd6e4
internal: Fix wlr output management ( #3234 )
2023-09-10 13:14:27 +01:00
vaxerski
d490f198a4
keybinds: ignore mods on release of special binds
...
fixes #3208
2023-09-10 13:13:15 +01:00
memchr
a781c152ff
fix(layout): remove focusWindow
calls from onWindowCreatedTiling
( #3233 )
2023-09-10 12:55:18 +01:00
memchr
f7f70c9e72
refactor: replace lambdas with CKeybindManager::switchToWindow ( #3229 )
...
moves `switchToWindow` lambdas to a single private method
`CKeybindManager::switchToWindow()`.
fixes #3227 , as a by-product of the mouse motion simulation at the end
of `CKeybindManager::switchToWindow()`.
2023-09-10 12:51:27 +01:00
vaxerski
f4e99a36a9
input: don't warp region constraints
2023-09-10 12:49:53 +01:00
Philip Damianik
1a6f961de2
hyprctl: Make device configs queryable ( #3226 )
...
* Make device configs queryable
Signed-off-by: pdamianik <39028343+pdamianik@users.noreply.github.com>
* Add set property to getoption output
---------
Signed-off-by: pdamianik <39028343+pdamianik@users.noreply.github.com>
2023-09-09 12:25:17 +01:00
shadowmax31
c061946a94
keybinds: Do not suppress pass and mouse release ( #3219 )
2023-09-09 10:15:24 +01:00
memchr
6648274735
fix: focusWindow on hidden workspace triggers another focusWindow. ( #3216 )
...
This commit address an issue where focusing a window on a hidden
workspace inadvertently triggered a second `focusWindow` call due to
simulated mouse movement. This behaviour led to the incorrect focus on
the window under the cursor instead of target window of method
`focusWindow()`, disrupting `focusurgentorlast` and `focuscurrentorlast`
dispatchers. Introduced a flag to the `CMonitor::changeWorkspace()`
method to prevent simulated mouse movements. This flag is set to false
by default. Changed the `focusWindow()` method accordingly to set this
flag to true when the target window is in a hidden workspace.
2023-09-08 19:17:04 +02:00
398e861b55
internal: fix warnings
2023-09-07 16:43:01 +02:00
vaxerski
cc5852faa2
config: disable blur special by default
...
very expensive
2023-09-07 00:35:44 +02:00
vaxerski
b2516010b7
hyprctl: fix missing comma in getopt -j
...
Fixes #3200
2023-09-06 23:52:25 +02: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
Philip Damianik
60c01dab01
config: Integrate HASCONFIG into CConfigManager::getConfigValueSafeDevice ( #3195 )
2023-09-06 19:16:46 +02:00
Philip Damianik
a15e3e1f38
config/input: Improve fallback behavior for unset device config values ( #3184 )
...
* Fix fallback behavior for unset device config values
* Replace overload with default argument for fallback config key
* Remove default value for fallback argument in source
* Fix typos
2023-09-06 16:14:18 +02:00
vaxerski
a1cc99a986
pch: add format
2023-09-06 14:59:34 +02:00
unrealhoang
f90a009e93
input/config: add button scroll lock ( #3189 )
2023-09-06 14:54:48 +02:00
vaxerski
8b9cc9a8db
animationmgr: guard monitor ptr in animationSlide
2023-09-06 13:05:37 +02:00
vaxerski
37e2311a3e
config: loosen restrictions around animation keywords
...
Fixes #3185 , makes hyprland ignore further args if an animation is disabled
2023-09-06 12:58:01 +02:00
Vaxry
61a71c65ac
internal: Formatter rework ( #3186 )
2023-09-06 12:51:36 +02:00
vaxerski
c3a83daa1e
monitor: minor adjustments
2023-09-05 22:16:14 +02:00
Dickby
fa3de9b70e
renderer: Fix blur for passes set to 0. ( #3181 )
2023-09-05 16:33:40 +02:00
vaxerski
2d100bf57e
socket2: add renameWorkspace event
2023-09-05 15:55:24 +02:00
Dickby
28f1f035b1
animationmgr: Optimize CAnimationManager::scheduleTick a bit. ( #3172 )
...
* Optimize CAnimationManager::scheduleTick a bit.
* Use integer in wl_event_source_timer_update call.
2023-09-05 15:06:39 +02:00
vaxerski
db48f973fd
xdgoutput: do not destroy resources on monitorRemoved
2023-09-05 13:33:08 +02:00
memchr
8e9f010ee0
build: use PCH to reduce compile time ( #3095 )
2023-09-04 19:56:02 +02:00
vaxerski
4eecb8bffc
config: don't enable vrr 2 for maximized workspaces
...
fixes #3162
2023-09-04 18:24:18 +02:00
vaxerski
d9937fcdba
input: minor constraint fixes
...
fixes the confined region, warping issues, etc. Closes #3158
2023-09-04 17:34:19 +02:00
vaxerski
e3c83ab2e0
xwaylandmgr: find closest output in xwayland coord translation
...
partially off-screen windows would be snapped to 0,0 otherwise
2023-09-04 17:30:48 +02:00
shadowmax31
b4c832a1f2
master: Add orientationcycle command on MasterLayout ( #3128 )
2023-09-04 16:45:58 +02:00
vaxerski
9f3a64481e
dwindle: add proper movement for window move binds
...
ditches the "movewindow = swapwindow" mechanism. Fixes #2804
2023-09-04 15:34:13 +02:00
memchr
69439871e6
refactor: replace manual iteration of CWindow with existing methods ( #3147 )
2023-09-04 15:13:39 +02:00
MightyPlaza
6a0e2bbff3
socket2: added "activespecial" IPC event ( #3163 )
2023-09-04 15:11:51 +02:00
vaxerski
32f75ebb70
renderer: separate workspace window render logic
...
Makes the logic used to render stuff over the windows (special, popups, ime, lockscreen) unified by yeeting the workspace window logic (which is separate cuz fullscreen windows) into their own funcs. Fixes #2053
2023-09-04 15:07:56 +02:00
vaxerski
35df4693ea
animatedvariable: don't reset timers on duplicate setters
...
Fixes the annoying jump when a recalc happens while a window is being animated
2023-09-04 13:11:56 +02:00
MightyPlaza
8fefb180b1
windowrules: Monitor rule fix ( #3157 )
...
* fix monitor rules
modified: src/events/Windows.cpp
* exec on workspace as silent when special is open
modified: src/events/Windows.cpp
2023-09-03 17:23:13 +02:00
vaxerski
5126bfab72
monitor: ignore no-op workspace changes
2023-09-03 17:21:55 +02:00
vaxerski
c6c820d16d
layout: always center floating xdg windows
2023-09-03 13:07:40 +02:00
vaxerski
e6ca4b6eee
window: check for special id matching in close_special_on_empty
2023-09-03 13:02:05 +02:00
vaxerski
5e0cf7d6a5
special: add misc:close_special_on_empty
...
fixes #3156
2023-09-03 13:00:06 +02:00
staz
01c6c5ae22
internal: Revert rounding of window size ( #3153 )
...
* Revert "renderer: round coords and size in renderWindow"
This reverts commit fc0c1896e0
.
* Revert "xwaylandmgr: round reported sizes"
This reverts commit 2985e20e6a
.
2023-09-03 12:51:48 +02:00
vaxerski
423b129b24
renderer: don't set enabled in applyMonitorRule
2023-09-03 12:43:57 +02:00
MightyPlaza
00bee91bbc
internal: workspace rule handling refactor ( #3116 )
...
modified: src/events/Windows.cpp
2023-09-02 20:41:02 +02:00
vaxerski
d4ec54d048
renderer: render IME popups in fullscreen
...
fixes #1353
2023-09-02 20:32:15 +02:00
memchr
69ce11a063
fix: use-after-free of CWindow* in CHyprGroupBarDecoration::draw ( #3146 )
2023-09-02 19:58:01 +02:00
vaxerski
204a580544
keybinds: fixup global conditions
2023-09-02 19:36:12 +02:00
vaxerski
1ecfb5e852
globalshortcuts: allow empty appid
2023-09-02 19:32:05 +02:00
vaxerski
2985e20e6a
xwaylandmgr: round reported sizes
...
Since we round the sizes in the renderer, it's also a good idea to round the sizes reported to the apps. Fixes #3138
2023-09-02 00:04:55 +02:00
vaxerski
d2a785dfe3
renderer: fixup occlusion conditions
...
fixes #3123 I fucking hate yall
2023-09-01 23:01:59 +02:00
vaxerski
563fe83db2
keybinds: set special monitor id before recalc
...
set special workspace's monitor ID before we call recalculateMonitor in toggleSpecialWorkspace. Fixes #1151
2023-09-01 22:57:23 +02:00
vaxerski
f242f9447b
keybinds: suppress up event if down was consumed
...
Fixes #3000
2023-09-01 22:14:10 +02:00