Commit graph

2449 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
c9167d9646 blurls: fix address substr length 2023-03-09 14:24:06 +00:00
ca1c1438e3 Compositor: fix crash on exit 2023-03-09 14:19:54 +00:00
92d2331170 Events: Avoid sending std::nullptr_t in keyboardFocus 2023-03-08 09:46:17 +00:00
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
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
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
dea71875e4 add desc: to getMonitorFromString 2023-03-02 12:04:41 +00:00
76fc12869d nuke cursorSI due to crashes 2023-03-01 22:12:26 +00:00
556c7dd51f reset signal handlers in unrecoverable 2023-03-01 21:55:30 +00:00
52878161e4 add log tail to crash reports 2023-03-01 15:14:35 +00:00
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
71496a0a3c Fix fatal aborts with X11 OR windows 2023-03-01 13:47:40 +00:00
86acdcf8b6 nuke unmanagedx11 vector 2023-03-01 13:15:51 +00:00
ea717731a4 Simplfy framebuffer erasing in cleanupFadingOut 2023-03-01 10:06:15 +00:00
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
89e7d812c8 Include unmapped and hidden windows in hyprctl clients 2023-02-28 12:41:46 +00:00
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
60e37d727d fix cyclenext on empty focus 2023-02-23 14:27:43 +00:00
14a2de0d0e add mouse_left _right 2023-02-23 13:55:27 +00:00
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
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
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
d710e7347a enable single_pixel_buffer_v1 2023-02-16 12:55:52 +00:00
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