Commit Graph

141 Commits

Author SHA1 Message Date
Jon Trulson 71a14ce723 Merge /u/runlevel5/cde/ branch xkb into master
https://sourceforge.net/p/cdesktopenv/code/merge-requests/83/
2026-01-31 23:37:55 +00:00
Trung Lê c0c47c28e9 Replace deprecated XKeycodeToKeysym with XkbKeycodeToKeysym
XKeycodeToKeysym() has been deprecated since X11R6.1 (1996).
Use XkbKeycodeToKeysym() instead, which takes an additional group
parameter (0 for default keyboard group).

API change:
  XKeycodeToKeysym(display, keycode, index)
  -> XkbKeycodeToKeysym(display, keycode, 0, index)

Files modified:
- lib/DtWidget/Editor.c
- programs/dtcalc/motif.c
- programs/dtsession/SmSave.c
- programs/dtwm/WmCPlace.c
- programs/dtwm/WmResParse.c
- programs/dtwm/WmWinConf.c
2026-01-29 17:15:28 +11:00
Trung Lê 72d0164644 Security: replace tmpnam() with mkstemp()
tmpnam() is inherently insecure due to race conditions between
filename generation and file creation (CWE-377). Replace all
occurrences with mkstemp() which atomically creates the file.

Pattern used (portable, already used elsewhere in CDE):
  strcpy(tmpName, "/tmp/dtXXX_XXXXXX");
  { int _tf = mkstemp(tmpName); if (_tf >= 0) close(_tf); }

Files modified:
- lib/DtHelp/Access.c (2 occurrences)
- lib/DtSvc/DtUtil1/DtsMM.c (1 occurrence)
- lib/DtWidget/Editor.c (2 occurrences)
- lib/DtWidget/SearchCalls.c (1 occurrence)
- programs/dtcreate/main.c (2 occurrences)
- programs/dticon/main.c (1 occurrence)
- programs/dtlogin/policy.c (1 occurrence)
- programs/dtpad/fileIo.c (1 occurrence)
- programs/dtpdm/PdmXp.c (1 occurrence)
- programs/dtpdmd/manager.c (1 occurrence)
- programs/dtspcd/main.c (1 occurrence)
- programs/dtwm/WmResParse.c (1 occurrence)

Note: dtksh/ksh93 directory intentionally skipped (vendored code)
2026-01-29 17:10:18 +11:00
Peter Howkins 68cae0c36b Handle changes needed for C23 compatibility that turns on strict ansi prototypes by default. C23 is now the default for GCC 15 2025-12-31 15:06:27 +00:00
Patrick Georgi de2c06c54d remove system library prototypes 2025-12-18 22:58:26 +01:00
Patrick Georgi ae001c320f fix misleading indentation
Mostly to shut up the compiler, but some real bugs hidden in there.
2025-12-18 22:58:26 +01:00
Patrick Georgi ae767ed3dc Mark error handlers as "noreturn"
Match X headers to satisfy newer compilers.
2025-12-18 22:58:26 +01:00
Chase 62a23fc33b dtsession: split ShowWaitState into Enter and LeaveWaitState 2025-11-30 16:30:14 -07:00
Chase 5639630d61 dtwm: fix hourglass not showing up where it should 2025-11-30 16:30:14 -07:00
Dark Ayron f0be964d6c dtwm: add support for more mouse buttons
Some mice have more than 3 buttons. Although Xlib.h doesn't provide
definitions for these buttons, button 6 to 9 is reported through the
XButtonEvent struct.
This adds support for mapping actions to mouse button 6 to 9.
2025-03-19 09:47:12 -06:00
hyousatsu 38a1b9fcca dtwm: manage windows properly to avoid potential
segmentation faults.
2025-03-01 02:43:25 -05:00
hyousatsu 615d9a3907 dtsession: fix a crash. 2023-08-16 23:18:47 -04:00
hyousatsu b979a073df dtwm: fix a segfault. 2023-03-28 02:16:17 +00:00
hyousatsu 2351a19d7e dtwm: support _NET_WM_STATE_ABOVE and _NET_WM_STATE_BELOW. 2023-02-26 11:59:29 +00:00
hyousatsu e22fd8d84f dtwm: optimize EWMH processing. 2023-02-26 11:59:21 +00:00
hyousatsu e201ef0a7b dtwm: add a new feature -- window rename. 2023-01-22 13:59:40 -07:00
hyousatsu 0011ed2f70 dtwm: optimize EWMH processing. 2023-01-22 13:59:40 -07:00
hyousatsu a90666402c dtwm: add support for _NET_WM_VISIBLE_NAME and
_NET_WM_VISIBLE_ICON_NAME.
2023-01-22 13:59:40 -07:00
hyousatsu 69d47966ad dtwm: fix compiler warnings. 2023-01-22 13:59:39 -07:00
hyousatsu bba694f5f2 dtwm: fix a title bar resizing issue. 2023-01-22 13:59:39 -07:00
Chase 45cee195bd Generify source code
Previously we would fail in some parts of the code if we did not have a
premade configuration, now we use any code that was marked as Linux, BSD and
Solaris as our basis in order to support building unknown Unix systems.
2022-08-06 11:31:51 -06:00
Chase edf4319548 Discontinue HPUX support 2022-07-23 17:49:33 -06:00
Peter Howkins 1f5ec7f034 Allow the window manager to handle centered, fit and fill backdrops 2022-07-06 17:00:49 -06:00
Peter Howkins 7641634130 dtwm: Resolve format-overflow issues 2021-12-24 10:50:28 -07:00
Peter Howkins f073bc2e24 dtwm: Resolve uninitialized warnings 2021-12-24 10:50:28 -07:00
Jon Trulson 3a0e92adb6 Rename autotools_config.h to cde_config.h to better reflect it's ownership. 2021-12-22 13:21:43 -07:00
Jon Trulson 3a0c2ae879 Move DtXinerama.h and PamSvc.h into include/Dt/ 2021-12-21 16:42:29 -07:00
Jon Trulson e10d06f210 configure/Makefiles: add checks for Xmu, Xext, and Xdmcp
We also remove sun pro specific options, and do some general cleanup
as well as remove hardcoded library refs like -lXm, -lXext, etc...
2021-12-21 16:42:22 -07:00
Jon Trulson 24a2f05138 Fix some shift-op-parentheses warnings 2021-12-11 17:39:35 -07:00
Jon Trulson abb408b24f dtwm: fix implicit-function-declaration warnings 2021-11-15 16:07:28 -07:00
Liang Chang fc486e47a7 Merge branch 'tmp' into dtwm 2021-11-05 14:58:55 +08:00
Liang Chang c38a5a8b71 dtwm: Respond to the following EWMH:
_NET_WM_STATE_MAXIMIZED_VERT
      _NET_WM_STATE_MAXIMIZED_HORZ

A window is maximized if both _NET_WM_STATE_MAXIMIZED_VERT and
_NET_WM_STATE_MAXIMIZED_HORZ are set.
2021-11-05 14:45:42 +08:00
Liang Chang 08ebba5225 dtwm: Respond to the following EWMH:
_NET_WM_NAME
      _NET_WM_ICON_NAME
2021-11-05 14:21:34 +08:00
Liang Chang c6e8d60548 dtwm: Add processing functions for _NET_WM_NAME and _NET_WM_ICON_NAME. 2021-11-05 14:21:34 +08:00
Liang Chang 9a8debd7d1 dtwm: Add definitions for _NET_WM_NAME and _NET_WM_ICON_NAME. 2021-11-05 14:21:34 +08:00
Liang Chang 7734a01e41 dtwm: Create stretcher windows when regenerate a frame for a frameless
window to make the resize cursors show again.
2021-11-05 14:21:33 +08:00
Liang Chang d90f765c0a dtwm: Create title bar window if clientTitleWin is NULL when regenerate
client frame.
2021-11-05 14:21:33 +08:00
Liang Chang f05bc54ceb dtwm: To avoid a segfault, allocate gadget rectangles when regenerate
window frame. A typical case, create a frameless window then regenerate
it's frame.
2021-11-05 14:21:33 +08:00
Liang Chang 8fa32b3db5 dtwm: Trigger fullscreen in an "edge trigger" manner to avoid wrong
behaviors caused by some unusual operations. E.g., after entered
fullscreen, applications change windows to other states instead of
leaving fullscreen.
2021-11-05 14:21:32 +08:00
OBATA Akio 16fe76ed65 Fix to include system header files for using functions 2021-10-08 14:40:56 +09:00
Jon Trulson be6bc0aa54 Remove some unused imake *.tmpl files
We still keep some of them for doc/ and dtinfo until those are
building properly.
2021-09-19 14:42:11 -06:00
Liang Chang 3886c7d09c dtwm: Respond to the following EWMH:
_NET_WM_FULLSCREEN_MONITORS
      _NET_WM_STATE_FULLSCREEN
2021-08-07 16:19:25 +08:00
Liang Chang 78c8241738 dtwm: Support multi-monitor fullscreen. 2021-08-07 15:09:28 +08:00
Liang Chang 6a28507dbc dtwm: Regenerate frame when decoration updated. 2021-08-07 14:31:04 +08:00
Liang Chang 1c310b8635 dtwm: Improve response for decoration hint from client.
Add a function: InitClientData.
2021-08-07 14:17:54 +08:00
Liang Chang e648aab6b1 dtwm: Add EWMH related source code. 2021-08-07 13:14:34 +08:00
Liang Chang 50ea1705c7 dtwm: Relocate base window when regenerate its frame. 2021-08-06 08:36:05 +08:00
Liang Chang bcf6e517d3 dtwm: Add a function: GetHeadInfoById. 2021-08-05 17:09:35 +08:00
Jon Trulson ac8bd41373 Revert "Convert uses of XKeycodeToKeysym (deprecated) to XkbKeycodeToKeysym"
This reverts commit 15a2032626.

This is wrong - it is missing the proper include file, and the
new function takes 4 arguments not 3.
2021-07-04 13:00:51 -06:00
Jon Trulson 51646fb06a programs/: remove Imakefiles for completed modules 2021-07-03 19:12:43 -06:00