okan
b5c7b4db44
add debugging for x events
2018-02-02 13:50:22 +00:00
okan
231107e041
Add a simple debug logging mechanism.
2018-02-02 13:40:55 +00:00
okan
17954eae66
Simplification; use asprintf where appropriate now.
2018-02-02 13:27:25 +00:00
okan
05e2523486
Use func attributes where appropriate.
2018-02-01 15:17:51 +00:00
okan
5a56fafb12
Fix wins comparison declaration since it's unsigned from XQueryTree().
2018-01-23 16:18:59 +00:00
okan
ebf71bdff9
Generate name_to_func[] in a clean and readable fashion.
2018-01-23 16:00:21 +00:00
okan
a1afcb2881
Shrink tier[] by one after removing matchname in r1.55.
2018-01-23 13:51:39 +00:00
okan
0ddfd6d206
If the requested group number is invalid, bail but don't kill cwm.
2018-01-23 13:48:49 +00:00
okan
d6b2d66ae6
Quick fix: exit after a failed execvp in u_spawn instead; previously we did in
...
u_exec, but the introduction of re-exec'ing the previous invocation of cwm if
'exec_wm' failed missed the 'exec' failing path. Will likely split out as a
proper fix.
Odd behaviour reported by Ve Telko.
2018-01-08 16:21:54 +00:00
okan
c0bbe24b5b
Only exec the fallback when in CWM_EXEC_WM state.
...
Broken quit noticed by Ve Telko.
2018-01-02 14:04:58 +00:00
okan
13cc53e0d8
Typo, from Julien Steinhauser.
2017-12-30 22:25:09 +00:00
okan
0bf4ad029c
If the replacement window manager fails to start, restart the fallback (the
...
original invocation of cwm).
2017-12-29 20:09:19 +00:00
okan
cd4212fc60
Convert menu-exec-wm from an abritrary exec menu, into a config-based menu from
...
which one may configure (wm <name> <path_and_args>) (and choose) specific
window managers to replace the running one. 'wm cwm cwm' is included by
default.
No objections and seems sensible to sthen.
2017-12-29 20:03:46 +00:00
okan
73d422515c
As done for buttonrelease, work specific un-cycling and un-highlighting actions
...
into the keyrelease event, only performing what's actually needed for each;
should result in much fewer events against keyreleases. No intended behaviour
change.
Additionally, like we do for group membership, grab the keyboard only when
required for cycling.
2017-12-29 18:50:43 +00:00
okan
ef78852268
Merge group_toggle_membership_leave into the buttonrelease event and only do
...
border work for a group/ungroup action.
2017-12-29 16:55:50 +00:00
okan
832edccdc9
add helper function client_show to bring together like actions for unhide/raise
2017-12-29 12:54:54 +00:00
okan
9c1762c16f
Add support for re-exec'ing with SIGHUP; equivalent to the already built-in
...
'restart' function.
2017-12-27 18:46:18 +00:00
okan
bcdf71d022
Use poll and XNextEvent to replace XNextEvent blocking inside the x11 event
...
handler.
2017-12-27 17:04:35 +00:00
okan
97f922dc38
zap stray that snuck in
2017-12-22 21:30:01 +00:00
okan
9ced81cc97
Return the connection number for the display.
2017-12-22 21:27:45 +00:00
okan
3668d8b165
Fix a few comments and while here, wrap some long lines.
2017-12-22 21:21:44 +00:00
okan
a3cbca55bd
Use a variable to keep track of flags for menu_filter().
2017-12-19 19:38:43 +00:00
okan
c7619bea34
Add support for _NET_WM_STATE_SKIP_PAGER and _NET_WM_STATE_SKIP_TASKBAR; eerily
...
close to cwm's 'ignore'.
Roughly based on an initial diff from Walter Alejandro Iglesias, but with
support for both Atoms and without cwm-based bindings.
2017-12-19 14:30:53 +00:00
okan
2c1aed2ec8
remove duplicate ExposureMask
2017-12-15 13:13:17 +00:00
schwarze
1c45dc4fed
Disable Unicode canonical composition by default because that's
...
less surprising and makes copy and paste work better, even though
some none-default fonts currently do not display combining accents.
Problem reported by Philippe Meunier <meunier at ccs dot neu dot edu>.
Root cause found by bentley@.
OK bentley@, and the general direction was also supported by stsp@.
2017-12-13 17:45:49 +00:00
okan
7944040cd2
move variable declarations up, to match everything else
2017-12-13 15:10:17 +00:00
okan
0202b86b58
clean up after previous (noprompt removal)
2017-12-12 15:37:16 +00:00
okan
2a75b150b0
Unconditionally show prompt on menus, regardless of invocation.
2017-12-11 20:58:18 +00:00
okan
6fd1cc10d9
Original idea from Dimitris Papastamos to move windows to corners a while ago;
...
re-proposed by Julien Steinhauser with an updated diff. Apparently this was in
the original calmnwm.
However, expand the original idea and let clients 'snap' to edges instead,
neatly allowing key bindings that snap to adjacent edges (i.e. corners) as
well. No default bindings assigned.
2017-12-07 16:25:33 +00:00
okan
4210dba245
give command and group menus their own match callbacks
2017-12-07 16:03:10 +00:00
okan
f7999cdcf1
stash dir into conf since it'll be of use
2017-12-07 15:47:14 +00:00
okan
bf36743105
organize this a bit better
2017-12-07 15:40:54 +00:00
okan
52a26c6c07
spacing
2017-12-07 15:39:47 +00:00
okan
ca283e4b1e
Revert r1.109 (Switch to XWindowEvent() pulling out events that match the mask
...
*and* window.) of mousefunc.c. When a client destroys itself while we are
moving or resizing it, XWindowEvent() blocks. Found the hard way by Anton
Lazarov, and Lea°hNeukirchen found the right bit to revert - thanks! Reverting
since the reason to switch from XMaskEvent was unclear.
2017-11-30 18:18:51 +00:00
matthieu
e172c9b2ce
xdm -> xenodm in log and error messages
2017-11-12 17:10:12 +00:00
schwarze
058038d574
use the proper macros in the AUTHORS section
2017-11-09 19:13:03 +00:00
matthieu
ca5563feca
Remove xdm. Unhooked since more than 6 months.
2017-10-12 19:32:43 +00:00
matthieu
08a235a628
chown before chmod
...
This prevents a malicious user logging out from calling
chmod while still owning /dev/console and thus by-passing
the '622' mode that is set here.
Issue reported by Tim Chase. Thanks.
Merged from xdm upstreams
2017-10-04 18:28:59 +00:00
okan
b853354218
Case matters for menu matching on executables; from ben@lloyd.im.
2017-09-06 14:15:13 +00:00
deraadt
5150e677a9
backout hard-coded behaviour change which was not discussed, in
...
particular no justification for why the current behaviour is wrong
2017-09-05 17:48:07 +00:00
dcoppa
44401622e1
amend comment
2017-08-30 07:59:00 +00:00
dcoppa
7055fe14e7
Use 'unix:0' for the DISPLAY environment variable
...
ok matthieu@
2017-08-30 07:48:56 +00:00
anton
12dfb02fe0
Fix error check according to the secure idiom described in the snprintf(3)
...
manual.
ok dcoppa@
2017-08-29 08:50:37 +00:00
dcoppa
7069c249d5
When xinit starts an X server that listens only on UNIX socket,
...
prefer DISPLAY=unix:0 rather than DISPLAY=:0.
This will prevent applications from ever falling back to TCP if the
UNIX socket connection fails (such as when the X server crashes).
joint work with tb@
cluebat and ok matthieu@
2017-08-28 15:13:11 +00:00
matthieu
1711398f5e
Missing dot breaks semantic markup. from Klemens Nanni. Thanks.
2017-08-22 06:54:08 +00:00
matthieu
26a8646efb
add pledge. ok tb@
2017-08-20 16:43:25 +00:00
matthieu
83cf67e9fb
Close stdio before entering main loop. ok tb@
2017-08-20 16:42:21 +00:00
matthieu
e1e9d732f3
Stop abusing cpp as generic macro processor in the build system.
...
ok naddy@
2017-07-26 21:14:54 +00:00
matthieu
7c70a5feaf
regen
2017-07-26 10:05:19 +00:00
matthieu
9cc7f92447
There is no xdm.service file in xenodm.
2017-07-26 10:04:30 +00:00
okan
799b66d344
Use the key names from keysymdef.h in the default key bindings list for
...
clarification.
from Michael Reed.
2017-07-21 15:55:37 +00:00
matthieu
99d0aff682
Update to xterm 330
2017-07-15 19:20:51 +00:00
okan
62927feb0e
remove extra parentheses
2017-07-14 18:01:46 +00:00
okan
91bf263571
Pull over the remaining re-implemented window move/resize functions and create
...
a wrapper so that the key and mouse based move/resize callbacks can be unified.
This has already been done with other window operations and menus.
2017-07-14 17:23:38 +00:00
okan
ea88c2222f
rename one function, matching others, to help upcoming change
2017-07-12 16:56:26 +00:00
okan
71381ebde2
Replace fgetln(3) with POSIX getline(3); inspired by brynet and Ingo.
...
feedback and ok brynet@
2017-07-10 13:36:58 +00:00
okan
6849988066
fix a few WARNINGS (new sentence, new line and extraneous Pp macro) found with
...
mandoc -Tlint
2017-07-06 17:09:17 +00:00
okan
ed8a48dfa1
from src, by espie@:
...
no need to generate y.tab.h if nothing uses it, set YFLAGS to nothing
2017-07-06 17:01:10 +00:00
espie
251e3d9436
let X directories build even if you forget depend.
...
- use BUILDFIRST
- have fontconfig use normal 'all' targets to make sure its files are built
- explicitly document the fontconfig lib order
okay matthieu@
2017-06-18 21:09:07 +00:00
okan
942a9a421b
drop obsolete comment
2017-05-09 18:43:40 +00:00
okan
ba98b33fee
Alter callbacks to take a struct instead of a growing number of arguments;
...
greatly simplifies upcoming work.
2017-05-09 13:40:18 +00:00
okan
7aacbe28e4
Ensure clients stay within the viewable bounds on placement, even with empty
...
borders; based on a patch from Vadim Vygonets.
2017-05-05 14:14:19 +00:00
okan
c6ed26e240
Clean up, unify and accurately calculate edge distance with client move/resize
...
actions, so as to not lose windows off the edge.
inspired by diffs (and feedback) from Vadim Vygonets.
2017-05-01 12:54:55 +00:00
okan
8bbf0afc60
Switch bwidth type; unfortunately X11 is inconsistent.
2017-04-26 21:10:54 +00:00
okan
8ed62b1986
The r1.36 menuq_add() conversion did this one wrong; fix by reverting to the
...
original code which adds to resultentry list, as opposed to the wrong one in
menuq_add(). Fixes crash noticed by at least Rickard Gustafsson.
2017-04-25 13:40:33 +00:00
okan
591ec2708f
Remove 'noresult' (and simplify) as it does nothing and makes the logic around
...
it needless. History doesn't show what this might have been used for in future
iterations.
2017-04-25 12:08:05 +00:00
okan
021d728d1c
search_match_path() isn't supposed to return anything.
2017-04-24 15:06:11 +00:00
okan
193dcb4533
Move queue init to caller so it's only called once in a few cases.
2017-04-24 13:35:25 +00:00
okan
9edb3399b6
sort
2017-04-24 13:31:19 +00:00
okan
0b5e66ec4d
Raise the previously focused window, instead of the previous window in the
...
cycle list; seems to match behaviour of other wm's; from Walter Alejandro
Iglesias.
2017-04-24 12:27:32 +00:00
okan
1d5e421839
For {h,v}tile, instead of keeping the master client's {h,v} geometry, expand it
...
to %50 of the area, then fill in the remaining space with the other clients in
the same group; from Gerrit Meyerheim.
support from ajacoutot.
2017-04-24 12:18:04 +00:00
robert
fbe87ea2ce
remove all compile time __DATE__ and __TIME__ variables from the source
...
ok deraadt@, matthieu@
2017-04-15 17:18:01 +00:00
naddy
bfc7bb1386
pass CC, CXX, CXXFLAGS to the xenocara build; ok matthieu@
2017-03-07 21:35:57 +00:00
tb
ba1c922475
Don't mention the unsupported Kerberos credentials cache.
...
ok matthieu
2017-03-04 15:48:32 +00:00
bentley
ec8153abb4
Convert xenodm manual to mdoc(7).
...
ok matthieu@, plus some tweak from jmc@
2017-03-04 06:10:03 +00:00
matthieu
024f6b8d5c
Update to sessreg 1.1.1
2017-02-28 18:45:48 +00:00
natano
56a9465c27
Replace the binaryEqual() function with std memcmp().
...
ok matthieu
2017-02-28 10:30:27 +00:00
matthieu
a54e10b26c
Remove some remaining XDMCP and remote X servers references.
2017-02-28 07:04:28 +00:00
matthieu
6d8403218a
Switch to xenodm(1).
...
Tested by tb@, Do it now deraadt@
2017-02-26 16:39:22 +00:00
matthieu
8b92839868
regen
2017-02-19 17:38:12 +00:00
matthieu
7877637b79
Update to xconsole 1.0.7
2017-02-19 17:32:45 +00:00
matthieu
68e2524a9f
Update to xauth 1.0.10
2017-02-19 17:30:58 +00:00
okan
1992827992
Fix group hidden state when a client wants to be on all desktops on start;
...
reported by Vadim Vygonets with diff, but another approach was taken.
2017-02-10 15:00:54 +00:00
okan
d94ddf7b8f
Call client_resize instead of client_move after client_placecalc since the size
...
may also change.
from Vadim Vygonets
2017-02-06 18:10:28 +00:00
jsg
ea91d72981
Bring in some changes from xlock 5.50 to prevent clang from erroring
...
out on ambiguous overloaded operators.
ok matthieu@
2017-02-04 02:35:01 +00:00
tobias
82b10e4b46
Reset SIGCHLD signal handler to previous value in error path, too.
...
ok matthieu@
2017-01-30 21:45:27 +00:00
okan
ad504d072b
Typo on binding name; from Redouan Ait Mallouk.
2017-01-15 21:07:44 +00:00
okan
88785e0af3
Ensure client stays inbound on key-based resize; based on logic existing in
...
key-based client move; from Vadim Vygonets.
2017-01-05 21:18:20 +00:00
okan
1eaac10a9a
When a window has a user or program specified position, ensure the edge of the
...
final position is at least viewable and warp'able by the difference of bwidth;
prevents mapping windows completely off the virtual screen.
2016-12-19 14:17:26 +00:00
okan
13e3ebc448
stray newlines
2016-12-06 21:59:33 +00:00
okan
62c01a2e19
Add search_print_text(), a default callback for mi->print in menu_filter(). While
...
here, normalize the remaining search_print_* argument paramters.
2016-12-06 21:54:10 +00:00
okan
dd468cc47d
Consistent use of menuq_add for ssh menu.
2016-12-06 21:09:22 +00:00
okan
642c4932c1
Now that dim.{x,y} are available early, use them before requiring a
...
MotionNotify event.
2016-12-06 21:03:58 +00:00
okan
a623680c7e
Set dim.{x,y} during client_init and update on resize, instead of
...
(re)calculating only when applying hints.
2016-12-06 21:00:13 +00:00
okan
382e777e16
'window-search' is spelled 'menu-window'; the former snuck in during the
...
conversion('menu-window' already existed and was properlly documented); found
the hard way by sthen@ while trying to convert.
2016-12-06 15:03:13 +00:00
okan
52901073ce
Fold unbinding functions into one for each, key and mouse; plugs a leak when
...
unbinding a mouse button bound to a command.
2016-12-02 17:02:17 +00:00
okan
a5a9212293
use the correct type
2016-12-02 16:50:19 +00:00
okan
c6068df369
Tame the number of 'exec' and 'path' search_match wrappers. No functional
...
change now, though more can likely go later, losing the (paritally complete or
incomplete/broken) argument completion bits.
2016-12-01 20:28:19 +00:00
okan
1e51789cc3
Switch ssh menu to search_match_text; like group/window/cmd menus, use only a
...
substring match. The previous matching is only intended for the exec menus.
2016-12-01 18:44:09 +00:00
okan
5a905031f4
Change 'menu-window' to display all windows; then add 'menu-window-hidden' for
...
the previous behaviour of 'menu-window'. 'menu-window' becomes the default
binding; use 'bind-mouse "1" menu-window-hidden' to restore old behaviour for
those who prefer.
OK sthen@ (long long time ago on a different version)
2016-12-01 18:17:52 +00:00
okan
58b2eb545f
Normalize bind function names, based on a few categories: window, group, menu
...
and pointer.
Replace 'bind' and 'mousebind' options with 'bind-key' and 'bind-mouse',
respectively, replace special 'unmap' keyword with 'unbind-key' and
'unbind-mouse', and additionally allow unbinding all with 'all' keyword.
2016-12-01 17:17:27 +00:00
czarkoff
516257834c
Preserve aspect ratio of camera image in Xv output.
...
OK jca@
2016-11-26 11:49:15 +00:00
okan
5c15bd8953
Use an additional check with lstat(2) when d_type is unknown.
...
from James McDonald via portable.
2016-11-15 18:43:09 +00:00
okan
c33b352974
revert previous; upcoming changes will hopefully deal with these more
...
naturally.
2016-11-15 00:22:02 +00:00
okan
706ee11014
Add a wrapper based upon xevent handlers around client move/resize for key and
...
mouse bindings.
2016-11-15 00:07:03 +00:00
okan
d18539103e
Define callbacks, then default bindings.
2016-11-14 21:25:59 +00:00
okan
a78a724512
Reorganize for upcoming changes.
2016-11-14 19:56:05 +00:00
okan
f5f2a608ff
Remove the (8) default bindings for pointer move since they conflict with
...
default bindings for emacs, which wins; the feature remains and can be bound to
whatever users wish with cwmrc(5).
from mpi@
2016-11-14 13:52:33 +00:00
matthieu
8dbc1a3a1a
regen
2016-11-11 16:22:02 +00:00
matthieu
a525e5d33f
SU is not needed without xdmcp support
2016-11-11 16:21:50 +00:00
matthieu
da72443d3d
regen
2016-11-11 15:58:47 +00:00
matthieu
12abc80a8d
Xsession cleanup:
...
- remove mkstemp conditional it's always there
- remove USE_XPM conditional
- remove SCO and Unixware bits that survived so far
2016-11-11 15:58:35 +00:00
matthieu
d5119169fa
regen
2016-11-11 15:25:34 +00:00
matthieu
0a3295ecef
Keep only on Xservers file.
...
The Xservers.fs file makes no sense in xenodm.
2016-11-11 15:25:17 +00:00
czarkoff
7b0a63b485
Fix X11 property retrieval code
...
Just stop when reaching the end of property list instead of reading
forever past its end.
Issue was introduced in my previous commit and reported by deraadt@
2016-11-08 13:22:55 +00:00
matthieu
cf398e78cf
More unused code, when xdm-authorization is not used.
2016-11-06 14:00:37 +00:00
matthieu
4289726dad
Remove a number of unused prototypes
2016-11-06 13:48:48 +00:00
matthieu
4ebe34eee0
The SIGFUNC type definition is unused now
2016-11-06 13:40:33 +00:00
matthieu
eb59d7033d
Good bye <setjmp.h> and associated definitions.
2016-11-06 13:37:28 +00:00
matthieu
4a2df54825
Use explicit_bzero(). With BSD auth these data have already been
...
wiped when we reach those points but just in case.
2016-11-06 13:30:15 +00:00
matthieu
cdddca9b4f
Rework the Xservers parsing code to correctly reject
...
non local display types.
2016-11-06 12:56:30 +00:00
matthieu
abef35bfcd
GreetUser() doen't need to return the X display pointer.
2016-11-06 12:41:24 +00:00
matthieu
6ba2835960
Check strdup return value
2016-11-06 10:21:29 +00:00
matthieu
5f2163b431
Remove useless endpwent() calls
2016-11-06 10:17:38 +00:00
matthieu
cc885e4714
Remove a server reset that was there for compatilibity with "old" servers
2016-11-06 10:07:40 +00:00
matthieu
5b32b31147
Remove display class from Xserver examples.
...
They are of little interest in xenodm.
2016-11-06 09:45:34 +00:00
matthieu
036f33eb6e
Remove special handling of Kerberos auth that will never happen.
2016-11-06 09:32:15 +00:00
matthieu
33973f7a55
Add an autologin mode to xenodm.
2016-11-06 09:26:47 +00:00
matthieu
7cd788e5d9
Remove more mentions of remote and foreign X servers
2016-11-06 09:24:27 +00:00
matthieu
1a2fd595f2
Remove the displayType member of struct display.
...
xenodm only manages Local Permanent FromFile X servers.
No need to keep the checks for that.
For now the Xservers file keeps the location field, but ignores its
2016-11-06 09:17:47 +00:00
matthieu
a0d355a5ad
Update to xterm 327
2016-11-03 14:25:06 +00:00
tb
ba05d4bd05
Add a "flock" promise. If there are no local cache files for the user,
...
fontconfig may try to lock the shared cache files using fcntl(2).
ok matthieu
2016-10-26 20:08:14 +00:00
matthieu
57e2d19903
With the disabling of Tektronics emulation, the pledge(2) promises could
...
be reduced a bit: no more "cpath" should be required.
from Sebastien Marie. Thanks.
Reviewed by schwarze@, "put it in" deraadt@
2016-10-26 19:21:51 +00:00
okan
943e3e7534
Make it clear these are flags.
2016-10-24 20:44:08 +00:00
matthieu
d4d4ffd9f5
Stop providing the uxterm and koi8rxterm shell scripts.
...
Requested by schwarze@ agreed naddy@
2016-10-24 19:55:37 +00:00
matthieu
6e898074f3
Disable Tektronics 4014 emulation. ok natano@, naddy@, schwarze@
2016-10-24 19:31:35 +00:00
okan
b490184555
Remove duplicate check that strsubmatch() already does; while here, fix a
...
comment.
2016-10-24 18:57:12 +00:00
okan
6eaec44a4a
Sprinkle __func__ in appropriate error messages.
2016-10-24 17:39:38 +00:00
okan
66d541d7ee
Get rid of 'matchname'; it's too surprising to have the menu change during
...
client search as different potential str matches are cycled through. If there's
interest, the only string that doesn't exist in the listing is the window's
class - that can be added of course, but it makes the line too long imho.
2016-10-24 17:16:23 +00:00
matthieu
3f1971c798
Don't try to find an interpreter to execute the Xsession file if
...
it's not executable.
2016-10-23 21:17:24 +00:00
matthieu
4112b87687
Mark some functions as __dead
2016-10-23 21:13:03 +00:00
matthieu
95d0cac0e3
endpwent() is not needed after getpwnam()
2016-10-23 20:38:36 +00:00
matthieu
7161f1690d
Augment the chances LogOutOfMem() works in out-of-memory conditions.
...
All instances are called with only one constant string so no need for
varargs dance.
2016-10-23 20:35:44 +00:00
matthieu
d3274fece8
Oops a typo crept in
2016-10-23 18:41:39 +00:00
matthieu
6cbc37ff18
Use xenodm where applicable in comments
2016-10-23 12:50:49 +00:00
matthieu
6098c35094
Use explicit_bzero() to wipe the password
2016-10-23 11:31:42 +00:00
matthieu
1dfe3ca042
greet->password is wiped after handling it to auth_setdata().
...
No need to wipe again it later.
2016-10-23 11:30:03 +00:00
matthieu
186b6af863
Remove out-dated comment
2016-10-23 10:44:52 +00:00
matthieu
f24b0a9c84
remove unused parameter passwd in StartClient().
2016-10-23 10:37:23 +00:00
matthieu
25805cbb51
Generate autotools build system
2016-10-23 08:32:59 +00:00