Commit Graph

2021 Commits

Author SHA1 Message Date
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
matthieu
5394d9088b Add xenodm a stripped down xdm (X Display Manager) for OpenBSD. 2016-10-23 08:30:37 +00:00
okan
9cb17b0e3b clean up search_match_client(); no behaviour change 2016-10-22 19:16:43 +00:00
czarkoff
b679f961ab add NetWM-compliant fullscreen support
OK jung@
2016-10-21 09:48:48 +00:00
okan
4811ec0433 Refactor callbacks to take a void * so as to not try and generalize into
client_ctx in keypress and buttonpress event handlers; pass appropriate *ctx's
based on context.

While here, limit some globals, replace defines with appropriate variables and
fix some naming.
2016-10-18 17:03:30 +00:00
okan
9a3b6b7fd4 remove another unused proto 2016-10-12 16:11:15 +00:00
matthieu
fd18c20e72 regen 2016-10-11 22:14:30 +00:00
matthieu
d9fc70eb7c Remove the global 'make includes' step from 'make build'.
This is no longer needed and gets in the way of tightening
permission used during build. ok and suggestions natano@
2016-10-10 13:34:43 +00:00
okan
a1a192d258 Rename 2 kbfunc to match closer to what they do 2016-10-06 14:53:52 +00:00
okan
a53fef7b1e Add an argument to the callbacks to pass the xevent context, button or
key press. This allows to remove a few hacks to duplicate functions only
for behaviour changes; now differing behaviours are pushed down to the
callback. Also will allow for previously unavailable actions to be bind-able
down the road.
2016-10-06 14:41:19 +00:00
okan
4e1d180946 Check the ptr bounds in the new client during cycling, since not all
actions do ptrsave, such as restoring client geometry; adapted from a
diff by Vadim Vygonets.
2016-10-06 14:30:05 +00:00
okan
4a70ba0924 More accurate to say 'toggle', rather than 'select', for group[n]/nogroup. 2016-10-05 14:01:23 +00:00
okan
62af7b9761 Add CM-a for 'nogroup' (CM-0 stays for now); update manpage to reflect. 2016-10-05 13:35:17 +00:00
okan
ddbad284c7 Stash wmname into conf. 2016-10-05 13:10:59 +00:00
okan
c42b7d0a28 When removing xrandr regions, ensure clients are within the bounds of
the screen; adapted from an ancient diff from Sviatoslav Chagaev. Things
in this area will likely change, but put this in so it works now and
serves as a reminder.
2016-10-04 20:15:55 +00:00
okan
a7e1d9acfc Calculate client nameqlen in client_setname(), the only place it's
needed/used.
2016-10-04 15:52:32 +00:00
okan
d592dd99f7 Turn CALMWM_NGROUPS define into variable, ngroups. 2016-10-04 15:18:20 +00:00
okan
cdbe6c3bc9 Start simplifying menu code; and in turn, remove a cursor no longer
needed.
2016-10-03 18:43:49 +00:00
okan
6889482fc7 Defaults are split between defines and conf_init(); normalize these, as
well as give 'sticky' groups its own variable.
2016-10-03 14:42:34 +00:00
okan
dcdbf54e85 For both kb and mouse move, it is possible to grab a client and move it
completely off the screen/region; instead, if the pointer is outside of
the client bounds, warp the pointer to the closest edge before moving.
2016-10-03 13:52:17 +00:00
okan
3881d6ad85 client_ptrwarp should not deal with unhiding or raising clients (non ptr
requests); most callers do this already - deal with the few that do not.
client_ptrwarp becomes a simple wrapper (setpos) but it will be expanded.
2016-10-03 13:41:30 +00:00
tb
c5b53bf9ac Explicitly set the owner of the shell scripts in etc/X11/xdm and of the
chooser and xdm binaries to BINOWN:BINGRP.  Needed for noperm release.

ok mathieu
2016-10-02 09:12:46 +00:00
okan
679d00b4fa remove unused proto 2016-09-30 21:44:51 +00:00
okan
5a1d71fd93 Set the initial ptr position during client init, instead of waiting
until (maybe) a ptrwarp call. Likewise, explicitly ensure an inbounds ptr
position (same as initial) when saving.
2016-09-30 20:55:54 +00:00
okan
54cccf114b Use instinsic X11 functions for key/btn/ptr grab/ungrab/regrab requests;
the one line wrappers provided no value and limited altering calls where
needed; additionally, most of them had but one caller.
2016-09-30 18:28:06 +00:00
okan
e49083a483 Replace mousefunc_sweep_draw() with a generic menu_windraw() using va
lists; use it appropriately for both window dimension and position in
the respective mousefunc calls.

ok bryent@
2016-09-30 15:12:19 +00:00
okan
e30959f62f Switch to XWindowEvent() pulling out events that match the mask *and*
window.
2016-09-30 15:05:02 +00:00
okan
035ba40ddc no need to unmap menu window again 2016-09-29 00:30:40 +00:00
okan
1b369f6063 Mechanical change: move screen menu bits to their own struct. 2016-09-29 00:21:55 +00:00
okan
b46a5b0b56 Inline Xft draw and extents wrappers; too much abstraction. 2016-09-28 17:06:33 +00:00
okan
7c35826ca9 Do not call sweep_draw() too early: don't yet have w/h dimensions; plus
we will get a MotionNotify event right away anyway, setting required
parameters.
2016-09-28 15:54:54 +00:00
okan
374d386034 Continue merging kb and mouse functions: fold
mousefunc_menu_{client,cmd,group} into the respective
kbfunc_menu_{client,cmd,group} functions; simply pass a flag down from
config denoting mouse action behaviour.
2016-09-22 14:36:03 +00:00
okan
c1ac946076 Allow ctrl-[ for abort (esc); from Benjamin Scher Purcell 2016-09-20 19:58:54 +00:00
okan
489250a384 de-static client_inbound() 2016-09-20 19:11:19 +00:00
okan
47ecd2dcf9 remove debug that accidentally snuck in 2016-09-20 18:23:12 +00:00
okan
d9f512008b Get rid of curcc, instead cycle through the queue; removes the need for
client_none().
2016-09-20 18:21:32 +00:00
jca
cdd4bf21cb Make video -i work ootb.
video(1) uses mmap and ioctls by default, those ioctls only work on
video(4) devices.  If -i is passed, use read(2) instead of the mmap(2)
routines, instead of requiring the user to pass also pass the -g flag.
2016-09-16 20:29:03 +00:00
okan
9b943acf32 During init, query screen for _NET_ACTIVE_WINDOW and set that client as
active; while we already look at what's under the pointer, use this
information first, then look under the pointer (saving that round-trip).
This restores the active state to a client after restart even if the
pointer is not above it (and of course the pointer is not above another
client).
2016-09-16 14:32:02 +00:00
okan
faafc6dd35 Some clients fail to setup hints at all, so initalize for them; fallout
from r1.218 switching to malloc - clearly missed this case.

found the hard way by brynet@
2016-09-14 21:00:24 +00:00
okan
b0ab7f2e87 Fix-up a few simple uses of client_current(): check CLIENT_ACTIVE flag
instead of relying on curcc.
2016-09-14 19:45:33 +00:00
matthieu
fe5fda4a31 Make shure that all autotools generated install commands specify a
user and a group.
2016-09-14 08:31:47 +00:00
okan
237d1b1cf5 init label 2016-09-13 17:42:58 +00:00
okan
6937dedc0d Limit mouse resize to hints within the client; matches kbd resize
behaviour.
2016-09-13 13:42:28 +00:00
okan
14d946c938 Switch to just malloc since we need initialize most everything anyway. 2016-09-12 13:48:41 +00:00
okan
310ca33ad8 change 'sticky' to 'stick' to toggle client stickiness (seems the
default binding worked for everyone for a long time!); conflict with
group sticky found by Ali Farzanrad - thanks!
2016-09-12 13:47:00 +00:00
matthieu
c7371fb865 Fix installation modes and ownership. 2016-09-11 19:22:56 +00:00
matthieu
b4ced79982 Remove zaurus specific default VT configuration (it had only 2 VTs) 2016-09-04 19:13:17 +00:00
okan
79f19b14ff Simplify group_holds_only_hidden(); from Vadim Vygonets. 2016-09-02 16:07:11 +00:00
okan
6c5b694356 Simplify toggling flags; from Vadim Vygonets. 2016-09-02 15:08:44 +00:00
okan
b9b225cb85 Do not draw borders on ignored clients when returning from fullscreen;
from Vadim Vygonets.
2016-09-01 18:38:52 +00:00
okan
0aaaf77e6b Remove redundant minimum client size adjustment (minw and minh are
always positive since r1.214); from Vadim Vygonets.
2016-09-01 18:34:04 +00:00
okan
156bfda805 Enable the use of numpad Enter key on menus; from Henrique N. Lengler.
ok beck phessler
2016-08-28 15:23:24 +00:00
matthieu
29156ec96c add a column to previous commit for consitency. 2016-08-13 09:59:48 +00:00
matthieu
c4dbc0305f conf_screen: report the fontname that can't be opened in case of failure.
ok dcoppa@
2016-08-13 09:58:37 +00:00
matthieu
12142429a1 Update to xterm-325. Testing by krw@, shadchin@ and naddy@. Thanks 2016-08-07 21:27:36 +00:00
matthieu
5762926f26 Update to xinput 1.6.2 2016-08-06 11:15:29 +00:00
matthieu
9a285a7c62 Update to xkbcomp 1.3.1 2016-08-06 11:08:41 +00:00
matthieu
7da41a3963 Version-less logos for 6.0 and above 2016-07-11 20:02:02 +00:00
mglocker
13dfb063f0 Comparing maximum frame buffer size after VIDIOC_DQBUF ioctl against
'buf.bytesused' instead of 'buf.length' makes more sense.

From Patrick Keshish
2016-06-06 19:31:22 +00:00
mglocker
58b259de1a To match the encoding type, compare against 'pixelformat' instead of
'description' which could contain any value.  Fixes VIDIOC_ENUM_FMT ioctl
for utvfu(4).

Spotted by Patrick Keshish.

ok mpi
2016-06-06 11:55:38 +00:00
mglocker
75f41efb37 Add 'q' option to just display the device properties and quit.
Tested and ok czarkoff
2016-06-04 07:44:32 +00:00
tb
9df5e43bd2 mmap(2) failure is indicated by MAP_FAILED, not NULL.
ok mglocker
2016-06-02 08:53:32 +00:00
mglocker
9d46737716 Just try to unmap a buffer when something has been mapped before.
ok semarie tb
2016-06-02 07:47:25 +00:00
tb
7d6f19381b Guard against using tp_start uninitialized in case no frame was
grabbed in verbose mode.

ok mglocker
2016-05-31 08:45:14 +00:00
mglocker
b1a7299baa Add mmap(2) support for frame grabbing and make it default over read(2).
The introduced '-g' option still allows to fallback to read(2).

With input from tb, jmc, and Patrick Keshishian.

ok tb
2016-05-31 06:47:12 +00:00
matthieu
699cb20b48 remove xsystrace (already un-linked from builds) 2016-05-07 19:15:07 +00:00
okan
dbd50a50c6 If supplied format to menuq_add() is NULL, fill text with an empty
string; found by Christian Neukirchen.
2016-04-28 16:28:38 +00:00
matthieu
189ba43a02 un-hook xsystrace(1). ok beck@ 2016-04-25 19:25:31 +00:00
schwarze
ba95469f30 Use UTF-8 mode by default because it is safer and more useful
even for  people always running with a C/POSIX locale(1).
OK matthieu@ naddy@ martijn@
2016-03-08 17:26:30 +00:00
matthieu
eebec65122 Update to xrandr 1.5.0 2016-03-06 13:45:29 +00:00
matthieu
f3b2934829 puffy 5.9 2016-01-16 10:47:56 +00:00
naddy
bb06250523 On BSD, switching off ICANON does not disable LNEXT (^V) processing.
We explicitly need to unset IEXTEN.  ok matthieu@
2016-01-13 21:17:02 +00:00
matthieu
17886faaf7 Update to xterm 322. Tested by shadchin@ and jsg@. Thanks. 2016-01-13 20:40:08 +00:00
matthieu
0a1bf36b6d missed one conversion to arc4random(). 2016-01-05 10:33:13 +00:00
matthieu
11beb40bcd Remove unused file. 2015-12-24 15:52:42 +00:00
semarie
d0c47f20a0 add pledge promise "exec" for few cases in xterm
in particular if the user use `exec-formatted' or `exec-selectable' actions in key binding.

problem reported by jirib at devio dot us.
2015-11-25 08:56:50 +00:00
okan
eaf23378dd pledge fvwm and FvwmPager (since it's started by default); committing to
solicit further feedback and testing.

ok matthieu and encouragement from deraadt
2015-11-18 17:41:42 +00:00
okan
402ba9437e Fix a typo from r1.201; fixes window_grouptoggle binding. 2015-11-17 15:19:19 +00:00
okan
448a04ca44 If a client does not set increment values, use 'moveamount' as a way to
scale keyboard based resizes; extend kbfunc_amount().

Behaviour noted by, tested by, and ok sthen@
2015-11-17 14:32:38 +00:00
okan
5dd7f2f304 Inline the only use of mousefunc_sweep_calc. 2015-11-17 14:31:28 +00:00
matthieu
78005e8a07 pledge xconsole(1). 2015-11-14 17:13:21 +00:00
matthieu
5092a69bf9 Don't try to revoque privileges if priv_init is called without
privileges. The parent process will be used for operations
that can't be pledged.
2015-11-14 17:12:14 +00:00
okan
403542f5b2 more client vs screen context differences 2015-11-12 21:28:03 +00:00
okan
6e55f9d89b If a client sets hints, honor them for kb resize requests, just like we
do for mouse based resize requests.

Based on a patch from Vadim Vygonets.
2015-11-12 18:33:30 +00:00
okan
db0907a53d Move kb pointer movement out of the kbfunc_client_moveresize since it's
got nothing to do with clients, thus doing flags work causes lots of
waste and almost useless jumpy pointer movements; while here, split out
move and resize since they share almost no code, just like mouse client
move/resize; factor out amount and factor. Still wonder why this is
here, but it works now.
2015-11-12 18:26:41 +00:00
okan
4db32a8463 pledge "stdio rpath proc exec" cwm before main event loop, after
init/setup - mostly for menu building.

ok semarie@ (another cwm user)
2015-11-12 17:56:54 +00:00
matthieu
27549fce93 Reduce gcc warnings. No functional changes. 2015-11-11 21:20:12 +00:00
matthieu
300ba5c057 use HAVE_ instead of HAS_ macros for consistency. 2015-11-11 21:18:12 +00:00
matthieu
f08e325b48 regen 2015-11-11 21:12:43 +00:00
matthieu
eedb4e77fa pledge for xclock. okan@ got to the same patch. I added autoconf goo
to make it possible to send it upstreams. ok deraadt@
2015-11-11 21:12:19 +00:00
okan
a7bbf5197e Partial revert of replacing screen_area() with region_find(); until a
fix for a regression is found; this bug has been around for a long time
it seems, but this change exposed it. Likely need to track clients in to
and out of regions.
2015-11-11 14:22:01 +00:00
deraadt
3ab7d7d094 avoid using err(), use xtermWarning() instead; ok semarie 2015-11-11 07:09:50 +00:00
okan
72507096a1 Use position on root to figure out region. 2015-11-10 22:06:57 +00:00
okan
0abb5fd0f1 Start cleaning up name vs function differences; replace magic numbers. 2015-11-10 20:05:33 +00:00
okan
3fd7c4d329 Clean up unused defines. 2015-11-09 20:15:23 +00:00
okan
ffc7945b8d Extend region to include both view and work areas; switch to
region_find() which no longer needs to recalculate gap each time
a client (or menu) is created or altered. If no RandR, fall back
to display dimensions while building regions instead of during
execution.
2015-11-09 20:03:29 +00:00
matthieu
370b4f5d5a Fix use afer free in free_window_list().
bug report by Gerrit Meyerheim, patch by Serguey Parkhomovsky on bugs@
Thanks to both.
2015-11-08 13:47:41 +00:00
semarie
9199950164 add pledge to xterm
the pledge call is done just before the main loop, so initialisation
is almost done.

- stdio: for all communication on opened fds (read/write/select/recvmsg/...)
- rpath: for X11 error ("X Error of failed request: ...") which read
  at least /usr/X11R6/share/X11/XErrorDB
- wpath : on exit, for opening WR_ONLY "/var/run/utmp"
- cpath : for Tek emulation window (xterm -t)
- id : on exit, for calling setegid()
- proc: on exit, for calling kill()
- tty: on exit, for calling tcflush()

"it is time" deraadt@
2015-11-07 08:10:24 +00:00
matthieu
33d107bfaf Don't automatically launch dbus as part of the default user sessions.
requested by deraadt@ no objection ajacoutot@
2015-10-17 08:25:11 +00:00
okan
afa59e563a Only when mapping clients from an initial wm start or restart, query the
pointer and if it matches the child window, activate it; new clients
will not need to make this roundtrip to the server.

Based on a patch from Preben Guldberg.
2015-09-23 14:09:40 +00:00
okan
c10cac3b1e On execwm, we should properly release resources before exec'ing into a
new window manager; so allow CWM_EXEC_WM to assign new wm to wm_argv and
pass through cwm_status (now EXECWM) so that x_teardown() gets called
before exec'ing the new window manager.  Removes the need for a separate
x_restart() now, using new wm_argv; and consolidates errno for execvp.
2015-09-16 17:58:25 +00:00
matthieu
94323bce53 Update to xterm 320. Tested by jsg@ Thanks. 2015-09-05 14:11:45 +00:00
schwarze
0a779e4299 Remove abuse of \/ which is not a slash but an italic correction;
ok matthieu@, who will also push these fixes upstream (thanks).
2015-08-30 13:32:02 +00:00
okan
ae8386de40 Lost fix from r1.112; add comment.
Reported (again!) by Peter Kane.
2015-08-28 12:07:28 +00:00
okan
cc66816c13 Mechanical change: group->gc 2015-08-27 18:53:14 +00:00
okan
72c4ff3268 Add consistent checks against NULL. 2015-08-27 18:42:56 +00:00
okan
db9c5cf159 Move client cycle grab/ungrab into a more relevant place; while here,
update comments about why we need to grab/ungrab the keyboard.
2015-08-27 18:40:09 +00:00
okan
87e21816fb Re-add lost chunk in group_cycle from r1.113. 2015-08-27 17:43:44 +00:00
okan
b4a6817d50 Further simplify _NET_WM_DESKTOP handling using new group_assign(). 2015-08-25 20:35:49 +00:00
okan
ef6308a4d7 oops; remove left over debug print 2015-08-25 19:52:02 +00:00
okan
5c680bccef Allowing sending a valid 'nogroup' (0) group_ctx to group_assign()
(since we init all groups), though assigning the client's group to NULL
for 'sticky'; use this simplification in a few places (others to
follow).
2015-08-25 19:49:19 +00:00
okan
66a2bc1f37 Split out sticky mode checks and the restoring of a client's group and
_NET_WM_DESKTOP from the config-based auto-grouping; no (intentional)
behavior changes.  Needed for further work in cleaning up this area.
2015-08-25 18:29:10 +00:00
okan
ee0c4ddc88 Implement _NET_CLIENT_LIST_STACKING (from Thomas Admin), but
bottom-to-top order, as per spec (notified Thomas as well).
2015-08-24 15:42:57 +00:00
okan
555cb59fca Don't allow freeze operations on fullscreen (consistent with what
fullscreen does).
2015-08-24 14:57:19 +00:00
okan
6752f43126 Sort _NET_WM_STATE Atoms like the spec. 2015-08-24 14:56:10 +00:00
okan
a0e868af33 Move CLIENT_STICKY logic from client hide/unhide to group hide/unhide;
rationale being that clients should be able to hide/unhide independently
of group switching.
2015-08-23 17:31:20 +00:00
okan
b4a045b8c6 Add Xkb modifier to ignore mask; from Alexander Polakov. 2015-08-21 16:53:48 +00:00
okan
ba02c63913 Fix whitespace. 2015-08-21 16:52:37 +00:00
okan
1e8d4a7d04 Add client freeze extension to _NET_WM_STATE Atom, allowing flag to
persist. As usual with new Atoms, requires X restart.
2015-08-21 16:30:02 +00:00
okan
d01e312b01 _NET_WM_STATE_STICKY implies only sticky at the group/desktop level, not
position and size; based on discussion with a few.
2015-08-21 16:14:39 +00:00
okan
8809c816d0 Instead of special casing the 'term' and 'lock' commands, go back to
keeping them hidden; showing them has apparently caused confusion/angst.
2015-08-21 16:05:55 +00:00
okan
d24e89a34a Leave command list order from .cwmrc alone; remove sort. 2015-08-21 15:55:39 +00:00
okan
5640e2e0a3 Bring group and client cycle closer together. 2015-08-21 15:52:49 +00:00
okan
1a1e8c47e8 Alter big move and resize bindings to match what's in cwm(1);
functionally the same, but re-binding should be based on default
bindings. Matches other similiar bindings.

Discovered by a portable user.
2015-08-20 14:45:15 +00:00
matthieu
0e39cef480 Don't redefine build: locally 2015-07-19 10:43:08 +00:00
okan
8529d9a1c6 introduce 'groupsearch' for group menu search; matches on either group
number/shortcut and/or name.
2015-07-12 14:31:47 +00:00
okan
7dc8db6316 simplify menu print text 2015-07-12 14:21:09 +00:00
okan
0cbfba6ca3 revert previous; seems search_match_text() needs mi->text pre-populated.
(only used in one place, application menu searching); re-visit later.

broken application menu searching reported by Peter Kane.
2015-07-03 17:11:16 +00:00
okan
56fb99c70c style 2015-07-01 14:36:42 +00:00
okan
ee0e8d6843 only special case label matches (and still list); get rid of the rest - matchname is complete enough 2015-07-01 14:29:36 +00:00
okan
cfb0bdf8f5 no longer need to pass down format strings after introducing search_print_cmd 2015-06-30 19:02:24 +00:00
okan
6e095b76d0 Introduce a callback for cmd menu printing, special-casing 'lock' and
'term'.
2015-06-30 18:54:12 +00:00
okan
ccd054aba7 keep cmdq sorted 2015-06-30 18:44:29 +00:00
okan
5fede6d784 style and spacing nits 2015-06-30 18:42:50 +00:00
okan
eb3dae29d1 Re-implement XClientMessage handling so that we can feed screen_find and
client_find valid resources as needed, relieving the need for
screen_find to ungracefully handle invalid root windows. Removes a long
standing XXX.  Should theoretically allow XClientMessage handling on
more than one X screen.  Alter callers of screen_find to handle
failures.
2015-06-30 14:01:43 +00:00
okan
89eefd254e Shuffle code in kbfunc_ssh so that a missing known_hosts file still
allows a (now blank) menu to appear, as opposed to nothing at all.

Behavior reported by Alex Greif.
2015-06-29 14:24:40 +00:00
okan
b7512d9dd0 move client_find down 2015-06-28 19:54:37 +00:00
okan
a585206d81 replace assert usage 2015-06-28 19:50:46 +00:00
matthieu
3d790ff2a3 Transparent backgrounds for 8bpp and 4bpp images too. 2015-06-28 09:09:07 +00:00
okan
0eb3c16128 region is a _ctx, so name it so 2015-06-26 18:54:25 +00:00
okan
933ce723de Mechanical change from xinerama to region backed areas. 2015-06-26 17:17:46 +00:00
mikeb
8c53bae0f7 Make background transparent 2015-06-26 16:18:26 +00:00
okan
44693cc984 collect 'gap' applications 2015-06-26 16:11:21 +00:00
okan
9660be8b0b Replace screen region info gathering with XRandR equivalent of Xinerama
queries (currently act on XRandR events anyway). Fall-back mode without
XRandR is still what X provides. This removes -lXinerama.
2015-06-26 15:21:58 +00:00
deraadt
13ad6b1765 move to 5.8 art (way ahead of schedule...)
from todd
2015-06-23 04:07:12 +00:00
matthieu
d365eacb03 Now that nolisten tcp is the Xserver default, don't pass the option
in scripts anymore.
2015-06-20 10:12:39 +00:00
matthieu
20217b3903 Merge from upstreams Fix crash for enable/disable without a device argument
commit 904a32d908219d6fea833576f7c31727bd3aea2f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Nov 25 14:51:50 2013 +1000

    Fix crash for enable/disable without a device argument

    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2015-06-20 09:54:58 +00:00
matthieu
5df814c8da Pass '-nolisten tcp' option to Xserver so that it doesn't listen
on port 6000 by default anymore.
ok jasper@, ajacoutot@, naddy@, phessler@
2015-06-15 16:17:46 +00:00
matthieu
78490636d9 Use mktemp to create .serverauth file. Inspired by Debian patches 2015-06-14 10:33:02 +00:00
okan
6aef9ae536 typo in comment; from jsteinha [at] iutbayonne.univ-pau.fr 2015-06-09 13:02:15 +00:00
okan
c049f12cd4 just populating the ctx is enough since the menu uses a callback and ignores anything else 2015-06-08 15:43:13 +00:00
okan
fb854e1538 switch to search_print_client() as the print callback since it will now display labels as well 2015-06-08 15:41:27 +00:00
okan
0a2c4b1939 add client label 2015-06-08 15:34:03 +00:00
okan
5a1ff2b250 stash window dimensions 2015-06-08 15:11:29 +00:00
okan
d7a3230790 clean up 2015-06-08 15:08:44 +00:00
okan
a4ce9f9682 even if the menuq is empty, at least show an empty menu instead of just
bailing making it look like the binding isn't working.
2015-06-07 19:10:00 +00:00
okan
ee2e58a8b1 use the same geometry struct in menus as everywhere else 2015-06-05 18:43:36 +00:00
okan
055ed363c8 add a flag to indicate a menu list instead of overloading 'prompt' 2015-06-05 15:01:51 +00:00
okan
3f1203de8a redundant check for 'list' 2015-06-05 14:54:04 +00:00
okan
ee2e92a9e4 a start to cleaning:
- no reason for pointer movement and window movement and resizing
  sections that just describe default key bindings
- key bindings are for all search and exec dialogs, not just for windows
- adding missing bindings
- normalize and wordsmith
- re-order sections according to mdoc(7)

feedback and ok from jmc@
2015-05-31 23:07:36 +00:00
okan
d6e84c8298 merge kbd and mouse grouptoggle 2015-05-21 00:37:04 +00:00
okan
2c1757a009 fill in mwm defines 2015-05-20 23:54:39 +00:00
kspillner
7cb74619f1 Fix autogroup so name,class doesn't need to be quoted.
ok okan@ on an older version of this diff
2015-05-17 04:39:50 +00:00
kspillner
955b6eef83 Make window name and window class separate parameters to conf_autogroup.
No functional change, but will be used shortly.

ok okan@
2015-05-17 04:34:01 +00:00
matthieu
2193f5c5e4 No NEWS is good NEWS - remove a bunch of files not present upstreams anymore 2015-05-10 14:06:23 +00:00
matthieu
f2476e857c Remove xfs. It was already unlinked from build 8 month ago. 2015-05-10 13:38:46 +00:00
matthieu
f090d1e360 Update to xvinfo 1.1.3 2015-05-10 10:23:16 +00:00
matthieu
142218db6d Update to xmodmap 1.0.9 2015-05-10 10:22:11 +00:00
matthieu
d9f6904757 Update to xman 1.1.4 2015-05-10 10:21:18 +00:00
matthieu
cf97e2e903 Update to xmag 1.0.6 2015-05-10 10:20:17 +00:00
matthieu
1f9341bcd5 Update to xlsfonts 1.0.5 2015-05-10 10:19:22 +00:00
matthieu
361c60f2ba Update to xlsatoms 1.1.2 2015-05-10 10:17:40 +00:00
matthieu
83fd0ec3ca Update to xkbprint 1.0.4 2015-05-10 10:16:20 +00:00