Commit Graph

3646 Commits

Author SHA1 Message Date
Vaxry 6e53c47e68 renderer: fix missing premultiplication for border multisampling 2023-08-06 20:46:00 +02:00
Vaxry 6c10c38481 renderer: fully switch to premultiplied alpha 2023-08-06 20:33:36 +02:00
Vaxry a077b7a92e animationmgr: avoid redundant ticks 2023-08-05 23:29:33 +02:00
MightyPlaza b925f1b497
fix workspace change focus (#2891) 2023-08-05 20:53:13 +02:00
vaxerski ef0d97153a xdgoutput: manually destroy manager resource 2023-08-04 14:07:41 +02:00
vaxerski 2e6693fbb6 compositor: update window rules on workspace move 2023-08-03 21:59:12 +02:00
romanstingler 7d98181ade
xwayland: drop wlr_xwayland_surface.events.set_pid (#2884)
Co-authored-by: Roman Stingler <roman.stingler@waterdrop.com>
2023-08-03 21:40:56 +02:00
vaxerski 7a2027d1fd input: fix and unify client checking in mouseRequests 2023-08-03 18:44:07 +02:00
vaxerski da46e01b97 config: update default config for new blur changes 2023-08-03 15:16:37 +02:00
Vaxry d96f8ff0fe
renderer: Various Blur Improvements (#2877)
* move blur to its own category

* blur improvements, contrast, brightness, noise
2023-08-03 15:11:10 +02:00
vaxerski 5c50fac907 windowrules: add workspace param 2023-08-02 13:21:38 +02:00
vaxerski 51cda87fe4 hyprctl: rerender on cursor_zoom_factor dynamic calls 2023-08-01 18:08:53 +02:00
vaxerski da0c74cdf0 config: schedule frame for mons on reload 2023-08-01 15:47:56 +02:00
vaxerski 08651736ad keybinds: add toggle to dpms 2023-07-30 16:46:37 +02:00
vaxerski f61a714320 renderer: cleanup old redundancies in CFramebuffer 2023-07-29 13:27:40 +02:00
Po-Yeh Chen 77818e3457
xwayland: Add temporary fix for #2808 by adding nullptr check. (#2829)
* Add temporary fix for #2808 by adding nullptr check.

* Remove redundency.
2023-07-28 17:12:24 +02:00
Gioele Pannetto ef26f711c9
Added git tag in json version command (#2821) 2023-07-27 10:51:04 +02:00
vaxerski a9b8e2159c renderer: reset scissor after renderTexturePrimitive 2023-07-25 13:33:08 +02:00
vaxerski 4173d2ccf6 input: fix styling 2023-07-25 11:49:36 +02:00
vaxerski f5913135c6 input: add support for cursor-shape-v1 2023-07-24 18:50:17 +02:00
vaxerski 603de16f9a renderer: adjust distribution of backgrounds 2023-07-24 18:30:00 +02:00
ferrreo f6b340cc19
init: Fix for issue #2797 (#2799)
* Fix for issue #2797

* Fix for issue #2797

* Fix for issue #2797
2023-07-24 18:26:24 +02:00
memchr 76c6e09e39
keybinds: Make moveintogroup locking check configurable (#2796)
* groups: revert to the old moveintogroup behaviour, ignore m_sGroupData.locked

* groups: Make moveintogroup locking check configurable
2023-07-24 18:25:10 +02:00
vaxerski 9bad2a8180 backgrounds: add hypr chan var 2 2023-07-24 18:22:39 +02:00
MightyPlaza 6db3c4ef5e
layout: no_border_when_only-improvements (#2791) 2023-07-24 12:13:40 +02:00
Mily 9fc5f4c48b
init: Request SCHED_RR using CAP_SYS_NICE and add Python to nix dev shell (#2690)
* nix: add python3 to devShell

* init: request SCHED_RR scheduling policy

* init: checks if host supports reseting scheduler on fork

* init: make gainRealTime more compatible with other OSes

* init: remove linux-only code
2023-07-23 20:51:00 +02:00
MightyPlaza 50e6f368ff
windowrules: implements nomaximizerequest (#2785)
* Window.hpp

* ConfigManager.cpp

* Windows.cpp

* fix maximize event
2023-07-23 19:47:41 +02:00
vaxerski 975c4175b2 hyprctl: unify and sanitize ver commit msg better 2023-07-23 19:43:15 +02:00
vaxerski af395a8f55 windowrules: fix opacity override 2023-07-23 16:03:59 +02:00
vaxerski 90f69782ee window: fix segfault in boundingbox 2023-07-23 16:02:35 +02:00
vaxerski 5a64c73e05 render: use primitive end() only when no screen shader is present 2023-07-23 15:54:27 +02:00
end-4 9845f99b60
add config option to enable/disable new intuitive resizing (#2774)
dwindle:smart_resizing = 1 by default
== 1 then use new resizing
else use old resizing
2023-07-23 15:50:09 +02:00
MightyPlaza d3bba2489d
render: Border fixes (#2781)
* Window.cpp

* layout

* CHyprGroupBarDecoration.cpp
2023-07-23 15:49:49 +02:00
Rachel Knight b21644b611
input: Fix #2376 mouse movement bug in XWayland (#2776) 2023-07-22 19:31:36 +02:00
vaxerski b70553cf46 opengl: fix warn 2023-07-22 19:26:56 +02:00
vaxerski 1a7fb1572a renderer: disable init anim on disabled animations 2023-07-22 19:26:44 +02:00
outfoxxed 375e8385ee
Fix background occlusion ignoring monitor position (#2771) 2023-07-22 10:19:51 +02:00
vaxerski 27dd07f1b8 windowrules: improve opacity 2023-07-21 19:05:00 +02:00
vaxerski 263b9c6e39 socket1: add a timeout for requests 2023-07-21 17:20:23 +02:00
vaxerski d7e9eb65e2 renderer: use primitive rendering for copying buffers 2023-07-21 17:11:54 +02:00
vaxerski f864b15427 background: add option to force hypr chan 2023-07-20 21:01:07 +02:00
vaxerski 61dc0909ae layout: use warp() instead of setValue() 2023-07-20 20:03:27 +02:00
MightyPlaza ca54ceff6f
groups: add use_current_group_pos (#2759) 2023-07-20 19:48:32 +02:00
vaxerski 6c1f4faff2 animationmgr: avoid looping over all avars in favor of only active ones 2023-07-20 19:26:10 +02:00
vaxerski a3f6a72a51 region: allow ctor from pixman_box32_t 2023-07-20 18:27:28 +02:00
vaxerski d2a8b8c2de renderer: cleanup back buffer skip checks 2023-07-20 18:27:14 +02:00
vaxerski 833d73df09 shaders: short-circuit rounding if radius <= 0 2023-07-20 18:18:53 +02:00
vaxerski 23eda1411b renderer: scale box for occlusion 2023-07-20 18:12:29 +02:00
vaxerski ff598b0827 renderer: don't occlude when pre-blur is queued 2023-07-20 18:03:47 +02:00
vaxerski a3e1e5e8ba tracy: add more opengl zones 2023-07-20 17:51:38 +02:00
vaxerski a921c5b89e Debug: add tracy 2023-07-20 17:47:49 +02:00
vaxerski 948855a984 renderer: add canSkipBackBufferClear 2023-07-20 14:11:05 +02:00
vaxerski 547305c7ed opengl: adjust blend and reduce the usage of clear 2023-07-20 13:49:28 +02:00
vaxerski b65adf8d4a toplevelexport: support dmabuf + various fixes 2023-07-20 12:42:25 +02:00
vaxerski 7091d4e597 animationmanager: optimize avar state 2023-07-19 22:40:03 +02:00
vaxerski 80cd2ef3d7 renderer: remove unused var 2023-07-19 21:10:42 +02:00
vaxerski 2c2314faa0 renderer: take workspace offset into account for occlusion 2023-07-19 21:08:49 +02:00
vaxerski 88c2a02773 render: avoid allocating mirrorfb for no reason 2023-07-19 21:04:45 +02:00
Vaxry 89b87158db
internal: Wrap regions (#2750) 2023-07-19 20:09:49 +02:00
vaxerski ce9896204a renderer: fix rounding in renderSurface 2023-07-19 20:06:19 +02:00
vaxerski f4f0f35c5b renderer: add occlusion for back layers 2023-07-19 16:13:55 +02:00
vaxerski aac75ddcbf screencopy: guard region buffer values in frameDamage 2023-07-19 13:10:41 +02:00
outfoxxed 5cd5631fb2
Add bringWindowToTop function to IHyprLayout (#2747)
* Add bringWindowToTop function to IHyprLayout

* Rename `bringWindowToTop` to `requestFocusForWindow`

* Fix doc
2023-07-19 12:39:45 +02:00
vaxerski b8a7b09092 screencopy: use wlr_buffer api for shm copies 2023-07-19 12:24:41 +02:00
vaxerski 81f4a4f471 screencopy: improve shm handling 2023-07-19 00:51:38 +02:00
vaxerski 2623364dbd no_xwayland: fix redef 2023-07-19 00:33:47 +02:00
MightyPlaza 3b03597784
keybinds: movegroupwindow-improvement (#2740)
* movegroupwindow-improvement

* use std::swap
2023-07-19 00:30:10 +02:00
vaxerski ce9c5fd722 render: set refresh to 0 for both wl and x11 backends 2023-07-19 00:28:15 +02:00
vaxerski f2999e84b9 render: set refresh to 0 for wayland backend outputs 2023-07-19 00:02:57 +02:00
Aaron Blasko 7c1dacea09
only return 0 when using -h (#2738) 2023-07-18 21:00:08 +02:00
vaxerski 16fd9084ea screencopy: nullcheck for empty buffer 2023-07-18 15:52:53 +02:00
vaxerski 0ba28a46fd monitor: unplug all callbacks in ~dtor 2023-07-18 15:36:27 +02:00
Vaxry 8370a7fcc4
internal: Protocol C++ Wraps + XDGOutput impl (#2733)
move to our own xdgoutput impl instead of wlr's
2023-07-18 15:30:28 +02:00
vaxerski 629e61c7a5 monitor: disconnect bind on disconnect 2023-07-18 15:22:49 +02:00
vaxerski 2e323a5671 renderer: use correct wlr sample func 2023-07-18 12:25:48 +02:00
Jan Beich 8c9e2e1ff1
deps: update wlroots (#2734) 2023-07-18 12:13:59 +02:00
István Donkó 5c8a20be77
fix: handle window change directions in fullscreen (#2728) 2023-07-18 12:12:50 +02:00
Tuur Vanhoutte d2eb4fee76
Avoid connected monitor reusing unavailable ID (#2731) 2023-07-18 12:12:05 +02:00
vaxerski 4537860079 layout: recalculate monitor instead of window in updateDynamicRules 2023-07-18 11:49:57 +02:00
vaxerski 7f47655f60 layout: recalc window on dynamic rule update 2023-07-18 00:11:43 +02:00
vaxerski 2c7b2ad6ca windowrules: add border size rule 2023-07-18 00:11:29 +02:00
MightyPlaza ddb8c89776
Allow empty args in hyprctl dispatch (#2724) 2023-07-16 21:01:06 +02:00
MightyPlaza cacdb424a9
massive-fix (#2725) 2023-07-16 21:00:38 +02:00
vaxerski 3229862dd4 xwayland: guard monitor validity in xwayland scale overriding 2023-07-15 23:10:05 +02:00
vaxerski 06563d7034 popups: update parent pos on commit 2023-07-15 18:27:21 +02:00
vaxerski 459afcc47f idle: fix reverse flag for new idle protocol 2023-07-14 20:02:31 +02:00
Lennard Hofmann 06f5910365
Make bind modmask case-insensitive (#2714) 2023-07-14 18:39:53 +02:00
MightyPlaza b159634ef9
move/resize window (#2706) 2023-07-13 20:20:40 +02:00
MightyPlaza db2367bf33
update groub decos (#2705) 2023-07-13 20:17:14 +02:00
vaxerski f8def68e7e idle: implement new protocol 2023-07-13 18:05:34 +02:00
vaxerski 9f7382bca4 keybinds: add movegroupwindow 2023-07-13 17:55:25 +02:00
Daniel Adolfsson d3a644d81c
Dwindle: Make resize more intuitive (#2681)
* improved resize

* clang-format

* rewrite

* almost legacy behavior when using CORNER_NONE
2023-07-13 16:52:11 +02:00
vaxerski 70dae78c1b background: add mascot versions 2023-07-13 14:32:30 +02:00
zakk4223 21f64b6660
Keep new mapped layer's alpha zero if the workspace has a fullscreen window (#2686)
Co-authored-by: Zakk <zakk@rsdio.com>
2023-07-12 12:58:45 +02:00
vaxerski 7a7e3ee6d9 screencopy: don't send frames on commits w/o a buffer 2023-07-12 00:30:42 +02:00
vaxerski 9c9f56743e groupbar: fix vram leak 2023-07-11 20:57:38 +02:00
Daniel Adolfsson 64e7d5345d
Add support for smart splitting (#2676)
* Add support for smart splitting

* clang-format

* smart_split default to 0, and make smart_split behave like preserve_split
2023-07-11 13:37:25 +02:00
MightyPlaza 29d017f54b
monitor desc default workspace but working now (#2678)
* fix desc check

* fixes crashes when nulptr
2023-07-11 11:29:19 +02:00
vaxerski 26579fa962 texture: fix styling 2023-07-11 00:27:13 +02:00
vaxerski 0c61a1530f plugins: fix config value usage in init 2023-07-10 14:13:23 +02:00
vaxerski da7ea2b33d pluginapi: add configReloaded event 2023-07-10 13:54:06 +02:00
vaxerski 382af06406 render: resize subsurfaces with size resizes 2023-07-10 13:32:57 +02:00
vaxerski 515a363ecd render: move lastFrameDamage to CMonitor 2023-07-10 13:21:00 +02:00
vaxerski fe54dcb4eb screencopy: send original damage, avoid extents 2023-07-10 13:17:21 +02:00
vaxerski 42f46aeac5 config: minor path handling fixes 2023-07-10 13:10:34 +02:00
MightyPlaza 4cc0e6de90
monitor desc default workspace (#2673) 2023-07-10 07:53:03 +02:00
MightyPlaza d9f7f039e1
monitor desc support (#2670)
* monitor desc

* monitor desc
2023-07-09 23:10:35 +02:00
Tuur Vanhoutte b99ac063ea
Reuse same ID when reconnecting monitor, otherwise use minimum available ID (#2666)
Fixes #2601
2023-07-09 23:08:40 +02:00
vaxerski b33d82734f input: schedule frame on mouse move 2023-07-09 00:44:32 +02:00
Ed Younis f49af187bc
Xdg config home support (#2047)
* config: Add support for XDG_CONFIG_HOME

Contributes-to: #1040
Co-authored-by: Björn Bidar <bjorn.bidar@thaodan.de>
Signed-off-by: Björn Bidar <bjorn.bidar@thaodan.de>

* config: Log used config file

* config: Add GetConfigDir and minor fixes

* config: fixed minor nitpicks

---------

Signed-off-by: Björn Bidar <bjorn.bidar@thaodan.de>
Co-authored-by: Björn Bidar <bjorn.bidar@thaodan.de>
2023-07-07 19:19:35 +02:00
vaxerski e632bf176b config: fix reading touchpad values to non-touchpad per-device cfgs 2023-07-06 16:26:38 +02:00
Mykola Perehudov 41358c6fb5
Cleanup compositor deadcode (#2657)
* Remove dead code as it is a part of CCompositor::cleanup

* Unify sd_notify logic with Compositor lifetime
2023-07-06 15:24:49 +02:00
Mykola Perehudov bbedb065e1
eventmanager: drop obsoleted ignore events flag (#2660)
This flag became obsoleted in commit
287e6c4ede
2023-07-06 15:23:11 +02:00
Mykola Perehudov 0c974b7236
Avoid passing control unix socket descriptors to children (#2656)
Add SOCK_CLOEXEC flags to server side connection FDs to make them
closed during execve(2).
2023-07-06 11:39:02 +02:00
nexec 8407a9af0a
Close socket2 client descriptor on hangup (#2654) 2023-07-06 00:18:44 +02:00
vaxerski 86e487e003 input: remove old redundant code 2023-07-05 13:20:40 +02:00
MightyPlaza 34d845da13
typo (#2643) 2023-07-04 22:03:19 +02:00
vaxerski 07d7962c7f swipe: fix mixup of r/m 2023-07-04 12:34:22 +02:00
vaxerski 18f9fb5e0f rules: add stayfocused 2023-07-04 12:05:25 +02:00
vaxerski 6f91997f06 layout: improve time restraints in window drag 2023-07-04 11:49:24 +02:00
MightyPlaza 283a8e77aa
screenshot fix (#2640) 2023-07-04 11:40:28 +02:00
MightyPlaza 50755d26d4
lockgroups fix (#2636) 2023-07-03 15:53:04 +02:00
MightyPlaza 05047f60f4
groupbar fixes (#2630)
Fixes multiple groupbar decoration issues:

  -  togglegroup removes fullscreen to avoid to avoid weird state
 -   fixes issue where a group had multiple windows with head = true
 -   fixes issue where merging 2 groups would cause a window to have 2 groupbar decorations
  -  fixes issue where merging a group with more than 1 window into another group would make windows have no groupbar decoration
  -  fixes issue where ungrouping windows could just move them into another group on the same workspace


---------

Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
2023-07-03 12:49:56 +02:00
vaxerski 738ec900f4 config: fix floating rules with floating-by-rule windows 2023-07-02 13:02:48 +02:00
vaxerski 86ca283352 gestures: add workspace_swipe_use_r 2023-07-01 16:30:36 +02:00
vaxerski 6c28388420 layout: minor style fixes 2023-07-01 16:28:17 +02:00
vaxerski e96fcb31f0 layout: set pseudo to float size in new window 2023-06-30 11:29:06 +02:00
vaxerski 1012e2735a shader: remove useless comment 2023-06-29 23:20:10 +02:00
MightyPlaza 990ad854bd
Reloads animated decoration values set on window rules (#2594)
* Reloads dynamic window rules

* Update ConfigManager.cpp

* Update ConfigManager.cpp

* Reloads animated decoration values set on window rules

Reloads animated decoration values like border color and opacity set on window rule on config reload.
2023-06-28 11:40:16 +02:00
Vaxry d83296c7a9 renderer: damage decos on damageWindow 2023-06-27 13:23:58 +02:00
MightyPlaza 7ed66abe57
Reloads dynamic window rules (#2585)
* Reloads dynamic window rules

* Update ConfigManager.cpp

* Update ConfigManager.cpp
2023-06-26 13:03:51 +02:00
Vaxry 4294456cdc xwayland: remove spaces from output names 2023-06-25 13:52:24 +02:00
Vaxry 01f85a09a9 xwayland: send zero scaling to xwayland if enabled 2023-06-23 21:42:44 +02:00
Vaxry 69fae18e63 damage: account for popups in getFullWindowBoundingBox 2023-06-23 13:54:01 +02:00
Vaxry c241da5ea5 crashreporter: log tag 2023-06-23 13:22:38 +02:00
Vaxry 0283c498d6 xwayland: fix minor force_zero_scaling bugs 2023-06-22 21:43:31 +02:00
Vaxry fc59cef1ee keybinds: remove old todo 2023-06-21 21:20:26 +02:00
Vaxry 2f875aec79 includes: move workspace protocol header to includes 2023-06-21 21:17:05 +02:00
Vaxry cfa4086b0b configmgr: fix idiotic comparisons in device configs 2023-06-21 20:58:35 +02:00
Vaxry cbe9bf0e69 compositor: move group members properly in moveWindowToWorkspaceSafe 2023-06-21 20:51:18 +02:00
Vaxry 83ad6b9af8 groupbar: fix damage calcs 2023-06-21 13:16:10 +02:00
Vaxry cabdf38ce4 internal: minor style fixes 2023-06-20 21:35:54 +02:00
Vaxry 2295bbdd80 xwaylandmanager: fixup style 2023-06-18 18:14:52 +02:00
Shemig 74ca81cc79
Partial revert of Commit 302ec13: (#2539)
Fix crash when screen size is 0x0 (#2523)

Reason: The disable of a monitor with 0x0 size
is causing issuses with some users.

https://github.com/hyprwm/Hyprland/issues/2537

Left the defensive code to resolve the crash.
Will continue to investigate and find a solution for the
dell xps disabled monitor

Co-authored-by: giladsx <gilad@spectalix.com>
2023-06-17 18:49:37 +02:00
vaxerski 5ac625d7bd format: fix hooksystem 2023-06-16 18:45:14 +02:00
Shemig 302ec1372c
Fix crash when screen size is 0x0 (#2523)
(When booting into laptop clam mode in dell XPS)
and also ignore any screen with size 0x0 in the first place

Co-authored-by: giladsx <gilad@spectalix.com>
2023-06-15 22:07:58 +02:00
vaxerski c4dec4f796 internal: damage window on change group 2023-06-14 19:44:51 +02:00
vaxerski 0f1911a8d4 opengl: fix invalid tex references to tex-less shader 2023-06-14 13:47:57 +02:00
vaxerski e43f7fc98d shader: init uniforms to -1 2023-06-14 13:29:12 +02:00
vaxerski fbabb105c3 gamma: use wlr's new gamma manager event 2023-06-14 13:26:47 +02:00
outfoxxed f0e4f6622e
Implement pass binds (#2503)
* Implement pass binds

Pass binds run the associated dispatcher but do not prevent windows
from receiving the bind.

* Fix pass binds not working properly with release binds

* Rename `pass` to `nonConsuming`
2023-06-14 13:08:56 +02:00
JManch 9a88c19f1a
screenshader: fix uniform variable checks (#2513) 2023-06-14 13:03:20 +02:00
vaxerski 7762ac0173 toplevelexport: ignore defunct windows 2023-06-13 20:13:21 +02:00
vaxerski e8c6d0f51e compositor: don't set dim percent on disabled dim 2023-06-13 18:51:49 +02:00
vaxerski 807b52b019 animationmgr: warp on equal start and goal 2023-06-13 18:50:45 +02:00
vaxerski 0e31eaa157 shadow: drop useless damageEntire() 2023-06-13 18:50:45 +02:00
memchr 24ed9b061f
feat: add variable to customize locked group border color (#2507)
added variables:
- general:col.group_border_locked
- general:col.group_border_locked_active
2023-06-13 12:04:54 +02:00
Vaxry 6beb79f27b xwayland: add force_zero_scaling 2023-06-11 21:52:13 +02:00
Vaxry 64ce06a353 xwayland: add nearest neighbor filtering as an opt 2023-06-11 21:33:59 +02:00
end-4 e1edfde539
Allow setting alpha value for ignorezero layer rule (#2477)
* rename ignorezero to ignorealpha

* allow setting ignorealpha value

This commit allows setting a float value (0-1) for the ignorealpha layer rule.
Does not yet have error handling; invalid ignorealpha layer rule will crash Hyprland.

* add brackets i forgot to add

* prevent crash with invalid ignorealpha value

prevents hyprland from immediately crashing with invalid ignorealpha layer rule
does not log

* don't try to set ignoreAlphaValue if alpha value not specified

* add catch to try, reintroduce ignorezero

- added catch after try cuz i was an idiot
- re-add ignorezero as an alternative to ignorealpha to not introduce a breaking change

* add logging for failed ignorealpha layer rule

* fix get ignorealpha's get VALUE

* check npos and use empty()

* rename VALUE cuz no longer const

* format Shader.hpp
2023-06-11 19:30:31 +02:00
Nicola Guerrera 10fd75c833
zoom: multiply by scale only on mouseZoomUseMouse (#2495) 2023-06-10 23:00:41 +02:00
Vaxry 7932e42507 screenshader: add output uniform 2023-06-10 16:10:26 +02:00
Nicola Guerrera 003993337a
calculate zoom_center based on monitor scale (#2482) 2023-06-10 12:28:00 +02:00
memchr bca3068db2
feat: add lockactivegroup dispatcher (#2478)
* feat: add lockactivegroup dispatcher

The `lockactivewindow` dispatcher takes `lock`, `toggle` or `unlock` as arguments. When a group is locked, no window or group can be added to it, nor can it be added to another group, but the `moveintogroup` and `moveoutofgroup` dispatches are not affected.

Implementation details:

the lock is implement via `SGroupData.locked` flag (defaults to false).

The flag is only relevant to the group head, and upon the group head's succession, the flag will be passed down to the new head. Meanwhile, the old head's flag will be set to false.

The flag is set to false when a group is dismissed.

New condition checks have been added to the dwindle and master layout to check if target group is unlocked (and if the source is also a group and unlocked) before adding windows to the target group.

* refactor: `lockactivegroup dispatcher code ordering
2023-06-09 23:44:18 +02:00
Vaxry cf37922d42 input: update surface input on changeworkspace 2023-06-09 12:20:40 +02:00
eriedaberrie d123835ef5
main: fix segfault when -c is given with no other arguments (#2470) 2023-06-09 12:15:18 +02:00
Franz Berger 4afeedbd56
Fix fractional scale updates in some cases (#2447)
* fix fractional scale update in moveWorkspaceToMonitor

* fix fractional scale update in moveToWorkspace

* Revert "fix fractional scale update in moveWorkspaceToMonitor"

This reverts commit 6612197a38.

* Revert "fix fractional scale update in moveToWorkspace"

This reverts commit 75d9795a06.

* move fractional scale code to updateSurfaceOutputs

* remove duplicate check

* remove superfluous setPreferredScale()
2023-06-06 09:48:07 +02:00
Vaxry 10db5a4fdb xwayland: disconnect events on destroy
thanks Kirill Primak
2023-06-05 20:51:47 +02:00
Vaxry 1a4e6e6a4b window: recalc on deco remove 2023-06-05 09:49:21 +02:00
staz e4e6ddb075
Make movetoworkspace register previous workspace (#2436)
* Make movetoworkspace register previous workspace

* style: no braces + format with clang-format
2023-06-05 09:44:13 +02:00
Vaxry 4ef684f615 hyprctl: recalc layout on setprop 2023-06-04 21:35:23 +02:00
Vaxry 2629cfeeab layouts: make aware of borderSize prop 2023-06-04 21:35:23 +02:00
Vaxry d83e5b8409 internal: make borderSize prop overridable 2023-06-04 21:35:23 +02:00
Vaxry c5a7202cd9 noxwl: add missing stubs 2023-06-03 13:01:32 +02:00
Vaxry 147e962370 deps: update wlroots 2023-06-03 12:20:28 +02:00
Cyril Levis d7db7040d4
feat: add ipc set title window event (#2419)
* feat: add ipc set title window event

* chore: add EMIT_HOOK_EVENT and change event name
2023-06-03 11:18:49 +02:00
Vaxry 871ab24c6e internal: properly set monitor props on special windows 2023-06-02 20:14:34 +02:00
Vaxry ce0f248d20 events: remove old comment 2023-06-02 19:50:02 +02:00
Sinkerine ca3791fed8
[hyprctl] Expose the special workspace id and name of the monitor (#2392)
* [hyprctl] Expose the special workspace id of the monitor

So that we know if a special workspace is shown on a monitor

* [hyprctl] Add special workspace name to the output
2023-06-02 13:25:33 +02:00
Vaxry e76bd43f53 rules: add nodim 2023-05-31 21:11:20 +02:00
Vaxry baf81cdc5d input: force focus on movefocus 2023-05-31 20:59:38 +02:00
Vaxry 9f72d508ae groupbars: fix damage calcs 2023-05-31 19:53:58 +02:00
Vaxry fd73a7f795 gradient: fix warn 2023-05-31 15:55:54 +02:00
vaxerski a7cfbdb854 keybinds: fix tryMoveFocusToMonitor with special 2023-05-29 18:11:37 +02:00
vaxerski 1e3571eb5b layout: don't reset to floating size on drag tiled 2023-05-29 18:05:41 +02:00
vaxerski 5484411232 compositor: disallow sending pinned to special 2023-05-29 17:46:12 +02:00
Jan Beich f1ad270ff8
vector: restore cmath include after 438d063ec6 (#2394)
src/helpers/Vector2D.cpp:27:26: error: no member named 'floor' in namespace 'std'
    return Vector2D(std::floor(x), std::floor(y));
                    ~~~~~^
src/helpers/Vector2D.cpp:27:41: error: no member named 'floor' in namespace 'std'
    return Vector2D(std::floor(x), std::floor(y));
                                   ~~~~~^
src/helpers/Vector2D.cpp:37:17: error: no member named 'sqrt' in namespace 'std'
    return std::sqrt(dx * dx + dy * dy);
           ~~~~~^
2023-05-29 15:12:00 +02:00
Jeremy Huang b3a86952cf
focus: fix #1675 window not scrollable after movefocus (#2390) 2023-05-29 09:52:36 +02:00
outfoxxed 409ff027f8
Fix UAF in animation end callback if callback deletes the animation (#2389)
Removes use after free when the end callback deletes the animation as
long as `m_bRemoveEndAfterRan` is false.
2023-05-29 09:51:58 +02:00
vaxerski 438d063ec6 vector: use c++ stdlib math functions instead of cmath 2023-05-28 22:50:13 +02:00
vaxerski 078ba6daa8 groupbars: add text color opt 2023-05-27 17:46:02 +02:00
Jeremy Huang 8afc2f45c7
focus: make cursor follow movewindow (#2374) 2023-05-27 12:16:50 +02:00
vaxerski 5f4659afef xdgshell: check and conform to rigid float sizes on commit 2023-05-26 14:49:03 +02:00
vaxerski 0887e2ee6e window: reveal current from group on toplevel activate 2023-05-26 13:44:59 +02:00
vaxerski 62e3953f5b master: guard monitor in recalc 2023-05-26 13:41:52 +02:00
vaxerski 9c9b74179c pluginapi: add separate window render events 2023-05-26 13:07:45 +02:00
vaxerski a2bb95fc60 touch: fix double offset in local 2023-05-24 22:19:22 +02:00
vaxerski 12227d7b6a input: only configure newly added touch devices 2023-05-24 22:17:33 +02:00
vaxerski a4c120d608 layouts: ignore direction forces on non-map 2023-05-24 19:23:10 +02:00
eriedaberrie 53285a75ad
hyprctl: fix cut-off json outputs (#2352)
* hyprctl: fix cut-off json outputs

* Address comments
2023-05-24 17:46:56 +02:00
vaxerski f877d68f4f launchanim: fix #2291 2023-05-24 15:49:31 +02:00
vaxerski eb1f832fce decos: recalc on add 2023-05-23 14:26:38 +02:00
vaxerski 799add8659 groupbars: fix reserved area on titles 2023-05-23 14:18:26 +02:00
vaxerski 90cb5fb672 groupbars: make gradients toggleable 2023-05-22 22:07:32 +02:00
vaxerski d1ec314a03 groupbars: conserve VRAM by staticizing textures 2023-05-22 22:06:40 +02:00
vaxerski 7bcc01efb7 groupbars: fix minor alignment issues 2023-05-22 21:43:37 +02:00
vaxerski 206ac000b9 groupbars: add title and gradient rendering 2023-05-22 21:40:32 +02:00
vaxerski 1eb6cfd45c groupbar: make exclusive 2023-05-22 20:52:41 +02:00
vaxerski 088b4a68e6 moveActiveToWorkspace: update last window of old ws 2023-05-22 19:44:10 +02:00
vaxerski 086f724951 wlr_ext_workspaces: honor activate from client + format 2023-05-22 19:36:47 +02:00
Russell Greene ad244190e0
1483: fix crash on last display disconnect (#2344) 2023-05-22 12:18:07 +02:00
maqrrr 9f8c5cb63c
Fix broken pipe crash when event listener terminates (#2339) 2023-05-21 14:38:18 +02:00
Vaxry 5627b70981 input: reset cursor hide timer on tablet 2023-05-20 21:15:21 +02:00
Anthony Ruhier d7935356da
input: don't move monitor focus on wp change (#2320) 2023-05-17 13:32:59 +01:00
Anthony Ruhier 9ef7225532
don't swap workspaces if monitors are the same (#2322)
Return swapActiveWorkspaces early if MON1 and MON2 are equals, to avoid
buggy behavior.
2023-05-17 13:31:03 +01:00
outfoxxed 642030f959
Fix not finding function symbols for hooking (#2292)
Fixes no useful feedback about failing subcommand.
Fixes function hooks breaking when running under a path containing
spaces.

Replaced old usages with this function where possible.
Complex shell usages now use `execAndGetShell` which is equal to the
old function.
2023-05-16 23:39:14 +03:00
Eric_Luo b5b9af508a
bug fix (#2314)
fix float check logic

Co-authored-by: hnboy <hnywolf@gmail.ccom>
2023-05-16 17:43:04 +01:00
vaxerski d68f8ea668 internal: make CAnimatedVariable non-move non-copy 2023-05-16 12:49:59 +01:00
vaxerski 5b84b0fb44 animationmgr: allow empty avars 2023-05-15 17:11:51 +01:00
vaxerski 824813fc6a internal: remove check for negative exact vector args 2023-05-15 15:16:06 +01:00
vaxerski 7c207243e4 input: check for matrix availability in touch config 2023-05-14 13:54:55 +01:00
vaxerski b748b0734f input: don't refocus on closed window 2023-05-14 13:47:43 +01:00
vaxerski 896a78aaa0 lock: add allow_session_lock_restore 2023-05-13 12:36:36 +01:00
vaxerski cc01550aff hyprctl: recalc layout on dynamic workspace 2023-05-12 01:16:27 +01:00
vaxerski 413a36a914 workspacerules: overwrite on existing 2023-05-12 01:15:32 +01:00
vaxerski 86ef85efae layershell: don't enter on unmapped ls 2023-05-12 01:07:46 +01:00
vaxerski f2725a374a render: minor fixes to fullscreen rendering 2023-05-10 18:36:13 +01:00
vaxerski 7fde80f38e layers: fix wonky focus on multimon 2023-05-09 17:01:18 +01:00
vaxerski cc4ccfdbfd internal: use i64 for workspaces in outofbounds 2023-05-09 14:08:05 +01:00
Andrei Alexeyev 2f87e4c2f3
renderer,config: add custom DRM modeline support (#2254)
This allows specifying custom display resolutions for the DRM backend.
This is useful for display overclocking, working around broken EDIDs,
etc. To use this feature, specify a modeline instead of a resolution
in the config, for example:

    monitor = DP-1, modeline 1071.101 3840 3848 3880 3920 2160 2263 2271 2277 +hsync -vsync, 0x0, 1

This example is a custom 3840x2160@120Hz mode with tightened timings.
I use it because the standard timings don't work with my monitor and GPU
combination (M28U with RX580).

The syntax is compatible with Sway and Xorg.
2023-05-09 14:01:45 +01:00
vaxerski e7c2ea9724 layershell: focus if changed keyboard mode 2023-05-08 19:12:01 +01:00
scorpion-26 826dc61e5c
Add "next on monitor or empty" workspace parameter (#2198)
* Add "next on monitor or empty" workspace parameter

Implements the following workspace parameter:
r+x/r-x (i.e. r+1): Behaves similar to the "m" parameter, but can also
select empty workspaces and it doesn't wrap around

* Improve code comments

* Implementation V2 for 'r' workspace param

* Rebase to upstream

Should fix CI

* Always set outName

* Include named workspaces

Currently only considers open/active named workspaces
2023-05-08 14:37:59 +01:00
vaxerski a31dceb2c6 includes: remove redundant from screencopy 2023-05-07 00:11:33 +01:00
vaxerski 1ba7a09bf6 includes: use libdrm prefix for include 2023-05-07 00:11:01 +01:00
vaxerski afe8d8dfec monitors: fix some bugs with re-plug 2023-05-06 16:50:15 +01:00
dtop129 7e5ba5e824
Fixed wrong focus changes when moving background workspaces (#2258) 2023-05-06 16:13:26 +01:00
vaxerski 83cd5e2ebd workspaces: minor fixes for multi-special 2023-05-06 16:10:51 +01:00
vaxerski 7f0738bcb3 varlist: allow using s for std::isspace 2023-05-06 01:16:20 +01:00
vaxerski 583b8842e7 configmanager: fix substr offset in default ws rule 2023-05-06 01:10:05 +01:00
Dashie a8541d5f64
Add split preselection (#2240) 2023-05-06 01:02:18 +01:00
vaxerski 4ad03af544 compositor: don't focus pointer in focusWindow 2023-05-06 00:59:25 +01:00
vaxerski 0859944c9a input: add custom accel profiles 2023-05-05 16:06:13 +01:00
vaxerski c0be1e2fd8 configmanager: remove useless log from handleWorkspaceRule 2023-05-05 15:42:02 +01:00
vaxerski 7b73a332ea configmanager: deprecate bindws 2023-05-05 15:41:25 +01:00
vaxerski a5d63a0324 configmanager: store workspace rules as a deque 2023-05-05 15:33:31 +01:00
vaxerski 8435d6fc12 monitors: toggle special on changeworkspace with special 2023-05-05 15:01:31 +01:00
vaxerski bf04c83e3d config: clear layer rules on reload 2023-05-04 18:28:45 +01:00
scorpion-26 c3b9326ba1
Honor debug:enable_stdout_logs on startup (#2197)
* Honor debug:enable_stdout_logs on startup

disableStdout is set via config in CConfigManager::init(), which is
called early in CCompositor::initServer(). initServer() always disables
stdout logs at the end though, even when stdout is enabled is config. With this commit,
the config is respected.

* Don't spam stdout message
2023-05-03 16:08:01 +01:00
vaxerski fd3e6a3bfd workspaces: restore monitor on re-plug 2023-05-03 15:15:56 +01:00
vaxerski 0155b85950 rules: fix monitor rule with names 2023-05-03 14:58:51 +01:00
jacekpoz a663823af2
only ignore no_gaps_when_only when the workspace rule specifies a border (#2217)
Co-authored-by: jacekpoz <jacekpoz@cock.li>
2023-05-03 14:48:46 +01:00
vaxerski 72b118cd8f opengl: don't use new optim with xray off on special tiled 2023-05-02 21:23:53 +01:00
vaxerski 79791c9ed4 internal: fix -Wsign-compare and -Wunused-variable warnings 2023-05-02 14:53:31 +01:00
Yavor Kolev ac3edec14b
Add `activeworkspace` hyprctl command (#2202)
* Add `activeworkspace` hyprctl command

* fix format in hyprctl

* Make stuff more shared in workspace hyprctl

---------

Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
2023-05-02 14:51:52 +01:00
vaxerski cde7f79af0 xwayland: allow initial focus to dialogs 2023-05-02 14:44:21 +01:00
levnikmyskin c949173bc9
Added some workspace-specific rules (#1986)
* added some workspace-specific rules

* added some worskpace-specific rules, with windowrule like syntax

* monitor is not mandatory anymore

* pointers to config are now static

* fixed optional WorkspaceRule fields

* Windows can now specify border size

* removed CHyprOpenGLImpl::renderBorder borderSize default value

* stuff

---------

Co-authored-by: Alessio Molinari <alessiomolinari@gmail.com>
Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
2023-05-01 22:28:27 +01:00
Jan Beich 250d5cf78c
config: add missing header for libc++ after 3a631e40db (#2208)
src/config/ConfigManager.cpp:1980:27: error: implicit instantiation of undefined template 'std::basic_stringstream<char>'
        std::stringstream error;
                          ^
/usr/include/c++/v1/iosfwd:134:32: note: template is declared here
    class _LIBCPP_TEMPLATE_VIS basic_stringstream;
                               ^
2023-05-01 22:24:51 +01:00
vaxerski 45b1e6dc5e keybinds: simulate workspace switch on focusWindow to another ws 2023-05-01 15:39:08 +01:00
vaxerski d6b069458d input: don't refocus on dragging 2023-05-01 15:15:55 +01:00
outfoxxed 3a631e40db
Declarative plugin management (#2180)
* Declarative plugin management

Allow declaring `plugin` entries in the hyprland configuration.

Plugins will be loaded if an entry is added and unloaded if that entry
is removed.

* Replace pointers with copying in updateconfigPlugins

* Include which plugin was declared twice in error
2023-05-01 15:10:53 +01:00
vaxerski 11b7ce14f8 renderer: fix misused size -> transformed size 2023-05-01 02:53:43 +01:00
vaxerski ddfeebad3d Renderer: add init animation 2023-05-01 02:49:41 +01:00
vaxerski 02312cac59 renderer: more checks for background LS optimizations 2023-04-30 01:15:51 +01:00
vaxerski 6501bceb42 workspace: don't check LS-es in startAnim 2023-04-30 01:13:58 +01:00
vaxerski 3580f845e6 monitor: update fullscreen fade on workspace change 2023-04-30 01:12:20 +01:00
vaxerski b7e69be51e windows: check for fullscreen after rules 2023-04-30 01:01:47 +01:00
scorpion-26 fdb772832f
Keep fullscreen mode in moveWindowToWorkspaceSafe (#2191)
Moving a maximised window would always result in the window being
fullscreen instead of maximised
2023-04-29 23:39:09 +01:00
vaxerski 5a3e3deb33 internal: warp workspace on change only if old mon is last 2023-04-29 13:32:59 +01:00
vaxerski 2946221195 renderer: fix fadingout render on fs 2023-04-29 13:29:32 +01:00
vaxerski fbb938fcf2 internal: don't change ws on active swap 2023-04-28 21:40:44 +01:00
vaxerski dbb6d9d174 rules: add noinitialfocus 2023-04-28 15:36:08 +01:00
vaxerski 5ce76cd0b0 internal: add tag to version, send hash in release ci 2023-04-27 14:28:40 +01:00
vaxerski 1a1656ddbf Revert "internal: include headers from protocols/"
This reverts commit 550700bed0.

We can't cuz meson
2023-04-27 13:55:13 +01:00
vaxerski 550700bed0 internal: include headers from protocols/ 2023-04-27 13:40:38 +01:00
vaxerski 4a1fb3e903 keybinds: fix move to named 2023-04-26 16:58:58 +01:00
vaxerski 28ca434fb5 Revert "input: make overlay layers precede constraints"
This reverts commit 1e526411b6.

Issues with input
2023-04-25 21:50:24 +01:00
vaxerski 1e526411b6 input: make overlay layers precede constraints 2023-04-25 17:02:20 +01:00
outfoxxed 849d657595
Window resizing for pseudotiled windows (#2140)
* Window resizing for pseudotiled windows

* Use `m_vRealSize` to determine scaled window size
2023-04-25 16:53:18 +01:00
vaxerski bf27066fd7 IHyprLayout: add missing static modifiers to config vars 2023-04-25 16:53:01 +01:00
vaxerski 1f80154823 layouts: add missing static modifiers to config vars 2023-04-25 16:49:06 +01:00
outfoxxed f40272d509
Add follow mouse mode to avoid refocusing under cursor (#2135)
* Add follow mouse mode to avoid refocusing under cursor
2023-04-25 16:00:34 +01:00
vaxerski e195a51cd4 internal: update fullscreen fade on workspace move 2023-04-24 23:23:12 +01:00
vaxerski 247ff4e60d internal: improve fullscreen fade 2023-04-24 23:21:51 +01:00
vaxerski eb570c88e6 screencopy: clamp damage to framebuffer 2023-04-24 20:01:44 +01:00
Tyler Schneider 67c73ec100
Fixed a crash when waking up monitors in power-saving mode (#2139) 2023-04-23 22:28:18 +01:00
Jan Beich f7579fc923
internal: unhardcode sun_path size after a6cfe70428 (#2137)
hyprctl/main.cpp:83:5: warning: 'strncpy' size argument is too large; destination buffer has size 104, but size argument is 107 [-Wfortify-source]
    strncpy(serverAddress.sun_path, socketPath.c_str(), 107);
    ^
hyprctl/main.cpp:146:5: warning: 'strncpy' size argument is too large; destination buffer has size 104, but size argument is 107 [-Wfortify-source]
    strncpy(serverAddress.sun_path, socketPath.c_str(), 107);
    ^
src/managers/EventManager.cpp:70:9: warning: 'strncpy' size argument is too large; destination buffer has size 104, but size argument is 107 [-Wfortify-source]
        strncpy(SERVERADDRESS.sun_path, socketPath.c_str(), 107);
        ^
2023-04-23 21:20:29 +01:00
mekb fbcbe947da
Added moveCursor dispatcher (#2100)
* Added moveCursor dispatcher

* fix error message for moveCursor
2023-04-23 19:50:53 +01:00
vaxerski 97b0368765 xwayland: crude fix for qt dnds 2023-04-22 22:20:48 +01:00
vaxerski c0f4e9f52e internal: moveToWorkspace before setting ws 2023-04-22 21:13:06 +01:00
vaxerski 49fb4cd94d renderer: improvements to layer render detection 2023-04-22 12:54:57 +01:00
vaxerski 1911e4262b renderer: skip rendering bottom layers on fullscreen opaque 2023-04-22 12:36:54 +01:00
q234rty d366fc48b8
Remove wlr_output_damage.h (#2121)
This is [removed](9ef98452a3) upstream and hyprland wasn't using it anyway.

This alone will probably not fix the CI but this will allow to clean build hyprland in many configurations.
2023-04-21 18:28:51 +01:00
vaxerski 7b5b4a1049 crashReporter: log on crash 2023-04-21 16:48:36 +01:00
vaxerski d03dcc3d99 deps: update wlroots 2023-04-21 15:42:08 +01:00
outfoxxed 2df0d034bc
Fix dragging cursor being forced on fullscreen windows (#2115)
Fix two edge cases causing the dragging mouse cursor to be forced on
fullscreen windows:
- hovering over a window border and running the fullscreen dispatcher
- moving mouse focus from a monitor with the resize cursor set to a
different monitor with a fullscreen window
2023-04-21 13:36:55 +01:00
vaxerski 510db64860 hyprctl: allow spaces in cursor themes 2023-04-20 23:59:31 +01:00
vaxerski b15803510c input: improve mouse release conditions 2023-04-20 00:46:42 +01:00
vaxerski f914a5a06d input: release mouse buttons before refocuses 2023-04-19 21:36:08 +01:00
q234rty 6225591dbd
Fix apps requesting fullscreen (#2099)
Otherwise e446db02f6 breaks fullscreening of image previews for nheko/telegram-desktop/...
2023-04-19 13:26:27 +01:00
DB e446db02f6
Add windowrule fakeFullScreen (#2043)
Co-authored-by: xVermillionx <xVermillionx@notvalid>
2023-04-18 21:59:08 +01:00
vaxerski a4330fe378 misc: scan ppids in exec rules 2023-04-18 11:48:56 +01:00
vaxerski 716d713b04 pluginAPI: add note about API expansion 2023-04-17 23:49:42 +01:00
vaxerski 1c50a11688 opengl: keep current rendered workspace in renderData 2023-04-17 23:47:12 +01:00
vaxerski 385fe4e301 events: add render event for plugins 2023-04-17 23:45:03 +01:00
vaxerski 412d46ff65 monitors: set special monitor ID on open 2023-04-17 22:58:59 +01:00
vaxerski ae82c3a639 screencopy: improve consistency of share indicator 2023-04-17 22:57:24 +01:00
vaxerski b4f75525d9 pluginAPI: make symbols static 2023-04-17 18:39:40 +01:00
vaxerski 8b3d8dc792 Format: use %lx for all addresses 2023-04-17 17:35:28 +01:00
vaxerski 5cb5b628b8 crashReporter: fix invalid format string 2023-04-17 17:32:07 +01:00
vaxerski a6cfe70428 internal: avoid buffer overflows with socket paths 2023-04-17 16:38:52 +01:00
vaxerski b6a7be7663 dispatchers: fix movetoworkspace with bound ws-es 2023-04-17 16:09:46 +01:00
Vaxry 25f14294a8 formats: fix endian ifdef 2023-04-17 15:36:49 +01:00
vaxerski 7c36a3e167 internal: move workspace special check higher in changeWorkspace 2023-04-17 13:32:35 +01:00
vaxerski 785fc8d669 dispatchers: fix missing log param 2023-04-17 13:30:37 +01:00
vaxerski c62ab1bee7 internal: use setSpecialWorkspace on destroy in sanityCheck 2023-04-16 21:33:28 +01:00
vaxerski f80f4f3194 dispatchers: fix named ws-es on changeworkspace 2023-04-16 21:32:32 +01:00
vaxerski b05ff89c76 Render: add cursor_zoom 2023-04-16 14:48:38 +01:00
vaxerski 28dfe21584 blur: fixup optimization bool 2023-04-16 14:18:02 +01:00
dann-merlin c86f06caa0
Fix possible usage of clamp with lo > hi in Vector2D (#2049) 2023-04-16 01:27:14 +01:00
vaxerski afc887d941 monitor: recalc layout on switched ws 2023-04-16 01:11:57 +01:00
vaxerski edad24c257 Screencopy: unify frame and client between impls + event
Adds a new event to both hooks and ipc: screencopy
2023-04-15 23:43:41 +01:00
vaxerski 12604b7676 compositor: ignore contraints on warp in moveWorkspaceToMonitor 2023-04-15 21:27:11 +01:00
Jan Beich 63841c8aac
Disable systemctl when built without systemd support (#2066)
/bin/sh: systemctl: not found
2023-04-15 20:03:09 +01:00
vaxerski 8944db49be swallow: fix invalid regexes with empty vals 2023-04-15 19:15:59 +01:00
vaxerski 4c4fcc128b input: fix ls focus in non-input area 2023-04-15 16:53:31 +01:00
vaxerski d6c4ae71d0 damage: fix damage on moves / workspace changes 2023-04-15 16:16:33 +01:00
vaxerski a6d94eafba tick: don't tick on invalid session 2023-04-15 12:45:25 +01:00
vaxerski 29fc410a8f crashReporter: avoid segfault in deref plugin system 2023-04-15 10:58:46 +01:00
vaxerski 83f1616a65 keybinds: minor adjustments to workspace 2023-04-14 17:51:10 +01:00
vaxerski 7ec23254fd workspace: don't lose monitor with refocus on no warps 2023-04-14 17:03:12 +01:00
vaxerski c2b5dd1be6 keybinds: only warp on different monitor ws 2023-04-14 16:22:55 +01:00
vaxerski 727160f0a4 workspaces: fixup workspaces not activating on workspace switch 2023-04-14 15:28:22 +01:00
vaxerski 3f2a18a435 keybinds: remove old comment 2023-04-14 15:16:59 +01:00
vaxerski e329bc2c7b renderer: fix incorrect shouldRenderWindow calcs 2023-04-14 15:16:43 +01:00
vaxerski 8dd0c4fe74 workspaces: deactivate all on monitor switch 2023-04-14 15:08:27 +01:00
vaxerski cf7c5e4dff misc: fix a warning 2023-04-14 15:06:22 +01:00
vaxerski 287e6c4ede internal: workspace manip handling rework 2023-04-14 15:03:53 +01:00
vaxerski 011600ac6e keybinds: more intelligent fallback on silent move 2023-04-14 01:42:55 +01:00
vaxerski 70eb74c356 fractional-scale: notify all surfaces on window move 2023-04-14 01:36:07 +01:00
vaxerski 260ef788f5 internal: don't sanity check workspaces on internal ws calls 2023-04-13 22:21:11 +01:00
vaxerski 6131e0bef7 keybinds: refocus properly on silent move 2023-04-13 22:20:31 +01:00
vaxerski 41c7d896e3 internal: prevent premature destroy in moveworkspace 2023-04-13 21:09:50 +01:00
Person1873 33d06fb0e5
Add ability to split master when only 1 additional window (#2025)
* fix: enable master split less than 2 windows

added a config flag  "master:allow_small_split"
added config to minimum windows check.
TODO: check that no bug added (remove all masters?)

* IMPL:FIX: multiple master windows full width

Implemented the ability to have multiple master windows filling the full
monitor width in master mode.
this is controlled by the config option master:allow_small_split
(true/false)
this defaults to false as it was the original behaviour before this
patch

* BUGFIX: corrected issue with blanks re: addmaster

FIX 1: Treat ORIENTATION_CENTER the same as ORIENTATION_LEFT unless
there are enough STACK_WINDOWS to fill both wings.
FIX 2: enforced last window always set as master in
MasterLayout::CHyperMasterLayout::calculateWorkspace();
FIX 3: fix 2, also fixed focus issues previously noted.

* Changes requested by vaxerski

changed how we access config variables (by reference not value)
fixed a regression previously missed prior to requested changes.
I had somehow broken the very functionality i meant to add.

* added static keyword to config variables

* removed superfluous static tags

I made a mistake with making too many variables static.
this made them only evaluate once per runtime breaking things majorly.
My appologies. I haven't touched C++ in nearly 20 years.

* remove annoying comment

---------

Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
2023-04-13 15:20:58 +01:00
vaxerski 4bc3f9adbe config: ignore invalid paths in configPaths 2023-04-12 22:00:39 +01:00
vaxerski a22e1174ee screencopy: implement dmabuf 2023-04-12 21:40:51 +01:00
vaxerski 985764c8db listeners: more safety around change 2023-04-12 20:18:55 +01:00
vaxerski 5f000306f5 popups: send scale info 2023-04-12 18:00:07 +01:00
Kajetan Puchalski efee6a1cda
swallow: Add swallow_exception_regex (#2026)
Currently, if a window class is specified in the swallow_regex (e.g.
Kitty) it will swallow every other window spawned by it automatically.
Many other WMs implementing this functionality allow for defining
exceptions from this rule. For instance, we want Kitty to swallow sxiv
or zathura but we do not want Kitty to swallow something like wev.

This commit adds an additional regex - swallow_exception_regex where
these exceptions can be defined. This regex is then compared against the
title of the window about to be swallowed and if it happens to be a
match, aborts the swallowing.

This works because whenever an application that could be swallowed is
launched by a terminal, the class of the terminal remains the same while
the title changes to whatever the application's name is, thus letting it
be matched against a regex.
2023-04-12 13:38:15 +01:00
vaxerski a68feb5aa0 internal: guarantee activeWindow event type 2023-04-12 13:11:38 +01:00
vaxerski 293df75b97 renderer: workspace rendering improvements 2023-04-12 13:05:57 +01:00
vaxerski f00e11d457 renderer: fix incorrect delta calc 2023-04-12 12:50:20 +01:00
vaxerski 0fd09579a1 renderer: reset renderModif on fullscreen render 2023-04-12 12:45:16 +01:00
vaxerski 3ae33b951f renderer: add support for rendering workspaces 2023-04-12 12:41:23 +01:00
vaxerski 92fecb8ad4 internal: don't iterate special workspaces in move 2023-04-12 11:24:36 +01:00
Stanisław Zagórowski ac2cd0f0dc
plugins: Add "tick" event (#2029) 2023-04-12 11:18:33 +01:00
Max Verevkin c2f29be9ba
make ext_workspace_unstable impl more atomic (#2023) 2023-04-11 14:28:32 +01:00
vaxerski 16a034a34a keybinds: send pass with a null keymap 2023-04-10 22:42:05 +01:00
vaxerski ea77622e04 input: send null keycodes on focusSurface 2023-04-10 22:37:55 +01:00
vaxerski a38b0e736d hyprctl: don't assume output validity in hyprctl workspaces 2023-04-10 21:52:14 +01:00
Hilmar Wiegand 7b43f9f056
Implement window move (#2018) 2023-04-10 20:07:49 +01:00
vaxerski fa4aef4531 args: print help on invalid arg 2023-04-10 18:26:36 +01:00
vaxerski 56a307d734 Revert "keybinds: avoid sending release on suppressed press"
Issues with XWayland

This reverts commit a1b1480c21.
2023-04-10 15:47:20 +01:00
Hilmar Wiegand 6a4bda60f2
Allow movefocus for empty workspaces (#2011)
* Allow switching to empty workspaces using movefocus

* Allow switching to other workspaces when no windows are focused

* Implement review feedback

* Add option to disable focus fallback

* Remove unnecessary braces
2023-04-10 14:40:03 +01:00
vaxerski a1b1480c21 keybinds: avoid sending release on suppressed press 2023-04-10 00:56:08 +01:00
vaxerski 4ae784dc53 input: fix kb focus on top layers without interactive flag 2023-04-09 19:53:31 +01:00
vaxerski 3ade6c4a96 renderer: fixup damage repaint 2023-04-09 17:59:24 +01:00
Vaxry 046ad79d11
GlobalShortcuts protocol impl (#1886)
Implements the `hyprland-global-shortcuts-v1` protocol

---------

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-04-09 13:48:20 +01:00
vaxerski e4e653ada6 socket2: receive bytes to avoid endless loops 2023-04-08 23:14:12 +01:00
vaxerski b32af6ebfb hyprctl: sanity check icons in notify 2023-04-08 18:53:54 +01:00
vaxerski 86852cdc78 textInput: don't double destroy TI 2023-04-08 15:39:14 +01:00
vaxerski 31963f823b screencopy: fix crash in invalid format reads 2023-04-08 13:35:36 +01:00
scorpion-26 07e4ba9d80
Fix crash in CConfigManager::parseKeyword (#1983)
If debug:manual_crash is set on startup, parseKeyword tries
to call g_pHyprNotificationOverlay->addNotification, but
g_pHyprNotificationOverlay isn't initialized yet (is nullptr)

This commit adds a sanity check for that.
2023-04-07 20:15:11 +01:00
vaxerski 5e2d4d644a screencopy: fix crash 2023-04-07 19:21:47 +01:00
vaxerski 50876f1b15 screencopy: fix read on incorrect monitor render 2023-04-07 19:11:30 +01:00
vaxerski c2a85c9d36 screencopy: minor fixes for damage_ring 2023-04-07 18:04:02 +01:00
vaxerski 41d1fdedf2 output: handle needs_frame 2023-04-07 17:25:56 +01:00
vaxerski cd1b982b2a internal: listen to output.damage events 2023-04-07 16:31:55 +01:00
Andrew Nitrogenesis a35ea4d242
Better and more secure argument parsing, and code reformatting (#1976)
* Better and more secure argument parsing, and code reformatting

* Changes to resolve PR conversation

* Formatted via clang-format, fixed typos

* More typos
2023-04-07 15:03:26 +01:00
vaxerski d8645cd148 internal: release buttons on unmap 2023-04-07 12:54:11 +01:00
vaxerski c9f7afbf78 subsurfaces: guard node's surface 2023-04-07 12:36:26 +01:00
Andrew Pritchard dfb78e0593
Fix swiping onto a new workspace with multiple monitors. (#1971)
The previous code could run into issues into the following circumstances:

* The focused monitor is on its rightmost workspace with ID `i`.
* Another monitor has a workspace with ID `i+1`.
* `workspace_swipe_create_new` is enabled.

Then, swiping rightwards attempts to target a new workspace with ID
`i+1`: completing the swipe gesture unintentionally focuses that
workspace on whichever monitor it's already on while leaving the active
monitor in a broken state where it shows no windows but creates new
windows on the workspace it was previously on; and cancelling the swipe
gesture shifts the entire workspace `i+1` to the right by the width of
the active monitor.

By choosing an ID that doesn't exist, this problematic behavior is
avoided.  More specifically, it's the smallest ID greater than any
existing workspace's ID, because otherwise the new workspace that was
seemingly just created to the right of the rightmost workspace could end
up somewhere in the middle of the workspace order.
2023-04-07 12:18:53 +01:00
vaxerski 24ace03780 internal: migrate to damage_ring 2023-04-07 12:18:40 +01:00
vaxerski 569eaff04c swipe: block on locked session 2023-04-07 11:51:52 +01:00
vaxerski 1a5d5bf620 deps: update wlroots 2023-04-06 21:03:53 +01:00
vaxerski 366ebc123b internal: don't remove x11 children on parent remove 2023-04-06 20:59:44 +01:00
vaxerski bc4a51dbbb internal: make togglefloat better visible on small size deltas 2023-04-06 19:45:59 +01:00
vaxerski 80650b6722 keybinds: allow MOD1 as an alias of ALT 2023-04-06 19:28:09 +01:00
vaxerski a740e3e517 internal: comply to nofocus on vectorToWindow 2023-04-06 13:17:15 +01:00
vaxerski 19809532df input: ignore constraints on touch 2023-04-06 11:34:18 +01:00
Vaxry 110f3fd658 screencopy: fix incorrect resource error post 2023-04-05 15:19:49 +01:00
vaxerski a80ba54bbc renderer: don't use simple rect on alphazero stencil 2023-04-04 22:58:58 +01:00
vaxerski 00d199b477 monitors: guard scale in onConnect 2023-04-04 22:54:35 +01:00
vaxerski eea99abc49 debug: allow manual crash from hyprctl 2023-04-04 22:13:36 +01:00
vaxerski e7185b338f debug: minor improvements to manual crash 2023-04-04 22:04:32 +01:00
Vaxry 7d9977d028 debug: added manual_crash 2023-04-04 14:50:03 +01:00
vaxerski 882be7765b toplevelExport: honor overlay_cursor 2023-04-04 00:58:30 +01:00
vaxerski 99314fbe71 render: plug missing software cursor unlocks 2023-04-04 00:46:58 +01:00
vaxerski c50df4c0c3 screencopy: allow on legacy renderer 2023-04-03 23:34:08 +01:00
vaxerski 2f7fb2f553 input: don't set icon on held buttons without a drag 2023-04-03 23:17:06 +01:00
vaxerski 23001f6144 input: don't overset resize icons on drag 2023-04-03 23:15:33 +01:00
vaxerski 55d585ce17 input: fix click-to-refocus not working on loose 2023-04-03 23:09:44 +01:00
vaxerski d3b0c90356 internal: rename ensureDPMS to ensureMonitorStatus 2023-04-03 22:52:09 +01:00
vaxerski a43b18ae26 Feat: add initial class/title to hyprctl clients 2023-04-03 19:16:51 +01:00
Vaxry 0a099ca2ab
Hyprland Screencopy impl (#1800)
---------

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-04-03 17:01:05 +01:00
vaxerski e6211eef00 log: Move stdout log disabling to the end of init 2023-04-03 10:41:49 +01:00
vaxerski b1426cad28 input: fix minor issue with holding focus 2023-04-02 13:42:57 +01:00
vaxerski 0fc145c52c input: hold focus on mouse buttons 2023-04-02 13:30:45 +01:00
vaxerski c2b25f4701 swallow: move swallowed on workspace change 2023-04-02 10:24:17 +01:00
vaxerski 88a96110b7 config: default no direct scanout to true 2023-04-01 19:37:30 +01:00
Jan Beich 16bc5997bb
Misc FreeBSD fixes (#1926)
* helpers: drop incomplete GNU/kFreeBSD bits

Debian with FreeBSD kernel lacks Wayland-related packages and is not
officially supported since Jessie.

* KeybindManager: check VT ioctl availability instead of hardcoding

* plugins: add missing header for libc++ after 430778293e

src/plugins/PluginAPI.cpp:299:33: error: implicit instantiation of undefined template 'std::basic_istringstream<char>'
    std::istringstream          inStream(SYMBOLS);
                                ^
/usr/include/c++/v1/iosfwd:140:32: note: template is declared here
    class _LIBCPP_TEMPLATE_VIS basic_istringstream;
                               ^

* plugins: prefer llvm-nm with Clang after 430778293e

nm: invalid option -- j
2023-03-31 20:39:04 +01:00
vaxerski 7680cd549c plugins: mark getFunctionAddressFromSignature deprecated 2023-03-31 18:43:00 +01:00
vaxerski 430778293e plugins: Add an API entry for finding functions by name 2023-03-31 18:31:11 +01:00
vaxerski de3b00b5ee renderer: go back to rendering layers without reverse 2023-03-31 17:44:36 +01:00
NotAShelf 3d9bf17f11
crashReporter: try `$XDG_CACHE_HOME` before `$HOME` (#1920) 2023-03-31 13:15:24 +01:00
vaxerski 614ea53ad7 Renderer: fix dim easing 2023-03-30 21:08:20 +01:00
vaxerski b88de63abb Input: fix always_follow_on_dnd 2023-03-30 00:34:24 +01:00
Alexander Seiler 60527ab180
Fix some typos (#1907)
Signed-off-by: Alexander Seiler <seileralex@gmail.com>
2023-03-29 23:44:25 +01:00
vaxerski d6241a3086 windows: only connect unmap when mapped 2023-03-28 20:17:47 +01:00
vaxerski df54ab40ce layer: allow focus on top/overlay surfaces without a window 2023-03-28 17:21:11 +01:00
Vaxry 6fec5bfbeb keybinds: improve movefocus on fullscreen 2023-03-27 15:19:27 +01:00
vaxerski 3343aac6bf feat: add forcergbx rule 2023-03-26 02:00:24 +01:00
vaxerski 41f7736c85 config: default manual animations to false 2023-03-24 22:24:12 +00:00
vaxerski c418007c68 shaders: fix missing discardAlphaZero 2023-03-24 19:43:50 +00:00
vaxerski cc2c270dde log: log wlr logs to stdout 2023-03-24 19:38:09 +00:00
vaxerski 70e3cb8151 feat: add debug:enable_stdout_logs 2023-03-24 19:37:37 +00:00
Vaxry a80f8f257f
Feat: Introduce render_ahead_of_time (#1863) 2023-03-24 19:23:16 +00:00
vaxerski b3a70b565e subsurfaces: avoid reading destroyed surfaces 2023-03-24 18:44:42 +00:00
vaxerski e73c6fd3b0 logs: disable stdout after init 2023-03-24 13:00:54 +00:00
vaxerski a5a0434fff dbus: don't update vars in nests 2023-03-24 03:21:38 +00:00
vaxerski 463690a27a keybinds: allow code: prefix 2023-03-23 13:05:23 +00:00
Vaxry 471ac474a1 core: remove old redundant shutdown stuff 2023-03-23 03:07:57 +00:00
vaxerski a3fda12ba1 window: unassign surface on unmap 2023-03-23 00:39:32 +00:00
vaxerski 0268bb9888 surface: set to nullptr after destroy() 2023-03-23 00:22:49 +00:00
vaxerski 3a3a3f7bdb popups: fix heap-use-after-free 2023-03-23 00:22:49 +00:00
vaxerski a8b3be2c9c config: add misc:suppress_portal_warnings 2023-03-22 12:17:16 +00:00
staz 5ce91bb0fd
Added overflow check for blur radius (#1847)
* internal: added overflow check for blur radius

---------

Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
2023-03-21 19:01:24 +00:00
vaxerski adf5d8a114 monitors: update surface outputs on recover from unsafe 2023-03-21 17:46:26 +00:00
vaxerski cb229f6436 compositor: adjust xdp error cases 2023-03-20 22:26:54 +00:00
lisuke dc78c58c77
fix: a fullscreen bug. (#1821) (#1831) 2023-03-20 16:07:18 +00:00
vaxerski 22721a37d5 hyprctl: add notify 2023-03-20 16:00:54 +00:00
vaxerski dd4270eadf notifs: add ICON_OK to icons 2023-03-20 15:49:46 +00:00
vaxerski e2923a9385 meson: add pango deps 2023-03-20 15:39:43 +00:00
vaxerski 316674fecf notifs: use empty color for auto 2023-03-20 15:32:11 +00:00
vaxerski 34da16b7e6 plugin api: add addNotificationV2
Allows for issuing fancy notifs via api
2023-03-20 15:23:25 +00:00
vaxerski 71a95a581f feat: add pretty notifications 2023-03-20 15:03:09 +00:00
Vaxry 788a8f7c13
internal: wrap wlr surfaces (#1822) 2023-03-20 15:00:58 +00:00
vaxerski d23bbd1687 workspaces: preserve pin on moves 2023-03-20 01:50:46 +00:00
vaxerski 7a514f41a3 Focus: warp cursor on movewindow 2023-03-20 01:42:21 +00:00
vaxerski 928de33447 monitors: more guards for safety 2023-03-19 02:19:52 +00:00
Mihai Fufezan 0624455591
Meson: add rdynamic ld flag 2023-03-18 21:01:24 +02:00
vaxerski 2ba5238b8e groups: fix moving between displays 2023-03-18 16:30:29 +00:00
vaxerski 00c2ca4697 config: improve ux on workspace and transform 2023-03-18 16:12:43 +00:00
vaxerski d544c30551 LS: don't try to get rules on non-existent ls 2023-03-18 15:02:00 +00:00
vaxerski ef80a69399 config: fix long variables being substrd 2023-03-18 14:57:59 +00:00
vaxerski 6e6971606d windowrules: allow monitor by str 2023-03-18 01:34:06 +00:00
vaxerski e5ad53ac42 config: make default config use hyphenated dev names 2023-03-18 01:06:03 +00:00
vaxerski e98ee49aee LS: fix support for legacy blurls 2023-03-17 23:36:36 +00:00
vaxerski d797d9905d LS: support address: in layerrules 2023-03-17 23:33:03 +00:00
vaxerski e5870d47c7 LS: add blur and ignorezero rules 2023-03-17 23:16:13 +00:00
vaxerski 91a565c7b0 monitors: don't refocus on apply rule 2023-03-17 20:34:33 +00:00
vaxerski 5b924aaf60 crashReporter: add hl ver 2023-03-17 11:51:16 +00:00
vaxerski 606cb2832a keybinds: remember last workspace on focusmonitor 2023-03-16 16:40:28 +00:00
vaxerski 4b52c1e68f monitors: remove from monitors on unsafe 2023-03-16 16:33:27 +00:00
vaxerski e77ebec629 monitors: guard output in damageSurface 2023-03-16 16:32:03 +00:00
vaxerski 162f235972 switches: do not fire on no change in toggle 2023-03-16 16:30:22 +00:00
Vaxry 96718d8b09 dpms: fix keyboard dpms 2023-03-16 15:29:48 +00:00
vaxerski 5d44ea802a monitors: guard output when read 2023-03-16 14:03:40 +00:00
vaxerski d9d57ce39a monitors: fix segfault on non-unsafe remove 2023-03-16 01:04:54 +00:00
vaxerski 3e261b1fa7 dpms: fix key_press_enables_dpms 2023-03-16 00:30:07 +00:00
vaxerski cee7f11d8b hyprctl: ignore null output monitors 2023-03-16 00:18:44 +00:00
vaxerski f5669a7d6b events: guard output in change 2023-03-15 17:01:20 +00:00
vaxerski 25d3d73dbf monitors: fixes to unsafe mode 2023-03-15 15:11:41 +00:00
vaxerski d63e8c8f45 ime: account for text height in popup calcs 2023-03-14 16:46:39 +00:00
vaxerski 7e5a3eb045 ime: fix panels overflowing on corners 2023-03-14 16:12:25 +00:00
vaxerski f960f72785 input: minor fixes for tiv1 2023-03-14 14:37:00 +00:00
vaxerski 0807b8b95f tiv1: minor fixes for crashes 2023-03-14 13:51:08 +00:00
Vaxry 5dc1a5fec6
input: text-input-v1 support (#1778)
support zwp_text_input_v1

---------

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-03-14 12:57:50 +00:00
vaxerski e749af7b60 dispatchers: remember named workspaces in prev 2023-03-13 15:19:25 +00:00
vaxerski 17deeb07ad master: better cycle 2023-03-13 01:07:05 +00:00
vaxerski bcd8fe9573 groups: add deco on moveIntoGroup 2023-03-13 00:47:57 +00:00
vaxerski 146d231ec5 config: add key_press_enables_dpms 2023-03-12 13:46:38 +00:00
vaxerski 71ef1bde7e dispatchers: disallow togglesplit on fullscreen 2023-03-11 17:58:34 +00:00
vaxerski 253286669a groups: fix fullscreen behavior with groups 2023-03-10 15:19:09 +00:00
Vaxry c9167d9646 blurls: fix address substr length 2023-03-09 14:24:06 +00:00
Vaxry ca1c1438e3 Compositor: fix crash on exit 2023-03-09 14:19:54 +00:00
Vaxry 92d2331170 Events: Avoid sending std::nullptr_t in keyboardFocus 2023-03-08 09:46:17 +00:00
Vaxry a85a6fa6c8 Dwindle: Added default_split_ratio 2023-03-07 14:24:10 +00:00
Stanisław Zagórowski b11e2eaa3b
Fix plugin argument-less hyprctl calls (#1723)
Handle hyprctl command whitespace trimming

might break
2023-03-07 10:42:33 +00:00
vaxerski 0aeb61a95a Opengl: Fix forcefully setting missing time prop to final shader 2023-03-06 19:02:08 +00:00
hillyu 4f647a8e8b
fix mfact not applying to addmaster (#1715)
Co-authored-by: Hill <hillyu@live.com>
2023-03-06 09:03:49 +00:00
Jan Beich 7739b776cd
config: explicitly use environ(7) after b03c8970e6 (#1708)
src/config/ConfigManager.cpp:40:23: error: use of undeclared identifier 'environ'
    for (char** env = environ; *env; ++env) {
                      ^
2023-03-05 18:39:46 +00:00
opsu 0c8d1ba4a8
Buffer overflow fix (#1707) 2023-03-05 18:16:42 +00:00
hillyu 7ce92f93ad
add mfact setting for master layout (#1666)
* add mfact setting for master layout

---------

Co-authored-by: Hill <hillyu@live.com>
2023-03-05 16:29:23 +00:00
vaxerski b03c8970e6 Allow environment in config 2023-03-05 14:54:32 +00:00
scorpion-26 de5f1b2a83
Optionally expose time to screen shaders (#1700)
* Optionally expose time to screen shaders

Since that collides with damage tracking, it will only be done, when
damage tracking is disabled, meaning this comes at no cost for everyone
not using time.

* Rename m_Timer to m_tGlobalTimer
2023-03-05 14:05:30 +00:00
vaxerski dc7d783d14 Initialize priority managers before server init 2023-03-05 13:37:21 +00:00
vaxerski 8e5ee31f30 Add env to example cfgs 2023-03-05 13:37:05 +00:00
vaxerski 90c5715bc6 add env dbus opt 2023-03-05 13:15:12 +00:00
vaxerski d5093f7af0 add env keyword to cfg 2023-03-05 13:12:01 +00:00
vaxerski 4abc608bc0 update dbus env on exec-once dispatches 2023-03-05 12:53:02 +00:00
vaxerski fea2031bfe systemd: expand sysd import env script 2023-03-04 15:21:27 +00:00
vaxerski b69f40815f opengl: use a passthru shader for final wlr copy 2023-03-04 14:59:27 +00:00
scorpion-26 f678789dfd
Fix clang compilation (#1697)
void* + integral type is not allowed on standard C++ and is a GNU
extension
2023-03-04 14:02:40 +00:00
Vaxry c444099325 Mirrors: remove accidentally leftover logs 2023-03-04 01:06:16 +00:00
vaxerski 31cd104286 fix warns 2023-03-04 00:53:42 +00:00
Vaxry 1ead6c46f4 Mirrors: minor fixes 2023-03-04 00:48:22 +00:00
vaxerski fb45f8f2f9 crashReporter: remove inconsistent log from crash reports 2023-03-04 00:14:20 +00:00
vaxerski a34b747661 update wlroots dep 2023-03-03 21:28:22 +00:00
vaxerski fe007fd36a xwl: don't try to get unmanaged titles 2023-03-03 19:37:25 +00:00
Stanisław Zagórowski 141365cbc1
Fix plugin config breakage (#1687) 2023-03-03 19:32:44 +00:00
vaxerski 51ce3ddd67 layoutmgr: don't reenable layout on unchanged layout 2023-03-03 14:06:01 +00:00
vaxerski 64f35c0e31 Bezier: Fix incorrect binary search in bezier approx 2023-03-03 13:33:52 +00:00
vaxerski 9c0e2bba54 Renderer: Nuke onWindowResize{start/end} 2023-03-03 13:18:44 +00:00
vaxerski 62e0c9226e Up the bezier bake count 2023-03-03 13:17:11 +00:00
vaxerski c5aa20f226 fix bezier step approx 2023-03-03 13:08:46 +00:00
vaxerski 66b8629964 Update the debug overlay 2023-03-03 12:15:59 +00:00
vaxerski 9e028d56c0 fix credentials of invalid surfaces 2023-03-03 11:17:43 +00:00
vaxerski 489ef7c51c add toggle group lock 2023-03-02 20:50:37 +00:00
vaxerski 34685a836a Move AnimationManager::tick() to an event loop 2023-03-02 17:30:50 +00:00
Vaxry dea71875e4 add desc: to getMonitorFromString 2023-03-02 12:04:41 +00:00
Vaxry 76fc12869d nuke cursorSI due to crashes 2023-03-01 22:12:26 +00:00
Vaxry 556c7dd51f reset signal handlers in unrecoverable 2023-03-01 21:55:30 +00:00
Vaxry 52878161e4 add log tail to crash reports 2023-03-01 15:14:35 +00:00
Vaxry 6c250df77e generate coredumps on sigabrt too 2023-03-01 15:08:44 +00:00
vaxerski 7c5c7ced91 Convert reverse iterators to ranges 2023-03-01 14:06:52 +00:00
vaxerski 3cef005fec use XCURSOR_SIZE for internal cursor size 2023-03-01 13:54:48 +00:00
Vaxry 71496a0a3c Fix fatal aborts with X11 OR windows 2023-03-01 13:47:40 +00:00
Vaxry 86acdcf8b6 nuke unmanagedx11 vector 2023-03-01 13:15:51 +00:00
Vaxry ea717731a4 Simplfy framebuffer erasing in cleanupFadingOut 2023-03-01 10:06:15 +00:00
Vaxry 0905515c40 use .txt for crash reports 2023-03-01 09:32:31 +00:00
vaxerski 0e252d2c77 Don't set surface cursors for overriden 2023-02-28 23:17:27 +00:00
Stanisław Zagórowski 5c93f6947a
Unload plugins on compositor cleanup (#1662) 2023-02-28 23:11:49 +00:00
vaxerski 07b98952bc Reset cursor to pointer on focus on interactable deco 2023-02-28 23:06:46 +00:00
vaxerski cd2399715d Revert small incorrect change to dragging 2023-02-28 22:53:41 +00:00
vaxerski 2187c6cf43 Allow decos to request interactivity 2023-02-28 22:32:42 +00:00
vaxerski 984c2fdc68 Enable manual anims by default 2023-02-28 22:15:18 +00:00
vaxerski a224d366ca Added mouseMove event 2023-02-28 21:47:00 +00:00
vaxerski 5e48e6b075 Added mouseButton event 2023-02-28 21:45:57 +00:00
vaxerski 72fc309fb1 make window reserved area less stupid 2023-02-28 21:18:13 +00:00
Dashie 7187ea443e
Add option to disable/enable mouse window dragging animations (#1658) 2023-02-28 20:50:10 +00:00
vaxerski 91fd854e3b fix warn 2023-02-28 19:37:00 +00:00
vaxerski 4b20d4f1ad Added decoration reserved area 2023-02-28 19:36:36 +00:00
vaxerski 7beb9fd606 Draw HyprError on the last monitor 2023-02-28 19:18:13 +00:00
vaxerski 4d3f2ca96b minor fixes to touch handling 2023-02-28 19:02:30 +00:00
vaxerski 99b7d53817 deny configure requests on drag 2023-02-28 18:52:03 +00:00
vaxerski 7e523e4d5e minor fixes to X11 configure/or handling 2023-02-28 18:50:47 +00:00
Vaxry 89e7d812c8 Include unmapped and hidden windows in hyprctl clients 2023-02-28 12:41:46 +00:00
Vaxry ac251d7a66 allow focus to grouped windows 2023-02-28 12:34:59 +00:00
vaxerski 49f423aa8f update decos on anim values update 2023-02-27 23:34:41 +00:00
vaxerski 18229043fa Remove useless rax preserve across callq 2023-02-27 19:47:42 +00:00
vaxerski 03d7651916 Plugin Hooks: fix original bytes on %rip accesses 2023-02-27 19:17:58 +00:00
vaxerski c5d741fb39 Plugin Hooks: fix calls to %rip offsets 2023-02-27 18:34:53 +00:00
Vaxry 8b81f41e52
Plugin System (#1590)
---------

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-02-27 12:32:38 +00:00
vaxerski 74a10f26a4 remove old unused animation cfgs 2023-02-26 23:14:26 +00:00
Marcus Kellerman 492f36f7df
Added center orientation to master layout (#1642)
* Added center orientation to master layout to improve experience on ultra widescreen monitors.

* Added support for orientationcenter layout message for master layout

* Added ability to optionally always center master window when in centered master mode.
2023-02-26 23:12:14 +00:00
vaxerski 2e21ad875b fix cursor image on drag not resize 2023-02-26 23:08:20 +00:00
vaxerski 18ed73f091 Added moveoutofgroup dispatcher 2023-02-26 13:55:35 +00:00
vaxerski 55b412e0f4 Added moveintogroup dispatcher 2023-02-26 13:52:11 +00:00
Ryan Dwyer 3bfaeacf7d
movefocus: Set new workspace as active when focusing new monitor (#1640) 2023-02-26 13:44:11 +00:00
Mihai Fufezan e302724847
use corner cursors on resize (#1638) 2023-02-26 03:56:23 +02:00
vaxerski edd0a141de don't snap on empty hint 2023-02-25 22:19:51 +00:00
vaxerski cf566b59ce allow blurls by address 2023-02-25 17:39:26 +00:00
vaxerski 1089e858b4 fix changegroupactive back 2023-02-24 17:24:51 +00:00
Vaxry 60e37d727d fix cyclenext on empty focus 2023-02-23 14:27:43 +00:00
Vaxry 14a2de0d0e add mouse_left _right 2023-02-23 13:55:27 +00:00
Vaxry 2bf7f9e413 fixup constraint snapping on no hint 2023-02-22 23:16:11 +00:00
Ching Pei Yang 513bbb8047
Resize on border icon bug (#1608)
* fix: reset border hover icon on setting empty focus

* cleanup comment

* fix: reset border hover icon on layer surface
2023-02-21 23:57:38 +00:00
vaxerski f1c9077139 unblock pure wayland compiles 2023-02-21 23:57:08 +00:00
vaxerski 66e3679ba3 Conform to X11 OR surfaces wanting focus 2023-02-21 20:47:02 +00:00
vaxerski 708bb014e9 use sans for fonts instead of noto sans 2023-02-21 19:07:30 +00:00
Vaxry a66ef50469 added a lockgroups dispatcher 2023-02-21 12:13:41 +00:00
Jan Beich 474ada9267
Unbreak CrashReporter on FreeBSD (#1589) 2023-02-20 14:15:15 +00:00
vaxerski 784cdd7638 abort instead of exiting on sigsegv 2023-02-20 11:02:44 +00:00
vaxerski fc49a055c6 fix warn 2023-02-20 11:01:03 +00:00
vaxerski 0eee57aab9 fixup backtrace curpath 2023-02-20 10:28:16 +00:00
Vaxry ecd0156265 fix group data in hyprctl 2023-02-20 09:28:42 +00:00
vaxerski cd6640e890 unset hidden at grouped remove 2023-02-19 23:26:36 +00:00
vaxerski 40622a9e60 properly meld groups together 2023-02-19 22:19:40 +00:00
vaxerski df2956b411 ignore hidden in allfloat 2023-02-19 22:14:37 +00:00
Vaxry e5a4c0c986
Group/Tab Rework (#1580) 2023-02-19 21:07:32 +00:00
Vaxry 1b56cc4e99
Added an Event Hook System (#1578)
* added an eventHookSystem

* Add all socket2 events to hooks
2023-02-19 20:54:53 +00:00
vaxerski 6e16627cbc Added execr 2023-02-19 13:59:47 +00:00
vaxerski 0e5df91e3a adjust crash report paths 2023-02-19 13:51:40 +00:00
vaxerski 38c25bb50d Added a crash reporter 2023-02-19 13:45:56 +00:00
vaxerski 6548439f6c remove constraint recheck log 2023-02-19 12:15:33 +00:00
Ching Pei Yang c92e0c05e4
Resize on border (#1347) 2023-02-18 22:35:31 +00:00
vaxerski b944386ca5 reset focus on lock surface destroy 2023-02-18 01:09:01 +00:00
eriedaberrie be2e4d9dd1
Fix VRR JSON output in hyprctl monitors (#1562) 2023-02-17 10:37:38 +00:00
vaxerski dbfa6eea7b fixup stutter in rendering with toplevel_export 2023-02-16 22:51:38 +00:00
scorpion-26 f3d1ab55a2
Add vrr to hyprctl monitor (#1560)
Since the (re)addition of vrr in 127e80692f,
it is very useful to know, whether a given monitor has vrr enabled or not,
since not all monitors support it. Now hyprctl reports, whether a
monitor has vrr enabled or not.
2023-02-16 22:20:10 +00:00
vaxerski ff95721ad9 fix compile for single_pixel_buffer_v1 2023-02-16 13:37:46 +00:00
Vaxry d710e7347a enable single_pixel_buffer_v1 2023-02-16 12:55:52 +00:00
Vaxry 3fbef25ffc refocus on monitor attach 2023-02-16 12:55:52 +00:00
wsippel 1992f27a26
ignore VR headsets (#1555)
* ignore VR headsets

don't interact with screens that have the non_desktop property set, fixes #1553

* remove superfluous curly braces
2023-02-15 14:50:51 +00:00
vaxerski 87a4cc7654 rethink visible flag in animmgr 2023-02-14 17:44:09 +00:00
vaxerski fdc847706a ignore damage on hidden windows in animationmanager 2023-02-14 17:14:09 +00:00
vaxerski 61c817319f don't loop border anim on disabled 2023-02-14 17:10:17 +00:00
vaxerski 127e80692f move no_vfr to vfr and add vrr 2023-02-14 17:08:42 +00:00
nub 98c95aa34d
focusCurrentOrLast dispatcher (#1545) 2023-02-14 00:46:58 +00:00
vaxerski 6b7e409f05 properly clamp size in dragging floating corners 2023-02-12 22:24:47 +00:00
vaxerski 79ad93d536 clear focus on lockscreen refocus 2023-02-12 19:20:13 +00:00
vaxerski 7d914cd427 force monitor focus on refocus 2023-02-12 10:38:37 +00:00
vaxerski 287f31329e fix json output in hyprctl animations 2023-02-11 20:54:37 +00:00
Philipp Mildenberger 97e0f02621
Fix some issues with a lost focus of the maximized window after using swapwithmaster in fullscreen mode (#1524)
* Fix some issues with a lost focus of the maximized window after using swapwithmaster in fullscreen mode

* Keep current fullscreen mode when `prepareNewFocus` is executed
2023-02-11 13:00:05 +00:00
vaxerski bda8208aaa render lockscreen in fullscreenworkspace 2023-02-10 22:03:28 +00:00
Philipp Mildenberger 42f4664022
Added support for layoutmsg params and added the param 'newfocus' for 'swapwithmaster' and 'focusmaster' (#1522)
* Added support for layoutmsg params and added the param 'newfocus' for 'swapwithmaster' and 'focusmaster', which lets the user decide what the new focused window should be
2023-02-10 19:13:38 +00:00
vaxerski d1a7f1dd36 don't alter LS geom on unmap 2023-02-10 12:54:57 +00:00
vaxerski 1dde751da4 fixup LS fs-v1 calcs 2023-02-10 12:53:43 +00:00
Vaxry 68f56130ba add misc:mouse_move_focuses_monitor 2023-02-09 15:29:02 +00:00
Vaxry 4ea4efb871 add prev to getWorkspaceIDFromString 2023-02-09 14:15:42 +00:00
vaxerski 859d6b9b8a fixup ls geom calcs on wp-fs-v1 2023-02-08 22:54:26 +00:00
vaxerski cb6c47098d use surface size to determine LS size 2023-02-08 22:37:30 +00:00
Vaxry 5eb98c0072 improve VRR state checking with updates to mosthz 2023-02-08 15:18:54 +00:00
vaxerski 863812a097 added activewindowv2 2023-02-06 13:16:59 +00:00
Saltaformajo 4a5c3c4861
explicit config path for autoreload config #1423 (#1494)
* respect explicit config path for autoreload config
2023-02-05 22:53:13 +00:00
eriedaberrie 15544c7544
Update blurriness of layersurfaces after hyprctl keyword blurls (#1493)
* Update blurriness of layersurfaces after hyprctl keyword blurls
2023-02-05 22:46:20 +00:00
Mihai Fufezan 53945cff31
libinput: add tap_button_map (#1495) 2023-02-05 14:17:23 +00:00
vaxerski 760b37f71d properly rid of whitespace chars from cfg lines 2023-02-04 15:22:03 +00:00
Vaxry a431c1b01c bring back dynamic ls geom updates 2023-02-04 13:12:56 +00:00
Max Verevkin be6325dd4b
ext_workspace_unstable: send done after output_enter when wl_output is bound late (#1481) 2023-02-03 21:25:49 +00:00
vaxerski fcf1bafb09 conform to unmanaged X11 activate requests 2023-02-03 21:21:19 +00:00
vaxerski 6688421240 minor adjustments to xwayland positioning 2023-02-03 21:21:19 +00:00
Max Verevkin 3e6601fa29
ext_workspace_unstable: send output_enter when wl_output is bound late (#1480) 2023-02-03 19:48:08 +00:00
vaxerski a0bc0e4998 make a null surface focus reset lastfocus 2023-02-03 17:18:22 +00:00
vaxerski d81f45e54a clear focus on failed unlock attempt 2023-02-03 17:06:07 +00:00
vaxerski fd3a1cd086 fix crash with libc++ in appid 2023-02-03 16:17:37 +00:00
Vaxry 494103b521 add missing xwayland stub 2023-02-03 14:12:28 +00:00
Vaxry 8e6950e200 place sessionlock surfaces at correct coordinates 2023-02-03 14:00:23 +00:00
vaxerski a46abd8b1a update wlroots dep 2023-02-03 12:43:43 +00:00
vaxerski 129e99a6f6 Implement ext-session-lock-v1 2023-02-03 11:58:55 +00:00
ozwaldorf 32d56fec97
feat: border angle animations (#1469)
Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
2023-02-01 21:06:01 +00:00
vaxerski 1a41f729a3 fix legacy system call to create hypr dir 2023-02-01 19:51:22 +00:00
Vaxry 85c07c2fe0 scale the opaque region in blurring 2023-01-31 12:29:23 +00:00
Vaxry eaf0fb14c9 reset layout-set render vars on floating 2023-01-31 12:15:40 +00:00
vaxerski 11234529db Simulate mouse movement on unmap of popups and subsurfaces 2023-01-31 00:26:15 +00:00
Jan Beich f90ff8303b
Unbreak build with libc++ (#1457) 2023-01-31 00:03:23 +00:00
vaxerski d4e2a0fd16 simplify nullcheck in minimize 2023-01-30 14:00:02 +00:00
vaxerski 32381fe6c4 send a 1 on unknown minimize event 2023-01-29 17:02:55 +00:00
vaxerski 5d35c0432b add a minimize ipc event 2023-01-29 16:26:14 +00:00
vaxerski 4c4d3b3aa5 fix urgent hint order in code 2023-01-29 16:20:53 +00:00
vaxerski b2314aa33a err on invalid transform in monitor cfg 2023-01-29 16:04:50 +00:00
Vaxry ef12120270 fixup LS scaling impl 2023-01-29 15:58:36 +00:00
vaxerski 3d83a0bc5f enable UV calcs for all surfaces 2023-01-29 13:58:47 +00:00
vaxerski 38011c50ab notify of fractional scale for LS-es 2023-01-29 13:30:51 +00:00
Jan Beich c3adc9ec56
Get active VT via ioctl instead of sysfs after e90c5c6347 (#1448) 2023-01-29 12:44:38 +00:00
Jan Beich ff9bcb19fa
Allow to disable X11 backend separately from Xwayland after 5a750b485a (#1445) 2023-01-29 12:43:18 +00:00
vaxerski ce632b7a05 prevent early segfaults on default mouse pos 2023-01-28 18:28:38 +00:00
vaxerski 328e034472 fix clang error 2023-01-28 18:10:57 +00:00
vaxerski 1c1e688564 fix crash in nested non-mouse warps 2023-01-28 17:54:14 +00:00
vaxerski 86f4772bd6 fix clang warn 2023-01-28 17:52:32 +00:00
vaxerski 61c9e50bcd warp cursor on login to center 2023-01-28 12:26:38 +00:00
eriedaberrie af37a3895f
fix: cursor changing on window move and resize (#1371)
* Just use grab cursor for everything
2023-01-27 11:31:56 +00:00
vaxerski 666c805101 fix destroying addon in fractional scale impl 2023-01-27 11:29:56 +00:00
Vaxry 94b7b6b584 added binds:focus_preferred_method 2023-01-26 14:36:22 +00:00
Vaxry 06b17db227 don't set cursor when timeout reached 2023-01-26 10:39:06 +00:00
vaxerski fc89e70a1f better ls noanim handling 2023-01-25 15:38:21 +00:00
vaxerski 8ae1fd0173 added layer rules 2023-01-25 15:34:13 +00:00
vaxerski 9813ba2f56 Add hyprctl animations 2023-01-25 15:16:28 +00:00
vaxerski 12e293e309 update animated deco values after setprop 2023-01-24 23:52:00 +00:00
vaxerski da23ec847e fix deprecated-copy warn 2023-01-24 22:46:16 +00:00
vaxerski 84954f376f remove restrictions from setprop for ints 2023-01-24 21:44:54 +00:00
vaxerski 5de659cc7a add fakefullscreen prop to windows in hyprctl 2023-01-24 21:29:27 +00:00
vaxerski e273717a27 fix typo 2023-01-24 19:31:16 +00:00
Vaxry a2ae37396f add hyprctl setprop 2023-01-24 19:05:43 +00:00
vaxerski e3d1743722 Revert "use spawn in dbus-env activation"
This reverts commit 63babcba36.

oops.
2023-01-24 16:25:18 +00:00
Vaxry 63babcba36 use spawn in dbus-env activation 2023-01-24 14:05:59 +00:00
Vaxry 1cc7587789 recalculate layout on deco or border change 2023-01-24 14:04:01 +00:00
vaxerski 70b5c1b119 fix clamp in monitor relative 2023-01-23 20:56:43 +00:00
DB 7574b3db64
fix: hyprland crashing wenn moving window -1 from first monitor (#1419)
Co-authored-by: xVermillionx <xVermillionx@notvalid>
2023-01-23 20:56:05 +00:00
vaxerski cb6e36d804 ignore null ls-es in cleanup 2023-01-23 18:23:44 +00:00
vaxerski 2a5ae435e1 allow preblur for opaque surfaces if alpha not 1 2023-01-23 13:55:11 +00:00
vaxerski c074f260a1 use proper fade anims for hyprerror 2023-01-23 12:04:48 +00:00
Vaxry cb98242ea7 remove old comment and fixup lsl var name 2023-01-22 17:03:25 +01:00
Vaxry 147be3e10b use goal size for uv calcs 2023-01-22 16:58:10 +01:00
Vaxry b963a6624e more verbose logging on invalid var 1 in seterror 2023-01-22 16:51:32 +01:00
Vaxry ef90a7ad13 fix rounding exceeding max in single-line errors 2023-01-22 16:48:45 +01:00
Vaxry eb7927d278 fix color typo in hyprerror 2023-01-22 16:45:00 +01:00
Vaxry 8f57db28f7 added hyprctl seterror 2023-01-22 16:38:17 +01:00
Vaxry 7d754b7c22 fix cutting geometry on surfaces spilling out 2023-01-22 16:24:51 +01:00
Cyril Levis fcbfd19393
feat: add focus to urgent or last window (#1402)
* feat: add focus to urgent or last window

* Rename dispatcher

Co-authored-by: Maxim Baz <git@maximbaz.com>
2023-01-21 11:18:55 +01:00
Vaxry 434719611d fix focus history on workspace jumps 2023-01-20 20:57:35 +01:00
Vaxry 5814d9b2a0 make hyprerror follow fadein anim 2023-01-20 20:48:07 +01:00
Vaxry 18330dec4e scale hyprerror 2023-01-20 20:21:50 +01:00
Vaxry 60b880d931
wp-fractional-scaling-v1 impl (#1373)
* Initial fractional scaling impl

* apply UV after geom calcs

* fix scaling -> scale

* meson: add fractional scale proto

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-01-20 19:44:30 +01:00
Vaxry cee7bc6e74 small hyprerror revamp 2023-01-20 19:32:41 +01:00
Vaxry d345804cd5 fix font color in hyprerror 2023-01-20 19:19:07 +01:00
Vaxry fb2679d5ef add a focus history vec 2023-01-20 19:15:15 +01:00
Vaxry 6f3548b184 add an urgent event 2023-01-20 19:03:17 +01:00
Vaxry d5913a23ac reset dragged window on failed begin 2023-01-20 16:30:30 +01:00
Vaxry 3436486575 sanitize scale better 2023-01-20 16:03:52 +01:00
Vaxry 5112056fdb better log wl socket adding and use auto if failed 2023-01-19 16:44:23 +01:00
Vaxry d8ee624e35 move monitor remove notice up 2023-01-19 16:27:04 +01:00
Vaxry 428063ff23 fix up log types 2023-01-18 16:12:44 +01:00
scorpion-26 c31c627cf8
Don't ignore previous maximise on defullscreen req (#1393)
When defullscreening a window by the apps' request, we would return
the window to normal mode, even if the window was previously maximized.
Now a defullscreening request honors the previous maximized state.
2023-01-17 13:20:10 +01:00
Vaxry f14e808847 dump monitor data after setting rules 2023-01-17 11:57:36 +01:00
Vaxry 5c83976977 added misc:hide_cursor_on_touch 2023-01-17 11:47:39 +01:00
Vaxry 2ec7e241cd send cursor updates on touch move 2023-01-17 11:34:57 +01:00
devil-may-c0de 6a56d1e4d0
change placement of isSwitchingToPrevious (#1388)
fixes #1218, but doesn't break functionality of allow_workspace_cycles.
2023-01-16 21:04:10 +01:00
Vaxry 589046ecf7 fix dimaround with transformed displays 2023-01-16 16:12:24 +01:00
ppenguin 040e99fd17
Add tablets calibration matrix for dynamic rotation with 2-in1/tablet PC usage (#1319) 2023-01-15 20:38:58 +01:00
Vaxry b5b436e01d better error handling around getMonitorFromString 2023-01-14 20:45:28 +01:00
Maxim Baz 668d90c700
Implement urgency hint for workspaces (#1379)
When there are any unfocused windows that request activation, mark the workspace as urgent.
2023-01-14 20:31:11 +01:00
Maxim Baz 7729fa9ac9
master layout: remember size & pos of floating windows on fullscreen 1 (#1374) 2023-01-13 21:58:14 +01:00
Vaxry 9c77415cda damage monitor on moveactive 2023-01-13 12:31:24 +01:00
Vaxry cbd31ba481 damage on border change 2023-01-12 13:33:45 +01:00
Vaxry 8440aa3e9b repaint on dynamic decoration keywords 2023-01-12 12:14:57 +01:00
Vaxry 11afb66010 release mouse buttons on map from LS 2023-01-11 19:15:18 +01:00
Vaxry c4e422644b move window to top if floating activate 2023-01-11 17:59:35 +01:00
Vaxry df30f0519a damage monitor on stack rotations 2023-01-11 17:57:54 +01:00
Vaxry 7afb7c85a7 handle fullscreen requests on maximized windows 2023-01-11 13:40:15 +01:00
Vaxry b24f066c47 escape json strings in hyprctl binds 2023-01-11 12:17:27 +01:00
Vaxry 4ec034ad49 send enter for IME popups 2023-01-10 19:21:59 +01:00
Vaxry 20a1a47e66 replace java envvar 2023-01-09 21:26:19 +01:00
Vaxry 989ee6473f describe layers in hyprctl layers 2023-01-09 21:26:07 +01:00
Vaxry a572321f61 remove old warn 2023-01-09 20:52:24 +01:00
Vaxry ff11883482 added make model and serial to hyprctl monitors 2023-01-09 14:35:58 +01:00
Raffaele Mancuso c0c7c12bb9
Pin dispatcher for a specific window (#1340)
Closes #1339
2023-01-08 18:37:24 +01:00
riChar e5dcbf73d8
Add "on" and "off" for the bind of switch (#1342) 2023-01-08 16:35:24 +01:00
Vaxry 50e106f2e6 expand region twice in blur damage
we need to update possible blurriness above
2023-01-08 14:46:45 +01:00
Cyril Levis 3173fbdc4a
feat: dispatcher, add workspace renaming (#1336)
* feat: dispatcher, add workspace renaming

Co-authored-by: vaxerski <vaxry@vaxry.net>
2023-01-08 14:19:18 +01:00
Vaxry 2858e08ce0 remove color rassert to fix overshot beziers 2023-01-07 13:38:19 +01:00
Vaxry 2b248b25c8 clamp a instead of asserting 2023-01-07 13:12:08 +01:00
rubyowo 0d2e1e1270
fix crashes and bug wiki link (#1333) 2023-01-07 12:33:36 +01:00
Vaxry 464dd79246 fix crashes on monitor ls remove 2023-01-06 16:13:50 +01:00
Vaxry 98ce867104 added hyprctl binds 2023-01-06 14:32:25 +01:00
Vaxry 461fab0f27 minor fixes for fakefullscreen 2023-01-06 13:29:49 +01:00
Vaxry c02ac5e08a fix un-normalized missed color 2023-01-05 23:30:24 +01:00
jrun 0d14fd9136
add systemd support (#1253)
* add systemd support
motivation for this is is proper ordering of related/bound/required
services to Hyprland (e.g. swaybg) that would need to have a compositor
ready.

this could possibly be a build-time option of course.

see also:
example/ files for example of services

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>

* nix: add withSystemd flag

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>
Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
Co-authored-by: Vaxerski <vaxry@vaxry.net>
2023-01-05 20:17:55 +01:00
Vaxry 96198dae55 Normalize color storage
Colors are now normalized to 0 - 1 values instead of 0 - 255

causes calculations to be simpler and generally cleans up the codebase.
2023-01-05 19:25:45 +01:00
Vaxry 0e3547e0f6 add touchdevice to devicevalue 2023-01-03 15:51:43 +01:00
Vaxry 3d1b255199 update constraint on constraint state region commit 2023-01-03 13:06:18 +01:00
Vaxry a33ecec61e destroy LS-es on disconnected monitor 2023-01-02 16:16:28 +01:00
Vaxry 9ba93f4b0a fix double remove in destroyKeyboard 2023-01-02 12:08:00 +01:00
Vaxry 85d1b06a79 clean draggedwindow in dragend 2023-01-02 12:06:06 +01:00
Vaxry cb4f748226 added fakefullscreen 2023-01-01 16:54:13 +01:00
Vaxry 7525818097 account for dimAround in fullboundingbox 2022-12-31 19:23:02 +01:00
Vaxry ddcae74e09 normalize gradients and denormalize in groupbar 2022-12-31 17:31:33 +01:00
Vaxry 228e630f40 fix group bar color calc 2022-12-31 17:04:41 +01:00
Vaxry 7f595ed0ca support gradients in dwindle group colors 2022-12-31 16:23:56 +01:00
Vaxry a91d0a374a fix mouse resize on master orientations 2022-12-30 13:01:43 +01:00
Vaxry 0baef17a02 simplify workspace sanity checks 2022-12-29 17:06:30 +01:00
Vaxry 5d095bb9e1 use curves for special dim anim 2022-12-29 12:30:43 +01:00
Vaxry 759490689c fix damage issues with dimaround unmap 2022-12-29 12:19:11 +01:00
Vaxry 3e2200ed90 get window under cursor in kill 2022-12-29 11:52:46 +01:00
Vaxry a55db95a3b ignore dim when pass popup 2022-12-28 19:56:18 +01:00
Vaxry b4ebc18367 remove main_mod 2022-12-28 19:52:12 +01:00
Vaxry a6699ef30c added dimaround 2022-12-28 15:39:17 +01:00
Vaxry b5f5c26be3 added dim_special 2022-12-28 15:18:23 +01:00
Vaxry d64fc7d336 remove useless log 2022-12-27 15:28:41 +01:00
Vaxry 659a5195d4 render overlay layers in reverse
prevents stuff leaking when locked
2022-12-27 15:25:51 +01:00
Vaxry 545e63d1dd sanity check workspaces after enabling mirror 2022-12-26 13:27:02 +01:00
Vaxry 17b4a2786d clarify layout enum 2022-12-26 12:05:34 +01:00
Vaxry cd08fa22fd added workspace_swipe_numbered 2022-12-25 15:42:11 +00:00
vaxerski 5fe437da7e added maximize windowrule 2022-12-23 19:34:28 +00:00
vaxerski 2b888d5106 ignore focus to empty input region ls-es 2022-12-22 15:03:32 +00:00
vaxerski 6749c8abd7 fix dynamic monitor disables corrupting pmosthz 2022-12-22 12:15:07 +00:00
TheOnlyMrCat 8c094b0eec
Make libinput tap-and-drag configurable (#1267) 2022-12-22 12:05:26 +00:00
vaxerski a1143521d3 Allow floats in % rules 2022-12-21 23:18:47 +00:00
vaxerski 96cb47fc64 Add sane permissions for /tmp/hypr 2022-12-21 15:41:02 +00:00
vaxerski e9bd2ee996 move setActiveMonitor backup later in onDisconnect 2022-12-21 15:17:24 +00:00
vaxerski 41cdfb7420 allow binding tablets to outputs 2022-12-21 15:11:39 +00:00
vaxerski fc37ce4a72 render pinned windows above floating separately 2022-12-20 23:07:25 +00:00
Maarten van Gompel edcf4cd61d
fix for gap in master layout orientation right #1171 (#1260) 2022-12-20 22:24:36 +00:00
vaxerski 261fbb5b62 adjust medium ppi values 2022-12-20 13:33:29 +00:00
vaxerski 4fd90144d1 touch up the clang format and format all files 2022-12-20 02:18:47 +00:00
vaxerski 3e2785b970 fix restack in xwayland stubs 2022-12-19 23:43:50 +00:00
vaxerski 668cc93962 refocus on special move 2022-12-19 14:49:19 +00:00
Jan Beich 2f6b37e103
Drop Pango (unused) (#1251)
* Drop unused Pango dependency

* nix: explicitly depend on cairo (previously pulled via pango)

src/meson.build:4:0: ERROR: Dependency "cairo" not found, tried pkgconfig
2022-12-19 12:13:07 +00:00
Jan Beich e2ee8b9f20
Drop X11 headers (unused) (#1252)
* Move libX11 header under Xwayland support

In file included from ../src/layout/../defines.hpp:1,
                 from ../src/layout/IHyprLayout.hpp:3,
                 from ../src/layout/IHyprLayout.cpp:1:
../src/layout/../includes.hpp:9:10: fatal error: X11/Xlib.h: No such file or directory
    9 | #include <X11/Xlib.h>
      |          ^~~~~~~~~~~~

* Drop unused X11 headers
2022-12-19 12:12:58 +00:00
vaxerski 6424a1e398 mark blur dirty on dynamic blur keywords 2022-12-18 15:05:34 +00:00
vaxerski a163ca9237 fix blur damage spam on no blurred windows 2022-12-18 12:41:19 +00:00
vaxerski 974739457f remove damage_entire_on_snapshot 2022-12-17 23:05:15 +00:00
vaxerski 563835404f remember master width on master close 2022-12-17 22:53:03 +00:00
Julian Schuler 2daabfa0e9
Add 'exact' option for 'splitratio' (#1245)
* Simplify getPlusMinusKeywordResult()

* Add an 'exact' option for 'splitratio'
2022-12-17 22:37:44 +00:00
vaxerski 0f3214714f respect ls protocol by forcing kb focus to kb interactive top and overlay 2022-12-17 22:35:51 +00:00
Julian Schuler a3b37b0191
Fix focus not changing on (empty) workspace change (#1243) 2022-12-17 17:28:43 +00:00
Julian Schuler 11ba6afdd3
Fix cycleprev bug introduced in 46891b12cf (#1213) (#1242) 2022-12-17 14:37:10 +00:00
vaxerski 99ca1ad353 remember pos and size across fullscreen moves 2022-12-17 12:15:56 +00:00
vaxerski 2076905d6e remember size and pos on fullscreen 1 2022-12-17 12:14:43 +00:00
vaxerski deb8d3d82e ignore self in candidate floating 2022-12-16 20:07:44 +00:00
vaxerski f72c237d85 add disabling keyboards 2022-12-16 17:20:51 +00:00
Vaxry 98a4fa2b0d
Added clang format (#1239)
* clang-format stuff and format files
2022-12-16 17:17:31 +00:00
vaxerski 7c33c7fc64 fix stupid typo 2022-12-16 11:47:02 +00:00
vaxerski 20899b597e log more in group creation 2022-12-16 00:22:23 +00:00
vaxerski 198b7cae12 ignore silent workspace rules to same workspace 2022-12-15 17:36:34 +00:00
vaxerski 121ea1fac2 set created over fullscreen in movetotop 2022-12-15 17:29:06 +00:00
vaxerski 3bd9ee0d32 minor xcursor and scale fixes 2022-12-15 17:17:15 +00:00
vaxerski 95a042691a Revert "Send initial focus to X11 type dialog"
This reverts commit efc686423a.

Issues with select dialogs.
2022-12-15 16:47:14 +00:00
vaxerski e405490593 fix workspace special rules 2022-12-15 12:49:39 +00:00
vaxerski efc686423a Send initial focus to X11 type dialog 2022-12-15 12:38:47 +00:00
vaxerski b89a07596e prevent moving to invalid workspaces 2022-12-14 18:42:48 +00:00
vaxerski 5a138bed6b use auto scale in fallback rule 2022-12-14 18:00:04 +00:00
vaxerski a2ecca936e use auto scale in default cfgs 2022-12-14 17:57:45 +00:00
vaxerski 374571da96 add auto scale 2022-12-14 17:57:45 +00:00
vaxerski f8188ed7f8 stuff 2022-12-14 17:57:45 +00:00
vaxerski f8a6799d4e verify lastmon status on connect 2022-12-12 20:51:20 +00:00
Vaxry 111d209bff
Added toplevel handle sharing Rev2 (#1203)
* Added toplevel handle sharing

* nix: fix build

* update hyprland-protocols

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2022-12-12 14:56:42 +00:00
vaxerski 1a9ee959dd static-ize master opt 2022-12-12 14:37:49 +00:00
Maarten van Gompel 46891b12cf
Master layout: lose or inherit fullscreen on deliberate window switching (#1213)
* Master layout: Lose fullscreen status when deliberately switching away from a fullscreen window

* Master layout: implemented inherit_fullscreen config parameter

When set, if you are on a fullscreen window and you cycle to the next,
swap master, etc, it will be automatically fullscreened.
2022-12-12 14:34:52 +00:00
vaxerski 0c1bec023f unset cursor image on end drag if it gets destroyed 2022-12-12 14:32:23 +00:00
vaxerski 80f58bc93f fix blur damage issues with scaled 2022-12-12 14:29:04 +00:00
vaxerski 06e6c6021e fix memory read-after-free in master layout 2022-12-12 14:18:43 +00:00
vaxerski e8b99ae13a add override to opacity rules 2022-12-11 17:15:02 +00:00
vaxerski bb99f151da fix pinned offset calc 2022-12-11 16:58:29 +00:00
vaxerski f97289a3c0 fix rendering multi special ws 2022-12-11 16:53:59 +00:00
Maarten van Gompel 6381b6474f
Implement orientation (placement of master area) for master layout (#1202)
* Implemented choosing placement of master area (#1059)

This implement a per workspace 'orientation' that can be set
to left, right, top or bottom. Reflecting placement of the master area.

Left (default) and right are horizontal layouts, top and bottom produce vertical
layouts. Orientation can be switched with: 'hyprctl dispatch layoutmsg orientationleft'
2022-12-10 21:59:16 +00:00
vaxerski c3f1dc3f52 fix minor issues with move focus and follow mouse 0 2022-12-10 15:15:40 +00:00
vaxerski 62f4503f07 handle constraint cursor hints better 2022-12-10 14:43:46 +00:00
vaxerski bf78dcecf0 add changefloatingmode event 2022-12-09 18:51:44 +00:00
vaxerski d5352a5d12 find a default workspace smarter 2022-12-09 17:17:02 +00:00
vaxerski fd43d2bea7 fix drag resizing on special ws-es 2022-12-09 17:08:04 +00:00
vaxerski b9812f8bc0 use anim callbacks and don't spam config resets in drag 2022-12-09 15:00:58 +00:00
vaxerski fba03540d5 fix sharing scaled windows 2022-12-09 14:44:20 +00:00
vaxerski ff12a41c40 minor focus fixes with LS-es and moving windows 2022-12-09 14:03:37 +00:00
vaxerski 726732244a sort valid ws-es in relative 2022-12-08 21:24:55 +00:00
vaxerski be6e1a33b1 ensure mapped state in addViewCoords 2022-12-08 18:52:48 +00:00
vaxerski 6e3bd440ba do not reject drags on visible windows over fullscreen 2022-12-08 17:45:25 +00:00
vaxerski cba10ba5b7 fix memory safety in getWindowFromSurface 2022-12-08 17:43:15 +00:00
vaxerski 050693be2e fix up relative monitors 2022-12-08 12:09:48 +00:00
vaxerski 0803febac5 optimize m+- and e+- workspace opts 2022-12-08 12:08:41 +00:00
vaxerski 6259202c01 add missing c_str in debug log 2022-12-07 22:47:32 +00:00
vaxerski e1d7a13333 unset fullscreen in onWindowRemoved 2022-12-07 18:57:02 +00:00
vaxerski bf5844d607 add failsafe for dwindle windows 2022-12-07 18:57:02 +00:00
vaxerski 73b3bbe49b added nomaxsize rule 2022-12-07 16:08:44 +00:00
vaxerski d8dcf670da fix lost windows clogging up memory 2022-12-07 14:32:24 +00:00
vaxerski 993c382e74 minor fixes to special workspace behavior 2022-12-06 20:31:44 +00:00
vaxerski 3c9a7811b8 fix up moving to special workspace 2022-12-06 20:20:37 +00:00
vaxerski 6c8d993477 minor toplevel sharing fixups 2022-12-06 18:58:42 +00:00
vaxerski dfa9277867 remove double semicolons 2022-12-06 15:06:27 +00:00
vaxerski 7ed401e5e0 fix group border oversaturation 2022-12-06 12:57:10 +00:00
vaxerski da76a1ed9e block surface feedback on window sharing 2022-12-05 19:12:15 +00:00
vaxerski 9c67e08dbd ignore alpha when sharing window 2022-12-05 18:00:57 +00:00
vaxerski 6cf716f182 fix handle finding 2022-12-05 17:57:59 +00:00
vaxerski 9fb24ac1e9 avoid using wayland-0 as a socket name 2022-12-05 17:21:09 +00:00
Vaxry 66fb083003
Implement window sharing with the hl toplevel export proto (#1179)
* implement window sharing

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2022-12-05 17:05:15 +00:00
vaxerski 20b91f58f8 remove idiotic guard in processMouseDownNormal 2022-12-05 14:30:04 +00:00
vaxerski ac0e675f3b better capability handling 2022-12-05 14:28:27 +00:00
vaxerski 9e4e98acfb fix crash in blurls remove 2022-12-04 22:34:30 +00:00
eriedaberrie 826e35f7a4
show groupings and swallowing in hyprctl (#1159)
* feat: show groupings and swallowing in hyprctl
2022-12-04 21:03:29 +00:00
Flafy ffc580dda9
blur xray for layers (#1158)
* feat: apply blur_xray to non window surfaces

* don't blur optimize bottom and background layers
2022-12-04 20:57:41 +00:00
Paul d9998f2ca5
Use internal device naming for Hyprctl devices (#1174)
* Use internal naming for Hyprctl devices

* Use c-strings rather than std::string
2022-12-04 17:32:55 +00:00
Flafy 686d6fc6d1
Fix wrong layout recalculate if statement (#1167)
* fix: wrong layout recalculate if statement

* change from find to contains
2022-12-04 17:32:27 +00:00
vaxerski 9e8df888eb fix warning 2022-12-04 00:03:48 +00:00
vaxerski 409ac12f23 avoid duplicate device names 2022-12-03 20:36:52 +00:00
vaxerski 6aa26582f6 added hyprctl switchxkblayout 2022-12-03 16:22:02 +00:00
vaxerski 056a45d035 fix shader destroy id unset 2022-12-03 14:45:10 +00:00
vaxerski fbc839e8d9 reload shader on dynamic shader keyword 2022-12-03 14:45:10 +00:00
vaxerski d39d6cc1e3 don't initial focus on LS keyboard grab 2022-12-02 20:10:15 +00:00
vaxerski d6b3bfc48e don't attempt rendering on begin failure 2022-12-02 19:33:54 +00:00
vaxerski 70d4fadc39 schedule frames and reloads on session re-activate 2022-12-02 18:47:57 +00:00
vaxerski a2a12018d9 minor changes to unsafe state handling 2022-12-02 18:45:45 +00:00
vaxerski 10d34ef818 added blur_xray 2022-12-02 18:37:11 +00:00
vaxerski c012e3d66b update wlroots dep 2022-12-01 21:00:54 +00:00
Vaxry 39a4f82460 fix crash with invalid frag dynamic shaders 2022-12-01 13:40:05 +00:00
Vaxry 7b020ffa84 Added screen shaders 2022-12-01 13:36:07 +00:00
vaxerski 869f0a0238 remove global var 2022-11-30 13:33:21 +00:00
vaxerski ff4ea1a13a fix border inner offset in shader 2022-11-29 21:11:37 +00:00
vaxerski 51aebb2845 fix minor issues with blur w/o new optim 2022-11-29 11:21:03 +00:00
vaxerski 212f599412 fix AA on borders 2022-11-29 11:12:29 +00:00
vaxerski 55776df685 fix double free 2022-11-29 11:10:19 +00:00
vaxerski 3dd06b674a clean up blur code and fix minor issues 2022-11-28 19:19:07 +00:00
vaxerski 12df799572 recalculate layout only when needed on dynamic keywords 2022-11-28 19:05:50 +00:00
vaxerski c341792092 fix minor issues with blur_new_optimize 2022-11-28 19:04:30 +00:00
Eric_Luo afe12dc90b
Fix a compiler warning (#1124)
Co-authored-by: hnboy <hnboy@users.noreply.github.com>
2022-11-28 19:04:24 +00:00
Jef 45d2d1e97d
convert bordercolors to GradientValueData correctly (#1122)
Co-authored-by: Jef Steelant <jef.steelant_ext@softathome.com>
2022-11-28 11:44:31 +00:00
vaxerski 0a302901d2 Added handling more special workspaces 2022-11-27 22:42:22 +00:00
vaxerski 49063f949d find floating windows below closed one 2022-11-27 12:11:45 +00:00
vaxerski 7699d657d9 optimize border shader
Do not calculate gradient for discarded fragments
2022-11-27 00:30:44 +00:00
vaxerski b2cb3b8bf2 use gradients in default configs 2022-11-27 00:26:13 +00:00
vaxerski 6cbaad896c use highp for pixcoord to fix nvidia border issues 2022-11-26 23:55:41 +00:00
vaxerski 92f2e342a3 use unreachable instead of break on invalid cvd enum value 2022-11-26 20:46:39 +00:00
Dashie e2f3f5fe63
Add nofullscreen to windowrules (#1107)
* feat: add windowrule to prevent fullscreen
2022-11-26 20:44:40 +00:00
vaxerski 0db75852f3 fix transformed border thickness 2022-11-26 20:36:05 +00:00
vaxerski afe688e6ab allow 360 degrees of freedom in gradients 2022-11-26 19:37:20 +00:00
vaxerski 493fc00953 fix decorations missing after no_gaps_when_only toggle floating 2022-11-26 18:48:16 +00:00
vaxerski c709dc5e8e fix fadeout with animated border 2022-11-26 18:41:30 +00:00
vaxerski 684c59e5bc optimize data feeding to gradient renderer 2022-11-26 18:09:57 +00:00
vaxerski 0948b078e1 added border gradients 2022-11-26 17:57:02 +00:00
vaxerski 52c0356900 monitor rule fixes 2022-11-26 15:41:08 +00:00
vaxerski 1c9a0be8c4 fix up the border shader 2022-11-26 13:51:30 +00:00
vaxerski f45ec24977 don't focus back after dnd on follow mouse 1 2022-11-26 00:00:36 +00:00
vaxerski 75b7e661e7 damage windows after switch 2022-11-25 19:52:23 +00:00
vaxerski 381d7a4300 check for special workspace open in attemptDirectScanout 2022-11-25 18:25:04 +00:00
Vaxry 0e6e8461eb reset m_bEmptyFocusCursorSet on workspace switch 2022-11-25 11:34:52 +00:00
vaxerski 9616dc7bd8 don't change alpha on special anims 2022-11-24 20:51:33 +00:00
vaxerski 379597e78f remove redundant strval_empty checks 2022-11-24 17:11:21 +00:00
vaxerski f6067816fb skip covered windows on fullscreen workspaces in getWindowInDirection 2022-11-23 23:40:05 +00:00
vaxerski 750eb76df3 default blur new optimizations to 1 2022-11-23 15:41:19 +00:00
Julian Schuler 79a9bc9076
Add option for retrieving first empty workspace (#1085) 2022-11-23 14:10:26 +00:00
Vaxry dcb6a0425c override force opaque rule on keybind 2022-11-23 09:55:52 +00:00
vaxerski e15a9f3d7d damage monitor on group switch 2022-11-22 23:47:00 +00:00
vaxerski b0f95c63c9 fix crash in setActiveMonitor null 2022-11-22 23:17:10 +00:00
vaxerski 5327565b33 remove resize transitions 2022-11-22 17:20:58 +00:00
vaxerski 95047fb083 return full monitor box for fullscreen windows in idealBB 2022-11-21 23:33:53 +00:00
CactiChameleon9 f00b2fd509
Fix swiping on the first workspace going to the last (#1067) 2022-11-21 23:30:26 +00:00
vaxerski eb86e7967f add scroll_button libinput opt 2022-11-21 23:26:18 +00:00
vaxerski d504c1e5ab fix master resizes all 2022-11-21 18:14:25 +00:00
vaxerski c78db1212b Unify rounding shaders 2022-11-21 18:09:47 +00:00
vaxerski be03a6186c fix invisible windows on moving fullscreen out 2022-11-20 18:50:27 +00:00
Julian Schuler 41a8975bd1
Render focused window at last (#1060) 2022-11-20 18:50:01 +00:00
vaxerski 254c3d166f don't send motion events to lock constraints 2022-11-20 18:38:53 +00:00
vaxerski 137cf9e582 improve constraint handling 2022-11-20 17:35:13 +00:00
vaxerski f8b9138383 make focus/swap master layoutmsgs two-way 2022-11-20 11:55:50 +00:00
Narice c03e4c36b0
Setting wayland environment variables at startup (#1045)
* Nix modules: removed GDK_BACKEND env variable

* setting wayland environment variables at startup

setting XDG_BACKEND and _JAVA_AWT_WM_NONREPARENTING in main.cpp
removed these variables from nix modules recommended environemnt
removed XCURSOR_SIZE from nix modules as it is already set

* Making _JAVA_AWT_WM_NONREPARENTING not overwritten
2022-11-19 19:37:16 +00:00
vaxerski 5530cf6e79 respect no_gaps_when_only in fullscreen 1 2022-11-19 17:35:37 +00:00
Vaxry 1f72237291 Fix incorrect layout positions in mirror re-add 2022-11-19 16:58:14 +00:00
vaxerski e427d9f622 unify setting of the active monitor 2022-11-19 16:41:41 +00:00
vaxerski df132e5ff3 update wlroots dep 2022-11-19 16:28:04 +00:00
Vaxry 0ffaa8d667 Fix minor issues with mirrors 2022-11-19 13:14:55 +00:00
Vaxry e887149f25 minor fixes for mirrors & log more monitor events 2022-11-19 13:01:32 +00:00
vaxerski 250d61e0b3 find base surface if no subsurface found in ls 2022-11-18 20:35:15 +00:00
vaxerski ba05c43ae3 minor monitor code fixups 2022-11-18 14:15:19 +00:00
vaxerski 82fe530045 don't set AS in onConnect 2022-11-18 14:08:34 +00:00
vaxerski f91f3d1c81 Reset callbacks on remap 2022-11-18 13:53:54 +00:00
vaxerski 5d39223239 fix events in changeworkspace with bound ws-es 2022-11-17 21:58:22 +00:00
vaxerski d2a7e22efd more memory safety around onDisconnect 2022-11-17 21:52:45 +00:00
vaxerski c02bfc3897 fix extents in shadow deco 2022-11-16 15:35:36 +00:00
vaxerski 878a20741b fix slide calcs for windows outside the viewport 2022-11-16 15:35:36 +00:00
Vaxry d5eafe1926 set cursor to hand1 when moving a window 2022-11-15 10:39:05 +00:00
Jef dbb6732743
apply some rules dynamically when state of window changes (#1020)
Co-authored-by: Jef Steelant <jef.steelant_ext@softathome.com>
2022-11-15 10:21:26 +00:00
Jef 4034aa2c60
possible crash when current workspace does not exist (#1023)
Co-authored-by: Jef Steelant <jef.steelant_ext@softathome.com>
2022-11-15 10:18:04 +00:00
Vaxry fcb5037a1d guard lastwindow in circlenext 2022-11-14 12:12:13 +00:00
vaxerski 478fa7cafe Revert "Set child stdout and stderr to /dev/null (#1000)"
This reverts commit 1e5cab1ee7.

Breaks a bunch of stuff, e.g. Waybar.
2022-11-13 19:53:27 +00:00
Jef 549fdf63f6
Add bordercolor windowrule (#992)
* Add bordercolor windowrule

* remove spaces form bordercolor rule + typo

Co-authored-by: Jef Steelant <jef.steelant_ext@softathome.com>
2022-11-13 19:33:13 +00:00
vaxerski 884fc4f89c fix master window finding on closed 2022-11-13 14:31:12 +00:00
Thomas Voss 1e5cab1ee7
Set child stdout and stderr to /dev/null (#1000)
Some scripts or utilities check to see if stdout or stderr are connected
to a TTY or not to determine certain behaviors (for example, you might
want to prompt a user for input with fzf(1) if in a terminal but tofi(1)
or wofi(1) when spawned from your WM).  Since hyprland never closes
these output streams for spawned processes, they end up just spewing
their output onto the TTY while giving the user no real way to have a
script detect if it's being run from the shell or WM.

Instead of just closing stdout and stderr though, we close them and then
proceed to reopen them but connect them to /dev/null.  This allows
scripts and processes to not fail when attempting to write, but for that
writing to simply have no effect.
2022-11-13 11:58:20 +00:00
Vaxry 5a00f0c657 fix trailing comma in hyprctl activewindow 2022-11-13 11:12:11 +00:00
Jef 78a545112a
streamline hypctl output of windows (#983)
Co-authored-by: Jef Steelant <jef.steelant_ext@softathome.com>
2022-11-13 00:39:21 +00:00
Leftas 34a7f17956
Add keyboard led update after keys/mod update 2022-11-12 13:12:37 +02:00
vaxerski dd11434e90 notify idle on touch down 2022-11-11 23:41:04 +00:00
vaxerski a5ffd44caf guard empty str in removeBeginEndSpacesTabs 2022-11-10 21:51:46 +00:00
vaxerski 0208dff574 fix invalid master slave pos calc on y != 0 2022-11-10 19:39:16 +00:00
vaxerski 3157bebed7 fix warning 2022-11-10 17:07:26 +00:00
vaxerski c0bb4db15c add move cursor windowrule 2022-11-10 16:59:08 +00:00
Vaxry 153c99217d use spawn in config exec 2022-11-10 13:50:16 +00:00
Vaxry 851df11eb5 Added exec rules 2022-11-10 13:39:23 +00:00
vaxerski 5f2c741f49 remove spammy ime logs 2022-11-10 12:24:41 +00:00
vaxerski 9a9ecc25db added monitor cycling 2022-11-10 12:22:19 +00:00
vaxerski 34b145ee65 Added resizing individual master windows 2022-11-10 12:05:22 +00:00
vaxerski f41fe59cb6 fix shadow extent & offset calculations 2022-11-09 22:39:19 +00:00
vaxerski 7ff1fd9d69 use goal values in changeWindowFloatingMode 2022-11-09 22:02:02 +00:00
Vaxry d0b3cdc835 Fix crashes with DS and mirrors 2022-11-09 10:56:49 +00:00
vaxerski 1cf829c889 minor loose focus fixes 2022-11-08 20:28:41 +00:00
Vaxry 17992b633d minor fixes for follow_mouse 3 2022-11-08 14:48:17 +00:00
Vaxry c545ab4993 Added multiple master layoutmsgs 2022-11-08 12:39:52 +00:00
vaxerski 1d2e4243dc clamp shadow scale to 1 2022-11-07 22:51:26 +00:00
vaxerski aefc34b405 Minor fixes for virtual input devices 2022-11-07 22:22:13 +00:00
vaxerski 2a20cf5379 Added decoration:shadow_scale 2022-11-07 21:27:28 +00:00
vaxerski e3a3837164 fix up formatting 2022-11-07 20:31:56 +00:00
Jan Beich c86ab4694c
meson: explicitly specify path for find(1) (#971)
src/meson.build:1:0: ERROR: Command "/usr/bin/find -name *.cpp" failed with status 1.
2022-11-07 20:27:06 +00:00
Jan Beich 5d5066570c
helpers: implement getPPIDof on BSDs (#972)
Get PPID from `struct kinfo_proc` via sysctl for the specified PID.
Adjusted for minor differences between each BSD kernel.
2022-11-07 20:26:23 +00:00
abbadanor 1a55fb4170
Dispatcher to center floating window (#961)
Co-authored-by: Adam Nord <adam.nord@abbgymnasiet.se>
Co-authored-by: vaxerski <vaxry@vaxry.net>
2022-11-07 12:16:30 +00:00
vaxerski efbc3f8194 resize transition fixes + default transitions to false 2022-11-06 18:10:53 +00:00
vaxerski f755351511 Fix resize transitions on multimon + transformed 2022-11-06 18:04:30 +00:00
vaxerski 57817f7252 Added resize transitions 2022-11-06 17:52:09 +00:00
vaxerski b4c45aa2e3 fix compiler warning 2022-11-06 14:28:15 +00:00
vaxerski 5295244026 Revert adding toggle for drm scanout flags
This reverts commit 12697d2b72.

Stupid idea.
2022-11-06 14:25:53 +00:00
vaxerski 082f439db2 fix issues with direct scanout's lack of surface frame feedback 2022-11-06 14:20:03 +00:00
vaxerski 12697d2b72 added toggle for drm scanout flags 2022-11-06 14:11:37 +00:00
vaxerski 976b44443a ignore constraints on exclusiveClient create 2022-11-05 18:34:26 +00:00
vaxerski 6553fb5a40 fix fullscreen maximize size 2022-11-05 18:25:32 +00:00
vaxerski 5a750b485a Added creating / destroying outputs on a multi-backend + headless backend
See `hyprctl output`.
2022-11-05 18:04:44 +00:00
vaxerski a71f44baa5 fix compiler warning 2022-11-05 13:49:55 +00:00
vaxerski 22384869a6 fix unregistering avars on sethidden 2022-11-05 13:37:57 +00:00
vaxerski ff76fbe763 prevent double-registering of avars 2022-11-05 13:37:29 +00:00
vaxerski cfbab453e8 move no_direct_scanout to misc 2022-11-05 13:22:18 +00:00
vaxerski 6a59b57ef8 remove spammy logs for DS 2022-11-05 13:06:48 +00:00
vaxerski f50c786640 Added direct scanout 2022-11-05 12:50:47 +00:00
vaxerski 70aece8522 constraint focus simplifications 2022-11-04 18:09:40 +00:00
vaxerski c9eb0f3aab fix missing stub for xwayland 2022-11-04 16:10:10 +00:00
vaxerski 206360177f Multiple animation optimization and xwayland wine fixes 2022-11-04 15:56:31 +00:00
vaxerski 34ad837fd9 don't update the env in session-less hl 2022-11-04 11:30:25 +00:00
vaxerski e796157672 fix passing input to constrained windows without relative 2022-11-04 11:09:34 +00:00
vaxerski b51222c004 fix ordering in mouse connect 2022-11-04 10:48:42 +00:00
vaxerski 9aad352789 automatically update dbus environment on start 2022-11-04 10:37:14 +00:00
vaxerski ce8c20c1ed fix raw exec in configmanager 2022-11-04 10:33:05 +00:00
vaxerski 349afa0e7a guard header windows in layout messages 2022-11-03 22:55:44 +00:00
vaxerski 748a6965ca include utility in defines 2022-11-03 19:55:20 +00:00
vaxerski 97af7c416e added unset rules 2022-11-03 19:52:43 +00:00
vaxerski 47512dd6db remove redundant includes 2022-11-03 19:52:34 +00:00
vaxerski 653b9ed0e4 Fix missing focusedmon event on focusmonitor dispatcher 2022-11-03 19:34:26 +00:00
Vaxry d0e47d9fe0 added workspace_swipe_forever 2022-11-03 13:35:34 +00:00
Vaxry c47581fc5a handle transforming displays in outputMgr 2022-11-03 09:06:44 +00:00
Vaxry 31aa357c17 fix safety over ls outputs 2022-11-03 08:56:47 +00:00
vaxerski 6ddfae0a07 remove ensureFDsValid, legacy 2022-11-02 21:28:08 +00:00
vaxerski c1542da18a fix typo in focus 2022-11-02 18:54:41 +00:00
vaxerski 5b548f5bc3 update window values after map finish 2022-11-02 15:15:39 +00:00
vaxerski 5ac2005318 remove old comments 2022-11-02 14:52:36 +00:00
Vaxry a2b8e3b34e fix the damageBox in damageMonitor 2022-11-02 11:04:17 +00:00
Vaxry d78b53968f render the debug overlay only on visible monitors 2022-11-02 10:24:43 +00:00
abbadanor 61b950d942
Add focusmaster dispatcher (#942)
* added focusmaster dispatcher

* format

Co-authored-by: Adam Nord <adam.nord@abbgymnasiet.se>
Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
2022-11-02 10:15:11 +00:00
Vaxry a16073a87b deprecate general:damage_tracking 2022-11-02 10:12:33 +00:00
Vaxry 603a90886f fix swipe on 2 detached workspaces 2022-11-02 10:01:13 +00:00
vaxerski 95bbac8791 remove redundant check in CShader 2022-11-01 18:46:51 +00:00
vaxerski a69fd21a1a Add an idleinhibit windowrule 2022-10-31 12:26:07 +00:00
wael 2c67c1c4f8 meson: use gl instead of GL
`/usr/lib/pkgconfig/gl.pc`
2022-10-31 12:39:04 +02:00
vaxerski 989deafd5e use lld instead of i in hyprctl getopt for accurate int reads 2022-10-30 22:45:03 +00:00
vaxerski 9f1d7f7fc7 properly scan for subsurfaces in fullscreen input refocus 2022-10-30 12:28:37 +00:00
vaxerski 6245c92bd0 avoid creating bound WS-es in moveWorkspaceToMonitor 2022-10-30 12:14:12 +00:00
vaxerski 2e32e202e9 set lastmonitor in onDisconnect 2022-10-29 22:45:01 +01:00
vaxerski d994ad75e8 revert output smart layout reporting 2022-10-29 17:32:03 +01:00
vaxerski 2caebb3b10 fix default 0 in box passing test 2022-10-29 14:37:33 +01:00
vaxerski 05f3eebd96 avoid layout changes when unnecessary in applyMonitorRule 2022-10-29 12:24:44 +01:00
vaxerski 74d05d0adc ensure VRR for current display only in onConnect 2022-10-28 23:48:48 +01:00
vaxerski 341a0616aa avoid applying offset twice in onConnect 2022-10-28 23:23:23 +01:00
vaxerski ea7f617df6 remove redundant check 2022-10-28 22:33:47 +01:00
vaxerski 644c64d79d lower IME errors to WARNs 2022-10-28 21:47:08 +01:00
vaxerski d193d70ecf guard primaryFB tex in end() 2022-10-28 21:46:19 +01:00
vaxerski 9e227a52c0 allow cyclenext on null focus 2022-10-28 21:31:39 +01:00
vaxerski 1a767b021b fix minor focus oopsie 2022-10-28 20:12:17 +01:00
vaxerski 83e4006b16 properly find the constraint window 2022-10-28 19:35:02 +01:00
vaxerski 1759b0483c constrain mouse on focus change 2022-10-28 19:20:12 +01:00
vaxerski f7174acc48 minor fixes for xwayland refocus 2022-10-28 19:18:10 +01:00
vaxerski c2cd718e89 ignore pointer constraints in touch 2022-10-27 23:44:23 +01:00
Hilton Chain c21808dd2d meson: Fallback to 'opengl' when 'GL' is not found.
This patch adds 'opengl' as a fallback to 'GL' for dependency lookup, to
link with libglvnd configured without X11 support.

For OpenGL, libglvnd provides two pkg-config files: `gl.pc' with GLX
support while `opengl.pc' not.  When building without X11 support, the
former won't be installed.
2022-10-28 00:50:58 +03:00
Vaxry 7d6ccca695 add 10bit support to displays 2022-10-27 13:26:47 +01:00
Vaxry 28c81fc71e add disabling pointer devices 2022-10-27 12:58:10 +01:00
Vaxry d5a0610ea2
No xwayland overhaul (#920) 2022-10-27 11:26:35 +01:00
vaxerski 4aebb73de0 Added hyprctl cursorpos 2022-10-26 13:19:37 +01:00
vaxerski 83ad59fae7 Allow 100%- for move rule 2022-10-26 12:34:26 +01:00
vaxerski f9a7b6bf26 default focus_on_activate to false 2022-10-25 18:53:18 +01:00
Vaxry cdb331076a allow # escaping in config 2022-10-25 14:32:25 +01:00
Vaxry ba9a8a9ded unify LS unmap focus 2022-10-25 14:19:24 +01:00
vaxerski 34bd2cf803 respect wsbind in workspace silent rules 2022-10-25 10:30:25 +01:00
vaxerski 69f1d7b360 Rework workspace rules 2022-10-24 18:36:31 +01:00
vaxerski e0bc952c83 minor fix to silent ws rules 2022-10-24 17:00:08 +01:00
vaxerski cf869d9636 allow nofocus + workspace silent 2022-10-24 12:37:07 +01:00
vaxerski 077c1491a8 respect nofocus in candidate searching 2022-10-24 12:28:41 +01:00
vaxerski c04563734e Rework candidate finding on close window 2022-10-24 12:25:36 +01:00
vaxerski 1d0d350fc3 fix silent + size windowrules 2022-10-24 12:03:15 +01:00
vaxerski d55338a3f5 fix debug nest black screen 2022-10-24 11:58:07 +01:00
vaxerski c6a3092b45 more safety around shutting down and mouse movements 2022-10-24 00:14:42 +01:00
vaxerski 10303259f7 always report sizes after a window unmap 2022-10-22 22:10:34 +01:00
vaxerski 47eac4be1c disable adaptive sync with no_vfr off 2022-10-22 21:45:17 +01:00
vaxerski 2995867760 Transpose matrices on LEGACY_RENDERER 2022-10-22 21:10:49 +01:00
vaxerski 44cee0f5f8 more safety for focus requests 2022-10-22 16:45:33 +01:00
vaxerski 2c714eace5 handle activate requests 2022-10-22 16:43:47 +01:00
vaxerski 0d7d7a970d fix crash in event manager on hangup 2022-10-22 16:15:52 +01:00
vaxerski b71d7c9007 minor workspace rule parsing fixes 2022-10-21 10:45:12 +01:00
vaxerski ce5f025428 T1C: window dance compat 2022-10-20 22:38:49 +01:00
vaxerski 6df6aea1ba fix swipe with fullscreen maximized 2022-10-20 20:37:37 +01:00
Kainoa Kanter ca2d2db0ef
Add windowrules for noblur and noshadow (#884) 2022-10-20 20:36:27 +01:00
vaxerski 1ccb0b5f96 bump xdg ver to 5 2022-10-20 18:04:21 +01:00
vaxerski c2545b3ae6 fix refocus on last window 2022-10-20 18:00:29 +01:00
Vaxry dada872981 minor swipe on new fixes 2022-10-20 17:52:17 +01:00
Vaxry 1eec5161bd minor fix for swipes from empty workspaces 2022-10-20 15:47:35 +01:00
Vaxry 53c3644c29 fix minor anim issue with swipe new 2022-10-20 15:02:46 +01:00
Vaxry 6d66dde208 added swipe create new 2022-10-20 14:54:32 +01:00
vaxerski 1b349f79ac don't set custom mode in change 2022-10-19 22:12:02 +01:00
vaxerski da8be82c9a Fix self-noding in changeWindowFloatingMode 2022-10-19 21:32:30 +01:00
vaxerski 8ffd244ef6 fix animate_manual_resizes with moves 2022-10-19 21:17:49 +01:00
vaxerski bf9d31ce49 fix maximized windows not hiding tiled 2022-10-19 15:17:35 +01:00
Vaxry 98a32f5e52 render layer snapshot without blur 2022-10-19 11:00:59 +01:00
vaxerski dc1737f128 allow glob wildcard in addreserved 2022-10-17 23:23:07 +01:00
vaxerski ecf0cdaba4 a bit more default config nice addons 2022-10-17 16:59:52 +01:00
vaxerski 286cb90c48 ignore OR windows' size hints 2022-10-17 14:26:18 +01:00
vaxerski 3f77cde50e set XCURSOR_SIZE if not set in init 2022-10-17 14:01:04 +01:00
vaxerski 1145654987 default & example config overhaul 2022-10-17 13:48:21 +01:00
vaxerski da4cfb9c32 use size hints when available in xwayland default geom 2022-10-17 11:18:45 +01:00
vaxerski 58375bc87a Add support for rgba() and rgb() colors in the config 2022-10-16 22:26:02 +01:00
K1llf0rce dca30815b0
add maxsize window rule 2022-10-15 17:04:57 +02:00
vaxerski edeb759bb1 add loose focus behavior 2022-10-15 14:13:21 +01:00
vaxerski 34cd8b125a rework focus system to be more safe and faster 2022-10-14 20:46:32 +01:00
Vaxry b0544dbfff remove old log 2022-10-14 14:25:28 +01:00
Vaxry a7bdfc06ca added bringactivetotop dispatcher 2022-10-14 14:22:31 +01:00
Vaxry 724fa4a7d4 add touch binding to output 2022-10-14 12:38:44 +01:00
Vaxry cee0645fd1
Merge pull request #813 from histausse/touch_dev_rotation
Add input:touchdevice:transform config
2022-10-14 12:26:31 +01:00
Vaxry df9409b8a2 rename transform in DC to touch_transform 2022-10-14 12:23:11 +01:00
vaxerski 670d6ce8f4 fix windowsOut disabled with fadeOut enabled 2022-10-13 21:32:28 +01:00
Brodi 5d6e56b67c
fix invalid json output by adding a missing comma 2022-10-13 16:21:58 +02:00
Vaxry 624303bfb9 check for same workspace in workspace rule 2022-10-13 15:19:30 +01:00
Vaxry eb3c132fc5 set workspace name in previous 2022-10-13 15:17:16 +01:00
vaxerski 170def35d7 simplify shouldRenderWindow and fix one cond 2022-10-12 18:37:11 +01:00
vaxerski 2ee9fb0675 don't recalc offset on monitor reload offset auto 2022-10-12 15:16:31 +01:00
vaxerski 1396d2a39b fix crash in renderWorkspaceWithFullscreenWindow 2022-10-11 20:29:51 +01:00
Vaxry 7ecc41db9c unsetenv on no XWayland 2022-10-11 12:00:06 +01:00
Histausse 6287f2b71b
use static for transformation matrices 2022-10-10 12:52:12 +02:00
Felix Dick 7e781f24c5 Merge branch 'main' into simplify_matrix_calculations 2022-10-10 02:45:40 +02:00
Felix Dick 3bf7c5aea1 Change matrixProjection function stop use matrixFlip180 everywhere. 2022-10-10 01:35:42 +02:00
Felix Dick 092dbda88a Let openGL transpose the matrixes for us. 2022-10-10 01:32:04 +02:00
vaxerski 881f828250 better subsurface handling on unmaps 2022-10-09 17:40:30 +01:00
vaxerski 0743dab3f0 use popup base surface instead of subsurface for addPopupGlobalCoords 2022-10-09 17:10:20 +01:00
vaxerski 496e37d044 ensure texture safety in clearWithTex() 2022-10-09 17:02:39 +01:00
Felix Dick 9ee78b1a92 inverse_transform the box in renderRectWithDamage. 2022-10-09 01:58:00 +02:00
Histausse 406b2fe6dc
Add additionnal matrices and rename config var 2022-10-09 00:45:34 +02:00
Histausse 32ae0c51f0
Add input:touchdevice:td_rotation config
Add support for touch device roation. The rotation is
set globally with `input:touchdevice:td_rotation config` and by
device with `td_rotation` in a device block.
2022-10-08 15:25:46 +02:00
Felix Dick 2f3528c076 Check earlier if pixman regions are empty. 2022-10-08 11:20:04 +02:00
vaxerski 1964bcb13f add open/close layer events 2022-10-07 22:25:00 +01:00
Vaxry 4b779ac142
Merge pull request #811 from Dickby/add_missing_pixman_region32_fini
Add missing pixman_region32_fini.
2022-10-07 22:20:35 +01:00
vaxerski abc2d442dd fix a VRAM leak in destroyMonitorResources 2022-10-07 22:19:23 +01:00
Felix Dick b64f1fc5c4 Add missing pixman_region32_fini. 2022-10-07 23:11:20 +02:00
vaxerski 33d264eaa7 release all fbs in destroyMonitorResources 2022-10-07 21:13:28 +01:00
Vaxry 5e3b8c3233
Merge pull request #807 from Dickby/fix_monitor_transforms
Transform the box data send to texture shaders.
2022-10-07 20:12:28 +01:00
Felix Dick bbdfb7853d Transform the box data send to texture shaders. 2022-10-07 20:55:41 +02:00
Vaxry a19b152e4a make swipe respect slidevert 2022-10-07 16:52:53 +01:00
Vaxry 1468001d3b offset floating windows out of bounds on ws anims 2022-10-07 12:34:54 +01:00
Vaxry 7faa3c367d Added clipping support, clip windows on slide anim 2022-10-07 10:43:51 +01:00
Vaxry fd379db846 swallow improvements 2022-10-07 09:46:01 +01:00
Vaxry c4487534d2
Merge pull request #801 from fufexan/scrollfactor
Add input:touchpad:scroll_factor
2022-10-06 21:26:11 +01:00
Mihai Fufezan e4820d1c71
Add input:touchpad:scroll_factor 2022-10-06 22:47:05 +03:00
vaxerski b4a8efc1a7 fix naming when workspace back and forth 2022-10-06 20:40:58 +01:00
vaxerski 9480c0fb90 fix workspace previous with multi-mon ws moves 2022-10-06 20:18:49 +01:00
vaxerski f901c60da5 return true on vt switch keysyms to avoid printing stuff 2022-10-06 19:31:32 +01:00
vaxerski 922e978f56 reset sigmask on fork 2022-10-06 19:02:03 +01:00
vaxerski 0508c7d384 more monitor checks for shutdown: 2022-10-06 18:43:50 +01:00
vaxerski ee3b770cfd more checks in pid gathering 2022-10-06 17:58:38 +01:00
Felix Dick 552c4b7361 Fix compiler warnings. 2022-10-06 13:42:52 +02:00
Vaxry d7ef19e2e7 map touch to the correct output 2022-10-06 09:26:05 +01:00
Vaxry 190ddb5697 added a noanim rule 2022-10-06 09:16:40 +01:00
Vaxry 095688712d add minsize rule 2022-10-06 09:09:58 +01:00
Vaxry d264fbd36a fix string corruption in hyprctl monitors -j 2022-10-06 09:04:46 +01:00
Vaxry e4527c6b60 use goalv in clientsRequest 2022-10-06 08:54:09 +01:00
Vaxry 32e8eda40a
Merge pull request #787 from fufexan/libinput
Add accel profile and scroll method
2022-10-05 21:58:40 +01:00
Mihai Fufezan 477ad2dd82
Add accel profile and scroll method 2022-10-05 23:51:08 +03:00
vaxerski e90c5c6347 fix tty switch freeze 2022-10-05 21:41:27 +01:00
vaxerski 11ce468996 add dpms status info in hyprctl 2022-10-05 18:14:11 +01:00
vaxerski 9c5023ab1a monitor desc improvements 2022-10-05 17:38:36 +01:00
Vaxry 0e4a894edb add dpms per output 2022-10-05 10:31:47 +01:00
Vaxry 71e2562a41 add desc: to monitor rules 2022-10-05 10:22:33 +01:00
Felix Dick 0d7f6eac9e Merge branch 'make_TTY_unsigned' into fix_left_handed 2022-10-05 04:51:48 +02:00
Felix Dick 6d46ed4011 Fix getDeviceInt string arg "input:left_handed" 2022-10-05 04:25:26 +02:00
Felix Dick f825b87c2a Fix compiler warnig comparing signed and unsigned integers. 2022-10-05 02:42:51 +02:00
Vaxry 934f81c93d
Merge pull request #777 from Dickby/fix_shader_error
Remove texcoord from QUADFRAGSRC.
2022-10-04 23:20:52 +01:00
Felix Dick e8be1507ef Remove texcoord from QUADFRAGSRC.
texcoord is unused in the rounding part of the textureshaders.
QUADFRAGSRC isn't using that variable inside the non rounding code.
Because of that opengl optimizes that variable out, and is complaining
if glGetAttribLocation is called on it.
2022-10-05 00:04:32 +02:00
vaxerski 60c414ccad add left_handed config for input 2022-10-04 21:46:41 +01:00
vaxerski 0d702b556d Add switch device handling and binds 2022-10-04 20:07:21 +01:00
vaxerski 9bbae5b8e2 ignore VT switches to current vt 2022-10-04 16:53:09 +01:00
vaxerski 719a5b4f0b use vectorToWindowIdeal in mouse binds 2022-10-04 16:08:55 +01:00
Vaxry 7bdfdaa28a
Merge pull request #742 from Dickby/rework_rounding_shader
Rework rounding shader
2022-10-04 14:17:16 +01:00
Vaxry a80e0cecfe fixes to window swallowing with same pid 2022-10-04 11:16:49 +01:00
Vaxry 3e3f6aef5e additional logic for identical pid swallowing 2022-10-04 10:17:10 +01:00
lylac f9325b1655
focusedmon event check change
Compare PLASTWINDOW & PWINDOWTOCHANGETO m_iMonitorID's instead of PWINDOWTOCHANGETO->m_iMonitorID & g_pCompositor->m_pLastMonitor->ID
2022-10-04 18:19:14 +13:00
vaxerski 63dfe305dd log GPU info for debugging 2022-10-03 23:10:15 +01:00
vaxerski ff5843bd85 anchor to proper quad in floating resize 2022-10-03 22:41:12 +01:00
vaxerski ab82c4806d allow one less arg in bind 2022-10-03 21:01:08 +01:00
vaxerski 49ab3890aa remove polling from socket2, fully event based 2022-10-03 20:47:15 +01:00
Vaxry 85eea70be4 fix commas in free binds 2022-10-03 16:38:05 +01:00
vaxerski 174b593438 optimize removing trailing spaces 2022-10-03 14:36:56 +01:00
vaxerski 0a08830375 Unify arg lists, allow for trailing spaces in args 2022-10-03 14:29:45 +01:00
vaxerski a97621b1cb Added window swallowing 2022-10-01 19:19:15 +01:00
vaxerski 355366714e minor OR XWayland fixes 2022-10-01 18:25:02 +01:00
vaxerski 590fbf808b send a focusedmon event on focus change mon 2022-10-01 10:38:53 +01:00
Vaxry bbeed21e62 fix crash 2022-10-01 08:54:43 +01:00
Felix Dick c6333ba796 Remove unused ignoreCorners variable from texture shaders. 2022-10-01 03:30:58 +02:00
Felix Dick 6fe103cf06 Cut the number of pixels that call length() in half. 2022-10-01 03:14:13 +02:00
Felix Dick 71733f68ef Merge branch 'fix_rounding_in_size_changing_windows' into rework_rounding_shader 2022-10-01 01:35:13 +02:00
vaxerski e6c9e3f81d add case for empty strings in isNumber 2022-09-30 21:54:13 +01:00
vaxerski 7579e03b64 include shaders only in opengl.cpp 2022-09-30 18:38:10 +01:00
vaxerski 1ef23a304a remove redundant attrib setting 2022-09-30 17:04:33 +01:00
vaxerski 3c27d1ab13 optimize vector config value setting 2022-09-30 17:03:14 +01:00
Vaxry 59a3c43913 guard event in maximize request 2022-09-30 10:37:09 +01:00
Felix Dick d867d42366 Merge branch 'main' into fix_rounding_in_size_changing_windows 2022-09-30 01:38:50 +02:00
Felix Dick 6eb7d00386 Send absolute screen coordinates to texture shaders. 2022-09-29 23:19:56 +02:00
vaxerski 2d73da1a79 enter outputs for non-interactive ls-es too 2022-09-29 22:16:43 +01:00
Vaxry 45fe185cb9
Merge pull request #736 from Dickby/fix_bordersize_again
Scale the border size, revert the window scaling according to border
2022-09-29 22:01:06 +01:00
Felix Dick 09268d756f Merge branch 'main' into rework_rounding_shader 2022-09-29 21:15:08 +02:00
Felix Dick e5dced8b3f Merge branch 'main' into fix_rounding_in_size_changing_windows 2022-09-29 21:13:48 +02:00
Felix Dick b38e7b596f Don't pass bottomRight to textureShaders compute it within. 2022-09-29 21:10:05 +02:00
vaxerski da40bf823f apply new node data to all group windows on close 2022-09-29 19:46:33 +01:00
vaxerski caeb0636fa fix crash on dwindle splitratio alter on single group 2022-09-29 19:41:49 +01:00
Felix Dick 1424539e4d Merge branch 'main' into rework_rounding_shader 2022-09-29 20:41:39 +02:00
vaxerski bdd9680adf fix ipc event missing on silent movetoworkspace 2022-09-29 19:33:43 +01:00
vaxerski ff4c22ca90 add fullscreen info to clients request 2022-09-29 19:30:49 +01:00
vaxerski 9f9129e536 focusable checks in nextWindow calls 2022-09-29 16:53:31 +01:00
Felix Dick ab42e4bccf Merge branch 'main' into fix_bordersize_again 2022-09-29 14:29:03 +02:00
Felix Dick 425b07d1e5 Merge branch 'main' into rework_rounding_shader 2022-09-29 14:24:59 +02:00
Vaxry 2636abca2d use the event data for determining maximize status in requests 2022-09-29 10:24:54 +01:00
Vaxry ead0e74471 handle maximize toplevel request 2022-09-29 10:20:17 +01:00
Vaxry dcf5e34bfa
Merge pull request #735 from Dickby/fix_splash_position
Splash position fix
2022-09-29 10:07:27 +01:00
Felix Dick 65fb526d5c Even less branching (taken more or less from the border shader). 2022-09-29 06:56:17 +02:00
Felix Dick 10c4f4ba35 Shift splash up if monitor has wider ratio than bgTexture. 2022-09-29 05:29:03 +02:00
Felix Dick a1319e5110 Merge branch 'main' into fix_bordersize_again 2022-09-29 01:42:28 +02:00
Felix Dick 5233746ac5 Change scaledBorderSize to int. 2022-09-29 01:40:19 +02:00
Felix Dick 0549aa193f fixing your shit. 2022-09-28 23:33:18 +02:00
Felix Dick 168a326609 Merge branch 'main' into rework_rounding_shader 2022-09-28 23:11:11 +02:00
Felix Dick 11ee78f88b Use double literals, don't cast a integer literal to double. 2022-09-28 20:08:41 +02:00
Felix Dick 7edbaea23d Make the rounding texture shaders smaller and more efficient. 2022-09-28 18:40:04 +02:00
vaxerski ec5ffe8839 rewrite isNumber 2022-09-28 15:32:53 +01:00
vaxerski e3b1d3c3c5 allow for pure workspace names in dispatchers 2022-09-28 15:26:41 +01:00
vaxerski 458ba3237b use goalv in movetoworkspace 2022-09-28 15:12:15 +01:00
Felix Dick 5ff44467d7 Avoid 38 files to compile every time a shader is modified. 2022-09-28 14:48:05 +02:00
Felix Dick 87afc8c250 Replace clamp with max if there is no upper bound. 2022-09-26 21:10:24 +02:00
Felix Dick cd2b2c4fba Scale the border size, revert the window scaling according to border 2022-09-26 17:38:08 +02:00
Felix Dick c48336aac3 Scale the cairo matrix to fit the monitor dimensions. 2022-09-26 06:35:00 +02:00
Felix Dick bf3f519eb7 Remove trailing whitespace. 2022-09-25 20:07:48 +02:00
Dickby e476382d08 scale border size in dwindle layout window sizes. 2022-09-25 18:12:42 +02:00
Dickby c885afcbc6
Scale border size in calculations of windows 2022-09-25 12:42:39 +02:00
Vaxry fad5fc587d guard kb settings in xkb translation state 2022-09-24 21:07:18 +01:00
Vaxry 73dbacd16d overwrite wsbind rules on existing 2022-09-24 13:42:18 +01:00
Vaxry 65fb0cf0f6 fix custom rules on null modelist 2022-09-24 13:10:11 +01:00
Vaxry 5101ddeff1 fix oopsies in rule code 2022-09-24 11:30:41 +01:00
Dickby bccc81d306
Fixing my last change
It wasn't a problem with the bug i tried to fix.
But there  would be a problem if some function would dereference pPreviousGroupMember from the node that was PHEAD->pNextGroupMember.
Please don't be mean!
2022-09-23 19:13:05 +02:00
Vaxry 718de0d9fa
Merge pull request #715 from Dickby/main
fix crash
2022-09-23 17:05:04 +01:00
Vaxry fd6116c0cd style 2022-09-23 17:01:27 +01:00
Dickby 00b16888bf
style fix 2022-09-23 17:59:33 +02:00
Vaxry abee2da5bd
Merge pull request #706 from DashieTM/main
Add "highest" mode to Monitor for autoconfiguration.
2022-09-23 16:50:24 +01:00
Vaxry 695411f1bd don't decorate on only no gaps 2022-09-23 16:47:58 +01:00
Dickby f9d8b3096a
fix crash
Fixes #711
2022-09-23 17:01:46 +02:00
Vaxry e5d143b238 support more wlr_cursor events 2022-09-22 21:14:02 +01:00
Vaxry 37f2e1ddbe don't recalc pseudo on fullscreen 2022-09-22 20:57:09 +01:00