Commit Graph

2405 Commits

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