summaryrefslogtreecommitdiff
path: root/atari/gui.c
diff options
context:
space:
mode:
Diffstat (limited to 'atari/gui.c')
-rwxr-xr-xatari/gui.c54
1 files changed, 35 insertions, 19 deletions
diff --git a/atari/gui.c b/atari/gui.c
index 07d948313..a2dde6744 100755
--- a/atari/gui.c
+++ b/atari/gui.c
@@ -91,11 +91,13 @@ bool rendering = false;
/* Comandline / Options: */
-int cfg_width;
-int cfg_height;
+int option_window_width;
+int option_window_height;
+int option_window_x;
+int option_window_y;
/* Defaults to option_homepage_url, commandline options overwrites that value */
-const char * cfg_homepage_url;
+const char * option_homepage_url;
/* path to choices file: */
char options[PATH_MAX];
@@ -173,8 +175,8 @@ gui_create_browser_window(struct browser_window *bw,
window_create(gw, bw, WIDGET_STATUSBAR|WIDGET_TOOLBAR|WIDGET_RESIZE|WIDGET_SCROLL );
if( gw->root->handle ) {
GRECT pos = {
- app.w/2-(cfg_width/2), (app.h/2)-(cfg_height/2)+16,
- cfg_width, cfg_height
+ option_window_x, option_window_y,
+ option_window_width, option_window_height
};
window_open( gw , pos );
/* Recalculate windows browser area now */
@@ -841,37 +843,51 @@ void gui_quit(void)
static bool
process_cmdline(int argc, char** argv)
{
- int opt;
+ int opt;
+ bool set_default_dimensions = true;
LOG(("argc %d, argv %p", argc, argv));
if ((nsoption_int(window_width) != 0) && (nsoption_int(window_height) != 0)) {
- cfg_width = nsoption_int(window_width);
- cfg_height = nsoption_int(window_height);
- } else {
+
+ option_window_width = nsoption_int(window_width);
+ option_window_height = nsoption_int(window_height);
+ option_window_x = nsoption_int(window_x);
+ option_window_y = nsoption_int(window_y);
+
+ if (option_window_width <= app.w && option_window_height < app.h) {
+ set_default_dimensions = false;
+ }
+ }
+
+ if (set_default_dimensions) {
if( sys_type() == SYS_TOS ){
/* on single tasking OS, start as fulled window: */
- cfg_width = app.w;
- cfg_height = app.h;
+ option_window_width = app.w;
+ option_window_height = app.h-20;
+ option_window_x = app.w/2-(option_window_width/2);
+ option_window_y = (app.h/2)-(option_window_height/2);
} else {
- cfg_width = 600;
- cfg_height = 360;
+ option_window_width = 600;
+ option_window_height = 360;
+ option_window_x = 10;
+ option_window_y = 30;
}
}
if (nsoption_charp(homepage_url) != NULL)
- cfg_homepage_url = nsoption_charp(homepage_url);
+ option_homepage_url = nsoption_charp(homepage_url);
else
- cfg_homepage_url = NETSURF_HOMEPAGE;
+ option_homepage_url = NETSURF_HOMEPAGE;
while((opt = getopt(argc, argv, "w:h:")) != -1) {
switch (opt) {
case 'w':
- cfg_width = atoi(optarg);
+ option_window_width = atoi(optarg);
break;
case 'h':
- cfg_height = atoi(optarg);
+ option_window_height = atoi(optarg);
break;
default:
@@ -883,7 +899,7 @@ process_cmdline(int argc, char** argv)
}
if (optind < argc) {
- cfg_homepage_url = argv[optind];
+ option_homepage_url = argv[optind];
}
return true;
}
@@ -1014,7 +1030,7 @@ int main(int argc, char** argv)
netsurf_init(&argc, &argv, options, messages);
gui_init(argc, argv);
gui_init2(argc, argv);
- browser_window_create(cfg_homepage_url, 0, 0, true, false);
+ browser_window_create(option_homepage_url, 0, 0, true, false);
graf_mouse( ARROW , NULL);
netsurf_main_loop();
netsurf_exit();