Set appid/wmclass for zed window (#10909)
fixes https://github.com/zed-industries/zed/issues/9132 By setting the app id, window managers like `sway` can apply custom configuration like `for_window [app_id="zed"] floating enable`. Tested using `wlprop`/`hyprctl activewindow` for wayland, `xprop` for x11. Release Notes: - Zed now sets the window app id / class, which can be used e.g. in window managers like `sway`/`i3` to define custom rules
This commit is contained in:
parent
5674ba2a49
commit
2386ae9f0e
11 changed files with 46 additions and 2 deletions
|
@ -494,6 +494,21 @@ impl PlatformWindow for X11Window {
|
|||
.unwrap();
|
||||
}
|
||||
|
||||
fn set_app_id(&mut self, app_id: &str) {
|
||||
let mut data = Vec::with_capacity(app_id.len() * 2 + 1);
|
||||
data.extend(app_id.bytes()); // instance https://unix.stackexchange.com/a/494170
|
||||
data.push(b'\0');
|
||||
data.extend(app_id.bytes()); // class
|
||||
|
||||
self.0.xcb_connection.change_property8(
|
||||
xproto::PropMode::REPLACE,
|
||||
self.0.x_window,
|
||||
xproto::AtomEnum::WM_CLASS,
|
||||
xproto::AtomEnum::STRING,
|
||||
&data,
|
||||
);
|
||||
}
|
||||
|
||||
// todo(linux)
|
||||
fn set_edited(&mut self, edited: bool) {}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue