Age | Commit message (Collapse) | Author |
|
* console/console.c (vcons_lookup): Unlock using cons instead of vcons->cons.
|
|
The console lock was released only when there were no allocation errors
leaving it locked in the event mmap failed.
This patch moves the mutex_unlock call to a point in the flow of control
where it is consistent with the lock acquisition.
* console/console.c(netfs_get_dirents): Relocate mutex_unlock call to common
return path.
|
|
|
|
* hurd/console.h (CONS_WCHAR_MASK, CONS_WCHAR_CONTINUED): New macros.
* console/console.c: Include <locale.h>
(main): Call setlocale.
* console/display.c (display_output_one): Call wcwidth() to know the
width of the character to be displayed. Iterate over this with to insert
characters with the additional CONS_WCHAR_CONTINUED flag. Update
screen_shift_right and display_record_filechange calls accordingly.
* console-client/vga-dynafont.c (WCHAR_BOLD, WCHAR_ITALIC, WCHAR_MASK):
Change macro values.
(dynafont_new): Use glyph->bbox.{width,height} instead of
df->font->bbox.{width,height}.
(dynafont_change_font): Likewise.
(dynafont_lookup_internal): Likewise.
Mask out CONS_WCHAR_CONTINUED before calling bdf_find_glyph, but test it
for the second position of a double-width glyph.
(dynafont_activate): Enable 9-bit width only when font width is not
dividable by 8.
|
|
* ChangeLog: Wipe out content, and add instructions about how to get it back.
* auth/ChangeLog: Remove file.
* benchmarks/ChangeLog: Likewise.
* boot/ChangeLog: Likewise.
* bsdfsck/ChangeLog: Likewise.
* config/ChangeLog: Likewise.
* console-client/ChangeLog: Likewise.
* console/ChangeLog: Likewise.
* daemons/ChangeLog: Likewise.
* defpager/ChangeLog: Likewise.
* doc/ChangeLog: Likewise.
* exec/ChangeLog: Likewise.
* ext2fs/ChangeLog: Likewise.
* fatfs/ChangeLog: Likewise.
* fstests/ChangeLog: Likewise.
* ftpfs/ChangeLog: Likewise.
* hostmux/ChangeLog: Likewise.
* hurd/ChangeLog: Likewise.
* include/ChangeLog: Likewise.
* init/ChangeLog: Likewise.
* isofs/ChangeLog: Likewise.
* libcons/ChangeLog: Likewise.
* libdirmgt/ChangeLog: Likewise.
* libdiskfs/ChangeLog: Likewise.
* libfshelp/ChangeLog: Likewise.
* libftpconn/ChangeLog: Likewise.
* libhurdbugaddr/ChangeLog: Likewise.
* libihash/ChangeLog: Likewise.
* libiohelp/ChangeLog: Likewise.
* libnetfs/ChangeLog: Likewise.
* libpager/ChangeLog: Likewise.
* libpipe/ChangeLog: Likewise.
* libports/ChangeLog: Likewise.
* libps/ChangeLog: Likewise.
* libshouldbeinlibc/ChangeLog: Likewise.
* libstore/ChangeLog: Likewise.
* libthreads/ChangeLog: Likewise.
* libtrivfs/ChangeLog: Likewise.
* login/ChangeLog: Likewise.
* mach-defpager/ChangeLog: Likewise.
* nfs/ChangeLog: Likewise.
* nfsd/ChangeLog: Likewise.
* pfinet/ChangeLog: Likewise.
* pflocal/ChangeLog: Likewise.
* proc/ChangeLog: Likewise.
* release/ChangeLog: Likewise.
* serverboot/ChangeLog: Likewise.
* storeio/ChangeLog: Likewise.
* sutils/ChangeLog: Likewise.
* term/ChangeLog: Likewise.
* tmpfs/ChangeLog: Likewise.
* trans/ChangeLog: Likewise.
* ufs-fsck/ChangeLog: Likewise.
* ufs-utils/ChangeLog: Likewise.
* ufs/ChangeLog: Likewise.
* usermux/ChangeLog: Likewise.
* utils/ChangeLog: Likewise.
|
|
|
|
of its address.
|
|
* console.c (netfs_attempt_utimes): Adapt to ``struct stat'' changes.
|
|
* console.c (main): Check CONS instead of MALLOC.
|
|
* input.c (input_create): Fix arguments order of iconv_open()
call.
|
|
* README.UTF8: New file.
* motd.UTF8: Likewise.
|
|
* display.c (display_create): Added arguments width, height and
lines, variables with the same name were removed.
* display.h (display_creat): Add missing arguments to prototype.
* console.c (DEFAULT_WIDTH): New macro.
(DEFAULT_HEIGHT): Likewise.
(DEFAULT_LINES): Likewise.
(STRX): Likewise.
(STR): Likewise.
(struct cons): New members lines, width and height.
(vcons_lookup): Add missing arguments to display_create.
(options): Add options width, height and lines.
(parse_opt): Parse width, height and lines.
(netfs_append_args): Append arguments width, height and lines.
(netfs_append_args): Fix asprintf error checking.
(main): Initialize cons with default width, height and lines.
|
|
* console.c (main): Don't use err without setting it.
|
|
* hurd.ti (cub1): Change from \E[D to ^H.
* display.c (handle_esc_bracket): Revert last change.
|
|
* display.c (handle_esc_bracket): Implement <bw> for <cub1>.
|
|
* pager.c, pager.h: New file.
* Makefile (SRCS): Add pager.c.
(LCLHDRS): Add pager.h.
* display.c: Do not include <hurd/pager.h>, <sys/mman.h>,
<sys/io.h>, <fcntl.h> and <sys/fcntl.h>. Include <hurd/ports.h>
and "pager.h".
(struct display): Replace member PAGER and MEMOBJ with USER_PAGER.
(display_get_filemap): Implement with user_pager_get_filemap.
(user_destroy): Implement with user_pager_destroy.
(user_create): Implement partially with user_create.
(display_init): Call user_pager_init.
(struct user_pager_info, pager_bucket, pager_clear_user_data,
pager_read_page, pager_write_page, pager_unlock_page,
pager_report_extent, pager_dropweak, service_paging_requests):
Move to ...
* pager.c: ... here.
|
|
* console.c: Include <mach.h>.
(netfs_S_dir_notice_changes): New variable PREQ. Clean out the
dead wood, eh, dead name notifications from the CONS->dirmod_req
list.
* display.c (struct user_pager_info): Drop members DISPLAY and P.
(struct display): Remove member UPI and add member PAGER.
(pager_report_extent): Remove local variable DISPLAY, use UPI
directly.
(user_create): New variable UPI to hold the user pager info.
Modify the code to match new struct organization.
(user_destroy): Unmap the user data.
(display_notice_changes): Request dead-name notifications.
(free_modreqs): Cancel dead-name notification request before
deallocation send right.
(display_notice_filechange): Likewise.
(do_mach_notify_msg_accepted): Likewise.
(display_destroy): Take DISPLAY->lock while operating. Reset the
filemod_reqs and filemod_reqs_pending members of DISPLAY to NULL.
(do_mach_notify_port_deleted): Add comment.
(do_mach_notify_dead_name): Implement.
(do_mach_notify_no_senders): Implement by delegating to libports.
(do_mach_notify_send_once): Don't fail.
|
|
2002-09-18 Marcus Brinkmann <marcus@gnu.org>
* console.h (struct cons_display): Add a new flag
CONS_FLAGS_TRACK_MOUSE.
(CONS_MOUSE_BUTTON_MASK, CONS_MOUSE_BUTTON1, CONS_MOUSE_BUTTON2,
CONS_MOUSE_BUTTON3, CONS_MOUSE_RELEASE, CONS_MOUSE_MOD_MASK,
CONS_MOUSE_MOD_SHIFT, CONS_MOUSE_MOD_META, CONS_MOUSE_MOD_CTRL,
CONS_MOUSE_OFFSET_BASE, CONS_MOUSE_EVENT_LENGTH,
CONS_MOUSE_EVENT_PREFIX, CONS, MOUSE_EVENT): New macro.
(CONS_KEY_B2): New macro.
console/
2002-09-18 Marcus Brinkmann <marcus@gnu.org>
* hurd.ti: Enable <kb2> and <kmouse>, fix the comments.
* display.c (handle_esc_bracket_question_hl): Handle escape
bracket 1000 h/l for XTerm-like mouse tracking enable/disable.
|
|
* display.c (handle_esc_bracket): Use scrolling region for <ind>,
<indn>, <ri>, <rin>, <il1>, <il>, <dl1> and <dl>. Also fix
off-by-one error in <ri>, <rin>.
|
|
* hurd.ti: Change <gsbom> and <grbom> to escape bracket
right-angle sequences. Add <csr>, <smir>, <rmir> and <mir>,
disable <ich1>.
* display.c (handle_esc_bracket_m): Map \E[21m to normal intensity
(as a way to switch off bright intensity).
(handle_esc_bracket): Fix calculation of fill area for <ech>.
(struct scrolling_region): New type.
(struct display): New members INSERT_MODE and CSR.
(display_output_one): For <rs2>, also reset DISPLAY->insert_mode
and DISPLAY->csr.
(display_create): Initialize DISPLAY->csr.bottom.
(display_output_one): If in insert mode, shift to the right before
printing the character.
(linefeed): Take scrolling region into account.
(handle_esc_bracket): Switch the meaning of 'h' and 'l'.
(handle_esc_bracket_question): Likewise.
(handle_esc_bracket_question_hl): Switch the interpretation of
FLAG.
(handle_esc_bracket_hl): Likewise. Add support for insert mode
<smir> and <rmir>.
(struct parse): New state STATE_ESC_BRACKET_RIGHT_ANGLE.
(display_output_one): Handle STATE_ESC_BRACKET_RIGHT_ANGLE.
(display_output_one): Move the bold attribute handling from here
(<PU1>, <PU2>) ...
(handle_esc_bracket_right_angle_hl): ... to here. New function
handling <gsbom> and <grbom>.
(handle_esc_bracket_right_angle): New function.
(handle_esc_bracket): Implement <csr>.
|
|
* input.c (input_enqueue): Initialize ERR.
* bdf.c, bdf.h, display-drv.h, dynafont.c, dynafont.h, focus.c,
focus.h, input-drv.h, main.c, ourfs_notify.defs, vcons.c, vcons.h,
vga.c, vga-display.c, vga.h, vga-hw.h: Obsolete files removed.
|
|
* display.c (handle_esc_bracket_m): Really disable italics on
<ritm>.
|
|
* Makefile (prog-subdirs): Add console-client.
sutils/
2002-09-17 Marcus Brinkmann <marcus@gnu.org>
* MAKEDEV.sh (mkdev: vcs): New console device.
(mkdev: tty[0-9a-f]|tty[0-9][0-9a-f]): Replaced with new rules for
tty[1-9][0-9].
utils/
2002-09-17 Marcus Brinkmann <marcus@gnu.org>
* console-ncurses.c: File removed (the ncursesw console client is
now a driver in the console-client).
* Makefile: Revert 2002-08-22 change:
Do not include`../config.make'.
(targets) [LIBNCURSES]: Removed.
(SRCS) [LIBNCURSES]: Likewise.
(HURDLIBS) [LIBNCURSES]: Likewise.
(console-ncurses): Target removed.
(console-ncurses-CPPFLAGS): Removed.
(console-ncurses-LDLIBS): Likewise.
console-client/
2002-09-17 Marcus Brinkmann <marcus@gnu.org>
* Makefile, bdf.c, bdf.h, bell.h, console.c, display.h, driver.c,
driver.h, generic-speaker.c, input.h, pc-kbd.c, timer.c, timer.h,
unicode.h, vga.c, vga-dynacolor.c, vga-dynacolor.h, vga-dynafont.c,
vga-dynafont.h, vga-hw.h, vga-support.c, vga-support.h: New file.
|
|
2002-09-16 Marcus Brinkmann <marcus@gnu.org>
* console.h (conchar_attr_t): Add bits for italic and bold text
attributes.
console/
2002-09-16 Marcus Brinkmann <marcus@gnu.org>
* hurd.ti: Add capabilities <sitm>, <ritm>, <gsbom>, <grbom>.
* display.c (handle_esc_bracket_m): Add support for italic.
(display_output_one): Add new capabilities PU1 and PU2 to toggle
bold mode. Reset PARSE->state on most escape sequences.
* console.c (parse_attributes): Rename old bold attribute to
bright. Add support for italic and bold.
|
|
2002-09-10 Marcus Brinkmann <marcus@gnu.org>
* display.c (DISPLAY_CHANGE_FLAGS): New macro.
(struct changes): New member FLAGS.
(display_flush_filechange): Handle change of flags.
(display_output_some): Initialize DISPLAY->changes.flags.
(display_start_output): Clear CONS_FLAGS_SCROLL_LOCK in DISPLAY.
(display_stop_output): Set CONS_FLAGS_SCROLL_LOCK in DISPLAY.
hurd/
2002-09-10 Marcus Brinkmann <marcus@gnu.org>
* console.h (struct cons_display): New member FLAGS.
(union cons_change_t): Likewise for WHAT->flags.
libcons/
2002-09-10 Marcus Brinkmann <marcus@gnu.org>
* cons.h: New prototype for cons_vcons_set_scroll_lock.
(struct vcons): Add member FLAGS to state.
* file-changed.c (cons_S_file_changed): Handle change of flags.
* vcons-refresh.c (cons_vcons_refresh): Copy FLAGS field.
Call cons_vcons_set_scroll_lock.
* cons-switch.c (cons_switch): Initialize VCONS_ENTRY even if
DELTA is negative.
utils/
2002-09-09 Marcus Brinkmann <marcus@gnu.org>
* console-ncurses.c (cons_vcons_set_scroll_lock): New function.
|
|
* display.c (display_output_some): If iconv fails with EILSEQ,
skip the next byte in the buffer and print a replacement
character.
|
|
* console.c (parse_opt): If STATE->input is zero, use
netfs_root_node's hook to cons.
|
|
* display.c (display_create): Likewise. Set
DISPLAY->attr.attr_def instead the color versions.
(struct attr): Remove fgcol_def, bgcol_def, and add attr_def.
(handle_esc_bracket_m): Set all attributes to their defaults for
case 0. Set default color using default attribute for case 49 and
case 39.
(display_output_one): Likewise.
* console.c (options): Add --attribute option.
(parse_opt): Parse --attribute option. Bail out with argp_error
on error.
(netfs_append_args): ...
(struct cons): Replace foreground and background with new
attribute member.
(vcons_lookup): Pass CONS->attribute to display_create instead
CONS->foreground and CONS->background.
(main): Set default colors and attributes.
(parse_attributes): New function.
|
|
2002-08-28 Marcus Brinkmann <marcus@gnu.org>
* console.h (struct cons_display): Fix comment on CUR_LINE.
console/
2002-08-28 Marcus Brinkmann <marcus@gnu.org>
* display.c (screen_fill): Take CUR_LINES modulo LINES.
(screen_shift_left): Likewise.
(screen_shift_right): Likewise.
(linefeed): Don't take CUR_LINES modulo LINES here.
libcons/
2002-08-28 Marcus Brinkmann <marcus@gnu.org>
* file-changed.c (cons_S_file_changed): Take NEW_CUR_LINE modulo
VCONS->state.screen.lines where appropriate. Adapt calculation of
SCROLLING, and limit it to the screen size.
Only scroll at all if there is something to scroll.
Fix calculation of scrolled-in area.
* vcons-refresh.c (cons_vcons_refresh): Take
VCONS->state.screen.cur_line modulo VCONS->state.screen.lines.
|
|
* display.c (display_output_one): Also set USER->cursor.status to
normal for ECMA-48 <RIS> (hard reset).
|
|
* Makefile (DIST_FILES): New variable.
* hurd.ti: New file describing the terminal capabilities of the
Hurd console server.
|
|
* aclocal.m4 (hurd_LIB_NCURSESW): New test, modified from GNU
inetutils 1.4.0.
* configure.in: Use hurd_LIB_NCURSESW.
* config.make.in (LIBNCURSESW): New variable, substituted by
configure.
(NCURSESW_INCLUDE): Likewise.
* Makefile (lib-subdirs): Add libcons.
(prog-subdirs): Add console.
console/
2002-08-22 Marcus Brinkmann <marcus@gnu.org>
* console.h: Move file to ../hurd/.
* Makefile (LCLHDRS): Remove console.h.
* display.c: Include <hurd/console.h> instead "console.h".
* console.c: Likewise.
hurd/
2002-08-22 Marcus Brinkmann <marcus@gnu.org>
* console.h: Move here from ../console/.
* Makefile (INSTHDRS): Add console.h.
utils/
2002-08-22 Marcus Brinkmann <marcus@gnu.org>
* Makefile: Include `../config.make' early on to get LIBNCURSESW
variable from configure before including Makeconf.
(targets) [LIBNCURSES]: Add console-ncurses.
(SRCS) [LIBNCURSES]: Add console-ncurses.c.
(HURDLIBS) [LIBNCURSES]: Add cons.
(console-ncurses): New target.
(console-ncurses-CPPFLAGS): New variable.
(console-ncurses-LDLIBS): Likewise.
|
|
* aclocal.m4 (hurd_LIB_NCURSESW): New test, modified from GNU
inetutils 1.4.0.
* configure.in: Use hurd_LIB_NCURSESW.
* config.make.in (LIBNCURSESW): New variable, substituted by
configure.
(NCURSESW_INCLUDE): Likewise.
* Makefile (lib-subdirs): Add libcons.
(prog-subdirs): Add console.
console/
2002-08-22 Marcus Brinkmann <marcus@gnu.org>
* console.h: Move file to ../hurd/.
* Makefile (LCLHDRS): Remove console.h.
* display.c: Include <hurd/console.h> instead "console.h".
* console.c: Likewise.
hurd/
2002-08-22 Marcus Brinkmann <marcus@gnu.org>
* console.h: Move here from ../console/.
* Makefile (INSTHDRS): Add console.h.
utils/
2002-08-22 Marcus Brinkmann <marcus@gnu.org>
* Makefile: Include `../config.make' early on to get LIBNCURSESW
variable from configure before including Makeconf.
(targets) [LIBNCURSES]: Add console-ncurses.
(SRCS) [LIBNCURSES]: Add console-ncurses.c.
(HURDLIBS) [LIBNCURSES]: Add cons.
(console-ncurses): New target.
(console-ncurses-CPPFLAGS): New variable.
(console-ncurses-LDLIBS): Likewise.
|
|
* display.h: Add prototype for display_get_size.
* display.c (display_get_size): New function.
(nowait_file_changed): Update for new interfaces.
* console.c (new_node): Use display_get_size to retrieve size of
display node.
(netfs_get_dirents): Initialize FIRST_VCONS to silence gcc warning.
|
|
* display.c: Restore copyright notice until the papers by Kalle
are actually received.
|
|
2002-06-26 Marcus Brinkmann <marcus@gnu.org>
* fs_notify.defs: Add MsgOption for send timeout.
(dir_changed): Changed to simpleroutine. Change type of first
argument to fs_notify_t. Add TICKNO argument.
(file_changed): Likewise.
* hurd_types.defs (fs_notify_t): New type.
* hurd_types.h (fs_notify_t): Likewise.
libdiskfs/
2002-06-26 Marcus Brinkmann <marcus@gnu.org>
* Makefile (DIST_FILES): Variable removed.
(MIGSTUBS): Use fs_notifyUser.o, not ourfs_notifyUser.o.
* ourfs_notify.defs: File removed.
* diskfs.h (struct node): New members DIRMOD_TICK and
FILEMOD_TICK.
* node-make.c (diskfs_make_node): Initialize DIRMOD_TICK and
FILEMOD_TICK.
* dir-chg.c: Include "fs_notify_U.h" instead "ourfs_notify_U.h".
(diskfs_S_dir_notice_changes): Use new dir_changed invocation
instead nowait_dir_changed.
(diskfs_notice_dirchange): Likewise. Increase tick number.
Ignore send timeout error.
* file-chg.c: Include "fs_notify_U.h" instead "ourfs_notify_U.h".
(diskfs_S_file_notice_changes): Use new file_changed invocation
instead nowait_file_changed.
(diskfs_notice_filechange): Likewise. Increase tick number.
Ignore send timeout error.
console/
2002-06-27 Marcus Brinkmann <marcus@gnu.org>
* Makefile (MIGSTUBS): Add fs_notifyUser.o.
(MIGSFLAGS): New variable.
* console.c: Include "fs_notify_U.h".
(struct modreq): New structure.
(struct cons): New members DIRMOD_REQS and DIRMOD_TICK.
(cons_notice_dirchange): New function.
(vcons_lookup): Call cons_notice_dirchange.
(netfs_S_dir_notice_changes): New function.
(main): Initialize new members in CONS.
* display.c (nowait_file_changed): Update to new interface (new
argument TICKNO).
(do_mach_notify_msg_accepted): Call nowait_file_changed with new argument.
(display_notice_changes): Likewise.
(display_notice_filechange): Likewise.
|
|
* display.c (screen_shift_left): Don't increase DST twice in one
iteration.
* display.c (screen_shift_right): Likewise.
|
|
* Makefile (HURDLIBS): Add pager, reported by Alfred M. Szmidt.
|
|
* Makefile (LCLHDRS): Add priv.h and mutations.h.
(MIGSTUBS): Add tioctlServer.o
* console.c: Include <hurd/ioctl-types.h>.
(new_node): Bump up st_size for display node.
(S_tioctl_tiocflush, S_tioctl_tiocgwinsz, S_tioctl_tiocstart,
S_tioctl_tiocstop, S_tioctl_tiocoutq, S_tioctl_tiocspgrp,
S_tioctl_tiocgpgrp): New functions.
(S_tioctl_tiocmodg, S_tioctl_tiocmods, S_tioctl_tiocexcl,
S_tioctl_tiocnxcl, S_tioctl_tiocgeta, S_tioctl_tiocseta,
S_tioctl_tiocsetaw, S_tioctl_tiocsetaf, S_tioctl_tiocgetd,
S_tioctl_tiocsetd, S_tioctl_tiocdrain, S_tioctl_tiocmget,
S_tioctl_tiocmset, S_tioctl_tiocsig, S_tioctl_tiocext,
S_tioctl_tiocswinsz, S_tioctl_tiocremote, S_tioctl_tiocmbic,
S_tioctl_tiocmbis, S_tioctl_tiocpkt, S_tioctl_tiocsti,
S_tioctl_tioccdtr, S_tioctl_tiocsdtr, S_tioctl_tioccbrk,
S_tioctl_tiocsbrk): New stubs.
(console_demuxer): New function.
(main): Don't call netfs_server_loop, but call
ports_manage_port_operations_multithread, so we can use our own
demuxer.
* mutations.h: Use intran and outtran for netfs.
* priv.h: Likewise.
* console.h (cons_change_t): Add bits for bell_audible and
bell_visible.
(struct cons_display): Add member BELL.
* display.c (struct changes): Add new members bell_audible and
bell_visible. Add bit flag macro names for those.
(display_flush_filechange): Start with first index in buffer.
Signal bell events.
(display_record_filechange): Set DISPLAY_CHANGE_MATRIX bit in the
disjoint case after flushing the update.
(display_output_one): Recognize '\a' as audible bell and '\Eg' as
visible bell.
(display_output_some): Handle bell updates.
|
|
* console.h (cons_color_t): New enum type replacing color macros.
(CONS_COLOR_MAX): New macro.
(cons_change_t): New type.
(struct cons_display): New member CHANGES.
* console.c: Include "console.h".
(DEFAULT_FOREGROUND, DEFAULT_FOREGROUND_NAME, DEFAULT_BACKGROUND,
DEFAULT_BACKGROUND_NAME): New macros.
(struct cons): New members foreground and background.
(vcons_lookup): Pass colors to display_create invocation.
(new_node): Fix st_size for display node.
(color_names): New array.
(options): Add options to set default foreground and background
color.
(parse_color): New function.
(parse_opt): Implement new options.
(netfs_append_args): Add new options to output.
(main): Set default colors.
* Makefile (DIST_FILES): Remove target.
(MIGSTUBS): Remove ourfs_notifyUser.o and add notifyServer.o.
* display.c: Do not include "ourfs_notify_U.h".
(struct modreq): New member PENDING.
(struct notify): New structure.
(struct display): New members FILEMOD_REQS_PENDING and
NOTIFY_PORT.
(pager_read_page): Hand out previously returned pages.
(pager_unlock_page): Assert that this is not called.
(notify_class, notify_bucket): New port class and bucket global
variables.
(nowait_file_changed): New function, modified from mig output.
(do_mach_notify_port_deleted): New stub function.
(do_mach_notify_port_destroyed): New stub function.
(do_mach_notify_no_senders): New stub function.
(do_mach_notify_dead_name): New stub function.
(do_mach_notify_send_once): New stub function.
(do_mach_notify_msg_accepted): New function.
(service_notifications): New function.
(display_notice_changes): Call nowait_file_changed with new
argument. Initialize REQ->pending.
(display_notice_filechange): Remove arguments except DISPLAY. Set
PENDING flags in pending filemod requests. Call
nowait_file_changed with new notify argument. If notification
will be sent, move modreq structure to pending list.
(display_flush_filechange): Rewritten to use ring buffer to store
changes.
(user_create): Initialize new members of struct cons_display.
(display_init): Initialize notify_class and notify_bucket.
(display_create): Accept new arguments for default colors.
Initialize new members of struct display.
(display_destroy): Remove pending filemod requests and destroy the
notification port. Do not free the display structure memory.
(display_destroy_complete): New function.
* display.h: Add new arguments to prototype of display_create.
|
|
|
|
* console.h: Update all CONS_KEY_* macros to match other terminfo
definitions (like "linux", "screen", "gnome"). Add CONS_CHAR_*
macros for terminal graphic characters.
* display.c (struct attr): New member ALTCHAR to flag usage of
alternate character set.
(display_notice_filechange): Make static.
(handle_escape_bracket_m): Set ALTCHAR to 0 when resetting.
Support new modes 10 and 11 to disable and enable ALTCHAR.
(limit_cursor): New function, moved to global scope from ...
(handle_escape_bracket): ... here.
(linefeed): New function, moved to global scope from ...
(display_output_one): ... here.
(horizontal_tab): New function.
(handle_escape_bracket): Add alias \E[' to \E[G for VT100
compatibility. Add capability \E[a (horizontal cursor position
relative) for ECMA-48 compatibility. Add capabilities \E[I
(horizontal tab) and \E[Z (backward tabulation) for ECMA-48
compatibility. Move capabilities \E[s and \E[u to ...
(display_output_one): ... here as \E7 and \E8 for VT100
compatibility.
(altchar_to_ucs4): New function.
(display_output_one): Use altchar_to_ucs4 when in altchar mode.
Add \EM (reset) capability.
|
|
|
|
* console.c (new_node): Adjust size of display node.
* console.h: Add macros for color names. Add macros for intensity
names. Add new types conchar_t and conchar_attr_t, which
represent a console matrix cell and the attribute of one such
cell, resp. Add macros for keycodes.
(struct cons_display): Change type of _matrix member to conchar_t.
* display.c (struct attr): Rewrite, usiong cons_attr_t to hold the
attributes.
(handle_escape_bracket_m): Use new members of ATTR.
(display_flush_filechange): Send notification for changed matrix
before the notification for new cur_line. Fix types in length
calculation.
(conchar_memset): New function.
(user_create): Accept CHR and ATTR arguments. Fix calculation of
NPAGES. Use conchar_memset instead of wmemset.
(screen_fill): Fix type of ATTR argument. Use conchar_memset
instead of wmemset.
(screen_shift_left): Fix type of ATTR argument. Set attribute of
empty cells. Fix length calculation.
(screen_shift_right): Likewise.
(handle_escape_bracket): Set default parameter for HUP. Be more
ECMA-48 conform.
(display_output_one): Fix arguments in screen_fill invocation.
Set attribute for character output. Add <NEL> from ECMA-48.
(display_create): Use 50 lines for now. Set default colors, and
add new arguments to user_create invocation.
CVSi: ----------------------------------------------------------------------
|
|
* display.c (struct changes): Change type of WHICH from int to
unsigned int.
(display_flush_filechanges): Likewise for argument TYPE. Fix a
zillion bugs.
(display_record_filechange): Fix half a zillion bugs.
(screen_shift_left): Fix order of arguments. Just flag a normal
write change for the whole region, instead trying to be clever.
(screen_shift_right): Likewise.
|
|
* display.c (struct changes): New structure to temporarily hold
changes to the display.
(struct display): New member CHANGES.
(display_flush_filechange): New function.
(display_record_filechange): Likewise.
(screen_fill): Use display_record_filechange instead
display_notice_filechange.
(display_output_one): Likewise.
(screen_shift_left): Flush pending filechanges before scrolling.
(screen_shift_right): Likewise.
(display_output_one): Don't notice changes here ...
(display_output_some): ... but here.
* display.c (struct user_pager_info): Add members MEMOBJ_NPAGES
and MEMOBJ_PAGES to hold the allocated and returned pages.
(struct display): Remove member MEMOBJ_SIZE.
(pager_clear_user_data): Deallocate returned pages for this pager
object.
(pager_read_page): Add an assertion to check that we don't create
new pages for already allocated and returned pages.
(pager_write_page): Implement by just holding to the page and
storing its address in the pager object for later deallocation.
(pager_report_extent): Implement using new member MEMOBJ_NPAGES
rather than MEMOBJ_SIZE.
(user_create): Allocate extra storage for the returned pages in
UPI.
|
|
* Makefile (DIST_FILES): New target.
(MIGSTUBS): Likewise.
(OBJS): Add $(MIGSTUBS).
* ourfs_notify.defs: New file.
* console.c: Diddle order of typedefs.
(netfs_attempt_read): Clip AMT to bytes left to read before
calling display_read.
(netfs_S_file_notice_changes): New function.
* console.h: Include <stdint.h>, not <sys/types.h>.
Change all types from u_int32_t to uint32_t.
* display.c: Include <stddef.h> and "outfs_notify_U.h". Change
all u_int_32 types to uint32_t.
(struct modreq): New structure.
(struct display): New member filemod_reqs.
(free_modreqs): New function.
(display_notice_changes): Likewise.
(display_notice_filechange): Likewise.
(display_destroy): Free filemod_reqs member of DISPLAY.
(MATRIX_POS): Macro removed.
(screen_fill): Rewritten.
(screen_shift_left): New function.
(screen_shift_right): Likewise.
(screen_scroll_up): Function removed.
(screen_scroll_down): Likewise.
(screen_scroll_left): Likewise.
(screen_scroll_right): Likewise.
(handle_esc_bracket): Use new screen_* functions.
(display_output_one): Store old cursor and screen attributes, and
if they have been changed, send file change notifications.
* display.h: New prototype for display_notice_changes.
|
|
* console.c: Include <argz.h>. Do not include "console.h", but
inline it. New macro DEFAULT_ENCODING.
(struct cons): De-const-ify member ENCODING.
(mycons, cons): Remove global variables.
(vcons_lookup): Use default encoding if CONS->encoding is not set.
(new_node): Access CONS through VCONS. Adjust size of display
node.
(netfs_attempt_read): Truncate length to read before reading.
(netfs_S_io_map): New function.
(options): New global variable.
(parse_opt): New function.
(netfs_append_args): New function.
(main): New variable CONS to hold console structure. Rediddle
initialization to allocate memory for it, parse arguments, and
create the root node in correct order. Also call display_init.
* console.h: Rewritten with new meaning. It now describes the
public interface of the console.
* display.c: Include <assert.h>, <error.h>, <hurd.h>,
<hurd/pager.h> and "console.h".
(struct screen): Removed.
(struct cursor): Remove members X, Y and status.
(struct user_pager_info): New struct.
(struct display): Remove member SCREEN, add new members USER, UPI,
MEMOBJ and MEMOBJ_SIZE.
(pager_bucket): New global variable.
(display_get_filemap): New function.
(pager_clear_user_data): Likewise.
(pager_read_page): Likewise.
(pager_write_page): Likewise.
(pager_unlock_page): Likewise.
(pager_report_extent): Likewise.
(pager_dropweak): Likewise.
(service_paging_requests): Likewise.
(screen_init): Renamed to ...
(user_create): ... this new function and changed to allocate
memory object and map it for USER data in display structure.
(screen_deinit): Renamed to ...
(user_destroy): ... this new function and rewrote it.
(MATRIX_POS): New macro.
(screen_fill): Take DISPLAY argument instead SCREEN. Use
MATRIX_POS.
(screen_scroll_up): Likewise.
(screen_scroll_down): Likewise.
(screen_scroll_left): Likewise.
(screen_scroll_right): Likewise.
(handle_esc_bracket_hl): Take DISPLAY argument instead CURSOR.
(handle_esc_bracket): Access screen and cursor fields correctly.
(display_output_one): Likewise.
(display_getsize): Likewise.
(display_init): New function.
(display_create): New variables width, height, lines. Call
user_create, not screen_init. Call user_destroy, not
screen_deinit.
(display_destroy): Call user_destroy, not
screen_deinit.
(display_read): Reimplement using memory mapping.
* display.h: New prototypes for display_init and display_get_filemap.
|
|
* display.c (struct cursor): Change type of all members from int
to u_int32_t.
(screen_init): Initialize SCREEN->lines with 25 instead 200 for
now.
(screen_fill): Bring SCREEN->current_line into the calculation of
MATRIXP.
(screen_scroll_up): Likewise.
(screen_scroll_down): Likewise.
(screen_scroll_left): Likewise.
(screen_scroll_right): Likewise.
(display_output_one): Beautify code a bit.
(display_read): Add metadata to beginning of file.
* console.c (new_node): Increase size of display node to include
metadata.
|
|
* input.h: New file.
* input.c: Likewise.
* console.h: Likewise.
* console.c: Likewise.
* display.h: New development version.
* display.c: Likewise.
* Makefile (SRCS): Replace with files for new console server.
(LCLHDRS): Likewise.
(HURDLIBS): Likewise.
(OBJS): Likewise.
|