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
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