André Silva
e5eb1bdf01
renderer: ignore set cursor surface if cursor should be hidden ( #4780 )
2024-02-21 13:48:48 +00:00
Dashie
ddf022d61c
feat: Add css style gaps ( #4723 )
2024-02-21 11:07:39 +00:00
13d9854897
xdgpopup: fix UAF because of an invalid listener connection
...
destroy should be connected to popup::destroy, not popup::surface::destroy...
ref #4751
2024-02-20 18:14:36 +00:00
cd73dda16e
sessionLock: send preferred fractional scale
2024-02-20 16:13:01 +00:00
02c9a2d769
screencopy: damage entire screen on a no-damage request
2024-02-20 15:22:54 +00:00
7ea37c9dc9
surface: fix damage calcs with a viewport src
2024-02-20 15:21:30 +00:00
86be75dd97
events: bring back accidentally nuked preConfigReload
2024-02-20 03:24:15 +00:00
thejch
030ed27cc8
crashreporter: Use ~/.cache as cache dir ( #4719 )
...
* use ~/.cache for crash reports
* minor word edit
* clang-format
* minor typo
2024-02-20 00:55:04 +00:00
e793f10b8b
screencopy: fix invalid damage being used for final copy in dma
2024-02-19 20:05:51 +00:00
d62e7a5125
renderer: fixup damage_ring rotation
2024-02-19 19:11:05 +00:00
fe9c8d8745
format: fix formatting
2024-02-19 17:20:39 +00:00
df82625206
hyprctl: reload everything on dynamic source keywords
2024-02-19 12:45:05 +00:00
1763566308
surface: minor fixes for last logicalDamage calc fix
2024-02-19 11:34:55 +00:00
e4790e3f8e
surface: fix invalid damage tracking in damageSurface
...
ref #4744
2024-02-19 11:24:54 +00:00
rszyma
69a4f08dbe
keybinds: fix keys without keysyms triggering random binds ( #4739 )
2024-02-19 00:02:03 +00:00
301b48b740
renderer: fix invalid damage accumulation with invalid buffer_age
...
fixes #4670
2024-02-18 16:04:08 +00:00
fae47ef462
config: fix errors in default config
2024-02-18 15:34:43 +00:00
5fc0b772c7
config: update default config for hyprlang migration
2024-02-18 15:02:34 +00:00
Vaxry
13f6f0b923
Migrate the config to hyprlang ( #4656 )
...
* Migrate to hyprlang
* pop up errors
* fix swapped args
* Meson & Nix: build with hyprlang
* CI: add hyprlang to setup action
* add infra for plugin stuff
* fix hyprctl getoption
* fix hyprctl getoption with json
* format
* fix post parse logic
* fix autogen config
* oops missed exec-once
* fmt
* fix ws rules
* require 0.3.0 for hyprlang
* nix: flaek
* minor type fixes
* fix cfg usages in swipe
* use cvarlist for ws rules
* fix throw in addPluginConfigVar
* Nix: update hyprlang
* minor fixes
* fix disableLogs
* mention hyprlang docs
* bump hyprlang dep in cmake
* Meson: bump min hyprlang version
Nix: update hyprlang
* minor fix
* Nix: update meson patch
---------
Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2024-02-18 15:00:34 +00:00
Alessio Molinari
7e8bcd675d
monitors: fix outputmgr nullptr crash ( #4738 )
2024-02-18 02:24:01 +00:00
683a4b07c5
rules: ignore static tile/float rules in dynamic gets
...
fixes #4736
2024-02-18 00:13:43 +00:00
Federico Maria Morrone
5261a8df81
keybinds: Add an option to pass a window argument to moveoutofgroup ( #4724 )
...
* keybinds: allow passing window to moveoutofgroup
* keybinds: cleaner handling of certain args
2024-02-17 22:44:22 +00:00
epicgamer256705
289d952a6e
dispatchers: add Fullscreen without sending fullscreen to application ( #4720 )
...
* Add extra option to fullscreen
* Remove useless branch
fixes #1817
---------
Co-authored-by: matteo bob <matteo4375@gmail.com>
2024-02-17 16:21:06 +00:00
294e51a857
input: refocus on completed drags
2024-02-17 16:02:17 +00:00
cdcc5aba06
xwayland: ignore OR activate requests if surface doesn't want focus
2024-02-17 02:47:07 +00:00
Abílio Costa
e3e7e1fdda
monitor: don't damage twice ( #4727 )
...
When scaled, the ring is already fully damaged, no need to add the region
damage.
Also moved a variable that was being declared way to far for where it is
actually used.
Co-authored-by: Abilio Costa <abilio.costa@criticaltechworks.com>
2024-02-17 02:09:12 +00:00
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