@@ -19,24 +19,26 @@ using namespace std;
19
19
#define ACTION_HEIGHT 22
20
20
21
21
const char *homeDir = getenv(" HOME" );
22
- string session_id;
23
22
24
23
ActionWidget poweroff, suspend, reboot, logout;
25
24
26
25
void power_clicked (GtkWidget *widget, gpointer data) {
27
26
auto *pw = (ActionWidget::PowerData *)data;
28
- const char *path = pw->path .c_str ();
29
- const char *arg1 = pw->arg1 .c_str ();
30
- const char *arg2 = pw->arg2 .c_str ();
31
-
32
- string session_id = getenv (" XDG_SESSION_ID" );
33
- if (strcmp (arg2, " suspend" ) == 0 ) {
34
- execl (path, arg1, arg2, (char *)nullptr );
35
- } if (strcmp (arg2, " kill-session" ) == 0 ) {
36
- execl (path, arg1, " kill-session" , session_id.c_str (), (char *)nullptr );
37
- } else {
38
- execl (path, arg1, (char *)nullptr );
27
+ const string path = pw->path ;
28
+ const string arg1 = pw->arg1 ;
29
+ const string arg2 = pw->arg2 ;
30
+ const string session_id = getenv (" XDG_SESSION_ID" );
31
+
32
+ if (arg2 == " suspend" ) {
33
+ execl (path.c_str (), arg1.c_str (), arg2.c_str (), (char *)nullptr );
34
+ return ;
39
35
}
36
+ if (arg2 == " kill-session" ) {
37
+ execl (path.c_str (), arg1.c_str (), " kill-session" , session_id.c_str (), (char *)nullptr );
38
+ return ;
39
+ }
40
+
41
+ execl (path.c_str (), arg1.c_str (), (char *)nullptr );
40
42
}
41
43
42
44
void gui (int argc, char *argv[]) {
@@ -105,4 +107,4 @@ int main(int argc, char *argv[]) {
105
107
// Start gui
106
108
gui (argc, argv);
107
109
return 0 ;
108
- }
110
+ }
0 commit comments