gardesk/gartop / 091b5fc

Browse files

Revert "fix gartk API compat: pixel_data(), remove InputEvent::Idle"

This reverts commit a76c9acc47b9dfe58a99f5317f9b588b40dfc69d.
Authored by mfwolffe <wolffemf@dukes.jmu.edu>
SHA
091b5fce75f17c26801c431884cb35fd5d2eb615
Parents
a76c9ac
Tree
0012c2c

1 changed file

StatusFile+-
M gartop/src/gui/app.rs 31 25
gartop/src/gui/app.rsmodified
@@ -1258,8 +1258,13 @@ impl App {
12581258
 
12591259
     /// Blit surface to window.
12601260
     fn blit(&mut self) -> Result<()> {
1261
-        let data = self.renderer.pixel_data()
1262
-            .map_err(|e| anyhow::anyhow!("Failed to get surface data: {}", e))?;
1261
+        let data = {
1262
+            let surface = self.renderer.surface_mut();
1263
+            let data_ref = surface
1264
+                .data()
1265
+                .map_err(|e| anyhow::anyhow!("Failed to get surface data: {}", e))?;
1266
+            data_ref.to_vec()
1267
+        };
12631268
 
12641269
         let conn = self.window.connection();
12651270
         conn.inner().put_image(
@@ -1418,7 +1423,7 @@ impl App {
14181423
     pub fn run(mut self) -> Result<()> {
14191424
         let config = EventLoopConfig {
14201425
             fps: 30,
1421
-            continuous_redraw: true,
1426
+            continuous_redraw: false,
14221427
         };
14231428
         let mut event_loop = EventLoop::new(&self.window, config)?;
14241429
 
@@ -1699,31 +1704,32 @@ impl App {
16991704
                     self.should_quit = true;
17001705
                 }
17011706
 
1702
-                _ => {}
1703
-            }
1704
-
1705
-            // Periodic tasks (run each frame via continuous_redraw)
1706
-            // Clear stale jump pattern (1.5s timeout)
1707
-            if let Some(t) = self.jump_time {
1708
-                if t.elapsed().as_millis() > 1500 && !self.jump_pattern.is_empty() {
1709
-                    self.jump_pattern.clear();
1710
-                    self.jump_time = None;
1711
-                    ev_loop.request_redraw();
1712
-                }
1713
-            }
1707
+                InputEvent::Idle => {
1708
+                    // Clear stale jump pattern (1.5s timeout)
1709
+                    if let Some(t) = self.jump_time {
1710
+                        if t.elapsed().as_millis() > 1500 && !self.jump_pattern.is_empty() {
1711
+                            self.jump_pattern.clear();
1712
+                            self.jump_time = None;
1713
+                            ev_loop.request_redraw();
1714
+                        }
1715
+                    }
17141716
 
1715
-            if self.last_refresh.elapsed().as_secs_f64() >= self.refresh_interval {
1716
-                if self.daemon_available {
1717
-                    self.refresh_data();
1718
-                    self.update_header();
1719
-                    ev_loop.request_redraw();
1720
-                } else {
1721
-                    self.daemon_available = Self::check_daemon();
1722
-                    if self.daemon_available {
1723
-                        ev_loop.request_redraw();
1717
+                    if self.last_refresh.elapsed().as_secs_f64() >= self.refresh_interval {
1718
+                        if self.daemon_available {
1719
+                            self.refresh_data();
1720
+                            self.update_header();
1721
+                            ev_loop.request_redraw();
1722
+                        } else {
1723
+                            self.daemon_available = Self::check_daemon();
1724
+                            if self.daemon_available {
1725
+                                ev_loop.request_redraw();
1726
+                            }
1727
+                            self.last_refresh = Instant::now();
1728
+                        }
17241729
                     }
1725
-                    self.last_refresh = Instant::now();
17261730
                 }
1731
+
1732
+                _ => {}
17271733
             }
17281734
 
17291735
             if ev_loop.needs_redraw() {