mirror of
https://github.com/xlmnxp/blue-recorder.git
synced 2024-11-23 17:13:11 +03:00
fix draw_mouse
This commit is contained in:
parent
5fb12a8776
commit
b4e6b6393e
@ -258,7 +258,6 @@
|
|||||||
<property name="margin-end">3</property>
|
<property name="margin-end">3</property>
|
||||||
<property name="margin-top">3</property>
|
<property name="margin-top">3</property>
|
||||||
<property name="margin-bottom">3</property>
|
<property name="margin-bottom">3</property>
|
||||||
<property name="active">True</property>
|
|
||||||
<property name="has-tooltip">True</property>
|
<property name="has-tooltip">True</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkGrid">
|
<object class="GtkGrid">
|
||||||
|
@ -87,7 +87,7 @@ file-name = اسم الملفّ الافتراضي:
|
|||||||
file-name-overwritten = اسم الملف (سيُكتَبُ عليه)
|
file-name-overwritten = اسم الملف (سيُكتَبُ عليه)
|
||||||
|
|
||||||
# Follow mouse label
|
# Follow mouse label
|
||||||
follow-mouse = إبراز مؤشر الفأرة
|
follow-mouse = Follow Mouse
|
||||||
|
|
||||||
# Frames label
|
# Frames label
|
||||||
frames = الإطارات:
|
frames = الإطارات:
|
||||||
@ -103,16 +103,16 @@ license =
|
|||||||
لمزيد تفاصيل راجع رخصة جنو العمومية. إن لم تكن حصلت على نسخة من رخصة جنو العمومية مع المسجل الأزرق فانظر { license-website }.
|
لمزيد تفاصيل راجع رخصة جنو العمومية. إن لم تكن حصلت على نسخة من رخصة جنو العمومية مع المسجل الأزرق فانظر { license-website }.
|
||||||
|
|
||||||
# Bitrate label
|
# Bitrate label
|
||||||
bitrate = معدل البت:
|
bitrate = Bitrate:
|
||||||
|
|
||||||
# Recording button
|
# Recording button
|
||||||
record = سجل
|
record = سجل
|
||||||
|
|
||||||
# Record audio label
|
# Record audio label
|
||||||
record-audio = تسجيل صوت اللاقط
|
record-audio = Record Mic
|
||||||
|
|
||||||
# Record speaker label
|
# Record speaker label
|
||||||
record-speaker = تسجيل صوت المكبر
|
record-speaker = Record Speaker
|
||||||
|
|
||||||
# Record video label
|
# Record video label
|
||||||
record-video = تسجيل الصورة
|
record-video = تسجيل الصورة
|
||||||
@ -138,18 +138,18 @@ website = الموقع
|
|||||||
about-tooltip = ما يُستَحسَنُ أن تعلمه عن المسجل الأزرق
|
about-tooltip = ما يُستَحسَنُ أن تعلمه عن المسجل الأزرق
|
||||||
area-tooltip = يحدد المنطقة المُراد تسجيلها
|
area-tooltip = يحدد المنطقة المُراد تسجيلها
|
||||||
audio-source-tooltip = لاختيار مدخل الصوت
|
audio-source-tooltip = لاختيار مدخل الصوت
|
||||||
audio-tooltip = يسجل باستخدام مدخل الصوت
|
audio-tooltip = Mic audio recording
|
||||||
delay-tooltip = مُهلة قبل بدء التسجيل
|
delay-tooltip = مُهلة قبل بدء التسجيل
|
||||||
folder-tooltip = لاختيار مكان التخزين
|
folder-tooltip = لاختيار مكان التخزين
|
||||||
follow-mouse-tooltip = يميز مؤشر الفأرة عند التسجيل
|
follow-mouse-tooltip = Make the grabbed area follow the mouse
|
||||||
format-tooltip = لاختيار صيغة الخَرج
|
format-tooltip = لاختيار صيغة الخَرج
|
||||||
frames-tooltip = عدد الإطارات في الثانية
|
frames-tooltip = عدد الإطارات في الثانية
|
||||||
hide-tooltip = لإخفاء نافذة المسجل الأزرق عند بدء التسجيل
|
hide-tooltip = لإخفاء نافذة المسجل الأزرق عند بدء التسجيل
|
||||||
mouse-tooltip = يظهر مؤشر الفأرة عند التسجيل
|
mouse-tooltip = يظهر مؤشر الفأرة عند التسجيل
|
||||||
bitrate-tooltip = ضبط معدل البت بوحدة KB
|
bitrate-tooltip = Set video bitrate in KB/s
|
||||||
record-tooltip = يبدأ تسجيل الشاشة
|
record-tooltip = يبدأ تسجيل الشاشة
|
||||||
screen-tooltip = يحدد الشاشة ليسجلها
|
screen-tooltip = يحدد الشاشة ليسجلها
|
||||||
speaker-tooltip = يسجل باستخدام مخرج الصوت
|
speaker-tooltip = Speakr sound recording
|
||||||
stop-tooltip = وقف تسجيل الشاشة
|
stop-tooltip = وقف تسجيل الشاشة
|
||||||
video-tooltip = يسجل الشاشة
|
video-tooltip = يسجل الشاشة
|
||||||
wayland-tooltip = غير مدعوم في وايلاند
|
wayland-tooltip = غير مدعوم في وايلاند
|
||||||
|
@ -87,7 +87,7 @@ file-name = اسم الملفّ الافتراضي:
|
|||||||
file-name-overwritten = اسم الملف (سيُكتَبُ عليه)
|
file-name-overwritten = اسم الملف (سيُكتَبُ عليه)
|
||||||
|
|
||||||
# Follow mouse label
|
# Follow mouse label
|
||||||
follow-mouse = إبراز مؤشر الفأرة
|
follow-mouse = Follow Mouse
|
||||||
|
|
||||||
# Frames label
|
# Frames label
|
||||||
frames = الإطارات:
|
frames = الإطارات:
|
||||||
@ -103,16 +103,16 @@ license =
|
|||||||
لمزيد تفاصيل راجع رخصة جنو العمومية. إن لم تكن حصلت على نسخة من رخصة جنو العمومية مع المسجل الأزرق فانظر { license-website }.
|
لمزيد تفاصيل راجع رخصة جنو العمومية. إن لم تكن حصلت على نسخة من رخصة جنو العمومية مع المسجل الأزرق فانظر { license-website }.
|
||||||
|
|
||||||
# Bitrate label
|
# Bitrate label
|
||||||
bitrate = معدل البت:
|
bitrate = Bitrate:
|
||||||
|
|
||||||
# Recording button
|
# Recording button
|
||||||
record = سجل
|
record = سجل
|
||||||
|
|
||||||
# Record audio label
|
# Record audio label
|
||||||
record-audio = تسجيل صوت اللاقط
|
record-audio = Record Mic
|
||||||
|
|
||||||
# Record speaker label
|
# Record speaker label
|
||||||
record-speaker = تسجيل صوت المكبر
|
record-speaker = Record Speaker
|
||||||
|
|
||||||
# Record video label
|
# Record video label
|
||||||
record-video = تسجيل الصورة
|
record-video = تسجيل الصورة
|
||||||
@ -138,18 +138,18 @@ website = الموقع
|
|||||||
about-tooltip = ما يُستَحسَنُ أن تعلمه عن المسجل الأزرق
|
about-tooltip = ما يُستَحسَنُ أن تعلمه عن المسجل الأزرق
|
||||||
area-tooltip = يحدد المنطقة المُراد تسجيلها
|
area-tooltip = يحدد المنطقة المُراد تسجيلها
|
||||||
audio-source-tooltip = لاختيار مدخل الصوت
|
audio-source-tooltip = لاختيار مدخل الصوت
|
||||||
audio-tooltip = يسجل باستخدام مدخل الصوت
|
audio-tooltip = Mic audio recording
|
||||||
delay-tooltip = مُهلة قبل بدء التسجيل
|
delay-tooltip = مُهلة قبل بدء التسجيل
|
||||||
folder-tooltip = لاختيار مكان التخزين
|
folder-tooltip = لاختيار مكان التخزين
|
||||||
follow-mouse-tooltip = يميز مؤشر الفأرة عند التسجيل
|
follow-mouse-tooltip = Make the grabbed area follow the mouse
|
||||||
format-tooltip = لاختيار صيغة الخَرج
|
format-tooltip = لاختيار صيغة الخَرج
|
||||||
frames-tooltip = عدد الإطارات في الثانية
|
frames-tooltip = عدد الإطارات في الثانية
|
||||||
hide-tooltip = لإخفاء نافذة المسجل الأزرق عند بدء التسجيل
|
hide-tooltip = لإخفاء نافذة المسجل الأزرق عند بدء التسجيل
|
||||||
mouse-tooltip = يظهر مؤشر الفأرة عند التسجيل
|
mouse-tooltip = يظهر مؤشر الفأرة عند التسجيل
|
||||||
bitrate-tooltip = ضبط معدل البت بوحدة KB
|
bitrate-tooltip = Set video bitrate in KB/s
|
||||||
record-tooltip = يبدأ تسجيل الشاشة
|
record-tooltip = يبدأ تسجيل الشاشة
|
||||||
screen-tooltip = يحدد الشاشة ليسجلها
|
screen-tooltip = يحدد الشاشة ليسجلها
|
||||||
speaker-tooltip = يسجل باستخدام مخرج الصوت
|
speaker-tooltip = Speakr sound recording
|
||||||
stop-tooltip = وقف تسجيل الشاشة
|
stop-tooltip = وقف تسجيل الشاشة
|
||||||
video-tooltip = يسجل الشاشة
|
video-tooltip = يسجل الشاشة
|
||||||
wayland-tooltip = غير مدعوم في وايلاند
|
wayland-tooltip = غير مدعوم في وايلاند
|
||||||
|
@ -138,12 +138,12 @@ audio-source-tooltip = Select audio source
|
|||||||
audio-tooltip = Mic audio recording
|
audio-tooltip = Mic audio recording
|
||||||
delay-tooltip = Delay time before starting record
|
delay-tooltip = Delay time before starting record
|
||||||
folder-tooltip = Select storage location
|
folder-tooltip = Select storage location
|
||||||
follow-mouse-tooltip = Highlight mouse
|
follow-mouse-tooltip = Make the grabbed area follow the mouse
|
||||||
format-tooltip = Select file format
|
format-tooltip = Select file format
|
||||||
frames-tooltip = Frames rate
|
frames-tooltip = Frames rate
|
||||||
hide-tooltip = Hide window when start recording
|
hide-tooltip = Hide window when start recording
|
||||||
mouse-tooltip = Mouse appears in video recording
|
mouse-tooltip = Mouse appears in video recording
|
||||||
bitrate-tooltip = Set video bitrate in KB
|
bitrate-tooltip = Set video bitrate in KB/s
|
||||||
record-tooltip = Start screen record
|
record-tooltip = Start screen record
|
||||||
screen-tooltip = Select screen to record
|
screen-tooltip = Select screen to record
|
||||||
speaker-tooltip = Speakr sound recording
|
speaker-tooltip = Speakr sound recording
|
||||||
|
@ -138,12 +138,12 @@ audio-source-tooltip = Select audio source
|
|||||||
audio-tooltip = Mic audio recording
|
audio-tooltip = Mic audio recording
|
||||||
delay-tooltip = Delay time before starting record
|
delay-tooltip = Delay time before starting record
|
||||||
folder-tooltip = Select storage location
|
folder-tooltip = Select storage location
|
||||||
follow-mouse-tooltip = Highlight mouse
|
follow-mouse-tooltip = Make the grabbed area follow the mouse
|
||||||
format-tooltip = Select file format
|
format-tooltip = Select file format
|
||||||
frames-tooltip = Frames rate
|
frames-tooltip = Frames rate
|
||||||
hide-tooltip = Hide window when start recording
|
hide-tooltip = Hide window when start recording
|
||||||
mouse-tooltip = Mouse appears in video recording
|
mouse-tooltip = Mouse appears in video recording
|
||||||
bitrate-tooltip = Set video bitrate in KB
|
bitrate-tooltip = Set video bitrate in KB/s
|
||||||
record-tooltip = Start screen record
|
record-tooltip = Start screen record
|
||||||
screen-tooltip = Select screen to record
|
screen-tooltip = Select screen to record
|
||||||
speaker-tooltip = Speakr sound recording
|
speaker-tooltip = Speakr sound recording
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -59,6 +59,7 @@ fn default() {
|
|||||||
set("default", "followmousecheck", "0");
|
set("default", "followmousecheck", "0");
|
||||||
set("default", "hidecheck", "0");
|
set("default", "hidecheck", "0");
|
||||||
set("default", "speakercheck", "0");
|
set("default", "speakercheck", "0");
|
||||||
|
set("default", "mode", "screen");
|
||||||
}
|
}
|
||||||
|
|
||||||
fn merge_previous_version() -> Option<PathBuf> {
|
fn merge_previous_version() -> Option<PathBuf> {
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
extern crate subprocess;
|
extern crate subprocess;
|
||||||
|
use crate::config_management;
|
||||||
use crate::utils::{is_snap, is_wayland};
|
use crate::utils::{is_snap, is_wayland};
|
||||||
use crate::wayland_record::{CursorModeTypes, RecordTypes, WaylandRecorder};
|
use crate::wayland_record::{CursorModeTypes, RecordTypes, WaylandRecorder};
|
||||||
use chrono::prelude::*;
|
use chrono::prelude::*;
|
||||||
@ -85,34 +86,46 @@ impl Ffmpeg {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if self.record_video.is_active() && !is_wayland() {
|
if self.record_video.is_active() && !is_wayland() {
|
||||||
let mut ffmpeg_command = FfmpegCommand::new();
|
let mode = config_management::get("default", "mode");
|
||||||
|
let format = "x11grab";
|
||||||
// if show mouse switch is enabled, draw the mouse to video
|
let display = format!("{}+{},{}",
|
||||||
let draw_mouse = if self.record_mouse.is_active() {
|
std::env::var("DISPLAY").unwrap_or_else(|_| ":0".to_string())
|
||||||
"-draw_mouse 1"
|
|
||||||
} else {
|
|
||||||
"-draw_mouse 0"
|
|
||||||
};
|
|
||||||
|
|
||||||
// record video with specified width and hight
|
|
||||||
ffmpeg_command.size(width.into(), height.into())
|
|
||||||
.format("x11grab").args(draw_mouse.split(' '))
|
|
||||||
.input(format!("{}+{},{}", std::env::var("DISPLAY").unwrap_or_else(|_| ":0".to_string())
|
|
||||||
.as_str(),
|
.as_str(),
|
||||||
x,
|
x,
|
||||||
y
|
y
|
||||||
));
|
);
|
||||||
|
let mut ffmpeg_command = FfmpegCommand::new();
|
||||||
|
|
||||||
// Disable frame rate if value is zero
|
// record video with specified width and hight
|
||||||
if self.record_frames.value() > 0.0 {
|
if self.follow_mouse.is_active() && mode.as_str() == "screen" {
|
||||||
ffmpeg_command.rate(self.record_frames.value() as f32);
|
let width = width as f32 * 0.95;
|
||||||
|
let height = height as f32 * 0.95;
|
||||||
|
ffmpeg_command.size(width as u32, height as u32);
|
||||||
|
} else {
|
||||||
|
ffmpeg_command.size(width.into(), height.into());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// if show mouse switch is enabled, draw the mouse to video
|
||||||
|
if self.record_mouse.is_active() {
|
||||||
|
ffmpeg_command.args(["-draw_mouse", "1"]);
|
||||||
|
} else {
|
||||||
|
ffmpeg_command.args(["-draw_mouse", "0"]);
|
||||||
|
};
|
||||||
|
|
||||||
// if follow mouse switch is enabled, follow the mouse
|
// if follow mouse switch is enabled, follow the mouse
|
||||||
if self.follow_mouse.is_active() {
|
if self.follow_mouse.is_active() {
|
||||||
ffmpeg_command.args(["-follow_mouse", "centered"]);
|
ffmpeg_command.args(["-follow_mouse", "centered"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Disable frame rate if value is zero
|
||||||
|
if self.record_frames.value() > 0.0 {
|
||||||
|
ffmpeg_command.args(["-framerate", &self.record_frames.value().to_string()]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Video format && input
|
||||||
|
ffmpeg_command.format(format)
|
||||||
|
.input(display);
|
||||||
|
|
||||||
// Disable bitrate if value is zero
|
// Disable bitrate if value is zero
|
||||||
if self.record_bitrate.value() > 0.0 {
|
if self.record_bitrate.value() > 0.0 {
|
||||||
ffmpeg_command.args([
|
ffmpeg_command.args([
|
||||||
|
20
src/main.rs
20
src/main.rs
@ -140,13 +140,16 @@ pub fn build_ui(application: &Application) {
|
|||||||
stop_button.hide();
|
stop_button.hide();
|
||||||
play_button.hide();
|
play_button.hide();
|
||||||
|
|
||||||
|
// Toggle button
|
||||||
|
config_management::set("default", "mode", "screen");
|
||||||
|
screen_grab_button.set_active(true);
|
||||||
|
|
||||||
// Comboboxs tooltip
|
// Comboboxs tooltip
|
||||||
audio_source_combobox.set_tooltip_text(Some(&bundle.format_pattern(bundle.get_message("audio-source-tooltip").unwrap()
|
audio_source_combobox.set_tooltip_text(Some(&bundle.format_pattern(bundle.get_message("audio-source-tooltip").unwrap()
|
||||||
.value().unwrap(), None, &mut vec![]).to_string()));
|
.value().unwrap(), None, &mut vec![]).to_string()));
|
||||||
format_chooser_combobox.set_tooltip_text(Some(&bundle.format_pattern(bundle.get_message("format-tooltip").unwrap()
|
format_chooser_combobox.set_tooltip_text(Some(&bundle.format_pattern(bundle.get_message("format-tooltip").unwrap()
|
||||||
.value().unwrap(), None, &mut vec![]).to_string()));
|
.value().unwrap(), None, &mut vec![]).to_string()));
|
||||||
|
|
||||||
// Hide window grab button in Wayland
|
|
||||||
area_grab_button.set_tooltip_text(Some(&bundle.format_pattern(bundle.get_message("area-tooltip").unwrap()
|
area_grab_button.set_tooltip_text(Some(&bundle.format_pattern(bundle.get_message("area-tooltip").unwrap()
|
||||||
.value().unwrap(), None, &mut vec![]).to_string()));
|
.value().unwrap(), None, &mut vec![]).to_string()));
|
||||||
// Temporary solution
|
// Temporary solution
|
||||||
@ -156,6 +159,7 @@ pub fn build_ui(application: &Application) {
|
|||||||
//area_grab_button.set_can_target(false);
|
//area_grab_button.set_can_target(false);
|
||||||
//area_grab_button.add_css_class("disabled");
|
//area_grab_button.add_css_class("disabled");
|
||||||
area_grab_button.set_sensitive(false);
|
area_grab_button.set_sensitive(false);
|
||||||
|
// Hide window grab button in Wayland
|
||||||
area_grab_button.set_tooltip_text(Some(&bundle.format_pattern(bundle.get_message("wayland-tooltip").unwrap()
|
area_grab_button.set_tooltip_text(Some(&bundle.format_pattern(bundle.get_message("wayland-tooltip").unwrap()
|
||||||
.value().unwrap(), None, &mut vec![]).to_string()));
|
.value().unwrap(), None, &mut vec![]).to_string()));
|
||||||
}
|
}
|
||||||
@ -241,23 +245,19 @@ pub fn build_ui(application: &Application) {
|
|||||||
config_management::set_bool("default", "videocheck", switch.is_active());
|
config_management::set_bool("default", "videocheck", switch.is_active());
|
||||||
if switch.is_active() {
|
if switch.is_active() {
|
||||||
_mouse_switch.set_sensitive(true);
|
_mouse_switch.set_sensitive(true);
|
||||||
|
_follow_mouse_switch.set_sensitive(true);
|
||||||
} else {
|
} else {
|
||||||
_mouse_switch.set_sensitive(false);
|
_mouse_switch.set_sensitive(false);
|
||||||
_follow_mouse_switch.set_sensitive(false);
|
_follow_mouse_switch.set_sensitive(false);
|
||||||
_audio_switch.set_active(true);
|
_audio_switch.set_active(true);
|
||||||
_audio_switch.set_sensitive(true);
|
_audio_switch.set_sensitive(true);
|
||||||
_mouse_switch.set_active(false);
|
_mouse_switch.set_active(false);
|
||||||
|
_follow_mouse_switch.set_active(false);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
let _follow_mouse_switch = follow_mouse_switch.clone();
|
let _follow_mouse_switch = follow_mouse_switch.clone();
|
||||||
mouse_switch.connect_toggled(move |switch: &CheckButton| {
|
mouse_switch.connect_toggled(move |switch: &CheckButton| {
|
||||||
config_management::set_bool("default", "mousecheck", switch.is_active());
|
config_management::set_bool("default", "mousecheck", switch.is_active());
|
||||||
if switch.is_active() {
|
|
||||||
_follow_mouse_switch.set_sensitive(true);
|
|
||||||
} else {
|
|
||||||
_follow_mouse_switch.set_active(false);
|
|
||||||
_follow_mouse_switch.set_sensitive(false);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
let _mouse_switch = mouse_switch.clone();
|
let _mouse_switch = mouse_switch.clone();
|
||||||
audio_switch.connect_toggled(move |switch: &CheckButton| {
|
audio_switch.connect_toggled(move |switch: &CheckButton| {
|
||||||
@ -548,6 +548,7 @@ pub fn build_ui(application: &Application) {
|
|||||||
area_grab_label.set_label(&bundle.format_pattern(bundle.get_message("select-area").unwrap()
|
area_grab_label.set_label(&bundle.format_pattern(bundle.get_message("select-area").unwrap()
|
||||||
.value().unwrap(), None, &mut vec![]).to_string());
|
.value().unwrap(), None, &mut vec![]).to_string());
|
||||||
area_grab_button.connect_clicked(move |_| {
|
area_grab_button.connect_clicked(move |_| {
|
||||||
|
config_management::set("default", "mode", "area");
|
||||||
_area_chooser_window.show();
|
_area_chooser_window.show();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -556,6 +557,9 @@ pub fn build_ui(application: &Application) {
|
|||||||
area_apply_label.set_label(&bundle.format_pattern(bundle.get_message("apply").unwrap()
|
area_apply_label.set_label(&bundle.format_pattern(bundle.get_message("apply").unwrap()
|
||||||
.value().unwrap(), None, &mut vec![]).to_string());
|
.value().unwrap(), None, &mut vec![]).to_string());
|
||||||
area_set_button.connect_clicked(move |_| {
|
area_set_button.connect_clicked(move |_| {
|
||||||
|
_area_capture
|
||||||
|
.borrow_mut()
|
||||||
|
.get_window_by_name(_area_chooser_window.title().unwrap().as_str());
|
||||||
_area_chooser_window.hide();
|
_area_chooser_window.hide();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -569,6 +573,7 @@ pub fn build_ui(application: &Application) {
|
|||||||
screen_grab_label.set_label(&bundle.format_pattern(bundle.get_message("select-screen").unwrap()
|
screen_grab_label.set_label(&bundle.format_pattern(bundle.get_message("select-screen").unwrap()
|
||||||
.value().unwrap(), None, &mut vec![]).to_string());
|
.value().unwrap(), None, &mut vec![]).to_string());
|
||||||
screen_grab_button.connect_clicked(move |_| {
|
screen_grab_button.connect_clicked(move |_| {
|
||||||
|
config_management::set("default", "mode", "screen");
|
||||||
screen_grab_button_record_window.replace(false);
|
screen_grab_button_record_window.replace(false);
|
||||||
_area_chooser_window.hide();
|
_area_chooser_window.hide();
|
||||||
_area_capture.borrow_mut().reset();
|
_area_capture.borrow_mut().reset();
|
||||||
@ -581,6 +586,7 @@ pub fn build_ui(application: &Application) {
|
|||||||
window_grab_label.set_label(&bundle.format_pattern(bundle.get_message("select-window").unwrap()
|
window_grab_label.set_label(&bundle.format_pattern(bundle.get_message("select-window").unwrap()
|
||||||
.value().unwrap(), None, &mut vec![]).to_string());
|
.value().unwrap(), None, &mut vec![]).to_string());
|
||||||
window_grab_button.connect_clicked(move |_| {
|
window_grab_button.connect_clicked(move |_| {
|
||||||
|
config_management::set("default", "mode", "window");
|
||||||
_area_chooser_window.hide();
|
_area_chooser_window.hide();
|
||||||
if is_wayland() {
|
if is_wayland() {
|
||||||
window_grab_button_record_window.replace(true);
|
window_grab_button_record_window.replace(true);
|
||||||
|
Loading…
Reference in New Issue
Block a user