Tom Benham
07c7235b72
keybinds: Better handling of workspace_back_and_forth ( #4952 )
...
* Removed redundant boolean condition
* Better handling of workspace_back_and_forth when using focusworkspaceoncurrentmonitor dispatcher
* Fixed config acquisition
---------
Co-authored-by: Tom Benham <tom.benham@quadrille.fr>
2024-03-04 17:05:20 +00:00
063708df26
config: improve config value infrastructure
2024-03-03 18:41:38 +00:00
JManch
8ccbd272cc
compositor: ignore grab extend behind special workspaces ( #4944 )
...
* compositor: ignore grab extend behind special workspaces
* ignore the window entirely
2024-03-03 17:04:39 +00:00
Vaxry
d72ea5f2a7
input: Rewritten pointer constraints ( #4889 )
...
* rewritten constraints
* send pointer enter on activate if not pointer focus
* minor cleanup
* simulate movement on commit
* don't ignore oneshot prop
* various fixes
* dont send motion on confined
* update pos hint on region change
2024-03-02 21:04:55 +00:00
GartoxFR
b2c3440477
animations: Refactor AnimatedVariable ( #4911 )
...
* animation: Refactor AnimatedVariable
This commit decomposes the AnimatedVariable class into a base class
with the common attribute to all variable types and a templated derived
type containing strongly typed info on the type being animated.
Access to the typed version is perfomed using the visitor pattern. A
utility is provided to build a visitor on the fly using lambdas.
Adding a new type to be animated should just be a matter of adding the
typed in the list defined by the ANIMABLE_TYPES macro
The size of the commit is justified by the API change in the
AnimatedVariable class. No more vec(), fl() or col() method but a unified
value() method.
* animation: Remove visitor pattern
* animation: Fix coding style
* animation: Fix coding style
2024-03-02 00:35:17 +00:00
2e111c8cf9
xdg: rewrite entire popup implementation
2024-02-29 14:26:02 +00:00
4bc669f933
layers: add fully featured animations
...
Adds configs and layerrules to handle them
alas fixes #981
I have cooked
2024-02-28 15:00:40 +00:00
e3373669e5
wayland: implement keyboard_shortcuts_inhibit_v1
...
fixes #4568
2024-02-27 23:15:24 +00:00
Philip Damianik
60f81b8a23
input: Map touch devices and tablets bound to an output ( #3544 )
...
* Map bound touch devices and tablets to an output
* Add "[[Auto]]" default option for auto detecting outputs for touch inputs
* Bind new monitors to configured touch and tablet devices
* Use Monitor::matchesStaticSelector in CConfigManager::getMonitorRuleFor
* Use Monitor::matchesStaticSelector in CCompositor::getMonitorFromString
2024-02-27 22:11:59 +00:00
bc3f5b94eb
core: nullcheck for old monitor in moveWorkspaceToMonitor
...
fixes #4495
2024-02-26 21:12:12 +00:00
shezdy
a14f6b570f
keybinds: fix focuswindow for fullscreen ( #4840 )
...
* focuswindow fix
* fix format
---------
Co-authored-by: ddmetz <77217897+ddmetz@users.noreply.github.com>
2024-02-26 00:05:20 +00:00
github-usr-name
f9cfec8abb
compositor: allow source monitor to be provided to getMonitorInDirection
( #4837 )
...
Co-authored-by: github-user-name <spam-here@github.com>
2024-02-25 14:03:00 +00:00
thejch
d92da7959a
core: Fix SEGV/ABRT core dump when exiting ( #4823 )
...
* reset input manager first
* move reset
2024-02-24 02:50:54 +00:00
thejch
f389f77015
core: Try to fix the exit hang ( #4811 )
...
* add signal removal
* use a flag instead
* remove signals in cleanup
2024-02-23 16:48:27 +00:00
e83bf4f7b7
core: add env to disable crash reporter
2024-02-22 23:10:59 +00:00
af0c8e299b
input: fix vectorToWindowUnified with floating over fs
...
fixes #4800
2024-02-22 15:42:17 +00:00
c4283abb9f
compositor: check for pworkspace validity in setActiveMonitor
2024-02-22 15:12:51 +00:00
Vaxry
13f6f0b923
Migrate the config to hyprlang ( #4656 )
...
* Migrate to hyprlang
* pop up errors
* fix swapped args
* Meson & Nix: build with hyprlang
* CI: add hyprlang to setup action
* add infra for plugin stuff
* fix hyprctl getoption
* fix hyprctl getoption with json
* format
* fix post parse logic
* fix autogen config
* oops missed exec-once
* fmt
* fix ws rules
* require 0.3.0 for hyprlang
* nix: flaek
* minor type fixes
* fix cfg usages in swipe
* use cvarlist for ws rules
* fix throw in addPluginConfigVar
* Nix: update hyprlang
* minor fixes
* fix disableLogs
* mention hyprlang docs
* bump hyprlang dep in cmake
* Meson: bump min hyprlang version
Nix: update hyprlang
* minor fix
* Nix: update meson patch
---------
Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2024-02-18 15:00:34 +00:00
Alessio Molinari
7e8bcd675d
monitors: fix outputmgr nullptr crash ( #4738 )
2024-02-18 02:24:01 +00:00
Epilepsy Gatherings
2a3429d4cf
internal: add forcenofocus
prop ( #4672 )
...
* add forcenofocus
* change nofocus to overridable var
2024-02-13 18:07:19 +00:00
95abf1220f
keybinds: fix swapactiveworkspaces not moving focus
...
fixes #4626
2024-02-13 17:53:50 +00:00
Sefa Eyeoglu
334a0f03ee
keybinds: Fix focus not moving along when moving workspace ( #4660 )
...
---------
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2024-02-09 23:47:00 +00:00
f085ed4454
screencopy/toplevelexport: sanitize pointers in ::copyFrame
...
oopsie~~ >///<
2024-02-07 00:18:47 +00:00
939696f97e
hyprctl: move to a class and unify commands
2024-02-05 01:56:49 +00:00
MightyPlaza
cbadf3e3f3
input: focus window on mouse down on decoration ( #4514 )
...
Also unifies vectorToWindow funcs
2024-02-04 15:40:20 +00:00
bfcc2adbda
monitor: wrap usage of wlr_output_state
...
for better control and convenience in usage.
fixes #4546
2024-01-28 01:57:13 +00:00
7b3d039388
deps: update wlroots
...
drops requirement for WLR_DRM_NO_ATOMIC provided kernel >= 6.8
2024-01-27 13:58:28 +00:00
Epilepsy Gatherings
5cd7e4587e
compositor: don't close special on focus on pinned ( #4533 )
2024-01-26 12:24:52 +00:00
02b4a9bded
compositor: clarify common errors at launch
2024-01-22 09:46:47 +01:00
17339e0ae9
input: track exclusive LSes
...
ref #4465
2024-01-19 16:45:34 +01:00
5eeec8860e
core: improve cleanup logic
2024-01-19 16:20:30 +01:00
virchau13
3c964a9fdc
keybinds: Add dispatcher for xmonad/qtile-style workspace switching ( #4439 )
...
* feat: implement xmonad/qtile-style workspace switching
Implements the focusWorkspaceOnCurrentMonitor dispatcher and function,
which implements XMonad/Qtile-style workspace switching.
When called, focusWorkspaceOnCurrentMonitor will:
1. Send the requested workspace to the current monitor,
2. If the workspace was previously active on a different monitor,
replace it with the workspace that was previously active on the
current monitor,
3. Focus the workspace on the current monitor.
* fix: address PR comments
2024-01-15 16:30:46 +01:00
Isaac Myhal
b6516bad02
config: Add border gradients to windowrulev2 ( #4335 )
...
* Add border gradients to windowrulev2
* windowrule border gradient: Use CVarList to parse
* windowrule border gradient: No {} around short ifs
2024-01-14 18:27:32 +01:00
Zach DeCook
c4da4b026d
layershell: Fix greedy mouse grab from keyboard_interactive layer ( #4401 )
...
* Layer: Don't allow a keyboard-layer to steal focus from other layers
* Input: Don't change keyboard focus on click if focus is locked
2024-01-12 15:43:16 +01:00
6b92144f15
surface: avoid spam of window surfaces with scale and transform events
...
fixes #4408
2024-01-11 14:07:28 +01:00
252aaaecfa
input: add special_fallthrough
...
fixes #4323
2024-01-09 13:17:55 +01:00
7904188de9
input: allow focusSurface when locked if surfase is sessionLock
2024-01-07 14:04:32 +01:00
Epilepsy Gatherings
666ee61c13
input: leave special on focus ( #4358 )
2024-01-07 12:06:33 +01:00
813af393f1
layout: update rules before applying fullscreen nodes in layouts
2024-01-02 14:21:36 +01:00
MightyPlaza
2ad2e1d5f5
groupbar: add enabling groupbar and setting priority ( #4299 )
2023-12-30 15:18:53 +01:00
f9c13b614c
xdg-shell: fix sending of suspended state
...
fixes #4287
2023-12-29 00:26:23 +01:00
André Silva
bfb4d66c81
compositor: spawn environment setup with keybind manager ( #3722 )
2023-12-26 18:16:59 +01:00
dranull
34b0ce66b3
dwindle: Use window->middle() when cursor is on reserved area ( #4253 )
2023-12-26 17:24:31 +01:00
5aab4a96e3
dispatchers: add tiled/floating to cyclenext
2023-12-24 15:08:48 +01:00
ff75f991a5
compositor: don't block focus if there is no keyboard
2023-12-24 13:20:31 +01:00
d5811283d2
xdgshell: bump to 6, send suspended states
2023-12-23 22:30:56 +01:00
bd952dcef2
systemd: add HYPRLAND_NO_SD_NOTIFY
...
fixes #4217
2023-12-21 22:27:12 +01:00
Ahmed Yasser
79f3888b4b
signal: fix invalid pointer access ( #4207 )
2023-12-20 23:54:52 +01:00
4eb42fab7b
windowrules: add onworkspace
...
cool
2023-12-20 23:52:18 +01:00
Husam Harazi
3771c49a94
filesystem: Set the sticky bit on /tmp/hypr
( #4199 )
...
To prevent unprivileged users from deleting other users' files.
2023-12-20 11:56:15 +00:00
9fd928e114
internal: nuke CWindow::m_bMappedX11
...
it's useless. m_bIsMapped is the same.
2023-12-17 20:00:18 +00:00
e1ed8e11ca
internal: import qt env to dbus
2023-12-15 20:59:13 +00:00
01e5c59d75
Revert "xwayland: push invisible windows outside layout"
...
This reverts commit accb3d8d0b
.
Bad idea
2023-12-13 17:25:19 +00:00
ba2af6f86d
focus: prefer sendMotionEventsToFocused for ensuring cursor image
2023-12-12 14:58:43 +00:00
accb3d8d0b
xwayland: push invisible windows outside layout
...
fixes some xwl focus issues with special especially.
2023-12-12 01:14:36 +00:00
François Conzelmann
e53134ca90
internal: fix interactions with fakefullscreen ( #4113 )
...
- In a maximized window, unstuck fakefullscreen from on state
- In a fakefullscreen window, going in and out of fullscreen state
keep the fakefullscreen state rendered
2023-12-11 16:51:10 +00:00
11d1c50420
windowrules: add focus param
2023-12-08 16:02:16 +00:00
03c6f4506a
internal: various improvements to avoid crashes on exit
2023-12-06 14:46:29 +00:00
5d100bdcbb
opengl: clear layer fade fbs in ~dtor
2023-12-04 02:08:34 +00:00
45d3fbb8d8
opengl: free window framebuffers in ~dtor
...
ref #4036
2023-12-04 01:44:16 +00:00
dranull
59cb0e20de
input: Handle fullscreen windows in vectorToWindowIdeal ( #4021 )
2023-12-03 12:53:12 +00:00
François Conzelmann
1fc1e4e9cb
monitor: remove comma from monitor description ( #3996 )
...
this allows for monitor specific rules to work on monitor with comma on
their description
fixes #2457
2023-11-30 01:48:10 +00:00
d2c3b23ace
deps: update wlroots
2023-11-30 01:18:55 +00:00
Junxuan Liao
929c44e361
input: pass mouse input to IME popups ( #3922 )
2023-11-25 14:27:57 +00:00
Vaxry
2ebfd0c745
renderer: Move to a full Hyprland GL rendering pipeline ( #3920 )
...
Also updates wlroots
2023-11-24 10:54:21 +00:00
MightyPlaza
add23a9ba2
group: fix dragging into floating groups ( #3719 )
...
* allow dragging into floating groups
modified: src/Compositor.cpp
modified: src/Compositor.hpp
modified: src/layout/IHyprLayout.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* floating-only
modified: src/layout/IHyprLayout.cpp
2023-11-19 12:29:01 +00:00
Vaxry
8b57a1973e
internal: Allow floating windows on special ( #3872 )
...
* allow floating on special
* fix mistake
* fix clipbox
2023-11-18 17:00:24 +00:00
84bc0a73f6
compositor: drop unused vectorToWindow func
2023-11-17 15:30:04 +00:00
Alessio Molinari
1bfd4a2bff
output-layout: fix wlroots display handling ( #3718 )
2023-11-12 13:14:05 +00:00
Vaxry
9be6fbf5ea
decorations: Decoration Positioner ( #3800 )
2023-11-11 14:37:17 +00:00
600a128f83
compositor: allow windowfromregex tiled param
2023-11-05 16:22:43 +00:00
55825c301e
compositor: allow windowfromregex floating param
...
fixes #3766
2023-11-05 16:21:47 +00:00
d8b7ded18c
compositor: find windows in direction on floating
2023-11-05 16:18:41 +00:00
74cf2281dd
binds: add movefocus_cycles_fullscreen
...
fixes #3738
2023-11-04 21:03:08 +00:00
Vaxry
55b4f84fea
Internal: Hyprland box implementation ( #3755 )
...
* box impl
* remove unused operators
* missed applyfromwlr
2023-11-04 17:03:05 +00:00
88b47dfa83
xdg: use std::ceil for sending scale to surfaces
...
fixes #3724
2023-11-02 23:29:47 +00:00
Vaxry
21e9313c10
Core: various unsafe state improvements ( #3713 )
...
Fixes #3637
2023-11-01 18:53:36 +00:00
ab5497a0c9
input: properly track xdg surfaces' geometry in vectorToSurfaceLocal
...
fixes #3703
2023-10-30 19:36:45 +00:00
732b058489
input: send motion events on focusWindow if follows_mouse is 0
2023-10-26 22:17:49 +01:00
6650e4ba85
compositor: remove old comment
2023-10-25 18:32:04 +01:00
df00727310
deps: update wlroots
2023-10-25 00:27:16 +01:00
015664eb4c
compositor: do not process fullscreen events in unsafe
2023-10-23 00:53:33 +01:00
Brenno Lemos
b135bd6cd4
workspacerules: Add new optional "default command" for auto-launching apps on new workspaces ( #3559 )
2023-10-22 23:11:03 +01:00
59f27e7f57
compositor: send preferred scale and transform events to surfaces
...
fixes #3635
2023-10-22 16:58:06 +01:00
thejch
bb9d0aed5b
compositor: Fix a lack of a check for workspace equality on same monitors in getInDirection ( #3625 )
...
* prevent movefocus and movewindow from going into main workspace when in special workspace
* compare workspace IDs instead
* change comparison and make code more readable
2023-10-20 10:53:37 +01:00
Philip Damianik
442209942f
cleanup: Replace find() with C++20 starts_with(), ends_with() and contains() ( #3572 )
...
* Replace find() with C++20 starts_with() and ends_with()
* Replace find() with C++20 contains()
2023-10-15 19:07:23 +01:00
MightyPlaza
d537815d43
groups: create group and groupbar config sections ( #3522 )
...
* config: create group section
modified: src/Compositor.cpp
modified: src/config/ConfigManager.cpp
modified: src/layout/DwindleLayout.cpp
modified: src/layout/MasterLayout.cpp
modified: src/managers/KeybindManager.cpp
modified: src/managers/input/InputManager.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* separate group border and groupbar colors
modified: src/Compositor.cpp
modified: src/config/ConfigManager.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* add new line
modified: config/ConfigManager.cpp
2023-10-10 17:42:45 +01:00
Roberto Previdi
df0c8e0f7a
workspacerules: Add a persistent workspace rule ( #3530 )
...
* add persistent flag to workspace rules
* get rid of unused ws->indestructible flag
2023-10-09 20:28:22 +01:00
vaxerski
4b3efc73c5
events: fixup empty events not being sent on unmap
...
Ref #3506 https://github.com/hyprwm/Hyprland/issues/3506#issuecomment-1749508111
2023-10-06 01:11:47 +01:00
vaxerski
a05076a7ee
log: log wlr errors regardless of env
2023-09-30 13:12:04 +01:00
vaxerski
a44ab7748f
renderer: optimize render pipeline when there is a solitary client
2023-09-29 17:51:07 +01:00
vaxerski
27cd7ef0c9
watchdog: initialize after config
2023-09-29 17:04:20 +01:00
vaxerski
9cc614d096
internal: add a watchdog
...
a watchdog will abort processing a signal if a timeout specified via debug:watchdog_timeout is reached.
2023-09-29 16:38:13 +01:00
Vaxry
88b63a00b6
renderer: Tearing implementation ( #3441 )
2023-09-28 21:48:33 +01:00
vaxerski
1f4eab176e
layout: don't discard fullscreen on new tiling
2023-09-28 17:49:40 +01:00
Vaxry
46d66f4bcc
internal: Further unsafe state improvements ( #3404 )
...
Instead of allowing Hyprland to sit in a state where there are no monitors, which various parts of the code don't like, we create a fake headless output on all monitor disconnect, and then remove it when a monitor appears
2023-09-24 18:04:38 +01:00
vaxerski
fb80cbe415
input: properly track mouse focus on drag operations
2023-09-23 01:28:45 +01:00
memchr
ea5d9584da
refactor: manually resets singletons ( #3395 )
2023-09-22 11:06:09 +01:00
memchr
1357b66091
windowrules: add rule group
to map windows grouped ( #3279 )
...
* windows: add rule group to map windows grouped
* group rule: use `invade` to force open a window in a locked group
2023-09-22 00:42:00 +01:00
alaricljs
e4ddfcfa0c
keybinds: implement pushactivetobottom dispacher ( #3217 )
...
Co-authored-by: Leeman <lstrout@enlj.com>
2023-09-21 22:18:26 +01:00
Vaxry
0dbd997003
input: Various constraint handling fixes ( #3381 )
...
Fixes #3204
2023-09-20 16:47:05 +01:00
memchr
3785defaf1
logging: implement std::formatter for some types ( #3380 )
2023-09-20 16:25:03 +01:00
memchr
6594b50e57
logging/format: use std::format_string to catch formatting string errors at compile time ( #3377 )
...
* fix(log): use constexpr format string
* deprecate getFormat
2023-09-20 08:26:20 +01:00
Dickby
d8d0cd75c2
internal: Make part of CCompositor::focusWindow a bit easier to read. ( #3356 )
2023-09-19 11:37:30 +01:00
outfoxxed
b0d5e4008b
layout: Allow the layout to control how windows are raised in groups ( #3275 )
...
* Allow the layout to control how windows are raised in groups
Previously windows could only be focused if they weren't hidden or
were part of a group. This shifts the logic for picking the window out
of a group to the layout allowing for alternate group implementations
to function normally.
* Fix doc comment consistency
* Fix tabs in comments
2023-09-12 22:37:08 +01:00
memchr
bc41d7ec85
fix: inconsistent behaviour where last workspace was not saved ( #3261 )
2023-09-11 23:39:24 +01:00
alaricljs
81661b49aa
windowrules: add % to resizeparams ( #3246 )
...
Co-authored-by: Leeman <lstrout@enlj.com>
2023-09-10 23:26:14 +01:00
memchr
6648274735
fix: focusWindow on hidden workspace triggers another focusWindow. ( #3216 )
...
This commit address an issue where focusing a window on a hidden
workspace inadvertently triggered a second `focusWindow` call due to
simulated mouse movement. This behaviour led to the incorrect focus on
the window under the cursor instead of target window of method
`focusWindow()`, disrupting `focusurgentorlast` and `focuscurrentorlast`
dispatchers. Introduced a flag to the `CMonitor::changeWorkspace()`
method to prevent simulated mouse movements. This flag is set to false
by default. Changed the `focusWindow()` method accordingly to set this
flag to true when the target window is in a hidden workspace.
2023-09-08 19:17:04 +02:00
Philip Damianik
8c83852704
internal: Remove all .c_str()
calls when using std::vformat
( #3198 )
...
Signed-off-by: pdamianik <39028343+pdamianik@users.noreply.github.com>
2023-09-06 21:45:37 +02:00
Vaxry
61a71c65ac
internal: Formatter rework ( #3186 )
2023-09-06 12:51:36 +02:00
vaxerski
2d100bf57e
socket2: add renameWorkspace event
2023-09-05 15:55:24 +02:00
vaxerski
bb0933437f
wlr-ext-workspace: remove protocol impl
...
Various reasons: 1st, memory issues. 2nd, MR got closed (see https://gitlab.freedesktop.org/wlroots/wlr-protocols/-/merge_requests/35 ) 3rd, not needed anymore (waybar has its own hyprland/workspaces module)
2023-09-01 17:10:03 +02:00
vaxerski
b4f123d1f2
compositor: remove wlr_scene refs
...
super old leftovers
2023-08-30 17:22:55 +02:00
Vaxry
4a41d013a2
internal: Fix XDP multi-portal issues ( #3077 )
...
* add a hyprland portals conf
* remove portal checks
* typo
* Nix: remove portal patch
---------
Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-08-26 17:12:21 +02:00
vaxerski
870471dd96
internal: allow opening empty special workspaces
...
Fixes point 2 of #2596
2023-08-25 18:05:08 +02:00
vaxerski
3a1f30519b
compositor: fix offset in auto arrangeMonitors
...
Fixes #3043 , I am an idiot
2023-08-25 13:11:32 +02:00
vaxerski
ba31518ed8
compositor: fix log types
2023-08-22 16:44:33 +02:00
memchr
9ad4a96d18
renderer: update alpha of layers only if active ws ( #2994 )
...
update `alpha` of ZWLR_LAYER_SHELL_V1_LAYER_TOP only when Workspaces is active on the monitor.
2023-08-21 20:55:57 +02:00
memchr
cb59763d32
fix: improved focus behaviour on workspace switching for follow_mouse!=1 ( #3041 )
...
* fix: improved focus behaviour on workspace switching for follow_mouse!=1
When the 'input:follow_mouse' is not set to 1 and the target workspace
for switching does not currently have the previously focused window,
Hyprland will prioritize focusing on the top-left-most window.
* fix : #2451 call simulateMouseMovement.
* unify logic
* multimon fix
---------
Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
2023-08-21 20:54:02 +02:00
vaxerski
9977a8bfd4
compositor: log more in arrangeMonitors
2023-08-21 19:52:34 +02:00
Vaxry
37128bfd43
internal: Wayland Protocol impl improvements ( #2944 )
2023-08-21 19:36:09 +02:00
vaxerski
b79dfcceb4
compositor: fix missed raw throws
2023-08-20 13:58:46 +02:00
vaxerski
7713daa86a
compositor: log thrown runtime exceptions
2023-08-20 11:47:06 +02:00
vaxerski
ebc5fed9b2
compositor: minor cleanup
2023-08-19 19:24:48 +02:00
7e8a212027
internal: allow negative monitor offsets
2023-08-16 18:16:39 +02:00
91e28bbe9d
xwayland: use a completely separate coordinate system
...
Use a completely separate coordinate system for XWayland. This fixes all issues with force_zero_scaling overlaps.
Fixes #2916
2023-08-15 19:15:37 +02:00
7c4daee29a
compositor: fix skipping iterators in arrangeMonitors
2023-08-14 19:27:33 +02:00
b9a783229b
compositor: don't apply offsets in renderer
2023-08-14 18:41:52 +02:00
2110dc1f03
compositor: fix auto positioning offset calcs
2023-08-14 17:31:36 +02:00
13886a264f
internal: add a new monitor auto system
2023-08-14 14:22:10 +02:00
UserSv4
8a7ce59ad4
internal: Fix grouped windows not being properly focused on activation ( #2925 )
...
* Fix grouped windows not being properly focused on activation
This bug could happen if you:
1. Open two Chromium windows in a single group
2. Open some tabs in both of the windows
3. Using tabs search (Ctrl+Shift+A) try to switch to a tab in the second window from the first one.
When this happens any window focus would be lost (hyprctl activewindow starts to output "Invalid") and also the mouse cursor would become centered relatively to the second window.
* Update Compositor.cpp
2023-08-11 17:27:09 +02:00
MightyPlaza
c4c3b590e5
toplevel: patches group toplevel-activated ( #2931 )
...
* patches group toplevel-activated
modified: src/Compositor.cpp
modified: src/Window.cpp
* remove redundant call
modified: src/Compositor.cpp
* fix style
modified: src/Compositor.cpp
2023-08-10 20:06:39 +02:00
c748f36939
internal: add lock files and hyprctl instances
2023-08-08 16:16:40 +02:00
vaxerski
2e6693fbb6
compositor: update window rules on workspace move
2023-08-03 21:59:12 +02:00
vaxerski
f5913135c6
input: add support for cursor-shape-v1
2023-07-24 18:50:17 +02:00
Vaxry
8370a7fcc4
internal: Protocol C++ Wraps + XDGOutput impl ( #2733 )
...
move to our own xdgoutput impl instead of wlr's
2023-07-18 15:30:28 +02:00
Jan Beich
8c9e2e1ff1
deps: update wlroots ( #2734 )
2023-07-18 12:13:59 +02:00
Tuur Vanhoutte
d2eb4fee76
Avoid connected monitor reusing unavailable ID ( #2731 )
2023-07-18 12:12:05 +02:00
MightyPlaza
cacdb424a9
massive-fix ( #2725 )
2023-07-16 21:00:38 +02:00
vaxerski
459afcc47f
idle: fix reverse flag for new idle protocol
2023-07-14 20:02:31 +02:00
vaxerski
f8def68e7e
idle: implement new protocol
2023-07-13 18:05:34 +02:00
MightyPlaza
29d017f54b
monitor desc default workspace but working now ( #2678 )
...
* fix desc check
* fixes crashes when nulptr
2023-07-11 11:29:19 +02:00
MightyPlaza
d9f7f039e1
monitor desc support ( #2670 )
...
* monitor desc
* monitor desc
2023-07-09 23:10:35 +02:00
Tuur Vanhoutte
b99ac063ea
Reuse same ID when reconnecting monitor, otherwise use minimum available ID ( #2666 )
...
Fixes #2601
2023-07-09 23:08:40 +02:00
Mykola Perehudov
41358c6fb5
Cleanup compositor deadcode ( #2657 )
...
* Remove dead code as it is a part of CCompositor::cleanup
* Unify sd_notify logic with Compositor lifetime
2023-07-06 15:24:49 +02:00
vaxerski
18f9fb5e0f
rules: add stayfocused
2023-07-04 12:05:25 +02:00
01f85a09a9
xwayland: send zero scaling to xwayland if enabled
2023-06-23 21:42:44 +02:00
cbe9bf0e69
compositor: move group members properly in moveWindowToWorkspaceSafe
2023-06-21 20:51:18 +02:00
vaxerski
fbabb105c3
gamma: use wlr's new gamma manager event
2023-06-14 13:26:47 +02:00
vaxerski
e8c6d0f51e
compositor: don't set dim percent on disabled dim
2023-06-13 18:51:49 +02:00
memchr
24ed9b061f
feat: add variable to customize locked group border color ( #2507 )
...
added variables:
- general:col.group_border_locked
- general:col.group_border_locked_active
2023-06-13 12:04:54 +02:00
147e962370
deps: update wlroots
2023-06-03 12:20:28 +02:00
e76bd43f53
rules: add nodim
2023-05-31 21:11:20 +02:00
vaxerski
5484411232
compositor: disallow sending pinned to special
2023-05-29 17:46:12 +02:00
vaxerski
086f724951
wlr_ext_workspaces: honor activate from client + format
2023-05-22 19:36:47 +02:00
Anthony Ruhier
d7935356da
input: don't move monitor focus on wp change ( #2320 )
2023-05-17 13:32:59 +01:00
vaxerski
824813fc6a
internal: remove check for negative exact vector args
2023-05-15 15:16:06 +01:00
vaxerski
f2725a374a
render: minor fixes to fullscreen rendering
2023-05-10 18:36:13 +01:00
vaxerski
cc4ccfdbfd
internal: use i64 for workspaces in outofbounds
2023-05-09 14:08:05 +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
4ad03af544
compositor: don't focus pointer in focusWindow
2023-05-06 00:59:25 +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
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
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
fbb938fcf2
internal: don't change ws on active swap
2023-04-28 21:40:44 +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
c0f4e9f52e
internal: moveToWorkspace before setting ws
2023-04-22 21:13:06 +01:00
vaxerski
d03dcc3d99
deps: update wlroots
2023-04-21 15:42:08 +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
vaxerski
8b3d8dc792
Format: use %lx for all addresses
2023-04-17 17:35:28 +01:00
vaxerski
c62ab1bee7
internal: use setSpecialWorkspace on destroy in sanityCheck
2023-04-16 21:33:28 +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
4c4fcc128b
input: fix ls focus in non-input area
2023-04-15 16:53:31 +01:00
vaxerski
287e6c4ede
internal: workspace manip handling rework
2023-04-14 15:03:53 +01:00
vaxerski
260ef788f5
internal: don't sanity check workspaces on internal ws calls
2023-04-13 22:21:11 +01:00
vaxerski
41c7d896e3
internal: prevent premature destroy in moveworkspace
2023-04-13 21:09:50 +01:00
vaxerski
a68feb5aa0
internal: guarantee activeWindow event type
2023-04-12 13:11:38 +01:00
vaxerski
92fecb8ad4
internal: don't iterate special workspaces in move
2023-04-12 11:24:36 +01:00
vaxerski
ea77622e04
input: send null keycodes on focusSurface
2023-04-10 22:37:55 +01:00
vaxerski
366ebc123b
internal: don't remove x11 children on parent remove
2023-04-06 20:59:44 +01:00
vaxerski
a740e3e517
internal: comply to nofocus on vectorToWindow
2023-04-06 13:17:15 +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
e73c6fd3b0
logs: disable stdout after init
2023-03-24 13:00:54 +00:00
471ac474a1
core: remove old redundant shutdown stuff
2023-03-23 03:07:57 +00:00
vaxerski
a8b3be2c9c
config: add misc:suppress_portal_warnings
2023-03-22 12:17:16 +00:00
vaxerski
cb229f6436
compositor: adjust xdp error cases
2023-03-20 22:26:54 +00:00
vaxerski
316674fecf
notifs: use empty color for auto
2023-03-20 15:32:11 +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
5d44ea802a
monitors: guard output when read
2023-03-16 14:03:40 +00:00