cleanup, warnings, dead code, et cetera

This commit is contained in:
Janis 2021-11-28 22:53:06 +01:00
parent ece0eb7903
commit 6404888941
5 changed files with 33 additions and 92 deletions

View file

@ -13,6 +13,7 @@ impl XftColor {
self.inner.pixel
}
#[allow(dead_code)]
pub fn color(&self) -> x11::xrender::XRenderColor {
self.inner.color
}

View file

@ -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 {

View file

@ -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,

View file

@ -1,5 +1,3 @@
#![allow(dead_code, unused_variables)]
use std::io::Read;
use log::{debug, error, info, trace, warn};

View file

@ -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