Commit Graph

3678 Commits

Author SHA1 Message Date
Kim Woelders 504b75bc70 events: Trivial cleanup 2022-07-02 22:57:53 +02:00
Kim Woelders 6369dfa7dd menus: Fix potential crash
When requesting to show a menu already shown it would be hidden before
being shown again, which could cause a crash due to incorrect processing
of reparent events.

Now we just ignore requests to show a menu that is aleady shown, which
bypasses the event processing issue and is reasonable anyway.
2022-07-02 22:57:53 +02:00
Kim Woelders 5e7c2a034a arrange: Keep upper left corner on screen when centering window 2022-06-13 07:58:27 +02:00
Kim Woelders d5724bd6cc ipc: Improve help for win_op target specification 2022-06-11 20:36:14 +02:00
Kim Woelders 597fcf7be7 xprop: Drop setting default desktop names in ex_netwm_desk_names_set()
Should be set up elsewhere.
2022-06-10 20:52:58 +02:00
Kim Woelders 85cdfe857c desktops: Enable setting desktop names 2022-06-10 20:52:31 +02:00
Kim Woelders 28c1a5fd05 desktops: Introduce DesksGetNames() 2022-06-10 20:49:38 +02:00
Kim Woelders 64e2ef8741 desktops: Cosmetics 2022-06-10 20:49:38 +02:00
Kim Woelders ed4c748a91 Introduce HintsSetDesktopNames() 2022-06-10 20:49:38 +02:00
Kim Woelders 1f2700aae6 Introduce EobjSetName() 2022-06-10 20:49:38 +02:00
Kim Woelders 02ddb6e80b iclass: Remove unneeded header 2022-05-28 08:58:53 +02:00
Kim Woelders 6c784dc73b iclass: Make active state more visible in fallback icon class 2022-05-28 07:53:02 +02:00
Kim Woelders 474b5161ad ewins: Fix ewin area calculation
Checking EwinIsOnScreen() was meant to be an optimization but may cause
inconsistencies if ewin is slightly off-screen.
2022-05-27 17:15:17 +02:00
Kim Woelders 7963834b98 GSOD: Fix repaint after quit by button press
Also add cosmetic delay.
2022-05-26 05:53:15 +02:00
Kim Woelders 343137f1b5 GSOD: Some refactoring 2022-05-26 05:50:58 +02:00
Kim Woelders c35690b4a4 containers: Fix creating new iconboxes
When creating a new iconbox without giving a name (eesh ibox new) as
done by the desktop menu this would not work if an iconbox named _IB_<N>
(<N> being the number of containers) already existed.
2022-05-24 07:19:57 +02:00
Kim Woelders 556fadb3c1 containers: Cosmetics 2022-05-24 06:46:10 +02:00
Kim Woelders 8878d862fd background: Discard broken backgrounds when opening configuration dialog 2022-05-13 15:35:10 +02:00
Kim Woelders f640a09346 moveresize: Fix screen edge resistance for grouped windows
Previously a window group being moved would not be affected by the
screen edge resistance.
Now the dragged window is subject to the screen edge resistance.
2022-05-09 15:49:46 +02:00
Kim Woelders ebd3b74f49 moveresize: Move SnapEwin() to where it is used. 2022-05-09 15:49:46 +02:00
Kim Woelders a68018d795 moveresize: Enable configuring edge restistance in dialog 2022-05-09 14:05:24 +02:00
Kim Woelders f8d7cb8c00 arrange: Introduce screen struts
Can be used to  restrict area where windows are normally placed.
Works like struts set by clients with _NET_WM_STRUT.

Sugested by Milan Maljković.
2022-05-03 19:20:19 +02:00
Kim Woelders 398622f986 arrange: Refactor SnapEwin() 2022-05-03 19:20:19 +02:00
Kim Woelders de008aa637 session: Fix broken session id handling
Also fixes a minor memory leak.
2022-05-01 20:19:43 +02:00
Kim Woelders c350cbcf4b pinning: Remember across restart 2022-05-01 20:19:43 +02:00
Kim Woelders 5938226ffd main: Don't start edox on first startup
The edox documentaion is rather dated - time to drop it.
2022-05-01 20:19:43 +02:00
Kim Woelders cf5927deb8 Clamp window position on move
In non-compositing mode the x/y coordinate limts are [-32768; 32767] as
should be expected. If moving beyond these values the coordinates are
just set modulo 2^16 (like in a signed 16 bit integer) and most likely
this isn't noticed anywhere.

In compositing mode the coordinates apperently must be clamped some
more, but it is not clear why or where the limit is.
The problem manifests itself in that a window moved "too far" seems to
have disappeared when moving it back on screen, possibly because the
name pixmap is invalidated.
Shading/unshading the window makes it re-appear.

The problem can be seen when dragging a window far off a (small) pager.
2022-04-30 20:26:41 +02:00
Kim Woelders dc5db9e4a1 CM: Adjust shadowing conditions some more
Re-enable sharp shadows on shaped windows.
Should be ok now that sharp shadowing shaped windows has been fixed.
2022-04-29 20:01:17 +02:00
Kim Woelders 5b071a0e26 CM: Fix sharp shadows when window is shaped
This once did work. I wonder when it broke.
2022-04-29 19:53:08 +02:00
Kim Woelders f07b6a74e5 ipc: Add custom format window_list 2022-04-28 19:26:58 +02:00
Kim Woelders 546c1bb2df dialogs: Text cleanups
In general only capitalize first word.
Capitalization of words was somewhat inconsistent throughout the
dialogs.
2022-04-24 12:41:25 +02:00
Kim Woelders a4cd43578d dialogs: Fixup after recent layout changes 2022-04-24 12:22:58 +02:00
Kim Woelders 5f23c8fce9 arrange: Fix C++ build 2022-04-24 11:39:50 +02:00
Kim Woelders 3ad01fdda7 focus: IPC help tweaks
- Mention next, prev, and focus mode ?
- Some wording and format changes
2022-04-22 17:00:05 +02:00
Kim Woelders 6d6d1c8dc4 ipc: Debug tweaks 2022-04-22 13:23:32 +02:00
Kim Woelders a09b13260a dialogs: Drop re-centering combined dialog on item change
Gives maybe a bit more smooth appearance.
Allows it to be moved away and not re-centered on change.
2022-04-22 08:02:23 +02:00
Kim Woelders 3c42724f96 Dialog layout adjustments
In general left-align text labels.
2022-04-22 07:41:58 +02:00
Kim Woelders 8090324299 moveresize: Refactor some conditions for readability 2022-04-22 07:35:28 +02:00
Kim Woelders a5228ad9e0 moveresize: Remove long time unused constrained move code
Not active because doMoveConstrained() has been disabled for ages.

Was effectively equivalent to setting misc.snap.screen_snap_dist to
large value.
2022-04-22 07:35:20 +02:00
Kim Woelders 04f040199c moveresize: Remove long time unused swapmove code
Not active because doSwapMove() has been disabled for ages.

Not resurrecting, doesn't seem to work properly.
2022-04-22 07:35:00 +02:00
Kim Woelders e789b1740e moveresize: Remove disabled nogroup move functions
Nogroup operations have been implemented by other means.
2022-04-21 09:08:47 +02:00
Kim Woelders 5e7ca9c93e containers: Configuration saving tweaks - fixup
Forgot to change file name buffer, container configuration changes
could get lost.
2022-04-19 18:11:21 +02:00
Kim Woelders 9cfe1e2577 Fix some problems with resize-by-keyboard
If using the pointer while in resize-by-keyboard mode one could run into
a couple of issues, among others that the window outline frame might not
be taken down.

To fix this the pointer is now also grabbed in resize-by-keyboard mode
but pointer events ignored.
2022-04-19 17:05:55 +02:00
Kim Woelders 0eb986a943 ipc: win_op help updates 2022-04-18 20:41:11 +02:00
Kim Woelders 34f007d088 Add window option to pass-through pointer events 2022-04-16 11:26:17 +02:00
Kim Woelders edd9216610 arrange: Disable ARRANGE_BY_POSITION mode
Rather perculiar thing..
2022-04-04 18:35:45 +02:00
Kim Woelders 684e911c9e arrange: Simplify/speed up by using qsort(), cosmetics 2022-04-04 18:35:45 +02:00
Kim Woelders b3e5758442 arrange: Minor tweak in SnapEwin()
Use EwinListGetAll() instead of EwinListOrderGet().
ListWinGroupMembersForEwin() uses EwinListGetAll() (i.e. the stacking
list) so it seems more consistent to use the same throughout this
function.
2022-04-04 13:21:18 +02:00
Kim Woelders c5ffe964b0 arrange: Use object order list when arranging
Previously the stacking order was used. This meant that windows of the
same size after stacking changes might be shuffled around when doing e.g.
"desk arrange", which does not seem right.
2022-04-04 13:21:18 +02:00
Kim Woelders 31cb37f935 arrange: Remove pointless call to EwinListGetAll() 2022-04-04 13:21:18 +02:00
Kim Woelders 08b70658d3 stacking: Hold all objects in the order list
I.e. not just the EWins.
2022-04-04 13:17:53 +02:00
Kim Woelders 66c69bbcc6 stacking: Cache EWin lists
Probably not a major gain but avoids re-generating the list on every
EwinListStack/OrderGet call.
2022-04-04 13:17:53 +02:00
Kim Woelders fd9270d4d2 stacking: Refactor EwinListStackGet() 2022-04-04 12:49:37 +02:00
Kim Woelders f171611d89 stacking: Cosmetics, preparing for other changes 2022-04-04 12:49:37 +02:00
Kim Woelders a67b247ff2 stacking: Rename EwinListStack to EobjListStack
More appropriate, it holds all the EObjs.
2022-04-04 12:49:37 +02:00
Kim Woelders 33dc371131 stacking: Remove unused EwinListStackGetTop() 2022-04-04 12:49:37 +02:00
Kim Woelders 49c4ddcb5e CM: Adjust shadowing conditions some more
Regular clients:
- Disable if fullscreen
- Disable if *client* is shaped (<- changed with this commit)
  Now shaped border themes like winter again can have shadows like
  before the previous fix (a41b2209).

Override-redirect:
- Disable if shaped
2022-04-03 17:05:24 +02:00
Kim Woelders dabf1ba150 Fix imageclass flip/rotate for real
The fix in 9d678fc554 forgot to call
EImageOrientate() in the !Conf.memory_paranoia case.
2022-03-31 13:52:04 +02:00
Kim Woelders 956eb86c4d focus list: Fix a couple of glitches with outline window
- Hide the outline window on Escape from focus list
- Hide the outline window when cycling to an offscreen window
2022-03-31 11:03:14 +02:00
Kim Woelders 44c01a009b Accept client window events a bit earlier
Set the cut-off event serial number to the serial number of the window's
map request.

Fixes cases where a client sends a client message immediately after
mapping.
2022-03-31 10:29:10 +02:00
Kim Woelders 73d9250601 Remove stray quote in help text 2022-03-31 09:44:45 +02:00
Kim Woelders a41b220904 CM: Adjust shadowing conditions
Treat all (non-off) shadow modes alike
Disable if shaped (OR too)
Disable if fullscreen (regular clients)
2022-03-30 22:18:20 +02:00
Kim Woelders 83a13eb6bf CM: Fix initial shaped state on OR windows 2022-03-30 22:18:20 +02:00
Kim Woelders d92bc5a90a backgrounds: Drop 'use_bg' IPC command (but not entirely)
Use "bg use ..." instead of "use_bg ..."

It looks like there are users out there (epplets, feh), so for
compatibility handle it in the ipc compat department.
2022-03-11 06:41:28 +01:00
Kim Woelders dffa629b47 backgrounds: Drop most calls to autosave()
autosave() saves config and snapshot stuff but not the background
configuration.
2022-03-10 21:18:02 +01:00
Kim Woelders 799b267f28 ipc: Return error message on unknown command 2022-03-10 21:18:02 +01:00
Kim Woelders f633be2c70 session: Do call module exit functions on X disconnect
Various configuration files should be written on exit.
In particular background configuration changes could be lost.
2022-03-10 20:24:42 +01:00
Kim Woelders ba2e0ab871 glwin: Drop close on exit
Not necessary.
2022-03-10 20:24:42 +01:00
Kim Woelders 95d47591cf containers: Configuration saving tweaks
- Don't save configuration on exit.
  We already save it whenever it changes.
- Update configuration file atomically.
2022-03-10 20:24:27 +01:00
Kim Woelders dcfb5efba1 Move XFontSet based text rendering module to separate file
Like the other font handlers.
2022-02-20 21:58:14 +01:00
Kim Woelders 01eb2aef59 Drop XFontStruct based font handling
Hasn't been active or enabled in ages, possibly never.
2022-02-20 19:22:26 +01:00
Kim Woelders b48db942a2 Simplify src/Makefile.am
Also rename ttfont.c to text_ift.c for consistency.
2022-02-20 19:22:13 +01:00
Kim Woelders bd8433bdfc Remove now unused usershell() 2022-02-17 09:53:20 +01:00
Kim Woelders 5ee83dc874 Drop using shell to run menu (ipc exec) commands
Instead do environment variable substitution when menus are loaded and
run commands directly (with execvp()) without passing through shell.
2022-02-17 09:53:20 +01:00
Kim Woelders 52d8dfe805 Introduce EnvSubst() 2022-02-17 09:53:20 +01:00
Kim Woelders 36ff0e5a19 actions.c: Drop elaborate GSOD messages on ipc exec errors 2022-02-17 09:53:20 +01:00
Kim Woelders 2a3f914716 actions.c: Let Eexec() use ExecSetupEnv() too
And rename a couple of functions marking them local.
2022-02-17 09:53:20 +01:00
Kim Woelders 9f033c4b9a ipc: Only include dialog_ok if ENABLE_DIALOGS 2022-02-16 19:35:43 +01:00
Kim Woelders da30b90052 Disable setting internal window title via ipc (properly)
Previously, when trying to set the title via ipc, the window WM_NAME and
_NET_WM_NAME properties would be changed, but the border title (e16's
perception of the properties) would not be updated because PropertyChange
notifications for internal windows are discarded (to avoid processing
changes we already know have happened, IIRC).

Now the internal window name properties are not changed, avoiding
inconsistency between properties and internal state (and border title).
2022-02-14 16:52:21 +01:00
Kim Woelders cbeb3fbd4a ipc: Enable setting dialog_ok title 2022-02-14 16:52:21 +01:00
Kim Woelders 8b553d3d97 Remove gnome1 hint support
Probably about time - obsolete and disabled by default for almost 20 years.
2022-02-14 16:52:15 +01:00
Kim Woelders 7859df60be extinitwin: Fix errors in window mode when using old window cursor mode 2022-02-10 15:04:08 +01:00
Kim Woelders 85912e39e2 New feature - Making windows stick on specific desks/areas 2022-02-05 14:15:01 +01:00
Kim Woelders 3191153a49 snaps.c: Cosmetics 2022-02-05 13:19:19 +01:00
Kim Woelders 6722addcd3 Introduce Ememdup() 2022-02-05 13:19:19 +01:00
Kim Woelders 9c6cd28436 Do focus windows to be manually placed
Broken by ebe82a7bbb, see
https://phab.enlightenment.org/T8973
2021-12-21 06:54:52 +01:00
Kim Woelders d045a86c5c Implement matchregexp() using fnmatch() 2021-11-15 12:49:30 +01:00
Kim Woelders 8f82fe1559 pagers: Remember zoom setting when changed by pager menu 2021-11-13 18:50:17 +01:00
Kim Woelders 370a899bec Regular expression matching fix simplification 2021-11-13 18:07:07 +01:00
Kim Woelders 44b31fbbd1 Regular expression matching fixes
Patch by Dennis Nezic <dennisn@dennisn.mooo.com>:

Currently, in matches.cfg, "Title *bla ..." will match any title with
"bla" in it ... but it should only match if the title ends in bla,
right?
2021-11-12 17:42:12 +01:00
Kim Woelders 091e3684dd systray: Change default icon size to 32
Size 16 is a bit small and seems to be problematic these days.
2021-10-23 14:24:38 +02:00
Kim Woelders c464b8bdcb Set _NET_WM_PID on WM check window
Shown by utilities like wmctrl and xrestop.
2021-08-27 08:00:03 +02:00
Kim Woelders 06458b8953 Drop initial setting of _NET_WM_NAME = "e16" on the root window
It is not required and we override it with the desktop name later
anyway.
2021-08-27 07:59:59 +02:00
Kim Woelders 0aa2f07e6b Refactor atoms handling
Makes adding/changing atom stuff much easier.
2021-08-27 06:55:34 +02:00
Kim Woelders 0d6bdb4272 Support _NET_WM_STATE_FOCUSED
GTK apps apparently use this.
2021-08-21 20:57:04 +02:00
Kim Woelders 8f9a57fb10 Add _NET_WM_STATE_FOCUSED to the EWHM atoms 2021-08-21 20:47:34 +02:00
Kim Woelders 2c01d2e1a4 Only update _NET_WM_STATE and _NET_WM_ALLOWED_ACTIONS when changed
Avoids some hint noise.
2021-08-21 20:47:34 +02:00
Kim Woelders 206839b33b xprop.c: Do some sanity checks using static asserts if possible 2021-08-21 20:47:00 +02:00
Kim Woelders 204999090e Shuffle some property stuff around
Just somewhat cleaner.
2021-08-21 20:47:00 +02:00
Kim Woelders 6c173cc65e session.c: Remove unused headers 2021-08-21 20:47:00 +02:00
Kim Woelders f9b5e2883a Eliminate EGetGeometry() 2021-08-14 16:55:26 +02:00
Kim Woelders b7c18a9c12 Change EXGetGeometry() to EXGetSize()
Only w and h are ever used.

Also remove now unnecessary initializations of returned values.
2021-08-14 16:55:24 +02:00
Kim Woelders 1618ea2ca8 x.c: Fix LTO warnings 2021-08-14 16:54:23 +02:00
Kim Woelders 282cb01ad7 x.c: Deubug stuff cleanups 2021-08-14 16:32:54 +02:00
Kim Woelders 7cbd476788 x.c: Remove ancient unused ECreateFocusWindow() 2021-08-14 16:11:06 +02:00
Kim Woelders 77c9525cea extinitwin: Fix parent/client synchronization
1) Clear ENLIGHTENMENT_RESTART_SCREEN property on start so we properly
   detect the client init condition.
2) Use SleepUs() instead of time() to properly force a delay.
   time() was interrupted by signals (SIGCHLDs) cutting the delay short.
2021-07-20 20:55:08 +02:00
Kim Woelders 13c4b29a98 Fix EImageDefineCursor() for window mode
Use RROOT, not VROOT.
EImageDefineCursor() is used by the restart cursor code, and in window
mode VROOT is destroyed during restart.

Also correct comment.
2021-07-20 20:53:16 +02:00
Kim Woelders e98ef5eac2 Backgrounds: Fix trouble when deleting multiply referenced background
If a background to be deleted is multiply referenced it will not be
deleted.
In this case do not adjust the background miniature display.
2021-07-17 17:35:18 +02:00
Kim Woelders 6c0eb8620a Backgrounds: Fix bad list operation in CB_ConfigureDelBG()
If ever we would delete the last background in the list we would get a
segv.
However, this will never occur as the None background is always the last
in the list and we will never delete it.

This can be a bit difficult to comprehend for static analysis tools so
eliminate the offending list operation.
2021-07-17 15:20:53 +02:00
Kim Woelders 1e0e63747f Groups: Avoid compiler warning in _DlgFillGroups()
Enabling LTO appears to generate a warning.
However, if num_groups is 0 we will never go here.
2021-07-17 15:18:36 +02:00
Kim Woelders 4632eda2fa Drop animation in EwinSlideSizeTo() if there is no change 2021-07-15 12:59:58 +02:00
Kim Woelders bfe59a8e8f Focus: Debug tweaks 2021-07-15 12:59:58 +02:00
Kim Woelders 0a65af57e5 Focus: Fix focus on new clients requesting max size 2021-07-15 12:59:58 +02:00
Kim Woelders 750a973b5e autofoo: Deal a bit more consistently with C[PP]FLAGS and LDADD 2021-06-03 20:12:13 +02:00
Kim Woelders 50d0dcd467 Fix bad memory access during shutdown
Bad idea to use a pointer into a realloced array..
2021-05-07 10:08:21 +02:00
Kim Woelders 8c9d306fc1 FX: Use xrender when available
Maybe slightly faster. Mostly for fun.
2021-05-07 07:13:37 +02:00
Kim Woelders 34d1de3984 FX: Fix cleanup with compositing enabled 2021-05-07 07:12:17 +02:00
Kim Woelders 726bb9ea13 FX: Fix clipping with compositing enabled 2021-05-07 07:12:11 +02:00
Kim Woelders 8170ada68c FX: Make it work in regular compositing mode 2021-05-07 07:11:32 +02:00
Kim Woelders 47d1aa9d19 FX: Tweaks 2021-05-07 07:11:32 +02:00
Kim Woelders b89785d923 FX: Some refactoring
No functional changes, preparing for other stuff.
2021-05-07 07:11:32 +02:00
Kim Woelders f770f9d223 FX: Fix waves cleanup 2021-05-07 07:11:32 +02:00
Kim Woelders bbec00eb12 FX: Remove "correct bugs" operation in waves
Not sure what was intended. The operation specifies a source area
outside the pixmap.
2021-05-07 07:11:32 +02:00
Kim Woelders f18f394e35 Introduce HAVE_COMPOSITE_OVERLAY_WINDOW 2021-05-07 07:11:09 +02:00
Kim Woelders 6b1668d60b glwin.c: Fix incorrect config item size 2021-04-26 17:23:35 +02:00
Kim Woelders fc34a157b9 Sound: Enable changing engine at runtime
Mostly for fun but also makes it easier to compile check/test all sound
engines in one e16 instance, instead of having to go through all
build-time sound configurations.
2021-04-23 19:54:52 +02:00
Kim Woelders 4df26af47a Don't build disabled stuff
Disable by autofoo instead of by #ifdef.
2021-04-23 08:21:41 +02:00
Kim Woelders 06a6894e90 Sound: Change some esd to esound
Preparing for sound engines.
2021-04-23 08:21:41 +02:00
Kim Woelders 9b11a3d2a1 Sound: Change some pa to pulse
Just a bit more consistent.
2021-04-23 08:21:41 +02:00
Kim Woelders 4598a70547 Sound: Header file tweaks
Generally use config.h instead of E.h.
2021-04-23 08:21:41 +02:00
Kim Woelders 93b8da7e8a Move Eexec() and friends to util.h
Seems more appropriate.

And add missing __PRINTF__ on Espawn() prototype.
2021-04-23 08:21:41 +02:00
Kim Woelders 50e6b76395 Drop (v)snprintf() implementation
Let's assume everybody has this by now.
2021-04-23 08:21:41 +02:00
Kim Woelders 404886956b Eliminate AM_LANGINFO_CODESET 2021-04-12 19:37:24 +02:00
Kim Woelders dd2c51ec75 Focus: Tweak request serial number check logic - correction 2021-04-01 20:43:16 +02:00
Kim Woelders 55872b9db1 Focus: Fixup after "Fix pointer focus on new windows..."
Only do desk switch when focusing new transient.
2021-04-01 20:43:01 +02:00
Kim Woelders 53e15851c9 Focus: Improve debug message understandability 2021-04-01 20:38:40 +02:00
Kim Woelders 71d8448cea Fix pager update on desk switch
With composite enabled and doing pager snapshot/scan (not "live") the
screen must be repainted after desk switch before snapshotting.
2021-03-20 19:09:00 +01:00
Kim Woelders f188d84406 Fix segv on bad border definition
If a border definition was completely empty we would call _BorderCheck()
with b = NULL.
2021-03-20 06:58:32 +01:00
Kim Woelders 358b60baf9 Introduce E_ARRAY_SIZE() and MOD_ITEMS()
Just a bit tidier.
2021-03-19 06:36:46 +01:00
Kim Woelders 136f37f0b9 Focus: Tweak request serial number check logic
Too many Enter events were ignored.
2021-03-16 20:16:05 +01:00
Kim Woelders 01f17e409e Focus: Don't set focus on sliding windows
Focus should be updated when sliding is done.

Probably not much of a problem but seems right.
2021-03-16 20:16:05 +01:00
Kim Woelders ebe82a7bbb Focus: Fix pointer focus on new windows if pointer is in window
In certain situations new windows would not be focused.
2021-03-16 20:16:05 +01:00
Kim Woelders 09627036c0 Allow Winop border in matches.cfg
There should be no particular reason not to.

Also issue warning about reference to non-existing border.
2021-03-10 19:06:22 +01:00
Kim Woelders 7872361105 Remove unused Pager:name 2021-03-08 18:55:48 +01:00
Kim Woelders 84baa86492 Fix pager live updates if millisecond time is initially "negative" 2021-03-08 18:49:24 +01:00
Kim Woelders 9d678fc554 Fix handling of imageclasses with flipped/rotated images
Each modified image needs its own file to avoid getting in trouble with
pixmap caching.

The trouble in question was only seen if misc.memory_paranoia was set
to 0 (is 1 by default).
2021-03-06 21:02:10 +01:00
Kim Woelders 0987540d5e Fix pager zoom window sometimes flickering at 0,0 2021-03-03 19:35:27 +01:00
Kim Woelders 94b810cc37 Add EoGetParent() etc. 2021-03-03 19:34:53 +01:00
Kim Woelders dc6e1f5508 group_op showhide should target all the windows groups members 2021-02-27 20:33:14 +01:00
Kim Woelders 932af2b256 Rename EDirUser{Set} wrappers and use then some more 2021-02-19 19:58:23 +01:00