2007-10-12 Matthew Allum * layouts/keyboard.xml: Add UTF8 arrow keys (thanks to pippin) * src/matchbox-keyboard-ui.c: (mb_kbd_ui_event_loop): Disable gestures at least fo now. 2007-10-09 Ross Burton * src/matchbox-keyboard.h: * src/matchbox-keyboard-remote.c: * src/matchbox-keyboard-remote.h: * src/Makefile.am: Move the remote operations into a separate header. * gtk-im/im-protocol.c: * gtk-im/im-context.c: * gtk-im/Makefile.am: * gtk-im/im-protocol.h: * applet/applet.c: * applet/Makefile.am: Use src/matchbox-keyboard-remote.h instead of a copy of the enum, to avoid stupid bugs. Thanks to Daniel Willmann for noticing. 2007-10-08 Ross Burton * src/matchbox-keyboard.h: * src/matchbox-keyboard-ui.c: * src/matchbox-keyboard-remote.c: * gtk-im/im-protocol.h: Add a TOGGLE action to the RPC. * applet/applet.c: Instead of using a toggle button use an event box, and sent the toggle event. Based on patches by Stefan Schmidt and Daniel Willmann. 2007-09-20 Ross Burton * src/matchbox-keyboard.h: * src/matchbox-keyboard-remote.c: Change mb_kbd_remote_process_xevents to return MBKeyboardRemoteOperation instead of performing the operation. Also Declare mb_kbd_ui_limit_orientation. * src/matchbox-keyboard-ui.c: Action the operation reutrned returned by process_xevents, and if we receive a Hide command wait for 100ms before hiding the keyboard, so that if we immediately receive a Show the keyboard doesn't flicker. Based on a patch by Daniel Willmann . 2007-09-17 Matthew Allum * src/matchbox-keyboard-key.c: Dont set uneeded shift flag in libfakekey (Daniel Willmann) 2007-07-04 Matthew Allum * src/matchbox-keyboard-ui.c: (mb_kbd_ui_resources_create): Hack to avoid starting before EWMH window manager is started (only in daemon mode) 2007-06-10 Matthew Allum * README: Update syncing TODO and adding info about GTK IM method. 2007-06-02 Ross Burton * Makefile.am: * layouts/Makefile.am: Make distcheck build the examples, GTK+ IM, and panel applet. Also clean up dist rules. 2007-06-02 Ross Burton * configure.ac: * Makefile.am: * applet/Makefile.am: * applet/applet.c: Add matchbox-panel-2 applet to show and hide the keyboard. 2007-06-02 Ross Burton * gtk-im/Makefile.am: Fix distcheck. 2007-05-17 Matthew Allum * src/matchbox-keyboard-ui.c: Actually select for structure notify events on root to know when a resize has happened. 2007-05-15 Matthew Allum * src/matchbox-keyboard-ui.c: * src/matchbox-keyboard.c: * src/matchbox-keyboard.h: show/hide only when needed. Add an 'orientaion' switch to limit when keyboard is displayed. (Needs likely be done in a better way but enough for Z's) 2007-05-15 Ross Burton * src/matchbox-keyboard-ui.c: When showing, redraw the UI too. 2007-05-15 Matthew Allum * src/matchbox-keyboard-remote.c: * src/matchbox-keyboard-ui.c: Dont intercept and handle *ALL* configure events. Add some more debug info. 2007-05-15 Ross Burton * gtk-im/im-protocol.c: Send the event with a mask specified. I'm not entirely sure why, but everyone else does it. * src/matchbox-keyboard-ui.c: Listen for events with the same mask. Also redraw the keyboard when it is shown. 2007-05-14 Matthew Allum * gtk-im/im-protocol.c: (protocol_send_event): * src/matchbox-keyboard-ui.c: (mb_kbd_ui_resources_create): Hopefully fix XEvent IPC between remote and gtk-im. 2007-05-14 Ross Burton * gtk-im/im-context.[ch]: Derive from GtkIMContextSimple so that editing actually works, and chain up the focus in/out methods. 2007-05-14 Matthew Allum * src/Makefile.am: * src/matchbox-keyboard-remote.c: * src/matchbox-keyboard-ui.c: * src/matchbox-keyboard.c: * src/matchbox-keyboard.h: Add a mechansim for remotely enabling/disabling the keyboard (as used by gtk-im). '-d' option enables. 2007-05-14 Ross Burton * configure.ac: Use AC_HELP_STRING to make --help look pretty. 2007-05-14 Ross Burton * configure.ac: * Makefile.am: Add --enable-gtk-im, and use libtool. * gtk-im/: Add *very* simple GTK+ Input Method that sends an X client message to the root window when the keyboard should be displayed. 2007-05-14 Ross Burton * configure.ac: Remove AM_MAINTAINER_MODE. 2006-07-20 Matthew Allum * layouts/keyboard-ru.xml: * src/config-parser.c: (config_handle_key_subtag), (config_handle_layout_tag), (config_xml_start_cb), (mb_kbd_config_load): Apply patches from Paul Sokolovsky for Russian layout improvements and more error messages from config parser. 2006-05-22 Matthew Allum * src/matchbox-keyboard-ui.c: (mb_kdb_ui_unit_key_size): Dont include keys with set width in min key size calc. 2006-05-16 Matthew Allum * README: Add some notes on setting images on key faces. 2006-05-16 Matthew Allum * src/config-parser.c: (config_handle_key_subtag): Try and load relative image filenaes * src/matchbox-keyboard-image.c: (png_file_load), (mb_kbd_image_new): Force an alpha channel into PNG images without one. * src/matchbox-keyboard-ui.c: (mb_kbd_ui_min_key_size), (mb_kbd_ui_allocate_ui_layout): Fix a layout issue in mb_kbd_ui_min_key_size() lieing. 2006-05-15 Matthew Allum * configure.ac: * layouts/keyboard.xml: * src/Makefile.am: * src/config-parser.c: (config_handle_key_subtag): * src/matchbox-keyboard-image.c: * src/matchbox-keyboard-key.c: (mb_kbd_key_set_image_face): * src/matchbox-keyboard-ui-xft-backend.c: (mb_kbd_ui_xft_redraw_key): * src/matchbox-keyboard-ui.c: (mb_kdb_ui_unit_key_size), (mb_kbd_ui_min_key_size): * src/matchbox-keyboard.h: Add initial support for defineable PNG images on keys. Keys with images sizing a little borked atm. 2006-03-31 Matthew Allum * src/matchbox-keyboard-ui.c: (mb_kbd_ui_event_loop): Add some basic gesture support. 2006-03-15 Matthew Allum * layouts/keyboard-ru.xml: Fix broken XML 2006-03-02 Matthew Allum * layouts/Makefile.am: * layouts/keyboard-us.xml: Add US layout from Matt Reimer 2006-02-28 Matthew Allum * src/config-parser.c: (config_load_file): Use ~/.matchbox not ~/matchbox 2006-02-28 Matthew Allum * configure.ac: Make version 0.1. Make cairo usage explicit. * layouts/Makefile.am: * layouts/keyboard-numpad.xml: New Layout. * src/matchbox-keyboard-ui-xft-backend.c: (mb_kbd_ui_xft_redraw_key): * src/matchbox-keyboard-ui.c: (mb_kdb_ui_unit_key_size), (mb_kbd_ui_allocate_ui_layout), (mb_kbd_ui_handle_configure), (mb_kbd_ui_event_loop): * src/matchbox-keyboard.c: (mb_kbd_new): Fixups for layout on small screens and improvements for high DPI layouts. 2005-10-27 Matthew Allum * README: Update with current info * src/config-parser.c: (mb_kbd_config_load): * src/matchbox-keyboard-ui.c: (mb_kdb_ui_unit_key_size), (mb_kbd_ui_min_key_size), (mb_kbd_ui_allocate_ui_layout), (mb_kbd_ui_resize), (mb_kbd_ui_realize): * src/matchbox-keyboard.c: (mb_kbd_new): Minor cleanups. Improve cmd line option parsing and add a usage() func. 2005-10-26 Matthew Allum * examples/Makefile.am: * examples/matchbox-keyboard-embbed.c: Rename matchbox-keyboard-embbed.c 2005-10-26 Matthew Allum * AUTHORS: Populate. * Makefile.am: * configure.ac: * src/Makefile.am: Fix cairo build issues, * src/matchbox-keyboard-xembed.c: Add XEMBED support for embedding keyboard in other apps. * examples/Makefile.am: * examples/matchbox-keyboard-embbed.c: Add example embedding app * src/config-parser.c: (config_str_to_keysym), (config_str_to_modtype), (config_xml_start_cb): * src/matchbox-keyboard-key.c: (mb_kbd_key_get_extended), (mb_kbd_key_set_row), (mb_kdb_key_has_state), (mb_kbd_key_set_glyph_face), (mb_kbd_key_get_glyph_face), (mb_kbd_key_set_image_face), (mb_kbd_key_set_char_action), (mb_kbd_key_press): * src/matchbox-keyboard-layout.c: * src/matchbox-keyboard-row.c: * src/matchbox-keyboard-ui-cairo-backend.c: (mb_kbd_ui_cairo_text_extents), (mb_kbd_ui_cairo_load_font), (mb_kbd_ui_cairo_redraw_key), (mb_kbd_ui_cairo_pre_redraw), (mb_kbd_ui_cairo_resources_create), (mb_kbd_ui_cairo_resize), (mb_kbd_ui_cairo_init): * src/matchbox-keyboard-ui-cairo-backend.h: * src/matchbox-keyboard-ui-xft-backend.c: (mb_kbd_ui_xft_text_extents), (mb_kbd_ui_xft_redraw_key), (mb_kbd_ui_xft_resources_create), (mb_kbd_ui_xft_resize), (mb_kbd_ui_xft_init): * src/matchbox-keyboard-ui-xft-backend.h: * src/matchbox-keyboard-ui.c: (get_current_window_manager_name), (get_desktop_area), (get_xevent_timed), (mb_kbd_ui_send_keysym_press), (mb_kbd_ui_send_release), (mb_kdb_ui_unit_key_size), (mb_kbd_ui_min_key_size), (mb_kbd_ui_redraw_row), (mb_kbd_ui_swap_buffers), (mb_kbd_ui_redraw), (mb_kbd_ui_resources_create), (mb_kbd_ui_resize), (mb_kbd_ui_event_loop), (mb_kbd_ui_realize), (mb_kbd_ui_init): * src/matchbox-keyboard.c: (mb_kbd_new): * src/matchbox-keyboard.h: * src/util.c: (util_utf8_char_cnt), (util_file_readable): Fix GCC 4 Warnings. Add License to all files. Improve buggy cairo backend and add gradient keys 2005-10-21 Matthew Allum * configure.ac: * src/Makefile.am: * src/matchbox-keyboard-ui-cairo-backend.c: * src/matchbox-keyboard-ui-cairo-backend.h: * src/matchbox-keyboard-ui-xft-backend.c: * src/matchbox-keyboard-ui-xft-backend.h: * src/matchbox-keyboard-ui.c: (mb_kbd_ui_resources_create): * src/matchbox-keyboard.h: Break out rendering backend and add optional initial cairo based rendering backend ( based on patch from Tuukka Pasanen ) * layouts/Makefile.am: * layouts/keyboard-fi.xml: Add finish layout via Tuukka Pasanen 2005-10-10 Matthew Allum * src/matchbox-keyboard-ui.c: (mb_kbd_ui_event_loop): Handle 'stuck' key case ( hopefully ) when release X event is missed. * src/matchbox-keyboard.c: (mb_kbd_new): Qucik hacks to look better on small displays. 2005-10-10 mallum,,, reviewed by: * src/matchbox-keyboard-ui.c: (mb_kbd_ui_event_loop): * src/matchbox-keyboard.c: (mb_kbd_new): 2005-10-04 mallum * src/matchbox-keyboard.c: (mb_kbd_new): Make initial point size smaller to kbd fitting on large DPI's. 2005-09-15 mallum,,, * layouts/keyboard.xml: Minor fixes via Michal Ludvig 2005-09-15 mallum,,, reviewed by: * layouts/keyboard.xml: 2005-09-15 mallum,,, reviewed by: * layouts/keyboard.xml: 2005-09-01 mallum,,, * layouts/Makefile.am: * layouts/keyboard-ru.xml: Add Russian layout from Stanislav Bogatyrev 2005-06-20 mallum,,, * layouts/Makefile.am: * layouts/keyboard-dvorak.xml: Add dvorak from Leon Matthews. 2005-05-17 mallum,,, * src/matchbox-keyboard-ui.c: (mb_kbd_ui_resources_create): Add SKIP_PAGER hint. 2005-05-10 mallum,,, * src/matchbox-keyboard-ui.c: (mb_kbd_ui_resources_create): Attempt to better support metacity. 2005-05-02 mallum,,, * src/matchbox-keyboard-ui.c: (want_extended), (mb_kbd_ui_resources_create), (mb_kbd_ui_resize), (mb_kbd_ui_handle_configure), (mb_kbd_ui_event_loop), (mb_kbd_ui_load_font), (mb_kbd_ui_init), (mb_kbd_ui_display_width), (mb_kbd_ui_display_height), (mb_kbd_ui_realize): * src/matchbox-keyboard.c: * src/matchbox-keyboard.h: Clean up warnings Implement key repeat 2005-04-27 mallum,,, * src/matchbox-keyboard-ui.c: (mb_kbd_ui_resize), (mb_kbd_ui_events_iteration): Handle MappingNotify events * src/matchbox-keyboard.c: (mb_kbd_new): Make keys slightly bigger for small ( 240x320 ) displays. 2005-04-27 mallum,,, * layouts/keyboard.xml: Swicth shift state for ; key 2005-04-27 mallum,,, * layouts/keyboard.xml: New layout with extended keys. * src/config-parser.c: (config_handle_key_tag): * src/matchbox-keyboard-key.c: (mb_kbd_key_get_extra_width_pad): * src/matchbox-keyboard-row.c: (mb_kbd_row_height), (mb_kbd_row_width), (mb_kbd_row_base_width): * src/matchbox-keyboard-ui.c: (get_desktop_area), (mb_kbd_ui_send_keysym_press), (mb_kbd_ui_send_release), (mb_kdb_ui_unit_key_size), (mb_kbd_ui_min_key_size), (mb_kbd_ui_allocate_ui_layout), (mb_kbd_ui_redraw_key), (mb_kbd_ui_redraw_row), (mb_kbd_ui_resources_create), (mb_kbd_ui_resize), (mb_kbd_ui_handle_configure), (mb_kbd_ui_events_iteration), (mb_kbd_ui_load_font), (mb_kbd_ui_init), (mb_kbd_ui_display_width), (mb_kbd_ui_display_height), (mb_kbd_ui_realize): * src/matchbox-keyboard.c: (mb_kbd_locate_key), (mb_kbd_get_held_key): * src/matchbox-keyboard.h: Make keyboard 'adapt' with extended keys to screen rotation and screen orientation. 2005-04-26 mallum,,, * configure.ac: * data/Makefile.am: * data/keyboard-extended.xml: * data/keyboard.xml: Rename data -> layouts * Makefile.am: * matchbox-keyboard.desktop: * matchbox-keyboard.png Add a icon and .desktop file 2005-04-26 mallum,,, * src/matchbox-keyboard-ui.c: (mb_kbd_ui_resources_create): Fix taskbar skip hint 2005-04-26 mallum,,, * src/matchbox-keyboard-ui.c: (get_current_window_manager_name), (mb_kbd_ui_redraw), (mb_kbd_ui_show), (mb_kbd_ui_resources_create), (mb_kbd_ui_resize): Try to avoid ugly flash ( caused by repaint/resize ) on startup. Also probably speeds up startup a little. 2005-04-26 mallum,,, * src/matchbox-keyboard-ui.c: * src/matchbox-keyboard.h: * src/util-list.c: (util_list_append): * src/util.c: Clean up some compiler warnings. 2005-04-26 mallum,,, * README: Small update on Todo. * configure.ac: Fix a minor snafu 2005-04-26 mallum,,, * src/matchbox-keyboard-ui.c: (mb_kbd_ui_resources_create): Make key faces darker to increase visibility on Ipaq. * src/matchbox-keyboard.c: (mb_kbd_new): Make small font smaller to fit Ipaq display 2005-04-24 mallum,,, * README: Write one. * configure.ac: * data/keyboard.xml: * src/config-parser.c: (config_load_file): * src/matchbox-keyboard-ui.c: (mb_kbd_ui_redraw), (mb_kbd_ui_resources_create), (mb_kbd_ui_resize): * src/matchbox-keyboard.h: Various minor tweaks. 2005-04-21 mallum,,, * configure.ac: Remove unneeded libmb dep check 2005-04-21 mallum,,, * Makefile.am: * configure.ac: * data/Makefile.am: * data/keyboard-extended.xml: * data/keyboard.xml: * src/Makefile.am: * src/config.xml: Sort out keyboard configs so they actually get installed. * src/config-parser.c: (config_handle_key_tag), (config_xml_start_cb), (mb_kbd_config_load): and then loaded * src/matchbox-keyboard-row.c: (mb_kbd_row_base_width): * src/matchbox-keyboard-ui.c: (mb_kbd_ui_allocate_ui_layout), (mb_kbd_ui_resources_create), (mb_kbd_ui_resize), (mb_kbd_ui_events_iteration), (mb_kbd_ui_load_font), (mb_kbd_ui_init): * src/matchbox-keyboard.c: (mb_kbd_new): * src/matchbox-keyboard.h: Fix layout resizing code. Make defaults dependant on display size. * src/util.c: (util_utf8_char_cnt): remove random printf 2005-04-20 mallum,,, * src/config.xml: Improve layout some more with experimentation * src/matchbox-keyboard-key.c: * src/matchbox-keyboard-ui.c: (mb_kbd_ui_allocate_ui_layout): Fix some layout bugs - making 'fill' work. 2005-04-19 mallum,,, * src/matchbox-keyboard-key.c: (mb_kbd_key_press), (mb_kbd_key_release): * src/matchbox-keyboard-ui.c: (alloc_color), (mb_kbd_ui_redraw_key), (mb_kbd_ui_redraw_row), (mb_kbd_ui_swap_buffers), (mb_kbd_ui_redraw), (mb_kbd_ui_show), (mb_kbd_ui_resources_create): * src/matchbox-keyboard.c: (mb_kbd_add_state): * src/matchbox-keyboard.h: Fix caps handling and modifier toggling. Add a chunk of WM handling and 'co-operation'. 2005-04-18 mallum,,, * src/config-parser.c: (config_str_to_modtype), (config_handle_key_subtag): * src/config.xml: * src/matchbox-keyboard-key.c: (mb_kbd_key_is_blank), (mb_kbd_key_height), (mb_kbd_key_get_modifer_action), (mb_kbd_key_get_face_type), (mb_kbd_key_get_action_type), (mb_kbd_key_press): * src/matchbox-keyboard-row.c: (mb_kbd_row_width): * src/matchbox-keyboard-ui.c: (alloc_color), (mb_kbd_ui_send_press), (mb_kbd_ui_send_keysym_press), (mb_kbd_ui_redraw_key), (mb_kbd_ui_redraw_row), (mb_kbd_ui_redraw), (mb_kbd_ui_show), (mb_kbd_ui_resources_create), (mb_kbd_ui_resize), (mb_kbd_ui_events_iteration), (mb_kbd_ui_load_font), (mb_kbd_ui_init): * src/matchbox-keyboard.c: (mb_kbd_new), (mb_kbd_add_state), (mb_kbd_locate_key), (mb_kbd_add_layout), (mb_kbd_get_selected_layout): * src/matchbox-keyboard.h: * src/util-list.c: Implement more state handling. Handle window resizes. 2005-04-18 mallum,,, * src/config-parser.c: (config_handle_key_subtag): * src/config.xml: * src/matchbox-keyboard-key.c: (mb_kbd_key_set_keysym_action), (mb_kbd_key_get_keysym_action), (mb_kbd_key_press): * src/matchbox-keyboard-ui.c: (mb_kbd_ui_redraw_key): * src/matchbox-keyboard.c: (mb_kbd_keys_margin): * src/matchbox-keyboard.h: Initial code for handling 'modifiers' 2005-04-17 mallum,,, * src/matchbox-keyboard-ui.c: (text_extents), (mb_kbd_ui_allocate_ui_layout), (mb_kbd_ui_redraw_key), (mb_kbd_ui_redraw_row), (mb_kbd_ui_swap_buffers), (mb_kbd_ui_redraw), (mb_kbd_ui_show), (mb_kbd_ui_resources_create), (mb_kbd_ui_events_iteration), (mb_kbd_ui_init): Make keys look a little nicer 2005-04-17 mallum,,, * src/config-parser.c: (config_handle_row_tag), (config_handle_key_tag), (config_xml_start_cb): * src/config.xml: * src/matchbox-keyboard-key.c: (mb_kbd_key_new), (mb_kbd_key_set_geometry), (mb_kbd_key_abs_x), (mb_kbd_key_abs_y), (mb_kbd_key_x), (mb_kbd_key_y), (mb_kbd_key_width), (mb_kbd_key_height), (mb_kbd_key_set_row), (mb_kdb_key_has_state), (mb_kbd_key_set_glyph_face), (mb_kbd_key_get_glyph_face), (mb_kbd_key_set_image_face), (mb_kbd_key_set_char_action), (mb_kbd_key_get_char_action), (mb_kbd_key_set_keysym_action), (mb_kbd_key_get_keysym_action), (mb_kbd_key_set_modifer_action), (mb_kbd_key_get_face_type), (mb_kbd_key_get_action_type), (mb_kbd_key_press): * src/matchbox-keyboard-ui.c: (mb_kbd_ui_send_press), (mb_kdb_ui_unit_key_size), (mb_kbd_ui_min_key_size), (mb_kbd_ui_allocate_ui_layout), (mb_kbd_ui_redraw_key): * src/matchbox-keyboard.c: (mb_kbd_locate_key): * src/matchbox-keyboard.h: Layout engine improvements 2005-04-13 mallum,,, reviewed by: * src/matchbox-keyboard-key.c: (mb_kbd_key_press): * src/matchbox-keyboard-ui.c: (text_extents), (mb_kbd_ui_send_press), (mb_kbd_ui_events_iteration): * src/matchbox-keyboard.c: (mb_kbd_locate_key): * src/matchbox-keyboard.h: Fix locate_key(). Handle press/release cycle better 2005-04-13 mallum,,, * src/config.xml: * src/matchbox-keyboard-key.c: (mb_kbd_key_new), (mb_kbd_key_height), (mb_kbd_key_set_row), (mb_kdb_key_has_state), (mb_kbd_key_set_glyph_face), (mb_kbd_key_get_glyph_face), (mb_kbd_key_set_image_face), (mb_kbd_key_set_char_action), (mb_kbd_key_get_char_action), (mb_kbd_key_set_keysym_action), (mb_kbd_key_set_modifer_action), (mb_kbd_key_get_face_type), (mb_kbd_key_get_action_type): * src/matchbox-keyboard-row.c: (mb_kbd_row_new): * src/matchbox-keyboard-ui.c: (mb_kbd_ui_send_press), (mb_kdb_ui_unit_key_size), (mb_kbd_ui_allocate_ui_layout), (mb_kbd_ui_redraw_key), (mb_kbd_ui_redraw_row), (mb_kbd_ui_swap_buffers), (mb_kbd_ui_redraw), (mb_kbd_ui_show), (mb_kbd_ui_resources_create), (mb_kbd_ui_events_iteration), (mb_kbd_ui_init): * src/matchbox-keyboard.c: (mb_kbd_new), (mb_kbd_col_spacing), (mb_kbd_keys_border), (mb_kbd_keys_pad), (mb_kbd_keys_margin), (mb_kbd_locate_key), (mb_kbd_add_layout), (mb_kbd_get_selected_layout): * src/matchbox-keyboard.h: * src/util-list.c: (util_list_alloc_item): * src/util.c: (util_fatal_error): Initial UI drawing code 2005-04-10 mallum,,, * configure.ac: Bring in Xft * src/config-parser.c: (config_handle_key_subtag), (config_handle_layout_tag), (config_handle_row_tag), (config_handle_key_tag), (config_xml_start_cb): * src/config.xml: * src/matchbox-keyboard-key.c: (mb_kbd_key_set_glyph_face), (mb_kbd_key_get_glyph_face), (mb_kbd_key_set_image_face), (mb_kbd_key_set_modifer_action), (mb_kbd_key_get_face_type), (mb_kbd_key_get_action_type): * src/matchbox-keyboard-layout.c: (mb_kbd_layout_append_row): * src/matchbox-keyboard-row.c: * src/matchbox-keyboard-ui.c: (mb_kdb_ui_unit_key_size), (mb_kbd_ui_allocate_ui_layout), (mb_kbd_ui_init): * src/matchbox-keyboard.c: (mb_kbd_new), (mb_kbd_add_layout): * src/matchbox-keyboard.h: * src/util-list.c: * src/util.c: (util_fatal_error): Various fixes and improvements. Too many to list