78af5d15e9
1. some random compiling/style cleanups 2. some bigfixes - mislogic in per-window-settings and focusing new windows - use client_can_focus rather than checking variables for directional focus - MAYBE fix all those lock-ups forever. using event_curtime (a new variable) now instead of event_lasttime. event_lasttime is still used however when the event being processed did not have a time associated with it. this may or may not be a problem, and will be seen. 3. um.. i forget 4. oh yeah, 3rd party docks are now treated like the internal ob dock irt focus. that is, clicking on them won't pass them focus. this is going to be ratified as expected behavior in the wm-spec just now. if docks/panels want focus they can request it with _net_active_window, and then they can have all the focus they want! one day alt-tabbing around dock windows might be nice. but not until the ob dock is moved out into a separate application. going to have to add a wmapp selection and stuff for that though... ugly. who uses wmdockapps anymore !? someone must.. *sigh*
50 lines
1.5 KiB
C
50 lines
1.5 KiB
C
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
|
|
|
|
event.h for the Openbox window manager
|
|
Copyright (c) 2003 Ben Jansens
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 2 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
See the COPYING file for a copy of the GNU General Public License.
|
|
*/
|
|
|
|
#ifndef __events_h
|
|
#define __events_h
|
|
|
|
#include <X11/Xlib.h>
|
|
#include <glib.h>
|
|
|
|
struct _ObClient;
|
|
|
|
/*! Time at which the last event with a timestamp occured. */
|
|
extern Time event_curtime;
|
|
|
|
/*! The value of the mask for the NumLock modifier */
|
|
extern guint NumLockMask;
|
|
/*! The value of the mask for the ScrollLock modifier */
|
|
extern guint ScrollLockMask;
|
|
|
|
void event_startup(gboolean reconfig);
|
|
void event_shutdown(gboolean reconfig);
|
|
|
|
/*! Make as if the mouse just entered the client, use only when using focus
|
|
follows mouse */
|
|
void event_enter_client(struct _ObClient *client);
|
|
|
|
/*! Request that any queued EnterNotify events not be used for distributing
|
|
focus */
|
|
void event_ignore_queued_enters();
|
|
|
|
/* Halts any focus delay in progress, use this when the user is selecting a
|
|
window for focus */
|
|
void event_halt_focus_delay();
|
|
|
|
#endif
|