Franz Berger
4afeedbd56
Fix fractional scale updates in some cases ( #2447 )
...
* fix fractional scale update in moveWorkspaceToMonitor
* fix fractional scale update in moveToWorkspace
* Revert "fix fractional scale update in moveWorkspaceToMonitor"
This reverts commit 6612197a38
.
* Revert "fix fractional scale update in moveToWorkspace"
This reverts commit 75d9795a06
.
* move fractional scale code to updateSurfaceOutputs
* remove duplicate check
* remove superfluous setPreferredScale()
2023-06-06 09:48:07 +02:00
10db5a4fdb
xwayland: disconnect events on destroy
...
thanks Kirill Primak
2023-06-05 20:51:47 +02:00
1a4e6e6a4b
window: recalc on deco remove
2023-06-05 09:49:21 +02:00
staz
e4e6ddb075
Make movetoworkspace register previous workspace ( #2436 )
...
* Make movetoworkspace register previous workspace
* style: no braces + format with clang-format
2023-06-05 09:44:13 +02:00
4ef684f615
hyprctl: recalc layout on setprop
2023-06-04 21:35:23 +02:00
2629cfeeab
layouts: make aware of borderSize prop
2023-06-04 21:35:23 +02:00
d83e5b8409
internal: make borderSize prop overridable
2023-06-04 21:35:23 +02:00
c5a7202cd9
noxwl: add missing stubs
2023-06-03 13:01:32 +02:00
147e962370
deps: update wlroots
2023-06-03 12:20:28 +02:00
Cyril Levis
d7db7040d4
feat: add ipc set title window event ( #2419 )
...
* feat: add ipc set title window event
* chore: add EMIT_HOOK_EVENT and change event name
2023-06-03 11:18:49 +02:00
871ab24c6e
internal: properly set monitor props on special windows
2023-06-02 20:14:34 +02:00
ce0f248d20
events: remove old comment
2023-06-02 19:50:02 +02:00
Sinkerine
ca3791fed8
[hyprctl] Expose the special workspace id and name of the monitor ( #2392 )
...
* [hyprctl] Expose the special workspace id of the monitor
So that we know if a special workspace is shown on a monitor
* [hyprctl] Add special workspace name to the output
2023-06-02 13:25:33 +02:00
e76bd43f53
rules: add nodim
2023-05-31 21:11:20 +02:00
baf81cdc5d
input: force focus on movefocus
2023-05-31 20:59:38 +02:00
9f72d508ae
groupbars: fix damage calcs
2023-05-31 19:53:58 +02:00
fd73a7f795
gradient: fix warn
2023-05-31 15:55:54 +02:00
vaxerski
a7cfbdb854
keybinds: fix tryMoveFocusToMonitor with special
2023-05-29 18:11:37 +02:00
vaxerski
1e3571eb5b
layout: don't reset to floating size on drag tiled
2023-05-29 18:05:41 +02:00
vaxerski
5484411232
compositor: disallow sending pinned to special
2023-05-29 17:46:12 +02:00
Jan Beich
f1ad270ff8
vector: restore cmath include after 438d063ec6
( #2394 )
...
src/helpers/Vector2D.cpp:27:26: error: no member named 'floor' in namespace 'std'
return Vector2D(std::floor(x), std::floor(y));
~~~~~^
src/helpers/Vector2D.cpp:27:41: error: no member named 'floor' in namespace 'std'
return Vector2D(std::floor(x), std::floor(y));
~~~~~^
src/helpers/Vector2D.cpp:37:17: error: no member named 'sqrt' in namespace 'std'
return std::sqrt(dx * dx + dy * dy);
~~~~~^
2023-05-29 15:12:00 +02:00
Jeremy Huang
b3a86952cf
focus: fix #1675 window not scrollable after movefocus ( #2390 )
2023-05-29 09:52:36 +02:00
outfoxxed
409ff027f8
Fix UAF in animation end callback if callback deletes the animation ( #2389 )
...
Removes use after free when the end callback deletes the animation as
long as `m_bRemoveEndAfterRan` is false.
2023-05-29 09:51:58 +02:00
vaxerski
438d063ec6
vector: use c++ stdlib math functions instead of cmath
2023-05-28 22:50:13 +02:00
vaxerski
078ba6daa8
groupbars: add text color opt
2023-05-27 17:46:02 +02:00
Jeremy Huang
8afc2f45c7
focus: make cursor follow movewindow ( #2374 )
2023-05-27 12:16:50 +02:00
vaxerski
5f4659afef
xdgshell: check and conform to rigid float sizes on commit
2023-05-26 14:49:03 +02:00
vaxerski
0887e2ee6e
window: reveal current from group on toplevel activate
2023-05-26 13:44:59 +02:00
vaxerski
62e3953f5b
master: guard monitor in recalc
2023-05-26 13:41:52 +02:00
vaxerski
9c9b74179c
pluginapi: add separate window render events
2023-05-26 13:07:45 +02:00
vaxerski
a2bb95fc60
touch: fix double offset in local
2023-05-24 22:19:22 +02:00
vaxerski
12227d7b6a
input: only configure newly added touch devices
2023-05-24 22:17:33 +02:00
vaxerski
a4c120d608
layouts: ignore direction forces on non-map
2023-05-24 19:23:10 +02:00
eriedaberrie
53285a75ad
hyprctl: fix cut-off json outputs ( #2352 )
...
* hyprctl: fix cut-off json outputs
* Address comments
2023-05-24 17:46:56 +02:00
vaxerski
f877d68f4f
launchanim: fix #2291
2023-05-24 15:49:31 +02:00
vaxerski
eb1f832fce
decos: recalc on add
2023-05-23 14:26:38 +02:00
vaxerski
799add8659
groupbars: fix reserved area on titles
2023-05-23 14:18:26 +02:00
vaxerski
90cb5fb672
groupbars: make gradients toggleable
2023-05-22 22:07:32 +02:00
vaxerski
d1ec314a03
groupbars: conserve VRAM by staticizing textures
2023-05-22 22:06:40 +02:00
vaxerski
7bcc01efb7
groupbars: fix minor alignment issues
2023-05-22 21:43:37 +02:00
vaxerski
206ac000b9
groupbars: add title and gradient rendering
2023-05-22 21:40:32 +02:00
vaxerski
1eb6cfd45c
groupbar: make exclusive
2023-05-22 20:52:41 +02:00
vaxerski
088b4a68e6
moveActiveToWorkspace: update last window of old ws
2023-05-22 19:44:10 +02:00
vaxerski
086f724951
wlr_ext_workspaces: honor activate from client + format
2023-05-22 19:36:47 +02:00
Russell Greene
ad244190e0
1483: fix crash on last display disconnect ( #2344 )
2023-05-22 12:18:07 +02:00
maqrrr
9f8c5cb63c
Fix broken pipe crash when event listener terminates ( #2339 )
2023-05-21 14:38:18 +02:00
5627b70981
input: reset cursor hide timer on tablet
2023-05-20 21:15:21 +02:00
Anthony Ruhier
d7935356da
input: don't move monitor focus on wp change ( #2320 )
2023-05-17 13:32:59 +01:00
Anthony Ruhier
9ef7225532
don't swap workspaces if monitors are the same ( #2322 )
...
Return swapActiveWorkspaces early if MON1 and MON2 are equals, to avoid
buggy behavior.
2023-05-17 13:31:03 +01:00
outfoxxed
642030f959
Fix not finding function symbols for hooking ( #2292 )
...
Fixes no useful feedback about failing subcommand.
Fixes function hooks breaking when running under a path containing
spaces.
Replaced old usages with this function where possible.
Complex shell usages now use `execAndGetShell` which is equal to the
old function.
2023-05-16 23:39:14 +03:00
Eric_Luo
b5b9af508a
bug fix ( #2314 )
...
fix float check logic
Co-authored-by: hnboy <hnywolf@gmail.ccom>
2023-05-16 17:43:04 +01:00
vaxerski
d68f8ea668
internal: make CAnimatedVariable non-move non-copy
2023-05-16 12:49:59 +01:00
vaxerski
5b84b0fb44
animationmgr: allow empty avars
2023-05-15 17:11:51 +01:00
vaxerski
824813fc6a
internal: remove check for negative exact vector args
2023-05-15 15:16:06 +01:00
vaxerski
7c207243e4
input: check for matrix availability in touch config
2023-05-14 13:54:55 +01:00
vaxerski
b748b0734f
input: don't refocus on closed window
2023-05-14 13:47:43 +01:00
vaxerski
896a78aaa0
lock: add allow_session_lock_restore
2023-05-13 12:36:36 +01:00
vaxerski
cc01550aff
hyprctl: recalc layout on dynamic workspace
2023-05-12 01:16:27 +01:00
vaxerski
413a36a914
workspacerules: overwrite on existing
2023-05-12 01:15:32 +01:00
vaxerski
86ef85efae
layershell: don't enter on unmapped ls
2023-05-12 01:07:46 +01:00
vaxerski
f2725a374a
render: minor fixes to fullscreen rendering
2023-05-10 18:36:13 +01:00
vaxerski
7fde80f38e
layers: fix wonky focus on multimon
2023-05-09 17:01:18 +01:00
vaxerski
cc4ccfdbfd
internal: use i64 for workspaces in outofbounds
2023-05-09 14:08:05 +01:00
Andrei Alexeyev
2f87e4c2f3
renderer,config: add custom DRM modeline support ( #2254 )
...
This allows specifying custom display resolutions for the DRM backend.
This is useful for display overclocking, working around broken EDIDs,
etc. To use this feature, specify a modeline instead of a resolution
in the config, for example:
monitor = DP-1, modeline 1071.101 3840 3848 3880 3920 2160 2263 2271 2277 +hsync -vsync, 0x0, 1
This example is a custom 3840x2160@120Hz mode with tightened timings.
I use it because the standard timings don't work with my monitor and GPU
combination (M28U with RX580).
The syntax is compatible with Sway and Xorg.
2023-05-09 14:01:45 +01:00
vaxerski
e7c2ea9724
layershell: focus if changed keyboard mode
2023-05-08 19:12:01 +01:00
scorpion-26
826dc61e5c
Add "next on monitor or empty" workspace parameter ( #2198 )
...
* Add "next on monitor or empty" workspace parameter
Implements the following workspace parameter:
r+x/r-x (i.e. r+1): Behaves similar to the "m" parameter, but can also
select empty workspaces and it doesn't wrap around
* Improve code comments
* Implementation V2 for 'r' workspace param
* Rebase to upstream
Should fix CI
* Always set outName
* Include named workspaces
Currently only considers open/active named workspaces
2023-05-08 14:37:59 +01:00
vaxerski
a31dceb2c6
includes: remove redundant from screencopy
2023-05-07 00:11:33 +01:00
vaxerski
1ba7a09bf6
includes: use libdrm prefix for include
2023-05-07 00:11:01 +01:00
vaxerski
afe8d8dfec
monitors: fix some bugs with re-plug
2023-05-06 16:50:15 +01:00
dtop129
7e5ba5e824
Fixed wrong focus changes when moving background workspaces ( #2258 )
2023-05-06 16:13:26 +01:00
vaxerski
83cd5e2ebd
workspaces: minor fixes for multi-special
2023-05-06 16:10:51 +01:00
vaxerski
7f0738bcb3
varlist: allow using s for std::isspace
2023-05-06 01:16:20 +01:00
vaxerski
583b8842e7
configmanager: fix substr offset in default ws rule
2023-05-06 01:10:05 +01:00
Dashie
a8541d5f64
Add split preselection ( #2240 )
2023-05-06 01:02:18 +01:00
vaxerski
4ad03af544
compositor: don't focus pointer in focusWindow
2023-05-06 00:59:25 +01:00
vaxerski
0859944c9a
input: add custom accel profiles
2023-05-05 16:06:13 +01:00
vaxerski
c0be1e2fd8
configmanager: remove useless log from handleWorkspaceRule
2023-05-05 15:42:02 +01:00
vaxerski
7b73a332ea
configmanager: deprecate bindws
2023-05-05 15:41:25 +01:00
vaxerski
a5d63a0324
configmanager: store workspace rules as a deque
2023-05-05 15:33:31 +01:00
vaxerski
8435d6fc12
monitors: toggle special on changeworkspace with special
2023-05-05 15:01:31 +01:00
vaxerski
bf04c83e3d
config: clear layer rules on reload
2023-05-04 18:28:45 +01:00
scorpion-26
c3b9326ba1
Honor debug:enable_stdout_logs on startup ( #2197 )
...
* Honor debug:enable_stdout_logs on startup
disableStdout is set via config in CConfigManager::init(), which is
called early in CCompositor::initServer(). initServer() always disables
stdout logs at the end though, even when stdout is enabled is config. With this commit,
the config is respected.
* Don't spam stdout message
2023-05-03 16:08:01 +01:00
vaxerski
fd3e6a3bfd
workspaces: restore monitor on re-plug
2023-05-03 15:15:56 +01:00
vaxerski
0155b85950
rules: fix monitor rule with names
2023-05-03 14:58:51 +01:00
jacekpoz
a663823af2
only ignore no_gaps_when_only when the workspace rule specifies a border ( #2217 )
...
Co-authored-by: jacekpoz <jacekpoz@cock.li>
2023-05-03 14:48:46 +01:00
vaxerski
72b118cd8f
opengl: don't use new optim with xray off on special tiled
2023-05-02 21:23:53 +01:00
vaxerski
79791c9ed4
internal: fix -Wsign-compare and -Wunused-variable warnings
2023-05-02 14:53:31 +01:00
Yavor Kolev
ac3edec14b
Add activeworkspace
hyprctl command ( #2202 )
...
* Add `activeworkspace` hyprctl command
* fix format in hyprctl
* Make stuff more shared in workspace hyprctl
---------
Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
2023-05-02 14:51:52 +01:00
vaxerski
cde7f79af0
xwayland: allow initial focus to dialogs
2023-05-02 14:44:21 +01:00
levnikmyskin
c949173bc9
Added some workspace-specific rules ( #1986 )
...
* added some workspace-specific rules
* added some worskpace-specific rules, with windowrule like syntax
* monitor is not mandatory anymore
* pointers to config are now static
* fixed optional WorkspaceRule fields
* Windows can now specify border size
* removed CHyprOpenGLImpl::renderBorder borderSize default value
* stuff
---------
Co-authored-by: Alessio Molinari <alessiomolinari@gmail.com>
Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
2023-05-01 22:28:27 +01:00
Jan Beich
250d5cf78c
config: add missing header for libc++ after 3a631e40db
( #2208 )
...
src/config/ConfigManager.cpp:1980:27: error: implicit instantiation of undefined template 'std::basic_stringstream<char>'
std::stringstream error;
^
/usr/include/c++/v1/iosfwd:134:32: note: template is declared here
class _LIBCPP_TEMPLATE_VIS basic_stringstream;
^
2023-05-01 22:24:51 +01:00
vaxerski
45b1e6dc5e
keybinds: simulate workspace switch on focusWindow to another ws
2023-05-01 15:39:08 +01:00
vaxerski
d6b069458d
input: don't refocus on dragging
2023-05-01 15:15:55 +01:00
outfoxxed
3a631e40db
Declarative plugin management ( #2180 )
...
* Declarative plugin management
Allow declaring `plugin` entries in the hyprland configuration.
Plugins will be loaded if an entry is added and unloaded if that entry
is removed.
* Replace pointers with copying in updateconfigPlugins
* Include which plugin was declared twice in error
2023-05-01 15:10:53 +01:00
vaxerski
11b7ce14f8
renderer: fix misused size -> transformed size
2023-05-01 02:53:43 +01:00
vaxerski
ddfeebad3d
Renderer: add init animation
2023-05-01 02:49:41 +01:00
vaxerski
02312cac59
renderer: more checks for background LS optimizations
2023-04-30 01:15:51 +01:00
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
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