@@ -30,17 +30,6 @@ void preparePort() {
3030 }
3131}
3232
33- char windowGeo [32 ];
34- void prepareWindowGeo () {
35- sprintf (width , "%s" , gtk_entry_get_text (GTK_ENTRY (widthEntry )));
36- sprintf (height , "%s" , gtk_entry_get_text (GTK_ENTRY (heightEntry )));
37- trimSpaces (width );
38- trimSpaces (height );
39- if (strcmp (width , "" ) != 0 && strcmp (height , "" ) != 0 ) {
40- sprintf (windowGeo , "-g %sx%s " , width , height );
41- }
42- }
43-
4433char user [255 ];
4534void prepareUsername () {
4635 sprintf (username , "%s" , gtk_entry_get_text (GTK_ENTRY (usernameEntry )));
@@ -63,39 +52,68 @@ void prepareDomain() {
6352 }
6453}
6554
66- char pass [ 255 ];
67- void preparePassword () {
68- sprintf (password , "%s" , gtk_entry_get_text (GTK_ENTRY (passwordEntry )));
69- trimSpaces ( password );
70- if ( strcmp ( password , "" ) != 0 ) {
71- sprintf ( pass , "-p %s " , password );
72- } else {
73- sprintf (pass , "%s " , "" );
55+ char windowGeo [ 32 ];
56+ void prepareWindowGeo () {
57+ sprintf (width , "%s" , gtk_entry_get_text (GTK_ENTRY (widthEntry )));
58+ sprintf ( height , "%s" , gtk_entry_get_text ( GTK_ENTRY ( heightEntry )) );
59+ trimSpaces ( width );
60+ trimSpaces ( height );
61+ if ( strcmp ( width , "" ) != 0 && strcmp ( height , "" ) != 0 ) {
62+ sprintf (windowGeo , "-g %sx%s " , width , height );
7463 }
7564}
7665
77- void setKeymap () {
78- sprintf (keymap , "-k %s " , gtk_combo_box_text_get_active_text (keymapInput ));
66+ void getExtraRDA () {
67+
68+ sprintf (extraRDA , "%s" , "" ); // Reset extraRDA.
69+
70+ sprintf (extraRDA , "%s-k %s " , extraRDA , gtk_combo_box_text_get_active_text (keymapInput ));
71+
72+ sprintf (extraRDA , "%s-x %s " , extraRDA , gtk_combo_box_text_get_active_text (experienceInput ));
73+
74+ sprintf (extraRDA , "%s-a %s " , extraRDA , gtk_combo_box_text_get_active_text (bppInput ));
75+
76+ if (gtk_switch_get_state (GTK_SWITCH (fullscreenSwitch ))) {
77+ sprintf (extraRDA , "%s%s" , extraRDA , "-f " );
78+ }
79+
80+ if (gtk_switch_get_state (GTK_SWITCH (encryptionSwitch ))) {
81+ sprintf (extraRDA , "%s%s" , extraRDA , "-E " );
82+ }
83+
84+ if (gtk_switch_get_state (GTK_SWITCH (compressionSwitch ))) {
85+ sprintf (extraRDA , "%s%s" , extraRDA , "-z " );
86+ }
87+
88+ if (gtk_switch_get_state (GTK_SWITCH (bitmapSwitch ))) {
89+ sprintf (extraRDA , "%s%s" , extraRDA , "-P " );
90+ }
91+
92+ if (gtk_switch_get_state (GTK_SWITCH (numlockSync ))) {
93+ sprintf (extraRDA , "%s%s" , extraRDA , "-N " );
94+ }
95+
96+ sprintf (extraRDA , "%s%s" , extraRDA , gtk_entry_get_text (GTK_ENTRY (extraArgsEntry )));
97+
7998}
8099
81100void prepareConnectString () {
82- sprintf (extraArgs , "%s" , gtk_entry_get_text (GTK_ENTRY (extraArgsEntry )));
83- sprintf (connectString , "rdesktop %s%s%s%s%s%s %s:%s &" , user , dom , pass , windowGeo , keymap , extraArgs , ip , port );
84-
101+ sprintf (connectString , "rdesktop %s%s%s%s %s:%s &" , user , dom , windowGeo , extraRDA , ip , port );
85102}
86103
87104void connectRDP () {
88105 prepareIP ();
89106 preparePort ();
90107 if (allowConnect ) {
91- prepareWindowGeo ();
92108 prepareUsername ();
93109 prepareDomain ();
94- preparePassword ();
95- setKeymap ();
110+ prepareWindowGeo ();
111+ getExtraRDA ();
96112 prepareConnectString ();
97113 printf ("%s\n" , connectString );
98- system (connectString );
114+ if (!DEV ) {
115+ system (connectString );
116+ }
99117 allowConnect = 0 ;
100118 }
101119}
0 commit comments