Commit Graph

3561 Commits

Author SHA1 Message Date
Kim Woelders 8b10610095 Espawn(): Use variable argument list 2020-05-01 14:11:26 +02:00
Kim Woelders cee07a720a groups.c: Correct debug stuff 2020-03-07 17:30:56 +01:00
Kim Woelders 7011dc150d Hide Group struct internals 2020-03-07 17:30:56 +01:00
Kim Woelders c839d0e14a src: Fix clang-analyzer complaints
arrange.c: Highly unlikely, maybe impossible situations

backgrounds.c: False positive (I think)

dialog.c: Fix memleak/segv on realloc failure

focus.c: False positive
	ewin should never be NULL with FOCUS_EWIN_NEW

main.c: False positive
	eoptarg will always be set if argument requires option

menus.c: Fix memleak on malloc failure

session.c: Fix dead assignment

stacking.c: False positive
	Changed code is nicer though

pager.c: False positive
	ewin would never be NULL if hiwin was NULL
	But rearrange for clarity anyway

ecompmgr.c: Avoid bogus issues
2020-01-29 16:43:01 +01:00
Kim Woelders b6f500f3bc aclass.c: Fix valgrind complaint 2020-01-25 14:36:47 +01:00
Kim Woelders 32e9cf4535 slideouts: Fix potential crash
For obscure reasons(?) Mode.context_win may be set to some large window.
If a slideout is then shown (if the slideout doesn't fit between the
window and the screen edge), SlideoutShow() will call itself recursively
until we crash.
2020-01-25 14:32:47 +01:00
Kim Woelders 031b9dd23e slideouts: Refactoring
- Split up SlideoutCalcSize().
- Move the functions to avoid forward declarations.
- Drop pointless call in SlideoutAddButton().
2020-01-25 14:32:47 +01:00
Kim Woelders b294796de2 slideouts: Use defines for directions
And correct the two incorrect ones.
2020-01-25 14:32:47 +01:00
Kim Woelders 88dba1cfff Re-indent with indent-2.2.12 2020-01-23 21:30:02 +01:00
Kim Woelders 18f9df7774 Fix unmaximizing by _NET_WM_STATE[_MAXIMIZED_...] 2020-01-23 20:30:23 +01:00
Kim Woelders 4e74e31d23 bindings: Add 'W' as alias for modifier 4 2020-01-23 20:29:51 +01:00
Kim Woelders d4278e802e windowmatches: Add some consts 2020-01-23 20:29:15 +01:00
Kim Woelders 8f1bfc4f53 Fix warnings occurring in various situations 2020-01-23 20:29:05 +01:00
Kim Woelders 7836d0cf3e windowmatches: Enable having spaces in name matches 2020-01-06 17:22:06 +01:00
Kim Woelders 4df8199d60 windowmatches: Remove some cruft 2019-12-28 10:47:15 +01:00
Kim Woelders e101ec06a7 windowmatches: Issue notice when discarding invalid one 2019-12-25 16:50:37 +01:00
Kim Woelders 36763cc7e2 windowmatches: Resurrect USE_ICON_IMAGE_FOR_CLIENT_() macros 2019-12-25 16:23:35 +01:00
Kim Woelders 4daa634a06 windowmatches: Remove ancient incorrect case values 2019-12-25 14:25:52 +01:00
Kim Woelders 57be6615d3 windowmatches: Fix use of MAKE_WINDOW_STICKY_...() macros
Looks like the last time this worked was in 0.16.8.
2019-12-25 14:25:40 +01:00
Ingo Feinerer 04ec9834d9 Add sndio sound back end 2019-08-14 15:14:45 +02:00
Kim Woelders 7af2a15fef Fix using sound in modular build
Also remove obsolete __EXPORT__s on Strlist.. functions.
2019-08-10 16:32:48 +02:00
Kim Woelders c67ebd88ba Explicitly include sys/select.h where needed
... rather than relying on it to be included via sys/time.h or sys/types.h.
2019-07-30 17:40:04 +02:00
Kim Woelders 3aec52f580 Fix potential warning
Issued by gcc9 with certain combinations(?) of build options.
2019-05-30 18:18:48 +02:00
Kim Woelders 9f84935029 Fix build without composite 2019-05-30 17:38:37 +02:00
Kim Woelders d767409ee8 Make config dialog edge flip mode changes take effect immediately
Previously it required a restart.
2019-05-18 07:08:52 +02:00
Kim Woelders e9c282c773 Forgot some 2019 2019-05-10 06:35:40 +02:00
Kim Woelders fc567497a9 GSOD: Only react to shown buttons 2019-04-25 09:40:34 +02:00
Kim Woelders 84616e4617 GSOD: Better keyboard grab
XGrabKeyboard() may fail if Alert*() is called from a child process
during an activated passive key grab, e.g. due to a keybinding doing
an "exec some-prog", and execl(some-prog) fails.
If XGrabKeyboard() fails the GSOD will not receive key events and only
the pointer can be used to interact with the GSOD.

Therefore we now also grab all possible keys/modifiers which should
normally include the Fn keys we want, and to some degree ensure that
other keyboard input is caught and ignored.
However, it seems that passive key grabs without modifiers may be
activated (queued) and prevent further key events to the GSOD -
presumably not a major problem in practice.
2019-04-25 09:17:21 +02:00
Kim Woelders e05a7293c6 Fix timer havoc in obscure situations
Not exactly sure when, but timers were created with undefined again,
which could lead to trouble due to unintended timer deletion.
2019-04-25 09:06:06 +02:00
Kim Woelders d77444f16d Fix potential memory leak in _ScreenInitXrandr() 2019-04-25 09:06:06 +02:00
Kim Woelders 4d8f151154 Use pkg-config some more 2019-04-25 09:06:06 +02:00
Kim Woelders 5d21c40c92 Fix compositing glitches with tiled backgrounds
It seems that sometimes there are rendering glitches when having a tiled
backround with 0 offsets and tile size less than screen size.

In this case the desktop pixmap would be smaller than the screen size and
we rely on the repeat picture attribute in the desktop picture to get it
tiled over the entire desktop window when compositing.

However, it seems that sometimes(?) the desktop window is not properly
repainted outside the top left tile.

To fix this we now always use a full-sized background pixmap when
compositing is enabled.

I think this is an X-server bug but I haven't been able to produce a
test case demonstrating the problem.
2019-04-06 11:10:27 +02:00
Kim Woelders 8ff53d9575 Remove unused header 2019-04-06 11:10:27 +02:00
Kim Woelders 9e476fb426 Fix potential segv in pulseaudio sound handler 2019-04-06 11:10:27 +02:00
Kim Woelders 8994417b49 Fix memory leak in pulseaudio sound loader
The leak only happens when a sound file is first loaded so the leakage
will not grow indefinitely.

Also eliminate global sample_stream and sample_length.
2019-04-06 11:10:27 +02:00
Kim Woelders e1a6416a04 Restore background to last set if quitting background selector 2019-04-02 18:28:08 +02:00
Kim Woelders cd99117378 Correct refresh when switching away from background "None" 2019-04-02 18:28:08 +02:00
Kim Woelders 87d4ea9f48 Don't do double-clicks on scroll wheel events 2019-03-31 20:21:50 +02:00
Kim Woelders 83d1002949 Tweak winop opacity delta mode
- If current opacity property value is 0 meaning default then use
  actual current opacity.
- Don't go below 10%
- Going above 100 means use default (value = 0)
2019-03-31 20:21:50 +02:00
Kim Woelders c9ad641ba8 Fix restart after choosing Restart in GSOD on e.g. segv
Mode.wm.exit_now should be set before calling SessionExit() which may
happen inside Alert().
2019-03-26 18:47:45 +01:00
Kim Woelders d3f92db637 Remove saveunders option from Miscellaneous Settings dialog
No longer generally useful.

The option is still available via the misc.save_under configuration
parameter.
2019-03-26 18:45:53 +01:00
Kim Woelders 759f3743bd Correct (disabled) debug printout 2019-03-20 20:35:19 +01:00
Kim Woelders 802f34f758 Introduxe ArrangeEwinCenteredOn() 2019-03-05 16:15:28 +01:00
Kim Woelders c23bca5c26 Split unplaced transient and dialog handling
Shouldn't make much difference but makes the code a bit easier to
follow.
2019-03-05 16:15:28 +01:00
Kim Woelders 524540f7a8 Fix transient placement involving desk/area change (take 2)
Do desk/area change before placing the window.

Otherwise desk/area slides get mixed up with window slide-ins.

Also add some comments about what goes on here.
2019-03-05 16:15:28 +01:00
Kim Woelders 6dab84f6c6 Introduce EwinFindGroupMember() 2019-03-05 16:15:28 +01:00
Kim Woelders 84788b993c Optionally don't slide in DeskGotoByEwin()
No actual changes yet.
2019-03-05 16:15:28 +01:00
Kim Woelders 8dcb2d3dfa Revert "Fix transient placement involving desk/area change"
Does not work properly.

This reverts commit e132f27043.
2019-03-05 16:15:28 +01:00
Kim Woelders 96b538a6e1 Warning fix for gcc 9 2019-02-10 06:08:30 +01:00
Kim Woelders 19e250321f Tweak glwin commands
- Change R to S(top)
- Add R(eset), resetting the absolute rotations too
2019-02-10 06:08:30 +01:00
Kim Woelders 077c50513d Forgot indent 2019-02-10 06:07:38 +01:00
Kim Woelders e132f27043 Fix transient placement involving desk/area change 2019-01-02 17:34:33 +01:00
Kim Woelders 0c623f1efe Remove pointless goto 2019-01-02 17:34:33 +01:00
Kim Woelders 0e0d840453 Consistently use *ALLOC() macros 2018-12-22 15:45:31 +01:00
Kim Woelders 3226edc567 Change EFREE_... macros to functions
Reduces code size by ~4k.
2018-12-22 11:44:22 +01:00
Kim Woelders b9a9946a0a Update copyright to 2018 2018-12-22 11:44:22 +01:00
Kim Woelders 22b5e58dcd Refactor/rename/use _EFREE type macros 2018-12-22 11:44:22 +01:00
Kim Woelders 0c3b5a0625 Add theme defined menu 2018-12-16 12:00:06 +01:00
Kim Woelders 17f29731f0 Enable changing only theme variant
Use e.g.
$ e16 -t :variant
$ eesh theme use :variant
2018-12-15 20:49:50 +01:00
Kim Woelders 09204d4fdb Indent 2018-12-15 18:43:11 +01:00
Kim Woelders cdccc198cd Avoid unnecesary use of MenuSetTitle() 2018-06-23 14:07:42 +02:00
Kim Woelders b01703314a More warning fixes for gcc 8 2018-04-06 04:35:33 +02:00
Kim Woelders fde462c1ca Warning fixes for gcc 8 2018-03-31 09:09:52 +02:00
Kim Woelders 982ccfe70e Fix focus-if-group-focused cases
In various cases focus would not be set as intended, at least when
not focus-all-new and
 click-to-focus or
 not click-to-focus and pointer not in new client
2018-03-28 18:46:48 +02:00
Kim Woelders 525e7afc6b focus.c: Cosmetics 2018-03-28 18:43:22 +02:00
Kim Woelders 988ebc96e8 Trivial cleanups 2018-03-11 19:51:32 +01:00
Kim Woelders 6e3a325980 xprop.c: Fix warnings found with -O3
If num = 0 realloc() below would use uninitialized lst if op != REMOVE.

However, ex_window_prop_xid_list_change() is currently not used by e16.
2018-03-11 19:47:43 +01:00
Kim Woelders 6d50041570 Minor win_op help update 2018-03-03 14:54:28 +01:00
Kim Woelders 5e836ea001 On window mode exit close/kill windows instead of reparent to root 2018-03-03 14:21:16 +01:00
Kim Woelders 3e5398789b Add some image cache control
Most of this requires imlib2-1.5.0.

- Enable showing setup and usage.
- Store regular image cache size in configuration.
- Add control for XImage cache item count.
2018-02-22 07:36:36 +01:00
Kim Woelders db6a869b42 Restart cursor: Use in window mode too 2018-02-12 21:26:01 +01:00
Kim Woelders 137ba9f116 Restart cursor: Increase timeout + debug tweaks 2018-02-12 21:26:01 +01:00
Kim Woelders 3ab0c509d2 Print messages for problematic borders (if EDEBUG 1) 2018-02-09 18:16:34 +01:00
Kim Woelders 8fcc2be58a Sort IPC help in columns instead of rows 2018-02-09 18:15:47 +01:00
Kim Woelders e689a03da9 A bit of startup/theme debug 2018-02-09 18:14:08 +01:00
Kim Woelders 63169e79d0 Fix theme variant handling
The variant wasn't remembered persistently.

Also change the theme variant delimiter to ':'.
2018-02-04 16:31:25 +01:00
Kim Woelders 92cb89490b Avoid confusing dual use of Mode.theme.path 2018-02-04 16:25:16 +01:00
Kim Woelders cefd067f7d Swap ThemeFind() and ThemePathFind() names
Seems more reasonable.
2018-02-04 16:22:50 +01:00
Kim Woelders 6796b87dff Cosmetics 2018-02-04 16:22:07 +01:00
Kim Woelders 9003da8a0d Remove some cruft 2018-02-04 15:34:57 +01:00
Kim Woelders 1829527170 Tweak theme variant setting
Set "THEME_VARIANT_<variant>=1" instead of "VARIANT=<variant>".
Should be easier to deal with in themes.
2018-02-04 15:34:57 +01:00
Kim Woelders 2f0b4464fc Enable using ImageClass as menu icon
Before 00c261652e the menu item icon
was always an ImageClass name.
After changing this to be a file name some themes defining menus
(e.g. Ganymede with button tweaks) did not work as intended wrt. button
menus.
So now we accept both.
2018-02-04 13:45:15 +01:00
Kim Woelders ca5040e643 Remove pseudotransparency support - 3
- Remove obsolete image type argument.
2018-02-04 13:32:59 +01:00
Kim Woelders 0d97ea5285 Remove pseudotransparency support - 2
- Transparency...() macros
2018-02-04 13:28:54 +01:00
Kim Woelders fda39df73d Remove pseudotransparency support - 1
Has been disabled by default for 5 years.

- Remove autofoo stuff.
- Unifdef ENABLE_TRANSPARENCY and ENABLE_THEME_TRANSPARENCY.
- Remove transparency settings from docs/e16.xml.
2018-02-04 13:27:31 +01:00
Kim Woelders 61a9a99fe6 theme.c: Fix theme file extraction 2018-01-04 19:46:16 +01:00
Kim Woelders 6ce105da14 theme.c: List .theme files too 2018-01-04 19:44:50 +01:00
Kim Woelders f98c2e9879 theme.c: Tweak theme listing 2018-01-04 19:44:47 +01:00
Kim Woelders 58a64b8199 theme.c: Fix warning and simplify 2017-12-30 20:15:59 +01:00
Kim Woelders bb772b8781 config.c: Cosmetics 2017-12-30 19:26:42 +01:00
Kim Woelders cb725db9d4 Handle ".theme files"
A .theme file is really the same as the usual .etheme file (i.e.
a tarball of the theme files, compressed or not), except that .theme
files may contain themes for multiple applications.

The difference in the handling of a .theme file is only the location
where it is extracted.

A normal theme file, say FOO.etheme (or FOO.tar, FOO.tar.gz, FOO.blah),
is (normally) extracted to ~/.e16/themes/FOO/.
e16 now expects the theme files to be located in
~/.e16/themes/FOO/*.cfg or ~/.e16/themes/FOO/e16/*.cfg.

A .theme file, e.g. FOO.theme, is extracted to ~/.themes/FOO/.
e16 now expects the theme files to be located in
~/.themes/FOO/*.cfg or ~/.themes/FOO/e16/*.cfg (the first one
should probably never be used, but it's how it works).

In order to find this new theme path it is added to the default theme
search path.

Suggested by Don Harrop.
2017-12-30 19:03:20 +01:00
Kim Woelders 5ead9362a5 Correct various theme path checks 2017-12-30 18:52:54 +01:00
Kim Woelders dfdcbe273e theme.c: Add debug 2017-12-30 18:52:54 +01:00
Kim Woelders b5ad2a0256 Some refactoring in theme look-up
- Split _ThemeExtract() so it now just handles actual theme file
  extraction.
- No longer require full path name when extracting theme file.
2017-12-30 18:52:10 +01:00
Kim Woelders 11d6bbb3f4 theme.c: Cosmetics
- Rename _ThemeCheckPath() to _ThemeCheckDir() and let it return a
  "boolean".
- Change some 4096 to FILEPATH_LEN_MAX.
2017-12-30 16:41:09 +01:00
Kim Woelders e1bcf7dee4 theme.c: Mark some static functions as such 2017-12-30 16:41:09 +01:00
Kim Woelders cb3a873b97 Drop special handling of DEFAULT theme link.
e16 hasn't installed one since 3a394ad52a
(2004).
2017-12-30 16:41:00 +01:00
Kim Woelders 783e4ec79f Make Esystem() take argumments 2017-12-30 16:40:22 +01:00
Kim Woelders 6c4a143e97 Add (disabled) window/pixmap dump commnd 2017-12-17 06:39:18 +01:00
Kim Woelders e23ddddb9f Fix EDrawableDumpImage()
Same issue as previous commit when grabbing windows.
2017-12-17 06:39:04 +01:00
Kim Woelders b87e99e02e Fix magnifier pixel value display
Apparently, when using XShmGetImage to get an XImage for a window,
the image no longer includes subwindows (like when using
IncludeInferiors in GC).
When using XGetImage the XImage still includes subwindows.

Changing EImageGrabDrawable() to EImageGrabDrawableScaled() means that
we use imlib_create_scaled_image_from_drawable() instead of
imlib_create_image_from_drawable().

imlib_create_scaled_image_from_drawable() is implemented in such a way
that the drawable to be grabbed is always copied to a pixmap first.
2017-12-17 06:38:11 +01:00
Kim Woelders 00c261652e Do proper rendering of transparent icons in menus 2017-12-12 21:13:16 +01:00
Kim Woelders 659a8b0455 Fix issue with initially shaded windows in certain cases.
At least in initially shaded SHADE_RIGHT pagers the client window would
be placed at a non-zero y offset in the container.
Not sure exactly why but this (WestGravity -> NorthWestGravity) fixes it.
The other cases got a similar treatment mostly because it seemed right.
2017-10-28 13:50:30 +02:00
Kim Woelders 305d0ef93c Fix focus after slide-in. 2017-10-28 09:35:19 +02:00
Kim Woelders 22de80465d Tweak some (disabled) focus debug stuff. 2017-10-28 09:35:19 +02:00
Pierre Neyron 4c3f0cbb7a add toggle_size half_X feature
Maximize window to a half of the screen (North, South, East, West)
wop * toggle_size half_N
wop * toggle_size half_S
wop * toggle_size half_E
wop * toggle_size half_W
2017-06-25 13:57:31 +02:00
Kim Woelders 70ee606634 Warning fixes for gcc 7. 2017-02-12 19:09:08 +01:00
Kim Woelders 2d4674e374 Forgot some 2016. 2017-02-12 19:04:02 +01:00
Kim Woelders cafd8672e6 Fix warning with recent pango.
pango_xft_get_context() is deprecated.
2016-11-25 18:40:08 +01:00
Kim Woelders 33991a6bf2 Drop incomplete HAVE_STDARG_H stuff. 2016-11-25 17:44:59 +01:00
Kim Woelders c18c409fdf Window list: Show windows on same head as pointer first. 2016-05-06 20:47:14 +02:00
Kim Woelders 6f225f3c74 Refactorization in WarpFocus(). 2016-05-06 20:47:14 +02:00
Kim Woelders 726b7e53d3 Miscellaneous screen stuff.
- Add ScreenGetCurrent().
- Add ScreenGetHead().
- Make ScreenAdd() private.
2016-05-06 20:47:13 +02:00
Kim Woelders c0d17a2c62 Remove unused Mode.display.xinerama_active. 2016-05-06 20:47:13 +02:00
Kim Woelders 5a87444e63 Use RandR data to populate screens structure.
... and prefer it over Xinerama data.

This should make the Xinerama screen handling stuff work also when
RandR is enabled but Xinerama is not.
2016-04-15 19:24:17 +02:00
Kim Woelders 02e023bb33 Set NorthWestGravity when applying snapshot location.
Otherwise clients with other than NorthWestGravity will not be placed
correctly.
2015-06-22 20:11:58 +02:00
Kim Woelders 08ad426b8b Fix ignoring ConfigureRequest from application.
We would "correct" position/size even though we should ignore the
operation.
2015-06-22 20:10:26 +02:00
Kim Woelders 4c8af1fda8 Require render version 0.11 before using XRenderCreateSolidFill().
Apparently use of XRenderCreateSolidFill() may trigger high Xorg cpu
usage (seen on Xorg 1.7.7 with render 0.10, driver unknown).
Exact reason unknown, maybe a driver problem.

Requiring render version >= 0.11 may just be a random way to avoid
some brokenness in older Xorgs.
2015-06-18 21:00:39 +02:00
Kim Woelders f4b11e47ec Fix stacking when there is only one window.
Thanks to Daniel Nobuto for tracking this one down and reporting it.
2015-05-03 20:37:08 +02:00
Kim Woelders 87ba89d9b4 Fixes for various build corner cases. 2015-04-11 23:19:34 +02:00
Kim Woelders cd095e1637 Eliminate deprecated usleep().
SleepUs() will even sleep the correct amount of time when interrupted by
a signal.
There shouldn't be any significant cases where this could be a problem
though.
2015-04-11 23:19:34 +02:00
Kim Woelders 7d11396d3e Fix crash when using mouse wheel in background selector (T2222). 2015-03-23 19:32:49 +01:00
Kim Woelders 45bf0da80d Slightly different fix to pager zoom/focus issue. 2015-03-23 19:32:48 +01:00
Kim Woelders d23aeb1ca7 Fix focus issues with pager zoom windows on desks other than first (T2197).
Change the zoom window parent to be the current desktop in stead of the
root one.
Otherwise, when entering the zoom window (on desktops other than first),
we get an indication that we are leaving the current desktop causing the
current active window to be unfocused (and refocused when leaving).
2015-03-20 21:07:39 +01:00
Kim Woelders 4b319d794b Wrap some calls to XRenderCreatePicture(). 2015-01-25 00:05:10 +01:00
Kim Woelders 72328b12ab CM: Reorder start/stop details. 2015-01-24 15:50:15 +01:00
Kim Woelders 88e48caf47 CM: Fadeout tweak. 2015-01-24 15:37:56 +01:00
Kim Woelders 345a7a1d7d CM: Cosmetics. 2015-01-24 15:37:56 +01:00
Kim Woelders bf2b7fd300 Fix potential buffer overruns when using sscanf(). 2015-01-23 20:18:20 +01:00
Kim Woelders 1377015985 Forgot a config.h. 2015-01-17 20:06:03 +01:00
Kim Woelders 9c31fe29ed Clean up header file inclusion order.
Fixes building with e.g. -std=c99 and c11 by always including config.h
(which defines _GNU_SOURCE) first.
2015-01-17 19:33:42 +01:00
Kim Woelders e5b71f40f3 Remove unused AnimatorsDelCat(). 2015-01-10 18:56:58 +01:00
Kim Woelders 168ef48fbc Minor fading animation tweak.
Keep fading animator pointer around to avoid having to look it up later.
2015-01-10 18:56:58 +01:00
Kim Woelders 73b7fcc0dd Forgot 2015. 2015-01-10 18:56:58 +01:00
Kim Woelders 8e866cf49c Visibility cosmetics (use EC_C_VISIBILITY). 2015-01-04 16:43:05 +01:00
Kim Woelders ce298f6b42 Fix animator initialisation when duration is 0.
When adding an animator with zero duration the animation would just run
forever.
2015-01-02 14:09:55 +01:00
Kim Woelders 0981a53f1b Fix animation bug.
If animators are added within 1 ms from a call to _AnimatorsTimer()
in a previous event loop run, the animation timer might not be
rescheduled properly.
2015-01-02 11:36:15 +01:00
Kim Woelders 3584d11e80 Minor tweaks in EShapePropagate().
Mostly some more debug.
2015-01-02 11:28:49 +01:00
Kim Woelders f0185a6ab9 Eliminate EwinFindByChildren().
No need for matching container window or border parts.
2015-01-02 10:21:34 +01:00
Kim Woelders f1fd4d8b1d FX: Correct some offsets. 2014-12-20 08:06:51 +01:00
Kim Woelders 420854cb1a FX: Cosmetics. 2014-12-20 08:06:47 +01:00
Kim Woelders 332f592639 Correct shading end size.
Shading animation went a bit too far with end size.
2014-12-16 23:13:56 +01:00
Kim Woelders c3e599ae5e Simplify shading code.
Merge practically identical _EwinShadeRun() and _EwinUnshadeRun().
2014-12-16 23:13:55 +01:00
Kim Woelders 0dbb2e6c88 Autofoo tweaks.
Rename CWARNFLAGS to CFLAGS_WARNINGS for consistency with pending
changes.
2014-12-16 23:11:34 +01:00
Kim Woelders 94714f9b72 Initial CM/Present experimental support.
Seems to work... kindof..
2014-11-23 18:09:28 +01:00
Kim Woelders 1e625f8bb4 Initial Present infrastructure. 2014-11-23 06:37:07 +01:00
Kim Woelders 9c7cf39e31 Prepare to handle other than XI2 generic events. 2014-11-22 16:33:08 +01:00
Kim Woelders 611e6bfed0 Debug printout cleanups. 2014-11-22 16:33:08 +01:00
Kim Woelders f2e2e1bae4 Use XRenderCreateSolidFill() if available. 2014-11-22 16:33:08 +01:00
Kim Woelders 7c6deaabbf Extension version checking cleanups. 2014-11-20 21:45:25 +01:00
Kim Woelders a9a568ffe3 Debug printout cleanups. 2014-10-17 21:25:12 +02:00
Kim Woelders 489c4c669d Set lower limit on slide/shade speed.
Fixes crash if speed is set to 0.
2014-10-17 21:25:12 +02:00
Kim Woelders 54ac7a604c Fix some normally disabled debug format strings. 2014-10-15 22:47:25 +02:00
Kim Woelders 55392259d5 Fix build without composite.
We really just need render and fixes here but.. some other day.
2014-09-19 21:26:17 +02:00
Kim Woelders 5e9f51458d Use wrapper functions in ECreatePixmapCursor(). 2014-08-17 16:14:59 +02:00
Kim Woelders ab86c9044c Add ERegionCreateFromBitmap() and EPictureFillRect(). 2014-08-17 16:14:59 +02:00
Kim Woelders 83e1e6e88f Add argb option to EPictureCreateBuffer(). 2014-08-17 16:14:59 +02:00
Kim Woelders 9bdfa8dcbb Fix creating bitmap cursor. 2014-08-17 15:42:05 +02:00
Kim Woelders 7e245b0c64 Avoid some potential X-calls/errors when client is destroyed. 2014-05-16 08:32:40 +02:00
Kim Woelders 23872b2cac Simplify dialog data handling. 2014-04-29 19:42:15 +02:00
Kim Woelders 5fc86cc6ad Refactor dialog apply/exit handling.
Split into separate functions so we don't have to check on val all over
to figure out if it is one or the other.

This also avoids that the apply stuff may be done twice on exit a couple
of places.
2014-04-29 19:42:15 +02:00
Kim Woelders 7729a91424 Fix glitch in "Refactor background dialog data handling". 2014-04-29 19:42:04 +02:00
Kim Woelders 3179979226 Eliminate some use of EspawnApplication(). 2014-04-26 11:02:51 +02:00
Kim Woelders 71d85605f4 Exec/spawn function tweaks.
EexecCmd() -> Eexec().
Espawn() -> _Espawn().
EspawnCmd() -> Espawn().
2014-04-26 11:02:22 +02:00
Kim Woelders edfa30aeb1 Refactor group dialog data handling. 2014-04-26 11:01:55 +02:00
Kim Woelders 5656a9d806 Refactor background dialog data handling. 2014-04-26 10:14:06 +02:00
Kim Woelders 2bf2bfd88e Use initially created GC for various operations.
A general "root window GC" is fine for most operations needing one.
Using this we can avoid some GC caching and in certain situations
numerous GC create/use/destroy sequences.

As part of this the default GC subwindow_mode is changed to
IncludeInferiors, which reduces the number of places we need a
non-default GC.
2014-04-23 19:45:36 +02:00
Kim Woelders 4d1bde02ae Wrap XID and some other X types.
Mostly to change longs to ints to reduce memory footprint a bit on 64
bit systems.
2014-04-23 19:13:00 +02:00
Kim Woelders c74b331998 Tweak screen info printout. 2014-04-23 16:20:44 +02:00
Kim Woelders 1dab5ff5c2 Move EDBUG_TYPE_ANIM to where it belongs. 2014-04-23 16:20:43 +02:00
Kim Woelders ccfc04f813 Randr may report FPS = 0. 2014-04-23 11:19:51 +02:00
Kim Woelders b78b8f5b14 Avoid unnecessary FP calculation. 2014-04-23 11:19:50 +02:00
Kim Woelders 1d3c4bb49c Cosmetics (key->keysym). 2014-04-23 07:39:36 +02:00
Kim Woelders 9d9fa0edf5 Cosmetics (key->keycode). 2014-04-23 07:38:27 +02:00
Kim Woelders d1f00956aa Remove ancient unused code. 2014-04-23 07:35:07 +02:00
Kim Woelders c6e5a48817 Debug tweaks (pager). 2014-04-21 16:30:52 +02:00
Kim Woelders d1b7b142cf Wrap XDraw/FillRectangle. 2014-04-21 14:56:32 +02:00
Kim Woelders f334de50cf Change some operations to render ones. 2014-04-21 14:56:32 +02:00
Kim Woelders e48cfb2519 Simplify pager background update. 2014-04-21 14:56:32 +02:00
Kim Woelders 6bd90781c1 Move shape window stuff to separate header file. 2014-04-21 11:28:38 +02:00
Kim Woelders b3d41f5229 Fix potential use of freed pixmap. 2014-04-21 11:28:38 +02:00
Kim Woelders 91514a9427 Minor tweak in EXFillAreaSolid(). 2014-04-21 11:27:57 +02:00
Kim Woelders b78ee6c0b5 Minor simplifications in ImagestateDraw...() functions. 2014-04-21 11:24:59 +02:00
Kim Woelders 6ebf4fe167 Cosmetics. 2014-04-21 09:11:05 +02:00
Kim Woelders 5ee85ecd1c 2014. 2014-03-29 13:08:11 +01:00
Kim Woelders 68753e0a35 Fix placement of transient dialogs. 2014-03-02 16:03:04 +01:00
Kim Woelders 872e4f57c5 Simplify/fix dialog layout code.
The widget and table coordinates were not properly aligned, potentially
causing some widgets (last in a table) to not be rendered properly in
certain themes.
2013-12-31 09:34:00 +01:00
Kim Woelders ce34edc4a3 Reduce nesting in DialogRealizeItem().
Also tweak some (disabled) debug messages.
2013-12-31 09:34:00 +01:00
Kim Woelders b5fbc942ac Fix memory leak when changing area. 2013-12-29 08:59:39 +01:00
Kim Woelders a14e2978d8 Wrap some calls to XFillRectangle. 2013-12-29 08:59:39 +01:00
Kim Woelders 9cc77c09c3 Tweak error handler API. 2013-12-29 08:59:39 +01:00
Kim Woelders 248ec63e1e Wrap remaining XCopyArea calls. 2013-12-29 08:59:39 +01:00
Kim Woelders 6a61584f37 Use XCopyArea wrapper function. 2013-12-29 08:59:39 +01:00
Kim Woelders e1f062fff5 Use NoXID in stead of None. 2013-12-29 08:59:38 +01:00
Kim Woelders b7f11e473d Wrap the last XClearArea call. 2013-12-29 08:59:38 +01:00
Kim Woelders 94b5626c9a Trivial type fixes. 2013-12-29 08:59:38 +01:00
Kim Woelders 9fc7dc7f5e Header file tweaks and cosmetics.
Primarily, don't include Xlib.h from other headers than xtypes.h.
2013-12-29 08:59:38 +01:00
Kim Woelders 8afc7eca2e Remove some use of X11 Bool type/values. 2013-12-29 08:59:28 +01:00
Kim Woelders 3e78ef48f8 Use our own window property functions in stead of various Xlib ones. 2013-12-28 00:26:00 +01:00
Kim Woelders 497b7b8c14 Use our own window property functions in stead of various Xlib ones. 2013-12-28 00:10:58 +01:00
Kim Woelders 4677c08545 Use our own window property functions in stead of various Xlib ones.
- XGet/SetWMProtocols().
- XGetTransientForHint().

Should be slightly faster.
2013-12-28 00:10:58 +01:00
Kim Woelders 7b34f58f22 Add EXWindowOk(). 2013-12-28 00:10:57 +01:00
Kim Woelders 265815a282 Rename EDrawableCheck to EXDrawableOk and remove unused parameter. 2013-12-28 00:10:57 +01:00
Kim Woelders b3af089d06 Add missing const + some formatting cosmetics. 2013-12-28 00:10:57 +01:00
Kim Woelders 6c83d91344 Debug message tweaks, cosmetics. 2013-12-28 00:10:57 +01:00
Kim Woelders 541a838396 Forgot some more 2013. 2013-12-22 16:54:39 +01:00
Kim Woelders 1029581f54 Fix OR window registration some more.
Ignore our own windows (with root parent).
2013-12-22 11:37:50 +01:00
Kim Woelders 1d95e0ec74 Don't play sound in ShowAlert().
If forked (or in signal handler?) it may cause lockup.
2013-12-11 22:13:12 +01:00
Kim Woelders 21e8e2045a Fix OR window registration.
... when already registered and mapped.

Introduced in 4a0bcfccf5.
2013-12-11 20:38:14 +01:00
Kim Woelders dcd1d429b8 Add server grab around initial window pickup loop.
Not really necessary but avoids server grabs in each AddToFamily().
2013-11-24 16:37:18 +01:00
Kim Woelders addfbbc75b Only manage InputOutput windows. 2013-11-24 16:37:17 +01:00
Kim Woelders 1294510ef2 Avoid redundant calls of XGetWindowAttributes (eobjs). 2013-11-24 16:37:17 +01:00
Kim Woelders 1452bdec56 Avoid redundant calls of XGetWindowAttributes (ewins). 2013-11-24 16:37:17 +01:00
Kim Woelders 4a0bcfccf5 Simplify registration of override-redirect windows. 2013-11-24 16:37:17 +01:00
Kim Woelders 3d86eb55fa Wrap XGetWindowAttributes(). 2013-11-24 16:37:17 +01:00
Kim Woelders 6435db730a Debug printout tweaks. 2013-11-24 16:37:17 +01:00
Kim Woelders 49669bafa2 Forgot some 2013. 2013-11-24 16:37:17 +01:00
Kim Woelders f6ff19cef1 Obsolete event handling tweak.
Avoid trouble around obsolete events and click grabs.
2013-10-06 21:38:06 +02:00
Kim Woelders 3f51b8c871 Obsolete event handling tweak.
Reduce probability of trouble that may occur if event serial number
difference since last wraps.
2013-10-06 21:23:45 +02:00
Kim Woelders a6c5d24810 Fixup after list changes. 2013-09-08 22:16:22 +02:00
Kim Woelders e287b37e78 Switch to new list implementation.
Faster, less code, less memory usage.
Not that it matters much - mostly for fun.
2013-08-09 11:43:48 +02:00
Kim Woelders 4858f55da9 Fix background dialog issues.
Various properties weren't properly updated when selecting a different
background.
2013-07-11 22:40:39 +02:00
Kim Woelders a0034a6f70 Discard broken backgrounds (bg file missing) on exit. 2013-07-11 17:50:39 +02:00
Kim Woelders 18b47b5d8a Disable moving "None" background to front.
Also some cosmetics.
2013-07-11 17:50:38 +02:00
Kim Woelders 725ed4f835 Let "eesh screen" show some randr info. 2013-07-11 17:50:38 +02:00
Kim Woelders d77e1229ae Cosmetics. 2013-07-11 17:50:38 +02:00
Kim Woelders 30cb2101aa Still more double to float. 2013-07-08 00:20:44 +02:00
Kim Woelders 3d03033e7f Some more double to float. 2013-07-08 00:05:20 +02:00
Kim Woelders ccc5560d23 No need for double - change to float. 2013-07-07 23:35:16 +02:00
Kim Woelders b1f49c7273 No need for double - change to float. 2013-07-07 23:35:10 +02:00
Kim Woelders 2a95307f44 Eliminate BordersForeach().
Also let BordersGetList() do alphabetic sorting.
2013-07-07 23:17:11 +02:00
Kim Woelders 008c315d8d Remove unnecessary EXTRA_DIST.
It seems that conditionally used sources don't have to be in EXTRA_DIST
(any longer?).
2013-07-07 21:03:22 +02:00
Kim Woelders 14b61c1cd1 Fix potential use of uninitialised data.
Reported by clang, will never happen as ArrangeEwinXY will never be
called with ewin = NULL.
2013-07-07 21:03:22 +02:00
Kim Woelders e4b9cc6d0f Avoid potential crash in menu unloading.
Doesn't seem to happen ever though.
2013-07-07 21:03:22 +02:00
Kim Woelders 05834cf1e1 Tweak button event callback parameter. 2013-06-29 18:14:41 +02:00
Kim Woelders 1a2e1c8948 Button:inside_win is not used. 2013-06-29 18:14:41 +02:00
Kim Woelders 108a3a6042 Save some bytes in various structs. 2013-06-29 18:14:41 +02:00
Kim Woelders ceabc2e96d Clear SF_INFO struct before calling sf_open().
According to the docs only format needs to be set to zero, but let's
just zero it entirely.
2013-06-14 19:49:07 +02:00
Kim Woelders 1316cfb15a Tweak button swallowing in slideouts.
Done to avoid casting Button to EObj.
2013-06-14 19:49:03 +02:00
Kim Woelders 4bded497e4 Fix bug in ActionClass loading.
Was most likely not causing trouble.
2013-06-14 19:47:15 +02:00
Kim Woelders 307d86f555 Cosmetics - paving the way for other changes. 2013-06-14 19:47:07 +02:00
Kim Woelders 8c4fab941b Play raise/lower sounds only if any windows are actually raised/lowered. 2013-06-04 22:09:10 +02:00
Kim Woelders 9ca446396b Move/rename EInternAtom -> ex_atom_get, AtomListIntern -> ex_atoms_get. 2013-04-07 20:02:24 +02:00
Kim Woelders 7678242b64 Move/rename atom/property related wrapper functions and types.
Move e16-ecore_hints.c/h to xprop.c/h.
Rename ecore_x_... -> ex_...
Rename Ecore_X_... -> EX_...
Rename ECORE_X_... to EX_...
2013-04-07 20:02:24 +02:00
Kim Woelders e66c0e8502 Use qsort in stead of open coded sorting. 2013-04-06 10:54:59 +02:00
Kim Woelders ba29ecf04e Fix Globally Active focus mode.
Something changed somewhere in java 7 which seems to require that the
"Globally Active" focus mode is handled properly, otherwise input focus
is entirely broken.

Parts of patch by Tim Howe <vsync@quadium.net>.
2013-04-02 23:59:03 +02:00
Kim Woelders 89c1602253 Startup applications - Don't slide in or place manually during e16 startup.
Broken somewhere in 1.0.12.

This fix probably makes Mode.place.enable_features unnecessary.
2013-04-02 23:55:28 +02:00
Kim Woelders e08c91b9a7 Set startup id on apps started by snaps too. 2013-04-02 22:33:30 +02:00
Kim Woelders 1d2dd98f98 Eliminate Quicksort(), use libc qsort() in stead.
Might as well use libc function - saves some bytes of code.
2013-03-26 22:24:39 +01:00
Kim Woelders 0df373ae77 Don't use CPPFLAGS in Makefile.am. 2013-03-26 22:23:28 +01:00