void set_active (Window win)
{
- send_event32 (win, server.atom._NET_ACTIVE_WINDOW, 2, 0);
+ send_event32 (win, server.atom._NET_ACTIVE_WINDOW, 2, CurrentTime, 0);
}
void set_desktop (int desktop)
{
- send_event32 (server.root_win, server.atom._NET_CURRENT_DESKTOP, desktop, 0);
+ send_event32 (server.root_win, server.atom._NET_CURRENT_DESKTOP, desktop, 0, 0);
}
void windows_set_desktop (Window win, int desktop)
{
- send_event32 (win, server.atom._NET_WM_DESKTOP, desktop, 2);
+ send_event32 (win, server.atom._NET_WM_DESKTOP, desktop, 2, 0);
}
void set_close (Window win)
{
- send_event32 (win, server.atom._NET_CLOSE_WINDOW, 0, 2);
+ send_event32 (win, server.atom._NET_CLOSE_WINDOW, 0, 2, 0);
}
void window_toggle_shade (Window win)
{
- send_event32 (win, server.atom._NET_WM_STATE, 2, server.atom._NET_WM_STATE_SHADED);
+ send_event32 (win, server.atom._NET_WM_STATE, 2, server.atom._NET_WM_STATE_SHADED, 0);
+}
+
+
+void window_maximize_restore (Window win)
+{
+ send_event32 (win, server.atom._NET_WM_STATE, 2, server.atom._NET_WM_STATE_MAXIMIZED_VERT, 0);
+ send_event32 (win, server.atom._NET_WM_STATE, 2, server.atom._NET_WM_STATE_MAXIMIZED_HORZ, 0);
}
at = server_get_property (win, server.atom._NET_WM_STATE, XA_ATOM, &count);
for (i = 0; i < count; i++) {
- if (at[i] == server.atom._NET_WM_STATE_SKIP_PAGER || at[i] == server.atom._NET_WM_STATE_SKIP_TASKBAR) {
+ if (at[i] == server.atom._NET_WM_STATE_SKIP_TASKBAR) {
XFree(at);
return 1;
}
XFree(at);
for (i=0 ; i < nb_panel ; i++) {
- if (panel1[i].main_win == win)
+ if (panel1[i].main_win == win) {
return 1;
+ }
}
// specification
}
+int window_is_urgent (Window win)
+{
+ Atom *at;
+ int count, i;
+
+ at = server_get_property (win, server.atom._NET_WM_STATE, XA_ATOM, &count);
+ for (i = 0; i < count; i++) {
+ if (at[i] == server.atom._NET_WM_STATE_DEMANDS_ATTENTION) {
+ XFree(at);
+ return 1;
+ }
+ }
+ XFree(at);
+ return 0;
+}
+
+
int server_get_number_of_desktop ()
{
return get_property32(server.root_win, server.atom._NET_NUMBER_OF_DESKTOPS, XA_CARDINAL);