about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--src/ui/windows.c136
1 files changed, 69 insertions, 67 deletions
diff --git a/src/ui/windows.c b/src/ui/windows.c
index e5670ac4..4e5bf461 100644
--- a/src/ui/windows.c
+++ b/src/ui/windows.c
@@ -1358,85 +1358,87 @@ cons_show_account(ProfAccount *account)
         account->priority_chat, account->priority_online, account->priority_away,
         account->priority_xa, account->priority_dnd);
 
-    GList *resources = jabber_get_available_resources();
-    GList *ordered_resources = NULL;
-
-    WINDOW *win = console->win;
-    if (resources != NULL) {
-        _win_show_time(win, '-');
-        wprintw(win, "Resources:\n");
-
-        // sort in order of availabiltiy
-        while (resources != NULL) {
-            Resource *resource = resources->data;
-            ordered_resources = g_list_insert_sorted(ordered_resources,
-                resource, (GCompareFunc)resource_compare_availability);
-            resources = g_list_next(resources);
-        }
-    }
+    if ((jabber_get_connection_status() == JABBER_CONNECTED) &&
+            (g_strcmp0(jabber_get_account_name(), account->name) == 0)) {
+        GList *resources = jabber_get_available_resources();
+        GList *ordered_resources = NULL;
 
-    while (ordered_resources != NULL) {
-        Resource *resource = ordered_resources->data;
-        const char *resource_presence = string_from_resource_presence(resource->presence);
-        _win_show_time(win, '-');
-        _presence_colour_on(win, resource_presence);
-        wprintw(win, "  %s (%d), %s", resource->name, resource->priority, resource_presence);
-        if (resource->status != NULL) {
-            wprintw(win, ", \"%s\"", resource->status);
+        WINDOW *win = console->win;
+        if (resources != NULL) {
+            _win_show_time(win, '-');
+            wprintw(win, "Resources:\n");
+
+            // sort in order of availabiltiy
+            while (resources != NULL) {
+                Resource *resource = resources->data;
+                ordered_resources = g_list_insert_sorted(ordered_resources,
+                    resource, (GCompareFunc)resource_compare_availability);
+                resources = g_list_next(resources);
+            }
         }
-        wprintw(win, "\n");
-        _presence_colour_off(win, resource_presence);
 
-        if (resource->caps_str != NULL) {
-            Capabilities *caps = caps_get(resource->caps_str);
-            if (caps != NULL) {
-                // show identity
-                if ((caps->category != NULL) || (caps->type != NULL) || (caps->name != NULL)) {
-                    _win_show_time(win, '-');
-                    wprintw(win, "    Identity: ");
-                    if (caps->name != NULL) {
-                        wprintw(win, "%s", caps->name);
-                        if ((caps->category != NULL) || (caps->type != NULL)) {
-                            wprintw(win, " ");
+        while (ordered_resources != NULL) {
+            Resource *resource = ordered_resources->data;
+            const char *resource_presence = string_from_resource_presence(resource->presence);
+            _win_show_time(win, '-');
+            _presence_colour_on(win, resource_presence);
+            wprintw(win, "  %s (%d), %s", resource->name, resource->priority, resource_presence);
+            if (resource->status != NULL) {
+                wprintw(win, ", \"%s\"", resource->status);
+            }
+            wprintw(win, "\n");
+            _presence_colour_off(win, resource_presence);
+
+            if (resource->caps_str != NULL) {
+                Capabilities *caps = caps_get(resource->caps_str);
+                if (caps != NULL) {
+                    // show identity
+                    if ((caps->category != NULL) || (caps->type != NULL) || (caps->name != NULL)) {
+                        _win_show_time(win, '-');
+                        wprintw(win, "    Identity: ");
+                        if (caps->name != NULL) {
+                            wprintw(win, "%s", caps->name);
+                            if ((caps->category != NULL) || (caps->type != NULL)) {
+                                wprintw(win, " ");
+                            }
+                        }
+                        if (caps->type != NULL) {
+                            wprintw(win, "%s", caps->type);
+                            if (caps->category != NULL) {
+                                wprintw(win, " ");
+                            }
                         }
-                    }
-                    if (caps->type != NULL) {
-                        wprintw(win, "%s", caps->type);
                         if (caps->category != NULL) {
-                            wprintw(win, " ");
+                            wprintw(win, "%s", caps->category);
                         }
+                        wprintw(win, "\n");
                     }
-                    if (caps->category != NULL) {
-                        wprintw(win, "%s", caps->category);
+                    if (caps->software != NULL) {
+                        _win_show_time(win, '-');
+                        wprintw(win, "    Software: %s", caps->software);
+                    }
+                    if (caps->software_version != NULL) {
+                        wprintw(win, ", %s", caps->software_version);
+                    }
+                    if ((caps->software != NULL) || (caps->software_version != NULL)) {
+                        wprintw(win, "\n");
+                    }
+                    if (caps->os != NULL) {
+                        _win_show_time(win, '-');
+                        wprintw(win, "    OS: %s", caps->os);
+                    }
+                    if (caps->os_version != NULL) {
+                        wprintw(win, ", %s", caps->os_version);
+                    }
+                    if ((caps->os != NULL) || (caps->os_version != NULL)) {
+                        wprintw(win, "\n");
                     }
-                    wprintw(win, "\n");
-                }
-                if (caps->software != NULL) {
-                    _win_show_time(win, '-');
-                    wprintw(win, "    Software: %s", caps->software);
-                }
-                if (caps->software_version != NULL) {
-                    wprintw(win, ", %s", caps->software_version);
-                }
-                if ((caps->software != NULL) || (caps->software_version != NULL)) {
-                    wprintw(win, "\n");
-                }
-                if (caps->os != NULL) {
-                    _win_show_time(win, '-');
-                    wprintw(win, "    OS: %s", caps->os);
-                }
-                if (caps->os_version != NULL) {
-                    wprintw(win, ", %s", caps->os_version);
-                }
-                if ((caps->os != NULL) || (caps->os_version != NULL)) {
-                    wprintw(win, "\n");
                 }
             }
-        }
 
-        ordered_resources = g_list_next(ordered_resources);
+            ordered_resources = g_list_next(ordered_resources);
+        }
     }
-
 }
 
 void
'/akspecs/aerc/commit/aerc.go?h=0.5.2&id=2a0961701c4cabecc53d134ed1782e5612e64580'>2a09617 ^
f42724c ^


74af57b ^
f42724c ^

d43684c ^
66a9052 ^
d43684c ^

aeb7005
74af57b ^

d43684c ^

66a9052 ^
74af57b ^







66a9052 ^

d43684c ^
66a9052 ^



74af57b ^

648ca98 ^



a21afda ^



ec0e0f9 ^
a21afda ^
1767e4f ^
a21afda ^

d85f671 ^
a0be5e8 ^
b275a39 ^

39c93d2 ^
60b351b ^
f406bf5 ^



2a09617 ^
dc4c36a ^



8635c70 ^
b60999c ^
f406bf5 ^
77a0f68 ^


1418e1b ^
60b351b ^
7a489cb ^








de122b1 ^
a15ea01 ^


1418e1b ^
661e3ec ^

305446a ^
6394e38 ^
aeb7005
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177