autocommit 2022-03-13 22:20:31 CET
This commit is contained in:
parent
156bd5b042
commit
a15a02a95c
38 changed files with 63 additions and 66 deletions
20
Cargo.lock
generated
20
Cargo.lock
generated
|
|
@ -184,7 +184,7 @@ dependencies = [
|
||||||
name = "default-config"
|
name = "default-config"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"i4config",
|
"jay-config",
|
||||||
"log",
|
"log",
|
||||||
"rand",
|
"rand",
|
||||||
]
|
]
|
||||||
|
|
@ -405,7 +405,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
|
checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "i4"
|
name = "isnt"
|
||||||
|
version = "0.1.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "2a7558cc96ddcaf0b4144d7149984ace2899bb29d4ee2999979d429efc305200"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "jay"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ahash",
|
"ahash",
|
||||||
|
|
@ -420,8 +426,8 @@ dependencies = [
|
||||||
"default-config",
|
"default-config",
|
||||||
"env_logger",
|
"env_logger",
|
||||||
"futures",
|
"futures",
|
||||||
"i4config",
|
|
||||||
"isnt",
|
"isnt",
|
||||||
|
"jay-config",
|
||||||
"libloading",
|
"libloading",
|
||||||
"log",
|
"log",
|
||||||
"num-derive",
|
"num-derive",
|
||||||
|
|
@ -443,19 +449,13 @@ dependencies = [
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "i4config"
|
name = "jay-config"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bincode",
|
"bincode",
|
||||||
"log",
|
"log",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "isnt"
|
|
||||||
version = "0.1.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "2a7558cc96ddcaf0b4144d7149984ace2899bb29d4ee2999979d429efc305200"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "lazy_static"
|
name = "lazy_static"
|
||||||
version = "1.4.0"
|
version = "1.4.0"
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
[package]
|
[package]
|
||||||
name = "i4"
|
name = "jay"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
build = "build/build.rs"
|
build = "build/build.rs"
|
||||||
|
|
||||||
[workspace]
|
[workspace]
|
||||||
members = ["i4config", "default-config"]
|
members = ["jay-config", "default-config"]
|
||||||
|
|
||||||
[profile.release]
|
[profile.release]
|
||||||
panic = "abort"
|
panic = "abort"
|
||||||
|
|
@ -39,7 +39,7 @@ bincode = "2.0.0-beta.3"
|
||||||
pangocairo = "0.15.1"
|
pangocairo = "0.15.1"
|
||||||
cairo-rs = { version = "0.15.1", features = ["png"] }
|
cairo-rs = { version = "0.15.1", features = ["png"] }
|
||||||
pango = { version = "0.15.2", features = ["v1_44"] }
|
pango = { version = "0.15.2", features = ["v1_44"] }
|
||||||
i4config = { path = "i4config" }
|
jay-config = { path = "jay-config" }
|
||||||
default-config = { path = "default-config" }
|
default-config = { path = "default-config" }
|
||||||
x11rb = { version = "0.9.0", features = ["composite", "cursor"] }
|
x11rb = { version = "0.9.0", features = ["composite", "cursor"] }
|
||||||
pin-project = "1.0.10"
|
pin-project = "1.0.10"
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,6 @@ edition = "2021"
|
||||||
crate-type = ["lib", "cdylib"]
|
crate-type = ["lib", "cdylib"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
i4config = { path = "../i4config" }
|
jay-config = { path = "../jay-config" }
|
||||||
log = "0.4.14"
|
log = "0.4.14"
|
||||||
rand = "0.8.5"
|
rand = "0.8.5"
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
use i4config::embedded::grab_input_device;
|
use jay_config::embedded::grab_input_device;
|
||||||
use i4config::keyboard::mods::{Modifiers, ALT, CTRL, SHIFT};
|
use jay_config::keyboard::mods::{Modifiers, ALT, CTRL, SHIFT};
|
||||||
use i4config::keyboard::syms::{
|
use jay_config::keyboard::syms::{
|
||||||
SYM_Super_L, SYM_b, SYM_comma, SYM_d, SYM_f, SYM_h, SYM_j, SYM_k, SYM_l, SYM_p, SYM_period,
|
SYM_Super_L, SYM_b, SYM_comma, SYM_d, SYM_f, SYM_h, SYM_j, SYM_k, SYM_l, SYM_p, SYM_period,
|
||||||
SYM_q, SYM_r, SYM_t, SYM_v, SYM_y,
|
SYM_q, SYM_r, SYM_t, SYM_v, SYM_y,
|
||||||
};
|
};
|
||||||
use i4config::theme::{get_title_height, set_title_color, set_title_height, Color};
|
use jay_config::theme::{get_title_height, set_title_color, set_title_height, Color};
|
||||||
use i4config::Axis::{Horizontal, Vertical};
|
use jay_config::Axis::{Horizontal, Vertical};
|
||||||
use i4config::Direction::{Down, Left, Right, Up};
|
use jay_config::Direction::{Down, Left, Right, Up};
|
||||||
use i4config::{config, create_seat, input_devices, on_new_input_device, quit, Command, Seat};
|
use jay_config::{config, create_seat, input_devices, on_new_input_device, quit, Command, Seat};
|
||||||
use rand::Rng;
|
use rand::Rng;
|
||||||
|
|
||||||
const MOD: Modifiers = ALT;
|
const MOD: Modifiers = ALT;
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
[package]
|
[package]
|
||||||
name = "i4config"
|
name = "jay-config"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
|
|
@ -11,7 +11,6 @@ use crate::ErrorFmt;
|
||||||
use bstr::ByteSlice;
|
use bstr::ByteSlice;
|
||||||
use std::cell::Cell;
|
use std::cell::Cell;
|
||||||
use std::rc::Rc;
|
use std::rc::Rc;
|
||||||
use std::time::Instant;
|
|
||||||
use uapi::{c, OwnedFd};
|
use uapi::{c, OwnedFd};
|
||||||
|
|
||||||
const DRM: &[u8] = b"drm";
|
const DRM: &[u8] = b"drm";
|
||||||
|
|
@ -91,7 +90,6 @@ impl MetalBackend {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn handle_input_device_resume(self: &Rc<Self>, dev: &Rc<MetalInputDevice>, fd: Rc<OwnedFd>) {
|
fn handle_input_device_resume(self: &Rc<Self>, dev: &Rc<MetalInputDevice>, fd: Rc<OwnedFd>) {
|
||||||
let start = Instant::now();
|
|
||||||
log::info!("Device resumed: {}", dev.devnode.to_bytes().as_bstr());
|
log::info!("Device resumed: {}", dev.devnode.to_bytes().as_bstr());
|
||||||
if let Some(old) = dev.fd.set(Some(fd)) {
|
if let Some(old) = dev.fd.set(Some(fd)) {
|
||||||
self.state.fdcloser.close(old);
|
self.state.fdcloser.close(old);
|
||||||
|
|
@ -100,7 +98,6 @@ impl MetalBackend {
|
||||||
Ok(d) => d,
|
Ok(d) => d,
|
||||||
Err(_) => return,
|
Err(_) => return,
|
||||||
};
|
};
|
||||||
log::info!("took {:?}", start.elapsed());
|
|
||||||
inputdev.device().set_slot(dev.slot);
|
inputdev.device().set_slot(dev.slot);
|
||||||
dev.inputdev.set(Some(inputdev));
|
dev.inputdev.set(Some(inputdev));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -847,7 +847,7 @@ impl MetalBackend {
|
||||||
mode.hdisplay as _,
|
mode.hdisplay as _,
|
||||||
mode.vdisplay as _,
|
mode.vdisplay as _,
|
||||||
)?)
|
)?)
|
||||||
},
|
}
|
||||||
};
|
};
|
||||||
changes.change_object(primary_plane.id, |c| {
|
changes.change_object(primary_plane.id, |c| {
|
||||||
c.change(primary_plane.fb_id, buffers[0].drm.id().0 as _);
|
c.change(primary_plane.fb_id, buffers[0].drm.id().0 as _);
|
||||||
|
|
|
||||||
|
|
@ -418,7 +418,7 @@ impl XorgBackend {
|
||||||
images,
|
images,
|
||||||
});
|
});
|
||||||
{
|
{
|
||||||
let class = "i4\0i4\0";
|
let class = "jay\0jay\0";
|
||||||
let cookie = con.xcb.xcb_change_property_checked(
|
let cookie = con.xcb.xcb_change_property_checked(
|
||||||
con.c,
|
con.c,
|
||||||
ffi::XCB_PROP_MODE_REPLACE as _,
|
ffi::XCB_PROP_MODE_REPLACE as _,
|
||||||
|
|
|
||||||
|
|
@ -5,10 +5,10 @@ use crate::config::handler::ConfigProxyHandler;
|
||||||
use crate::ifs::wl_seat::SeatId;
|
use crate::ifs::wl_seat::SeatId;
|
||||||
use crate::utils::ptr_ext::PtrExt;
|
use crate::utils::ptr_ext::PtrExt;
|
||||||
use crate::{NumCell, State};
|
use crate::{NumCell, State};
|
||||||
use i4config::_private::ipc::{InitMessage, ServerMessage, V1InitMessage};
|
use jay_config::_private::ipc::{InitMessage, ServerMessage, V1InitMessage};
|
||||||
use i4config::_private::{bincode_ops, ConfigEntry, VERSION};
|
use jay_config::_private::{bincode_ops, ConfigEntry, VERSION};
|
||||||
use i4config::keyboard::ModifiedKeySym;
|
use jay_config::keyboard::ModifiedKeySym;
|
||||||
use i4config::{InputDevice, Seat};
|
use jay_config::{InputDevice, Seat};
|
||||||
use libloading::Library;
|
use libloading::Library;
|
||||||
use std::cell::Cell;
|
use std::cell::Cell;
|
||||||
use std::ptr;
|
use std::ptr;
|
||||||
|
|
@ -68,7 +68,7 @@ unsafe extern "C" fn default_client_init(
|
||||||
extern "C" fn configure() {
|
extern "C" fn configure() {
|
||||||
default_config::configure();
|
default_config::configure();
|
||||||
}
|
}
|
||||||
i4config::_private::client::init(srv_data, srv_unref, srv_handler, msg, size, configure)
|
jay_config::_private::client::init(srv_data, srv_unref, srv_handler, msg, size, configure)
|
||||||
}
|
}
|
||||||
|
|
||||||
impl ConfigProxy {
|
impl ConfigProxy {
|
||||||
|
|
@ -106,8 +106,8 @@ impl ConfigProxy {
|
||||||
let entry = ConfigEntry {
|
let entry = ConfigEntry {
|
||||||
version: VERSION,
|
version: VERSION,
|
||||||
init: default_client_init,
|
init: default_client_init,
|
||||||
unref: i4config::_private::client::unref,
|
unref: jay_config::_private::client::unref,
|
||||||
handle_msg: i4config::_private::client::handle_msg,
|
handle_msg: jay_config::_private::client::handle_msg,
|
||||||
};
|
};
|
||||||
Self::new(None, &entry, state)
|
Self::new(None, &entry, state)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,12 +9,12 @@ use crate::utils::stack::Stack;
|
||||||
use crate::xkbcommon::XkbKeymap;
|
use crate::xkbcommon::XkbKeymap;
|
||||||
use crate::{backend, ErrorFmt, NumCell, State};
|
use crate::{backend, ErrorFmt, NumCell, State};
|
||||||
use bincode::error::DecodeError;
|
use bincode::error::DecodeError;
|
||||||
use i4config::_private::bincode_ops;
|
use jay_config::_private::bincode_ops;
|
||||||
use i4config::_private::ipc::{ClientMessage, Response, ServerMessage};
|
use jay_config::_private::ipc::{ClientMessage, Response, ServerMessage};
|
||||||
use i4config::keyboard::keymap::Keymap;
|
use jay_config::keyboard::keymap::Keymap;
|
||||||
use i4config::keyboard::mods::Modifiers;
|
use jay_config::keyboard::mods::Modifiers;
|
||||||
use i4config::keyboard::syms::KeySym;
|
use jay_config::keyboard::syms::KeySym;
|
||||||
use i4config::{Axis, Direction, InputDevice, LogLevel, Seat};
|
use jay_config::{Axis, Direction, InputDevice, LogLevel, Seat};
|
||||||
use libloading::Library;
|
use libloading::Library;
|
||||||
use log::Level;
|
use log::Level;
|
||||||
use std::cell::Cell;
|
use std::cell::Cell;
|
||||||
|
|
@ -397,20 +397,20 @@ impl ConfigProxyHandler {
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn handle_set_title_color(&self, color: i4config::theme::Color) {
|
fn handle_set_title_color(&self, color: jay_config::theme::Color) {
|
||||||
self.state.theme.title_color.set(color.into());
|
self.state.theme.title_color.set(color.into());
|
||||||
self.colors_change();
|
self.colors_change();
|
||||||
}
|
}
|
||||||
|
|
||||||
fn handle_set_border_color(&self, color: i4config::theme::Color) {
|
fn handle_set_border_color(&self, color: jay_config::theme::Color) {
|
||||||
self.state.theme.border_color.set(color.into());
|
self.state.theme.border_color.set(color.into());
|
||||||
}
|
}
|
||||||
|
|
||||||
fn handle_set_background_color(&self, color: i4config::theme::Color) {
|
fn handle_set_background_color(&self, color: jay_config::theme::Color) {
|
||||||
self.state.theme.background_color.set(color.into());
|
self.state.theme.background_color.set(color.into());
|
||||||
}
|
}
|
||||||
|
|
||||||
fn handle_set_title_underline_color(&self, color: i4config::theme::Color) {
|
fn handle_set_title_underline_color(&self, color: jay_config::theme::Color) {
|
||||||
self.state.theme.underline_color.set(color.into());
|
self.state.theme.underline_color.set(color.into());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ use crate::utils::copyhashmap::CopyHashMap;
|
||||||
use crate::{xwayland, AsyncEngine, AsyncQueue, ErrorFmt, EventLoop, NumCell, State, Wheel};
|
use crate::{xwayland, AsyncEngine, AsyncQueue, ErrorFmt, EventLoop, NumCell, State, Wheel};
|
||||||
use bincode::error::{DecodeError, EncodeError};
|
use bincode::error::{DecodeError, EncodeError};
|
||||||
use bincode::{Decode, Encode};
|
use bincode::{Decode, Encode};
|
||||||
use i4config::_private::bincode_ops;
|
use jay_config::_private::bincode_ops;
|
||||||
use log::Level;
|
use log::Level;
|
||||||
use std::cell::{Cell, RefCell};
|
use std::cell::{Cell, RefCell};
|
||||||
use std::env;
|
use std::env;
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ use crate::async_engine::AsyncFd;
|
||||||
use crate::utils::buffd::{BufFdIn, BufFdOut};
|
use crate::utils::buffd::{BufFdIn, BufFdOut};
|
||||||
use crate::utils::vec_ext::VecExt;
|
use crate::utils::vec_ext::VecExt;
|
||||||
use crate::ForkerError;
|
use crate::ForkerError;
|
||||||
use i4config::_private::bincode_ops;
|
use jay_config::_private::bincode_ops;
|
||||||
use uapi::OwnedFd;
|
use uapi::OwnedFd;
|
||||||
|
|
||||||
pub struct IoIn {
|
pub struct IoIn {
|
||||||
|
|
|
||||||
|
|
@ -175,8 +175,8 @@ impl WlOutput {
|
||||||
physical_width: pos.width(),
|
physical_width: pos.width(),
|
||||||
physical_height: pos.height(),
|
physical_height: pos.height(),
|
||||||
subpixel: SP_UNKNOWN,
|
subpixel: SP_UNKNOWN,
|
||||||
make: "i4",
|
make: "jay",
|
||||||
model: "i4",
|
model: "jay",
|
||||||
transform: TF_NORMAL,
|
transform: TF_NORMAL,
|
||||||
};
|
};
|
||||||
self.client.event(event);
|
self.client.event(event);
|
||||||
|
|
|
||||||
|
|
@ -41,8 +41,8 @@ use crate::xkbcommon::{XkbKeymap, XkbState};
|
||||||
use crate::{ErrorFmt, NumCell, State};
|
use crate::{ErrorFmt, NumCell, State};
|
||||||
use ahash::{AHashMap, AHashSet};
|
use ahash::{AHashMap, AHashSet};
|
||||||
pub use event_handling::NodeSeatState;
|
pub use event_handling::NodeSeatState;
|
||||||
use i4config::keyboard::mods::Modifiers;
|
use jay_config::keyboard::mods::Modifiers;
|
||||||
use i4config::Direction;
|
use jay_config::Direction;
|
||||||
use std::cell::{Cell, RefCell};
|
use std::cell::{Cell, RefCell};
|
||||||
use std::collections::hash_map::Entry;
|
use std::collections::hash_map::Entry;
|
||||||
use std::mem;
|
use std::mem;
|
||||||
|
|
|
||||||
|
|
@ -16,9 +16,9 @@ use crate::utils::clonecell::CloneCell;
|
||||||
use crate::utils::smallmap::SmallMap;
|
use crate::utils::smallmap::SmallMap;
|
||||||
use crate::wire::WlDataOfferId;
|
use crate::wire::WlDataOfferId;
|
||||||
use crate::xkbcommon::{ModifierState, XKB_KEY_DOWN, XKB_KEY_UP};
|
use crate::xkbcommon::{ModifierState, XKB_KEY_DOWN, XKB_KEY_UP};
|
||||||
use i4config::keyboard::mods::Modifiers;
|
use jay_config::keyboard::mods::Modifiers;
|
||||||
use i4config::keyboard::syms::KeySym;
|
use jay_config::keyboard::syms::KeySym;
|
||||||
use i4config::keyboard::ModifiedKeySym;
|
use jay_config::keyboard::ModifiedKeySym;
|
||||||
use smallvec::SmallVec;
|
use smallvec::SmallVec;
|
||||||
use std::ops::Deref;
|
use std::ops::Deref;
|
||||||
use std::rc::Rc;
|
use std::rc::Rc;
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ use crate::wire::{WlOutputId, WlSurfaceId};
|
||||||
use crate::xkbcommon::ModifierState;
|
use crate::xkbcommon::ModifierState;
|
||||||
use crate::NumCell;
|
use crate::NumCell;
|
||||||
use ahash::AHashMap;
|
use ahash::AHashMap;
|
||||||
use i4config::Direction;
|
use jay_config::Direction;
|
||||||
use std::cell::{Cell, RefCell};
|
use std::cell::{Cell, RefCell};
|
||||||
use std::fmt::{Debug, Formatter};
|
use std::fmt::{Debug, Formatter};
|
||||||
use std::mem;
|
use std::mem;
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ use crate::utils::smallmap::SmallMap;
|
||||||
use crate::wire::xdg_surface::*;
|
use crate::wire::xdg_surface::*;
|
||||||
use crate::wire::{WlSurfaceId, XdgPopupId, XdgSurfaceId};
|
use crate::wire::{WlSurfaceId, XdgPopupId, XdgSurfaceId};
|
||||||
use crate::NumCell;
|
use crate::NumCell;
|
||||||
use i4config::Direction;
|
use jay_config::Direction;
|
||||||
use std::cell::Cell;
|
use std::cell::Cell;
|
||||||
use std::fmt::Debug;
|
use std::fmt::Debug;
|
||||||
use std::rc::Rc;
|
use std::rc::Rc;
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ use crate::wire::xdg_toplevel::*;
|
||||||
use crate::wire::XdgToplevelId;
|
use crate::wire::XdgToplevelId;
|
||||||
use crate::{bugs, NumCell};
|
use crate::{bugs, NumCell};
|
||||||
use ahash::{AHashMap, AHashSet};
|
use ahash::{AHashMap, AHashSet};
|
||||||
use i4config::Direction;
|
use jay_config::Direction;
|
||||||
use num_derive::FromPrimitive;
|
use num_derive::FromPrimitive;
|
||||||
use std::cell::{Cell, RefCell};
|
use std::cell::{Cell, RefCell};
|
||||||
use std::fmt::{Debug, Formatter};
|
use std::fmt::{Debug, Formatter};
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ use crate::utils::smallmap::SmallMap;
|
||||||
use crate::wire::WlSurfaceId;
|
use crate::wire::WlSurfaceId;
|
||||||
use crate::xwayland::XWaylandEvent;
|
use crate::xwayland::XWaylandEvent;
|
||||||
use crate::{AsyncQueue, CloneCell, State};
|
use crate::{AsyncQueue, CloneCell, State};
|
||||||
use i4config::Direction;
|
use jay_config::Direction;
|
||||||
use std::cell::{Cell, RefCell};
|
use std::cell::{Cell, RefCell};
|
||||||
use std::rc::Rc;
|
use std::rc::Rc;
|
||||||
use thiserror::Error;
|
use thiserror::Error;
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,7 @@ use crate::tree::{
|
||||||
use crate::udev::Udev;
|
use crate::udev::Udev;
|
||||||
use crate::utils::clonecell::CloneCell;
|
use crate::utils::clonecell::CloneCell;
|
||||||
use crate::utils::errorfmt::ErrorFmt;
|
use crate::utils::errorfmt::ErrorFmt;
|
||||||
|
use crate::utils::fdcloser::FdCloser;
|
||||||
use crate::utils::numcell::NumCell;
|
use crate::utils::numcell::NumCell;
|
||||||
use crate::utils::queue::AsyncQueue;
|
use crate::utils::queue::AsyncQueue;
|
||||||
use crate::utils::run_toplevel::RunToplevel;
|
use crate::utils::run_toplevel::RunToplevel;
|
||||||
|
|
@ -55,7 +56,6 @@ use std::ops::Deref;
|
||||||
use std::rc::Rc;
|
use std::rc::Rc;
|
||||||
use thiserror::Error;
|
use thiserror::Error;
|
||||||
use wheel::Wheel;
|
use wheel::Wheel;
|
||||||
use crate::utils::fdcloser::FdCloser;
|
|
||||||
|
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
mod macros;
|
mod macros;
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,7 @@ use crate::tree::{
|
||||||
};
|
};
|
||||||
use crate::utils::clonecell::CloneCell;
|
use crate::utils::clonecell::CloneCell;
|
||||||
use crate::utils::copyhashmap::CopyHashMap;
|
use crate::utils::copyhashmap::CopyHashMap;
|
||||||
|
use crate::utils::fdcloser::FdCloser;
|
||||||
use crate::utils::linkedlist::LinkedList;
|
use crate::utils::linkedlist::LinkedList;
|
||||||
use crate::utils::numcell::NumCell;
|
use crate::utils::numcell::NumCell;
|
||||||
use crate::utils::queue::AsyncQueue;
|
use crate::utils::queue::AsyncQueue;
|
||||||
|
|
@ -29,7 +30,6 @@ use ahash::AHashMap;
|
||||||
use std::cell::{Cell, RefCell};
|
use std::cell::{Cell, RefCell};
|
||||||
use std::rc::Rc;
|
use std::rc::Rc;
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use crate::utils::fdcloser::FdCloser;
|
|
||||||
|
|
||||||
pub struct State {
|
pub struct State {
|
||||||
pub xkb_ctx: XkbContext,
|
pub xkb_ctx: XkbContext,
|
||||||
|
|
|
||||||
|
|
@ -36,8 +36,8 @@ impl Color {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl From<i4config::theme::Color> for Color {
|
impl From<jay_config::theme::Color> for Color {
|
||||||
fn from(f: i4config::theme::Color) -> Self {
|
fn from(f: jay_config::theme::Color) -> Self {
|
||||||
Self {
|
Self {
|
||||||
r: to_f32(f.r),
|
r: to_f32(f.r),
|
||||||
g: to_f32(f.g),
|
g: to_f32(f.g),
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ use crate::utils::clonecell::CloneCell;
|
||||||
use crate::utils::linkedlist::{LinkedList, LinkedNode, NodeRef};
|
use crate::utils::linkedlist::{LinkedList, LinkedNode, NodeRef};
|
||||||
use crate::{text, ErrorFmt, NumCell, State};
|
use crate::{text, ErrorFmt, NumCell, State};
|
||||||
use ahash::AHashMap;
|
use ahash::AHashMap;
|
||||||
use i4config::{Axis, Direction};
|
use jay_config::{Axis, Direction};
|
||||||
use std::cell::{Cell, RefCell};
|
use std::cell::{Cell, RefCell};
|
||||||
|
|
||||||
use std::fmt::{Debug, Formatter};
|
use std::fmt::{Debug, Formatter};
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ use crate::xkbcommon::ModifierState;
|
||||||
use crate::NumCell;
|
use crate::NumCell;
|
||||||
pub use container::*;
|
pub use container::*;
|
||||||
pub use float::*;
|
pub use float::*;
|
||||||
use i4config::Direction;
|
use jay_config::Direction;
|
||||||
pub use output::*;
|
pub use output::*;
|
||||||
use std::fmt::{Debug, Display};
|
use std::fmt::{Debug, Display};
|
||||||
use std::ops::Deref;
|
use std::ops::Deref;
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
|
use parking_lot::{Condvar, Mutex};
|
||||||
use std::mem;
|
use std::mem;
|
||||||
use std::rc::Rc;
|
use std::rc::Rc;
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use parking_lot::{Condvar, Mutex};
|
|
||||||
use uapi::OwnedFd;
|
use uapi::OwnedFd;
|
||||||
|
|
||||||
pub struct FdCloser {
|
pub struct FdCloser {
|
||||||
|
|
@ -38,7 +38,7 @@ impl FdCloser {
|
||||||
Ok(fd) => {
|
Ok(fd) => {
|
||||||
self.fds.lock().push(fd);
|
self.fds.lock().push(fd);
|
||||||
self.cv.notify_all();
|
self.cv.notify_all();
|
||||||
},
|
}
|
||||||
Err(_e) => {
|
Err(_e) => {
|
||||||
log::warn!("Could not close file descriptor in separate thread. There are still references.");
|
log::warn!("Could not close file descriptor in separate thread. There are still references.");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ pub mod clonecell;
|
||||||
pub mod copyhashmap;
|
pub mod copyhashmap;
|
||||||
pub mod debug_fn;
|
pub mod debug_fn;
|
||||||
pub mod errorfmt;
|
pub mod errorfmt;
|
||||||
|
pub mod fdcloser;
|
||||||
pub mod hex;
|
pub mod hex;
|
||||||
pub mod linkedlist;
|
pub mod linkedlist;
|
||||||
pub mod nonblock;
|
pub mod nonblock;
|
||||||
|
|
@ -22,4 +23,3 @@ pub mod tri;
|
||||||
pub mod vasprintf;
|
pub mod vasprintf;
|
||||||
pub mod vec_ext;
|
pub mod vec_ext;
|
||||||
pub mod vecstorage;
|
pub mod vecstorage;
|
||||||
pub mod fdcloser;
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue