Commit graph

2716 commits

Author SHA1 Message Date
Jonas 'Sortie' Termansen
00261ea9e1 Test if exit() works in a multi-threaded process.
Commit 2d91c7d385 fixed this issue.
2016-11-27 11:20:53 +01:00
Jonas 'Sortie' Termansen
2a143e6875 Make update-initrd(8) invoke its sysmerge replacement if any. 2016-11-27 11:20:53 +01:00
Jonas 'Sortie' Termansen
0bb608b09e Support 8-bit/24-bit color and more escape codes in the graphical console.
The console has gained these escape codes:
 - Set color to any of 256 entries in the palette.
 - Set color to any 24-bit RGB value.
 - Inverse mode.
 - Bold mode.
 - Underline mode.
 - Move cursor to line N.
 - \a is now ignored.

The effectively unused ATTR_CHAR has been removed. Parsing of escape codes
has been improved. The graphical palette has been changed to the tango
colors, which makes Sortix look a bit differently. Some user-space programs
have been changed to use different colors that look better under the new
palette.

Remove const from methods that weren't really const and remove mutable
keyword workaround.
2016-11-27 11:19:03 +01:00
Jonas 'Sortie' Termansen
ce54be34da Add VirtualBox Guest Additions. 2016-11-27 11:18:49 +01:00
Jonas 'Sortie' Termansen
e7c5d032d1 Refactor graphical resolution changes. 2016-11-27 11:18:48 +01:00
Jonas 'Sortie' Termansen
0342e03073 Add debug uart utility functions. 2016-11-27 11:18:48 +01:00
Jonas 'Sortie' Termansen
1990c899dd Fix not offering setting a resolution with one display. 2016-11-27 11:18:48 +01:00
Jonas 'Sortie' Termansen
dc44993465 Add tty(1). 2016-11-23 22:31:41 +01:00
Jonas 'Sortie' Termansen
52ea22d793 Add ptsname_r(3). 2016-11-23 22:31:41 +01:00
Jonas 'Sortie' Termansen
1f742d521c Add ptsname(3). 2016-11-23 22:31:40 +01:00
Jonas 'Sortie' Termansen
88de69487b Add unlockpt(3). 2016-11-23 22:31:40 +01:00
Jonas 'Sortie' Termansen
46ebbf82d4 Add grantpt(3). 2016-11-23 22:31:40 +01:00
Jonas 'Sortie' Termansen
2563b926ad Add posix_openpt(3). 2016-11-23 22:31:05 +01:00
Jonas 'Sortie' Termansen
365815401b Add openpty(3). 2016-11-23 22:31:05 +01:00
Jonas 'Sortie' Termansen
b38c84852c Add pseudo terminals.
This is a compatible ABI change riding on the previous commit's bump.
2016-11-23 22:31:05 +01:00
Jonas 'Sortie' Termansen
6ef5a5cee3 Detect whether the terminal has a display and a keyboard layout.
A new ioctl TIOCGDISPLAYS allow detecting which displays the terminal
has associated. The ability to set a keyboard layout can be detected
with tcgetblob kblayout.

Improve the user-space multi-monitor support while here.

The kernel now sets TERM rather than init(8).

This is a compatible ABI change riding on the previous commit's bump.
2016-11-23 22:31:04 +01:00
Jonas 'Sortie' Termansen
db7182ddc3 Add support for sessions.
This change refactors the process group implementation and adds support
for sessions. The setsid(2) and getsid(2) system calls were added.

psctl(2) now has PSCTL_TTYNAME, which lets you get the name of a process's
terminal, and ps(1) now uses it.

The initial terminal is now called /dev/tty1.

/dev/tty is now a factory for the current terminal.

A global lock now protects the process hierarchy which makes it safe to
access other processes. This refactor removes potential vulnerabilities
and increases system robustness.

A number of terminal ioctls have been added.

This is a compatible ABI change.
2016-11-23 22:30:47 +01:00
Jonas 'Sortie' Termansen
d529a1e332 Add factory inode support. 2016-11-23 21:46:06 +01:00
Jonas 'Sortie' Termansen
1240a44298 Type escape colon to enter commands in editor(1). 2016-11-22 21:36:43 +01:00
Jonas 'Sortie' Termansen
3182471881 Switch pager(1) to termios. 2016-11-22 21:36:43 +01:00
Jonas 'Sortie' Termansen
8d7d364037 Switch sh(1) to termios.
sh(1) now restores reasonable terminal attributes. This is not really its
problem, but as long as common Sortix programs don't always restore the
terminal attributes on exit, this will work around the issue in practice.
2016-11-22 21:36:43 +01:00
Jonas 'Sortie' Termansen
f6cde2d7a6 Add <limits.h>. 2016-11-22 21:36:43 +01:00
Jonas 'Sortie' Termansen
6841715274 Fix sh(1) prompt for non-root users. 2016-11-19 16:49:48 +01:00
Jonas 'Sortie' Termansen
1de75a6135 Fix sysinstall(8) and sysupgrade(8) requiring tcgetwincurpos. 2016-11-19 16:48:54 +01:00
Jonas 'Sortie' Termansen
e1c64ec92d Fix login(8) not preserving terminal attributes. 2016-11-19 16:48:54 +01:00
Jonas 'Sortie' Termansen
4441e279d7 Fix login(8) reopen of /dev/tty as stdout. 2016-11-19 16:48:54 +01:00
Jonas 'Sortie' Termansen
3cfbdb29b5 Fix ls -Ra recursing on dot and dotdot. 2016-11-14 20:47:07 +01:00
Dennis Wölfing
1b3dcad03c Add German keyboard layout. 2016-11-14 20:35:54 +01:00
Nicholas De Nova
a942b15f91 Add errc(3) family. 2016-11-06 15:31:52 -06:00
Philippe Michaud-Boudreault
4890297611 Optimize is_power_of_two. 2016-11-06 17:42:13 +01:00
Jonas 'Sortie' Termansen
5585303365 Add following-development(7). 2016-11-05 23:39:26 +01:00
Jonas 'Sortie' Termansen
d720f16537 Add ONLCR and OCRNL.
This is a compatible ABI change.
2016-11-05 23:38:40 +01:00
Jonas 'Sortie' Termansen
9603be8e65 Split LogTerminal into a base class with the core terminal semantics.
No semantic change.
2016-11-05 17:00:43 +01:00
Jonas 'Sortie' Termansen
d84715c6ef Fix SIGTTIN during tty reading not setting errno to EINTR. 2016-11-05 16:19:50 +01:00
Jonas 'Sortie' Termansen
51e13b9357 Fix terminal escape keystroke not sending escape byte. 2016-11-03 22:31:17 +01:00
Jonas 'Sortie' Termansen
a77fb74fd9 Fix sh crash if show_state->current_line is NULL. 2016-11-03 22:10:45 +01:00
Jonas 'Sortie' Termansen
e808ddb62e Fix ps and pstree extra operand not using errx. 2016-11-03 22:10:45 +01:00
Jonas 'Sortie' Termansen
eacfc72f2f Fix concurrent serial port read and write. 2016-11-03 22:10:45 +01:00
Jonas 'Sortie' Termansen
77defc5e24 Add suggestion to use nano(1) if installed. 2016-11-03 22:02:53 +01:00
Jonas 'Sortie' Termansen
8951adc5f0 Add VMIN support. 2016-11-03 08:36:46 +01:00
Jonas 'Sortie' Termansen
c3652da29f Add December 31 2016 leap second. 2016-10-30 21:20:00 +01:00
Jonas 'Sortie' Termansen
df0a99a2d2 Add suggestion to use ed(1) if installed. 2016-10-30 19:56:34 +01:00
Jonas 'Sortie' Termansen
d4bec88bf6 Add REG_STARTEND. 2016-10-30 18:08:59 +01:00
Pedro Falcato
205a3e7156
Remove not_rsp and not_esp. 2016-10-30 12:03:47 +00:00
Jonas 'Sortie' Termansen
2d91c7d385 Fix exit_thread(2) multi-threaded process destruction. 2016-10-17 18:38:04 +02:00
Jonas 'Sortie' Termansen
b3f31b1adb Fix double declaration of __heap_mutex. 2016-10-17 18:38:04 +02:00
Nicholas De Nova
057609ee6c Add logname(1). 2016-10-16 11:27:35 -05:00
Daniel Roskams
207f554b11 Document chroot(8). 2016-10-12 21:51:25 +08:00
Daniel Roskams
27677f2f9a Document unmount(1). 2016-10-11 20:12:48 +08:00
Jonas 'Sortie' Termansen
b5240163b6 Fix newlines in passwd(1) unrecognized option errors. 2016-10-09 23:06:42 +02:00