gpui: Activate window on Linux (#7617)

Christian Bergschneider created

Release Notes:
- N/A

Hello everyone,
it's me again! This is another todo!(linux) thing in gpui.

Best Regards,
Christian Bergschneider

Change summary

crates/gpui/src/platform/linux/window.rs | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)

Detailed changes

crates/gpui/src/platform/linux/window.rs 🔗

@@ -17,7 +17,10 @@ use std::{
     rc::Rc,
     sync::{self, Arc},
 };
-use xcb::{x, Xid as _};
+use xcb::{
+    x::{self, StackMode},
+    Xid as _,
+};
 
 #[derive(Default)]
 struct Callbacks {
@@ -337,8 +340,12 @@ impl PlatformWindow for LinuxWindow {
         unimplemented!()
     }
 
-    //todo!(linux)
-    fn activate(&self) {}
+    fn activate(&self) {
+        self.0.xcb_connection.send_request(&x::ConfigureWindow {
+            window: self.0.x_window,
+            value_list: &[x::ConfigWindow::StackMode(StackMode::Above)],
+        });
+    }
 
     fn set_title(&mut self, title: &str) {
         self.0.xcb_connection.send_request(&x::ChangeProperty {