finished preferences
This commit is contained in:
@@ -43,12 +43,6 @@
|
||||
<url type="vcs-browser">https://gitea.farmdash.org/angoosh/Flatpaks/src/branch/main/com.angoosh.RDPConnect</url>
|
||||
|
||||
<releases>
|
||||
<release version="1.0.0" date="2024-11-19">
|
||||
<url type="details">https://gitea.farmdash.org/angoosh/Flatpaks/commits/branch/main</url>
|
||||
<description>
|
||||
<p>Initial release</p>
|
||||
</description>
|
||||
</release>
|
||||
<release version="1.0.1" date="2024-11-20">
|
||||
<url type="details">https://gitea.farmdash.org/angoosh/Flatpaks/commits/branch/main</url>
|
||||
<description>
|
||||
@@ -67,6 +61,12 @@
|
||||
<p>Cropped screenshot and made background invisible</p>
|
||||
</description>
|
||||
</release>
|
||||
<release version="1.1.0" date="2024-11-22">
|
||||
<url type="details">https://gitea.farmdash.org/angoosh/Flatpaks/commit/2093a21ecfa86c20f15b9b44897d1c7bebfafd79</url>
|
||||
<description>
|
||||
<p>Created about section, borgar menu, settings menu and we have easy settings for the rdp connection now</p>
|
||||
</description>
|
||||
</release>
|
||||
</releases>
|
||||
|
||||
<screenshots>
|
||||
|
||||
@@ -112,7 +112,7 @@
|
||||
<property name="vexpand">True</property>
|
||||
<child>
|
||||
<object class="GtkCheckButton" id="save_conf">
|
||||
<property name="label">save config</property>
|
||||
<property name="label">save login</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
|
||||
@@ -82,6 +82,7 @@ modules:
|
||||
- install -Dm755 main.py /app/
|
||||
- install com.angoosh.RDPConnect.ui /app/
|
||||
- install menu.ui /app/
|
||||
- install preferences.ui /app/
|
||||
- install style-dark.css /app/
|
||||
- install style-light.css /app/
|
||||
- install -Dm644 com.angoosh.RDPConnect.svg /app/share/icons/hicolor/scalable/apps/
|
||||
@@ -107,4 +108,6 @@ modules:
|
||||
- type: file
|
||||
path: com.angoosh.RDPConnect.metainfo.xml
|
||||
- type: file
|
||||
path: menu.ui
|
||||
path: menu.ui
|
||||
- type: file
|
||||
path: preferences.ui
|
||||
@@ -22,10 +22,11 @@ from gi.repository import Gtk, Adw, Gdk, Gio
|
||||
APPID = "com.angoosh.RDPConnect"
|
||||
HOMEDIR = os.path.expanduser('~')
|
||||
|
||||
VERSION = "1.0.5rc1"
|
||||
VERSION = "1.1.0"
|
||||
|
||||
conn_info = {}
|
||||
settings = {}
|
||||
settings["extra_params"] = {}
|
||||
fernet = ""
|
||||
|
||||
def load_keys():
|
||||
@@ -67,7 +68,123 @@ def load_config():
|
||||
except:
|
||||
print("[WARN] FILE: "+HOMEDIR+"/.config/rdpconnect/settings.json doesn't exist")
|
||||
|
||||
class PreferencesWindow(Gtk.Window):
|
||||
global settings
|
||||
def __init__(self, **kwargs):
|
||||
super().__init__(**kwargs)
|
||||
|
||||
self.builder = Gtk.Builder(self)
|
||||
self.builder.add_from_file("/app/preferences.ui")
|
||||
|
||||
self.resx = self.builder.get_object("resx")
|
||||
self.resy = self.builder.get_object("resy")
|
||||
self.monitors = self.builder.get_object("monitors")
|
||||
self.fullscreen = self.builder.get_object("fullscreen")
|
||||
self.xfree = self.builder.get_object("xfree")
|
||||
self.sound = self.builder.get_object("sound")
|
||||
self.mic = self.builder.get_object("mic")
|
||||
self.dynres = self.builder.get_object("dynres")
|
||||
self.clipboard = self.builder.get_object("clipboard")
|
||||
|
||||
try:
|
||||
self.clipboard.set_state(settings["extra_params"]["clipboard"])
|
||||
self.clipboard.set_active(settings["extra_params"]["clipboard"])
|
||||
except:
|
||||
pass
|
||||
try:
|
||||
self.dynres.set_state(settings["extra_params"]["dynamic-resolution"])
|
||||
self.dynres.set_active(settings["extra_params"]["dynamic-resolution"])
|
||||
except:
|
||||
pass
|
||||
try:
|
||||
self.mic.set_state(settings["extra_params"]["microphone"])
|
||||
self.mic.set_active(settings["extra_params"]["microphone"])
|
||||
except:
|
||||
pass
|
||||
try:
|
||||
self.sound.set_state(settings["extra_params"]["sound"])
|
||||
self.sound.set_active(settings["extra_params"]["sound"])
|
||||
except:
|
||||
pass
|
||||
try:
|
||||
if settings["rdp_bin"] == "xfreerdp":
|
||||
self.xfree.set_state(True)
|
||||
self.xfree.set_active(True)
|
||||
except:
|
||||
pass
|
||||
try:
|
||||
self.fullscreen.set_state(settings["extra_params"]["f"])
|
||||
self.fullscreen.set_active(settings["extra_params"]["f"])
|
||||
except:
|
||||
pass
|
||||
try:
|
||||
self.monitors.get_buffer().set_text(str(settings["extra_params"]["monitors"]), len(settings["extra_params"]["monitors"]))
|
||||
except:
|
||||
pass
|
||||
try:
|
||||
self.resx.get_buffer().set_text(str(settings["extra_params"]["w"]), len(settings["extra_params"]["w"]))
|
||||
except:
|
||||
pass
|
||||
try:
|
||||
self.resy.get_buffer().set_text(str(settings["extra_params"]["h"]), len(settings["extra_params"]["h"]))
|
||||
except:
|
||||
pass
|
||||
|
||||
pref_window = self.builder.get_object("pref_window")
|
||||
pref_window.show()
|
||||
|
||||
def f_resx(self, app):
|
||||
settings["extra_params"]["w"] = self.resx.get_buffer().get_text()
|
||||
|
||||
def f_resy(self, app):
|
||||
settings["extra_params"]["h"] = self.resy.get_buffer().get_text()
|
||||
|
||||
def monconf(self, app):
|
||||
settings["extra_params"]["monitors"] = self.monitors.get_buffer().get_text()
|
||||
|
||||
def clipboard(self, app, state):
|
||||
if state:
|
||||
settings["extra_params"]["clipboard"] = True
|
||||
else:
|
||||
settings["extra_params"]["clipboard"] = False
|
||||
|
||||
def dynres(self, app, state):
|
||||
if state:
|
||||
settings["extra_params"]["dynamic-resolution"] = True
|
||||
else:
|
||||
settings["extra_params"]["dynamic-resolution"] = False
|
||||
|
||||
def microphone(self, app, state):
|
||||
if state:
|
||||
settings["extra_params"]["microphone"] = True
|
||||
else:
|
||||
settings["extra_params"]["microphone"] = False
|
||||
|
||||
def sound(self, app, state):
|
||||
if state:
|
||||
settings["extra_params"]["sound"] = True
|
||||
else:
|
||||
settings["extra_params"]["sound"] = False
|
||||
|
||||
def xfree(self, app, state):
|
||||
if state:
|
||||
settings["rdp_bin"] = "xfreerdp"
|
||||
else:
|
||||
settings["rdp_bin"] = "sdl-freerdp"
|
||||
|
||||
def fscr(self, app, state):
|
||||
if state:
|
||||
settings["extra_params"]["f"] = True
|
||||
else:
|
||||
settings["extra_params"]["f"] = False
|
||||
|
||||
def on_destroy(self, app):
|
||||
print("Saving settings config to "+HOMEDIR+"/.config/rdpconnect/settings.json")
|
||||
with open(HOMEDIR+"/.config/rdpconnect/settings.json", "w") as settings_file:
|
||||
js = json.dumps(settings, sort_keys=True, indent=4, separators=(',', ': '))
|
||||
settings_file.write(js)
|
||||
|
||||
|
||||
class MyApp(Adw.Application):
|
||||
def __init__(self, **kwargs):
|
||||
super().__init__(**kwargs)
|
||||
@@ -139,9 +256,7 @@ class MyApp(Adw.Application):
|
||||
about_dialog.present()
|
||||
|
||||
def on_preferences(self, action, param):
|
||||
pref_window = Gtk.Window(title="Preferences")
|
||||
pref_window.show()
|
||||
print("Preferences")
|
||||
PreferencesWindow()
|
||||
|
||||
def saveConnConf(self):
|
||||
if settings["save_conn"]:
|
||||
@@ -172,17 +287,28 @@ class MyApp(Adw.Application):
|
||||
settings["save_conn"] = True
|
||||
else:
|
||||
settings["save_conn"] = False
|
||||
if not "extra_params" in settings:
|
||||
settings["extra_params"] = []
|
||||
if not "rdp_bin" in settings:
|
||||
settings["rdp_bin"] = "sdl-freerdp"
|
||||
|
||||
self.saveConnConf()
|
||||
|
||||
extra_params = []
|
||||
for item in settings["extra_params"]:
|
||||
#check if is boolean
|
||||
if type(settings["extra_params"][item]) == type(True):
|
||||
if settings["extra_params"][item]:
|
||||
extra_params.append("/"+str(item))
|
||||
else:
|
||||
if str(settings["extra_params"][item]) != "":
|
||||
print(str(settings["extra_params"][item]))
|
||||
extra_params.append("/"+str(item)+":"+str(settings["extra_params"][item]))
|
||||
|
||||
print(extra_params)
|
||||
|
||||
try:
|
||||
subprocess.Popen([settings["rdp_bin"], "/v:"+str(conn_info["ip"]), "/u:"+str(conn_info["user"]), "/p:"+str(conn_info["passwd"])]+settings["extra_params"])
|
||||
subprocess.Popen([settings["rdp_bin"], "/v:"+str(conn_info["ip"]), "/u:"+str(conn_info["user"]), "/p:"+str(conn_info["passwd"])]+extra_params)
|
||||
except:
|
||||
subprocess.Popen(["sdl-freerdp", "/v:"+str(conn_info["ip"]), "/u:"+str(conn_info["user"]), "/p:"+str(conn_info["passwd"])]+settings["extra_params"])
|
||||
subprocess.Popen(["sdl-freerdp", "/v:"+str(conn_info["ip"]), "/u:"+str(conn_info["user"]), "/p:"+str(conn_info["passwd"])]+extra_params)
|
||||
|
||||
if not os.path.isdir(HOMEDIR+"/.config/rdpconnect"):
|
||||
os.makedirs(HOMEDIR+"/.config/rdpconnect")
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<section>
|
||||
<item>
|
||||
<attribute name='label'>Preferences</attribute>
|
||||
<attribute name='action'>app.preferences</attribute>
|
||||
<attribute name='action'>app.preferences</attribute>
|
||||
</item>
|
||||
<item>
|
||||
<attribute name='label'>About</attribute>
|
||||
|
||||
119
com.angoosh.RDPConnect/preferences.cmb
Normal file
119
com.angoosh.RDPConnect/preferences.cmb
Normal file
@@ -0,0 +1,119 @@
|
||||
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
|
||||
<!DOCTYPE cambalache-project SYSTEM "cambalache-project.dtd">
|
||||
<cambalache-project version="0.92.0" target_tk="gtk-4.0">
|
||||
<ui>
|
||||
(1,None,"preferences.ui","preferences.ui",None,None,None,None,None,None,None)
|
||||
</ui>
|
||||
<object>
|
||||
(1,1,"GtkWindow","pref_window",None,None,None,None,0,None,None),
|
||||
(1,2,"GtkGrid",None,1,None,None,None,0,None,None),
|
||||
(1,3,"GtkLabel",None,2,None,None,None,0,None,None),
|
||||
(1,4,"GtkSwitch","Fullscreen",2,None,None,None,1,None,None),
|
||||
(1,5,"GtkLabel",None,2,None,None,None,2,None,None),
|
||||
(1,6,"GtkSwitch","xfree",2,None,None,None,3,None,None),
|
||||
(1,7,"GtkLabel",None,2,None,None,None,4,None,None),
|
||||
(1,8,"GtkSwitch","sound",2,None,None,None,5,None,None),
|
||||
(1,9,"GtkLabel",None,2,None,None,None,6,None,None),
|
||||
(1,10,"GtkSwitch","mic",2,None,None,None,7,None,None),
|
||||
(1,11,"GtkLabel",None,2,None,None,None,8,None,None),
|
||||
(1,12,"GtkSwitch","dynres",2,None,None,None,9,None,None),
|
||||
(1,13,"GtkLabel",None,2,None,None,None,10,None,None),
|
||||
(1,14,"GtkSwitch","clipboard",2,None,None,None,11,None,None),
|
||||
(1,15,"GtkLabel",None,2,None,None,None,12,None,None),
|
||||
(1,16,"GtkSwitch","camera",2,None,None,None,13,None,None),
|
||||
(1,17,"GtkLabel",None,2,None,None,None,14,None,None),
|
||||
(1,18,"GtkEntry","resx",2,None,None,None,15,None,None),
|
||||
(1,19,"GtkLabel",None,2,None,None,None,16,None,None),
|
||||
(1,20,"GtkEntry","resy",2,None,None,None,17,None,None),
|
||||
(1,21,"GtkLabel",None,2,None,None,None,18,None,None),
|
||||
(1,22,"GtkEntry","monitors",2,None,None,None,19,None,None)
|
||||
</object>
|
||||
<object_property>
|
||||
(1,1,"GtkWindow","title","Preferences",0,None,None,None,None,None,None,None,None),
|
||||
(1,3,"GtkLabel","label","Fullscreen",0,None,None,None,None,None,None,None,None),
|
||||
(1,4,"GtkWidget","halign","center",0,None,None,None,None,None,None,None,None),
|
||||
(1,4,"GtkWidget","margin-bottom","2",0,None,None,None,None,None,None,None,None),
|
||||
(1,4,"GtkWidget","margin-top","2",0,None,None,None,None,None,None,None,None),
|
||||
(1,5,"GtkLabel","label","Use xfreerdp",0,None,None,None,None,None,None,None,None),
|
||||
(1,6,"GtkWidget","halign","center",0,None,None,None,None,None,None,None,None),
|
||||
(1,6,"GtkWidget","margin-bottom","2",0,None,None,None,None,None,None,None,None),
|
||||
(1,6,"GtkWidget","margin-top","2",0,None,None,None,None,None,None,None,None),
|
||||
(1,7,"GtkLabel","label","Sound",0,None,None,None,None,None,None,None,None),
|
||||
(1,8,"GtkWidget","halign","center",0,None,None,None,None,None,None,None,None),
|
||||
(1,8,"GtkWidget","margin-bottom","2",0,None,None,None,None,None,None,None,None),
|
||||
(1,8,"GtkWidget","margin-top","2",0,None,None,None,None,None,None,None,None),
|
||||
(1,9,"GtkLabel","label","Microphone",0,None,None,None,None,None,None,None,None),
|
||||
(1,10,"GtkWidget","halign","center",0,None,None,None,None,None,None,None,None),
|
||||
(1,10,"GtkWidget","margin-bottom","2",0,None,None,None,None,None,None,None,None),
|
||||
(1,10,"GtkWidget","margin-top","2",0,None,None,None,None,None,None,None,None),
|
||||
(1,11,"GtkLabel","label","Dynamic resolution",0,None,None,None,None,None,None,None,None),
|
||||
(1,12,"GtkWidget","halign","center",0,None,None,None,None,None,None,None,None),
|
||||
(1,12,"GtkWidget","margin-bottom","2",0,None,None,None,None,None,None,None,None),
|
||||
(1,12,"GtkWidget","margin-top","2",0,None,None,None,None,None,None,None,None),
|
||||
(1,13,"GtkLabel","label","Clipboard",0,None,None,None,None,None,None,None,None),
|
||||
(1,14,"GtkWidget","halign","center",0,None,None,None,None,None,None,None,None),
|
||||
(1,14,"GtkWidget","margin-bottom","2",0,None,None,None,None,None,None,None,None),
|
||||
(1,14,"GtkWidget","margin-top","2",0,None,None,None,None,None,None,None,None),
|
||||
(1,15,"GtkLabel","label","Camera",0,None,None,None,None,None,None,None,None),
|
||||
(1,16,"GtkWidget","halign","center",0,None,None,None,None,None,None,None,None),
|
||||
(1,16,"GtkWidget","margin-bottom","2",0,None,None,None,None,None,None,None,None),
|
||||
(1,16,"GtkWidget","margin-top","2",0,None,None,None,None,None,None,None,None),
|
||||
(1,17,"GtkLabel","label","Resolution width",0,None,None,None,None,None,None,None,None),
|
||||
(1,18,"GtkWidget","margin-bottom","2",0,None,None,None,None,None,None,None,None),
|
||||
(1,18,"GtkWidget","margin-end","5",0,None,None,None,None,None,None,None,None),
|
||||
(1,18,"GtkWidget","margin-top","2",0,None,None,None,None,None,None,None,None),
|
||||
(1,19,"GtkLabel","label","Resolution height",0,None,None,None,None,None,None,None,None),
|
||||
(1,20,"GtkWidget","margin-bottom","2",0,None,None,None,None,None,None,None,None),
|
||||
(1,20,"GtkWidget","margin-end","5",0,None,None,None,None,None,None,None,None),
|
||||
(1,20,"GtkWidget","margin-top","2",0,None,None,None,None,None,None,None,None),
|
||||
(1,21,"GtkLabel","label","Monitors",0,None,None,None,None,None,None,None,None),
|
||||
(1,22,"GtkWidget","margin-bottom","2",0,None,None,None,None,None,None,None,None),
|
||||
(1,22,"GtkWidget","margin-end","5",0,None,None,None,None,None,None,None,None),
|
||||
(1,22,"GtkWidget","margin-top","2",0,None,None,None,None,None,None,None,None)
|
||||
</object_property>
|
||||
<object_layout_property>
|
||||
(1,2,3,"GtkGridLayoutChild","column","0",0,None,None,None),
|
||||
(1,2,3,"GtkGridLayoutChild","row","0",0,None,None,None),
|
||||
(1,2,4,"GtkGridLayoutChild","column","1",0,None,None,None),
|
||||
(1,2,4,"GtkGridLayoutChild","row","0",0,None,None,None),
|
||||
(1,2,5,"GtkGridLayoutChild","column","0",0,None,None,None),
|
||||
(1,2,5,"GtkGridLayoutChild","row","1",0,None,None,None),
|
||||
(1,2,6,"GtkGridLayoutChild","column","1",0,None,None,None),
|
||||
(1,2,6,"GtkGridLayoutChild","row","1",0,None,None,None),
|
||||
(1,2,7,"GtkGridLayoutChild","column","0",0,None,None,None),
|
||||
(1,2,7,"GtkGridLayoutChild","row","2",0,None,None,None),
|
||||
(1,2,8,"GtkGridLayoutChild","column","1",0,None,None,None),
|
||||
(1,2,8,"GtkGridLayoutChild","row","2",0,None,None,None),
|
||||
(1,2,9,"GtkGridLayoutChild","column","0",0,None,None,None),
|
||||
(1,2,9,"GtkGridLayoutChild","row","3",0,None,None,None),
|
||||
(1,2,10,"GtkGridLayoutChild","column","1",0,None,None,None),
|
||||
(1,2,10,"GtkGridLayoutChild","row","3",0,None,None,None),
|
||||
(1,2,11,"GtkGridLayoutChild","column","0",0,None,None,None),
|
||||
(1,2,11,"GtkGridLayoutChild","row","4",0,None,None,None),
|
||||
(1,2,12,"GtkGridLayoutChild","column","1",0,None,None,None),
|
||||
(1,2,12,"GtkGridLayoutChild","row","4",0,None,None,None),
|
||||
(1,2,13,"GtkGridLayoutChild","column","0",0,None,None,None),
|
||||
(1,2,13,"GtkGridLayoutChild","row","5",0,None,None,None),
|
||||
(1,2,14,"GtkGridLayoutChild","column","1",0,None,None,None),
|
||||
(1,2,14,"GtkGridLayoutChild","row","5",0,None,None,None),
|
||||
(1,2,15,"GtkGridLayoutChild","column","0",0,None,None,None),
|
||||
(1,2,15,"GtkGridLayoutChild","row","6",0,None,None,None),
|
||||
(1,2,16,"GtkGridLayoutChild","column","1",0,None,None,None),
|
||||
(1,2,16,"GtkGridLayoutChild","row","6",0,None,None,None),
|
||||
(1,2,17,"GtkGridLayoutChild","column","0",0,None,None,None),
|
||||
(1,2,17,"GtkGridLayoutChild","row","7",0,None,None,None),
|
||||
(1,2,18,"GtkGridLayoutChild","column","1",0,None,None,None),
|
||||
(1,2,18,"GtkGridLayoutChild","row","7",0,None,None,None),
|
||||
(1,2,19,"GtkGridLayoutChild","column","0",0,None,None,None),
|
||||
(1,2,19,"GtkGridLayoutChild","row","8",0,None,None,None),
|
||||
(1,2,20,"GtkGridLayoutChild","column","1",0,None,None,None),
|
||||
(1,2,20,"GtkGridLayoutChild","row","8",0,None,None,None),
|
||||
(1,2,21,"GtkGridLayoutChild","column","0",0,None,None,None),
|
||||
(1,2,21,"GtkGridLayoutChild","row","9",0,None,None,None),
|
||||
(1,2,22,"GtkGridLayoutChild","column","1",0,None,None,None),
|
||||
(1,2,22,"GtkGridLayoutChild","row","9",0,None,None,None)
|
||||
</object_layout_property>
|
||||
<object_signal>
|
||||
(2,1,18,"GtkCellEditable","editing-done","rex_act",None,0,0,0,None)
|
||||
</object_signal>
|
||||
</cambalache-project>
|
||||
203
com.angoosh.RDPConnect/preferences.ui
Normal file
203
com.angoosh.RDPConnect/preferences.ui
Normal file
@@ -0,0 +1,203 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!-- Created with Cambalache 0.92.2 -->
|
||||
<interface>
|
||||
<!-- interface-name preferences.ui -->
|
||||
<requires lib="gtk" version="4.6"/>
|
||||
<object class="GtkWindow" id="pref_window">
|
||||
<property name="title">Preferences</property>
|
||||
<signal name="close-request" handler="on_destroy"/>
|
||||
<child>
|
||||
<object class="GtkGrid">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label">Fullscreen</property>
|
||||
<layout>
|
||||
<property name="column">0</property>
|
||||
<property name="row">0</property>
|
||||
</layout>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSwitch" id="fullscreen">
|
||||
<property name="halign">center</property>
|
||||
<property name="margin-bottom">2</property>
|
||||
<property name="margin-top">2</property>
|
||||
<signal name="state-set" handler="fscr"/>
|
||||
<layout>
|
||||
<property name="column">1</property>
|
||||
<property name="row">0</property>
|
||||
</layout>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label">Use xfreerdp</property>
|
||||
<layout>
|
||||
<property name="column">0</property>
|
||||
<property name="row">1</property>
|
||||
</layout>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSwitch" id="xfree">
|
||||
<property name="halign">center</property>
|
||||
<property name="margin-bottom">2</property>
|
||||
<property name="margin-top">2</property>
|
||||
<signal name="state-set" handler="xfree"/>
|
||||
<layout>
|
||||
<property name="column">1</property>
|
||||
<property name="row">1</property>
|
||||
</layout>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label">Sound</property>
|
||||
<layout>
|
||||
<property name="column">0</property>
|
||||
<property name="row">2</property>
|
||||
</layout>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSwitch" id="sound">
|
||||
<property name="halign">center</property>
|
||||
<property name="margin-bottom">2</property>
|
||||
<property name="margin-top">2</property>
|
||||
<signal name="state-set" handler="sound"/>
|
||||
<layout>
|
||||
<property name="column">1</property>
|
||||
<property name="row">2</property>
|
||||
</layout>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label">Microphone</property>
|
||||
<layout>
|
||||
<property name="column">0</property>
|
||||
<property name="row">3</property>
|
||||
</layout>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSwitch" id="mic">
|
||||
<property name="halign">center</property>
|
||||
<property name="margin-bottom">2</property>
|
||||
<property name="margin-top">2</property>
|
||||
<signal name="state-set" handler="microphone"/>
|
||||
<layout>
|
||||
<property name="column">1</property>
|
||||
<property name="row">3</property>
|
||||
</layout>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label">Dynamic resolution</property>
|
||||
<layout>
|
||||
<property name="column">0</property>
|
||||
<property name="row">4</property>
|
||||
</layout>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSwitch" id="dynres">
|
||||
<property name="halign">center</property>
|
||||
<property name="margin-bottom">2</property>
|
||||
<property name="margin-top">2</property>
|
||||
<signal name="state-set" handler="dynres"/>
|
||||
<layout>
|
||||
<property name="column">1</property>
|
||||
<property name="row">4</property>
|
||||
</layout>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label">Clipboard</property>
|
||||
<layout>
|
||||
<property name="column">0</property>
|
||||
<property name="row">5</property>
|
||||
</layout>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSwitch" id="clipboard">
|
||||
<property name="halign">center</property>
|
||||
<property name="margin-bottom">2</property>
|
||||
<property name="margin-top">2</property>
|
||||
<signal name="state-set" handler="clipboard"/>
|
||||
<layout>
|
||||
<property name="column">1</property>
|
||||
<property name="row">5</property>
|
||||
</layout>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label">Resolution width</property>
|
||||
<layout>
|
||||
<property name="column">0</property>
|
||||
<property name="row">6</property>
|
||||
</layout>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkEntry" id="resx">
|
||||
<property name="margin-bottom">2</property>
|
||||
<property name="margin-end">5</property>
|
||||
<property name="margin-top">2</property>
|
||||
<signal name="changed" handler="f_resx"/>
|
||||
<layout>
|
||||
<property name="column">1</property>
|
||||
<property name="row">6</property>
|
||||
</layout>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label">Resolution height</property>
|
||||
<layout>
|
||||
<property name="column">0</property>
|
||||
<property name="row">7</property>
|
||||
</layout>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkEntry" id="resy">
|
||||
<property name="margin-bottom">2</property>
|
||||
<property name="margin-end">5</property>
|
||||
<property name="margin-top">2</property>
|
||||
<signal name="changed" handler="f_resy"/>
|
||||
<layout>
|
||||
<property name="column">1</property>
|
||||
<property name="row">7</property>
|
||||
</layout>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label">Monitors</property>
|
||||
<layout>
|
||||
<property name="column">0</property>
|
||||
<property name="row">8</property>
|
||||
</layout>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkEntry" id="monitors">
|
||||
<property name="margin-bottom">2</property>
|
||||
<property name="margin-end">5</property>
|
||||
<property name="margin-top">2</property>
|
||||
<signal name="changed" handler="monconf"/>
|
||||
<layout>
|
||||
<property name="column">1</property>
|
||||
<property name="row">8</property>
|
||||
</layout>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
||||
Reference in New Issue
Block a user