Commit Graph

2733 Commits

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