Commit Graph

1838 Commits

Author SHA1 Message Date
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