Commit graph

768 commits

Author SHA1 Message Date
vaxerski
dd422abb33 schedule frames at the end of avar loop 2022-07-05 16:05:06 +02:00
vaxerski
cc8b8f595f disallow workspace special windowrule 2022-07-04 19:58:51 +02:00
vaxerski
9742ac7596 attempt to fix a specialworkspace crash 2022-07-04 19:41:55 +02:00
vaxerski
beef23cee5 fix vfr frame scheduling 2022-07-04 17:55:33 +02:00
vaxerski
7e38de37a7 fix crash 2022-07-04 17:48:04 +02:00
vaxerski
e0bfec6ef2 added experimental:vfr 2022-07-04 17:47:31 +02:00
vaxerski
c40ef59a35 support monitor names in moving workspaces 2022-07-04 16:51:42 +02:00
vaxerski
c71b76a9e0 fix chromium part 1 2022-07-04 15:58:12 +02:00
vaxerski
853a33888b fix issue with special workspace rules 2022-07-04 12:03:09 +02:00
vaxerski
fc3957d538 optimize workspace in applyNodeData 2022-07-04 00:04:56 +02:00
vaxerski
3df126c675 oops 2022-07-03 23:17:12 +02:00
vaxerski
69e179816b oops last fix didnt fix 2022-07-03 23:16:42 +02:00
vaxerski
a229701f28 fix crash with null pmonitor in special nodes on dwindle 2022-07-03 23:14:51 +02:00
vaxerski
01228fbc9c fix some bugs 2022-07-03 22:54:47 +02:00
vaxerski
f7c4865bac warp size and pos before rule fullscreen 2022-07-03 21:38:39 +02:00
Mihai Fufezan
0a01ec9926
Fix non-focused windows on WS change
Fixes #298
2022-07-03 15:51:32 +03:00
vaxerski
e81de82706 added Vector2D::clamp 2022-07-02 22:17:17 +02:00
vaxerski
9d6999345e don't process new focus when cursor constrained 2022-07-02 20:06:10 +02:00
vaxerski
e77f451e27 minor oopsie 2022-07-01 22:49:12 +02:00
vaxerski
6f4f164071 don't focus layers without keyboard_interactive 2022-07-01 20:14:33 +02:00
Vaxry
3d294b1aaa
Merge pull request #292 from Dakes/focus-window-title
Changed dispatcher: focusWindowByClass -> focusWindow. Now supports titles & classes
2022-07-01 18:20:10 +02:00
vaxerski
7d7e82d446 only do mouseMoveUnified on pix change 2022-07-01 17:59:11 +02:00
Dakes
2225dca576 Add focusWindow dispatcher. Takes titles & classes
Removed focusWindowByClass function, replaced with focusWindow.
Either takes a class matching regex, or a title matching one,
beginning with "title:"
Kept the focuswindowbyclass dispatcher identifier to stay backwards
compatible with existing configs.
2022-07-01 16:24:37 +02:00
vaxerski
868e0f48d0 added debug:disable_logs 2022-07-01 15:57:56 +02:00
vaxerski
1750a7cdbb oops 2022-07-01 11:54:52 +02:00
vaxerski
6f2a36c123 limit events on socket2 to 1024 chars 2022-07-01 10:37:17 +02:00
vaxerski
91d68513de fix possible segfault by realloc 2022-06-30 23:55:28 +02:00
vaxerski
3970b43ea2 fix disabling monitor while hyprland is running 2022-06-30 23:50:57 +02:00
vaxerski
92890d492a fallback on unset device config var 2022-06-30 21:38:06 +02:00
vaxerski
d010ca2049 added per-device config options 2022-06-30 21:26:00 +02:00
vaxerski
4510764f34 finally fix scaled snapshots 2022-06-30 20:02:04 +02:00
vaxerski
96a23eca81 calculate damage properly for layers on commit
since the damageSurface func now works, we can remove this old remnant
2022-06-30 18:46:00 +02:00
vaxerski
990d3f232b fix another crash 2022-06-30 16:11:26 +02:00
vaxerski
97b515edb7 fix crash 2022-06-30 16:00:44 +02:00
vaxerski
328b3fa4bc mordernize pointers 2022-06-30 15:44:26 +02:00
vaxerski
d1564299d2 fix minor bug with new anim optimization 2022-06-30 13:11:10 +02:00
vaxerski
cfc1f6c211 optimize animationmanager 2022-06-30 12:54:58 +02:00
vaxerski
a7ebf0ddc3 added CPU uniform location lookup optimization 2022-06-30 12:39:10 +02:00
vaxerski
4101006b5e remove asserts in CAnimatedVariable 2022-06-30 12:22:24 +02:00
vaxerski
b0cd90a43c refactor a bunch of layout code 2022-06-30 12:09:05 +02:00
vaxerski
ae3ff6736e hyprctl monitors changes 2022-06-29 23:33:51 +02:00
vaxerski
6ce2678970 fix snapshot scaling issue 2022-06-29 22:26:34 +02:00
vaxerski
d28151d255 added foreign support 2022-06-29 22:23:51 +02:00
vaxerski
2659afee3c force workspace events 2022-06-29 18:19:06 +02:00
vaxerski
9391357063 fix focus on maximize 2022-06-29 14:44:24 +02:00
vaxerski
6ec16fdcda damage drag and drop 2022-06-29 14:15:08 +02:00
vaxerski
697ce96d62 temp fix for snapshot size on scaled 2022-06-29 13:08:28 +02:00
vaxerski
31a1b3b192 allow init logs to be saved 2022-06-29 12:58:49 +02:00
vaxerski
8820f7f210 optimization + revert one oopsie 2022-06-29 12:54:53 +02:00
vaxerski
73663a8ba5 fix incorrect snapshot calc for scaled outputs 2022-06-29 12:36:50 +02:00
vaxerski
13acfb1c30 fix disabling in animationmanager 2022-06-29 12:06:09 +02:00
vaxerski
37abe0aedc added debug:damage_blink 2022-06-29 11:44:00 +02:00
vaxerski
5636d2031e simplify damageWindow 2022-06-29 11:21:42 +02:00
vaxerski
9388bb5d55 fix shadows on scaled 2022-06-29 11:13:30 +02:00
vaxerski
6213328d2c default currentrules to null 2022-06-28 16:12:47 +02:00
vaxerski
f7db5eaf50 don't render decos on fullscreen windows 2022-06-28 15:45:38 +02:00
vaxerski
3832720273 fix possible crash in cinputmanager 2022-06-28 15:40:14 +02:00
vaxerski
9fcef41d66 mutliple fixes to subsurface handling 2022-06-28 15:30:46 +02:00
vaxerski
fc5cd49795 don't create a surface tree on xwayland windows 2022-06-28 14:09:14 +02:00
vaxerski
9f407b9018 log window parent for x11 2022-06-28 12:46:32 +02:00
vaxerski
85977fb4dc add xwayland class raw to destroywindow 2022-06-28 12:43:08 +02:00
vaxerski
3cbd69e703 added createworkspace destroyworkspace events 2022-06-28 12:39:56 +02:00
vaxerski
a2e009bd9f log classes in create/destroy 2022-06-28 12:24:21 +02:00
vaxerski
80f04fa7c6 speed up damage log in commit subsurface 2022-06-28 12:20:33 +02:00
vaxerski
8b4a373efa update wlroots dep 2022-06-28 11:30:07 +02:00
vaxerski
c6f7eecf0f set custom if mode not found 2022-06-28 11:12:01 +02:00
vaxerski
1fc1fc9d3b fix focus on close fullscreen 2022-06-27 22:34:37 +02:00
vaxerski
73d0259210 don't guard changes in activateWindow 2022-06-27 22:01:10 +02:00
vaxerski
4443906994 fix fullscreen rule on already fullscreen ws 2022-06-27 20:11:09 +02:00
vaxerski
2cdb29aa10 fix anims with special workspace 2022-06-27 19:46:04 +02:00
vaxerski
213d0f25cf fix oopsie with fullscreen 2022-06-27 19:08:14 +02:00
vaxerski
dfe06cb060 fix crash with decos with null workspaces 2022-06-27 14:07:33 +02:00
vaxerski
5ad8cead7c prevent failed assert 2022-06-27 13:54:33 +02:00
vaxerski
781526dac5 added hyprctl kill 2022-06-27 13:42:20 +02:00
vaxerski
b9a5fc0d2f added pid and title info to hyprctl 2022-06-27 13:17:11 +02:00
vaxerski
bc5fc7fad6 guard shadow w/h 2022-06-27 11:27:02 +02:00
vaxerski
3d48469cb4 fix decos with workspace offset 2022-06-27 00:25:37 +02:00
vaxerski
3263e48675 rerender monitors on config reload 2022-06-26 22:48:31 +02:00
vaxerski
0b1459ef04 typo + fix shadow on multimon 2022-06-26 22:27:03 +02:00
vaxerski
b7b4853301 fix deco on fullscreen 2022-06-26 22:26:13 +02:00
vaxerski
44aeb1fc90 added decoration:shadow_offset 2022-06-26 22:15:06 +02:00
vaxerski
0d6e248f15 bring back alacritty to autogen cfg 2022-06-26 20:35:08 +02:00
vaxerski
0b525cdc63 default to multisample on 2022-06-26 20:09:42 +02:00
vaxerski
6a47a305f8 fix some xwayland popups 2022-06-26 20:08:19 +02:00
vaxerski
1a0b2c4ade rewritten borders, fixed msaa 2022-06-26 19:39:56 +02:00
Vaxry
f1a5cb4979
Merge pull request #252 from squidgyberries/ex-conf-improvements
Made some settings' comments clearer
2022-06-26 14:53:46 +01:00
vaxerski
f5c2dfc706 a bit of fixes to cursor hiding 2022-06-26 13:43:32 +02:00
vaxerski
78bf88ba60 Added fullscreen rule 2022-06-26 12:12:29 +02:00
vaxerski
29aab21033 fix up some stupid default settings (internal) 2022-06-25 23:57:23 +02:00
vaxerski
adead82778 some changes to the sens and use in autogen 2022-06-25 23:40:52 +02:00
vaxerski
45898a57c8 guard windows' validity in focuswindowbyclass 2022-06-25 21:18:33 +02:00
vaxerski
2c8cf6afc4 notify of wiki in case of crashes 2022-06-25 21:16:52 +02:00
vaxerski
316b49eee2 added log level info 2022-06-25 20:50:29 +02:00
vaxerski
8de8f6667e add system info logging 2022-06-25 20:49:06 +02:00
vaxerski
2955698f28 fix fade with deco 2022-06-25 20:31:54 +02:00
vaxerski
747ff3369d added drop shadows 2022-06-25 20:28:40 +02:00
vaxerski
b46f45befa additional keymap reload safety 2022-06-25 11:50:09 +02:00
vaxerski
3842b1641f allow move to 0 0 2022-06-25 11:20:03 +02:00
vaxerski
72c86b99eb added general:cursor_inactive_timeout 2022-06-24 23:27:02 +02:00
vaxerski
eb13be1240 fix one of the stupidest things i've ever written I am embarrassed. 2022-06-24 22:45:30 +02:00
vaxerski
45a44f9690 added noblur 2022-06-24 22:28:54 +02:00
vaxerski
3053f99db6 guard dragging windows in dwindle 2022-06-24 18:37:04 +02:00
vaxerski
e7467c60f9 fix windowrule regex logic and add title: 2022-06-24 16:25:57 +02:00
vaxerski
3e8842e1f8 fix janky pixel maths with scaled textures 2022-06-24 15:59:59 +02:00
vaxerski
81e36298bf dont scale thick in border 2022-06-24 15:52:42 +02:00
vaxerski
218675246f guard pkeyboard in onMouseButton 2022-06-23 21:46:36 +02:00
vaxerski
e4e323a0df dwindle: disallow swaps between workspaces 2022-06-23 20:51:01 +02:00
vaxerski
f76b9c4852 fix: ignore reserved in getWindowInDirection 2022-06-23 20:39:48 +02:00
vaxerski
ae60075226 fix calculating damage offset for oversized popups 2022-06-23 19:32:00 +02:00
vaxerski
b25bafda08 guard null context in applyConfigToKeyboard 2022-06-23 18:52:05 +02:00
vaxerski
4945c5887d reload all keyboards and not only the active 2022-06-23 15:48:31 +02:00
vaxerski
31dc70a41a Added exact to resizeActive and added moveactive 2022-06-23 10:14:59 +02:00
vaxerski
f9745b0d3b allow getWindowInDirection to scan other mons 2022-06-23 09:56:16 +02:00
vaxerski
19d94b87ab Added keybind submaps 2022-06-22 20:23:20 +02:00
vaxerski
770bada5d5 Fixed oversized apps' incorrect layout 2022-06-22 15:45:56 +02:00
vaxerski
499d2e41bf default apply_sens_to_raw to 0 2022-06-22 13:01:59 +02:00
taylor85345
b9f542a60f
Fixed crash on movetoworkspacesilent 2022-06-21 16:13:05 -07:00
vaxerski
4c2459861b fix borders sometimes disappearing on certain windows 2022-06-21 23:09:20 +02:00
vaxerski
0f1ad16aec added general:no_border_on_floating 2022-06-21 22:54:41 +02:00
vaxerski
5541098f20 Added bindl 2022-06-21 22:47:27 +02:00
vaxerski
48e33023af fix crash on number workspace with null mon 2022-06-21 22:42:54 +02:00
vaxerski
0b6c04355a
Merge pull request #239 from SebOuellette/main
Optimize cursor constraints for games
2022-06-21 21:34:31 +01:00
vaxerski
33abb6a5bf dang it autoformat 2022-06-21 22:30:07 +02:00
vaxerski
1810725a0c cleaner code 2022-06-21 22:29:11 +02:00
vaxerski
84d6e640ff support all workspace types in workspace keyword 2022-06-21 22:25:54 +02:00
SebOuellette
20ad9d3e7d Passes all constraint tests!
So a summary of what's been done in this fork/PR. Instead of moving the cursor, we're warp_closest ing. warp_absolute didn't work, so warp closest has kindof an auto constrain feature so it works beautifully. I'm also contraining to the right side of the window - 1, because the cursors are treating that pixel as the next pixel over, so it was actually thinking it was on the next monitor (assuming fullscreen) when the cursor got to the right or bottom of the window. TL;DR rounding issue.

This fix didn't work when you had a fullscreen video playing on a monitor beside, so I also fixed that by ignoring all focus changes or whatever when a constraint actually occured, we obviously just don't want to focus another monitor when constrained, so why not just *disable it when a constraint happened*

The PR is now ready, I love Hyprland, and I can't wait to contribute more :)
2022-06-21 16:25:40 -04:00
vaxerski
4a3f9ccba2 move ignore to eventmanager and fix double focus in changeworkspace 2022-06-21 22:17:30 +02:00
vaxerski
ff49f22440 fix rapid blinking on launch 2022-06-21 22:13:13 +02:00
SebOuellette
3dc2277fd0 Actually, mostly working.
One failure case: When there is a fullscreen window directly to the right of a game, for example, in a multimonitor setup, then the cursor will bug out in between the monitors. sometimes it will get constrained to the border, but just outside the window (which is what this PR fixes, so it's unusual) and sometimes the cursor will just ignore the constraint entirely. However this is only in the one case.
2022-06-21 02:23:57 -04:00
SebOuellette
ee7900f819 Mouse no longer removes focus from constraining window
The window properly constrains the mouse now

I do still notice a bug with moving the mouse in games, if you don't move the mouse fast enough, some games will not register the mouse movement. This doesn't happen in KDE so I know it's related somehow
2022-06-20 23:15:16 -04:00
Sebastian Ouellette
f7e9a27c0a
Merge branch 'vaxerski:main' into main 2022-06-20 22:05:02 -04:00
Caleb Owens
7d80327e7d fixed vertical swapping issue 2022-06-20 17:11:59 +01:00
Caleb Owens
3d46c73981 Added a multiplier for the width to height ratio 2022-06-20 14:37:27 +01:00
vaxerski
f5f531562b
Merge pull request #205 from sp1ritCS/meson
Added meson buildfiles
2022-06-20 13:56:58 +01:00
Sebastian Ouellette
dc84935059
Set the constraint position to the window center (properly)
Missed one expression, it was set to the bottom middle. I missed it because i don't have an extra monitor extending from the bottom of that screen.
2022-06-19 16:54:59 -04:00
Sebastian Ouellette
95e083dbd3
Converted tabs to spaces. Now ready for PR 2022-06-19 16:51:03 -04:00
SebOuellette
5058a74453 Cleaned up some old debug 2022-06-19 16:23:49 -04:00
Sebastian Ouellette
ae1bcc909d
Invisible cursors are constrained to center
This is a first version of my test to properly constrain cursors. This is mostly working in the buggy applications I had before, but I feel that the cursor needs to actually move around, instead of being locked to the center of the window. 

This may cause problems when locking to the edge, but yeah.
2022-06-19 16:07:41 -04:00
Florian "sp1rit"​
7c3626f15e
meson: ensure non-debug builds will use proper configuration
meson will set add -DHYPRLAND_DEBUG to CXXFLAGS during compilation of
debug builds. this avoids NDEBUG issues with wlroots and ensures asserts
will also work on release builds.
2022-06-18 13:09:38 +02:00
Yoni FIRROLONI
f428604b6f undo formatting 2022-06-17 19:51:34 +01:00
Yoni FIRROLONI
2feca08a67 move, set active, recalc, anim on monitor connected 2022-06-17 19:51:34 +01:00
vaxerski
837d4af8f6
Merge pull request #231 from CcydtN/main
Fix zombie process problem
2022-06-17 17:53:47 +01:00
Florian "sp1rit"​
75918c14d7
meson: added wayland dependencies to main executable 2022-06-16 23:30:30 +02:00
Florian "sp1rit"​
c169f94895
moved wlroots/xwayland definitions to the main meson file
prevents build-failure when xwayland is disabled to to
    add_project_arguments('-DNO_XWAYLAND', language: 'cpp')
beeing called after the required wayland protocols have been built.
2022-06-16 23:30:30 +02:00
Florian "sp1rit"​
b3ef1fcc54
replaced source list with globber script
See:
  - https://mesonbuild.com/FAQ.html#why-cant-i-specify-target-files-with-a-wildcard
  - https://github.com/vaxerski/Hyprland/pull/205#issuecomment-1154158918
2022-06-16 23:30:30 +02:00
Florian "sp1rit"​
fd0112425f
Added meson buildfiles
this makes for a far better experience in combination with wlroots,
since that whole makefile mess is not required.
Additionaly, handling of wayland protocol sources is also slightly
better, but could be improved with mesons inbuilt wayland module.

To build Hyprland using meson:
    meson _build -Ddefault_library=static
    ninja -C _build
    ninja -C _build install
2022-06-16 23:30:28 +02:00
CcydtN
b69375a918 Fixing format issue 2022-06-17 03:25:08 +08:00
CcydtN
5fa61e5a54 Fix generating zombie process 2022-06-17 01:14:10 +08:00
bazuin-32
1926bb4659 Resolves #204. Enables numlock on startup when configured to do so. 2022-06-16 10:49:16 -06:00
Bruno Ancona
0c5d2f04b4 Create config directory if it doesn't exist 2022-06-15 01:29:51 -05:00