cleanup, warnings, dead code, et cetera
This commit is contained in:
parent
ece0eb7903
commit
6404888941
|
@ -13,6 +13,7 @@ impl XftColor {
|
|||
self.inner.pixel
|
||||
}
|
||||
|
||||
#[allow(dead_code)]
|
||||
pub fn color(&self) -> x11::xrender::XRenderColor {
|
||||
self.inner.color
|
||||
}
|
||||
|
|
|
@ -1,10 +1,7 @@
|
|||
#![allow(unreachable_patterns)]
|
||||
use std::{borrow::Borrow, ops::Deref};
|
||||
|
||||
use crate::backends::{
|
||||
keycodes::{MouseButton, VirtualKeyCode},
|
||||
window_event::ModifierState,
|
||||
};
|
||||
use crate::backends::keycodes::{MouseButton, VirtualKeyCode};
|
||||
|
||||
pub fn xev_to_mouse_button(
|
||||
button: &x11::xlib::XButtonEvent,
|
||||
|
@ -81,10 +78,6 @@ impl From<VirtualKeyCode> for XKeySym {
|
|||
}
|
||||
}
|
||||
|
||||
pub fn xlib_state_to_modifier_state(state: u32) -> ModifierState {
|
||||
todo!()
|
||||
}
|
||||
|
||||
/// from winit
|
||||
pub fn keysym_to_virtual_keycode(keysym: u32) -> Option<VirtualKeyCode> {
|
||||
Some(match keysym {
|
||||
|
|
|
@ -1,16 +1,12 @@
|
|||
#![allow(unused_variables, dead_code)]
|
||||
use log::{error, warn};
|
||||
use std::{ffi::CString, rc::Rc};
|
||||
|
||||
use thiserror::Error;
|
||||
|
||||
use x11::xlib::{
|
||||
self, Atom, KeyPress, KeyRelease, Window, XEvent, XInternAtom, XKeyEvent,
|
||||
};
|
||||
use x11::xlib::{self, Atom, Window, XEvent, XInternAtom, XKeyEvent};
|
||||
|
||||
use crate::backends::{
|
||||
keycodes::KeyOrButton, window_event::ModifierKey,
|
||||
xlib::keysym::mouse_button_to_xbutton,
|
||||
keycodes::KeyOrButton, xlib::keysym::mouse_button_to_xbutton,
|
||||
};
|
||||
|
||||
use self::keysym::{
|
||||
|
@ -115,7 +111,6 @@ impl Display {
|
|||
|
||||
pub struct XLib {
|
||||
display: Display,
|
||||
modifier_state: ModifierState,
|
||||
root: Window,
|
||||
screen: i32,
|
||||
atoms: XLibAtoms,
|
||||
|
@ -149,7 +144,6 @@ impl XLib {
|
|||
display,
|
||||
screen,
|
||||
root,
|
||||
modifier_state: ModifierState::empty(),
|
||||
atoms,
|
||||
keybinds: Vec::new(),
|
||||
active_border_color: None,
|
||||
|
@ -374,33 +368,33 @@ impl XLib {
|
|||
}
|
||||
}
|
||||
|
||||
#[allow(non_upper_case_globals)]
|
||||
fn update_modifier_state(&mut self, keyevent: &XKeyEvent) {
|
||||
//keyevent.keycode
|
||||
let keysym = self.keyev_to_keysym(keyevent);
|
||||
// #[allow(non_upper_case_globals)]
|
||||
// fn update_modifier_state(&mut self, keyevent: &XKeyEvent) {
|
||||
// //keyevent.keycode
|
||||
// let keysym = self.keyev_to_keysym(keyevent);
|
||||
|
||||
use x11::keysym::*;
|
||||
// use x11::keysym::*;
|
||||
|
||||
let modifier = match keysym.get() {
|
||||
XK_Shift_L | XK_Shift_R => Some(ModifierKey::Shift),
|
||||
XK_Control_L | XK_Control_R => Some(ModifierKey::Control),
|
||||
XK_Alt_L | XK_Alt_R => Some(ModifierKey::Alt),
|
||||
XK_ISO_Level3_Shift => Some(ModifierKey::AltGr),
|
||||
XK_Caps_Lock => Some(ModifierKey::ShiftLock),
|
||||
XK_Num_Lock => Some(ModifierKey::NumLock),
|
||||
XK_Win_L | XK_Win_R => Some(ModifierKey::Super),
|
||||
XK_Super_L | XK_Super_R => Some(ModifierKey::Super),
|
||||
_ => None,
|
||||
};
|
||||
// let modifier = match keysym.get() {
|
||||
// XK_Shift_L | XK_Shift_R => Some(ModifierKey::Shift),
|
||||
// XK_Control_L | XK_Control_R => Some(ModifierKey::Control),
|
||||
// XK_Alt_L | XK_Alt_R => Some(ModifierKey::Alt),
|
||||
// XK_ISO_Level3_Shift => Some(ModifierKey::AltGr),
|
||||
// XK_Caps_Lock => Some(ModifierKey::ShiftLock),
|
||||
// XK_Num_Lock => Some(ModifierKey::NumLock),
|
||||
// XK_Win_L | XK_Win_R => Some(ModifierKey::Super),
|
||||
// XK_Super_L | XK_Super_R => Some(ModifierKey::Super),
|
||||
// _ => None,
|
||||
// };
|
||||
|
||||
if let Some(modifier) = modifier {
|
||||
match keyevent.type_ {
|
||||
KeyPress => self.modifier_state.insert_mod(modifier),
|
||||
KeyRelease => self.modifier_state.unset_mod(modifier),
|
||||
_ => unreachable!("keyyevent != (KeyPress | KeyRelease)"),
|
||||
}
|
||||
}
|
||||
}
|
||||
// if let Some(modifier) = modifier {
|
||||
// match keyevent.type_ {
|
||||
// KeyPress => self.modifier_state.insert_mod(modifier),
|
||||
// KeyRelease => self.modifier_state.unset_mod(modifier),
|
||||
// _ => unreachable!("keyyevent != (KeyPress | KeyRelease)"),
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
fn get_numlock_mask(&self) -> Option<u32> {
|
||||
unsafe {
|
||||
|
@ -483,6 +477,7 @@ impl XLib {
|
|||
}
|
||||
}
|
||||
|
||||
#[allow(dead_code)]
|
||||
fn ungrab_key_or_button(
|
||||
&self,
|
||||
binding: &KeyOrMouseBind,
|
||||
|
@ -558,9 +553,8 @@ trait ModifierStateExt {
|
|||
|
||||
impl ModifierStateExt for ModifierState {
|
||||
fn as_modmask(&self, xlib: &XLib) -> u32 {
|
||||
let bits = self.bits();
|
||||
let mut mask = 0;
|
||||
let numlock_mask = xlib
|
||||
let _numlock_mask = xlib
|
||||
.get_numlock_mask()
|
||||
.expect("failed to query numlock mask");
|
||||
|
||||
|
@ -899,6 +893,7 @@ impl WindowServerBackend for XLib {
|
|||
}
|
||||
}
|
||||
|
||||
#[allow(dead_code)]
|
||||
struct XLibAtoms {
|
||||
wm_protocols: Atom,
|
||||
wm_delete_window: Atom,
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
#![allow(dead_code, unused_variables)]
|
||||
|
||||
use std::io::Read;
|
||||
|
||||
use log::{debug, error, info, trace, warn};
|
||||
|
|
50
src/state.rs
50
src/state.rs
|
@ -2,11 +2,7 @@ use std::{cell::RefCell, rc::Rc};
|
|||
|
||||
use log::{error, info};
|
||||
|
||||
use x11::xlib::{self, Window, XEvent};
|
||||
use xlib::{
|
||||
XConfigureRequestEvent, XCrossingEvent, XDestroyWindowEvent,
|
||||
XMapRequestEvent, XUnmapEvent,
|
||||
};
|
||||
use x11::xlib::{self, Window};
|
||||
|
||||
use crate::{
|
||||
backends::{
|
||||
|
@ -461,7 +457,7 @@ where
|
|||
if self.config.kill_clients_on_exit {
|
||||
self.clients
|
||||
.iter_all_clients()
|
||||
.for_each(|(&window, client)| self.backend.kill_window(window));
|
||||
.for_each(|(&window, _)| self.backend.kill_window(window));
|
||||
}
|
||||
|
||||
info!("Goodbye.");
|
||||
|
@ -711,48 +707,6 @@ where
|
|||
self.focus_client(&window, true);
|
||||
}
|
||||
|
||||
fn map_request(&mut self, event: &XEvent) {
|
||||
let event: &XMapRequestEvent = event.as_ref();
|
||||
|
||||
if !self.clients.contains(&event.window) {
|
||||
self.new_client(event.window);
|
||||
}
|
||||
}
|
||||
|
||||
fn unmap_notify(&mut self, event: &XEvent) {
|
||||
let event: &XUnmapEvent = event.as_ref();
|
||||
|
||||
self.clients.remove(&event.window);
|
||||
|
||||
self.arrange_clients();
|
||||
}
|
||||
|
||||
fn destroy_notify(&mut self, event: &XEvent) {
|
||||
let event: &XDestroyWindowEvent = event.as_ref();
|
||||
|
||||
self.clients.remove(&event.window);
|
||||
|
||||
self.arrange_clients();
|
||||
}
|
||||
|
||||
fn configure_request(&mut self, event: &XEvent) {
|
||||
let event: &XConfigureRequestEvent = event.as_ref();
|
||||
|
||||
// TODO
|
||||
// match self.clients.get(&event.window).into_option() {
|
||||
// Some(client) => self
|
||||
// .xlib
|
||||
// .configure_client(client, self.clients.get_border()),
|
||||
// None => self.xlib.configure_window(event),
|
||||
// }
|
||||
}
|
||||
|
||||
fn enter_notify(&mut self, event: &XEvent) {
|
||||
let event: &XCrossingEvent = event.as_ref();
|
||||
|
||||
self.focus_client(&event.window, false);
|
||||
}
|
||||
|
||||
/// ensure event.subwindow refers to a valid client.
|
||||
fn start_move_resize_window(&mut self, event: &ButtonEvent<B::Window>) {
|
||||
let window = event.window; // xev.subwindow
|
||||
|
|
Loading…
Reference in a new issue