Rely on the XSelectionNotify event to ascertain DragNDrop data are available
instead of blindly querying the property.
This does fix Drag and Drop sometimes non functioning.
On Linux, two scrolling events were generated for each wheel step
(one on ButtonPress, one on ButtonRelease). This led to scrolling being
twice faster on Linux than it is on Windows.
This patch ensures that only one scroll event is issued for one step at the
mouse wheel.
This patch does the following :
- as a vout window provider, make sure skins functions run by vout thread(s)
don't issue any calls to the GUI. (skins on Linux runs fine at last !)
- prepare support for SET_VOUT_SET_FULLSCREEN new control
- implement hotkeys (no longer available at the vout level)
- modify a show() method not consistent across platform
- cleanup (dead code)
notify events
* x11/x11_window.cpp: same thing for the other windows
* x11/x11_loop.cpp: when the "parent" window receives a map notify event,
we show all the windows because it doesn't seem to be automatic.
To have this working, we must update the visibility variable of the
windows when they are hidden by the window manager
win32, by ipkiss and myself...
Among the features:
- framework rewritten from scratch, heavily based on design patterns
=> new controls can be (hopefully) created more easily, portability
to other OS is better, and the interface is less dependant from
the vlc core
- new concept of "layout", to provide a window with several different
views (as in winamp3 skins)
- controls can now be placed at a relative position to the edges of
a window, which allow controls and layouts to be resizable (e.g
for the playlist window)
- Use of libpng and libfreetype2 for better portability between x11 and
win32 => ttf fonts and antialiasing
- New DTD for the xml theme ( *it will probably change again* )
- Very very beginning of scripting in the xml file
- And many things I miss
- And probably many bugs ;)