Browse Source

fix: set size of GTK about panel icon (#18957) (#19572)

Shelley Vohr 5 years ago
parent
commit
55224e385e
2 changed files with 7 additions and 2 deletions
  1. 6 1
      atom/browser/browser_linux.cc
  2. 1 1
      docs/api/app.md

+ 6 - 1
atom/browser/browser_linux.cc

@@ -161,7 +161,12 @@ void Browser::ShowAboutPanel() {
     gtk_about_dialog_set_website(dialog, website.c_str());
   if (about_panel_options_.GetString("iconPath", &icon_path)) {
     GError* error = nullptr;
-    GdkPixbuf* icon = gdk_pixbuf_new_from_file(icon_path.c_str(), &error);
+    constexpr int width = 64;   // width of about panel icon in pixels
+    constexpr int height = 64;  // height of about panel icon in pixels
+
+    // set preserve_aspect_ratio to true
+    GdkPixbuf* icon = gdk_pixbuf_new_from_file_at_size(icon_path.c_str(), width,
+                                                       height, &error);
     if (error != nullptr) {
       g_warning("%s", error->message);
       g_clear_error(&error);

+ 1 - 1
docs/api/app.md

@@ -1188,7 +1188,7 @@ Show the app's about panel options. These options can be overridden with `app.se
   * `version` String (optional) - The app's build version number. _macOS_
   * `credits` String (optional) - Credit information. _macOS_
   * `website` String (optional) - The app's website. _Linux_
-  * `iconPath` String (optional) - Path to the app's icon. _Linux_
+  * `iconPath` String (optional) - Path to the app's icon. Will be shown as 64x64 pixels while retaining aspect ratio. _Linux_
 
 Set the about panel options. This will override the values defined in the app's
 `.plist` file on MacOS. See the [Apple docs][about-panel-options] for more details. On Linux, values must be set in order to be shown; there are no defaults.