Merge lp:~darkxst/ubuntu/trusty/nautilus/310c into lp:~ubuntu-desktop/nautilus/ubuntu
- Trusty (14.04)
- 310c
- Merge into ubuntu
Status: | Merged |
---|---|
Merged at revision: | 413 |
Proposed branch: | lp:~darkxst/ubuntu/trusty/nautilus/310c |
Merge into: | lp:~ubuntu-desktop/nautilus/ubuntu |
Diff against target: |
965 lines (+206/-479) 17 files modified
debian/changelog (+14/-0) debian/control.in (+1/-1) debian/patches/06_never_exec_nonexec_launchers.patch (+3/-5) debian/patches/16_unity_new_documents.patch (+15/-18) debian/patches/disconnect-extra-location-widgets.patch (+0/-27) debian/patches/git_correct_context_menu.patch (+0/-25) debian/patches/git_invalid_symlink_handling.patch (+0/-24) debian/patches/git_list_handlers.patch (+0/-52) debian/patches/git_no_bookmark_on_eject.patch (+0/-37) debian/patches/git_rename_background.patch (+0/-26) debian/patches/git_rename_display.patch (+0/-36) debian/patches/git_rtl_icons.patch (+0/-43) debian/patches/git_rubberbands_color.patch (+0/-129) debian/patches/git_sidebar_state_on_start.patch (+0/-49) debian/patches/series (+2/-7) debian/patches/ubuntu_show_titlebar.patch (+78/-0) debian/patches/ubuntu_titlebar_css.patch (+93/-0) |
To merge this branch: | bzr merge lp:~darkxst/ubuntu/trusty/nautilus/310c |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Sebastien Bacher | Approve | ||
Ubuntu Desktop | Pending | ||
Review via email: mp+203024@code.launchpad.net |
This proposal supersedes a proposal from 2014-01-02.
Commit message
Description of the change
Update to 3.10
Have added a patch to disable client side decorations for non-GNOME sessions. Nautilus is not using the GtkHeaderBar API so this is the only way!
Also fixed theming issues with buttons and header-bar corners, one last issue is the square left edge of home button in pathbar when its the only button
Sebastien Bacher (seb128) wrote : Posted in a previous version of this proposal | # |
Tim Lunn (darkxst) wrote : Posted in a previous version of this proposal | # |
Hi Seb,
So largely there were no major features added or removed during this cycle. It was mostly
1. Port to the CSD
2. Places Sidebar was merged into gtk+, most of the diff is just accounting for this slight renaming of API using the new widget etc and subsequent removal of code from nautilus.
3. The rest was mostly bug fixes, I believe atleast one of the top crashers might also be fixed.
Apart from the CSD, The UI is more or less unchanged compared to 3.8. I think compared to previous nautilus release I think this was should be fairly safe with minimal risk of the regressions.
The main reason ubuntu GNOME would like this update for the CSD
Sebastien Bacher (seb128) wrote : Posted in a previous version of this proposal | # |
Thanks for the details, I've just tested it, it looks mostly fine but the toolbar needs fixing, its icons are too small with padding that shouldn't be there, http://
Could you have a look to that?
Sebastien Bacher (seb128) wrote : Posted in a previous version of this proposal | # |
Using the default theme is also some white pixels between the toolbar and the wm decoration, likely the round corners for CSD? see http://
Sebastien Bacher (seb128) wrote : | # |
Thank you for your work, there is an issue though, git_rubberbands
Could you also add some headers to the new patches to explain them/maybe upstream the fixes (or at least report a bug about the issue)?
Tim Lunn (darkxst) wrote : | # |
Seb, nautilus should be ported to GtkHeaderBar proper for 3.12, so I think its unlikely they would take the changes.
Sebastien Bacher (seb128) wrote : | # |
Not sure why some patches are displayed as removed and added back but the result seems fine, thanks!
> Seb, nautilus should be ported to GtkHeaderBar proper for 3.12, so I think its unlikely they would take the changes.
It would still be good to have a bug report about the issue. They might want to fix the issue in the 3.10 serie, and they can close the bug with a "fixed in 3.12 with GtkHeaderBar proper use" if that's the case.
Preview Diff
1 | === modified file 'debian/changelog' |
2 | --- debian/changelog 2014-01-22 02:10:36 +0000 |
3 | +++ debian/changelog 2014-01-25 02:17:44 +0000 |
4 | @@ -1,3 +1,17 @@ |
5 | +nautilus (1:3.10.1-0ubuntu1~trusty1) trusty; urgency=medium |
6 | + |
7 | + * New upstream release |
8 | + * debian/control.in: bump depend on gtk+ 3.9.11 |
9 | + * debian/patches: |
10 | + - Dropped git patches, that are included in new version |
11 | + - 06_never_exec_nonexec_launchers.patch, refreshed |
12 | + - disconnect-extra-location-widgets.patch, dropped included in new version |
13 | + - 16_unity_new_documents.patch, refreshed |
14 | + - ubuntu_show_titlebar.patch, disable CSD titlebar on non-GNOME sessions |
15 | + - ubuntu_titlebar_css.patch, theme fixes (LP: #1272602) |
16 | + |
17 | + -- Tim Lunn <tim@feathertop.org> Thu, 02 Jan 2014 16:50:06 +1100 |
18 | + |
19 | nautilus (1:3.8.2-0ubuntu11) trusty; urgency=medium |
20 | |
21 | * debian/patches/interactive_search.patch: |
22 | |
23 | === modified file 'debian/control.in' |
24 | --- debian/control.in 2013-06-10 20:29:36 +0000 |
25 | +++ debian/control.in 2014-01-25 02:17:44 +0000 |
26 | @@ -11,7 +11,7 @@ |
27 | gnome-pkg-tools (>= 0.13), |
28 | libglib2.0-dev (>= 2.35.3), |
29 | libatk1.0-dev (>= 1.32.0), |
30 | - libgtk-3-dev (>= 3.7.7), |
31 | + libgtk-3-dev (>= 3.9.11), |
32 | libgail-3-dev, |
33 | libgnome-desktop-3-dev (>= 3.0.0), |
34 | libxml2-dev (>= 2.7.8), |
35 | |
36 | === modified file 'debian/patches/06_never_exec_nonexec_launchers.patch' |
37 | --- debian/patches/06_never_exec_nonexec_launchers.patch 2014-01-15 01:39:50 +0000 |
38 | +++ debian/patches/06_never_exec_nonexec_launchers.patch 2014-01-25 02:17:44 +0000 |
39 | @@ -3,10 +3,8 @@ |
40 | https://wiki.ubuntu.com/SecurityTeam/Policies#Execute-Permission%20Bit%20Required |
41 | Author: Kees Cook <kees@ubuntu.com> |
42 | |
43 | -Index: nautilus-3.8.2/src/nautilus-mime-actions.c |
44 | -=================================================================== |
45 | ---- nautilus-3.8.2.orig/src/nautilus-mime-actions.c 2014-01-15 14:31:34.285606087 +1300 |
46 | -+++ nautilus-3.8.2/src/nautilus-mime-actions.c 2014-01-15 14:31:34.281606087 +1300 |
47 | +--- a/src/nautilus-mime-actions.c |
48 | ++++ b/src/nautilus-mime-actions.c |
49 | @@ -1586,12 +1586,14 @@ |
50 | "text", primary, |
51 | "secondary-text", secondary, |
52 | @@ -20,5 +18,5 @@ |
53 | } |
54 | + */ |
55 | gtk_dialog_add_button (GTK_DIALOG (dialog), |
56 | - GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL); |
57 | + _("_Cancel"), GTK_RESPONSE_CANCEL); |
58 | gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_CANCEL); |
59 | |
60 | === modified file 'debian/patches/16_unity_new_documents.patch' |
61 | --- debian/patches/16_unity_new_documents.patch 2014-01-15 01:39:50 +0000 |
62 | +++ debian/patches/16_unity_new_documents.patch 2014-01-25 02:17:44 +0000 |
63 | @@ -1,7 +1,6 @@ |
64 | -Index: nautilus-3.8.2/src/nautilus-actions.h |
65 | -=================================================================== |
66 | ---- nautilus-3.8.2.orig/src/nautilus-actions.h 2014-01-15 14:31:43.065605783 +1300 |
67 | -+++ nautilus-3.8.2/src/nautilus-actions.h 2014-01-15 14:31:43.057605783 +1300 |
68 | +diff -Nur --exclude nautilus-view.c.orig nautilus-3.8.2.orig/src/nautilus-actions.h nautilus-3.8.2/src/nautilus-actions.h |
69 | +--- nautilus-3.8.2.orig/src/nautilus-actions.h 2013-06-21 13:50:33.936456773 +0200 |
70 | ++++ nautilus-3.8.2/src/nautilus-actions.h 2013-06-21 13:50:53.108457411 +0200 |
71 | @@ -118,6 +118,7 @@ |
72 | #define NAUTILUS_ACTION_SCRIPTS "Scripts" |
73 | #define NAUTILUS_ACTION_OPEN_SCRIPTS_FOLDER "Open Scripts Folder" |
74 | @@ -10,10 +9,9 @@ |
75 | #define NAUTILUS_ACTION_EMPTY_TRASH_CONDITIONAL "Empty Trash Conditional" |
76 | #define NAUTILUS_ACTION_MANUAL_LAYOUT "Manual Layout" |
77 | #define NAUTILUS_ACTION_REVERSED_ORDER "Reversed Order" |
78 | -Index: nautilus-3.8.2/src/nautilus-directory-view-ui.xml |
79 | -=================================================================== |
80 | ---- nautilus-3.8.2.orig/src/nautilus-directory-view-ui.xml 2014-01-15 14:31:43.065605783 +1300 |
81 | -+++ nautilus-3.8.2/src/nautilus-directory-view-ui.xml 2014-01-15 14:31:43.061605783 +1300 |
82 | +diff -Nur --exclude nautilus-view.c.orig nautilus-3.8.2.orig/src/nautilus-directory-view-ui.xml nautilus-3.8.2/src/nautilus-directory-view-ui.xml |
83 | +--- nautilus-3.8.2.orig/src/nautilus-directory-view-ui.xml 2013-06-21 13:50:33.960456773 +0200 |
84 | ++++ nautilus-3.8.2/src/nautilus-directory-view-ui.xml 2013-06-21 13:50:53.108457411 +0200 |
85 | @@ -16,6 +16,8 @@ |
86 | <menuitem name="New Folder with Selection" action="New Folder with Selection"/> |
87 | <menu action="New Documents"> |
88 | @@ -32,11 +30,10 @@ |
89 | </menu> |
90 | </placeholder> |
91 | <separator name="Clipboard separator"/> |
92 | -Index: nautilus-3.8.2/src/nautilus-view.c |
93 | -=================================================================== |
94 | ---- nautilus-3.8.2.orig/src/nautilus-view.c 2014-01-15 14:31:43.065605783 +1300 |
95 | -+++ nautilus-3.8.2/src/nautilus-view.c 2014-01-15 14:31:43.061605783 +1300 |
96 | -@@ -2107,6 +2107,15 @@ |
97 | +diff -Nur --exclude nautilus-view.c.orig nautilus-3.8.2.orig/src/nautilus-view.c nautilus-3.8.2/src/nautilus-view.c |
98 | +--- nautilus-3.8.2.orig/src/nautilus-view.c 2013-06-21 13:50:33.956456773 +0200 |
99 | ++++ nautilus-3.8.2/src/nautilus-view.c 2013-06-21 13:50:53.120457411 +0200 |
100 | +@@ -2102,6 +2102,15 @@ |
101 | } |
102 | |
103 | static void |
104 | @@ -52,7 +49,7 @@ |
105 | action_properties_callback (GtkAction *action, |
106 | gpointer callback_data) |
107 | { |
108 | -@@ -7119,6 +7128,11 @@ |
109 | +@@ -7114,6 +7123,11 @@ |
110 | /* label, accelerator */ N_("New Folder with Selection"), NULL, |
111 | /* tooltip */ N_("Create a new folder containing the selected items"), |
112 | G_CALLBACK (action_new_folder_with_selection_callback) }, |
113 | @@ -64,7 +61,7 @@ |
114 | /* name, stock id */ { NAUTILUS_ACTION_OPEN, NULL, |
115 | /* label, accelerator */ N_("_Open"), "<control>o", |
116 | /* tooltip */ N_("Open the selected item in this window"), |
117 | -@@ -7371,6 +7385,27 @@ |
118 | +@@ -7366,6 +7380,27 @@ |
119 | }; |
120 | |
121 | static void |
122 | @@ -78,7 +75,7 @@ |
123 | + |
124 | + if (strcmp (gtk_action_get_name (action), NAUTILUS_ACTION_NEW_EMPTY_DOCUMENT) == 0 && |
125 | + GTK_IS_IMAGE_MENU_ITEM (proxy)) { |
126 | -+ pixbuf = nautilus_ui_get_menu_icon ("text-x-generic"); |
127 | ++ pixbuf = nautilus_ui_get_menu_icon ("text-x-generic", GTK_WIDGET (view)); |
128 | + if (pixbuf != NULL) { |
129 | + image = gtk_image_new_from_pixbuf (pixbuf); |
130 | + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (proxy), image); |
131 | @@ -92,7 +89,7 @@ |
132 | pre_activate (NautilusView *view, |
133 | GtkAction *action, |
134 | GtkActionGroup *action_group) |
135 | -@@ -7433,6 +7468,9 @@ |
136 | +@@ -7428,6 +7463,9 @@ |
137 | g_object_unref (action); |
138 | g_free (tooltip); |
139 | |
140 | @@ -102,7 +99,7 @@ |
141 | g_signal_connect_object (action_group, "pre-activate", |
142 | G_CALLBACK (pre_activate), G_OBJECT (view), |
143 | G_CONNECT_SWAPPED); |
144 | -@@ -8752,7 +8790,11 @@ |
145 | +@@ -8797,7 +8797,11 @@ |
146 | action = gtk_action_group_get_action (view->details->dir_action_group, |
147 | NAUTILUS_ACTION_NEW_DOCUMENTS); |
148 | gtk_action_set_sensitive (action, can_create_files); |
149 | |
150 | === removed file 'debian/patches/disconnect-extra-location-widgets.patch' |
151 | --- debian/patches/disconnect-extra-location-widgets.patch 2014-01-15 01:39:50 +0000 |
152 | +++ debian/patches/disconnect-extra-location-widgets.patch 1970-01-01 00:00:00 +0000 |
153 | @@ -1,27 +0,0 @@ |
154 | -From ac1afaf6040decd43954ad9164fb61c8dba25b33 Mon Sep 17 00:00:00 2001 |
155 | -From: Iain Lane <iain.lane@canonical.com> |
156 | -Date: Thu, 20 Jun 2013 11:32:16 +0100 |
157 | -Subject: [PATCH] Remove extra location widgets when disposing |
158 | - NautilusWindowSlot |
159 | - |
160 | -This causes the widgets to be properly destroyed before the NautilusView |
161 | -is. |
162 | - |
163 | -https://bugzilla.gnome.org/show_bug.cgi?id=702546 |
164 | ---- |
165 | - src/nautilus-window-slot.c | 2 ++ |
166 | - 1 file changed, 2 insertions(+) |
167 | - |
168 | -Index: nautilus-3.8.2/src/nautilus-window-slot.c |
169 | -=================================================================== |
170 | ---- nautilus-3.8.2.orig/src/nautilus-window-slot.c 2014-01-15 14:31:52.489605456 +1300 |
171 | -+++ nautilus-3.8.2/src/nautilus-window-slot.c 2014-01-15 14:31:52.485605456 +1300 |
172 | -@@ -2418,6 +2418,8 @@ |
173 | - nautilus_window_slot_clear_forward_list (slot); |
174 | - nautilus_window_slot_clear_back_list (slot); |
175 | - |
176 | -+ nautilus_window_slot_remove_extra_location_widgets (slot); |
177 | -+ |
178 | - if (slot->details->content_view) { |
179 | - nautilus_window_disconnect_content_view (nautilus_window_slot_get_window (slot), |
180 | - slot->details->content_view); |
181 | |
182 | === removed file 'debian/patches/git_correct_context_menu.patch' |
183 | --- debian/patches/git_correct_context_menu.patch 2013-12-02 10:33:05 +0000 |
184 | +++ debian/patches/git_correct_context_menu.patch 1970-01-01 00:00:00 +0000 |
185 | @@ -1,25 +0,0 @@ |
186 | -From 70cba46d78fc75577cef291979c323ed7d30af20 Mon Sep 17 00:00:00 2001 |
187 | -From: Srinivasa Ragavan <srinivasa.ragavan.venkateswaran@intel.com> |
188 | -Date: Wed, 17 Jul 2013 13:45:39 +0000 |
189 | -Subject: Store the correct current_item if it has changed. It is incorrect to |
190 | - |
191 | -ignore the new current item just because the mouse is down. It is |
192 | -later used for right click. |
193 | - |
194 | -Fixes bgo #704289. |
195 | ---- |
196 | -diff --git a/eel/eel-canvas.c b/eel/eel-canvas.c |
197 | -index 7ebd6cc..c929727 100644 |
198 | ---- a/eel/eel-canvas.c |
199 | -+++ b/eel/eel-canvas.c |
200 | -@@ -2593,6 +2593,7 @@ pick_current_item (EelCanvas *canvas, GdkEvent *event) |
201 | - /* new_current_item may have been set to NULL during the call to emit_event() above */ |
202 | - |
203 | - if ((canvas->new_current_item != canvas->current_item) && button_down) { |
204 | -+ canvas->current_item = canvas->new_current_item; |
205 | - canvas->left_grabbed_item = TRUE; |
206 | - return retval; |
207 | - } |
208 | --- |
209 | -cgit v0.9.2 |
210 | - |
211 | |
212 | === added file 'debian/patches/git_invalid_symlink_handling.patch' |
213 | --- debian/patches/git_invalid_symlink_handling.patch 1970-01-01 00:00:00 +0000 |
214 | +++ debian/patches/git_invalid_symlink_handling.patch 2014-01-25 02:17:44 +0000 |
215 | @@ -0,0 +1,24 @@ |
216 | +From c2a5e05231ea0743ef89e666c37a0a77534b9573 Mon Sep 17 00:00:00 2001 |
217 | +From: Michael Catanzaro <mcatanzaro@gnome.org> |
218 | +Date: Thu, 07 Nov 2013 03:53:45 +0000 |
219 | +Subject: NautilusFile: fix crash in modify_link_hash_table |
220 | + |
221 | +We crash in g_hash_table_lookup_extended if the file's symlink_name is |
222 | +set but the file is not a symlink, since the hash function (g_str_hash) |
223 | +does not allow NULL values but target_uri is NULL. |
224 | + |
225 | +https://bugzilla.gnome.org/show_bug.cgi?id=711583 |
226 | +--- |
227 | +Index: nautilus-3.8.2/libnautilus-private/nautilus-file.c |
228 | +=================================================================== |
229 | +--- nautilus-3.8.2.orig/libnautilus-private/nautilus-file.c 2014-01-15 14:32:11.321604804 +1300 |
230 | ++++ nautilus-3.8.2/libnautilus-private/nautilus-file.c 2014-01-15 14:32:11.317604804 +1300 |
231 | +@@ -556,7 +556,7 @@ |
232 | + GList **list_ptr; |
233 | + |
234 | + /* Check if there is a symlink name. If none, we are OK. */ |
235 | +- if (file->details->symlink_name == NULL) { |
236 | ++ if (file->details->symlink_name == NULL || !nautilus_file_is_symbolic_link (file)) { |
237 | + return; |
238 | + } |
239 | + |
240 | |
241 | === removed file 'debian/patches/git_invalid_symlink_handling.patch' |
242 | --- debian/patches/git_invalid_symlink_handling.patch 2014-01-15 01:39:50 +0000 |
243 | +++ debian/patches/git_invalid_symlink_handling.patch 1970-01-01 00:00:00 +0000 |
244 | @@ -1,24 +0,0 @@ |
245 | -From c2a5e05231ea0743ef89e666c37a0a77534b9573 Mon Sep 17 00:00:00 2001 |
246 | -From: Michael Catanzaro <mcatanzaro@gnome.org> |
247 | -Date: Thu, 07 Nov 2013 03:53:45 +0000 |
248 | -Subject: NautilusFile: fix crash in modify_link_hash_table |
249 | - |
250 | -We crash in g_hash_table_lookup_extended if the file's symlink_name is |
251 | -set but the file is not a symlink, since the hash function (g_str_hash) |
252 | -does not allow NULL values but target_uri is NULL. |
253 | - |
254 | -https://bugzilla.gnome.org/show_bug.cgi?id=711583 |
255 | ---- |
256 | -Index: nautilus-3.8.2/libnautilus-private/nautilus-file.c |
257 | -=================================================================== |
258 | ---- nautilus-3.8.2.orig/libnautilus-private/nautilus-file.c 2014-01-15 14:32:11.321604804 +1300 |
259 | -+++ nautilus-3.8.2/libnautilus-private/nautilus-file.c 2014-01-15 14:32:11.317604804 +1300 |
260 | -@@ -556,7 +556,7 @@ |
261 | - GList **list_ptr; |
262 | - |
263 | - /* Check if there is a symlink name. If none, we are OK. */ |
264 | -- if (file->details->symlink_name == NULL) { |
265 | -+ if (file->details->symlink_name == NULL || !nautilus_file_is_symbolic_link (file)) { |
266 | - return; |
267 | - } |
268 | - |
269 | |
270 | === removed file 'debian/patches/git_list_handlers.patch' |
271 | --- debian/patches/git_list_handlers.patch 2013-10-11 13:20:38 +0000 |
272 | +++ debian/patches/git_list_handlers.patch 1970-01-01 00:00:00 +0000 |
273 | @@ -1,52 +0,0 @@ |
274 | -From 9a4ff3ca0d8476e15daa6dd92ac6c0eb8c5b9695 Mon Sep 17 00:00:00 2001 |
275 | -From: Cosimo Cecchi <cosimoc@gnome.org> |
276 | -Date: Tue, 17 Sep 2013 17:59:37 +0000 |
277 | -Subject: Revert "mime-actions: filter applications not supposed to be visible" |
278 | - |
279 | -This reverts commit 7770b63d6726bc7ab4b886d6bd3edd009e622e55. |
280 | - |
281 | -https://bugzilla.gnome.org/show_bug.cgi?id=702681 |
282 | ---- |
283 | -diff --git a/src/nautilus-mime-actions.c b/src/nautilus-mime-actions.c |
284 | -index ae9fa8a..401aa8c 100644 |
285 | ---- a/src/nautilus-mime-actions.c |
286 | -+++ b/src/nautilus-mime-actions.c |
287 | -@@ -258,28 +258,6 @@ filter_nautilus_handler (GList *apps) |
288 | - } |
289 | - |
290 | - static GList* |
291 | --filter_no_show_apps (GList *apps) |
292 | --{ |
293 | -- GList *l, *next; |
294 | -- GAppInfo *application; |
295 | -- |
296 | -- l = apps; |
297 | -- while (l != NULL) { |
298 | -- application = (GAppInfo *) l->data; |
299 | -- next = l->next; |
300 | -- |
301 | -- if (!g_app_info_should_show (application)) { |
302 | -- g_object_unref (application); |
303 | -- apps = g_list_delete_link (apps, l); |
304 | -- } |
305 | -- |
306 | -- l = next; |
307 | -- } |
308 | -- |
309 | -- return apps; |
310 | --} |
311 | -- |
312 | --static GList* |
313 | - filter_non_uri_apps (GList *apps, |
314 | - gboolean accept_files) |
315 | - { |
316 | -@@ -470,8 +448,6 @@ nautilus_mime_get_applications_for_file (NautilusFile *file) |
317 | - g_free (uri_scheme); |
318 | - } |
319 | - |
320 | -- result = filter_no_show_apps (result); |
321 | -- |
322 | - /* Filter out non-uri supporting apps */ |
323 | - result = filter_non_uri_apps (result, file_has_local_path (file)); |
324 | - |
325 | - |
326 | |
327 | === removed file 'debian/patches/git_no_bookmark_on_eject.patch' |
328 | --- debian/patches/git_no_bookmark_on_eject.patch 2013-12-02 10:29:06 +0000 |
329 | +++ debian/patches/git_no_bookmark_on_eject.patch 1970-01-01 00:00:00 +0000 |
330 | @@ -1,37 +0,0 @@ |
331 | -From d5c09af0d7052b778e295ece5b4bdda71b779383 Mon Sep 17 00:00:00 2001 |
332 | -From: Joshua Lock <joshua.lock@intel.com> |
333 | -Date: Thu, 11 Jul 2013 20:43:09 +0000 |
334 | -Subject: places-sidebar: don't call open_selected_bookmark () when ejecting |
335 | - |
336 | -This prevents nautilus trying to switch to the place which is being ejected |
337 | -and in turn showing an error. |
338 | - |
339 | -https://bugzilla.gnome.org/show_bug.cgi?id=699183 |
340 | ---- |
341 | -diff --git a/src/nautilus-places-sidebar.c b/src/nautilus-places-sidebar.c |
342 | -index 774739a..a487d90 100644 |
343 | ---- a/src/nautilus-places-sidebar.c |
344 | -+++ b/src/nautilus-places-sidebar.c |
345 | -@@ -2924,13 +2924,18 @@ bookmarks_row_activated_cb (GtkWidget *widget, |
346 | - NautilusPlacesSidebar *sidebar) |
347 | - { |
348 | - GtkTreeIter iter; |
349 | -+ GtkTreePath *clicked_path = NULL; |
350 | - GtkTreeModel *model = gtk_tree_view_get_model (GTK_TREE_VIEW (widget)); |
351 | - |
352 | - if (!gtk_tree_model_get_iter (model, &iter, path)) { |
353 | - return; |
354 | - } |
355 | - |
356 | -- open_selected_bookmark (sidebar, model, &iter, 0); |
357 | -+ if (!clicked_eject_button (sidebar, &clicked_path)) { |
358 | -+ open_selected_bookmark (sidebar, model, &iter, 0); |
359 | -+ } else { |
360 | -+ gtk_tree_path_free (clicked_path); |
361 | -+ } |
362 | - } |
363 | - |
364 | - static gboolean |
365 | --- |
366 | -cgit v0.9.2 |
367 | - |
368 | |
369 | === added file 'debian/patches/git_rename_background.patch' |
370 | --- debian/patches/git_rename_background.patch 1970-01-01 00:00:00 +0000 |
371 | +++ debian/patches/git_rename_background.patch 2014-01-25 02:17:44 +0000 |
372 | @@ -0,0 +1,26 @@ |
373 | +From c3b2b0a0223aa18cae06259304842e4af5ac1529 Mon Sep 17 00:00:00 2001 |
374 | +From: Alexander Larsson <alexl@redhat.com> |
375 | +Date: Wed, 06 Nov 2013 09:23:58 +0000 |
376 | +Subject: EelEditableLabel: Render background |
377 | + |
378 | +Without this the rename widget background is always transparent, which |
379 | +makes it very hard to read on e.g. the desktop with a background |
380 | +image. |
381 | +--- |
382 | +diff --git a/eel/eel-editable-label.c b/eel/eel-editable-label.c |
383 | +index 0da68fd..f348a90 100644 |
384 | +--- a/eel/eel-editable-label.c |
385 | ++++ b/eel/eel-editable-label.c |
386 | +@@ -1504,6 +1504,11 @@ eel_editable_label_draw (GtkWidget *widget, |
387 | + label = EEL_EDITABLE_LABEL (widget); |
388 | + style = gtk_widget_get_style_context (widget); |
389 | + |
390 | ++ gtk_render_background (style, cr, |
391 | ++ 0, 0, |
392 | ++ gtk_widget_get_allocated_width (widget), |
393 | ++ gtk_widget_get_allocated_height (widget)); |
394 | ++ |
395 | + eel_editable_label_ensure_layout (label, TRUE); |
396 | + |
397 | + if (gtk_widget_get_visible (widget) && gtk_widget_get_mapped (widget) && |
398 | + |
399 | |
400 | === removed file 'debian/patches/git_rename_background.patch' |
401 | --- debian/patches/git_rename_background.patch 2013-11-18 12:52:19 +0000 |
402 | +++ debian/patches/git_rename_background.patch 1970-01-01 00:00:00 +0000 |
403 | @@ -1,26 +0,0 @@ |
404 | -From c3b2b0a0223aa18cae06259304842e4af5ac1529 Mon Sep 17 00:00:00 2001 |
405 | -From: Alexander Larsson <alexl@redhat.com> |
406 | -Date: Wed, 06 Nov 2013 09:23:58 +0000 |
407 | -Subject: EelEditableLabel: Render background |
408 | - |
409 | -Without this the rename widget background is always transparent, which |
410 | -makes it very hard to read on e.g. the desktop with a background |
411 | -image. |
412 | ---- |
413 | -diff --git a/eel/eel-editable-label.c b/eel/eel-editable-label.c |
414 | -index 0da68fd..f348a90 100644 |
415 | ---- a/eel/eel-editable-label.c |
416 | -+++ b/eel/eel-editable-label.c |
417 | -@@ -1504,6 +1504,11 @@ eel_editable_label_draw (GtkWidget *widget, |
418 | - label = EEL_EDITABLE_LABEL (widget); |
419 | - style = gtk_widget_get_style_context (widget); |
420 | - |
421 | -+ gtk_render_background (style, cr, |
422 | -+ 0, 0, |
423 | -+ gtk_widget_get_allocated_width (widget), |
424 | -+ gtk_widget_get_allocated_height (widget)); |
425 | -+ |
426 | - eel_editable_label_ensure_layout (label, TRUE); |
427 | - |
428 | - if (gtk_widget_get_visible (widget) && gtk_widget_get_mapped (widget) && |
429 | - |
430 | |
431 | === removed file 'debian/patches/git_rename_display.patch' |
432 | --- debian/patches/git_rename_display.patch 2014-01-10 16:45:46 +0000 |
433 | +++ debian/patches/git_rename_display.patch 1970-01-01 00:00:00 +0000 |
434 | @@ -1,36 +0,0 @@ |
435 | -diff --git a/eel/eel-canvas.c b/eel/eel-canvas.c |
436 | -index c929727..0739ceb 100644 |
437 | ---- a/eel/eel-canvas.c |
438 | -+++ b/eel/eel-canvas.c |
439 | -@@ -2834,11 +2834,19 @@ eel_canvas_draw (GtkWidget *widget, cairo_t *cr) |
440 | - return FALSE; |
441 | - |
442 | - bin_window = gtk_layout_get_bin_window (GTK_LAYOUT (widget)); |
443 | -+ |
444 | -+ if (!gtk_cairo_should_draw_window (cr, bin_window)) |
445 | -+ return FALSE; |
446 | -+ |
447 | -+ cairo_save (cr); |
448 | -+ |
449 | - gtk_cairo_transform_to_window (cr, widget, bin_window); |
450 | - |
451 | - region = eel_cairo_get_clip_region (cr); |
452 | -- if (region == NULL) |
453 | -+ if (region == NULL) { |
454 | -+ cairo_restore (cr); |
455 | - return FALSE; |
456 | -+ } |
457 | - |
458 | - #ifdef VERBOSE |
459 | - g_print ("Draw\n"); |
460 | -@@ -2870,6 +2878,8 @@ eel_canvas_draw (GtkWidget *widget, cairo_t *cr) |
461 | - if (canvas->root->flags & EEL_CANVAS_ITEM_MAPPED) |
462 | - EEL_CANVAS_ITEM_GET_CLASS (canvas->root)->draw (canvas->root, cr, region); |
463 | - |
464 | -+ cairo_restore (cr); |
465 | -+ |
466 | - /* Chain up to get exposes on child widgets */ |
467 | - if (GTK_WIDGET_CLASS (canvas_parent_class)->draw) |
468 | - GTK_WIDGET_CLASS (canvas_parent_class)->draw (widget, cr); |
469 | --- |
470 | -cgit v0.9.2 |
471 | |
472 | === removed file 'debian/patches/git_rtl_icons.patch' |
473 | --- debian/patches/git_rtl_icons.patch 2013-12-02 10:40:46 +0000 |
474 | +++ debian/patches/git_rtl_icons.patch 1970-01-01 00:00:00 +0000 |
475 | @@ -1,43 +0,0 @@ |
476 | -From e123ad58bbb26e9369d5b7573e538c0c2455da0f Mon Sep 17 00:00:00 2001 |
477 | -From: Yosef Or Boczko <yoseforb@gmail.com> |
478 | -Date: Mon, 29 Jul 2013 15:44:14 +0000 |
479 | -Subject: toolbar: Set button arrow icons according to locale's text direction |
480 | - |
481 | -https://bugzilla.gnome.org/show_bug.cgi?id=705072 |
482 | ---- |
483 | -diff --git a/src/nautilus-toolbar.c b/src/nautilus-toolbar.c |
484 | -index 15575fd..9ef565b 100644 |
485 | ---- a/src/nautilus-toolbar.c |
486 | -+++ b/src/nautilus-toolbar.c |
487 | -@@ -408,9 +408,12 @@ nautilus_toolbar_constructed (GObject *obj) |
488 | - GtkToolItem *back_forward; |
489 | - GtkToolItem *tool_item; |
490 | - GtkUIManager *ui_manager; |
491 | -+ gboolean rtl; |
492 | - |
493 | - G_OBJECT_CLASS (nautilus_toolbar_parent_class)->constructed (obj); |
494 | - |
495 | -+ rtl = gtk_widget_get_default_direction () == GTK_TEXT_DIR_RTL; |
496 | -+ |
497 | - ui_manager = nautilus_window_get_ui_manager (self->priv->window); |
498 | - |
499 | - gtk_style_context_set_junction_sides (gtk_widget_get_style_context (GTK_WIDGET (self)), |
500 | -@@ -433,11 +436,15 @@ nautilus_toolbar_constructed (GObject *obj) |
501 | - |
502 | - /* Back */ |
503 | - tool_button = toolbar_create_toolbutton (self, FALSE, FALSE, NAUTILUS_ACTION_BACK, NULL); |
504 | -+ gtk_action_set_icon_name (gtk_activatable_get_related_action (tool_button), |
505 | -+ rtl ? "go-previous-rtl-symbolic" : "go-previous-symbolic"); |
506 | - navigation_button_setup_menu (self, tool_button, NAUTILUS_NAVIGATION_DIRECTION_BACK); |
507 | - gtk_container_add (GTK_CONTAINER (box), GTK_WIDGET (tool_button)); |
508 | - |
509 | - /* Forward */ |
510 | - tool_button = toolbar_create_toolbutton (self, FALSE, FALSE, NAUTILUS_ACTION_FORWARD, NULL); |
511 | -+ gtk_action_set_icon_name (gtk_activatable_get_related_action (tool_button), |
512 | -+ rtl ? "go-next-rtl-symbolic" : "go-next-symbolic"); |
513 | - navigation_button_setup_menu (self, tool_button, NAUTILUS_NAVIGATION_DIRECTION_FORWARD); |
514 | - gtk_container_add (GTK_CONTAINER (box), GTK_WIDGET (tool_button)); |
515 | - |
516 | --- |
517 | -cgit v0.9.2 |
518 | - |
519 | |
520 | === removed file 'debian/patches/git_rubberbands_color.patch' |
521 | --- debian/patches/git_rubberbands_color.patch 2013-06-19 17:51:04 +0000 |
522 | +++ debian/patches/git_rubberbands_color.patch 1970-01-01 00:00:00 +0000 |
523 | @@ -1,129 +0,0 @@ |
524 | -From d532ab4f91d374beb53bbd091cf8a3f0fb288c97 Mon Sep 17 00:00:00 2001 |
525 | -From: Ted Gould <ted@gould.cx> |
526 | -Date: Mon, 29 Apr 2013 17:47:45 +0000 |
527 | -Subject: Shade rubberbands on the desktop by the wallpaper |
528 | - |
529 | -Use the _GNOME_BACKGROUND_REPRESENTATIVE_COLORS X atom to decide how to |
530 | -shade the rubberband when selecting icons on the desktop. |
531 | - |
532 | -https://bugzilla.gnome.org/show_bug.cgi?id=695689 |
533 | ---- |
534 | -diff --git a/libnautilus-private/nautilus-canvas-container.c b/libnautilus-private/nautilus-canvas-container.c |
535 | -index 1450565..8df1e47 100644 |
536 | ---- a/libnautilus-private/nautilus-canvas-container.c |
537 | -+++ b/libnautilus-private/nautilus-canvas-container.c |
538 | -@@ -26,6 +26,8 @@ |
539 | - */ |
540 | - |
541 | - #include <config.h> |
542 | -+#include <X11/Xlib.h> |
543 | -+#include <X11/Xatom.h> |
544 | - #include <math.h> |
545 | - #include "nautilus-canvas-container.h" |
546 | - |
547 | -@@ -2327,6 +2329,79 @@ rubberband_timeout_callback (gpointer data) |
548 | - } |
549 | - |
550 | - static void |
551 | -+get_rubber_color (NautilusCanvasContainer *container, |
552 | -+ GdkRGBA *bgcolor, |
553 | -+ GdkRGBA *bordercolor) |
554 | -+{ |
555 | -+ Atom real_type; |
556 | -+ gint result; |
557 | -+ gint real_format; |
558 | -+ gulong items_read = 0; |
559 | -+ gulong items_left = 0; |
560 | -+ gchar *colors; |
561 | -+ Atom representative_colors_atom; |
562 | -+ Display *display; |
563 | -+ |
564 | -+ if (nautilus_canvas_container_get_is_desktop (container)) { |
565 | -+ representative_colors_atom = gdk_x11_get_xatom_by_name ("_GNOME_BACKGROUND_REPRESENTATIVE_COLORS"); |
566 | -+ display = gdk_x11_display_get_xdisplay (gdk_display_get_default ()); |
567 | -+ |
568 | -+ gdk_error_trap_push (); |
569 | -+ result = XGetWindowProperty (display, |
570 | -+ GDK_ROOT_WINDOW (), |
571 | -+ representative_colors_atom, |
572 | -+ 0L, |
573 | -+ G_MAXLONG, |
574 | -+ False, |
575 | -+ XA_STRING, |
576 | -+ &real_type, |
577 | -+ &real_format, |
578 | -+ &items_read, |
579 | -+ &items_left, |
580 | -+ (guchar **) &colors); |
581 | -+ gdk_error_trap_pop_ignored (); |
582 | -+ } |
583 | -+ |
584 | -+ if (result == Success && items_read) { |
585 | -+ /* by treating the result as a nul-terminated string, we |
586 | -+ * select the first colour in the list. |
587 | -+ */ |
588 | -+ GdkRGBA read; |
589 | -+ gdouble shade; |
590 | -+ |
591 | -+ gdk_rgba_parse (&read, colors); |
592 | -+ XFree (colors); |
593 | -+ |
594 | -+ /* Border |
595 | -+ * |
596 | -+ * We shade darker colours to be slightly lighter and |
597 | -+ * lighter ones to be slightly darker. |
598 | -+ */ |
599 | -+ shade = read.green < 0.5 ? 1.1 : 0.9; |
600 | -+ bordercolor->red = read.red * shade; |
601 | -+ bordercolor->green = read.green * shade; |
602 | -+ bordercolor->blue = read.blue * shade; |
603 | -+ bordercolor->alpha = 1.0; |
604 | -+ |
605 | -+ /* Background */ |
606 | -+ *bgcolor = read; |
607 | -+ bgcolor->alpha = 0.6; |
608 | -+ } else { |
609 | -+ /* Fallback to the style context if we can't get the Atom */ |
610 | -+ GtkStyleContext *context; |
611 | -+ |
612 | -+ context = gtk_widget_get_style_context (GTK_WIDGET (container)); |
613 | -+ gtk_style_context_save (context); |
614 | -+ gtk_style_context_add_class (context, GTK_STYLE_CLASS_RUBBERBAND); |
615 | -+ |
616 | -+ gtk_style_context_get_background_color (context, GTK_STATE_FLAG_NORMAL, bgcolor); |
617 | -+ gtk_style_context_get_border_color (context, GTK_STATE_FLAG_NORMAL, bordercolor); |
618 | -+ |
619 | -+ gtk_style_context_restore (context); |
620 | -+ } |
621 | -+} |
622 | -+ |
623 | -+static void |
624 | - start_rubberbanding (NautilusCanvasContainer *container, |
625 | - GdkEventButton *event) |
626 | - { |
627 | -@@ -2336,7 +2411,6 @@ start_rubberbanding (NautilusCanvasContainer *container, |
628 | - GdkRGBA bg_color, border_color; |
629 | - GList *p; |
630 | - NautilusCanvasIcon *icon; |
631 | -- GtkStyleContext *context; |
632 | - |
633 | - details = container->details; |
634 | - band_info = &details->rubberband_info; |
635 | -@@ -2353,14 +2427,7 @@ start_rubberbanding (NautilusCanvasContainer *container, |
636 | - (EEL_CANVAS (container), event->x, event->y, |
637 | - &band_info->start_x, &band_info->start_y); |
638 | - |
639 | -- context = gtk_widget_get_style_context (GTK_WIDGET (container)); |
640 | -- gtk_style_context_save (context); |
641 | -- gtk_style_context_add_class (context, GTK_STYLE_CLASS_RUBBERBAND); |
642 | -- |
643 | -- gtk_style_context_get_background_color (context, GTK_STATE_FLAG_NORMAL, &bg_color); |
644 | -- gtk_style_context_get_border_color (context, GTK_STATE_FLAG_NORMAL, &border_color); |
645 | -- |
646 | -- gtk_style_context_restore (context); |
647 | -+ get_rubber_color (container, &bg_color, &border_color); |
648 | - |
649 | - band_info->selection_rectangle = eel_canvas_item_new |
650 | - (eel_canvas_root |
651 | --- |
652 | -cgit v0.9.2 |
653 | |
654 | === added file 'debian/patches/git_sidebar_state_on_start.patch' |
655 | --- debian/patches/git_sidebar_state_on_start.patch 1970-01-01 00:00:00 +0000 |
656 | +++ debian/patches/git_sidebar_state_on_start.patch 2014-01-25 02:17:44 +0000 |
657 | @@ -0,0 +1,49 @@ |
658 | +Index: nautilus-3.8.2/src/nautilus-window.c |
659 | +=================================================================== |
660 | +--- nautilus-3.8.2.orig/src/nautilus-window.c 2014-01-17 13:39:15.618921261 +0100 |
661 | ++++ nautilus-3.8.2/src/nautilus-window.c 2014-01-17 13:40:01.138918967 +0100 |
662 | +@@ -455,6 +455,8 @@ |
663 | + GdkScreen *screen; |
664 | + guint max_width_for_screen, max_height_for_screen; |
665 | + guint default_width, default_height; |
666 | ++ gboolean show_sidebar; |
667 | ++ GtkAction *action; |
668 | + |
669 | + screen = gtk_window_get_screen (GTK_WINDOW (window)); |
670 | + |
671 | +@@ -469,6 +471,17 @@ |
672 | + max_width_for_screen), |
673 | + MIN (default_height, |
674 | + max_height_for_screen)); |
675 | ++ |
676 | ++ show_sidebar = g_settings_get_boolean (nautilus_window_state, NAUTILUS_WINDOW_STATE_START_WITH_SIDEBAR); |
677 | ++ action = gtk_action_group_get_action (window->details->main_action_group, |
678 | ++ NAUTILUS_ACTION_SHOW_HIDE_SIDEBAR); |
679 | ++ gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), show_sidebar); |
680 | ++ |
681 | ++ if (show_sidebar) { |
682 | ++ nautilus_window_show_sidebar (window); |
683 | ++ } else { |
684 | ++ nautilus_window_hide_sidebar (window); |
685 | ++ } |
686 | + } |
687 | + |
688 | + static gboolean |
689 | +@@ -1173,16 +1186,11 @@ |
690 | + gtk_widget_show (window->details->main_view); |
691 | + |
692 | + window->details->notebook = create_notebook (window); |
693 | +- nautilus_window_set_initial_window_geometry (window); |
694 | + |
695 | + slot = nautilus_window_open_slot (window, 0); |
696 | + nautilus_window_set_active_slot (window, slot); |
697 | + |
698 | +- if (g_settings_get_boolean (nautilus_window_state, NAUTILUS_WINDOW_STATE_START_WITH_SIDEBAR)) { |
699 | +- nautilus_window_show_sidebar (window); |
700 | +- } else { |
701 | +- nautilus_window_hide_sidebar (window); |
702 | +- } |
703 | ++ nautilus_window_set_initial_window_geometry (window); |
704 | + |
705 | + window->details->bookmarks_id = |
706 | + g_signal_connect_swapped (nautilus_application_get_bookmarks (application), "changed", |
707 | |
708 | === removed file 'debian/patches/git_sidebar_state_on_start.patch' |
709 | --- debian/patches/git_sidebar_state_on_start.patch 2014-01-17 12:46:21 +0000 |
710 | +++ debian/patches/git_sidebar_state_on_start.patch 1970-01-01 00:00:00 +0000 |
711 | @@ -1,49 +0,0 @@ |
712 | -Index: nautilus-3.8.2/src/nautilus-window.c |
713 | -=================================================================== |
714 | ---- nautilus-3.8.2.orig/src/nautilus-window.c 2014-01-17 13:39:15.618921261 +0100 |
715 | -+++ nautilus-3.8.2/src/nautilus-window.c 2014-01-17 13:40:01.138918967 +0100 |
716 | -@@ -455,6 +455,8 @@ |
717 | - GdkScreen *screen; |
718 | - guint max_width_for_screen, max_height_for_screen; |
719 | - guint default_width, default_height; |
720 | -+ gboolean show_sidebar; |
721 | -+ GtkAction *action; |
722 | - |
723 | - screen = gtk_window_get_screen (GTK_WINDOW (window)); |
724 | - |
725 | -@@ -469,6 +471,17 @@ |
726 | - max_width_for_screen), |
727 | - MIN (default_height, |
728 | - max_height_for_screen)); |
729 | -+ |
730 | -+ show_sidebar = g_settings_get_boolean (nautilus_window_state, NAUTILUS_WINDOW_STATE_START_WITH_SIDEBAR); |
731 | -+ action = gtk_action_group_get_action (window->details->main_action_group, |
732 | -+ NAUTILUS_ACTION_SHOW_HIDE_SIDEBAR); |
733 | -+ gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), show_sidebar); |
734 | -+ |
735 | -+ if (show_sidebar) { |
736 | -+ nautilus_window_show_sidebar (window); |
737 | -+ } else { |
738 | -+ nautilus_window_hide_sidebar (window); |
739 | -+ } |
740 | - } |
741 | - |
742 | - static gboolean |
743 | -@@ -1173,16 +1186,11 @@ |
744 | - gtk_widget_show (window->details->main_view); |
745 | - |
746 | - window->details->notebook = create_notebook (window); |
747 | -- nautilus_window_set_initial_window_geometry (window); |
748 | - |
749 | - slot = nautilus_window_open_slot (window, 0); |
750 | - nautilus_window_set_active_slot (window, slot); |
751 | - |
752 | -- if (g_settings_get_boolean (nautilus_window_state, NAUTILUS_WINDOW_STATE_START_WITH_SIDEBAR)) { |
753 | -- nautilus_window_show_sidebar (window); |
754 | -- } else { |
755 | -- nautilus_window_hide_sidebar (window); |
756 | -- } |
757 | -+ nautilus_window_set_initial_window_geometry (window); |
758 | - |
759 | - window->details->bookmarks_id = |
760 | - g_signal_connect_swapped (nautilus_application_get_bookmarks (application), "changed", |
761 | |
762 | === modified file 'debian/patches/series' |
763 | --- debian/patches/series 2014-01-22 01:25:45 +0000 |
764 | +++ debian/patches/series 2014-01-25 02:17:44 +0000 |
765 | @@ -14,17 +14,12 @@ |
766 | dont_wrap_labels_after_dots.patch |
767 | 19_unity_open_location_xid.patch |
768 | 20_unity_control_center.patch |
769 | -disconnect-extra-location-widgets.patch |
770 | -git_rubberbands_color.patch |
771 | ubuntu_revert_no_wallpaper.patch |
772 | ubuntu_sync_background_to_accountsservice.patch |
773 | -git_list_handlers.patch |
774 | git_rename_background.patch |
775 | -git_no_bookmark_on_eject.patch |
776 | git_invalid_symlink_handling.patch |
777 | -git_correct_context_menu.patch |
778 | -git_rtl_icons.patch |
779 | -git_rename_display.patch |
780 | no_search_on_desktop.patch |
781 | git_sidebar_state_on_start.patch |
782 | interactive_search.patch |
783 | +ubuntu_show_titlebar.patch |
784 | +ubuntu_titlebar_css.patch |
785 | |
786 | === added file 'debian/patches/ubuntu_show_titlebar.patch' |
787 | --- debian/patches/ubuntu_show_titlebar.patch 1970-01-01 00:00:00 +0000 |
788 | +++ debian/patches/ubuntu_show_titlebar.patch 2014-01-25 02:17:44 +0000 |
789 | @@ -0,0 +1,78 @@ |
790 | +From: Tim Lunn <tim@feathertop.org> |
791 | +Date: Fri, 24 Jan 2014 08:24:31 +1100 |
792 | +Subject: [PATCH] Show Titlebars when running non-GNOME Session |
793 | +Description: This patch re-enables traditional titlebars and removes the CSD close |
794 | +button for all non-GNOME Sessions. |
795 | + |
796 | +--- a/src/nautilus-toolbar.c |
797 | ++++ b/src/nautilus-toolbar.c |
798 | +@@ -513,30 +513,31 @@ |
799 | + } |
800 | + |
801 | + /* Separator and Close */ |
802 | +- separator = gtk_separator_new (GTK_ORIENTATION_VERTICAL); |
803 | +- gtk_container_add (GTK_CONTAINER (toolbar), separator); |
804 | ++ if (!g_strcmp0(g_getenv("XDG_CURRENT_DESKTOP"), "GNOME")) { |
805 | ++ separator = gtk_separator_new (GTK_ORIENTATION_VERTICAL); |
806 | ++ gtk_container_add (GTK_CONTAINER (toolbar), separator); |
807 | + |
808 | +- if (rtl) { |
809 | +- gtk_widget_set_margin_right (separator, 6); |
810 | +- } else { |
811 | +- gtk_widget_set_margin_left (separator, 6); |
812 | +- } |
813 | ++ if (rtl) { |
814 | ++ gtk_widget_set_margin_right (separator, 6); |
815 | ++ } else { |
816 | ++ gtk_widget_set_margin_left (separator, 6); |
817 | ++ } |
818 | + |
819 | +- button = gtk_button_new_from_icon_name ("window-close-symbolic", |
820 | +- GTK_ICON_SIZE_MENU); |
821 | +- gtk_button_set_relief (GTK_BUTTON (button), GTK_RELIEF_NONE); |
822 | +- gtk_style_context_add_class (gtk_widget_get_style_context (button), |
823 | +- "titlebutton"); |
824 | +- g_signal_connect (button, "clicked", |
825 | +- G_CALLBACK (close_button_clicked), self); |
826 | +- gtk_container_add (GTK_CONTAINER (toolbar), button); |
827 | ++ button = gtk_button_new_from_icon_name ("window-close-symbolic", |
828 | ++ GTK_ICON_SIZE_MENU); |
829 | ++ gtk_button_set_relief (GTK_BUTTON (button), GTK_RELIEF_NONE); |
830 | ++ gtk_style_context_add_class (gtk_widget_get_style_context (button), |
831 | ++ "titlebutton"); |
832 | ++ g_signal_connect (button, "clicked", |
833 | ++ G_CALLBACK (close_button_clicked), self); |
834 | ++ gtk_container_add (GTK_CONTAINER (toolbar), button); |
835 | + |
836 | +- if (rtl) { |
837 | +- gtk_widget_set_margin_right (button, 6); |
838 | +- } else { |
839 | +- gtk_widget_set_margin_left (button, 6); |
840 | ++ if (rtl) { |
841 | ++ gtk_widget_set_margin_right (button, 6); |
842 | ++ } else { |
843 | ++ gtk_widget_set_margin_left (button, 6); |
844 | ++ } |
845 | + } |
846 | +- |
847 | + g_signal_connect_swapped (nautilus_preferences, |
848 | + "changed::" NAUTILUS_PREFERENCES_ALWAYS_USE_LOCATION_ENTRY, |
849 | + G_CALLBACK (toolbar_update_appearance), self); |
850 | +--- a/src/nautilus-window.c |
851 | ++++ b/src/nautilus-window.c |
852 | +@@ -1499,7 +1499,14 @@ |
853 | + G_CALLBACK (nautilus_window_load_extension_menus), window, G_CONNECT_SWAPPED); |
854 | + |
855 | + window->details->toolbar = create_toolbar (window); |
856 | +- gtk_window_set_titlebar (GTK_WINDOW (window), window->details->toolbar); |
857 | ++ if (g_strcmp0(g_getenv("XDG_CURRENT_DESKTOP"), "GNOME")) { |
858 | ++ gtk_container_add (GTK_CONTAINER (grid), window->details->toolbar); |
859 | ++ gtk_widget_set_hexpand (window->details->toolbar, TRUE); |
860 | ++ gtk_widget_set_vexpand (window->details->toolbar, FALSE); |
861 | ++ gtk_widget_show (window->details->toolbar); |
862 | ++ } |
863 | ++ else |
864 | ++ gtk_window_set_titlebar (GTK_WINDOW (window), window->details->toolbar); |
865 | + |
866 | + window->details->content_paned = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL); |
867 | + gtk_widget_set_hexpand (window->details->content_paned, TRUE); |
868 | |
869 | === added file 'debian/patches/ubuntu_titlebar_css.patch' |
870 | --- debian/patches/ubuntu_titlebar_css.patch 1970-01-01 00:00:00 +0000 |
871 | +++ debian/patches/ubuntu_titlebar_css.patch 2014-01-25 02:17:44 +0000 |
872 | @@ -0,0 +1,93 @@ |
873 | +From: Tim Lunn <tim@feathertop.org> |
874 | +Date: Fri, 24 Jan 2014 08:24:31 +1100 |
875 | +Subject: [PATCH] Override some css theming for nautilus topbar |
876 | +Description: This patch overrides a few css properties for the nautilus header bar, |
877 | +done from here rather than in the themes since nautilus uses a non-standard header |
878 | +bar implementation. |
879 | + |
880 | +--- |
881 | + src/nautilus-toolbar.c | 40 +++++++++++++++++++++++++++++++++++++++- |
882 | + 1 file changed, 39 insertions(+), 1 deletion(-) |
883 | + |
884 | +--- a/src/nautilus-toolbar.c |
885 | ++++ b/src/nautilus-toolbar.c |
886 | +@@ -81,6 +81,43 @@ |
887 | + !show_location_entry); |
888 | + } |
889 | + |
890 | ++static void |
891 | ++toolbar_override_css (GtkWidget *widget, |
892 | ++ const gchar *name, |
893 | ++ const gchar *css_string) |
894 | ++{ |
895 | ++ GtkCssProvider *css; |
896 | ++ GtkSettings* settings; |
897 | ++ GError *error = NULL; |
898 | ++ gchar *theme_name; |
899 | ++ |
900 | ++ settings = gtk_settings_get_default(); |
901 | ++ g_object_get(settings, "gtk-theme-name", &theme_name, NULL); |
902 | ++ |
903 | ++ if (g_strcmp0(theme_name, "Ambiance") == 0 || g_strcmp0(theme_name, "Radiance") == 0) |
904 | ++ { |
905 | ++ gtk_widget_set_name (widget, name); |
906 | ++ css = gtk_css_provider_new (); |
907 | ++ if (gtk_css_provider_load_from_data (css, |
908 | ++ css_string, |
909 | ++ -1, &error)) |
910 | ++ { |
911 | ++ GtkStyleContext *context = gtk_widget_get_style_context (widget); |
912 | ++ gtk_style_context_add_provider (context, (GtkStyleProvider *) css, |
913 | ++ GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); |
914 | ++ } |
915 | ++ else |
916 | ++ { |
917 | ++ g_warning ("Error processing CSS theme override: %s", error->message); |
918 | ++ g_clear_error (&error); |
919 | ++ } |
920 | ++ g_object_unref (css); |
921 | ++ } |
922 | ++ g_free (theme_name); |
923 | ++} |
924 | ++ |
925 | ++ |
926 | ++ |
927 | + static GtkWidget * |
928 | + toolbar_create_toolbutton (NautilusToolbar *self, |
929 | + gboolean create_menu, |
930 | +@@ -91,6 +128,7 @@ |
931 | + GtkWidget *button, *image; |
932 | + GtkActionGroup *action_group; |
933 | + GtkAction *action; |
934 | ++ const gchar *css_string; |
935 | + |
936 | + action_group = nautilus_window_get_main_action_group (self->priv->window); |
937 | + |
938 | +@@ -117,6 +155,9 @@ |
939 | + gtk_widget_set_tooltip_text (button, gtk_action_get_tooltip (action)); |
940 | + } |
941 | + |
942 | ++ css_string = "GtkButton#toolbar-button {padding: 9px;}"; |
943 | ++ toolbar_override_css (button, "toolbar-button", css_string); |
944 | ++ |
945 | + return button; |
946 | + } |
947 | + |
948 | +@@ -399,6 +440,7 @@ |
949 | + GtkWidget *separator; |
950 | + GtkUIManager *ui_manager; |
951 | + gboolean rtl; |
952 | ++ const gchar *css_string; |
953 | + |
954 | + G_OBJECT_CLASS (nautilus_toolbar_parent_class)->constructed (obj); |
955 | + |
956 | +@@ -408,6 +450,9 @@ |
957 | + self->priv->toolbar = toolbar = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); |
958 | + gtk_container_add (GTK_CONTAINER (self), toolbar); |
959 | + |
960 | ++ css_string = ".header-bar { border-radius: 0; padding: 1px;}"; |
961 | ++ toolbar_override_css (GTK_WIDGET (self), "toolbar", css_string); |
962 | ++ |
963 | + rtl = gtk_widget_get_default_direction () == GTK_TEXT_DIR_RTL; |
964 | + |
965 | + ui_manager = nautilus_window_get_ui_manager (self->priv->window); |
Thanks for the work but we said we wouldn't start updating GNOME component to 3.10 this cycle. The reason is not only CSD but also stabilization and staying on versions we ran enough to know their bugs/issues.
The diffstat is non trivial there, could you summarize the changes and the motivation to go with the update?