Skip to content

Commit

Permalink
keyboard: Add signal to kde
Browse files Browse the repository at this point in the history
  • Loading branch information
DashieTM committed Jun 12, 2024
1 parent e609d40 commit 6a3138e
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 3 deletions.
2 changes: 1 addition & 1 deletion keyboard_plugin/PKGBUILD
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ pkgrel=0
arch=('x86_64')
pkgdir="/usr/lib/${pkgname}"
pkgdesc="A keyboard plugin for the ReSet settings application."
depends=('rust' 'gtk4' 'dbus')
depends=('gtk4' 'dbus' 'libadwaita')

build() {
mkdir -p pkg
Expand Down
14 changes: 14 additions & 0 deletions keyboard_plugin/src/backend/kde.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
use dbus::blocking::Connection;
use dbus::channel::Sender;
use dbus::{Error, Message};
use re_set_lib::ERROR;
#[cfg(debug_assertions)]
use re_set_lib::{utils::macros::ErrorLevel, write_log_to_file};

use crate::keyboard_layout::KeyboardLayout;
use crate::utils::parse_setting;
use std::process::Command;
use std::time::Duration;

pub fn get_saved_layouts_kde(all_keyboards: &[KeyboardLayout]) -> Vec<KeyboardLayout> {
let output = Command::new("kreadconfig6")
Expand Down Expand Up @@ -72,4 +80,10 @@ pub fn write_to_config_kde(layouts: &[KeyboardLayout]) {
.arg(variant_string)
.output()
.expect("Could not save variants");
let conn = Connection::new_session().unwrap();
let res =
conn.send(Message::new_signal("/Layouts", "org.kde.keyboard", "reloadConfig").unwrap());
if res.is_err() {
ERROR!("Could not apply config", ErrorLevel::PartialBreakage);
}
}
4 changes: 2 additions & 2 deletions monitors/src/backend/kde.rs
Original file line number Diff line number Diff line change
Expand Up @@ -220,10 +220,10 @@ fn convert_modes(
if let Some(hash_mode) = hash_modes.get_mut(&(mode.size.width, mode.size.height)) {
hash_mode
.0
.insert((mode.refreshRate.round() as u32, mode.id.clone()));
.insert((mode.refreshRate.round() as u32, "".into()));
} else {
let mut refresh_rates = HashSet::new();
refresh_rates.insert((mode.refreshRate.round() as u32, mode.id.clone()));
refresh_rates.insert((mode.refreshRate.round() as u32, "".into()));
hash_modes.insert(
(mode.size.width, mode.size.height),
(refresh_rates, mode.id),
Expand Down

0 comments on commit 6a3138e

Please sign in to comment.