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