mirror of
https://github.com/niri-wm/niri.git
synced 2026-06-24 02:01:18 +07:00
Make output name matching case-insensitive
This commit is contained in:
+3
-3
@@ -714,7 +714,7 @@ impl Tty {
|
|||||||
.borrow()
|
.borrow()
|
||||||
.outputs
|
.outputs
|
||||||
.iter()
|
.iter()
|
||||||
.find(|o| o.name == output_name)
|
.find(|o| o.name.eq_ignore_ascii_case(&output_name))
|
||||||
.cloned()
|
.cloned()
|
||||||
.unwrap_or_default();
|
.unwrap_or_default();
|
||||||
|
|
||||||
@@ -1574,7 +1574,7 @@ impl Tty {
|
|||||||
.borrow()
|
.borrow()
|
||||||
.outputs
|
.outputs
|
||||||
.iter()
|
.iter()
|
||||||
.find(|o| o.name == surface.name)
|
.find(|o| o.name.eq_ignore_ascii_case(&surface.name))
|
||||||
.cloned()
|
.cloned()
|
||||||
.unwrap_or_default();
|
.unwrap_or_default();
|
||||||
if config.off {
|
if config.off {
|
||||||
@@ -1704,7 +1704,7 @@ impl Tty {
|
|||||||
.borrow()
|
.borrow()
|
||||||
.outputs
|
.outputs
|
||||||
.iter()
|
.iter()
|
||||||
.find(|o| o.name == output_name)
|
.find(|o| o.name.eq_ignore_ascii_case(&output_name))
|
||||||
.cloned()
|
.cloned()
|
||||||
.unwrap_or_default();
|
.unwrap_or_default();
|
||||||
|
|
||||||
|
|||||||
+4
-1
@@ -171,7 +171,10 @@ fn process(ctx: &ClientCtx, request: Request) -> Reply {
|
|||||||
}
|
}
|
||||||
Request::Output { output, action } => {
|
Request::Output { output, action } => {
|
||||||
let ipc_outputs = ctx.ipc_outputs.lock().unwrap();
|
let ipc_outputs = ctx.ipc_outputs.lock().unwrap();
|
||||||
let response = if ipc_outputs.contains_key(&output) {
|
let found = ipc_outputs
|
||||||
|
.keys()
|
||||||
|
.any(|name| name.eq_ignore_ascii_case(&output));
|
||||||
|
let response = if found {
|
||||||
OutputConfigChanged::Applied
|
OutputConfigChanged::Applied
|
||||||
} else {
|
} else {
|
||||||
OutputConfigChanged::OutputWasMissing
|
OutputConfigChanged::OutputWasMissing
|
||||||
|
|||||||
+14
-4
@@ -1012,7 +1012,10 @@ impl State {
|
|||||||
for output in self.niri.global_space.outputs() {
|
for output in self.niri.global_space.outputs() {
|
||||||
let name = output.name();
|
let name = output.name();
|
||||||
let config = self.niri.config.borrow_mut();
|
let config = self.niri.config.borrow_mut();
|
||||||
let config = config.outputs.iter().find(|o| o.name == name);
|
let config = config
|
||||||
|
.outputs
|
||||||
|
.iter()
|
||||||
|
.find(|o| o.name.eq_ignore_ascii_case(&name));
|
||||||
|
|
||||||
let scale = config.and_then(|c| c.scale).unwrap_or_else(|| {
|
let scale = config.and_then(|c| c.scale).unwrap_or_else(|| {
|
||||||
let size_mm = output.physical_properties().size;
|
let size_mm = output.physical_properties().size;
|
||||||
@@ -1058,7 +1061,11 @@ impl State {
|
|||||||
pub fn apply_transient_output_config(&mut self, name: &str, action: niri_ipc::OutputAction) {
|
pub fn apply_transient_output_config(&mut self, name: &str, action: niri_ipc::OutputAction) {
|
||||||
{
|
{
|
||||||
let mut config = self.niri.config.borrow_mut();
|
let mut config = self.niri.config.borrow_mut();
|
||||||
let config = if let Some(config) = config.outputs.iter_mut().find(|o| o.name == name) {
|
let config = if let Some(config) = config
|
||||||
|
.outputs
|
||||||
|
.iter_mut()
|
||||||
|
.find(|o| o.name.eq_ignore_ascii_case(name))
|
||||||
|
{
|
||||||
config
|
config
|
||||||
} else {
|
} else {
|
||||||
config.outputs.push(niri_config::Output {
|
config.outputs.push(niri_config::Output {
|
||||||
@@ -1564,7 +1571,7 @@ impl Niri {
|
|||||||
let config = config
|
let config = config
|
||||||
.outputs
|
.outputs
|
||||||
.iter()
|
.iter()
|
||||||
.find(|o| o.name == name)
|
.find(|o| o.name.eq_ignore_ascii_case(&name))
|
||||||
.and_then(|c| c.position);
|
.and_then(|c| c.position);
|
||||||
|
|
||||||
outputs.push(Data {
|
outputs.push(Data {
|
||||||
@@ -1670,7 +1677,10 @@ impl Niri {
|
|||||||
let name = output.name();
|
let name = output.name();
|
||||||
|
|
||||||
let config = self.config.borrow();
|
let config = self.config.borrow();
|
||||||
let c = config.outputs.iter().find(|o| o.name == name);
|
let c = config
|
||||||
|
.outputs
|
||||||
|
.iter()
|
||||||
|
.find(|o| o.name.eq_ignore_ascii_case(&name));
|
||||||
let scale = c.and_then(|c| c.scale).unwrap_or_else(|| {
|
let scale = c.and_then(|c| c.scale).unwrap_or_else(|| {
|
||||||
let size_mm = output.physical_properties().size;
|
let size_mm = output.physical_properties().size;
|
||||||
let resolution = output.current_mode().unwrap().size;
|
let resolution = output.current_mode().unwrap().size;
|
||||||
|
|||||||
@@ -24,6 +24,8 @@ Outputs are matched by connector name (i.e. `eDP-1`, `HDMI-A-1`) which you can f
|
|||||||
Usually, the built-in monitor in laptops will be called `eDP-1`.
|
Usually, the built-in monitor in laptops will be called `eDP-1`.
|
||||||
Matching by output manufacturer and model is planned, but blocked on Smithay adopting libdisplay-info instead of edid-rs.
|
Matching by output manufacturer and model is planned, but blocked on Smithay adopting libdisplay-info instead of edid-rs.
|
||||||
|
|
||||||
|
<sup>Since: 0.1.6</sup> The output name is case-insensitive.
|
||||||
|
|
||||||
### `off`
|
### `off`
|
||||||
|
|
||||||
This flag turns off that output entirely.
|
This flag turns off that output entirely.
|
||||||
|
|||||||
Reference in New Issue
Block a user