summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/animation.scm4
-rw-r--r--gnu/packages/patches/synfigstudio-fix-ui-with-gtk3.patch55
2 files changed, 58 insertions, 1 deletions
diff --git a/gnu/packages/animation.scm b/gnu/packages/animation.scm
index 0f37ea55d5..cbbfa6ed4a 100644
--- a/gnu/packages/animation.scm
+++ b/gnu/packages/animation.scm
@@ -143,7 +143,9 @@ for tweening, preventing the need to hand-draw each frame.")
                   (substitute* "src/synfigapp/pluginmanager.cpp"
                     (("xmlpp::Node\\* n =")    "const xmlpp::Node* n =")
                     (("xmlpp::Node::NodeList") "xmlpp::Node::const_NodeList"))
-                  #t))))
+                  #t))
+              (patches
+               (search-patches "synfigstudio-fix-ui-with-gtk3.patch"))))
     (build-system gnu-build-system)
     (inputs
      `(("gtkmm" ,gtkmm)
diff --git a/gnu/packages/patches/synfigstudio-fix-ui-with-gtk3.patch b/gnu/packages/patches/synfigstudio-fix-ui-with-gtk3.patch
new file mode 100644
index 0000000000..d7b3e92507
--- /dev/null
+++ b/gnu/packages/patches/synfigstudio-fix-ui-with-gtk3.patch
@@ -0,0 +1,55 @@
+Downloaded from
+https://github.com/synfig/synfig/commit/b9c3b73ee35b83c4d9183c800809040cef98b2f2.patch
+
+Without this patch the UI of Synfig Studio (when built with the latest version
+of GTK) displays very large buttons in the header of every frame.
+
+This patch can be removed with the next release.
+
+
+From b9c3b73ee35b83c4d9183c800809040cef98b2f2 Mon Sep 17 00:00:00 2001
+From: caryoscelus <caryoscelus@gmx.com>
+Date: Wed, 25 Jan 2017 18:34:39 +0300
+Subject: [PATCH] Fix dock drop area size
+
+Fixes #227
+
+By using Frame instead of Button we avoid intrusive Gtk themes
+from forcing huge drop area size.
+---
+ synfig-studio/src/gui/docks/dockdroparea.cpp | 15 ++++++++++-----
+ 1 file changed, 10 insertions(+), 5 deletions(-)
+
+diff --git a/src/gui/docks/dockdroparea.cpp b/synfig-studio/src/gui/docks/dockdroparea.cpp
+index 0f8936fdb..e012282f0 100644
+--- a/src/gui/docks/dockdroparea.cpp
++++ b/src/gui/docks/dockdroparea.cpp
+@@ -35,7 +35,7 @@
+ #include "app.h"
+ #include "docks/dockdroparea.h"
+ #include "docks/dockmanager.h"
+-#include <gtkmm/button.h>
++#include <gtkmm/frame.h>
+ 
+ #endif
+ 
+@@ -61,10 +61,15 @@ DockDropArea::DockDropArea(Gtk::Widget *target):
+ 	std::vector<Gtk::TargetEntry> listTargets;
+ 	listTargets.push_back( Gtk::TargetEntry("SYNFIG_DOCK") );
+ 
+-	Gtk::Button *button_left   = manage(new Gtk::Button());
+-	Gtk::Button *button_right  = manage(new Gtk::Button());
+-	Gtk::Button *button_top    = manage(new Gtk::Button());
+-	Gtk::Button *button_bottom = manage(new Gtk::Button());
++	Gtk::Frame *button_left   = manage(new Gtk::Frame());
++	Gtk::Frame *button_right  = manage(new Gtk::Frame());
++	Gtk::Frame *button_top    = manage(new Gtk::Frame());
++	Gtk::Frame *button_bottom = manage(new Gtk::Frame());
++
++	button_left->set_size_request(20, 10);
++	button_right->set_size_request(20, 10);
++	button_top->set_size_request(20, 10);
++	button_bottom->set_size_request(20, 10);
+ 
+ 	button_left->drag_dest_set(listTargets);
+ 	button_right->drag_dest_set(listTargets);