aboutsummaryrefslogtreecommitdiff
path: root/alacritty/src/input.rs
diff options
context:
space:
mode:
authorKirill Chibisov <contact@kchibisov.com>2020-02-07 16:44:11 +0300
committerGitHub <noreply@github.com>2020-02-07 16:44:11 +0300
commitdb9e8d4b975285947c61189cf9564753531ebf5a (patch)
treeab3ee253497efd8fd5846a06cea9796fd04185f0 /alacritty/src/input.rs
parent6832b86aa7a9adb386394e1caaf373e65297be4e (diff)
downloadr-alacritty-db9e8d4b975285947c61189cf9564753531ebf5a.tar.gz
r-alacritty-db9e8d4b975285947c61189cf9564753531ebf5a.tar.bz2
r-alacritty-db9e8d4b975285947c61189cf9564753531ebf5a.zip
Update glutin to v0.23.0
Fixes #3191. Fixes #3150. Fixes #1465. Fixes #1359.
Diffstat (limited to 'alacritty/src/input.rs')
-rw-r--r--alacritty/src/input.rs17
1 files changed, 15 insertions, 2 deletions
diff --git a/alacritty/src/input.rs b/alacritty/src/input.rs
index b0953cd6..bb89417e 100644
--- a/alacritty/src/input.rs
+++ b/alacritty/src/input.rs
@@ -24,15 +24,19 @@ use std::cmp::Ordering;
use std::marker::PhantomData;
use std::time::Instant;
+use log::{debug, trace, warn};
+
use glutin::event::{
ElementState, KeyboardInput, ModifiersState, MouseButton, MouseScrollDelta, TouchPhase,
};
+use glutin::event_loop::EventLoopWindowTarget;
+#[cfg(target_os = "macos")]
+use glutin::platform::macos::EventLoopWindowTargetExtMacOS;
use glutin::window::CursorIcon;
-use log::{debug, trace, warn};
use alacritty_terminal::ansi::{ClearMode, Handler};
use alacritty_terminal::clipboard::ClipboardType;
-use alacritty_terminal::event::EventListener;
+use alacritty_terminal::event::{Event, EventListener};
use alacritty_terminal::grid::Scroll;
use alacritty_terminal::index::{Column, Line, Point, Side};
use alacritty_terminal::message_bar::{self, Message};
@@ -88,6 +92,7 @@ pub trait ActionContext<T: EventListener> {
fn pop_message(&mut self);
fn message(&self) -> Option<&Message>;
fn config(&self) -> &Config;
+ fn event_loop(&self) -> &EventLoopWindowTarget<Event>;
}
trait Execute<T: EventListener> {
@@ -133,6 +138,9 @@ impl<T: EventListener> Execute<T> for Action {
Action::ToggleFullscreen => ctx.window_mut().toggle_fullscreen(),
#[cfg(target_os = "macos")]
Action::ToggleSimpleFullscreen => ctx.window_mut().toggle_simple_fullscreen(),
+ #[cfg(target_os = "macos")]
+ Action::Hide => ctx.event_loop().hide_application(),
+ #[cfg(not(target_os = "macos"))]
Action::Hide => ctx.window().set_visible(false),
Action::Minimize => ctx.window().set_minimized(true),
Action::Quit => ctx.terminal_mut().exit(),
@@ -766,6 +774,7 @@ mod tests {
use glutin::event::{
ElementState, Event, ModifiersState, MouseButton, VirtualKeyCode, WindowEvent,
};
+ use glutin::event_loop::EventLoopWindowTarget;
use alacritty_terminal::clipboard::{Clipboard, ClipboardType};
use alacritty_terminal::event::{Event as TerminalEvent, EventListener};
@@ -910,6 +919,10 @@ mod tests {
fn config(&self) -> &Config {
self.config
}
+
+ fn event_loop(&self) -> &EventLoopWindowTarget<TerminalEvent> {
+ unimplemented!();
+ }
}
macro_rules! test_clickstate {