22#include <windows.h>
33#include <shellapi.h>
44
5- #define sb_free (a ) ((a) ? HeapFree(GetProcessHeap(), 0, stb__sbraw(a)),0 : 0)
6- #define sb_push (a ,v ) (stb__sbmaybegrow(a,1), (a)[stb__sbn(a)++] = (v))
7- #define sb_count (a ) ((a) ? stb__sbn(a) : 0)
5+ #define sb_free (a ) ((a) ? HeapFree(GetProcessHeap(), 0, stb__sbraw(a)), 0 : 0)
6+ #define sb_push (a , v ) (stb__sbmaybegrow(a, 1), (a)[stb__sbn(a)++] = (v))
7+ #define sb_count (a ) ((a) ? stb__sbn(a) : 0)
88
9- #define stb__sbraw (a ) ((int *) (a) - 2)
10- #define stb__sbm (a ) stb__sbraw(a)[0]
11- #define stb__sbn (a ) stb__sbraw(a)[1]
9+ #define stb__sbraw (a ) ((int *)(a)- 2)
10+ #define stb__sbm (a ) stb__sbraw(a)[0]
11+ #define stb__sbn (a ) stb__sbraw(a)[1]
1212
13- #define stb__sbneedgrow (a ,n ) ((a)== 0 || stb__sbn(a)+ (n) >= stb__sbm(a))
14- #define stb__sbmaybegrow (a ,n ) (stb__sbneedgrow(a,(n)) ? stb__sbgrow(a,n) : 0)
15- #define stb__sbgrow (a ,n ) ((a) = stb__sbgrowf((a), (n), sizeof(*(a))))
13+ #define stb__sbneedgrow (a , n ) ((a) == 0 || stb__sbn(a) + (n) >= stb__sbm(a))
14+ #define stb__sbmaybegrow (a , n ) (stb__sbneedgrow(a, (n)) ? stb__sbgrow(a, n) : 0)
15+ #define stb__sbgrow (a , n ) ((a) = stb__sbgrowf((a), (n), sizeof(*(a))))
1616
1717#ifndef MOD_NOREPEAT
1818#define MOD_NOREPEAT 0x4000
@@ -43,25 +43,25 @@ typedef struct {
4343
4444static void * stb__sbgrowf (void * arr , unsigned increment , unsigned itemsize )
4545{
46- unsigned dbl_cur = arr ? 2 * stb__sbm (arr ) : 0 ;
46+ unsigned dbl_cur = arr ? 2 * stb__sbm (arr ) : 0 ;
4747 unsigned min_needed = sb_count (arr ) + increment ;
4848 unsigned m = dbl_cur > min_needed ? dbl_cur : min_needed ;
4949 unsigned * p ;
5050 if (arr ) {
5151 p = HeapReAlloc (GetProcessHeap (), 0 , stb__sbraw (arr ),
52- itemsize * m + sizeof (unsigned )* 2 );
52+ itemsize * m + sizeof (unsigned ) * 2 );
5353 } else {
54- p = HeapAlloc (GetProcessHeap (), 0 , itemsize * m + sizeof (unsigned )* 2 );
54+ p = HeapAlloc (GetProcessHeap (), 0 , itemsize * m + sizeof (unsigned ) * 2 );
5555 }
5656 if (p ) {
5757 if (!arr ) {
5858 p [1 ] = 0 ;
5959 }
6060 p [0 ] = m ;
61- return p + 2 ;
61+ return p + 2 ;
6262 } else {
6363 ExitProcess (1 );
64- return (void * )(2 * sizeof (unsigned ));
64+ return (void * )(2 * sizeof (unsigned ));
6565 }
6666}
6767
@@ -70,8 +70,8 @@ static HICON trayicon_draw(Trayicon *t, char *text, unsigned len)
7070 ICONINFO iconInfo ;
7171 HBITMAP hOldBitmap ;
7272 HFONT hOldFont ;
73- hOldBitmap = (HBITMAP ) SelectObject (t -> mdc , t -> hBitmap );
74- hOldFont = (HFONT ) SelectObject (t -> mdc , t -> hFont );
73+ hOldBitmap = (HBITMAP )SelectObject (t -> mdc , t -> hBitmap );
74+ hOldFont = (HFONT )SelectObject (t -> mdc , t -> hFont );
7575 TextOut (t -> mdc , t -> bitmapWidth / 4 , 0 , text , len );
7676 SelectObject (t -> mdc , hOldBitmap );
7777 SelectObject (t -> mdc , hOldFont );
@@ -84,11 +84,8 @@ static HICON trayicon_draw(Trayicon *t, char *text, unsigned len)
8484static void trayicon_init (Trayicon * t )
8585{
8686 HDC hdc ;
87- t -> hwnd = CreateWindowA (
88- "STATIC" , "virgo" ,
89- 0 , 0 , 0 , 0 , 0 ,
90- NULL , NULL , NULL , NULL
91- );
87+ t -> hwnd =
88+ CreateWindowA ("STATIC" , "virgo" , 0 , 0 , 0 , 0 , 0 , NULL , NULL , NULL , NULL );
9289 t -> bitmapWidth = GetSystemMetrics (SM_CXSMICON );
9390 t -> nid .cbSize = sizeof (t -> nid );
9491 t -> nid .hWnd = t -> hwnd ;
@@ -100,18 +97,16 @@ static void trayicon_init(Trayicon *t)
10097 ReleaseDC (t -> hwnd , hdc );
10198 SetBkColor (t -> mdc , RGB (0x00 , 0x00 , 0x00 ));
10299 SetTextColor (t -> mdc , RGB (0x00 , 0xFF , 0x00 ));
103- t -> hFont = CreateFont (
104- - MulDiv (11 , GetDeviceCaps (t -> mdc , LOGPIXELSY ), 72 ),
105- 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , TEXT ("Arial" )
106- );
100+ t -> hFont = CreateFont (- MulDiv (11 , GetDeviceCaps (t -> mdc , LOGPIXELSY ), 72 ), 0 ,
101+ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , TEXT ("Arial" ));
107102 t -> nid .hIcon = trayicon_draw (t , "1" , 1 );
108103 Shell_NotifyIcon (NIM_ADD , & t -> nid );
109104}
110105
111106static void trayicon_set (Trayicon * t , unsigned number )
112107{
113108 char snumber [2 ];
114- if (number > 9 ) {
109+ if (number > 9 ) {
115110 return ;
116111 }
117112 snumber [0 ] = number + '0' ;
@@ -134,20 +129,14 @@ static void trayicon_deinit(Trayicon *t)
134129static void windows_mod (Windows * wins , unsigned state )
135130{
136131 unsigned i ;
137- for (i = 0 ; i < wins -> count ; i ++ ) {
132+ for (i = 0 ; i < wins -> count ; i ++ ) {
138133 ShowWindow (wins -> windows [i ], state );
139134 }
140135}
141136
142- static void windows_show (Windows * wins )
143- {
144- windows_mod (wins , SW_SHOW );
145- }
137+ static void windows_show (Windows * wins ) { windows_mod (wins , SW_SHOW ); }
146138
147- static void windows_hide (Windows * wins )
148- {
149- windows_mod (wins , SW_HIDE );
150- }
139+ static void windows_hide (Windows * wins ) { windows_mod (wins , SW_HIDE ); }
151140
152141static void windows_add (Windows * wins , HWND hwnd )
153142{
@@ -162,13 +151,13 @@ static void windows_add(Windows *wins, HWND hwnd)
162151static void windows_del (Windows * wins , HWND hwnd )
163152{
164153 unsigned i , e ;
165- for (i = 0 ; i < wins -> count ; i ++ ) {
154+ for (i = 0 ; i < wins -> count ; i ++ ) {
166155 if (wins -> windows [i ] != hwnd ) {
167156 continue ;
168157 }
169- if (i != wins -> count - 1 ) {
170- for (e = i ; e < wins -> count - 1 ; e ++ ) {
171- wins -> windows [e ] = wins -> windows [e + 1 ];
158+ if (i != wins -> count - 1 ) {
159+ for (e = i ; e < wins -> count - 1 ; e ++ ) {
160+ wins -> windows [e ] = wins -> windows [e + 1 ];
172161 }
173162 }
174163 wins -> count -- ;
@@ -188,7 +177,7 @@ static void register_hotkey(unsigned id, unsigned mod, unsigned vk)
188177{
189178 if (!RegisterHotKey (NULL , id , mod , vk )) {
190179 MessageBox (NULL , "could not register hotkey" , "error" ,
191- MB_ICONEXCLAMATION );
180+ MB_ICONEXCLAMATION );
192181 ExitProcess (1 );
193182 }
194183}
@@ -198,13 +187,13 @@ static BOOL enum_func(HWND hwnd, LPARAM lParam)
198187 unsigned i , e ;
199188 Virgo * v ;
200189 Windows * desk ;
201- v = (Virgo * ) lParam ;
190+ v = (Virgo * )lParam ;
202191 if (!is_valid_window (hwnd )) {
203192 return 1 ;
204193 }
205- for (i = 0 ; i < NUM_DESKTOPS ; i ++ ) {
194+ for (i = 0 ; i < NUM_DESKTOPS ; i ++ ) {
206195 desk = & (v -> desktops [i ]);
207- for (e = 0 ; e < desk -> count ; e ++ ) {
196+ for (e = 0 ; e < desk -> count ; e ++ ) {
208197 if (desk -> windows [e ] == hwnd ) {
209198 return 1 ;
210199 }
@@ -219,17 +208,17 @@ static void virgo_update(Virgo *v)
219208 unsigned i , e ;
220209 Windows * desk ;
221210 HWND hwnd ;
222- for (i = 0 ; i < NUM_DESKTOPS ; i ++ ) {
211+ for (i = 0 ; i < NUM_DESKTOPS ; i ++ ) {
223212 desk = & (v -> desktops [i ]);
224- for (e = 0 ; e < desk -> count ; e ++ ) {
213+ for (e = 0 ; e < desk -> count ; e ++ ) {
225214 hwnd = desk -> windows [e ];
226215 if (!GetWindowThreadProcessId (desk -> windows [e ], NULL )) {
227216 windows_del (desk , hwnd );
228217 }
229218 }
230219 }
231220 desk = & v -> desktops [v -> current ];
232- for (i = 0 ; i < desk -> count ; i ++ ) {
221+ for (i = 0 ; i < desk -> count ; i ++ ) {
233222 hwnd = desk -> windows [i ];
234223 if (!IsWindowVisible (hwnd )) {
235224 windows_del (desk , hwnd );
@@ -243,14 +232,14 @@ static void virgo_toggle_hotkeys(Virgo *v)
243232 unsigned i ;
244233 v -> handle_hotkeys = !v -> handle_hotkeys ;
245234 if (v -> handle_hotkeys ) {
246- for (i = 0 ; i < NUM_DESKTOPS ; i ++ ) {
247- register_hotkey (i * 2 , MOD_ALT | MOD_NOREPEAT , i + 1 + '0' );
248- register_hotkey (i * 2 + 1 , MOD_CONTROL | MOD_NOREPEAT , i + 1 + '0' );
235+ for (i = 0 ; i < NUM_DESKTOPS ; i ++ ) {
236+ register_hotkey (i * 2 , MOD_ALT | MOD_NOREPEAT , i + 1 + '0' );
237+ register_hotkey (i * 2 + 1 , MOD_CONTROL | MOD_NOREPEAT , i + 1 + '0' );
249238 }
250239 } else {
251- for (i = 0 ; i < NUM_DESKTOPS ; i ++ ) {
252- UnregisterHotKey (NULL , i * 2 );
253- UnregisterHotKey (NULL , i * 2 + 1 );
240+ for (i = 0 ; i < NUM_DESKTOPS ; i ++ ) {
241+ UnregisterHotKey (NULL , i * 2 );
242+ UnregisterHotKey (NULL , i * 2 + 1 );
254243 }
255244 }
256245}
@@ -259,19 +248,21 @@ static void virgo_init(Virgo *v)
259248{
260249 unsigned i ;
261250 v -> handle_hotkeys = 1 ;
262- for (i = 0 ; i < NUM_DESKTOPS ; i ++ ) {
263- register_hotkey (i * 2 , MOD_ALT | MOD_NOREPEAT , i + 1 + '0' );
264- register_hotkey (i * 2 + 1 , MOD_CONTROL | MOD_NOREPEAT , i + 1 + '0' );
251+ for (i = 0 ; i < NUM_DESKTOPS ; i ++ ) {
252+ register_hotkey (i * 2 , MOD_ALT | MOD_NOREPEAT , i + 1 + '0' );
253+ register_hotkey (i * 2 + 1 , MOD_CONTROL | MOD_NOREPEAT , i + 1 + '0' );
265254 }
266- register_hotkey (i * 2 , MOD_ALT |MOD_CONTROL |MOD_SHIFT |MOD_NOREPEAT , 'Q' );
267- register_hotkey (i * 2 + 1 , MOD_ALT |MOD_CONTROL |MOD_SHIFT |MOD_NOREPEAT , 'S' );
255+ register_hotkey (i * 2 , MOD_ALT | MOD_CONTROL | MOD_SHIFT | MOD_NOREPEAT ,
256+ 'Q' );
257+ register_hotkey (i * 2 + 1 , MOD_ALT | MOD_CONTROL | MOD_SHIFT | MOD_NOREPEAT ,
258+ 'S' );
268259 trayicon_init (& v -> trayicon );
269260}
270261
271262static void virgo_deinit (Virgo * v )
272263{
273264 unsigned i ;
274- for (i = 0 ; i < NUM_DESKTOPS ; i ++ ) {
265+ for (i = 0 ; i < NUM_DESKTOPS ; i ++ ) {
275266 windows_show (& v -> desktops [i ]);
276267 sb_free (v -> desktops [i ].windows );
277268 }
@@ -303,7 +294,7 @@ static void virgo_go_to_desk(Virgo *v, unsigned desk)
303294 windows_hide (& v -> desktops [v -> current ]);
304295 windows_show (& v -> desktops [desk ]);
305296 v -> current = desk ;
306- trayicon_set (& v -> trayicon , v -> current + 1 );
297+ trayicon_set (& v -> trayicon , v -> current + 1 );
307298}
308299
309300void __main (void ) __asm__("__main" );
@@ -316,15 +307,15 @@ void __main(void)
316307 if (msg .message != WM_HOTKEY ) {
317308 continue ;
318309 }
319- if (msg .wParam == NUM_DESKTOPS * 2 ) {
310+ if (msg .wParam == NUM_DESKTOPS * 2 ) {
320311 break ;
321312 }
322- if (msg .wParam == NUM_DESKTOPS * 2 + 1 ) {
313+ if (msg .wParam == NUM_DESKTOPS * 2 + 1 ) {
323314 virgo_toggle_hotkeys (& v );
324- } else if (msg .wParam % 2 == 0 ) {
325- virgo_go_to_desk (& v , msg .wParam / 2 );
315+ } else if (msg .wParam % 2 == 0 ) {
316+ virgo_go_to_desk (& v , msg .wParam / 2 );
326317 } else {
327- virgo_move_to_desk (& v , (msg .wParam - 1 )/ 2 );
318+ virgo_move_to_desk (& v , (msg .wParam - 1 ) / 2 );
328319 }
329320 }
330321 virgo_deinit (& v );
0 commit comments