Swedish translation update by Andreas Rönnquist
[clawsker.git] / clawsker
index 9abe614417a92fed47e6d6186acc1bb73c91623b..a49d983c2bf9f82f05c6e59a76f6c9560c5bab93 100755 (executable)
--- a/clawsker
+++ b/clawsker
@@ -1,7 +1,7 @@
 #!/usr/bin/perl
 #
 # Clawsker :: A Claws Mail Tweaker
-# Copyright 2007-2021 Ricardo Mones <ricardo@mones.org>
+# Copyright 2007-2022 Ricardo Mones <ricardo@mones.org>
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -35,6 +35,7 @@ my $VERSION = '@VERSION@';
 my $VERBOSE = FALSE;
 my $READONLY = FALSE;
 my $IGNOREV = FALSE;
+my $LOWRES = FALSE;
 my $CLAWSV = undef;
 my $main_window = undef;
 
@@ -706,6 +707,14 @@ sub new_grid_pack {
             }
         }
     }
+    if ($LOWRES) {
+        my $swin = Gtk3::ScrolledWindow->new;
+        $swin->set_border_width (0);
+        $swin->set_shadow_type ('none');
+        $swin->set_policy ('automatic', 'automatic');
+        $swin->add ($grid);
+        return $swin;
+    }
     return $grid;
 }
 
@@ -958,8 +967,8 @@ sub new_gui_page() {
         [ _('Compose window') ],
         [ 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) ],
-        [ new_text_box_for_int (\%pr::gui, 'warn_send_multi', \%HPVALUE) ],
+        [ new_check_button_for (\%pr::gui, 'type_any', \%HPVALUE),
+            new_text_box_for_int (\%pr::gui, 'warn_send_multi', \%HPVALUE) ],
         [ '--' ],
         [ _('Scroll bars') ],
         [ new_check_button_for (\%pr::gui, 'h_scroll', \%HPVALUE),
@@ -1506,7 +1515,6 @@ sub new_colours_page() {
         '3.17.3.1',
         '300',
     ],
-
     sour_w => [
         'sourcewin_width',
         $xl::s{l_win_w},
@@ -1843,6 +1851,23 @@ sub new_colours_page() {
         '0.0.0',
         '-1',
     ],
+    about_w => [
+        'aboutwin_width',
+        $xl::s{l_win_w},
+        $xl::s{h_win_w},
+        'int,0,3000', # 0 pixels - 3000 pixels
+        '3.7.1.44',
+        '450',
+    ],
+    about_h => [
+        'aboutwin_height',
+        $xl::s{l_win_h},
+        $xl::s{h_win_h},
+        'int,0,3000', # 0 pixels - 3000 pixels
+        '3.7.1.44',
+        '500',
+    ],
+
 );
 
 sub new_winpos_subpage_main() {
@@ -1951,7 +1976,7 @@ sub new_winpos_subpage_filtering() {
         [ new_text_box_for_int (\%pr::win, 'fild_w', \%HPVALUE),
             new_text_box_for_int (\%pr::win, 'fild_h', \%HPVALUE) ],
         [ '--' ],
-        [ ('Matcher window') ],
+        [ _('Matcher window') ],
         [ new_text_box_for_int (\%pr::win, 'matc_w', \%HPVALUE),
             new_text_box_for_int (\%pr::win, 'matc_h', \%HPVALUE) ]
 
@@ -1991,7 +2016,11 @@ sub new_winpos_subpage_prefs() {
 }
 
 sub new_winpos_subpage_misc() {
-    return new_grid_pack (4, 11, [
+    return new_grid_pack (4, 14, [
+        [ _('About window') ],
+        [ new_text_box_for_int (\%pr::win, 'about_w', \%HPVALUE),
+            new_text_box_for_int (\%pr::win, 'about_h', \%HPVALUE) ],
+        [ '--' ],
         [ _('Log window') ],
         [ new_text_box_for_int (\%pr::win, 'logw_w', \%HPVALUE),
             new_text_box_for_int (\%pr::win, 'logw_h', \%HPVALUE) ],
@@ -2305,8 +2334,10 @@ sub new_hotkeys_list {
         0, _("Menu path"), new_hotkeys_list_label (),
         sub {
             my ($col, $renderer, $model, $iter, $data) = @_;
+            my $hkey = $model->get_value ($iter, C_HOTKEY);
+            my $weight = ($hkey ne '""')? 'weight="bold"': '';
             $renderer->set_property (
-                'markup' => '<span size="smaller">'
+                'markup' => "<span size=\"smaller\" $weight>"
                             . $model->get_value ($iter, C_LABEL)
                             . '</span>');
             my $bgcol = row_background_color (
@@ -2384,12 +2415,11 @@ sub get_toolkit_versions {
     }
     $versions{'gtk'} = $Gtk3::VERSION;
     if ($Gtk3::VERSION >= 0.034) {
-        $versions{'gtk-b'} = &Gtk3::GET_VERSION_INFO
+        $versions{'gtk-b'} = join('.', &Gtk3::GET_VERSION_INFO);
     } else {
         $versions{'gtk-b'} = _('Not available')
     }
-    $versions{'gtk-r'} = join('.',
-        &Gtk3::get_major_version, &Gtk3::get_minor_version, &Gtk3::get_micro_version);
+    $versions{'gtk-r'} = join('.', &Gtk3::get_version_info);
     return \%versions;
 }
 
@@ -2435,6 +2465,7 @@ sub print_help() {
         _("  -h|--help                        Prints this help screen and exits."),
         _("  -i|--ignore-versions             Allows setting almost everything."),
         _("  -r|--read-only                   Disables writing changes to disk."),
+        _("  -s|--small-screen                Forces low resolution UI adjustments."),
         _("  -u|--use-claws-version <ver>     Uses <ver> instead of detected version."),
         _("  -v|--version                     Prints version information and exits.")
     );
@@ -2451,6 +2482,7 @@ sub parse_command_line {
             'v|version' => sub { print_version (); $cont = FALSE },
             'b|verbose' => sub { $VERBOSE = TRUE },
             'r|read-only' => sub { $READONLY = TRUE },
+            's|small-screen' => sub { $LOWRES = TRUE },
             'i|ignore-versions' => sub { $IGNOREV = TRUE },
             'u|use-claws-version=s' => \&opt_use_claws_version,
             'a|alternate-config-dir=s' => \&opt_alternate_config_dir,
@@ -2768,7 +2800,7 @@ sub new_notebook {
 # create an about dialog
 sub new_about_dialog {
     my ($parent) = @_;
-    my $year = '2007-2021';
+    my $year = '2007-2022';
     my $holder = 'Ricardo Mones <ricardo@mones.org>';
     my $url = 'http://www.claws-mail.org/clawsker.php';
     my $icons = &get_app_icons;
@@ -2887,6 +2919,13 @@ sub escape_key_handler {
     }
 }
 
+sub get_screen_height {
+    my $display = Gtk3::Gdk::Display::get_default();
+    my $monitor = Gtk3::Gdk::Display::get_primary_monitor($display);
+    my $area = Gtk3::Gdk::Monitor::get_workarea($monitor);
+    return $area->{'height'};
+}
+
 sub main {
     my $args = shift;
     exit unless parse_command_line ($args);
@@ -2895,6 +2934,7 @@ sub main {
     exit unless load_preferences ();
     exit unless init_hidden_preferences ();
     # create main GUI
+    $LOWRES = TRUE unless get_screen_height() > 720;
     my $box = Gtk3::VBox->new (FALSE, 5);
     $box->set_border_width(3);
     my $about = new_about_dialog ($main_window);