mirror of
https://github.com/hyprwm/Hyprland.git
synced 2024-09-11 21:27:20 +03:00
xwayland: fix setting title prop (#6809)
* fix setting xwayland title prop * add window title types
This commit is contained in:
parent
648f824b9e
commit
b03f41efec
@ -153,7 +153,7 @@ static bool lookupParentExists(SP<CXWaylandSurface> XSURF, SP<CXWaylandSurface>
|
|||||||
}
|
}
|
||||||
|
|
||||||
void CXWM::readProp(SP<CXWaylandSurface> XSURF, uint32_t atom, xcb_get_property_reply_t* reply) {
|
void CXWM::readProp(SP<CXWaylandSurface> XSURF, uint32_t atom, xcb_get_property_reply_t* reply) {
|
||||||
std::string propName = "?";
|
std::string propName = std::format("{}?", atom);
|
||||||
for (auto& ha : HYPRATOMS) {
|
for (auto& ha : HYPRATOMS) {
|
||||||
if (ha.second != atom)
|
if (ha.second != atom)
|
||||||
continue;
|
continue;
|
||||||
@ -172,8 +172,10 @@ void CXWM::readProp(SP<CXWaylandSurface> XSURF, uint32_t atom, xcb_get_property_
|
|||||||
XSURF->state.appid.pop_back();
|
XSURF->state.appid.pop_back();
|
||||||
XSURF->events.metadataChanged.emit();
|
XSURF->events.metadataChanged.emit();
|
||||||
} else if (atom == XCB_ATOM_WM_NAME || atom == HYPRATOMS["_NET_WM_NAME"]) {
|
} else if (atom == XCB_ATOM_WM_NAME || atom == HYPRATOMS["_NET_WM_NAME"]) {
|
||||||
size_t len = xcb_get_property_value_length(reply);
|
size_t len = xcb_get_property_value_length(reply);
|
||||||
char* string = (char*)xcb_get_property_value(reply);
|
char* string = (char*)xcb_get_property_value(reply);
|
||||||
|
if (reply->type != HYPRATOMS["UTF8_STRING"] && reply->type != HYPRATOMS["TEXT"] && reply->type != XCB_ATOM_STRING)
|
||||||
|
return;
|
||||||
XSURF->state.title = std::string{string, len};
|
XSURF->state.title = std::string{string, len};
|
||||||
XSURF->events.metadataChanged.emit();
|
XSURF->events.metadataChanged.emit();
|
||||||
} else if (atom == HYPRATOMS["_NET_WM_WINDOW_TYPE"]) {
|
} else if (atom == HYPRATOMS["_NET_WM_WINDOW_TYPE"]) {
|
||||||
@ -520,7 +522,7 @@ bool CXWM::handleSelectionPropertyNotify(xcb_property_notify_event_t* e) {
|
|||||||
|
|
||||||
// Debug::log(ERR, "[xwm] FIXME: CXWM::handleSelectionPropertyNotify stub");
|
// Debug::log(ERR, "[xwm] FIXME: CXWM::handleSelectionPropertyNotify stub");
|
||||||
|
|
||||||
return true;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CXWM::handleSelectionRequest(xcb_selection_request_event_t* e) {
|
void CXWM::handleSelectionRequest(xcb_selection_request_event_t* e) {
|
||||||
|
Loading…
Reference in New Issue
Block a user