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
Andrew Savchenko
0a4f1b14ed
Support user fonts
...
Allow users to override fonts via ~/.e16/fonts/
Signed-off-by: Andrew Savchenko <bircoph@gmail.com>
2021-01-19 17:42:04 +01:00
Kim Woelders
eb4ea872e9
Sound: Treat player engine like others
2021-01-09 16:08:24 +01:00
Kim Woelders
ec03e3cdb5
Sound: sound_pa -> sound_pulse
2021-01-09 16:08:09 +01:00
Kim Woelders
b69ced9eba
Sound: Mostly cosmetic changes
2021-01-09 13:43:27 +01:00
Kim Woelders
3c75173573
Sound: autofoo cosmetics
2021-01-09 13:43:27 +01:00
Kim Woelders
f3de71d05f
Consistently put __EXPORT__ in .c files
2021-01-09 09:50:04 +01:00
Kim Woelders
99c7523b07
Forgot some 2020
2020-12-29 16:23:17 +01:00
Kim Woelders
cf071d3a08
conf.h: Remove some unused items
2020-12-18 16:33:38 +01:00
Kim Woelders
f625824349
Configuration parsing cleanups
...
Drop some CONFIG_VERSION cases that shouldn't be needed.
2020-12-18 15:08:09 +01:00
Kim Woelders
257d8e6117
Include git stamp in version info (if built from git checkout)
2020-12-18 11:27:14 +01:00
Kim Woelders
faf6393a8b
Introduce EImageDefineCursor()
2020-12-11 17:57:13 +01:00
Kim Woelders
26252064fe
Introduce EImageRenderOnDrawableARGB()
2020-12-11 17:57:13 +01:00
Kim Woelders
0c33378819
Cache visual in EVisualFindARGB()
2020-12-11 17:57:13 +01:00
Kim Woelders
02568bb00c
Remove obsolete color modifier functions
...
Unused since the pseudotransparency stuff was removed.
2020-12-11 17:56:55 +01:00
Kim Woelders
a620fd47dc
Use poll() for event handling by default (if available)
...
Might be more efficient, mostly just playing around.
2020-11-05 17:08:39 +01:00
Kim Woelders
b0a4eaa65a
Ensure a couple of initialisations are never skipped
...
Otherwise we may get segv in window mode.
2020-10-11 10:30:04 +02:00
Kim Woelders
171b282f9f
Remove unused SM_CLIENT_ID stuff
2020-10-11 10:30:04 +02:00
Kim Woelders
79879a8119
Fix memory leak after failed execvp()
2020-10-11 10:30:04 +02:00
Kim Woelders
9d235a1ecd
Remove some (duplicated?) configuration identifiers that are not in definitions
2020-09-26 17:17:25 +02:00
Kim Woelders
e04dc8ff91
conf.h: Remove some long obsolete configuration item defines
2020-09-26 17:17:19 +02:00
Kim Woelders
bf1095d107
Hide Border struct internals
2020-09-25 16:00:35 +02:00
Kim Woelders
5132afd313
Simplify checks for borderless
2020-09-25 16:00:35 +02:00
Kim Woelders
2dad8c5f29
Use border name wrapper function some more
2020-09-25 16:00:35 +02:00
Kim Woelders
00f4a27d93
borders.c: Prefix static functions with _
2020-09-25 16:00:35 +02:00
Kim Woelders
1dc44176d4
ipc.c: Trivial cleanups
2020-09-25 16:00:35 +02:00
Kim Woelders
d46d0aec05
CM: Fix damage corner case (reparenting fading-out window)
2020-09-09 16:23:05 +02:00
Kim Woelders
7199436ec5
CM: Fix switching fadeout to fadein
...
Happens when mousing over pager with zoom enabled.
2020-09-09 16:23:05 +02:00
Kim Woelders
84372a1165
hiwin: Tweak debug
2020-09-09 16:23:05 +02:00
Kim Woelders
02f0afd97b
Merge variables controlling click-to-raise configuration
2020-06-29 19:47:36 +02:00
Kim Woelders
79711672ab
focus.c: Eliminate unnecessary variable
2020-06-27 19:48:16 +02:00
Kim Woelders
e6b62914b4
Make "only primary mouse button raises" option take effect immediately
2020-06-23 21:11:13 +02:00
Kim Woelders
0a6b8e177c
Add option to allow only the primary mouse button to raise windows
...
Patch by Simon Kesenci
2020-06-23 21:11:10 +02:00
Pierre Neyron
b21e0cd093
Document the "absolute" parameter for the toggle_* window operations
2020-06-08 20:10:08 +02:00
Kim Woelders
aae5938e97
Fix technical/shapewin move mode with window groups
...
The technical etc. move modes using a shaped window ("avoid server grab"
mode) only properly shaped the shape window of the first group member.
Broken since 0c16916258
- v1.0.12.
This commit changed the mode of operation from one shape window in total
to one per group member, i.e. shapes should no longer be combined.
..and drop useless fl variable in _MoveResizeMoveResume().
2020-05-06 15:28:53 +02:00
Kim Woelders
b27ff7ee74
Fix technical/shapewin move mode through edge flip
...
The technical etc. move modes using a shaped window ("avoid server grab"
mode) would create a new shape window on every edge flip, which could
only be removed by restarting e16.
Broken since 0c16916258
- v1.0.12.
2020-05-06 15:12:40 +02:00
Kim Woelders
db38aae9e6
groups.c: Fold "groups" into "group_op" IPC command
2020-05-05 22:42:08 +02:00
Kim Woelders
f0029d9f63
groups.c: Add group list ipc comand
2020-05-05 22:42:08 +02:00
Kim Woelders
f58ca9c26a
groups.c: Eliminate _EwinInGroup()
2020-05-05 22:42:08 +02:00
Kim Woelders
f5324ebd5a
groups.c: Simplify _GroupDelete() some more
2020-05-05 22:42:08 +02:00
Kim Woelders
d511dd782c
groups: Rework group configuration saving
...
- No longer just store groups that are referenced by snaps
Makes to logic somewhat simpler.
- Only and always write group configuration when changed
Previously we updated the group configuration way too often (on any
snap change).
2020-05-05 22:42:08 +02:00
Kim Woelders
b65a31e3d4
snaps: Fix snapshot group remembering when all groups are deleted
...
When all groups were deleted from a window it would stop remembering
group membership.
Unfortunately this fix is not backwards compatible.
If downgrading setups where some windows have multiple groups some group
memberships will be lost.
2020-05-05 22:42:08 +02:00
Kim Woelders
c2e9649cd5
groups.c: Fix snapshot updating
2020-05-05 22:42:08 +02:00
Kim Woelders
9c18d93735
groups.c: Add some debug
2020-05-05 22:42:08 +02:00
Kim Woelders
0df0320da6
groups.c: Fix group deletion
...
The loop construct did not delete all groups.
Do group destruction after loop to avoid accessing deleted
group->num_members.
2020-05-05 22:42:08 +02:00
Kim Woelders
924518956c
groups.c: Add group del command
2020-05-05 22:42:08 +02:00
Kim Woelders
1399c7bf7d
groups.c: Fix showing empty group
2020-05-05 22:42:08 +02:00
Kim Woelders
d28388ad70
groups.c: Fix handling groups with negative id
2020-05-05 22:42:08 +02:00
Kim Woelders
cc7fe7a2fb
groups.c: Mostly cosmetic tweaks
2020-05-05 22:42:08 +02:00
Kim Woelders
c2be7e7c14
groups.c: _GroupEwinDestroy() -> _GroupDelete()
...
Drop the possibility to delete all groups to which an EWin belongs.
It wasn't possible to go down that path anyway.
2020-05-05 22:42:08 +02:00
Kim Woelders
d80bf8305c
groups.c: Enable popping up ewin group configuration dialogs from ipc
2020-05-05 22:42:08 +02:00
Kim Woelders
3c5f33648e
groups.c: Fold "group_info" into "group" IPC command
2020-05-05 22:42:08 +02:00
Kim Woelders
32f4255270
groups.c: Refactor _GroupEwinRemove()
2020-05-05 22:42:08 +02:00
Kim Woelders
4e97cbb637
groups.c: Rename functions for more consistency
...
Swap a couple of arguments too.
No functional changes.
2020-05-05 22:42:08 +02:00
Kim Woelders
c4026c585c
groups.c: Reshuffle code to avoid forward declarations
2020-05-05 22:42:08 +02:00
Kim Woelders
02001e632d
groups.c: Mostly cosmetic changes around group configuration
2020-05-05 22:42:08 +02:00
Kim Woelders
5a131b00b1
groups.c: Eliminate BuildWindowGroup()
2020-05-05 22:42:08 +02:00
Kim Woelders
864009da54
groups: Eliminate EwinGetGroups()
...
Not particularly useful.
2020-05-05 22:42:08 +02:00
Kim Woelders
01a2163989
Add feature to build with ASAN (--enable-gcc-asan)
2020-05-05 22:42:08 +02:00
Kim Woelders
be8c4faf60
Add alsa-lib sound backend
2020-05-05 10:22:36 +02:00
Kim Woelders
47d9555861
Minor cleanups in sound players
...
The sample pointers will never be NULL in _Play() and _Destroy() so drop
checks.
Also drop some pointless pointer clearing.
2020-05-05 10:15:44 +02:00
Kim Woelders
26e106a613
Avoid potential crash when attempting to enable sound, cosmetics
...
IF sound initialization fails AND then attempting to enabling sound with
"eesh set sound.enable 1" (which didn't actually enable sound), e16
could crash.
2020-05-02 11:11:10 +02:00
Kim Woelders
d24cdd303b
GSOD: Avoid rendering artifacts when unmapped
...
Somewhat hacky as the compositor may discard window events if the window
destroy event is received in the same batch as the map(reparent) event,
hence the delay before destroy.
2020-05-02 09:56:04 +02:00
Kim Woelders
42447b16d3
Minor cleanups after sound by audio player feature
...
- Correct configure.ac help string
- Issue warning if player is not executable
Also change sound server problem warning message from GSOD to dialog.
2020-05-02 08:12:46 +02:00
Kim Woelders
9a6825fadf
Introduce path_canexec0() for convenience
2020-05-02 08:11:30 +02:00
Kim Woelders
1ea08c2075
Optionally play sounds using audio player
2020-05-01 15:42:03 +02:00
Kim Woelders
0ef79b8771
Autofoo sound configuration cosmetics
2020-05-01 14:11:26 +02:00
Kim Woelders
cf552ef7f9
Enable sounds in combined configuration dialog
2020-05-01 14:11:26 +02:00
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