Remove current useless saving of widgets
[clawsker.git] / clawsker
index 0b8dc165eadb327671462a1529d0eefa43b5b527..df2713424729af5a846d8351fe1b711325100c13 100755 (executable)
--- a/clawsker
+++ b/clawsker
@@ -14,6 +14,7 @@
 
 binmode STDOUT, ":encoding(utf8)";
 
+use 5.010_000;
 use strict;
 use utf8;
 use Glib qw(TRUE FALSE);
@@ -166,7 +167,7 @@ sub _ {
     l_beh_inline_at => _('Show inline attachments'),
     h_beh_inline_at => _('Allows hiding inline attachments already shown in mail structure view.'),
     l_beh_addr_swc => _('Address search in compose window matches any'),
-    h_beh_addr_swc => _('On Tab-key completion, address text will match any part of the string or only the from the start.'),
+    h_beh_addr_swc => _('On Tab-key completion, address text will match any part of the string or only from the start.'),
     l_beh_fold_swc => _('Folder search in folder selector matches any'),
     h_beh_fold_swc => _('On folder name completion text will match any part of the string or only from the start.'),
 
@@ -385,16 +386,12 @@ sub claws_is_running {
 sub check_claws_not_running {
     my $tmpdir = (defined $ENV{TMPDIR})? $ENV{TMPDIR}: '/tmp';
     $tmpdir = '/tmp' if ($tmpdir eq '');
-    my $socket = (not $ALTCONFIGDIR)? $tmpdir: $CONFIGDIR;
-    $socket .= "/claws-mail-$<";
-    -S $socket and return claws_is_running ();
-    # since 3.9.0cvs36
     my $lockdir = "$tmpdir/claws-mail-$<";
     -d $lockdir and do { 
-       $_ = $CONFIGDIR;
-       s/\/$//;
-        $socket = "$lockdir/" . md5_hex ($_);
-       -S $socket and return claws_is_running ();
+        $_ = $CONFIGDIR;
+        s/\/$//;
+        my $socket = "$lockdir/" . md5_hex ($_);
+        -S $socket and return claws_is_running ();
     };
     return TRUE;
 }
@@ -433,20 +430,19 @@ sub set_widget_sens {
 
 # graphic element creation 
 
-sub new_check_button_for {
-    my ($hash, $key) = @_;
+sub new_check_button_for($$$) {
+    my ($hash, $key, $vhash) = @_;
     my $name = $$hash{$key}[NAME];
     my $label = $$hash{$key}[LABEL];
     #
     my $hbox = Gtk2::HBox->new (FALSE, 5);
     my $cb = Gtk2::CheckButton->new ($label);
-    $$hash{$key}[GUI] = $cb;
-    if (defined ($HPVALUE{$name})) {
-        $cb->set_active ($HPVALUE{$name} eq '1');
-    }
+    my $value = $$vhash{$name};
+    $value //= $$hash{$key}[CMDEF];
+    $cb->set_active ($value eq '1');
     $cb->signal_connect (clicked => sub {
             my ($w, $e) = @_;
-            handle_bool_value ($w, $e, \$HPVALUE{$name});
+            handle_bool_value ($w, $e, \$$vhash{$name});
         });
     set_widget_hint ($cb, $$hash{$key}[DESC]);
     set_widget_sens ($cb, $$hash{$key}[CMVER]);
@@ -455,8 +451,8 @@ sub new_check_button_for {
     return $hbox;
 }
 
-sub new_text_box_for_int {
-    my ($hash, $key) = @_;
+sub new_text_box_for_int($$$) {
+    my ($hash, $key, $vhash) = @_;
     my $name = $$hash{$key}[NAME];
     my $label = $$hash{$key}[LABEL];
     my @type = split (/,/, $$hash{$key}[TYPE]);
@@ -466,12 +462,13 @@ sub new_text_box_for_int {
     my $glabel = Gtk2::Label->new ($label);
     my $pagei = int (($type[2] - $type[1]) / 10);
     my $gentry = Gtk2::SpinButton->new_with_range ($type[1], $type[2], $pagei);
+    my $value = $$vhash{$name};
+    $value //= $$hash{$key}[CMDEF];
     $gentry->set_numeric (TRUE);
-    $gentry->set_value ($HPVALUE{$name});
-    $$hash{$key}[GUI] = $gentry;
+    $gentry->set_value ($value);
     $gentry->signal_connect('value-changed' => sub {
             my ($w, $e) = @_;
-            handle_int_value ($w, $e, \$HPVALUE{$name});
+            handle_int_value ($w, $e, \$$vhash{$name});
         });
     set_widget_hint ($gentry, $$hash{$key}[DESC]);
     set_widget_sens ($gentry, $$hash{$key}[CMVER]);
@@ -482,8 +479,8 @@ sub new_text_box_for_int {
     return $hbox;
 }
 
-sub new_text_box_for_nchar {
-    my ($hash, $key) = @_;
+sub new_text_box_for_nchar($$$) {
+    my ($hash, $key, $vhash) = @_;
     my $name = $$hash{$key}[NAME];
     my $label = $$hash{$key}[LABEL];
     my @type = split (/,/, $$hash{$key}[TYPE]); # char,minlen,maxlen
@@ -492,11 +489,12 @@ sub new_text_box_for_nchar {
     my $gentry = Gtk2::Entry->new ();
     $gentry->set_max_length($type[2]) if defined ($type[2]);
     $gentry->set_width_chars(int ($type[2]) + 2) if defined ($type[2]);
-    $gentry->set_text ($HPVALUE{$name});
-    $$hash{$key}[GUI] = $gentry;
+    my $value = $$vhash{$name};
+    $value //= $$hash{$key}[CMDEF];
+    $gentry->set_text ($value);
     $gentry->signal_connect('key-release-event' => sub {
             my ($w, $e) = @_;
-            handle_nchar_value ($w, $e, \$HPVALUE{$name}, $type[1]);
+            handle_nchar_value ($w, $e, \$$vhash{$name}, $type[1]);
         });
     set_widget_hint ($gentry, $$hash{$key}[DESC]);
     set_widget_sens ($gentry, $$hash{$key}[CMVER]);
@@ -507,21 +505,22 @@ sub new_text_box_for_nchar {
     return $hbox;
 }
 
-sub new_color_button_for {
-    my ($hash, $key) = @_;
+sub new_color_button_for($$$) {
+    my ($hash, $key, $vhash) = @_;
     my $name = $$hash{$key}[NAME];
     my $label = $$hash{$key}[LABEL];
     #
-    my $col = gdk_color_from_str ($HPVALUE{$name});
+    my $value = $$vhash{$name};
+    $value //= $$hash{$key}[CMDEF];
+    my $col = gdk_color_from_str ($value);
     my $hbox = Gtk2::HBox->new (FALSE, 5);
     my $glabel = Gtk2::Label->new ($label);
     my $button = Gtk2::ColorButton->new_with_color ($col);
-    $$hash{$key}[GUI] = $button;
     $button->set_title ($label);
     $button->set_relief ('none');
     $button->signal_connect ('color-set' => sub {
             my ($w, $e) = @_;
-            handle_color_value ($w, $e, \$HPVALUE{$name});
+            handle_color_value ($w, $e, \$$vhash{$name});
         });
     set_widget_hint ($button, $$hash{$key}[DESC]);
     set_widget_sens ($button, $$hash{$key}[CMVER]);
@@ -532,15 +531,14 @@ sub new_color_button_for {
     return $hbox;
 }
 
-sub new_selection_box_for {
-    my ($hash, $key) = @_;
+sub new_selection_box_for($$$) {
+    my ($hash, $key, $vhash) = @_;
     my $name = $$hash{$key}[NAME];
     my $label = $$hash{$key}[LABEL];
     #
     my $hbox = Gtk2::HBox->new (FALSE, 5);
     my $glabel = Gtk2::Label->new ($label);
     my $combo = Gtk2::ComboBox->new_text;
-    $$hash{$key}[GUI] = $combo;
     my @options = split (';', $$hash{$key}[TYPE]);
     foreach my $opt (@options) {
         my ($index, $textkey) = split ('=', $opt);
@@ -548,9 +546,11 @@ sub new_selection_box_for {
     }
     $combo->signal_connect ('changed' => sub {
             my ($w, $e) = @_;
-            handle_selection_value ($w, $e, \$HPVALUE{$name});
+            handle_selection_value ($w, $e, \$$vhash{$name});
         });
-    $combo->set_active ($HPVALUE{$name});
+    my $value = $$vhash{$name};
+    $value //= $$hash{$key}[CMDEF];
+    $combo->set_active ($value);
     set_widget_hint ($combo, $$hash{$key}[DESC]);
     set_widget_sens ($combo, $$hash{$key}[CMVER]);
     $glabel->set_sensitive ($combo->sensitive);
@@ -651,20 +651,20 @@ sub new_other_page() {
     return new_vbox_pack (
                new_subpage_frame (
                    new_vbox_pack (
-                       new_check_button_for(\%pr::oth, 'use_dlg')),
+                       new_check_button_for(\%pr::oth, 'use_dlg', \%HPVALUE)),
                    $xl::s{ab_frame}, 'not-packed'),
                new_subpage_frame (
                    new_vbox_pack (
-                       new_text_box_for_int(\%pr::oth, 'max_use'),
-                       new_text_box_for_int(\%pr::oth, 'min_time')),
+                       new_text_box_for_int(\%pr::oth, 'max_use', \%HPVALUE),
+                       new_text_box_for_int(\%pr::oth, 'min_time', \%HPVALUE)),
                    $xl::s{mem_frame}, 'not-packed'),
                new_subpage_frame (
                    new_vbox_pack (
-                       new_check_button_for(\%pr::oth, 'use_netm')),
+                       new_check_button_for(\%pr::oth, 'use_netm', \%HPVALUE)),
                    $xl::s{netm_frame}, 'not-packed'),
                new_subpage_frame (
                    new_vbox_pack (
-                       new_text_box_for_int(\%pr::oth, 'mp_rounds')),
+                       new_text_box_for_int(\%pr::oth, 'mp_rounds', \%HPVALUE)),
                    $xl::s{mpass_frame}, 'not-packed')
            );
 }
@@ -838,45 +838,45 @@ sub new_gui_page() {
     my $gf = Gtk2::VBox->new (FALSE, 5);
     $gf->set_border_width (PAGE_SPC);
 
-    my $cb_dot_lines = new_check_button_for (\%pr::gui, 'dot_lines');
-    my $cb_toolbar_d = new_check_button_for (\%pr::gui, 'toolbar_d');
-    my $tb_zero_char = new_text_box_for_nchar (\%pr::gui, 'zero_char');
+    my $cb_dot_lines = new_check_button_for (\%pr::gui, 'dot_lines', \%HPVALUE);
+    my $cb_toolbar_d = new_check_button_for (\%pr::gui, 'toolbar_d', \%HPVALUE);
+    my $tb_zero_char = new_text_box_for_nchar (\%pr::gui, 'zero_char', \%HPVALUE);
 
     $gf->pack_start (new_subpage_frame (
                          new_vbox_pack (
-                             new_check_button_for (\%pr::gui, 'strip_all'),
-                             new_check_button_for (\%pr::gui, 'strip_sum'),
-                             new_text_box_for_int (\%pr::gui, 'strip_off')),
+                             new_check_button_for (\%pr::gui, 'strip_all', \%HPVALUE),
+                             new_check_button_for (\%pr::gui, 'strip_sum', \%HPVALUE),
+                             new_text_box_for_int (\%pr::gui, 'strip_off', \%HPVALUE)),
                          $xl::s{stripes_frame}, 'not-packed'),
                      FALSE, FALSE, FRAME_SPC);
     $gf->pack_start (new_subpage_frame (
                          new_vbox_pack (
-                             new_check_button_for (\%pr::gui, 'b_unread'),
-                             new_check_button_for (\%pr::gui, 'swp_from'),
-                             new_check_button_for (\%pr::gui, 'two_linev'),
-                             new_check_button_for (\%pr::gui, 'next_del'),
-                             new_selection_box_for (\%pr::gui, 'from_show')),
+                             new_check_button_for (\%pr::gui, 'b_unread', \%HPVALUE),
+                             new_check_button_for (\%pr::gui, 'swp_from', \%HPVALUE),
+                             new_check_button_for (\%pr::gui, 'two_linev', \%HPVALUE),
+                             new_check_button_for (\%pr::gui, 'next_del', \%HPVALUE),
+                             new_selection_box_for (\%pr::gui, 'from_show', \%HPVALUE)),
                          $xl::s{mlist_frame}, 'not-packed'), 
                      FALSE, FALSE, FRAME_SPC);
     $gf->pack_start (new_subpage_frame (
                          new_hbox_pack (
-                             new_check_button_for (\%pr::gui, 'cursor_v'),
-                             new_check_button_for (\%pr::gui, 'mview_date')),
+                             new_check_button_for (\%pr::gui, 'cursor_v', \%HPVALUE),
+                             new_check_button_for (\%pr::gui, 'mview_date', \%HPVALUE)),
                          $xl::s{mview_frame}, 'not-packed'), 
                      FALSE, FALSE, FRAME_SPC);
     $gf->pack_start (new_subpage_frame (
                          new_hbox_pack (
-                             new_check_button_for (\%pr::gui, 'no_markup'),
-                             new_check_button_for (\%pr::gui, 'margin_co'),
-                             new_check_button_for (\%pr::gui, 'type_any')),
+                             new_check_button_for (\%pr::gui, 'no_markup', \%HPVALUE),
+                             new_check_button_for (\%pr::gui, 'margin_co', \%HPVALUE),
+                             new_check_button_for (\%pr::gui, 'type_any', \%HPVALUE)),
                          $xl::s{compo_frame}, 'not-packed'), 
                      FALSE, FALSE, FRAME_SPC);
     $gf->pack_start ($cb_dot_lines, FALSE, FALSE, 0);
     $gf->pack_start ($cb_toolbar_d, FALSE, FALSE, 0);
     $gf->pack_start (new_subpage_frame (
                          new_vbox_pack (
-                             new_check_button_for (\%pr::gui, 'h_scroll'),
-                             new_selection_box_for (\%pr::gui, 'v_scroll')),
+                             new_check_button_for (\%pr::gui, 'h_scroll', \%HPVALUE),
+                             new_selection_box_for (\%pr::gui, 'v_scroll', \%HPVALUE)),
                          $xl::s{sbar_frame}, 'not-packed'),
                      FALSE, FALSE, FRAME_SPC);
     $gf->pack_start ($tb_zero_char, FALSE, FALSE, 0);
@@ -1005,7 +1005,7 @@ sub new_gui_page() {
     addr_swc => [
         'address_search_wildcard',
         $xl::s{l_beh_addr_swc},
-        $xl::s{h_beh_addr_sw1},
+        $xl::s{h_beh_addr_swc},
         'bool',
         '3.9.3.18',
         '0',
@@ -1014,7 +1014,7 @@ sub new_gui_page() {
     fold_swc => [
         'folder_search_wildcard',
         $xl::s{l_beh_fold_swc},
-        $xl::s{h_beh_fold_sw1},
+        $xl::s{h_beh_fold_swc},
         'bool',
         '3.9.3.18',
         '0',
@@ -1026,38 +1026,38 @@ sub new_behaviour_page() {
     my $bf = Gtk2::VBox->new (FALSE, 5);
     $bf->set_border_width (PAGE_SPC);
 
-    my $tb_up_step = new_text_box_for_int (\%pr::beh, 'up_step');
-    my $tb_thread_a = new_text_box_for_int (\%pr::beh, 'thread_a');
+    my $tb_up_step = new_text_box_for_int (\%pr::beh, 'up_step', \%HPVALUE);
+    my $tb_thread_a = new_text_box_for_int (\%pr::beh, 'thread_a', \%HPVALUE);
 
     $bf->pack_start (new_subpage_frame (
                          new_vbox_pack (
-                             new_text_box_for_int (\%pr::beh, 'hover_t'),
-                             new_check_button_for (\%pr::beh, 'warn_dnd')),
+                             new_text_box_for_int (\%pr::beh, 'hover_t', \%HPVALUE),
+                             new_check_button_for (\%pr::beh, 'warn_dnd', \%HPVALUE)),
                          $xl::s{dnd_frame}, 'not-packed'), 
                      FALSE, FALSE, FRAME_SPC);
     $bf->pack_start (new_subpage_frame (
                          new_hbox_pack (
-                             new_check_button_for (\%pr::beh, 'skip_ssl'),
-                             new_check_button_for (\%pr::beh, 'unsafe_ssl')),
+                             new_check_button_for (\%pr::beh, 'skip_ssl', \%HPVALUE),
+                             new_check_button_for (\%pr::beh, 'unsafe_ssl', \%HPVALUE)),
                          $xl::s{ssl_frame}, 'not-packed'),
                      FALSE, FALSE, FRAME_SPC);
     $bf->pack_start ($tb_up_step, FALSE, FALSE, 0);
     $bf->pack_start ($tb_thread_a, FALSE, FALSE, 0);
     $bf->pack_start (new_subpage_frame (
                          new_vbox_pack (
-                             new_check_button_for (\%pr::beh, 'flowed'),
-                             new_check_button_for (\%pr::beh, 'parts_rw'),
-                             new_check_button_for (\%pr::beh, 'use_utf8'),
-                             new_check_button_for (\%pr::beh, 'dangerous'),
-                             new_check_button_for (\%pr::beh, 'out_ascii'),
-                             new_check_button_for (\%pr::beh, 'pp_unsel'),
-                             new_check_button_for (\%pr::beh, 'inline_at')),
+                             new_check_button_for (\%pr::beh, 'flowed', \%HPVALUE),
+                             new_check_button_for (\%pr::beh, 'parts_rw', \%HPVALUE),
+                             new_check_button_for (\%pr::beh, 'use_utf8', \%HPVALUE),
+                             new_check_button_for (\%pr::beh, 'dangerous', \%HPVALUE),
+                             new_check_button_for (\%pr::beh, 'out_ascii', \%HPVALUE),
+                             new_check_button_for (\%pr::beh, 'pp_unsel', \%HPVALUE),
+                             new_check_button_for (\%pr::beh, 'inline_at', \%HPVALUE)),
                          $xl::s{msgs_frame}, 'not-packed'),
                      FALSE, FALSE, FRAME_SPC);
     $bf->pack_start (new_subpage_frame (
                          new_vbox_pack (
-                             new_check_button_for (\%pr::beh, 'addr_swc'),
-                             new_check_button_for (\%pr::beh, 'fold_swc')),
+                             new_check_button_for (\%pr::beh, 'addr_swc', \%HPVALUE),
+                             new_check_button_for (\%pr::beh, 'fold_swc', \%HPVALUE)),
                          $xl::s{swc_frame}, 'not-packed'),
                      FALSE, FALSE, FRAME_SPC);
     return $bf;
@@ -1151,21 +1151,21 @@ sub new_colours_page() {
     return new_vbox_pack (
                new_subpage_frame (
                    new_vbox_pack (
-                       new_color_button_for (\%pr::col, 'emphasis')),
+                       new_color_button_for (\%pr::col, 'emphasis', \%HPVALUE)),
                    $xl::s{msgview_frame}, 'not-packed'),
                new_subpage_frame (
                    new_vbox_pack (
-                       new_color_button_for (\%pr::col, 'log_err'),
-                       new_color_button_for (\%pr::col, 'log_in'),
-                       new_color_button_for (\%pr::col, 'log_msg'),
-                       new_color_button_for (\%pr::col, 'log_out'),
-                       new_color_button_for (\%pr::col, 'log_warn')),
+                       new_color_button_for (\%pr::col, 'log_err', \%HPVALUE),
+                       new_color_button_for (\%pr::col, 'log_in', \%HPVALUE),
+                       new_color_button_for (\%pr::col, 'log_msg', \%HPVALUE),
+                       new_color_button_for (\%pr::col, 'log_out', \%HPVALUE),
+                       new_color_button_for (\%pr::col, 'log_warn', \%HPVALUE)),
                    $xl::s{log_frame}, 'not-packed'),
                new_subpage_frame (
                    new_vbox_pack (
-                       new_color_button_for (\%pr::col, 'diff_add'),
-                       new_color_button_for (\%pr::col, 'diff_del'),
-                       new_color_button_for (\%pr::col, 'diff_hunk')),
+                       new_color_button_for (\%pr::col, 'diff_add', \%HPVALUE),
+                       new_color_button_for (\%pr::col, 'diff_del', \%HPVALUE),
+                       new_color_button_for (\%pr::col, 'diff_hunk', \%HPVALUE)),
                    $xl::s{diff_frame}, 'not-packed')
            );
 }
@@ -1699,14 +1699,14 @@ sub new_winpos_subpage_main() {
     return new_subpage_frame (
                new_vbox_pack_compact (
                    new_vbox_pack (
-                       new_text_box_for_int (\%pr::win, 'main_x'),
-                       new_text_box_for_int (\%pr::win, 'main_y')),
+                       new_text_box_for_int (\%pr::win, 'main_x', \%HPVALUE),
+                       new_text_box_for_int (\%pr::win, 'main_y', \%HPVALUE)),
                    new_hbox_pack (
-                       new_text_box_for_int (\%pr::win, 'main_w'),
-                       new_text_box_for_int (\%pr::win, 'main_h')),
+                       new_text_box_for_int (\%pr::win, 'main_w', \%HPVALUE),
+                       new_text_box_for_int (\%pr::win, 'main_h', \%HPVALUE)),
                    new_vbox_pack (
-                       new_check_button_for (\%pr::win, 'main_fs'),
-                       new_check_button_for (\%pr::win, 'main_mx'))),
+                       new_check_button_for (\%pr::win, 'main_fs', \%HPVALUE),
+                       new_check_button_for (\%pr::win, 'main_mx', \%HPVALUE))),
                _('Main window')
            );
 }
@@ -1715,11 +1715,11 @@ sub new_winpos_subpage_msgs() {
     return new_subpage_frame (
                new_vbox_pack_compact (
                    new_vbox_pack (
-                       new_text_box_for_int (\%pr::win, 'msgs_x'),
-                       new_text_box_for_int (\%pr::win, 'msgs_y')),
+                       new_text_box_for_int (\%pr::win, 'msgs_x', \%HPVALUE),
+                       new_text_box_for_int (\%pr::win, 'msgs_y', \%HPVALUE)),
                    new_hbox_pack (
-                       new_text_box_for_int (\%pr::win, 'msgs_w'),
-                       new_text_box_for_int (\%pr::win, 'msgs_h'))),
+                       new_text_box_for_int (\%pr::win, 'msgs_w', \%HPVALUE),
+                       new_text_box_for_int (\%pr::win, 'msgs_h', \%HPVALUE))),
                _('Message window')
            );
 }
@@ -1728,13 +1728,13 @@ sub new_winpos_subpage_sendrecv() {
     return new_vbox_pack (
                new_subpage_frame (
                    new_hbox_pack (
-                       new_text_box_for_int (\%pr::win, 'send_w'),
-                       new_text_box_for_int (\%pr::win, 'send_h')),
+                       new_text_box_for_int (\%pr::win, 'send_w', \%HPVALUE),
+                       new_text_box_for_int (\%pr::win, 'send_h', \%HPVALUE)),
                    _('Send window'), 'not-packed'),
                new_subpage_frame (
                    new_hbox_pack (
-                       new_text_box_for_int (\%pr::win, 'recv_w'),
-                       new_text_box_for_int (\%pr::win, 'recv_h')),
+                       new_text_box_for_int (\%pr::win, 'recv_w', \%HPVALUE),
+                       new_text_box_for_int (\%pr::win, 'recv_h', \%HPVALUE)),
                    _('Receive window'), 'not-packed')
            );
 }
@@ -1744,16 +1744,16 @@ sub new_winpos_subpage_fold() {
                new_subpage_frame (
                    new_vbox_pack_compact (
                        new_vbox_pack (
-                            new_text_box_for_int (\%pr::win, 'fold_x'),
-                            new_text_box_for_int (\%pr::win, 'fold_y')),
+                            new_text_box_for_int (\%pr::win, 'fold_x', \%HPVALUE),
+                            new_text_box_for_int (\%pr::win, 'fold_y', \%HPVALUE)),
                        new_hbox_pack (
-                           new_text_box_for_int (\%pr::win, 'fold_w'),
-                           new_text_box_for_int (\%pr::win, 'fold_h'))),
+                           new_text_box_for_int (\%pr::win, 'fold_w', \%HPVALUE),
+                           new_text_box_for_int (\%pr::win, 'fold_h', \%HPVALUE))),
                    _('Folder window'), 'not-packed'),
                new_subpage_frame (
                    new_hbox_pack (
-                       new_text_box_for_int (\%pr::win, 'fsel_w'),
-                       new_text_box_for_int (\%pr::win, 'fsel_h')),
+                       new_text_box_for_int (\%pr::win, 'fsel_w', \%HPVALUE),
+                       new_text_box_for_int (\%pr::win, 'fsel_h', \%HPVALUE)),
                    _('Folder selection window'), 'not-packed')
            );
 }
@@ -1762,28 +1762,28 @@ sub new_winpos_subpage_addrbook() {
     return new_vbox_pack (
                 new_subpage_frame (
                      new_hbox_pack (
-                          new_text_box_for_int (\%pr::win, 'addr_w'),
-                          new_text_box_for_int (\%pr::win, 'addr_h')),
+                          new_text_box_for_int (\%pr::win, 'addr_w', \%HPVALUE),
+                          new_text_box_for_int (\%pr::win, 'addr_h', \%HPVALUE)),
                      _('Addressbook main window'), 'not-packed'),
                 new_subpage_frame (
                      new_hbox_pack (
-                          new_text_box_for_int (\%pr::win, 'adep_w'),
-                          new_text_box_for_int (\%pr::win, 'adep_h')),
+                          new_text_box_for_int (\%pr::win, 'adep_w', \%HPVALUE),
+                          new_text_box_for_int (\%pr::win, 'adep_h', \%HPVALUE)),
                      _('Edit person window'), 'not-packed'),
                 new_subpage_frame (
                      new_hbox_pack (
-                          new_text_box_for_int (\%pr::win, 'adeg_w'),
-                          new_text_box_for_int (\%pr::win, 'adeg_h')),
+                          new_text_box_for_int (\%pr::win, 'adeg_w', \%HPVALUE),
+                          new_text_box_for_int (\%pr::win, 'adeg_h', \%HPVALUE)),
                      _('Edit group window'), 'not-packed'),
                 new_subpage_frame (
                      new_hbox_pack (
-                          new_text_box_for_int (\%pr::win, 'adda_w'),
-                          new_text_box_for_int (\%pr::win, 'adda_h')),
+                          new_text_box_for_int (\%pr::win, 'adda_w', \%HPVALUE),
+                          new_text_box_for_int (\%pr::win, 'adda_h', \%HPVALUE)),
                      _('Add address window'), 'not-packed'),
                 new_subpage_frame (
                      new_hbox_pack (
-                          new_text_box_for_int (\%pr::win, 'addf_w'),
-                          new_text_box_for_int (\%pr::win, 'addf_h')),
+                          new_text_box_for_int (\%pr::win, 'addf_w', \%HPVALUE),
+                          new_text_box_for_int (\%pr::win, 'addf_h', \%HPVALUE)),
                      _('Folder select window'), 'not-packed')
            );
 }
@@ -1792,13 +1792,13 @@ sub new_winpos_subpage_accounts() {
     return new_vbox_pack (
                 new_subpage_frame (
                      new_hbox_pack (
-                          new_text_box_for_int (\%pr::win, 'acco_w'),
-                          new_text_box_for_int (\%pr::win, 'acco_h')),
+                          new_text_box_for_int (\%pr::win, 'acco_w', \%HPVALUE),
+                          new_text_box_for_int (\%pr::win, 'acco_h', \%HPVALUE)),
                      _('Accounts window'), 'not-packed'),
                 new_subpage_frame (
                      new_hbox_pack (
-                          new_text_box_for_int (\%pr::win, 'acce_w'),
-                          new_text_box_for_int (\%pr::win, 'acce_h')),
+                          new_text_box_for_int (\%pr::win, 'acce_w', \%HPVALUE),
+                          new_text_box_for_int (\%pr::win, 'acce_h', \%HPVALUE)),
                      _('Edit account window'), 'not-packed')
            );
 }
@@ -1807,23 +1807,23 @@ sub new_winpos_subpage_filtering() {
     return new_vbox_pack (
                 new_subpage_frame (
                      new_hbox_pack (
-                          new_text_box_for_int (\%pr::win, 'filt_w'),
-                          new_text_box_for_int (\%pr::win, 'filt_h')),
+                          new_text_box_for_int (\%pr::win, 'filt_w', \%HPVALUE),
+                          new_text_box_for_int (\%pr::win, 'filt_h', \%HPVALUE)),
                      _('Filtering window'), 'not-packed'),
                 new_subpage_frame (
                      new_hbox_pack (
-                          new_text_box_for_int (\%pr::win, 'fila_w'),
-                          new_text_box_for_int (\%pr::win, 'fila_h')),
+                          new_text_box_for_int (\%pr::win, 'fila_w', \%HPVALUE),
+                          new_text_box_for_int (\%pr::win, 'fila_h', \%HPVALUE)),
                      _('Filtering actions window'), 'not-packed'),
                 new_subpage_frame (
                      new_hbox_pack (
-                          new_text_box_for_int (\%pr::win, 'fild_w'),
-                          new_text_box_for_int (\%pr::win, 'fild_h')),
+                          new_text_box_for_int (\%pr::win, 'fild_w', \%HPVALUE),
+                          new_text_box_for_int (\%pr::win, 'fild_h', \%HPVALUE)),
                      _('Filtering debug window'), 'not-packed'),
                 new_subpage_frame (
                      new_hbox_pack (
-                          new_text_box_for_int (\%pr::win, 'matc_w'),
-                          new_text_box_for_int (\%pr::win, 'matc_h')),
+                          new_text_box_for_int (\%pr::win, 'matc_w', \%HPVALUE),
+                          new_text_box_for_int (\%pr::win, 'matc_h', \%HPVALUE)),
                      _('Matcher window'), 'not-packed')
            );
 }
@@ -1832,28 +1832,28 @@ sub new_winpos_subpage_prefs() {
     return new_vbox_pack (
                 new_subpage_frame (
                      new_hbox_pack (
-                          new_text_box_for_int (\%pr::win, 'pref_w'),
-                          new_text_box_for_int (\%pr::win, 'pref_h')),
+                          new_text_box_for_int (\%pr::win, 'pref_w', \%HPVALUE),
+                          new_text_box_for_int (\%pr::win, 'pref_h', \%HPVALUE)),
                      _('Preferences window'), 'not-packed'),
                 new_subpage_frame (
                      new_hbox_pack (
-                          new_text_box_for_int (\%pr::win, 'temp_w'),
-                          new_text_box_for_int (\%pr::win, 'temp_h')),
+                          new_text_box_for_int (\%pr::win, 'temp_w', \%HPVALUE),
+                          new_text_box_for_int (\%pr::win, 'temp_h', \%HPVALUE)),
                      _('Templates window'), 'not-packed'),
                 new_subpage_frame (
                      new_hbox_pack (
-                          new_text_box_for_int (\%pr::win, 'acti_w'),
-                          new_text_box_for_int (\%pr::win, 'acti_h')),
+                          new_text_box_for_int (\%pr::win, 'acti_w', \%HPVALUE),
+                          new_text_box_for_int (\%pr::win, 'acti_h', \%HPVALUE)),
                      _('Actions window'), 'not-packed'),
                 new_subpage_frame (
                      new_hbox_pack (
-                          new_text_box_for_int (\%pr::win, 'tags_w'),
-                          new_text_box_for_int (\%pr::win, 'tags_h')),
+                          new_text_box_for_int (\%pr::win, 'tags_w', \%HPVALUE),
+                          new_text_box_for_int (\%pr::win, 'tags_h', \%HPVALUE)),
                      _('Tags window'), 'not-packed'),
                 new_subpage_frame (
                      new_hbox_pack (
-                          new_text_box_for_int (\%pr::win, 'plug_w'),
-                          new_text_box_for_int (\%pr::win, 'plug_h')),
+                          new_text_box_for_int (\%pr::win, 'plug_w', \%HPVALUE),
+                          new_text_box_for_int (\%pr::win, 'plug_h', \%HPVALUE)),
                      _('Plugins window'), 'not-packed')
            );
 }
@@ -1862,18 +1862,18 @@ sub new_winpos_subpage_misc() {
     return new_vbox_pack (
                 new_subpage_frame (
                      new_hbox_pack (
-                          new_text_box_for_int (\%pr::win, 'logw_w'),
-                          new_text_box_for_int (\%pr::win, 'logw_h')),
+                          new_text_box_for_int (\%pr::win, 'logw_w', \%HPVALUE),
+                          new_text_box_for_int (\%pr::win, 'logw_h', \%HPVALUE)),
                      _('Log window'), 'not-packed'),
                 new_subpage_frame (
                      new_hbox_pack (
-                          new_text_box_for_int (\%pr::win, 'prin_w'),
-                          new_text_box_for_int (\%pr::win, 'prin_h')),
+                          new_text_box_for_int (\%pr::win, 'prin_w', \%HPVALUE),
+                          new_text_box_for_int (\%pr::win, 'prin_h', \%HPVALUE)),
                      _('Print preview window'), 'not-packed'),
                 new_subpage_frame (
                      new_hbox_pack (
-                          new_text_box_for_int (\%pr::win, 'sour_w'),
-                          new_text_box_for_int (\%pr::win, 'sour_h')),
+                          new_text_box_for_int (\%pr::win, 'sour_w', \%HPVALUE),
+                          new_text_box_for_int (\%pr::win, 'sour_h', \%HPVALUE)),
                      _('View source window'), 'not-packed')
            );
 }