]> Dogcows Code - chaz/openbox/log
chaz/openbox
14 years agoshow empty properties in obxprop
Dana Jansens [Wed, 12 May 2010 03:43:29 +0000 (23:43 -0400)] 
show empty properties in obxprop

14 years agoparse number values write in a hex string in obxprop
Dana Jansens [Wed, 12 May 2010 03:31:03 +0000 (23:31 -0400)] 
parse number values write in a hex string in obxprop

14 years agoadvance while parsing a hex input in obxprop
Dana Jansens [Wed, 12 May 2010 03:29:18 +0000 (23:29 -0400)] 
advance while parsing a hex input in obxprop

14 years agoadd cleanup functions to the client list menus that removes everything from them...
Dana Jansens [Tue, 11 May 2010 23:01:46 +0000 (19:01 -0400)] 
add cleanup functions to the client list menus that removes everything from them when they are not being shown (saves iterating thru the list uselessly when a client is unmanaged)

14 years agoadd cleanup function for menus that fires when the menu is no longer visible
Dana Jansens [Tue, 11 May 2010 23:01:33 +0000 (19:01 -0400)] 
add cleanup function for menus that fires when the menu is no longer visible

14 years agodon't try go to selected submenu when there is nothing selected
Dana Jansens [Thu, 29 Apr 2010 20:11:17 +0000 (16:11 -0400)] 
don't try go to selected submenu when there is nothing selected

14 years agouse clicks in prompts
Dana Jansens [Thu, 29 Apr 2010 02:05:06 +0000 (22:05 -0400)] 
use clicks in prompts

14 years agoadd a test to set a mouse cursor on an InputOnly subwindow
Dana Jansens [Wed, 28 Apr 2010 18:47:13 +0000 (14:47 -0400)] 
add a test to set a mouse cursor on an InputOnly subwindow

14 years agofix XSYNCronization of resizes (especially with two monitors).
Dana Jansens [Tue, 27 Apr 2010 22:45:22 +0000 (18:45 -0400)] 
fix XSYNCronization of resizes (especially with two monitors).

1) a ConfigureNotify must always follow a Sync notification
2) determine the final size of the window with its position else struts are not applied properly for (partly) maximized windows
3) set the sync counter to a value when managing a new window

14 years agomake sure clients stay on screen when the root window changes size, and maximized...
Dana Jansens [Tue, 27 Apr 2010 21:24:51 +0000 (17:24 -0400)] 
make sure clients stay on screen when the root window changes size, and maximized/fullscreen windows must be on some monitor or it doesn't make much sense (and asserts)

14 years agoRemove two unused variables
Mikael Magnusson [Tue, 27 Apr 2010 14:41:06 +0000 (16:41 +0200)] 
Remove two unused variables

Remains from 64adc0eeba598cb1469b2140777fba30e3053f0e

14 years agofound memory corruption in the obt xqueue and paths
Dana Jansens [Wed, 28 Apr 2010 14:59:42 +0000 (10:59 -0400)] 
found memory corruption in the obt xqueue and paths

14 years agomake an event queue for X events. the queue's min size is 16 XEvents (~3k)
Dana Jansens [Wed, 28 Apr 2010 16:57:51 +0000 (12:57 -0400)] 
make an event queue for X events.  the queue's min size is 16 XEvents (~3k)

14 years agodon't put reparent events back on the stack. the window is no longer being managed...
Dana Jansens [Fri, 23 Apr 2010 15:57:26 +0000 (11:57 -0400)] 
don't put reparent events back on the stack.  the window is no longer being managed anyways.  and it messes up the order of events in the queue

14 years agoputting events on the event queue does not send them back to the server. it was...
Dana Jansens [Fri, 23 Apr 2010 15:54:09 +0000 (11:54 -0400)] 
putting events on the event queue does not send them back to the server.  it was just going to get ignored the next time around cuz the window wouldnt be in our list of clients

14 years agodon't use XPutBackEvent and mess up timestamp order in the event queue
Dana Jansens [Fri, 23 Apr 2010 15:50:24 +0000 (11:50 -0400)] 
don't use XPutBackEvent and mess up timestamp order in the event queue

14 years agoadd asserts to make sure we don't add things to stacking list that are not managed
Dana Jansens [Tue, 20 Apr 2010 19:22:58 +0000 (15:22 -0400)] 
add asserts to make sure we don't add things to stacking list that are not managed

14 years agodon't change stacking stuff on windows when moving them during the unmanage phase.
Dana Jansens [Tue, 20 Apr 2010 19:20:46 +0000 (15:20 -0400)] 
don't change stacking stuff on windows when moving them during the unmanage phase.

14 years agoevent_curtime is replaced (publicly) by event_time()
Dana Jansens [Sat, 17 Apr 2010 02:23:37 +0000 (22:23 -0400)] 
event_curtime is replaced (publicly) by event_time()

This function never returns CurrentTime, which is nice, cuz using CurrentTime for XSetFocus always sucks.

If the current XEvent did not have a timestamp, then event_time() will find one.  It finds the first timestamp available in the X event queue, meaning the earliest timestamp >= the current (nontimestamped) event. All future events should have a timestamp >= event_time(), so using this in XSetFocus() should not mess up any future calls we make to it.

This change seems to work well, as it appears to fix bug #3648.

14 years agoWhen determining the current timestamp, try get something a lil more accurate
Dana Jansens [Sat, 17 Apr 2010 01:19:50 +0000 (21:19 -0400)] 
When determining the current timestamp, try get something a lil more accurate

Get the first timestamp from the event queue, rather than (potentially) the
  last.
also treat it as the actual event_curtime, meaning it is used when focusing a
  newly mapped window etc.

14 years agowhen client removes its transient_for hint, don't keep the window as transient for...
Dana Jansens [Sat, 17 Apr 2010 00:35:04 +0000 (20:35 -0400)] 
when client removes its transient_for hint, don't keep the window as transient for the group when it shouldn't be (fixes bug #4586)

14 years agoallow warping the mouse pointer when switching desktops by bumping into the edge...
Dana Jansens [Fri, 16 Apr 2010 22:55:33 +0000 (18:55 -0400)] 
allow warping the mouse pointer when switching desktops by bumping into the edge of the monitor with a window

based on a patch by Nathaniel Gephart <computinchuck@gmail.com>

14 years agoshow the focus cycle popup's icons in linear order when cycling in linear order ...
Dana Jansens [Fri, 16 Apr 2010 22:41:08 +0000 (18:41 -0400)] 
show the focus cycle popup's icons in linear order when cycling in linear order (bug #2319)

14 years agoadd an option to next/previous window to only include hilited/flashing/urgent windows...
Dana Jansens [Fri, 16 Apr 2010 22:17:05 +0000 (18:17 -0400)] 
add an option to next/previous window to only include hilited/flashing/urgent windows (feature req/bug #4341)

14 years agoLink libobrender, not openbox, to imlib2
Mikael Magnusson [Sun, 14 Mar 2010 14:28:27 +0000 (15:28 +0100)] 
Link libobrender, not openbox, to imlib2

14 years agoadd some comments for binary search
Dana Jansens [Fri, 16 Apr 2010 15:46:52 +0000 (11:46 -0400)] 
add some comments for binary search

14 years agostat() can give an error, handle that
Dana Jansens [Fri, 16 Apr 2010 15:41:13 +0000 (11:41 -0400)] 
stat() can give an error, handle that

14 years agouse const Rect* not Rect const*
Dana Jansens [Fri, 16 Apr 2010 15:31:22 +0000 (11:31 -0400)] 
use const Rect* not Rect const*

14 years agoadd BSEARCH() macros in obt/bsearch.h that to a binary search on an array, use it...
Dana Jansens [Tue, 30 Mar 2010 03:21:22 +0000 (23:21 -0400)] 
add BSEARCH() macros in obt/bsearch.h that to a binary search on an array, use it when searching for a group in obt_paths_try_exec()

14 years agoparse some of the .desktop stuff into an ObtLink structure
Dana Jansens [Tue, 30 Mar 2010 02:38:05 +0000 (22:38 -0400)] 
parse some of the .desktop stuff into an ObtLink structure

localized names still don't work.
most of the app-specific stuff isn't done yet.
categories aren't handled yet (to only show in/not show in some category)

14 years agoadd obt_paths_try_exec() that will see if an executable exists
Dana Jansens [Tue, 30 Mar 2010 02:32:07 +0000 (22:32 -0400)] 
add obt_paths_try_exec() that will see if an executable exists

14 years agosave the LC_MESSAGES locale category
Dana Jansens [Tue, 30 Mar 2010 01:22:19 +0000 (21:22 -0400)] 
save the LC_MESSAGES locale category

14 years agoif a launch time isnt there (like for client_activate) assume the window launched...
Dana Jansens [Tue, 30 Mar 2010 00:36:35 +0000 (20:36 -0400)] 
if a launch time isnt there (like for client_activate) assume the window launched before the last desktop switch, not after. ie don't change desktops if you're not sure.

14 years agomake keypad enter do the same thing as return
Dana Jansens [Fri, 26 Mar 2010 02:17:05 +0000 (22:17 -0400)] 
make keypad enter do the same thing as return

14 years agofigure out what type the value should be for each known .desktop key, and watch for...
Dana Jansens [Fri, 26 Mar 2010 02:03:55 +0000 (22:03 -0400)] 
figure out what type the value should be for each known .desktop key, and watch for invalid keys

14 years agoAdd a new ObtLink type, which is going to be a generalization of a .desktop entry.
Dana Jansens [Fri, 26 Mar 2010 01:10:45 +0000 (21:10 -0400)] 
Add a new ObtLink type, which is going to be a generalization of a .desktop entry.

Move the .desktop file parsing details into obt/ddparse.c, which generates
  some hash tables holding the data of the file.
Add a new obt/link.c which will build an ObtLink from a parsed .desktop file,
  and may support other ways to create these links in the unforseeable future

14 years agoignore the rendertest executable
Dana Jansens [Fri, 26 Mar 2010 01:09:20 +0000 (21:09 -0400)] 
ignore the rendertest executable

14 years agoignore generated autostart script
Dana Jansens [Fri, 26 Mar 2010 01:08:55 +0000 (21:08 -0400)] 
ignore generated autostart script

14 years agosave key values based on their value, but we dont know what values they have yet
Dana Jansens [Thu, 25 Mar 2010 23:31:57 +0000 (19:31 -0400)] 
save key values based on their value, but we dont know what values they have yet

14 years agoadd an empty function to parse the Desktop Entry group in a .desktop file
Dana Jansens [Thu, 25 Mar 2010 02:09:58 +0000 (22:09 -0400)] 
add an empty function to parse the Desktop Entry group in a .desktop file

14 years agoparse key/value pairs from the .desktop file and save them in a hashtable
Dana Jansens [Thu, 25 Mar 2010 01:58:49 +0000 (21:58 -0400)] 
parse key/value pairs from the .desktop file and save them in a hashtable

14 years agoclose the .desktop file after parsing it
Dana Jansens [Thu, 25 Mar 2010 01:58:32 +0000 (21:58 -0400)] 
close the .desktop file after parsing it

14 years agofree the path after done with it
Dana Jansens [Thu, 25 Mar 2010 01:50:10 +0000 (21:50 -0400)] 
free the path after done with it

14 years agog_warning adds a \n
Dana Jansens [Thu, 25 Mar 2010 01:37:41 +0000 (21:37 -0400)] 
g_warning adds a \n

14 years agowatch for groups in .desktop files and remember the current group. validate the names...
Dana Jansens [Thu, 25 Mar 2010 00:04:41 +0000 (20:04 -0400)] 
watch for groups in .desktop files and remember the current group. validate the names, and make sure no duplicates and "Desktop Entry" comes first

14 years agoavoid ascii control characters in strings
Dana Jansens [Wed, 24 Mar 2010 23:49:23 +0000 (19:49 -0400)] 
avoid ascii control characters in strings

14 years agoadd beginning of .desktop file parsing, grabs a line of text from the input file...
Dana Jansens [Wed, 24 Mar 2010 02:17:06 +0000 (22:17 -0400)] 
add beginning of .desktop file parsing, grabs a line of text from the input file at a time and strips out any \0 characters

14 years agomake enum values match numbers in the spec, and make the .desktop file reader functio...
Dana Jansens [Wed, 24 Mar 2010 02:15:12 +0000 (22:15 -0400)] 
make enum values match numbers in the spec, and make the .desktop file reader function take a list of paths to look for the file in

14 years agoinstall the obt/ddfile.h header
Dana Jansens [Wed, 24 Mar 2010 02:14:33 +0000 (22:14 -0400)] 
install the obt/ddfile.h header

14 years agoadd function to give the list of autostart directories
Dana Jansens [Wed, 24 Mar 2010 00:22:11 +0000 (20:22 -0400)] 
add function to give the list of autostart directories

14 years agoadd some functions for parsing a value in a .desktop file
Dana Jansens [Wed, 24 Mar 2010 00:12:16 +0000 (20:12 -0400)] 
add some functions for parsing a value in a .desktop file

14 years agoallow non-normal windows to go to 0,0. and remove a debugging g_print
Dana Jansens [Tue, 23 Mar 2010 21:00:01 +0000 (17:00 -0400)] 
allow non-normal windows to go to 0,0.  and remove a debugging g_print

14 years agoAdd menu seperator style to Clearlooks
David Barr [Tue, 9 Mar 2010 12:00:02 +0000 (13:00 +0100)] 
Add menu seperator style to Clearlooks

The default themerc is quite old and does not include the slightly newer
option to theme the menu seperator, here is a patch to fix that and some
very trivial tweaks to overall theme to better match the metacity/gtk
version.

14 years agoadd a function client_is_oldfullscreen() that determines if a window is an "oldschool...
Dana Jansens [Mon, 1 Mar 2010 21:30:06 +0000 (16:30 -0500)] 
add a function client_is_oldfullscreen() that determines if a window is an "oldschool fullscreen window" or not.  use this throughout.  and allow oldschool fullscreen windows to move to 0,0 even with a strut there.

14 years agowhen an app tries to move to 0,0 and there is a strut there (java swing!), move it...
Dana Jansens [Mon, 1 Mar 2010 20:55:27 +0000 (15:55 -0500)] 
when an app tries to move to 0,0 and there is a strut there (java swing!), move it to inside the strut instead (unless it is an oldschool fullscreen app)

14 years agomissing a g_slice_free
Dana Jansens [Fri, 26 Feb 2010 20:36:44 +0000 (15:36 -0500)] 
missing a g_slice_free

14 years agolibexecdir is provided by automake, and gnome-settings-daemon is not always in /usr...
Dana Jansens [Wed, 24 Feb 2010 18:27:30 +0000 (13:27 -0500)] 
libexecdir is provided by automake, and gnome-settings-daemon is not always in /usr/libexecdir, use the dir from automake

14 years agoType is a mandatory field of a .desktop, so add it to the old gnome-interfacing-deskt...
Dana Jansens [Wed, 24 Feb 2010 18:22:55 +0000 (13:22 -0500)] 
Type is a mandatory field of a .desktop, so add it to the old gnome-interfacing-desktop file

14 years agoShow client menu on right click anywhere on a window frame (left and right were excluded)
Dana Jansens [Sun, 21 Feb 2010 18:40:01 +0000 (13:40 -0500)] 
Show client menu on right click anywhere on a window frame (left and right were excluded)

14 years agoAdded shade-icon to client-menu
Tobias Gläßer [Sun, 21 Feb 2010 15:01:49 +0000 (16:01 +0100)] 
Added shade-icon to client-menu

14 years agomake array large enough
Dana Jansens [Fri, 19 Feb 2010 22:17:14 +0000 (17:17 -0500)] 
make array large enough

14 years agoget the modifier mask for a modifier key that is pressed/released more accurately...
Dana Jansens [Fri, 19 Feb 2010 21:58:33 +0000 (16:58 -0500)] 
get the modifier mask for a modifier key that is pressed/released more accurately, using the table we built already for other purposes

14 years agosave the state of the modifiers only when starting an interactive action
Dana Jansens [Fri, 19 Feb 2010 20:53:36 +0000 (15:53 -0500)] 
save the state of the modifiers only when starting an interactive action

14 years agomove the startup command launching into a helper function
Dana Jansens [Wed, 17 Feb 2010 21:15:08 +0000 (16:15 -0500)] 
move the startup command launching into a helper function

14 years agorevamp the autostart functionality, so autostart apps launch after openbox.
Dana Jansens [Wed, 17 Feb 2010 21:11:36 +0000 (16:11 -0500)] 
revamp the autostart functionality, so autostart apps launch after openbox.

add /usr/libexec/openbox-autostart which runs the global/user scripts and
  launches /usr/libexec/openbox-xdg-autostart (which runs .desktop autostart
  stuff)

make openbox-session call openbox with --startup option, to make openbox launch
  /usr/libexec/openbox-autostart *after* it is initialized.

add /etc/xdg/openbox/environment and ~/.config/openbox/environment files to let
  user change environment variables (locale) for their Openbox session, which
  openbox-session loads before running openbox.

14 years agodon't use a variable as a format string
Dana Jansens [Wed, 17 Feb 2010 16:44:12 +0000 (11:44 -0500)] 
don't use a variable as a format string

14 years agoAdd skeleton for start of dot-desktop-file parser
Dana Jansens [Wed, 17 Feb 2010 03:08:03 +0000 (22:08 -0500)] 
Add skeleton for start of dot-desktop-file parser

14 years agolower the default submenu show delay
Dana Jansens [Tue, 16 Feb 2010 13:19:00 +0000 (08:19 -0500)] 
lower the default submenu show delay

14 years agoa couple more g_free() to g_slice_free()'s
Dana Jansens [Tue, 16 Feb 2010 21:41:21 +0000 (16:41 -0500)] 
a couple more g_free() to g_slice_free()'s

14 years agomore using g_slice_new() instead of g_new()
Dana Jansens [Tue, 16 Feb 2010 21:26:18 +0000 (16:26 -0500)] 
more using g_slice_new() instead of g_new()

14 years agomissed a g_free() that should be g_slice_free()
Dana Jansens [Tue, 16 Feb 2010 21:04:47 +0000 (16:04 -0500)] 
missed a g_free() that should be g_slice_free()

14 years agodont trust the _NET_ACTIVE_WINDOW timestamp. (fixes bug #4519)
Dana Jansens [Mon, 15 Feb 2010 17:33:33 +0000 (12:33 -0500)] 
dont trust the _NET_ACTIVE_WINDOW timestamp. (fixes bug #4519)

if we decide to focus the window, do not use their provided timestamp.
chromium gives a very old timestamp, which means we think we're focusing the
window but it never actually gets focus, leading to inconsistent behaviour by
openbox.  use the timestamp for making decisions about passing focus if you
want (we dont right now), but not for the XSetInputFocus call.

14 years agoRemove mismerge-added files
Mikael Magnusson [Sat, 13 Feb 2010 02:43:56 +0000 (03:43 +0100)] 
Remove mismerge-added files

14 years agoinclude imlib2 as a dep of obrender in the pkg-config file if it's using it
Dana Jansens [Fri, 12 Feb 2010 20:13:39 +0000 (15:13 -0500)] 
include imlib2 as a dep of obrender in the pkg-config file if it's using it

14 years agomake the obt .pc file do -lobt, not -lobrender
Dana Jansens [Fri, 12 Feb 2010 20:09:03 +0000 (15:09 -0500)] 
make the obt .pc file do -lobt, not -lobrender

14 years agoremove a bunch of g_new()/g_free() by returning Rect const*'s from screen area functi...
Dana Jansens [Fri, 12 Feb 2010 19:36:53 +0000 (14:36 -0500)] 
remove a bunch of g_new()/g_free() by returning Rect const*'s from screen area functions when possible

14 years agouse g_slice_new() instead of g_new() part 4
Dana Jansens [Fri, 12 Feb 2010 19:13:32 +0000 (14:13 -0500)] 
use g_slice_new() instead of g_new() part 4

14 years agouse g_slice_new() instead of g_new() part 3
Dana Jansens [Fri, 12 Feb 2010 19:03:24 +0000 (14:03 -0500)] 
use g_slice_new() instead of g_new() part 3

14 years agouse g_slice_new() instead of g_new() part 2
Dana Jansens [Fri, 12 Feb 2010 18:55:26 +0000 (13:55 -0500)] 
use g_slice_new() instead of g_new() part 2

14 years agousing g_slice_new() instead of g_new() part 1
Dana Jansens [Fri, 12 Feb 2010 18:44:10 +0000 (13:44 -0500)] 
using g_slice_new() instead of g_new() part 1

14 years agohave obt refresh the xlib keyboard stuff on mappingnotify events
Dana Jansens [Fri, 12 Feb 2010 18:31:49 +0000 (13:31 -0500)] 
have obt refresh the xlib keyboard stuff on mappingnotify events

14 years agodestroy XIC's that belong to an XIM before closing the XIM, else Xlib will seggie!
Dana Jansens [Fri, 12 Feb 2010 13:11:27 +0000 (08:11 -0500)] 
destroy XIC's that belong to an XIM before closing the XIM, else Xlib will seggie!

14 years agoCheck node->name for null
Mikael Magnusson [Fri, 12 Feb 2010 04:05:40 +0000 (05:05 +0100)] 
Check node->name for null

Seems to happen sometimes with a well placed xml comment.

14 years agodont print warnings when reading keys which dont generate text
Dana Jansens [Thu, 11 Feb 2010 20:15:01 +0000 (15:15 -0500)] 
dont print warnings when reading keys which dont generate text

14 years agomake control keys work in menus/dialogs/etc with the new obt code, using XLookup...
Dana Jansens [Thu, 11 Feb 2010 20:05:16 +0000 (15:05 -0500)] 
make control keys work in menus/dialogs/etc with the new obt code, using XLookup stuff

14 years agoinitialize the action shutdown function to NULL
Dana Jansens [Thu, 11 Feb 2010 19:58:53 +0000 (14:58 -0500)] 
initialize the action shutdown function to NULL

14 years agopass an input context to the interactive input function
Dana Jansens [Thu, 11 Feb 2010 19:39:09 +0000 (14:39 -0500)] 
pass an input context to the interactive input function

14 years agomake menu input work with the new obt keyboard stuff.
Dana Jansens [Thu, 11 Feb 2010 19:17:59 +0000 (14:17 -0500)] 
make menu input work with the new obt keyboard stuff.

create an Input Context for use during keyboard grabs, and use this to
  translate KeyPress events properly.
make the menu respond to KeyPress events, since these are the only ones that
  can be translated properly, but still execute things from KeyRelease events

14 years agomake the menu use the new obt stuff when reading keyboard input so it can handle...
Dana Jansens [Thu, 11 Feb 2010 18:59:15 +0000 (13:59 -0500)] 
make the menu use the new obt stuff when reading keyboard input so it can handle input from the non-base group and composed input

14 years agomake obt translate keypress events to a valid utf8 character (note this makes openbox...
Dana Jansens [Thu, 11 Feb 2010 16:46:46 +0000 (11:46 -0500)] 
make obt translate keypress events to a valid utf8 character (note this makes openbox not compile)

14 years agodon't strip the state for keyboard events
Dana Jansens [Thu, 11 Feb 2010 18:23:54 +0000 (13:23 -0500)] 
don't strip the state for keyboard events

this allows translation of keys not in the base keyboard layout

14 years agoadd interface in obt to create an Input Context for a window
Dana Jansens [Thu, 11 Feb 2010 16:27:36 +0000 (11:27 -0500)] 
add interface in obt to create an Input Context for a window

14 years agocreate an X Input Method in obt for the app to use for all input
Dana Jansens [Thu, 11 Feb 2010 16:16:17 +0000 (11:16 -0500)] 
create an X Input Method in obt for the app to use for all input

14 years agoget xlib to reload the keyboard on MappingNotify events
Dana Jansens [Thu, 11 Feb 2010 16:00:41 +0000 (11:00 -0500)] 
get xlib to reload the keyboard on MappingNotify events

14 years agoXKB header comes from obt
Dana Jansens [Thu, 11 Feb 2010 15:58:47 +0000 (10:58 -0500)] 
XKB header comes from obt

14 years agocheck the xkb version before using it
Dana Jansens [Thu, 11 Feb 2010 15:58:16 +0000 (10:58 -0500)] 
check the xkb version before using it

14 years agomake the execute action not segfault when using a prompt (bug #4543)
Dana Jansens [Thu, 11 Feb 2010 15:25:35 +0000 (10:25 -0500)] 
make the execute action not segfault when using a prompt (bug #4543)

also save the client when using a prompt so it can be used if you choose "yes" from the prompt

14 years agoadd an optional shutdown function which actions can register
Dana Jansens [Thu, 11 Feb 2010 15:25:22 +0000 (10:25 -0500)] 
add an optional shutdown function which actions can register

14 years agoi learnt what xkb does with the state.
Dana Jansens [Wed, 10 Feb 2010 02:03:01 +0000 (21:03 -0500)] 
i learnt what xkb does with the state.

use the state from keyrelease events directly, rather than query the state (which is not as accurate!)

the xkb state (as opposed to the normally sent compat state) contains extra info like the keyboard group, the pointer buttons, etc.  so we can just strip that stuff out. (See section 2.2.2 of the XKB proto document)

14 years agodont assert when there is no valid key layout present
Dana Jansens [Tue, 9 Feb 2010 00:29:02 +0000 (19:29 -0500)] 
dont assert when there is no valid key layout present

This page took 0.057162 seconds and 4 git commands to generate.