mirror of
https://github.com/hyprwm/Hyprland
synced 2024-11-26 20:45:58 +01:00
Merge branch 'hyprwm:main' into main
This commit is contained in:
commit
0c2010157f
3 changed files with 23 additions and 19 deletions
24
flake.lock
24
flake.lock
|
@ -16,11 +16,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1725016199,
|
"lastModified": 1725199881,
|
||||||
"narHash": "sha256-2TMk7F2a27ZtOUW/bftkDyZKp3OQ71E5XnfKSUT8HZQ=",
|
"narHash": "sha256-jsmipf/u1GFZE5tBUkr56CHMN6VpUWCAjfLIhvQijU0=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "aquamarine",
|
"repo": "aquamarine",
|
||||||
"rev": "cff00196f0fcf734a2bf164eb0dfdb6e58c5c906",
|
"rev": "f8a687dd29ff019657498f1bd14da2fbbf0e604b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -93,11 +93,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1724174162,
|
"lastModified": 1725188252,
|
||||||
"narHash": "sha256-fOOBLwil6M9QWMCiSULwjMQzrXhHXUnEqmjHX5ZHeVI=",
|
"narHash": "sha256-yBH8c4GDaEAtBrh+BqIlrx5vp6gG/Gu8fQQK63KAQgs=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprlang",
|
"repo": "hyprlang",
|
||||||
"rev": "16e5c9465f04477d8a3dd48a0a26bf437986336c",
|
"rev": "c12ab785ce1982f82594aff03b3104c598186ddd",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -154,11 +154,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1724819573,
|
"lastModified": 1725103162,
|
||||||
"narHash": "sha256-GnR7/ibgIH1vhoy8cYdmXE6iyZqKqFxQSVkFgosBh6w=",
|
"narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "71e91c409d1e654808b2621f28a327acfdad8dc2",
|
"rev": "12228ff1752d7b7624a54e9c1af4b222b3c1073b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -209,11 +209,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1724073926,
|
"lastModified": 1725203932,
|
||||||
"narHash": "sha256-nWlUL43jOFHf+KW6Hqrx+W/r1XdXuDyb0wC/SrHsOu4=",
|
"narHash": "sha256-VLULC/OnI+6R9KEP2OIGk+uLJJsfRlaLouZ5gyFd2+Y=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "xdg-desktop-portal-hyprland",
|
"repo": "xdg-desktop-portal-hyprland",
|
||||||
"rev": "a08ecbbf33598924e93542f737fc6169a26b481e",
|
"rev": "2425e8f541525fa7409d9f26a8ffaf92a3767251",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
@ -89,6 +89,10 @@ assert lib.assertMsg (!hidpiXWayland) "The option `hidpiXWayland` has been remov
|
||||||
DIRTY = lib.optionalString (commit == "") "dirty";
|
DIRTY = lib.optionalString (commit == "") "dirty";
|
||||||
HASH = commit;
|
HASH = commit;
|
||||||
|
|
||||||
|
depsBuildBuild = [
|
||||||
|
pkg-config
|
||||||
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
hyprwayland-scanner
|
hyprwayland-scanner
|
||||||
jq
|
jq
|
||||||
|
@ -97,8 +101,7 @@ assert lib.assertMsg (!hidpiXWayland) "The option `hidpiXWayland` has been remov
|
||||||
ninja
|
ninja
|
||||||
pkg-config
|
pkg-config
|
||||||
python3 # for udis86
|
python3 # for udis86
|
||||||
# re-add after https://github.com/NixOS/nixpkgs/pull/214906 hits nixos-unstable
|
wayland-scanner
|
||||||
# wayland-scanner
|
|
||||||
];
|
];
|
||||||
|
|
||||||
outputs = [
|
outputs = [
|
||||||
|
|
|
@ -23,10 +23,9 @@ void CTextInput::initCallbacks() {
|
||||||
listeners.disable = INPUT->events.disable.registerListener([this](std::any p) { onDisabled(); });
|
listeners.disable = INPUT->events.disable.registerListener([this](std::any p) { onDisabled(); });
|
||||||
listeners.commit = INPUT->events.onCommit.registerListener([this](std::any p) { onCommit(); });
|
listeners.commit = INPUT->events.onCommit.registerListener([this](std::any p) { onCommit(); });
|
||||||
listeners.destroy = INPUT->events.destroy.registerListener([this](std::any p) {
|
listeners.destroy = INPUT->events.destroy.registerListener([this](std::any p) {
|
||||||
const auto INPUT = pV3Input.lock();
|
|
||||||
if (INPUT && INPUT->current.enabled && focusedSurface())
|
|
||||||
g_pInputManager->m_sIMERelay.deactivateIME(this);
|
|
||||||
g_pInputManager->m_sIMERelay.removeTextInput(this);
|
g_pInputManager->m_sIMERelay.removeTextInput(this);
|
||||||
|
if (!g_pInputManager->m_sIMERelay.getFocusedTextInput())
|
||||||
|
g_pInputManager->m_sIMERelay.deactivateIME(this);
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
const auto INPUT = pV1Input.lock();
|
const auto INPUT = pV1Input.lock();
|
||||||
|
@ -41,6 +40,8 @@ void CTextInput::initCallbacks() {
|
||||||
listeners.surfaceUnmap.reset();
|
listeners.surfaceUnmap.reset();
|
||||||
listeners.surfaceDestroy.reset();
|
listeners.surfaceDestroy.reset();
|
||||||
g_pInputManager->m_sIMERelay.removeTextInput(this);
|
g_pInputManager->m_sIMERelay.removeTextInput(this);
|
||||||
|
if (!g_pInputManager->m_sIMERelay.getFocusedTextInput())
|
||||||
|
g_pInputManager->m_sIMERelay.deactivateIME(this);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -192,7 +193,7 @@ wl_client* CTextInput::client() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void CTextInput::commitStateToIME(SP<CInputMethodV2> ime) {
|
void CTextInput::commitStateToIME(SP<CInputMethodV2> ime) {
|
||||||
if (isV3()) {
|
if (isV3() && !pV3Input.expired()) {
|
||||||
const auto INPUT = pV3Input.lock();
|
const auto INPUT = pV3Input.lock();
|
||||||
|
|
||||||
if (INPUT->current.surrounding.updated)
|
if (INPUT->current.surrounding.updated)
|
||||||
|
@ -202,7 +203,7 @@ void CTextInput::commitStateToIME(SP<CInputMethodV2> ime) {
|
||||||
|
|
||||||
if (INPUT->current.contentType.updated)
|
if (INPUT->current.contentType.updated)
|
||||||
ime->textContentType(INPUT->current.contentType.hint, INPUT->current.contentType.purpose);
|
ime->textContentType(INPUT->current.contentType.hint, INPUT->current.contentType.purpose);
|
||||||
} else {
|
} else if (!pV1Input.expired()) {
|
||||||
const auto INPUT = pV1Input.lock();
|
const auto INPUT = pV1Input.lock();
|
||||||
|
|
||||||
if (INPUT->pendingSurrounding.isPending)
|
if (INPUT->pendingSurrounding.isPending)
|
||||||
|
|
Loading…
Reference in a new issue