Commit Graph

3305 Commits

Author SHA1 Message Date
Vaxry fbba8757cb window: remove unused list 2024-02-29 16:16:03 +00:00
Vaxry 6916d0a6a3 surface: unify owners 2024-02-29 15:07:14 +00:00
Anton Samokhvalov bcec082a1c
build: fix libc++/clang build (#4886) 2024-02-29 15:01:56 +00:00
Vaxry 2e111c8cf9 xdg: rewrite entire popup implementation 2024-02-29 14:26:02 +00:00
Vaxry b39dcfa497 refactor: move a few things to desktop/ 2024-02-29 13:03:38 +00:00
Vaxry 4bff762d97 xwaylandmgr: don't read xwayland surface from unmapped xwayland 2024-02-29 01:21:23 +00:00
Vaxry b1c0f1cc01
subsurface: Rewrite the subsurface tree (#4877) 2024-02-29 00:03:28 +00:00
Vaxry 1e7eb3a5a5 xdg: check for floating conditions before sending tiled size hint
ref #4871
2024-02-28 23:14:50 +00:00
Vaxry 097f561e41 surfacetree: Revert "subsurfaceTree: assign surfaces to a CWLSurface"
This reverts commit 51b1b17fcb.

Crash issues, fixes #4874
2024-02-28 19:42:04 +00:00
Vaxry a31433c215 renderer: damage whole ring on failed commit
fixes #4770
2024-02-28 18:00:02 +00:00
Vaxry 51b1b17fcb subsurfaceTree: assign surfaces to a CWLSurface
fixes #4872
2024-02-28 17:53:17 +00:00
Vaxry 29cdd7de1f layers: minor fixes for new animations 2024-02-28 15:59:45 +00:00
Vaxry 4bc669f933 layers: add fully featured animations
Adds configs and layerrules to handle them

alas fixes #981

I have cooked
2024-02-28 15:00:40 +00:00
Vaxry f4f3aa2e50 layout: add size prediction for initial xdg commits
fixes #4022
2024-02-28 11:45:43 +00:00
JManch c198d744b7
keybinds: unconstrain mouse on focusmonitor and cyclenext (#4863) 2024-02-28 00:52:45 +00:00
Tobias Zimmermann 489ac40abd
config: Add option to resolve keybinds by sym instead of code (#4851)
This commit adds the new configuration option 'resolve_binds_by_sym'
which can be set globally or per-device. It is off by default, which
preserves the current behavior.

This setting only affects the behavior of keybinds that are defined via
key symbols, not those defined via keycode. Binds defined by symbols
currently activate if the keycode pressed would generate the specified
symbol on the first layout specified in the input section.
If enabled, keys pressed on the relevant device will instead match
keybinds by the symbols they produce with their current layout.

Closes #1881.
2024-02-27 23:21:22 +00:00
Vaxry e3373669e5 wayland: implement keyboard_shortcuts_inhibit_v1
fixes #4568
2024-02-27 23:15:24 +00:00
Vaxry f26d7aa58d config: add defaultName for workspace rules
alas, fixes #665
2024-02-27 22:44:42 +00:00
Vaxry e2c286548d avar: return curve value of 1 when not animated
fixes #4862
2024-02-27 22:34:07 +00:00
Philip Damianik 60f81b8a23
input: Map touch devices and tablets bound to an output (#3544)
* Map bound touch devices and tablets to an output

* Add "[[Auto]]" default option for auto detecting outputs for touch inputs

* Bind new monitors to configured touch and tablet devices

* Use Monitor::matchesStaticSelector in CConfigManager::getMonitorRuleFor

* Use Monitor::matchesStaticSelector in CCompositor::getMonitorFromString
2024-02-27 22:11:59 +00:00
Vaxry 98034fea3c screencopy: send full frame damage
fixes #4855
2024-02-27 14:51:27 +00:00
Vaxry 21f7f32dc9 screencopy: avoid dangling client ptrs on client destroy 2024-02-27 12:23:59 +00:00
Vaxry ffd7217243 IME: don't set modifiers on grab destroy 2024-02-27 12:23:45 +00:00
Vaxry bc3f5b94eb core: nullcheck for old monitor in moveWorkspaceToMonitor
fixes #4495
2024-02-26 21:12:12 +00:00
Vaxry f7a3453487 socket2: move to the wayland event loop 2024-02-26 17:20:51 +00:00
Bernd Müller 1742605eb8
keybinds: fix movewindoworgroup onto empy workspace on next monitor (#4486)
* fix: movewindoworgroup when no window or group is in desired direction, e.g. move window onto empty workspace on next monitor

* fix: movewindoworgroup when no window or group is in desired direction, e.g. move window onto empty workspace on next monitor

* reset flake.nix

* add: changes mentioned in review of #4486
2024-02-26 14:05:24 +00:00
github-usr-name 81fe2ae7f1
surface: ensure global pointers valid before using in destructor (#4844)
This fixes an observed SigSegV resulting from the cursor surface using
`g_pInputManager` when invoked from the `CInputManager` destructor

Co-authored-by: github-user-name <spam-here@github.com>
2024-02-26 09:52:12 +00:00
Vaxry dfcfb92ec6 renderer: take into account fading out windows in solitary recheck 2024-02-26 00:19:16 +00:00
Vaxry 9815402074 keybinds: focus floating on top of fs 2024-02-26 00:15:59 +00:00
shezdy a14f6b570f
keybinds: fix focuswindow for fullscreen (#4840)
* focuswindow fix

* fix format

---------

Co-authored-by: ddmetz <77217897+ddmetz@users.noreply.github.com>
2024-02-26 00:05:20 +00:00
Tom Benham 54a8329936
layout: Fixed ghost window when opened while fullscreen on a different workspace (#4822)
* Fixed ghost window when opened while fullscreen on a different workspace

* Format

---------

Co-authored-by: Tom Benham <tom.benham@quadrille.fr>
2024-02-25 14:09:41 +00:00
github-usr-name f9cfec8abb
compositor: allow source monitor to be provided to `getMonitorInDirection` (#4837)
Co-authored-by: github-user-name <spam-here@github.com>
2024-02-25 14:03:00 +00:00
JManch e9528fc214
config: fix layout invalidation for keyword commands (#4826) 2024-02-24 14:06:28 +00:00
Vaxry 6f83856025 hyprctl: add -r argument 2024-02-24 14:02:03 +00:00
thejch d92da7959a
core: Fix SEGV/ABRT core dump when exiting (#4823)
* reset input manager first

* move reset
2024-02-24 02:50:54 +00:00
Vaxry bdbd8d965d hyprctl: jsonify new gaps
fixes #4820
2024-02-23 21:25:04 +00:00
Vaxry bfb1e876a8 config: add opengl:force_introspection
fixes #4819
2024-02-23 21:21:24 +00:00
Vaxry ca59bd5739 opengl: check bottom/bg layers for required introspection
ref #4818
2024-02-23 21:09:47 +00:00
thejch f389f77015
core: Try to fix the exit hang (#4811)
* add signal removal

* use a flag instead

* remove signals in cleanup
2024-02-23 16:48:27 +00:00
Vaxry 8c3613632a renderer: nuke lastFrameDamage and rework finalDamage
this fucking SUCKED
2024-02-23 01:02:32 +00:00
Vaxry c1ef361e02 renderer: fix logs 2024-02-23 00:02:48 +00:00
Vaxry 35e80a64a6 renderer: add more logging for fails in beginRender 2024-02-22 23:50:56 +00:00
Vaxry e83bf4f7b7 core: add env to disable crash reporter 2024-02-22 23:10:59 +00:00
Vaxry c353b7c4f7 renderer: minor fixes for introspection detection 2024-02-22 23:01:22 +00:00
Vaxry d9757b61bf xdg: manually schedule initial configures
chasing wlroots

fixes #4801
2024-02-22 17:33:23 +00:00
Vaxry af0c8e299b input: fix vectorToWindowUnified with floating over fs
fixes #4800
2024-02-22 15:42:17 +00:00
Vaxry 7fbe016c15 animationmgr: expand layer box for damage 2024-02-22 15:34:18 +00:00
Vaxry 0ebee80bca config: adjust default splash col 2024-02-22 15:28:58 +00:00
Vaxry c4283abb9f compositor: check for pworkspace validity in setActiveMonitor 2024-02-22 15:12:51 +00:00
Vaxry 94aeb06d6b toplevelexport: set last damage for dmabuf copy 2024-02-22 03:10:01 +00:00
Vaxry ea3fd13e24 shadow: fix missed invalid use of cfg val ptr
fixes #4785
2024-02-21 19:26:21 +00:00
Hiram Muñoz dad8ffd576
renderer: Update splash text properties to be configurable (#4707)
* Update splash text properties to be configurable

The splash text's font and color properties have been updated to be configurable. This change includes adding new configuration values for the splash screen color and font. The rendering of the splash screen is also adjusted to use these new config values, allowing for easy customization of the splash text appearance.

* Updated to use Hyprlang config manager
2024-02-21 18:31:29 +00:00
q234rty fc5ca391ad
core: Fix building plugins (#4783) 2024-02-21 16:57:44 +00:00
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
Vaxry 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
Vaxry cd73dda16e sessionLock: send preferred fractional scale 2024-02-20 16:13:01 +00:00
Vaxry 02c9a2d769 screencopy: damage entire screen on a no-damage request 2024-02-20 15:22:54 +00:00
Vaxry 7ea37c9dc9 surface: fix damage calcs with a viewport src 2024-02-20 15:21:30 +00:00
Vaxry 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
Vaxry e793f10b8b screencopy: fix invalid damage being used for final copy in dma 2024-02-19 20:05:51 +00:00
Vaxry d62e7a5125 renderer: fixup damage_ring rotation 2024-02-19 19:11:05 +00:00
Vaxry fe9c8d8745 format: fix formatting 2024-02-19 17:20:39 +00:00
Vaxry df82625206 hyprctl: reload everything on dynamic source keywords 2024-02-19 12:45:05 +00:00
Vaxry 1763566308 surface: minor fixes for last logicalDamage calc fix 2024-02-19 11:34:55 +00:00
Vaxry 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
Vaxry 301b48b740 renderer: fix invalid damage accumulation with invalid buffer_age
fixes #4670
2024-02-18 16:04:08 +00:00
Vaxry fae47ef462 config: fix errors in default config 2024-02-18 15:34:43 +00:00
Vaxry 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
Vaxry 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
Vaxry 294e51a857 input: refocus on completed drags 2024-02-17 16:02:17 +00:00
Vaxry 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
Vaxry 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
Vaxry a42b984f51 screencopy: fix ~dtor being in monitorRenderResources map 2024-02-15 02:01:40 +00:00
Vaxry e5ac970d6e input: fix follow_focus 2024-02-15 01:51:01 +00:00
Vaxry 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
Vaxry 3cca36e773 input: avoid rampant refocuses on popups 2024-02-15 01:24:40 +00:00
Vaxry ef490965a2 screencopy: attempt binding framebuffer before gathering format 2024-02-15 00:59:06 +00:00
Vaxry b7ab15dc80 input: log cursor image requests 2024-02-15 00:59:04 +00:00
Vaxry 9c3f3b0018 renderer: don't calculate mirror damage without mirrors present 2024-02-14 22:33:50 +00:00
Vaxry 8d68d6bfa5 windowrules: nuke no*request 2024-02-14 22:27:53 +00:00
Vaxry 60834a4687 config: remove usages of nomaximizerequest from default cfg 2024-02-14 22:26:45 +00:00
Vaxry 7f52db806c windowrules: add suppressevent
deprecates nofullscreenrequest nomaximizerequest
2024-02-14 22:19:49 +00:00
Vaxry 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
Vaxry 0608791480 dwindle: round wbox before setting 2024-02-14 11:44:47 +00:00
Vaxry 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
Vaxry 95abf1220f keybinds: fix swapactiveworkspaces not moving focus
fixes #4626
2024-02-13 17:53:50 +00:00
Vaxry 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
Vaxry 890307532c input: avoid reassigns of unchanged surfaces in processMouseRequest 2024-02-12 20:02:00 +00:00