Commit graph

2206 commits

Author SHA1 Message Date
Christian Dywan
2f1ae3feba Make use of the XScreenSaver extension optional
The extension is only needed for the --inactivity-reset option,
so most users building Midori won't need it.
We also need to check for the according header file.
2010-04-01 18:25:30 +02:00
Christian Dywan
37e2216775 Implement -i, --inactivity-reset command line option
The use case is kiosk systems where leaving the application
idle for a period of time means that the user left, and the
session is reset so the next user starts off clean.

The implementation uses libXss and uses XScreenSaverQueryExtension
which means it is for now supported on X11 only.

Right now reset means closing any opens web pages and opening
the original web page.

Currently --inactivity-reset is only supported with --app.
2010-04-01 00:05:08 +02:00
Christian Dywan
832b2e9922 Change remaining GET_PRIVATE to priv in GtkIconEntry 2010-03-31 21:02:37 +02:00
Christian Dywan
67b9fc013a Use priv instead of GET_PRIVATE in GtkIconEntry 2010-03-31 19:05:17 +02:00
Arno Renevier
c3238d7c12 Change MidoriView into a subclass of GtkVBox
This change makes it possible to pack widgets, notably info bars,
into a MidoriView.
2010-03-31 00:18:42 +02:00
Arno Renevier
3e67ce525f Implement midori_view_get_web_view function
This provides access to the child web view even if we change
the internal packing of MidoriView.
2010-03-31 00:18:41 +02:00
Enrico Tröger
05488d8bd3 Filter keyboard state against modfifier default mask
The modifier state does in fact incorporate modal keys such as
NumLock. So code assuming that state be 0 if no modifier is
pressed is wrong, if NumLock, CapsLock and the like are active.

The solution is to filter out these modal keys with
gtk_accelerator_get_default_mod_mask(), and compare the result.

This fixes the problem of being unable to type keys used as
single-letter shortcuts.
2010-03-30 01:05:36 +02:00
Christian Dywan
fdf075513c Don't propagate key events more than once
This fixes problems with dead keys used to type accented letters.
2010-03-26 20:48:33 +01:00
Dale Whittaker
3f8b34853d Update year in Copyright headers 2010-03-25 23:06:38 +01:00
Dale Whittaker
ff63a5f7bd Wrap the location completion in a GtkFrame
That's what GtkEntryCompletion does as well, so it gives our
completion consistent appearance.
2010-03-24 23:26:51 +01:00
Christian Dywan
a15c70ec61 Add behavior preference 'Allow scripts to open popups' 2010-03-23 20:52:06 +01:00
Christian Dywan
9587fde97b Spawn new apps with the original executable name
Opening a web app or private mode should open Midori from the
same executable it was originally opened with.
2010-03-22 02:55:10 +01:00
Christian Dywan
3682b7755e Clarify MidoriApp signal documentation 2010-03-19 20:16:48 +01:00
Christian Dywan
b4a18b2aef Only print error if completion actually failed 2010-03-18 23:26:45 +01:00
André Stösel
555f7a57e4 Implement sokoke_resolve_hostname
sokoke_prefetch_uri is extended take a callback and user data.

sokoke_resolve_hostname is implemented for resolving hostnames
based on a maximum timeout.

sokoke_magic_uri resolves localhost and uris with a / to verify
if there is a local domain, otherwise falls back to search.

Thanks to Andy Kittner <andkit@gmx.de> for input on proceeding
the event loop while resolving asynchronously.
2010-03-17 02:20:58 +01:00
Christian Dywan
ba7f73891f Also update icon URI when a new icon was loaded 2010-03-16 00:26:38 +01:00
Samuel Creshal
f4b4c53166 Always pass view pointer to icon callback 2010-03-15 17:45:00 +01:00
Samuel Creshal
b10b311b07 Don't overwrite uri in _action_location_secondary_icon_released 2010-03-13 19:58:06 +01:00
Christian Dywan
25bbea02e2 Use a boolean 'special' to identify special pages
We used to load special pages, such as error pages as 'blank'
pages internally and try to identify them indirectly. This
breaks navigating back to and forward to such pages and makes
it difficult to allow stock icons for them.

Now a boolean 'special' is used which is reset on any
navigation attempt and any finished load. It is set only
if a special page is loaded.

This should make icons in error pages work reliably.
2010-03-13 16:46:45 +01:00
Christian Dywan
c7ee74610e Normally reload error pages with WebKitGTK+ 1.1.14
For older versions we used a workaround for reloading
special pages like error pages. This is not needed
with recent versions of WebKitGTK+.
2010-03-13 15:07:02 +01:00
André Stösel
283005e217 Implement and use sokoke_recursive_fork_protection
As Midori may call external tools to open URIs it cannot handle,
and at the same time Midori is commonly the default browser,
this can end in recursion when the external tool also calls Midori.

See the description of sokoke_recursive_fork_protection().
2010-03-12 23:31:14 +01:00
Christian Dywan
b5f8334360 Merge KatzeNet icon loading into MidoriView
MidoriView is the only place where icons are and should be
loaded, elsewhere we just use cached icons.

midori_view_get_icon_uri allows distinguishing whether a view
has an icon or a default icon, and using the filename.
2010-03-11 23:30:54 +01:00
Christian Dywan
e69ee84b6b Cancel completion if we don't have an entry 2010-03-06 19:18:09 +01:00
Christian Dywan
e7005abd55 Bail out of Export if no bookmarks or hidden 2010-03-06 19:16:52 +01:00
Christian Dywan
cf6cffe2bc Relate completion height to browser window height
To prevent the completion from obscuring other windows, it will
relate to 2/3 of the browser window and screen height respectively.
2010-03-05 00:02:07 +01:00
Christian Dywan
6ae3633dce Always append tabs added from a loaded session
We shouldn't honor user preferences for new tabs when loading
the session. Rather we append in the order they were saved in.

This is currently a hack. In the future we should consider
public API additions to insert tabs in a particular order.
2010-03-04 02:08:49 +01:00
Christian Dywan
044f1f96fb Only middle click search if the selection contains :// or Alt
Accidentally searching is annoying. Presumably when a proper
address is selected it was intentional.
2010-03-03 00:31:35 +01:00
Christian Dywan
100eea41da Implement "Export bookmarks" menu item to export to XBEL 2010-03-02 23:58:17 +01:00
Christian Dywan
fe203524fe Implement Scroll actions, defaulting to Vim direction keys 2010-03-01 00:24:46 +01:00
Christian Dywan
3f886f7153 Include previous searches in History panel items 2010-03-01 00:24:46 +01:00
Christian Dywan
de89bcd2dc Store searches and completion search in the location 2010-02-25 00:44:25 +01:00
Alexander Butenko
458c5109be Dupe OS type for ident string before using it 2010-02-22 19:03:45 +01:00
Alexander Butenko
f3f53db4d7 Fallback to the first browser if one is closed
We need to keep one browser as the default for commands
and opening files externally.
2010-02-22 19:03:45 +01:00
Christian Dywan
679ecf5d84 Don't override small toolbar icon size
The hack was originally meant to fix themes with no proper
small icons, but it doesn't really help in most cases.
2010-02-22 14:23:20 +01:00
Christian Dywan
7cf326a338 Always use Icons only for panel toolbar 2010-02-21 18:03:27 +01:00
Christian Dywan
7580ecad8e Omit micro version and arch from ident string 2010-02-20 22:31:58 +01:00
Christian Dywan
142dc432ca Use content_area instead of GtkDialog->vbox in browser 2010-02-19 19:05:29 +01:00
Alexander Butenko
e94edca766 Use the correct completion model and no static
Since the model was a static variable and only set when the
popup was created, we ended up using an obsolete model in
case multiple windows were opened and closed.

As a small optimization we don't need to retrieve the database
pointer except when compiling the statement initially.
2010-02-19 18:55:16 +01:00
Christian Dywan
10591640d1 Re-implement 'Recently visited pages' based on sqlite 2010-02-19 00:34:39 +01:00
Christian Dywan
f3f9dd2b3f Be sure to save outstanding changes to the config on quit
We intentionally set a timeout before saving changes to avoid
continuous disc access and also in case opening or closing a tab
results in an immediate crash or freezing.
But closing Midori normally should save outstanding changes.
2010-02-17 23:19:16 +01:00
Peter de Ridder
aef84bfa02 Look for MidoriView resource files dynamically 2010-02-16 00:59:43 +01:00
Peter de Ridder
4774e35932 Look for user documentation dynamically on win32 2010-02-16 00:59:43 +01:00
Peter de Ridder
c90344ac44 Look for extensions relative to program folder on win32 2010-02-16 00:59:42 +01:00
Peter de Ridder
f4b2111b40 Implement sokoke_show_uri on top of explorer for win32 2010-02-16 00:59:42 +01:00
Christian Dywan
902f836810 Improve and optimize sokoke_uri_to_ascii to parse about:version 2010-02-12 02:08:05 +01:00
Christian Dywan
f19412bc70 Pass action to cell renderer callback rather than the entry
The entry pointer is only meaningful if completion was triggered
by typing or editing in an entry.
We shouldn't render a key in results if the arrow button opened the
completion popup.
We need to check the key in the callback to avoid accidentally
working with an entry of a different window.
2010-02-12 00:36:59 +01:00
Alexander Butenko
f733f453d2 Clear history via sqlite if selected in 'Clear private data' dialog 2010-02-11 23:24:28 +01:00
Christian Dywan
de12aa0078 Revise completion key handling to directly pass or compute the key 2010-02-11 01:57:42 +01:00
Christian Dywan
f494ec090b Handle external, magic URIs from command line consistently 2010-02-11 00:28:49 +01:00
Christian Dywan
532e84ea4f Set consistent flags on all properties of MidoriWebSettings 2010-02-10 23:37:33 +01:00