unique, notify, and system details in about:version
Introduce midori_web_settings_get_system_name helper. Add version numbers for libunique and libnotify if available. Show platform and architecture if possible. Merge debug string into the full version number. Render video formats as a one-liner.
This commit is contained in:
parent
55227d2a3b
commit
42c1b70c7d
4 changed files with 76 additions and 45 deletions
|
@ -3662,12 +3662,12 @@ list_video_formats ()
|
||||||
"var supported = function (format) { "
|
"var supported = function (format) { "
|
||||||
"var video = document.createElement('video');"
|
"var video = document.createElement('video');"
|
||||||
"return !!video.canPlayType && video.canPlayType (format) != 'no' };"
|
"return !!video.canPlayType && video.canPlayType (format) != 'no' };"
|
||||||
"'<tr><td>H264</td><td>' + "
|
"' H264 ' + "
|
||||||
"supported('video/mp4; codecs=\"avc1.42E01E, mp4a.40.2\"') + '</tr>' + "
|
"supported('video/mp4; codecs=\"avc1.42E01E, mp4a.40.2\"') + "
|
||||||
"'<tr><td>Ogg Theora</td><td>' + "
|
"' Ogg Theora ' + "
|
||||||
"supported('video/ogg; codecs=\"theora, vorbis\"') + '</tr>' + "
|
"supported('video/ogg; codecs=\"theora, vorbis\"') + "
|
||||||
"'<tr><td>WebM</td><td>' + "
|
"' WebM ' + "
|
||||||
"supported('video/webm; codecs=\"vp8, vorbis\"') + '</tr>'"
|
"supported('video/webm; codecs=\"vp8, vorbis\"')"
|
||||||
"", NULL);
|
"", NULL);
|
||||||
gtk_widget_destroy (web_view);
|
gtk_widget_destroy (web_view);
|
||||||
return value;
|
return value;
|
||||||
|
@ -3875,26 +3875,14 @@ midori_view_set_uri (MidoriView* view,
|
||||||
{
|
{
|
||||||
gchar** argument_vector = sokoke_get_argv (NULL);
|
gchar** argument_vector = sokoke_get_argv (NULL);
|
||||||
gchar* command_line = g_strjoinv (" ", argument_vector);
|
gchar* command_line = g_strjoinv (" ", argument_vector);
|
||||||
|
gchar* architecture, *platform;
|
||||||
|
const gchar* sys_name = midori_web_settings_get_system_name (
|
||||||
|
&architecture, &platform);
|
||||||
gchar* ident = katze_object_get_string (view->settings, "user-agent");
|
gchar* ident = katze_object_get_string (view->settings, "user-agent");
|
||||||
gchar* netscape_plugins = list_netscape_plugins ();
|
gchar* netscape_plugins = list_netscape_plugins ();
|
||||||
gchar* video_formats = list_video_formats ();
|
gchar* video_formats = list_video_formats ();
|
||||||
#if defined (G_OS_WIN32)
|
|
||||||
gchar* sys_name = g_strdup ("Windows");
|
|
||||||
#else
|
|
||||||
gchar* sys_name;
|
|
||||||
struct utsname name;
|
|
||||||
if (uname (&name) != -1)
|
|
||||||
sys_name = g_strdup_printf ("%s %s", name.sysname, name.machine);
|
|
||||||
else
|
|
||||||
sys_name = g_strdup ("Unix");
|
|
||||||
#endif
|
|
||||||
|
|
||||||
katze_assign (view->uri, g_strdup (uri));
|
katze_assign (view->uri, g_strdup (uri));
|
||||||
#ifdef G_ENABLE_DEBUG
|
|
||||||
#define DEBUGGING " (Debug)"
|
|
||||||
#else
|
|
||||||
#define DEBUGGING ""
|
|
||||||
#endif
|
|
||||||
data = g_strdup_printf (
|
data = g_strdup_printf (
|
||||||
"<html><head><title>about:version</title></head>"
|
"<html><head><title>about:version</title></head>"
|
||||||
"<body><h1>about:version</h1>"
|
"<body><h1>about:version</h1>"
|
||||||
|
@ -3902,8 +3890,8 @@ midori_view_set_uri (MidoriView* view,
|
||||||
"<img src=\"res://logo-shade.png\" "
|
"<img src=\"res://logo-shade.png\" "
|
||||||
"style=\"position: absolute; right: 15px; bottom: 15px; z-index: -9;\">"
|
"style=\"position: absolute; right: 15px; bottom: 15px; z-index: -9;\">"
|
||||||
"<table>"
|
"<table>"
|
||||||
"<tr><td>Command line</td><td>%s</td></tr>"
|
"<tr><td>Command line</td><td>%s</td></tr>"
|
||||||
"<tr><td>Midori</td><td>" PACKAGE_VERSION "%s</td></tr>"
|
"<tr><td>Midori</td><td>%s</td></tr>"
|
||||||
"<tr><td>WebKitGTK+</td><td>%d.%d.%d (%d.%d.%d)</td></tr>"
|
"<tr><td>WebKitGTK+</td><td>%d.%d.%d (%d.%d.%d)</td></tr>"
|
||||||
"<tr><td>GTK+</td><td>%d.%d.%d (%d.%d.%d)</td></tr>"
|
"<tr><td>GTK+</td><td>%d.%d.%d (%d.%d.%d)</td></tr>"
|
||||||
"<tr><td>Glib</td><td>%d.%d.%d (%d.%d.%d)</td></tr>"
|
"<tr><td>Glib</td><td>%d.%d.%d (%d.%d.%d)</td></tr>"
|
||||||
|
@ -3911,18 +3899,16 @@ midori_view_set_uri (MidoriView* view,
|
||||||
"<tr><td>libnotify</td><td>%s</td></tr>"
|
"<tr><td>libnotify</td><td>%s</td></tr>"
|
||||||
"<tr><td>libunique</td><td>%s</td></tr>"
|
"<tr><td>libunique</td><td>%s</td></tr>"
|
||||||
"<tr><td>libhildon</td><td>%s</td></tr>"
|
"<tr><td>libhildon</td><td>%s</td></tr>"
|
||||||
"<tr><td>Platform</td><td>%s</td></tr>"
|
"<tr><td>Platform</td><td>%s %s %s</td></tr>"
|
||||||
"<tr><td>Identification</td><td>%s</td></tr>"
|
"<tr><td>Identification</td><td>%s</td></tr>"
|
||||||
|
"<tr><td>Video Formats</td><td>%s</td></tr>"
|
||||||
"</table>"
|
"</table>"
|
||||||
"<h2>Netscape Plugins:</h2><table>%s</table>"
|
"<h2>Netscape Plugins:</h2><table>%s</table>"
|
||||||
"<h2>Video Formats:</h2><table>%s</table>"
|
|
||||||
"</body></html>",
|
"</body></html>",
|
||||||
_("Version numbers in brackets show the version used at runtime."),
|
_("Version numbers in brackets show the version used at runtime."),
|
||||||
command_line,
|
command_line,
|
||||||
DEBUGGING,
|
PACKAGE_VERSION,
|
||||||
WEBKIT_MAJOR_VERSION,
|
WEBKIT_MAJOR_VERSION, WEBKIT_MINOR_VERSION, WEBKIT_MICRO_VERSION,
|
||||||
WEBKIT_MINOR_VERSION,
|
|
||||||
WEBKIT_MICRO_VERSION,
|
|
||||||
webkit_major_version (),
|
webkit_major_version (),
|
||||||
webkit_minor_version (),
|
webkit_minor_version (),
|
||||||
webkit_micro_version (),
|
webkit_micro_version (),
|
||||||
|
@ -3931,15 +3917,13 @@ midori_view_set_uri (MidoriView* view,
|
||||||
GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION, GLIB_MICRO_VERSION,
|
GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION, GLIB_MICRO_VERSION,
|
||||||
glib_major_version, glib_minor_version, glib_micro_version,
|
glib_major_version, glib_minor_version, glib_micro_version,
|
||||||
LIBSOUP_VERSION,
|
LIBSOUP_VERSION,
|
||||||
HAVE_LIBNOTIFY ? "Yes" : "No",
|
LIBNOTIFY_VERSION,
|
||||||
HAVE_UNIQUE ? "Yes" : "No",
|
UNIQUE_VERSION,
|
||||||
HAVE_HILDON ? "Yes" : "No",
|
HAVE_HILDON ? "Yes" : "No",
|
||||||
sys_name, ident,
|
platform, sys_name, architecture ? architecture : "", ident,
|
||||||
netscape_plugins,
|
video_formats, netscape_plugins);
|
||||||
video_formats);
|
|
||||||
g_free (command_line);
|
g_free (command_line);
|
||||||
g_free (ident);
|
g_free (ident);
|
||||||
g_free (sys_name);
|
|
||||||
g_free (netscape_plugins);
|
g_free (netscape_plugins);
|
||||||
g_free (video_formats);
|
g_free (video_formats);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1159,9 +1159,10 @@ midori_web_settings_finalize (GObject* object)
|
||||||
|
|
||||||
#if (!HAVE_OSX && defined (G_OS_UNIX)) || defined (G_OS_WIN32)
|
#if (!HAVE_OSX && defined (G_OS_UNIX)) || defined (G_OS_WIN32)
|
||||||
static gchar*
|
static gchar*
|
||||||
get_sys_name (void)
|
get_sys_name (gchar** architecture)
|
||||||
{
|
{
|
||||||
static gchar* sys_name = NULL;
|
static gchar* sys_name = NULL;
|
||||||
|
static gchar* sys_architecture = NULL;
|
||||||
|
|
||||||
if (!sys_name)
|
if (!sys_name)
|
||||||
{
|
{
|
||||||
|
@ -1172,20 +1173,42 @@ get_sys_name (void)
|
||||||
#else
|
#else
|
||||||
struct utsname name;
|
struct utsname name;
|
||||||
if (uname (&name) != -1)
|
if (uname (&name) != -1)
|
||||||
sys_name = g_strdup(name.sysname);
|
{
|
||||||
|
sys_name = g_strdup (name.sysname);
|
||||||
|
sys_architecture = g_strdup (name.machine);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
sys_name = "Linux";
|
sys_name = "Linux";
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (architecture != NULL)
|
||||||
|
*architecture = sys_architecture;
|
||||||
return sys_name;
|
return sys_name;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static gchar*
|
/**
|
||||||
generate_ident_string (MidoriWebSettings* web_settings,
|
* midori_web_settings_get_system_name:
|
||||||
MidoriIdentity identify_as)
|
* @architecture: location of a string, or %NULL
|
||||||
|
* @platform: location of a string, or %NULL
|
||||||
|
*
|
||||||
|
* Determines the system name, architecture and platform.
|
||||||
|
* @architecturce can have a %NULL value.
|
||||||
|
*
|
||||||
|
* Returns: a string
|
||||||
|
*
|
||||||
|
* Since: 0.4.2
|
||||||
|
**/
|
||||||
|
const gchar*
|
||||||
|
midori_web_settings_get_system_name (gchar** architecture,
|
||||||
|
gchar** platform)
|
||||||
{
|
{
|
||||||
const gchar* platform =
|
if (architecture != NULL)
|
||||||
|
*architecture = NULL;
|
||||||
|
|
||||||
|
if (platform != NULL)
|
||||||
|
*platform =
|
||||||
#if HAVE_HILDON
|
#if HAVE_HILDON
|
||||||
"Maemo;"
|
"Maemo;"
|
||||||
#elif defined (G_OS_WIN32)
|
#elif defined (G_OS_WIN32)
|
||||||
|
@ -1198,20 +1221,27 @@ generate_ident_string (MidoriWebSettings* web_settings,
|
||||||
"X11;";
|
"X11;";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const gchar* os =
|
return
|
||||||
#if HAVE_OSX
|
#if HAVE_OSX
|
||||||
"Mac OS X";
|
"Mac OS X";
|
||||||
#elif defined (G_OS_UNIX) || defined (G_OS_WIN32)
|
#elif defined (G_OS_UNIX) || defined (G_OS_WIN32)
|
||||||
get_sys_name ();
|
get_sys_name (architecture);
|
||||||
#else
|
#else
|
||||||
"Linux";
|
"Linux";
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
static gchar*
|
||||||
|
generate_ident_string (MidoriWebSettings* web_settings,
|
||||||
|
MidoriIdentity identify_as)
|
||||||
|
{
|
||||||
const gchar* appname = "Midori/"
|
const gchar* appname = "Midori/"
|
||||||
G_STRINGIFY (MIDORI_MAJOR_VERSION) "."
|
G_STRINGIFY (MIDORI_MAJOR_VERSION) "."
|
||||||
G_STRINGIFY (MIDORI_MINOR_VERSION);
|
G_STRINGIFY (MIDORI_MINOR_VERSION);
|
||||||
|
|
||||||
const gchar* lang = pango_language_to_string (gtk_get_default_language ());
|
const gchar* lang = pango_language_to_string (gtk_get_default_language ());
|
||||||
|
gchar* platform;
|
||||||
|
const gchar* os = midori_web_settings_get_system_name (NULL, &platform);
|
||||||
|
|
||||||
const int webcore_major = WEBKIT_USER_AGENT_MAJOR_VERSION;
|
const int webcore_major = WEBKIT_USER_AGENT_MAJOR_VERSION;
|
||||||
const int webcore_minor = WEBKIT_USER_AGENT_MINOR_VERSION;
|
const int webcore_minor = WEBKIT_USER_AGENT_MINOR_VERSION;
|
||||||
|
|
|
@ -167,6 +167,10 @@ void
|
||||||
midori_web_settings_remove_style (MidoriWebSettings* settings,
|
midori_web_settings_remove_style (MidoriWebSettings* settings,
|
||||||
const gchar* rule_id);
|
const gchar* rule_id);
|
||||||
|
|
||||||
|
const gchar*
|
||||||
|
midori_web_settings_get_system_name (gchar** architecture,
|
||||||
|
gchar** platform);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
#endif /* __MIDORI_WEB_SETTINGS_H__ */
|
#endif /* __MIDORI_WEB_SETTINGS_H__ */
|
||||||
|
|
17
wscript
17
wscript
|
@ -178,8 +178,12 @@ def configure (conf):
|
||||||
unique = ['N/A', 'yes'][conf.env['HAVE_UNIQUE'] == 1]
|
unique = ['N/A', 'yes'][conf.env['HAVE_UNIQUE'] == 1]
|
||||||
if unique != 'yes':
|
if unique != 'yes':
|
||||||
option_checkfatal ('unique', 'single instance')
|
option_checkfatal ('unique', 'single instance')
|
||||||
|
conf.define ('UNIQUE_VERSION', 'No')
|
||||||
|
else:
|
||||||
|
conf.define ('UNIQUE_VERSION', conf.check_cfg (modversion='unique-1.0'))
|
||||||
else:
|
else:
|
||||||
unique = 'no '
|
unique = 'no '
|
||||||
|
conf.define ('UNIQUE_VERSION', 'No')
|
||||||
conf.define ('HAVE_UNIQUE', [0,1][unique == 'yes'])
|
conf.define ('HAVE_UNIQUE', [0,1][unique == 'yes'])
|
||||||
|
|
||||||
if option_enabled ('libnotify'):
|
if option_enabled ('libnotify'):
|
||||||
|
@ -187,8 +191,12 @@ def configure (conf):
|
||||||
libnotify = ['N/A','yes'][conf.env['HAVE_LIBNOTIFY'] == 1]
|
libnotify = ['N/A','yes'][conf.env['HAVE_LIBNOTIFY'] == 1]
|
||||||
if libnotify != 'yes':
|
if libnotify != 'yes':
|
||||||
option_checkfatal ('libnotify', 'notifications')
|
option_checkfatal ('libnotify', 'notifications')
|
||||||
|
conf.define ('LIBNOTIFY_VERSION', 'No')
|
||||||
|
else:
|
||||||
|
conf.define ('LIBNOTIFY_VERSION', conf.check_cfg (modversion='libnotify'))
|
||||||
else:
|
else:
|
||||||
libnotify = 'no '
|
libnotify = 'no '
|
||||||
|
conf.define ('LIBNOTIFY_VERSION', 'No')
|
||||||
conf.define ('HAVE_LIBNOTIFY', [0,1][libnotify == 'yes'])
|
conf.define ('HAVE_LIBNOTIFY', [0,1][libnotify == 'yes'])
|
||||||
|
|
||||||
conf.check (lib='m', mandatory=True)
|
conf.check (lib='m', mandatory=True)
|
||||||
|
@ -272,7 +280,6 @@ def configure (conf):
|
||||||
else:
|
else:
|
||||||
conf.check (header_name='signal.h')
|
conf.check (header_name='signal.h')
|
||||||
|
|
||||||
conf.define ('PACKAGE_VERSION', VERSION_FULL)
|
|
||||||
conf.define ('PACKAGE_NAME', APPNAME)
|
conf.define ('PACKAGE_NAME', APPNAME)
|
||||||
conf.define ('PACKAGE_BUGREPORT', 'https://bugs.launchpad.net/midori')
|
conf.define ('PACKAGE_BUGREPORT', 'https://bugs.launchpad.net/midori')
|
||||||
conf.define ('GETTEXT_PACKAGE', APPNAME)
|
conf.define ('GETTEXT_PACKAGE', APPNAME)
|
||||||
|
@ -282,7 +289,6 @@ def configure (conf):
|
||||||
conf.define ('MIDORI_MINOR_VERSION', minor)
|
conf.define ('MIDORI_MINOR_VERSION', minor)
|
||||||
conf.define ('MIDORI_MICRO_VERSION', micro)
|
conf.define ('MIDORI_MICRO_VERSION', micro)
|
||||||
|
|
||||||
conf.write_config_header ('config.h')
|
|
||||||
conf.env.append_value ('CCFLAGS', '-DHAVE_CONFIG_H -include config.h'.split ())
|
conf.env.append_value ('CCFLAGS', '-DHAVE_CONFIG_H -include config.h'.split ())
|
||||||
debug_level = Options.options.debug_level
|
debug_level = Options.options.debug_level
|
||||||
compiler = conf.env['CC_NAME']
|
compiler = conf.env['CC_NAME']
|
||||||
|
@ -291,6 +297,13 @@ def configure (conf):
|
||||||
sys.exit (1)
|
sys.exit (1)
|
||||||
elif debug_level == '':
|
elif debug_level == '':
|
||||||
debug_level = 'debug'
|
debug_level = 'debug'
|
||||||
|
|
||||||
|
if debug_level == 'full':
|
||||||
|
conf.define ('PACKAGE_VERSION', '%s (debug)' % VERSION_FULL)
|
||||||
|
else:
|
||||||
|
conf.define ('PACKAGE_VERSION', VERSION_FULL)
|
||||||
|
conf.write_config_header ('config.h')
|
||||||
|
|
||||||
if compiler == 'gcc':
|
if compiler == 'gcc':
|
||||||
if debug_level == 'none':
|
if debug_level == 'none':
|
||||||
if 'CCFLAGS' in os.environ:
|
if 'CCFLAGS' in os.environ:
|
||||||
|
|
Loading…
Reference in a new issue