Merge ~3v1n0/ubuntu/+source/mutter:ubuntu/master into ~ubuntu-desktop/ubuntu/+source/mutter:ubuntu/master
- Git
- lp:~3v1n0/ubuntu/+source/mutter
- ubuntu/master
- Merge into ubuntu/master
Proposed by
Marco Trevisan (Treviño)
Status: | Merged |
---|---|
Merged at revision: | e1a4496c528d27a83abb54973e4035f7b69252d6 |
Proposed branch: | ~3v1n0/ubuntu/+source/mutter:ubuntu/master |
Merge into: | ~ubuntu-desktop/ubuntu/+source/mutter:ubuntu/master |
Diff against target: |
6306 lines (+1538/-1078) 77 files modified
clutter/clutter/clutter-actor.c (+1/-1) clutter/clutter/clutter-device-manager-private.h (+0/-4) clutter/clutter/clutter-input-device.c (+0/-12) clutter/clutter/clutter-input-device.h (+0/-4) clutter/clutter/evdev/clutter-input-device-evdev.c (+8/-24) clutter/clutter/meson.build (+5/-4) clutter/clutter/x11/clutter-input-device-xi2.c (+0/-51) clutter/meson.build (+2/-1) cogl/cogl-gles2/meson.build (+2/-2) cogl/cogl-pango/meson.build (+2/-2) cogl/cogl-path/meson.build (+2/-1) cogl/cogl/cogl-texture-2d-sliced.h (+3/-3) cogl/cogl/cogl-texture-2d.h (+9/-3) cogl/cogl/cogl-texture-driver.h (+0/-9) cogl/cogl/driver/gl/gl/cogl-texture-driver-gl.c (+0/-14) cogl/cogl/driver/gl/gles/cogl-driver-gles.c (+7/-1) cogl/cogl/driver/gl/gles/cogl-texture-driver-gles.c (+0/-10) cogl/cogl/meson.build (+6/-5) cogl/meson.build (+2/-1) debian/changelog (+40/-0) debian/control (+3/-1) debian/control.in (+3/-1) debian/libmutter-4-0.symbols (+1/-2) debian/patches/meson-add-back-default_driver-option.patch (+3/-3) debian/patches/series (+0/-12) debian/patches/x11-Add-support-for-fractional-scaling-using-Randr.patch (+74/-77) debian/rules (+1/-1) dev/null (+0/-29) meson.build (+1/-1) po/ar.po (+538/-279) po/es.po (+18/-18) po/hr.po (+48/-41) src/backends/meta-backend-private.h (+4/-0) src/backends/meta-backend.c (+19/-1) src/backends/meta-input-mapper.c (+46/-1) src/backends/meta-input-settings.c (+3/-1) src/backends/meta-monitor-config-manager.c (+4/-4) src/backends/meta-monitor-manager-dummy.c (+5/-5) src/backends/meta-monitor-manager-private.h (+7/-2) src/backends/meta-monitor-manager.c (+51/-12) src/backends/meta-monitor.c (+33/-35) src/backends/meta-monitor.h (+26/-26) src/backends/meta-stage-private.h (+2/-1) src/backends/meta-stage.c (+23/-4) src/backends/native/meta-crtc-kms.c (+0/-89) src/backends/native/meta-crtc-kms.h (+0/-3) src/backends/native/meta-gpu-kms.c (+3/-6) src/backends/native/meta-monitor-manager-kms.c (+21/-5) src/backends/native/meta-output-kms.c (+59/-3) src/backends/native/meta-renderer-native.c (+145/-49) src/backends/x11/meta-gpu-xrandr.c (+0/-32) src/backends/x11/meta-monitor-manager-xrandr.c (+50/-5) src/compositor/meta-background.c (+1/-1) src/compositor/meta-shadow-factory.c (+1/-1) src/core/bell.c (+3/-79) src/core/bell.h (+0/-11) src/core/boxes-private.h (+1/-1) src/core/boxes.c (+2/-2) src/core/constraints.c (+103/-27) src/core/frame.c (+0/-6) src/core/frame.h (+0/-1) src/core/keybindings.c (+1/-2) src/core/meta-launch-context.c (+2/-2) src/core/prefs.c (+1/-1) src/core/startup-notification.c (+1/-0) src/core/window-private.h (+10/-1) src/core/window.c (+32/-0) src/meson.build (+2/-1) src/meta/common.h (+3/-5) src/meta/meson.build (+1/-1) src/tests/meta-monitor-manager-test.c (+5/-5) src/tests/unit-tests.c (+8/-8) src/ui/theme.c (+0/-2) src/wayland/meta-wayland-buffer.c (+8/-8) src/wayland/meta-wayland-legacy-xdg-shell.c (+1/-1) src/wayland/meta-wayland-text-input.c (+54/-6) src/wayland/meta-wayland-xdg-shell.c (+18/-5) |
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Daniel van Vugt (community) | Needs Fixing | ||
Ubuntu Desktop | Pending | ||
Review via email: mp+365833@code.launchpad.net |
Commit message
Description of the change
Prepared packages at https:/
To post a comment you must log in.
Revision history for this message
Daniel van Vugt (vanvugt) wrote : | # |
Listing things that this release does not change and calling them "changes" is a bit confusing. Maybe don't list such things...
+mutter (3.32.0+
+
+ * Merge with debian git snapshot (LP: #1820542), remaining changes:
+ + debian/control:
+ - Update VCS flags to point to launchpad
+ - Update maintainer to ubuntu
+ + debian/gbp.conf: update branch to point to ubuntu/master
+ + debian/
+ - X11: Add support for fractional scaling using Randr
review:
Needs Fixing
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | diff --git a/clutter/clutter/clutter-actor.c b/clutter/clutter/clutter-actor.c | |||
2 | index fd38338..803f76a 100644 | |||
3 | --- a/clutter/clutter/clutter-actor.c | |||
4 | +++ b/clutter/clutter/clutter-actor.c | |||
5 | @@ -4007,12 +4007,12 @@ clutter_actor_paint (ClutterActor *self) | |||
6 | 4007 | pick_mode == CLUTTER_PICK_NONE)) | 4007 | pick_mode == CLUTTER_PICK_NONE)) |
7 | 4008 | _clutter_actor_draw_paint_volume (self); | 4008 | _clutter_actor_draw_paint_volume (self); |
8 | 4009 | 4009 | ||
9 | 4010 | done: | ||
10 | 4011 | /* If we make it here then the actor has run through a complete | 4010 | /* If we make it here then the actor has run through a complete |
11 | 4012 | paint run including all the effects so it's no longer dirty */ | 4011 | paint run including all the effects so it's no longer dirty */ |
12 | 4013 | if (pick_mode == CLUTTER_PICK_NONE) | 4012 | if (pick_mode == CLUTTER_PICK_NONE) |
13 | 4014 | priv->is_dirty = FALSE; | 4013 | priv->is_dirty = FALSE; |
14 | 4015 | 4014 | ||
15 | 4015 | done: | ||
16 | 4016 | if (clip_set) | 4016 | if (clip_set) |
17 | 4017 | { | 4017 | { |
18 | 4018 | CoglFramebuffer *fb = _clutter_stage_get_active_framebuffer (stage); | 4018 | CoglFramebuffer *fb = _clutter_stage_get_active_framebuffer (stage); |
19 | diff --git a/clutter/clutter/clutter-device-manager-private.h b/clutter/clutter/clutter-device-manager-private.h | |||
20 | index 60cb99d..2364fd2 100644 | |||
21 | --- a/clutter/clutter/clutter-device-manager-private.h | |||
22 | +++ b/clutter/clutter/clutter-device-manager-private.h | |||
23 | @@ -167,10 +167,6 @@ struct _ClutterInputDeviceClass | |||
24 | 167 | gboolean (* is_grouped) (ClutterInputDevice *device, | 167 | gboolean (* is_grouped) (ClutterInputDevice *device, |
25 | 168 | ClutterInputDevice *other_device); | 168 | ClutterInputDevice *other_device); |
26 | 169 | 169 | ||
27 | 170 | gboolean (* get_physical_size) (ClutterInputDevice *device, | ||
28 | 171 | gdouble *width, | ||
29 | 172 | gdouble *height); | ||
30 | 173 | |||
31 | 174 | /* Keyboard accessbility */ | 170 | /* Keyboard accessbility */ |
32 | 175 | void (* process_kbd_a11y_event) (ClutterEvent *event, | 171 | void (* process_kbd_a11y_event) (ClutterEvent *event, |
33 | 176 | ClutterInputDevice *device, | 172 | ClutterInputDevice *device, |
34 | diff --git a/clutter/clutter/clutter-input-device.c b/clutter/clutter/clutter-input-device.c | |||
35 | index 5de169c..0697e3a 100644 | |||
36 | --- a/clutter/clutter/clutter-input-device.c | |||
37 | +++ b/clutter/clutter/clutter-input-device.c | |||
38 | @@ -2284,15 +2284,3 @@ clutter_input_device_is_grouped (ClutterInputDevice *device, | |||
39 | 2284 | 2284 | ||
40 | 2285 | return CLUTTER_INPUT_DEVICE_GET_CLASS (device)->is_grouped (device, other_device); | 2285 | return CLUTTER_INPUT_DEVICE_GET_CLASS (device)->is_grouped (device, other_device); |
41 | 2286 | } | 2286 | } |
42 | 2287 | |||
43 | 2288 | gboolean | ||
44 | 2289 | clutter_input_device_get_physical_size (ClutterInputDevice *device, | ||
45 | 2290 | gdouble *width, | ||
46 | 2291 | gdouble *height) | ||
47 | 2292 | { | ||
48 | 2293 | g_return_val_if_fail (CLUTTER_IS_INPUT_DEVICE (device), FALSE); | ||
49 | 2294 | |||
50 | 2295 | return CLUTTER_INPUT_DEVICE_GET_CLASS (device)->get_physical_size (device, | ||
51 | 2296 | width, | ||
52 | 2297 | height); | ||
53 | 2298 | } | ||
54 | diff --git a/clutter/clutter/clutter-input-device.h b/clutter/clutter/clutter-input-device.h | |||
55 | index 8dd2a54..c121fe1 100644 | |||
56 | --- a/clutter/clutter/clutter-input-device.h | |||
57 | +++ b/clutter/clutter/clutter-input-device.h | |||
58 | @@ -171,10 +171,6 @@ void clutter_input_device_set_mapping_mode (ClutterInputDev | |||
59 | 171 | CLUTTER_EXPORT | 171 | CLUTTER_EXPORT |
60 | 172 | gboolean clutter_input_device_is_grouped (ClutterInputDevice *device, | 172 | gboolean clutter_input_device_is_grouped (ClutterInputDevice *device, |
61 | 173 | ClutterInputDevice *other_device); | 173 | ClutterInputDevice *other_device); |
62 | 174 | CLUTTER_EXPORT | ||
63 | 175 | gboolean clutter_input_device_get_physical_size (ClutterInputDevice *device, | ||
64 | 176 | gdouble *width, | ||
65 | 177 | gdouble *height); | ||
66 | 178 | 174 | ||
67 | 179 | G_END_DECLS | 175 | G_END_DECLS |
68 | 180 | 176 | ||
69 | diff --git a/clutter/clutter/evdev/clutter-input-device-evdev.c b/clutter/clutter/evdev/clutter-input-device-evdev.c | |||
70 | index 8caf095..b52689e 100644 | |||
71 | --- a/clutter/clutter/evdev/clutter-input-device-evdev.c | |||
72 | +++ b/clutter/clutter/evdev/clutter-input-device-evdev.c | |||
73 | @@ -676,7 +676,7 @@ stop_toggle_slowkeys (ClutterInputDeviceEvdev *device) | |||
74 | 676 | } | 676 | } |
75 | 677 | 677 | ||
76 | 678 | static void | 678 | static void |
78 | 679 | handle_togglekeys_press (ClutterEvent *event, | 679 | handle_enablekeys_press (ClutterEvent *event, |
79 | 680 | ClutterInputDeviceEvdev *device) | 680 | ClutterInputDeviceEvdev *device) |
80 | 681 | { | 681 | { |
81 | 682 | if (event->key.keyval == XKB_KEY_Shift_L || event->key.keyval == XKB_KEY_Shift_R) | 682 | if (event->key.keyval == XKB_KEY_Shift_L || event->key.keyval == XKB_KEY_Shift_R) |
82 | @@ -698,7 +698,7 @@ handle_togglekeys_press (ClutterEvent *event, | |||
83 | 698 | } | 698 | } |
84 | 699 | 699 | ||
85 | 700 | static void | 700 | static void |
87 | 701 | handle_togglekeys_release (ClutterEvent *event, | 701 | handle_enablekeys_release (ClutterEvent *event, |
88 | 702 | ClutterInputDeviceEvdev *device) | 702 | ClutterInputDeviceEvdev *device) |
89 | 703 | { | 703 | { |
90 | 704 | if (event->key.keyval == XKB_KEY_Shift_L || event->key.keyval == XKB_KEY_Shift_R) | 704 | if (event->key.keyval == XKB_KEY_Shift_L || event->key.keyval == XKB_KEY_Shift_R) |
91 | @@ -1132,9 +1132,14 @@ clutter_input_device_evdev_process_kbd_a11y_event (ClutterEvent *e | |||
92 | 1132 | if (event->key.flags & CLUTTER_EVENT_FLAG_INPUT_METHOD) | 1132 | if (event->key.flags & CLUTTER_EVENT_FLAG_INPUT_METHOD) |
93 | 1133 | goto emit_event; | 1133 | goto emit_event; |
94 | 1134 | 1134 | ||
96 | 1135 | if (!device_evdev->a11y_flags & CLUTTER_A11Y_KEYBOARD_ENABLED) | 1135 | if (!(device_evdev->a11y_flags & CLUTTER_A11Y_KEYBOARD_ENABLED)) |
97 | 1136 | goto emit_event; | 1136 | goto emit_event; |
98 | 1137 | 1137 | ||
99 | 1138 | if (event->type == CLUTTER_KEY_PRESS) | ||
100 | 1139 | handle_enablekeys_press (event, device_evdev); | ||
101 | 1140 | else | ||
102 | 1141 | handle_enablekeys_release (event, device_evdev); | ||
103 | 1142 | |||
104 | 1138 | if (device_evdev->a11y_flags & CLUTTER_A11Y_MOUSE_KEYS_ENABLED) | 1143 | if (device_evdev->a11y_flags & CLUTTER_A11Y_MOUSE_KEYS_ENABLED) |
105 | 1139 | { | 1144 | { |
106 | 1140 | if (event->type == CLUTTER_KEY_PRESS && | 1145 | if (event->type == CLUTTER_KEY_PRESS && |
107 | @@ -1145,14 +1150,6 @@ clutter_input_device_evdev_process_kbd_a11y_event (ClutterEvent *e | |||
108 | 1145 | return; /* swallow event */ | 1150 | return; /* swallow event */ |
109 | 1146 | } | 1151 | } |
110 | 1147 | 1152 | ||
111 | 1148 | if (device_evdev->a11y_flags & CLUTTER_A11Y_TOGGLE_KEYS_ENABLED) | ||
112 | 1149 | { | ||
113 | 1150 | if (event->type == CLUTTER_KEY_PRESS) | ||
114 | 1151 | handle_togglekeys_press (event, device_evdev); | ||
115 | 1152 | else | ||
116 | 1153 | handle_togglekeys_release (event, device_evdev); | ||
117 | 1154 | } | ||
118 | 1155 | |||
119 | 1156 | if ((device_evdev->a11y_flags & CLUTTER_A11Y_BOUNCE_KEYS_ENABLED) && | 1153 | if ((device_evdev->a11y_flags & CLUTTER_A11Y_BOUNCE_KEYS_ENABLED) && |
120 | 1157 | (get_debounce_delay (device) != 0)) | 1154 | (get_debounce_delay (device) != 0)) |
121 | 1158 | { | 1155 | { |
122 | @@ -1266,18 +1263,6 @@ clutter_input_device_evdev_release_touch_state (ClutterInputDeviceEvdev *device, | |||
123 | 1266 | GINT_TO_POINTER (touch_state->device_slot)); | 1263 | GINT_TO_POINTER (touch_state->device_slot)); |
124 | 1267 | } | 1264 | } |
125 | 1268 | 1265 | ||
126 | 1269 | static gboolean | ||
127 | 1270 | clutter_input_device_evdev_get_physical_size (ClutterInputDevice *device, | ||
128 | 1271 | gdouble *width, | ||
129 | 1272 | gdouble *height) | ||
130 | 1273 | { | ||
131 | 1274 | struct libinput_device *libinput_device; | ||
132 | 1275 | |||
133 | 1276 | libinput_device = clutter_evdev_input_device_get_libinput_device (device); | ||
134 | 1277 | |||
135 | 1278 | return libinput_device_get_size (libinput_device, width, height) == 0; | ||
136 | 1279 | } | ||
137 | 1280 | |||
138 | 1281 | static void | 1266 | static void |
139 | 1282 | clutter_input_device_evdev_class_init (ClutterInputDeviceEvdevClass *klass) | 1267 | clutter_input_device_evdev_class_init (ClutterInputDeviceEvdevClass *klass) |
140 | 1283 | { | 1268 | { |
141 | @@ -1293,7 +1278,6 @@ clutter_input_device_evdev_class_init (ClutterInputDeviceEvdevClass *klass) | |||
142 | 1293 | klass->get_group_n_modes = clutter_input_device_evdev_get_group_n_modes; | 1278 | klass->get_group_n_modes = clutter_input_device_evdev_get_group_n_modes; |
143 | 1294 | klass->is_grouped = clutter_input_device_evdev_is_grouped; | 1279 | klass->is_grouped = clutter_input_device_evdev_is_grouped; |
144 | 1295 | klass->process_kbd_a11y_event = clutter_input_device_evdev_process_kbd_a11y_event; | 1280 | klass->process_kbd_a11y_event = clutter_input_device_evdev_process_kbd_a11y_event; |
145 | 1296 | klass->get_physical_size = clutter_input_device_evdev_get_physical_size; | ||
146 | 1297 | 1281 | ||
147 | 1298 | obj_props[PROP_DEVICE_MATRIX] = | 1282 | obj_props[PROP_DEVICE_MATRIX] = |
148 | 1299 | g_param_spec_boxed ("device-matrix", | 1283 | g_param_spec_boxed ("device-matrix", |
149 | diff --git a/clutter/clutter/meson.build b/clutter/clutter/meson.build | |||
150 | index 879ea16..671d790 100644 | |||
151 | --- a/clutter/clutter/meson.build | |||
152 | +++ b/clutter/clutter/meson.build | |||
153 | @@ -1,3 +1,4 @@ | |||
154 | 1 | clutter_clutter_includesubdir = join_paths(clutter_includesubdir, 'clutter') | ||
155 | 1 | clutter_clutter_includedir = join_paths(clutter_includedir, 'clutter') | 2 | clutter_clutter_includedir = join_paths(clutter_includedir, 'clutter') |
156 | 2 | 3 | ||
157 | 3 | clutter_headers = [ | 4 | clutter_headers = [ |
158 | @@ -577,16 +578,16 @@ if have_introspection | |||
159 | 577 | endif | 578 | endif |
160 | 578 | 579 | ||
161 | 579 | install_headers(clutter_headers, | 580 | install_headers(clutter_headers, |
163 | 580 | subdir: clutter_clutter_includedir) | 581 | subdir: clutter_clutter_includesubdir) |
164 | 581 | 582 | ||
165 | 582 | install_headers(cally_headers, | 583 | install_headers(cally_headers, |
167 | 583 | subdir: join_paths(clutter_includedir, 'cally')) | 584 | subdir: join_paths(clutter_includesubdir, 'cally')) |
168 | 584 | 585 | ||
169 | 585 | install_headers(clutter_deprecated_headers, | 586 | install_headers(clutter_deprecated_headers, |
171 | 586 | subdir: join_paths(clutter_clutter_includedir, 'deprecated')) | 587 | subdir: join_paths(clutter_clutter_includesubdir, 'deprecated')) |
172 | 587 | 588 | ||
173 | 588 | install_headers(clutter_x11_headers, | 589 | install_headers(clutter_x11_headers, |
175 | 589 | subdir: join_paths(clutter_clutter_includedir, 'x11')) | 590 | subdir: join_paths(clutter_clutter_includesubdir, 'x11')) |
176 | 590 | 591 | ||
177 | 591 | pkg.generate(libmutter_clutter, | 592 | pkg.generate(libmutter_clutter, |
178 | 592 | name: 'Mutters Clutter', | 593 | name: 'Mutters Clutter', |
179 | diff --git a/clutter/clutter/x11/clutter-input-device-xi2.c b/clutter/clutter/x11/clutter-input-device-xi2.c | |||
180 | index 92d3637..1254aca 100644 | |||
181 | --- a/clutter/clutter/x11/clutter-input-device-xi2.c | |||
182 | +++ b/clutter/clutter/x11/clutter-input-device-xi2.c | |||
183 | @@ -180,56 +180,6 @@ clutter_input_device_xi2_is_mode_switch_button (ClutterInputDevice *device, | |||
184 | 180 | return button_group == (int) group; | 180 | return button_group == (int) group; |
185 | 181 | } | 181 | } |
186 | 182 | 182 | ||
187 | 183 | static gboolean | ||
188 | 184 | clutter_input_device_xi2_get_physical_size (ClutterInputDevice *device, | ||
189 | 185 | gdouble *width, | ||
190 | 186 | gdouble *height) | ||
191 | 187 | { | ||
192 | 188 | Display *xdisplay; | ||
193 | 189 | XIDeviceInfo *dev_info; | ||
194 | 190 | gdouble w = 0, h = 0; | ||
195 | 191 | int i, n_info, device_id; | ||
196 | 192 | |||
197 | 193 | xdisplay = clutter_x11_get_default_display (); | ||
198 | 194 | device_id = clutter_input_device_get_device_id (device); | ||
199 | 195 | |||
200 | 196 | clutter_x11_trap_x_errors (); | ||
201 | 197 | dev_info = XIQueryDevice (xdisplay, device_id, &n_info); | ||
202 | 198 | if (clutter_x11_untrap_x_errors ()) | ||
203 | 199 | return FALSE; | ||
204 | 200 | |||
205 | 201 | if (!dev_info) | ||
206 | 202 | return FALSE; | ||
207 | 203 | |||
208 | 204 | for (i = 0; i < dev_info->num_classes; i++) | ||
209 | 205 | { | ||
210 | 206 | XIValuatorClassInfo *valuator; | ||
211 | 207 | gdouble *value; | ||
212 | 208 | |||
213 | 209 | if (dev_info->classes[i]->type != XIValuatorClass) | ||
214 | 210 | continue; | ||
215 | 211 | |||
216 | 212 | valuator = (XIValuatorClassInfo *) dev_info->classes[i]; | ||
217 | 213 | |||
218 | 214 | if (valuator->label == XInternAtom (xdisplay, "Abs X", True) || | ||
219 | 215 | valuator->label == XInternAtom (xdisplay, "Abs MT Position X", True)) | ||
220 | 216 | value = &w; | ||
221 | 217 | else if (valuator->label == XInternAtom (xdisplay, "Abs Y", True) || | ||
222 | 218 | valuator->label == XInternAtom (xdisplay, "Abs MT Position Y", True)) | ||
223 | 219 | value = &h; | ||
224 | 220 | else | ||
225 | 221 | continue; | ||
226 | 222 | |||
227 | 223 | *value = (valuator->max - valuator->min) * 1000 / valuator->resolution; | ||
228 | 224 | } | ||
229 | 225 | |||
230 | 226 | XIFreeDeviceInfo (dev_info); | ||
231 | 227 | *width = w; | ||
232 | 228 | *height = h; | ||
233 | 229 | |||
234 | 230 | return (w > 0 && h > 0); | ||
235 | 231 | } | ||
236 | 232 | |||
237 | 233 | static void | 183 | static void |
238 | 234 | clutter_input_device_xi2_class_init (ClutterInputDeviceXI2Class *klass) | 184 | clutter_input_device_xi2_class_init (ClutterInputDeviceXI2Class *klass) |
239 | 235 | { | 185 | { |
240 | @@ -243,7 +193,6 @@ clutter_input_device_xi2_class_init (ClutterInputDeviceXI2Class *klass) | |||
241 | 243 | device_class->is_grouped = clutter_input_device_xi2_is_grouped; | 193 | device_class->is_grouped = clutter_input_device_xi2_is_grouped; |
242 | 244 | device_class->get_group_n_modes = clutter_input_device_xi2_get_group_n_modes; | 194 | device_class->get_group_n_modes = clutter_input_device_xi2_get_group_n_modes; |
243 | 245 | device_class->is_mode_switch_button = clutter_input_device_xi2_is_mode_switch_button; | 195 | device_class->is_mode_switch_button = clutter_input_device_xi2_is_mode_switch_button; |
244 | 246 | device_class->get_physical_size = clutter_input_device_xi2_get_physical_size; | ||
245 | 247 | } | 196 | } |
246 | 248 | 197 | ||
247 | 249 | static void | 198 | static void |
248 | diff --git a/clutter/meson.build b/clutter/meson.build | |||
249 | index 053cfa7..1397be1 100644 | |||
250 | --- a/clutter/meson.build | |||
251 | +++ b/clutter/meson.build | |||
252 | @@ -1,4 +1,5 @@ | |||
254 | 1 | clutter_includedir = join_paths(pkgincludedir, 'clutter') | 1 | clutter_includesubdir = join_paths(pkgname, 'clutter') |
255 | 2 | clutter_includedir = join_paths(includedir, clutter_includesubdir) | ||
256 | 2 | clutter_srcdir = join_paths(top_srcdir, 'clutter') | 3 | clutter_srcdir = join_paths(top_srcdir, 'clutter') |
257 | 3 | clutter_builddir = join_paths(builddir, 'clutter') | 4 | clutter_builddir = join_paths(builddir, 'clutter') |
258 | 4 | 5 | ||
259 | diff --git a/cogl/cogl-gles2/meson.build b/cogl/cogl-gles2/meson.build | |||
260 | index d446ca4..fbe3eb1 100644 | |||
261 | --- a/cogl/cogl-gles2/meson.build | |||
262 | +++ b/cogl/cogl-gles2/meson.build | |||
263 | @@ -27,9 +27,9 @@ libmutter_cogl_gles2 = shared_library('mutter-cogl-gles2-' + libmutter_api_versi | |||
264 | 27 | install: true, | 27 | install: true, |
265 | 28 | ) | 28 | ) |
266 | 29 | 29 | ||
268 | 30 | cogl_gles2_includedir = join_paths(cogl_includedir, 'cogl-gles2/GLES2') | 30 | cogl_gles2_includesubdir = join_paths(cogl_includesubdir, 'cogl-gles2/GLES2') |
269 | 31 | install_headers(cogl_gles2_public_headers, | 31 | install_headers(cogl_gles2_public_headers, |
271 | 32 | subdir: cogl_gles2_includedir) | 32 | subdir: cogl_gles2_includesubdir) |
272 | 33 | 33 | ||
273 | 34 | pkg.generate(libmutter_cogl_gles2, | 34 | pkg.generate(libmutter_cogl_gles2, |
274 | 35 | name: 'CoglGles2', | 35 | name: 'CoglGles2', |
275 | diff --git a/cogl/cogl-pango/meson.build b/cogl/cogl-pango/meson.build | |||
276 | index fb4d261..787ec01 100644 | |||
277 | --- a/cogl/cogl-pango/meson.build | |||
278 | +++ b/cogl/cogl-pango/meson.build | |||
279 | @@ -70,8 +70,8 @@ if have_introspection | |||
280 | 70 | ) | 70 | ) |
281 | 71 | endif | 71 | endif |
282 | 72 | 72 | ||
285 | 73 | cogl_pango_includedir = join_paths(cogl_includedir, 'cogl-pango') | 73 | cogl_pango_includesubdir = join_paths(cogl_includesubdir, 'cogl-pango') |
286 | 74 | install_headers(cogl_pango_public_headers, subdir: cogl_pango_includedir) | 74 | install_headers(cogl_pango_public_headers, subdir: cogl_pango_includesubdir) |
287 | 75 | 75 | ||
288 | 76 | pkg.generate(libmutter_cogl_pango, | 76 | pkg.generate(libmutter_cogl_pango, |
289 | 77 | name: 'CoglPango', | 77 | name: 'CoglPango', |
290 | diff --git a/cogl/cogl-path/meson.build b/cogl/cogl-path/meson.build | |||
291 | index 6faba67..e086a62 100644 | |||
292 | --- a/cogl/cogl-path/meson.build | |||
293 | +++ b/cogl/cogl-path/meson.build | |||
294 | @@ -1,3 +1,4 @@ | |||
295 | 1 | cogl_path_includesubdir = join_paths(cogl_includesubdir, 'cogl-path') | ||
296 | 1 | cogl_path_includedir = join_paths(cogl_includedir, 'cogl-path') | 2 | cogl_path_includedir = join_paths(cogl_includedir, 'cogl-path') |
297 | 2 | 3 | ||
298 | 3 | cogl_path_public_headers = [ | 4 | cogl_path_public_headers = [ |
299 | @@ -76,7 +77,7 @@ libmutter_cogl_path_dep = declare_dependency( | |||
300 | 76 | ) | 77 | ) |
301 | 77 | 78 | ||
302 | 78 | install_headers(cogl_path_public_headers, | 79 | install_headers(cogl_path_public_headers, |
304 | 79 | subdir: cogl_path_includedir) | 80 | subdir: cogl_path_includesubdir) |
305 | 80 | 81 | ||
306 | 81 | pkg.generate(libmutter_cogl_path, | 82 | pkg.generate(libmutter_cogl_path, |
307 | 82 | name: 'CoglPath', | 83 | name: 'CoglPath', |
308 | diff --git a/cogl/cogl/cogl-texture-2d-sliced.h b/cogl/cogl/cogl-texture-2d-sliced.h | |||
309 | index 8d43fc5..12ce710 100644 | |||
310 | --- a/cogl/cogl/cogl-texture-2d-sliced.h | |||
311 | +++ b/cogl/cogl/cogl-texture-2d-sliced.h | |||
312 | @@ -78,7 +78,7 @@ typedef struct _CoglTexture2DSliced CoglTexture2DSliced; | |||
313 | 78 | GType cogl_texture_2d_sliced_get_gtype (void); | 78 | GType cogl_texture_2d_sliced_get_gtype (void); |
314 | 79 | 79 | ||
315 | 80 | /** | 80 | /** |
317 | 81 | * cogl_texture_2d_sliced_new_with_size: | 81 | * cogl_texture_2d_sliced_new_with_size: (skip) |
318 | 82 | * @ctx: A #CoglContext | 82 | * @ctx: A #CoglContext |
319 | 83 | * @width: The virtual width of your sliced texture. | 83 | * @width: The virtual width of your sliced texture. |
320 | 84 | * @height: The virtual height of your sliced texture. | 84 | * @height: The virtual height of your sliced texture. |
321 | @@ -125,7 +125,7 @@ cogl_texture_2d_sliced_new_with_size (CoglContext *ctx, | |||
322 | 125 | int max_waste); | 125 | int max_waste); |
323 | 126 | 126 | ||
324 | 127 | /** | 127 | /** |
326 | 128 | * cogl_texture_2d_sliced_new_from_file: | 128 | * cogl_texture_2d_sliced_new_from_file: (skip) |
327 | 129 | * @ctx: A #CoglContext | 129 | * @ctx: A #CoglContext |
328 | 130 | * @filename: the file to load | 130 | * @filename: the file to load |
329 | 131 | * @max_waste: The threshold of how wide a strip of wasted texels | 131 | * @max_waste: The threshold of how wide a strip of wasted texels |
330 | @@ -173,7 +173,7 @@ cogl_texture_2d_sliced_new_from_file (CoglContext *ctx, | |||
331 | 173 | CoglError **error); | 173 | CoglError **error); |
332 | 174 | 174 | ||
333 | 175 | /** | 175 | /** |
335 | 176 | * cogl_texture_2d_sliced_new_from_data: | 176 | * cogl_texture_2d_sliced_new_from_data: (skip) |
336 | 177 | * @ctx: A #CoglContext | 177 | * @ctx: A #CoglContext |
337 | 178 | * @width: width of texture in pixels | 178 | * @width: width of texture in pixels |
338 | 179 | * @height: height of texture in pixels | 179 | * @height: height of texture in pixels |
339 | diff --git a/cogl/cogl/cogl-texture-2d.h b/cogl/cogl/cogl-texture-2d.h | |||
340 | index 85cadba..29b8b2d 100644 | |||
341 | --- a/cogl/cogl/cogl-texture-2d.h | |||
342 | +++ b/cogl/cogl/cogl-texture-2d.h | |||
343 | @@ -86,7 +86,7 @@ gboolean | |||
344 | 86 | cogl_is_texture_2d (void *object); | 86 | cogl_is_texture_2d (void *object); |
345 | 87 | 87 | ||
346 | 88 | /** | 88 | /** |
348 | 89 | * cogl_texture_2d_new_with_size: | 89 | * cogl_texture_2d_new_with_size: (skip) |
349 | 90 | * @ctx: A #CoglContext | 90 | * @ctx: A #CoglContext |
350 | 91 | * @width: Width of the texture to allocate | 91 | * @width: Width of the texture to allocate |
351 | 92 | * @height: Height of the texture to allocate | 92 | * @height: Height of the texture to allocate |
352 | @@ -120,7 +120,7 @@ cogl_texture_2d_new_with_size (CoglContext *ctx, | |||
353 | 120 | int height); | 120 | int height); |
354 | 121 | 121 | ||
355 | 122 | /** | 122 | /** |
357 | 123 | * cogl_texture_2d_new_from_file: | 123 | * cogl_texture_2d_new_from_file: (skip) |
358 | 124 | * @ctx: A #CoglContext | 124 | * @ctx: A #CoglContext |
359 | 125 | * @filename: the file to load | 125 | * @filename: the file to load |
360 | 126 | * @error: A #CoglError to catch exceptional errors or %NULL | 126 | * @error: A #CoglError to catch exceptional errors or %NULL |
361 | @@ -154,7 +154,7 @@ cogl_texture_2d_new_from_file (CoglContext *ctx, | |||
362 | 154 | CoglError **error); | 154 | CoglError **error); |
363 | 155 | 155 | ||
364 | 156 | /** | 156 | /** |
366 | 157 | * cogl_texture_2d_new_from_data: | 157 | * cogl_texture_2d_new_from_data: (skip) |
367 | 158 | * @ctx: A #CoglContext | 158 | * @ctx: A #CoglContext |
368 | 159 | * @width: width of texture in pixels | 159 | * @width: width of texture in pixels |
369 | 160 | * @height: height of texture in pixels | 160 | * @height: height of texture in pixels |
370 | @@ -231,6 +231,9 @@ cogl_texture_2d_new_from_data (CoglContext *ctx, | |||
371 | 231 | CoglTexture2D * | 231 | CoglTexture2D * |
372 | 232 | cogl_texture_2d_new_from_bitmap (CoglBitmap *bitmap); | 232 | cogl_texture_2d_new_from_bitmap (CoglBitmap *bitmap); |
373 | 233 | 233 | ||
374 | 234 | /** | ||
375 | 235 | * cogl_egl_texture_2d_new_from_image: (skip) | ||
376 | 236 | */ | ||
377 | 234 | #if defined (COGL_HAS_EGL_SUPPORT) && defined (EGL_KHR_image_base) | 237 | #if defined (COGL_HAS_EGL_SUPPORT) && defined (EGL_KHR_image_base) |
378 | 235 | /* NB: The reason we require the width, height and format to be passed | 238 | /* NB: The reason we require the width, height and format to be passed |
379 | 236 | * even though they may seem redundant is because GLES 1/2 don't | 239 | * even though they may seem redundant is because GLES 1/2 don't |
380 | @@ -247,6 +250,9 @@ typedef gboolean (*CoglTexture2DEGLImageExternalAlloc) (CoglTexture2D *tex_2d, | |||
381 | 247 | gpointer user_data, | 250 | gpointer user_data, |
382 | 248 | GError **error); | 251 | GError **error); |
383 | 249 | 252 | ||
384 | 253 | /** | ||
385 | 254 | * cogl_texture_2d_new_from_egl_image_external: (skip) | ||
386 | 255 | */ | ||
387 | 250 | CoglTexture2D * | 256 | CoglTexture2D * |
388 | 251 | cogl_texture_2d_new_from_egl_image_external (CoglContext *ctx, | 257 | cogl_texture_2d_new_from_egl_image_external (CoglContext *ctx, |
389 | 252 | int width, | 258 | int width, |
390 | diff --git a/cogl/cogl/cogl-texture-driver.h b/cogl/cogl/cogl-texture-driver.h | |||
391 | index f77c548..a6e7d4f 100644 | |||
392 | --- a/cogl/cogl/cogl-texture-driver.h | |||
393 | +++ b/cogl/cogl/cogl-texture-driver.h | |||
394 | @@ -172,15 +172,6 @@ struct _CoglTextureDriver | |||
395 | 172 | int depth); | 172 | int depth); |
396 | 173 | 173 | ||
397 | 174 | /* | 174 | /* |
398 | 175 | * This driver abstraction is needed because GLES doesn't support setting | ||
399 | 176 | * a texture border color. | ||
400 | 177 | */ | ||
401 | 178 | void | ||
402 | 179 | (* try_setting_gl_border_color) (CoglContext *ctx, | ||
403 | 180 | GLuint gl_target, | ||
404 | 181 | const GLfloat *transparent_color); | ||
405 | 182 | |||
406 | 183 | /* | ||
407 | 184 | * It may depend on the driver as to what texture targets may be used when | 175 | * It may depend on the driver as to what texture targets may be used when |
408 | 185 | * creating a foreign texture. E.g. OpenGL supports ARB_texture_rectangle | 176 | * creating a foreign texture. E.g. OpenGL supports ARB_texture_rectangle |
409 | 186 | * but GLES doesn't | 177 | * but GLES doesn't |
410 | diff --git a/cogl/cogl/driver/gl/gl/cogl-texture-driver-gl.c b/cogl/cogl/driver/gl/gl/cogl-texture-driver-gl.c | |||
411 | index fbb55de..35b87f7 100644 | |||
412 | --- a/cogl/cogl/driver/gl/gl/cogl-texture-driver-gl.c | |||
413 | +++ b/cogl/cogl/driver/gl/gl/cogl-texture-driver-gl.c | |||
414 | @@ -485,19 +485,6 @@ _cogl_texture_driver_size_supported (CoglContext *ctx, | |||
415 | 485 | return new_width != 0; | 485 | return new_width != 0; |
416 | 486 | } | 486 | } |
417 | 487 | 487 | ||
418 | 488 | static void | ||
419 | 489 | _cogl_texture_driver_try_setting_gl_border_color | ||
420 | 490 | (CoglContext *ctx, | ||
421 | 491 | GLuint gl_target, | ||
422 | 492 | const GLfloat *transparent_color) | ||
423 | 493 | { | ||
424 | 494 | /* Use a transparent border color so that we can leave the | ||
425 | 495 | color buffer alone when using texture co-ordinates | ||
426 | 496 | outside of the texture */ | ||
427 | 497 | GE( ctx, glTexParameterfv (gl_target, GL_TEXTURE_BORDER_COLOR, | ||
428 | 498 | transparent_color) ); | ||
429 | 499 | } | ||
430 | 500 | |||
431 | 501 | static gboolean | 488 | static gboolean |
432 | 502 | _cogl_texture_driver_allows_foreign_gl_target (CoglContext *ctx, | 489 | _cogl_texture_driver_allows_foreign_gl_target (CoglContext *ctx, |
433 | 503 | GLenum gl_target) | 490 | GLenum gl_target) |
434 | @@ -541,7 +528,6 @@ _cogl_texture_driver_gl = | |||
435 | 541 | _cogl_texture_driver_gl_get_tex_image, | 528 | _cogl_texture_driver_gl_get_tex_image, |
436 | 542 | _cogl_texture_driver_size_supported, | 529 | _cogl_texture_driver_size_supported, |
437 | 543 | _cogl_texture_driver_size_supported_3d, | 530 | _cogl_texture_driver_size_supported_3d, |
438 | 544 | _cogl_texture_driver_try_setting_gl_border_color, | ||
439 | 545 | _cogl_texture_driver_allows_foreign_gl_target, | 531 | _cogl_texture_driver_allows_foreign_gl_target, |
440 | 546 | _cogl_texture_driver_find_best_gl_get_data_format | 532 | _cogl_texture_driver_find_best_gl_get_data_format |
441 | 547 | }; | 533 | }; |
442 | diff --git a/cogl/cogl/driver/gl/gles/cogl-driver-gles.c b/cogl/cogl/driver/gl/gles/cogl-driver-gles.c | |||
443 | index 6f2cf6e..23158d5 100644 | |||
444 | --- a/cogl/cogl/driver/gl/gles/cogl-driver-gles.c | |||
445 | +++ b/cogl/cogl/driver/gl/gles/cogl-driver-gles.c | |||
446 | @@ -429,6 +429,12 @@ _cogl_driver_update_features (CoglContext *context, | |||
447 | 429 | return TRUE; | 429 | return TRUE; |
448 | 430 | } | 430 | } |
449 | 431 | 431 | ||
450 | 432 | static gboolean | ||
451 | 433 | _cogl_driver_texture_2d_is_get_data_supported (CoglTexture2D *tex_2d) | ||
452 | 434 | { | ||
453 | 435 | return FALSE; | ||
454 | 436 | } | ||
455 | 437 | |||
456 | 432 | const CoglDriverVtable | 438 | const CoglDriverVtable |
457 | 433 | _cogl_driver_gles = | 439 | _cogl_driver_gles = |
458 | 434 | { | 440 | { |
459 | @@ -453,7 +459,7 @@ _cogl_driver_gles = | |||
460 | 453 | _cogl_texture_2d_gl_get_gl_handle, | 459 | _cogl_texture_2d_gl_get_gl_handle, |
461 | 454 | _cogl_texture_2d_gl_generate_mipmap, | 460 | _cogl_texture_2d_gl_generate_mipmap, |
462 | 455 | _cogl_texture_2d_gl_copy_from_bitmap, | 461 | _cogl_texture_2d_gl_copy_from_bitmap, |
464 | 456 | NULL, /* texture_2d_is_get_data_supported */ | 462 | _cogl_driver_texture_2d_is_get_data_supported, |
465 | 457 | NULL, /* texture_2d_get_data */ | 463 | NULL, /* texture_2d_get_data */ |
466 | 458 | _cogl_gl_flush_attributes_state, | 464 | _cogl_gl_flush_attributes_state, |
467 | 459 | _cogl_clip_stack_gl_flush, | 465 | _cogl_clip_stack_gl_flush, |
468 | diff --git a/cogl/cogl/driver/gl/gles/cogl-texture-driver-gles.c b/cogl/cogl/driver/gl/gles/cogl-texture-driver-gles.c | |||
469 | index 17f529e..f773f93 100644 | |||
470 | --- a/cogl/cogl/driver/gl/gles/cogl-texture-driver-gles.c | |||
471 | +++ b/cogl/cogl/driver/gl/gles/cogl-texture-driver-gles.c | |||
472 | @@ -590,15 +590,6 @@ _cogl_texture_driver_size_supported (CoglContext *ctx, | |||
473 | 590 | return width <= max_size && height <= max_size; | 590 | return width <= max_size && height <= max_size; |
474 | 591 | } | 591 | } |
475 | 592 | 592 | ||
476 | 593 | static void | ||
477 | 594 | _cogl_texture_driver_try_setting_gl_border_color | ||
478 | 595 | (CoglContext *ctx, | ||
479 | 596 | GLuint gl_target, | ||
480 | 597 | const GLfloat *transparent_color) | ||
481 | 598 | { | ||
482 | 599 | /* FAIL! */ | ||
483 | 600 | } | ||
484 | 601 | |||
485 | 602 | static gboolean | 593 | static gboolean |
486 | 603 | _cogl_texture_driver_allows_foreign_gl_target (CoglContext *ctx, | 594 | _cogl_texture_driver_allows_foreign_gl_target (CoglContext *ctx, |
487 | 604 | GLenum gl_target) | 595 | GLenum gl_target) |
488 | @@ -636,7 +627,6 @@ _cogl_texture_driver_gles = | |||
489 | 636 | _cogl_texture_driver_gl_get_tex_image, | 627 | _cogl_texture_driver_gl_get_tex_image, |
490 | 637 | _cogl_texture_driver_size_supported, | 628 | _cogl_texture_driver_size_supported, |
491 | 638 | _cogl_texture_driver_size_supported_3d, | 629 | _cogl_texture_driver_size_supported_3d, |
492 | 639 | _cogl_texture_driver_try_setting_gl_border_color, | ||
493 | 640 | _cogl_texture_driver_allows_foreign_gl_target, | 630 | _cogl_texture_driver_allows_foreign_gl_target, |
494 | 641 | _cogl_texture_driver_find_best_gl_get_data_format | 631 | _cogl_texture_driver_find_best_gl_get_data_format |
495 | 642 | }; | 632 | }; |
496 | diff --git a/cogl/cogl/meson.build b/cogl/cogl/meson.build | |||
497 | index 5d80e87..cb94042 100644 | |||
498 | --- a/cogl/cogl/meson.build | |||
499 | +++ b/cogl/cogl/meson.build | |||
500 | @@ -1,3 +1,4 @@ | |||
501 | 1 | cogl_cogl_includesubdir = join_paths(cogl_includesubdir, 'cogl') | ||
502 | 1 | cogl_cogl_includedir = join_paths(cogl_includedir, 'cogl') | 2 | cogl_cogl_includedir = join_paths(cogl_includedir, 'cogl') |
503 | 2 | 3 | ||
504 | 3 | cdata = configuration_data() | 4 | cdata = configuration_data() |
505 | @@ -89,6 +90,8 @@ cogl_headers = [ | |||
506 | 89 | 'cogl-pipeline-layer-state.h', | 90 | 'cogl-pipeline-layer-state.h', |
507 | 90 | 'cogl-primitives.h', | 91 | 'cogl-primitives.h', |
508 | 91 | 'cogl-texture.h', | 92 | 'cogl-texture.h', |
509 | 93 | 'cogl-texture-2d.h', | ||
510 | 94 | 'cogl-texture-2d-sliced.h', | ||
511 | 92 | 'cogl-types.h', | 95 | 'cogl-types.h', |
512 | 93 | 'cogl.h', | 96 | 'cogl.h', |
513 | 94 | ] | 97 | ] |
514 | @@ -117,10 +120,8 @@ cogl_nonintrospected_headers = [ | |||
515 | 117 | 'cogl-matrix-stack.h', | 120 | 'cogl-matrix-stack.h', |
516 | 118 | 'cogl-poll.h', | 121 | 'cogl-poll.h', |
517 | 119 | 'cogl-texture-3d.h', | 122 | 'cogl-texture-3d.h', |
518 | 120 | 'cogl-texture-2d.h', | ||
519 | 121 | 'cogl-texture-2d-gl.h', | 123 | 'cogl-texture-2d-gl.h', |
520 | 122 | 'cogl-texture-rectangle.h', | 124 | 'cogl-texture-rectangle.h', |
521 | 123 | 'cogl-texture-2d-sliced.h', | ||
522 | 124 | 'cogl-sub-texture.h', | 125 | 'cogl-sub-texture.h', |
523 | 125 | 'cogl-atlas-texture.h', | 126 | 'cogl-atlas-texture.h', |
524 | 126 | 'cogl-meta-texture.h', | 127 | 'cogl-meta-texture.h', |
525 | @@ -514,16 +515,16 @@ install_headers([ | |||
526 | 514 | cogl_headers, | 515 | cogl_headers, |
527 | 515 | cogl_nonintrospected_headers, | 516 | cogl_nonintrospected_headers, |
528 | 516 | ], | 517 | ], |
530 | 517 | subdir: cogl_cogl_includedir) | 518 | subdir: cogl_cogl_includesubdir) |
531 | 518 | 519 | ||
532 | 519 | install_headers([ | 520 | install_headers([ |
533 | 520 | cogl_deprecated_headers, | 521 | cogl_deprecated_headers, |
534 | 521 | cogl_deprecated_nonintrospected_headers, | 522 | cogl_deprecated_nonintrospected_headers, |
535 | 522 | ], | 523 | ], |
537 | 523 | subdir: join_paths(cogl_cogl_includedir, 'deprecated')) | 524 | subdir: join_paths(cogl_cogl_includesubdir, 'deprecated')) |
538 | 524 | 525 | ||
539 | 525 | install_headers(cogl_gl_prototype_headers, | 526 | install_headers(cogl_gl_prototype_headers, |
541 | 526 | subdir: join_paths(cogl_cogl_includedir, 'gl-prototypes')) | 527 | subdir: join_paths(cogl_cogl_includesubdir, 'gl-prototypes')) |
542 | 527 | 528 | ||
543 | 528 | pkg.generate(libmutter_cogl, | 529 | pkg.generate(libmutter_cogl, |
544 | 529 | name: 'Cogl', | 530 | name: 'Cogl', |
545 | diff --git a/cogl/meson.build b/cogl/meson.build | |||
546 | index d76b865..356d596 100644 | |||
547 | --- a/cogl/meson.build | |||
548 | +++ b/cogl/meson.build | |||
549 | @@ -1,4 +1,5 @@ | |||
551 | 1 | cogl_includedir = join_paths(pkgincludedir, 'cogl') | 1 | cogl_includesubdir = join_paths(pkgname, 'cogl') |
552 | 2 | cogl_includedir = join_paths(includedir, cogl_includesubdir) | ||
553 | 2 | cogl_srcdir = join_paths(top_srcdir, 'cogl') | 3 | cogl_srcdir = join_paths(top_srcdir, 'cogl') |
554 | 3 | cogl_builddir = join_paths(builddir, 'cogl') | 4 | cogl_builddir = join_paths(builddir, 'cogl') |
555 | 4 | 5 | ||
556 | diff --git a/debian/changelog b/debian/changelog | |||
557 | index 5825020..7471ed8 100644 | |||
558 | --- a/debian/changelog | |||
559 | +++ b/debian/changelog | |||
560 | @@ -1,3 +1,43 @@ | |||
561 | 1 | mutter (3.32.0+git20190410-1ubuntu1) disco; urgency=medium | ||
562 | 2 | |||
563 | 3 | * Merge with debian git snapshot (LP: #1820542), remaining changes: | ||
564 | 4 | + debian/control: | ||
565 | 5 | - Update VCS flags to point to launchpad | ||
566 | 6 | - Update maintainer to ubuntu | ||
567 | 7 | + debian/gbp.conf: update branch to point to ubuntu/master | ||
568 | 8 | + debian/patches/x11-Add-support-for-fractional-scaling-using-Randr.patch: | ||
569 | 9 | - X11: Add support for fractional scaling using Randr | ||
570 | 10 | * d/p/x11-Add-support-for-fractional-scaling-using-Randr.patch: | ||
571 | 11 | - Refreshed. | ||
572 | 12 | |||
573 | 13 | -- Marco Trevisan (Treviño) <marco@ubuntu.com> Wed, 10 Apr 2019 20:12:29 -0500 | ||
574 | 14 | |||
575 | 15 | mutter (3.32.0+git20190410-1) experimental; urgency=medium | ||
576 | 16 | |||
577 | 17 | * New upstream snapshot up to commit | ||
578 | 18 | b2d0184c6efa164ad5dd7a2ca8b10cf13acf5b4c. Fixes Launchpad bugs: | ||
579 | 19 | + GNOME Shell task bar menus not updated with external monitor primary and | ||
580 | 20 | laptop screen fractionally scaled (LP: #1803319) | ||
581 | 21 | + (In Xorg sessions only) apps launched from gnome shell do not get input | ||
582 | 22 | focus (LP: #1817924) | ||
583 | 23 | + Touch input is offset with two screens (even appearing on the wrong | ||
584 | 24 | screen) in Xorg sessions (LP: #1821933) | ||
585 | 25 | + gnome-shell crashed with SIGABRT. Assertion failure in | ||
586 | 26 | meta_gpu_kms_flip_crtc: "monitor_manager->power_save_mode == | ||
587 | 27 | META_POWER_SAVE_ON" (LP: #1820331) | ||
588 | 28 | * debian/patches/various: Drop upstream cherry-picks. We had cherry-picked | ||
589 | 29 | the stable branch into Debian patches in the previous upload, but that | ||
590 | 30 | would get out of hand if we carried on. Instead we are using a tarball | ||
591 | 31 | snapshot. So drop the cherry-picks. | ||
592 | 32 | * Update symbols. A typo was fixed in a public symbol. This is an ABI break, | ||
593 | 33 | but upstream didn't consider this worthy of a SONAME change. A codesearch | ||
594 | 34 | / github / web search doesn't reveal any external users either, so we will | ||
595 | 35 | eat this to avoid another transition. | ||
596 | 36 | * Use debhelper-compat 12 and BD on dh-sequence-{gnome,gir}. We were missing | ||
597 | 37 | a direct BD on the providers. Thanks, Lintian. | ||
598 | 38 | |||
599 | 39 | -- Iain Lane <laney@debian.org> Wed, 10 Apr 2019 16:36:23 +0100 | ||
600 | 40 | |||
601 | 1 | mutter (3.32.0-1ubuntu2) disco; urgency=medium | 41 | mutter (3.32.0-1ubuntu2) disco; urgency=medium |
602 | 2 | 42 | ||
603 | 3 | * debian/patches/x11-Add-support-for-fractional-scaling-using-Randr.patch: | 43 | * debian/patches/x11-Add-support-for-fractional-scaling-using-Randr.patch: |
604 | diff --git a/debian/compat b/debian/compat | |||
605 | 4 | deleted file mode 100644 | 44 | deleted file mode 100644 |
606 | index b4de394..0000000 | |||
607 | --- a/debian/compat | |||
608 | +++ /dev/null | |||
609 | @@ -1 +0,0 @@ | |||
610 | 1 | 11 | ||
611 | diff --git a/debian/control b/debian/control | |||
612 | index 02668fc..ebbb4d0 100644 | |||
613 | --- a/debian/control | |||
614 | +++ b/debian/control | |||
615 | @@ -8,7 +8,9 @@ Priority: optional | |||
616 | 8 | Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> | 8 | Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> |
617 | 9 | XSBC-Original-Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org> | 9 | XSBC-Original-Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org> |
618 | 10 | Uploaders: Iain Lane <laney@debian.org>, Jeremy Bicha <jbicha@debian.org> | 10 | Uploaders: Iain Lane <laney@debian.org>, Jeremy Bicha <jbicha@debian.org> |
620 | 11 | Build-Depends: debhelper (>= 11), | 11 | Build-Depends: debhelper-compat (= 12), |
621 | 12 | dh-sequence-gir, | ||
622 | 13 | dh-sequence-gnome, | ||
623 | 12 | at-spi2-core <!nocheck>, | 14 | at-spi2-core <!nocheck>, |
624 | 13 | dbus <!nocheck>, | 15 | dbus <!nocheck>, |
625 | 14 | dmz-cursor-theme <!nocheck>, | 16 | dmz-cursor-theme <!nocheck>, |
626 | diff --git a/debian/control.in b/debian/control.in | |||
627 | index 3c5bd2f..b8cb5fa 100644 | |||
628 | --- a/debian/control.in | |||
629 | +++ b/debian/control.in | |||
630 | @@ -4,7 +4,9 @@ Priority: optional | |||
631 | 4 | Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> | 4 | Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> |
632 | 5 | XSBC-Original-Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org> | 5 | XSBC-Original-Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org> |
633 | 6 | Uploaders: @GNOME_TEAM@ | 6 | Uploaders: @GNOME_TEAM@ |
635 | 7 | Build-Depends: debhelper (>= 11), | 7 | Build-Depends: debhelper-compat (= 12), |
636 | 8 | dh-sequence-gir, | ||
637 | 9 | dh-sequence-gnome, | ||
638 | 8 | at-spi2-core <!nocheck>, | 10 | at-spi2-core <!nocheck>, |
639 | 9 | dbus <!nocheck>, | 11 | dbus <!nocheck>, |
640 | 10 | dmz-cursor-theme <!nocheck>, | 12 | dmz-cursor-theme <!nocheck>, |
641 | diff --git a/debian/libmutter-4-0.symbols b/debian/libmutter-4-0.symbols | |||
642 | index 5d8f044..c0f1939 100644 | |||
643 | --- a/debian/libmutter-4-0.symbols | |||
644 | +++ b/debian/libmutter-4-0.symbols | |||
645 | @@ -419,7 +419,7 @@ libmutter-4.so.0 libmutter-4-0 #MINVER# | |||
646 | 419 | meta_rectangle_get_type@Base 3.28.2 | 419 | meta_rectangle_get_type@Base 3.28.2 |
647 | 420 | meta_rectangle_horiz_overlap@Base 3.28.2 | 420 | meta_rectangle_horiz_overlap@Base 3.28.2 |
648 | 421 | meta_rectangle_intersect@Base 3.28.2 | 421 | meta_rectangle_intersect@Base 3.28.2 |
650 | 422 | meta_rectangle_is_adjecent_to@Base 3.28.2 | 422 | meta_rectangle_is_adjacent_to@Base 3.32.0+git20190410 |
651 | 423 | meta_rectangle_overlap@Base 3.28.2 | 423 | meta_rectangle_overlap@Base 3.28.2 |
652 | 424 | meta_rectangle_overlaps_with_region@Base 3.28.2 | 424 | meta_rectangle_overlaps_with_region@Base 3.28.2 |
653 | 425 | meta_rectangle_resize_with_gravity@Base 3.28.2 | 425 | meta_rectangle_resize_with_gravity@Base 3.28.2 |
654 | @@ -1513,7 +1513,6 @@ libmutter-clutter-4.so.0 libmutter-4-0 #MINVER# | |||
655 | 1513 | clutter_input_device_get_n_mode_groups@Base 3.29.4 | 1513 | clutter_input_device_get_n_mode_groups@Base 3.29.4 |
656 | 1514 | clutter_input_device_get_n_rings@Base 3.29.4 | 1514 | clutter_input_device_get_n_rings@Base 3.29.4 |
657 | 1515 | clutter_input_device_get_n_strips@Base 3.29.4 | 1515 | clutter_input_device_get_n_strips@Base 3.29.4 |
658 | 1516 | clutter_input_device_get_physical_size@Base 3.31.90 | ||
659 | 1517 | clutter_input_device_get_pointer_actor@Base 3.29.4 | 1516 | clutter_input_device_get_pointer_actor@Base 3.29.4 |
660 | 1518 | clutter_input_device_get_pointer_stage@Base 3.29.4 | 1517 | clutter_input_device_get_pointer_stage@Base 3.29.4 |
661 | 1519 | clutter_input_device_get_product_id@Base 3.29.4 | 1518 | clutter_input_device_get_product_id@Base 3.29.4 |
662 | diff --git a/debian/patches/bell-Always-flash-window-instead-of-frame.patch b/debian/patches/bell-Always-flash-window-instead-of-frame.patch | |||
663 | 1520 | deleted file mode 100644 | 1519 | deleted file mode 100644 |
664 | index 91614ab..0000000 | |||
665 | --- a/debian/patches/bell-Always-flash-window-instead-of-frame.patch | |||
666 | +++ /dev/null | |||
667 | @@ -1,111 +0,0 @@ | |||
668 | 1 | From: =?utf-8?q?Florian_M=C3=BCllner?= <fmuellner@gnome.org> | ||
669 | 2 | Date: Wed, 6 Mar 2019 23:51:41 +0100 | ||
670 | 3 | Subject: bell: Always flash window instead of frame | ||
671 | 4 | |||
672 | 5 | Traditionally visual alerts were implemented by flashing the focus | ||
673 | 6 | window's frame. As that only works for windows that we decorate, | ||
674 | 7 | flashing the whole window was added as a fallback for client-decorated | ||
675 | 8 | windows. | ||
676 | 9 | |||
677 | 10 | However that introduces some confusing inconsistency, better to just | ||
678 | 11 | always flash the entire window. | ||
679 | 12 | |||
680 | 13 | https://gitlab.gnome.org/GNOME/mutter/issues/491 | ||
681 | 14 | |||
682 | 15 | Origin: upstream, commit:8d62da2dc4c710246425ea89c09f41e7713371f | ||
683 | 16 | Applied-Upstream: 3.32.1 | ||
684 | 17 | --- | ||
685 | 18 | src/core/bell.c | 66 +++------------------------------------------------------ | ||
686 | 19 | 1 file changed, 3 insertions(+), 63 deletions(-) | ||
687 | 20 | |||
688 | 21 | diff --git a/src/core/bell.c b/src/core/bell.c | ||
689 | 22 | index cd96275..aa334d6 100644 | ||
690 | 23 | --- a/src/core/bell.c | ||
691 | 24 | +++ b/src/core/bell.c | ||
692 | 25 | @@ -34,10 +34,8 @@ | ||
693 | 26 | * function then checks what kind of visual flash you like, and calls either | ||
694 | 27 | * bell_flash_fullscreen()-- which calls bell_flash_screen() to do | ||
695 | 28 | * its work-- or bell_flash_frame(), which flashes the focussed window | ||
696 | 29 | - * using bell_flash_window_frame(), unless there is no such window, in | ||
697 | 30 | - * which case it flashes the screen instead. bell_flash_window_frame() | ||
698 | 31 | - * flashes the frame and calls bell_unflash_frame() as a timeout to | ||
699 | 32 | - * remove the flash. | ||
700 | 33 | + * using bell_flash_window(), unless there is no such window, in | ||
701 | 34 | + * which case it flashes the screen instead. | ||
702 | 35 | * | ||
703 | 36 | * The visual bell was the result of a discussion in Bugzilla here: | ||
704 | 37 | * <http://bugzilla.gnome.org/show_bug.cgi?id=99886>. | ||
705 | 38 | @@ -135,62 +133,6 @@ bell_flash_fullscreen (MetaDisplay *display) | ||
706 | 39 | meta_compositor_flash_display (display->compositor, display); | ||
707 | 40 | } | ||
708 | 41 | |||
709 | 42 | -/** | ||
710 | 43 | - * bell_unflash_frame: | ||
711 | 44 | - * @data: The frame to unflash, cast to a gpointer so it can go into | ||
712 | 45 | - * a callback function. | ||
713 | 46 | - * | ||
714 | 47 | - * Makes a frame be not flashed; this is the timeout half of | ||
715 | 48 | - * bell_flash_window_frame(). This is done simply by clearing the | ||
716 | 49 | - * flash flag and queuing a redraw of the frame. | ||
717 | 50 | - * | ||
718 | 51 | - * If the configure script found we had no XKB, this does not exist. | ||
719 | 52 | - * | ||
720 | 53 | - * Returns: Always FALSE, so we don't get called again. | ||
721 | 54 | - */ | ||
722 | 55 | - | ||
723 | 56 | -/* | ||
724 | 57 | - * Bug: This is the parallel to bell_flash_window_frame(), so it should | ||
725 | 58 | - * really be called meta_bell_unflash_window_frame(). | ||
726 | 59 | - */ | ||
727 | 60 | -static gboolean | ||
728 | 61 | -bell_unflash_frame (gpointer data) | ||
729 | 62 | -{ | ||
730 | 63 | - MetaFrame *frame = (MetaFrame *) data; | ||
731 | 64 | - frame->is_flashing = 0; | ||
732 | 65 | - meta_frame_queue_draw (frame); | ||
733 | 66 | - return FALSE; | ||
734 | 67 | -} | ||
735 | 68 | - | ||
736 | 69 | -/** | ||
737 | 70 | - * bell_flash_window_frame: | ||
738 | 71 | - * @window: The window to flash | ||
739 | 72 | - * | ||
740 | 73 | - * Makes a frame flash and then return to normal shortly afterwards. | ||
741 | 74 | - * This is done by setting a flag so that the theme | ||
742 | 75 | - * code will temporarily draw the frame as focussed if it's unfocussed and | ||
743 | 76 | - * vice versa, and then queueing a redraw. Lastly, we create a timeout so | ||
744 | 77 | - * that the flag can be unset and the frame re-redrawn. | ||
745 | 78 | - * | ||
746 | 79 | - * If the configure script found we had no XKB, this does not exist. | ||
747 | 80 | - */ | ||
748 | 81 | -static void | ||
749 | 82 | -bell_flash_window_frame (MetaWindow *window) | ||
750 | 83 | -{ | ||
751 | 84 | - guint id; | ||
752 | 85 | - g_assert (window->frame != NULL); | ||
753 | 86 | - window->frame->is_flashing = 1; | ||
754 | 87 | - meta_frame_queue_draw (window->frame); | ||
755 | 88 | - /* Since this idle is added after the Clutter clock source, with | ||
756 | 89 | - * the same priority, it will be executed after it as well, so | ||
757 | 90 | - * we are guaranteed to get at least one frame drawn in the | ||
758 | 91 | - * flashed state, no matter how loaded we are. | ||
759 | 92 | - */ | ||
760 | 93 | - id = g_timeout_add_full (META_PRIORITY_REDRAW, 100, | ||
761 | 94 | - bell_unflash_frame, window->frame, NULL); | ||
762 | 95 | - g_source_set_name_by_id (id, "[mutter] bell_unflash_frame"); | ||
763 | 96 | -} | ||
764 | 97 | - | ||
765 | 98 | static void | ||
766 | 99 | bell_flash_window (MetaWindow *window) | ||
767 | 100 | { | ||
768 | 101 | @@ -209,9 +151,7 @@ static void | ||
769 | 102 | bell_flash_frame (MetaDisplay *display, | ||
770 | 103 | MetaWindow *window) | ||
771 | 104 | { | ||
772 | 105 | - if (window && window->frame) | ||
773 | 106 | - bell_flash_window_frame (window); | ||
774 | 107 | - else if (window) | ||
775 | 108 | + if (window) | ||
776 | 109 | bell_flash_window (window); | ||
777 | 110 | else | ||
778 | 111 | bell_flash_fullscreen (display); | ||
779 | diff --git a/debian/patches/boxes-Actually-check-for-rectangle-containment.patch b/debian/patches/boxes-Actually-check-for-rectangle-containment.patch | |||
780 | 112 | deleted file mode 100644 | 0 | deleted file mode 100644 |
781 | index b3af31e..0000000 | |||
782 | --- a/debian/patches/boxes-Actually-check-for-rectangle-containment.patch | |||
783 | +++ /dev/null | |||
784 | @@ -1,38 +0,0 @@ | |||
785 | 1 | From: Pablo Barciela <scow@riseup.net> | ||
786 | 2 | Date: Sun, 3 Mar 2019 16:05:55 +0100 | ||
787 | 3 | Subject: boxes: Actually check for rectangle containment | ||
788 | 4 | |||
789 | 5 | Fixes condition duplicated: | ||
790 | 6 | |||
791 | 7 | /* If a contains b, just remove b */ | ||
792 | 8 | if (meta_rectangle_contains_rect (a, b)) | ||
793 | 9 | { | ||
794 | 10 | delete_me = other; | ||
795 | 11 | } | ||
796 | 12 | /* If b contains a, just remove a */ | ||
797 | 13 | else if (meta_rectangle_contains_rect (a, b)) | ||
798 | 14 | { | ||
799 | 15 | delete_me = compare; | ||
800 | 16 | } | ||
801 | 17 | |||
802 | 18 | Closes https://gitlab.gnome.org/GNOME/mutter/issues/480 | ||
803 | 19 | |||
804 | 20 | Origin: upstream, commit:18164779c07c12c5acfcddde7834980c7521aac | ||
805 | 21 | Applied-Upstream: 3.32.1 | ||
806 | 22 | --- | ||
807 | 23 | src/core/boxes.c | 2 +- | ||
808 | 24 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
809 | 25 | |||
810 | 26 | diff --git a/src/core/boxes.c b/src/core/boxes.c | ||
811 | 27 | index 4ab07d2..87f2d5d 100644 | ||
812 | 28 | --- a/src/core/boxes.c | ||
813 | 29 | +++ b/src/core/boxes.c | ||
814 | 30 | @@ -468,7 +468,7 @@ merge_spanning_rects_in_region (GList *region) | ||
815 | 31 | delete_me = other; | ||
816 | 32 | } | ||
817 | 33 | /* If b contains a, just remove a */ | ||
818 | 34 | - else if (meta_rectangle_contains_rect (a, b)) | ||
819 | 35 | + else if (meta_rectangle_contains_rect (b, a)) | ||
820 | 36 | { | ||
821 | 37 | delete_me = compare; | ||
822 | 38 | } | ||
823 | diff --git a/debian/patches/cogl-Introspect-CoglTexture2D-Sliced.patch b/debian/patches/cogl-Introspect-CoglTexture2D-Sliced.patch | |||
824 | 39 | deleted file mode 100644 | 0 | deleted file mode 100644 |
825 | index 55a9e05..0000000 | |||
826 | --- a/debian/patches/cogl-Introspect-CoglTexture2D-Sliced.patch | |||
827 | +++ /dev/null | |||
828 | @@ -1,124 +0,0 @@ | |||
829 | 1 | From: =?utf-8?q?Florian_M=C3=BCllner?= <fmuellner@gnome.org> | ||
830 | 2 | Date: Wed, 6 Mar 2019 18:50:33 +0100 | ||
831 | 3 | Subject: cogl: Introspect CoglTexture2D(Sliced) | ||
832 | 4 | |||
833 | 5 | gnome-shell cannot use CoglTexture if gjs can't tell that an object | ||
834 | 6 | in question implements the CoglTexture interface. | ||
835 | 7 | |||
836 | 8 | https://gitlab.gnome.org/GNOME/gnome-shell/issues/1020 | ||
837 | 9 | https://gitlab.gnome.org/GNOME/mutter/merge_requests/482 | ||
838 | 10 | |||
839 | 11 | Origin: upstream, commit:aca31c81494435a6c3f2266b664bfc727a23fbe | ||
840 | 12 | Applied-Upstream: 3.32.1 | ||
841 | 13 | --- | ||
842 | 14 | cogl/cogl/cogl-texture-2d-sliced.h | 6 +++--- | ||
843 | 15 | cogl/cogl/cogl-texture-2d.h | 12 +++++++++--- | ||
844 | 16 | cogl/cogl/meson.build | 4 ++-- | ||
845 | 17 | 3 files changed, 14 insertions(+), 8 deletions(-) | ||
846 | 18 | |||
847 | 19 | diff --git a/cogl/cogl/cogl-texture-2d-sliced.h b/cogl/cogl/cogl-texture-2d-sliced.h | ||
848 | 20 | index 8d43fc5..12ce710 100644 | ||
849 | 21 | --- a/cogl/cogl/cogl-texture-2d-sliced.h | ||
850 | 22 | +++ b/cogl/cogl/cogl-texture-2d-sliced.h | ||
851 | 23 | @@ -78,7 +78,7 @@ typedef struct _CoglTexture2DSliced CoglTexture2DSliced; | ||
852 | 24 | GType cogl_texture_2d_sliced_get_gtype (void); | ||
853 | 25 | |||
854 | 26 | /** | ||
855 | 27 | - * cogl_texture_2d_sliced_new_with_size: | ||
856 | 28 | + * cogl_texture_2d_sliced_new_with_size: (skip) | ||
857 | 29 | * @ctx: A #CoglContext | ||
858 | 30 | * @width: The virtual width of your sliced texture. | ||
859 | 31 | * @height: The virtual height of your sliced texture. | ||
860 | 32 | @@ -125,7 +125,7 @@ cogl_texture_2d_sliced_new_with_size (CoglContext *ctx, | ||
861 | 33 | int max_waste); | ||
862 | 34 | |||
863 | 35 | /** | ||
864 | 36 | - * cogl_texture_2d_sliced_new_from_file: | ||
865 | 37 | + * cogl_texture_2d_sliced_new_from_file: (skip) | ||
866 | 38 | * @ctx: A #CoglContext | ||
867 | 39 | * @filename: the file to load | ||
868 | 40 | * @max_waste: The threshold of how wide a strip of wasted texels | ||
869 | 41 | @@ -173,7 +173,7 @@ cogl_texture_2d_sliced_new_from_file (CoglContext *ctx, | ||
870 | 42 | CoglError **error); | ||
871 | 43 | |||
872 | 44 | /** | ||
873 | 45 | - * cogl_texture_2d_sliced_new_from_data: | ||
874 | 46 | + * cogl_texture_2d_sliced_new_from_data: (skip) | ||
875 | 47 | * @ctx: A #CoglContext | ||
876 | 48 | * @width: width of texture in pixels | ||
877 | 49 | * @height: height of texture in pixels | ||
878 | 50 | diff --git a/cogl/cogl/cogl-texture-2d.h b/cogl/cogl/cogl-texture-2d.h | ||
879 | 51 | index 85cadba..29b8b2d 100644 | ||
880 | 52 | --- a/cogl/cogl/cogl-texture-2d.h | ||
881 | 53 | +++ b/cogl/cogl/cogl-texture-2d.h | ||
882 | 54 | @@ -86,7 +86,7 @@ gboolean | ||
883 | 55 | cogl_is_texture_2d (void *object); | ||
884 | 56 | |||
885 | 57 | /** | ||
886 | 58 | - * cogl_texture_2d_new_with_size: | ||
887 | 59 | + * cogl_texture_2d_new_with_size: (skip) | ||
888 | 60 | * @ctx: A #CoglContext | ||
889 | 61 | * @width: Width of the texture to allocate | ||
890 | 62 | * @height: Height of the texture to allocate | ||
891 | 63 | @@ -120,7 +120,7 @@ cogl_texture_2d_new_with_size (CoglContext *ctx, | ||
892 | 64 | int height); | ||
893 | 65 | |||
894 | 66 | /** | ||
895 | 67 | - * cogl_texture_2d_new_from_file: | ||
896 | 68 | + * cogl_texture_2d_new_from_file: (skip) | ||
897 | 69 | * @ctx: A #CoglContext | ||
898 | 70 | * @filename: the file to load | ||
899 | 71 | * @error: A #CoglError to catch exceptional errors or %NULL | ||
900 | 72 | @@ -154,7 +154,7 @@ cogl_texture_2d_new_from_file (CoglContext *ctx, | ||
901 | 73 | CoglError **error); | ||
902 | 74 | |||
903 | 75 | /** | ||
904 | 76 | - * cogl_texture_2d_new_from_data: | ||
905 | 77 | + * cogl_texture_2d_new_from_data: (skip) | ||
906 | 78 | * @ctx: A #CoglContext | ||
907 | 79 | * @width: width of texture in pixels | ||
908 | 80 | * @height: height of texture in pixels | ||
909 | 81 | @@ -231,6 +231,9 @@ cogl_texture_2d_new_from_data (CoglContext *ctx, | ||
910 | 82 | CoglTexture2D * | ||
911 | 83 | cogl_texture_2d_new_from_bitmap (CoglBitmap *bitmap); | ||
912 | 84 | |||
913 | 85 | +/** | ||
914 | 86 | + * cogl_egl_texture_2d_new_from_image: (skip) | ||
915 | 87 | + */ | ||
916 | 88 | #if defined (COGL_HAS_EGL_SUPPORT) && defined (EGL_KHR_image_base) | ||
917 | 89 | /* NB: The reason we require the width, height and format to be passed | ||
918 | 90 | * even though they may seem redundant is because GLES 1/2 don't | ||
919 | 91 | @@ -247,6 +250,9 @@ typedef gboolean (*CoglTexture2DEGLImageExternalAlloc) (CoglTexture2D *tex_2d, | ||
920 | 92 | gpointer user_data, | ||
921 | 93 | GError **error); | ||
922 | 94 | |||
923 | 95 | +/** | ||
924 | 96 | + * cogl_texture_2d_new_from_egl_image_external: (skip) | ||
925 | 97 | + */ | ||
926 | 98 | CoglTexture2D * | ||
927 | 99 | cogl_texture_2d_new_from_egl_image_external (CoglContext *ctx, | ||
928 | 100 | int width, | ||
929 | 101 | diff --git a/cogl/cogl/meson.build b/cogl/cogl/meson.build | ||
930 | 102 | index 5d80e87..626e8fa 100644 | ||
931 | 103 | --- a/cogl/cogl/meson.build | ||
932 | 104 | +++ b/cogl/cogl/meson.build | ||
933 | 105 | @@ -89,6 +89,8 @@ cogl_headers = [ | ||
934 | 106 | 'cogl-pipeline-layer-state.h', | ||
935 | 107 | 'cogl-primitives.h', | ||
936 | 108 | 'cogl-texture.h', | ||
937 | 109 | + 'cogl-texture-2d.h', | ||
938 | 110 | + 'cogl-texture-2d-sliced.h', | ||
939 | 111 | 'cogl-types.h', | ||
940 | 112 | 'cogl.h', | ||
941 | 113 | ] | ||
942 | 114 | @@ -117,10 +119,8 @@ cogl_nonintrospected_headers = [ | ||
943 | 115 | 'cogl-matrix-stack.h', | ||
944 | 116 | 'cogl-poll.h', | ||
945 | 117 | 'cogl-texture-3d.h', | ||
946 | 118 | - 'cogl-texture-2d.h', | ||
947 | 119 | 'cogl-texture-2d-gl.h', | ||
948 | 120 | 'cogl-texture-rectangle.h', | ||
949 | 121 | - 'cogl-texture-2d-sliced.h', | ||
950 | 122 | 'cogl-sub-texture.h', | ||
951 | 123 | 'cogl-atlas-texture.h', | ||
952 | 124 | 'cogl-meta-texture.h', | ||
953 | diff --git a/debian/patches/cogl-Remove-unused-CoglTextureDriver-try_setting_gl_borde.patch b/debian/patches/cogl-Remove-unused-CoglTextureDriver-try_setting_gl_borde.patch | |||
954 | 125 | deleted file mode 100644 | 0 | deleted file mode 100644 |
955 | index b4e5f3b..0000000 | |||
956 | --- a/debian/patches/cogl-Remove-unused-CoglTextureDriver-try_setting_gl_borde.patch | |||
957 | +++ /dev/null | |||
958 | @@ -1,94 +0,0 @@ | |||
959 | 1 | From: Adam Jackson <ajax@redhat.com> | ||
960 | 2 | Date: Wed, 6 Mar 2019 12:15:40 -0500 | ||
961 | 3 | Subject: cogl: Remove unused CoglTextureDriver::try_setting_gl_border_color | ||
962 | 4 | |||
963 | 5 | https://gitlab.gnome.org/GNOME/mutter/merge_requests/480 | ||
964 | 6 | |||
965 | 7 | Origin: upstream, commit:555a2c8eba115425a81d7b84f3ca2163493c0d4 | ||
966 | 8 | Applied-Upstream: 3.32.1 | ||
967 | 9 | --- | ||
968 | 10 | cogl/cogl/cogl-texture-driver.h | 9 --------- | ||
969 | 11 | cogl/cogl/driver/gl/gl/cogl-texture-driver-gl.c | 14 -------------- | ||
970 | 12 | cogl/cogl/driver/gl/gles/cogl-texture-driver-gles.c | 10 ---------- | ||
971 | 13 | 3 files changed, 33 deletions(-) | ||
972 | 14 | |||
973 | 15 | diff --git a/cogl/cogl/cogl-texture-driver.h b/cogl/cogl/cogl-texture-driver.h | ||
974 | 16 | index f77c548..a6e7d4f 100644 | ||
975 | 17 | --- a/cogl/cogl/cogl-texture-driver.h | ||
976 | 18 | +++ b/cogl/cogl/cogl-texture-driver.h | ||
977 | 19 | @@ -171,15 +171,6 @@ struct _CoglTextureDriver | ||
978 | 20 | int height, | ||
979 | 21 | int depth); | ||
980 | 22 | |||
981 | 23 | - /* | ||
982 | 24 | - * This driver abstraction is needed because GLES doesn't support setting | ||
983 | 25 | - * a texture border color. | ||
984 | 26 | - */ | ||
985 | 27 | - void | ||
986 | 28 | - (* try_setting_gl_border_color) (CoglContext *ctx, | ||
987 | 29 | - GLuint gl_target, | ||
988 | 30 | - const GLfloat *transparent_color); | ||
989 | 31 | - | ||
990 | 32 | /* | ||
991 | 33 | * It may depend on the driver as to what texture targets may be used when | ||
992 | 34 | * creating a foreign texture. E.g. OpenGL supports ARB_texture_rectangle | ||
993 | 35 | diff --git a/cogl/cogl/driver/gl/gl/cogl-texture-driver-gl.c b/cogl/cogl/driver/gl/gl/cogl-texture-driver-gl.c | ||
994 | 36 | index fbb55de..35b87f7 100644 | ||
995 | 37 | --- a/cogl/cogl/driver/gl/gl/cogl-texture-driver-gl.c | ||
996 | 38 | +++ b/cogl/cogl/driver/gl/gl/cogl-texture-driver-gl.c | ||
997 | 39 | @@ -485,19 +485,6 @@ _cogl_texture_driver_size_supported (CoglContext *ctx, | ||
998 | 40 | return new_width != 0; | ||
999 | 41 | } | ||
1000 | 42 | |||
1001 | 43 | -static void | ||
1002 | 44 | -_cogl_texture_driver_try_setting_gl_border_color | ||
1003 | 45 | - (CoglContext *ctx, | ||
1004 | 46 | - GLuint gl_target, | ||
1005 | 47 | - const GLfloat *transparent_color) | ||
1006 | 48 | -{ | ||
1007 | 49 | - /* Use a transparent border color so that we can leave the | ||
1008 | 50 | - color buffer alone when using texture co-ordinates | ||
1009 | 51 | - outside of the texture */ | ||
1010 | 52 | - GE( ctx, glTexParameterfv (gl_target, GL_TEXTURE_BORDER_COLOR, | ||
1011 | 53 | - transparent_color) ); | ||
1012 | 54 | -} | ||
1013 | 55 | - | ||
1014 | 56 | static gboolean | ||
1015 | 57 | _cogl_texture_driver_allows_foreign_gl_target (CoglContext *ctx, | ||
1016 | 58 | GLenum gl_target) | ||
1017 | 59 | @@ -541,7 +528,6 @@ _cogl_texture_driver_gl = | ||
1018 | 60 | _cogl_texture_driver_gl_get_tex_image, | ||
1019 | 61 | _cogl_texture_driver_size_supported, | ||
1020 | 62 | _cogl_texture_driver_size_supported_3d, | ||
1021 | 63 | - _cogl_texture_driver_try_setting_gl_border_color, | ||
1022 | 64 | _cogl_texture_driver_allows_foreign_gl_target, | ||
1023 | 65 | _cogl_texture_driver_find_best_gl_get_data_format | ||
1024 | 66 | }; | ||
1025 | 67 | diff --git a/cogl/cogl/driver/gl/gles/cogl-texture-driver-gles.c b/cogl/cogl/driver/gl/gles/cogl-texture-driver-gles.c | ||
1026 | 68 | index 17f529e..f773f93 100644 | ||
1027 | 69 | --- a/cogl/cogl/driver/gl/gles/cogl-texture-driver-gles.c | ||
1028 | 70 | +++ b/cogl/cogl/driver/gl/gles/cogl-texture-driver-gles.c | ||
1029 | 71 | @@ -590,15 +590,6 @@ _cogl_texture_driver_size_supported (CoglContext *ctx, | ||
1030 | 72 | return width <= max_size && height <= max_size; | ||
1031 | 73 | } | ||
1032 | 74 | |||
1033 | 75 | -static void | ||
1034 | 76 | -_cogl_texture_driver_try_setting_gl_border_color | ||
1035 | 77 | - (CoglContext *ctx, | ||
1036 | 78 | - GLuint gl_target, | ||
1037 | 79 | - const GLfloat *transparent_color) | ||
1038 | 80 | -{ | ||
1039 | 81 | - /* FAIL! */ | ||
1040 | 82 | -} | ||
1041 | 83 | - | ||
1042 | 84 | static gboolean | ||
1043 | 85 | _cogl_texture_driver_allows_foreign_gl_target (CoglContext *ctx, | ||
1044 | 86 | GLenum gl_target) | ||
1045 | 87 | @@ -636,7 +627,6 @@ _cogl_texture_driver_gles = | ||
1046 | 88 | _cogl_texture_driver_gl_get_tex_image, | ||
1047 | 89 | _cogl_texture_driver_size_supported, | ||
1048 | 90 | _cogl_texture_driver_size_supported_3d, | ||
1049 | 91 | - _cogl_texture_driver_try_setting_gl_border_color, | ||
1050 | 92 | _cogl_texture_driver_allows_foreign_gl_target, | ||
1051 | 93 | _cogl_texture_driver_find_best_gl_get_data_format | ||
1052 | 94 | }; | ||
1053 | diff --git a/debian/patches/frame-Remove-flashing-support.patch b/debian/patches/frame-Remove-flashing-support.patch | |||
1054 | 95 | deleted file mode 100644 | 0 | deleted file mode 100644 |
1055 | index efbaf14..0000000 | |||
1056 | --- a/debian/patches/frame-Remove-flashing-support.patch | |||
1057 | +++ /dev/null | |||
1058 | @@ -1,144 +0,0 @@ | |||
1059 | 1 | From: =?utf-8?q?Florian_M=C3=BCllner?= <fmuellner@gnome.org> | ||
1060 | 2 | Date: Wed, 6 Mar 2019 23:56:33 +0100 | ||
1061 | 3 | Subject: frame: Remove flashing support | ||
1062 | 4 | |||
1063 | 5 | It's now unused. | ||
1064 | 6 | |||
1065 | 7 | https://gitlab.gnome.org/GNOME/mutter/issues/491 | ||
1066 | 8 | |||
1067 | 9 | Origin: upstream, commit:bd33e7b0027f51307657938db3b4cc1a8d03dde | ||
1068 | 10 | Applied-Upstream: 3.32.1 | ||
1069 | 11 | --- | ||
1070 | 12 | src/core/bell.c | 16 ---------------- | ||
1071 | 13 | src/core/bell.h | 11 ----------- | ||
1072 | 14 | src/core/frame.c | 6 ------ | ||
1073 | 15 | src/core/frame.h | 1 - | ||
1074 | 16 | src/meta/common.h | 8 +++----- | ||
1075 | 17 | src/ui/theme.c | 2 -- | ||
1076 | 18 | 6 files changed, 3 insertions(+), 41 deletions(-) | ||
1077 | 19 | |||
1078 | 20 | diff --git a/src/core/bell.c b/src/core/bell.c | ||
1079 | 21 | index aa334d6..d7000b2 100644 | ||
1080 | 22 | --- a/src/core/bell.c | ||
1081 | 23 | +++ b/src/core/bell.c | ||
1082 | 24 | @@ -207,19 +207,3 @@ meta_bell_notify (MetaDisplay *display, | ||
1083 | 25 | |||
1084 | 26 | return TRUE; | ||
1085 | 27 | } | ||
1086 | 28 | - | ||
1087 | 29 | -/** | ||
1088 | 30 | - * meta_bell_notify_frame_destroy: | ||
1089 | 31 | - * @frame: The frame which is being destroyed | ||
1090 | 32 | - * | ||
1091 | 33 | - * Deals with a frame being destroyed. This is important because if we're | ||
1092 | 34 | - * using a visual bell, we might be flashing the edges of the frame, and | ||
1093 | 35 | - * so we'd have a timeout function waiting ready to un-flash them. If the | ||
1094 | 36 | - * frame's going away, we can tell the timeout not to bother. | ||
1095 | 37 | - */ | ||
1096 | 38 | -void | ||
1097 | 39 | -meta_bell_notify_frame_destroy (MetaFrame *frame) | ||
1098 | 40 | -{ | ||
1099 | 41 | - if (frame->is_flashing) | ||
1100 | 42 | - g_source_remove_by_funcs_user_data (&g_timeout_funcs, frame); | ||
1101 | 43 | -} | ||
1102 | 44 | diff --git a/src/core/bell.h b/src/core/bell.h | ||
1103 | 45 | index 9205b08..f86cbb7 100644 | ||
1104 | 46 | --- a/src/core/bell.h | ||
1105 | 47 | +++ b/src/core/bell.h | ||
1106 | 48 | @@ -41,14 +41,3 @@ MetaBell * meta_bell_new (MetaDisplay *display); | ||
1107 | 49 | */ | ||
1108 | 50 | gboolean meta_bell_notify (MetaDisplay *display, | ||
1109 | 51 | MetaWindow *window); | ||
1110 | 52 | - | ||
1111 | 53 | -/** | ||
1112 | 54 | - * meta_bell_notify_frame_destroy: | ||
1113 | 55 | - * @frame: The frame which is being destroyed | ||
1114 | 56 | - * | ||
1115 | 57 | - * Deals with a frame being destroyed. This is important because if we're | ||
1116 | 58 | - * using a visual bell, we might be flashing the edges of the frame, and | ||
1117 | 59 | - * so we'd have a timeout function waiting ready to un-flash them. If the | ||
1118 | 60 | - * frame's going away, we can tell the timeout not to bother. | ||
1119 | 61 | - */ | ||
1120 | 62 | -void meta_bell_notify_frame_destroy (MetaFrame *frame); | ||
1121 | 63 | diff --git a/src/core/frame.c b/src/core/frame.c | ||
1122 | 64 | index 7eea0a3..7699461 100644 | ||
1123 | 65 | --- a/src/core/frame.c | ||
1124 | 66 | +++ b/src/core/frame.c | ||
1125 | 67 | @@ -60,7 +60,6 @@ meta_window_ensure_frame (MetaWindow *window) | ||
1126 | 68 | frame->right_width = 0; | ||
1127 | 69 | frame->current_cursor = 0; | ||
1128 | 70 | |||
1129 | 71 | - frame->is_flashing = FALSE; | ||
1130 | 72 | frame->borders_cached = FALSE; | ||
1131 | 73 | |||
1132 | 74 | meta_verbose ("Frame geometry %d,%d %dx%d\n", | ||
1133 | 75 | @@ -177,8 +176,6 @@ meta_window_destroy_frame (MetaWindow *window) | ||
1134 | 76 | |||
1135 | 77 | meta_frame_calc_borders (frame, &borders); | ||
1136 | 78 | |||
1137 | 79 | - meta_bell_notify_frame_destroy (frame); | ||
1138 | 80 | - | ||
1139 | 81 | /* Unparent the client window; it may be destroyed, | ||
1140 | 82 | * thus the error trap. | ||
1141 | 83 | */ | ||
1142 | 84 | @@ -298,9 +295,6 @@ meta_frame_get_flags (MetaFrame *frame) | ||
1143 | 85 | if (frame->window->fullscreen) | ||
1144 | 86 | flags |= META_FRAME_FULLSCREEN; | ||
1145 | 87 | |||
1146 | 88 | - if (frame->is_flashing) | ||
1147 | 89 | - flags |= META_FRAME_IS_FLASHING; | ||
1148 | 90 | - | ||
1149 | 91 | if (frame->window->wm_state_above) | ||
1150 | 92 | flags |= META_FRAME_ABOVE; | ||
1151 | 93 | |||
1152 | 94 | diff --git a/src/core/frame.h b/src/core/frame.h | ||
1153 | 95 | index 73a7b4b..c0bacbe 100644 | ||
1154 | 96 | --- a/src/core/frame.h | ||
1155 | 97 | +++ b/src/core/frame.h | ||
1156 | 98 | @@ -49,7 +49,6 @@ struct _MetaFrame | ||
1157 | 99 | int bottom_height; | ||
1158 | 100 | |||
1159 | 101 | guint need_reapply_frame_shape : 1; | ||
1160 | 102 | - guint is_flashing : 1; /* used by the visual bell flash */ | ||
1161 | 103 | guint borders_cached : 1; | ||
1162 | 104 | |||
1163 | 105 | MetaUIFrame *ui_frame; | ||
1164 | 106 | diff --git a/src/meta/common.h b/src/meta/common.h | ||
1165 | 107 | index 02e2802..670097b 100644 | ||
1166 | 108 | --- a/src/meta/common.h | ||
1167 | 109 | +++ b/src/meta/common.h | ||
1168 | 110 | @@ -63,7 +63,6 @@ | ||
1169 | 111 | * @META_FRAME_ALLOWS_SHADE: frame allows shade | ||
1170 | 112 | * @META_FRAME_ALLOWS_MOVE: frame allows move | ||
1171 | 113 | * @META_FRAME_FULLSCREEN: frame allows fullscreen | ||
1172 | 114 | - * @META_FRAME_IS_FLASHING: frame is flashing | ||
1173 | 115 | * @META_FRAME_ABOVE: frame is above | ||
1174 | 116 | * @META_FRAME_TILED_LEFT: frame is tiled to the left | ||
1175 | 117 | * @META_FRAME_TILED_RIGHT: frame is tiled to the right | ||
1176 | 118 | @@ -83,10 +82,9 @@ typedef enum | ||
1177 | 119 | META_FRAME_ALLOWS_SHADE = 1 << 10, | ||
1178 | 120 | META_FRAME_ALLOWS_MOVE = 1 << 11, | ||
1179 | 121 | META_FRAME_FULLSCREEN = 1 << 12, | ||
1180 | 122 | - META_FRAME_IS_FLASHING = 1 << 13, | ||
1181 | 123 | - META_FRAME_ABOVE = 1 << 14, | ||
1182 | 124 | - META_FRAME_TILED_LEFT = 1 << 15, | ||
1183 | 125 | - META_FRAME_TILED_RIGHT = 1 << 16 | ||
1184 | 126 | + META_FRAME_ABOVE = 1 << 13, | ||
1185 | 127 | + META_FRAME_TILED_LEFT = 1 << 14, | ||
1186 | 128 | + META_FRAME_TILED_RIGHT = 1 << 15 | ||
1187 | 129 | } MetaFrameFlags; | ||
1188 | 130 | |||
1189 | 131 | /** | ||
1190 | 132 | diff --git a/src/ui/theme.c b/src/ui/theme.c | ||
1191 | 133 | index 53d7ef5..b7618d9 100644 | ||
1192 | 134 | --- a/src/ui/theme.c | ||
1193 | 135 | +++ b/src/ui/theme.c | ||
1194 | 136 | @@ -1186,8 +1186,6 @@ meta_style_info_set_flags (MetaStyleInfo *style_info, | ||
1195 | 137 | int i; | ||
1196 | 138 | |||
1197 | 139 | backdrop = !(flags & META_FRAME_HAS_FOCUS); | ||
1198 | 140 | - if (flags & META_FRAME_IS_FLASHING) | ||
1199 | 141 | - backdrop = !backdrop; | ||
1200 | 142 | |||
1201 | 143 | if (flags & META_FRAME_MAXIMIZED) | ||
1202 | 144 | class_name = "maximized"; | ||
1203 | diff --git a/debian/patches/keybindings-Fix-theoretical-memory-leak-while-ungrabbing.patch b/debian/patches/keybindings-Fix-theoretical-memory-leak-while-ungrabbing.patch | |||
1204 | 145 | deleted file mode 100644 | 0 | deleted file mode 100644 |
1205 | index 9f4e0f6..0000000 | |||
1206 | --- a/debian/patches/keybindings-Fix-theoretical-memory-leak-while-ungrabbing.patch | |||
1207 | +++ /dev/null | |||
1208 | @@ -1,36 +0,0 @@ | |||
1209 | 1 | From: Benjamin Berg <bberg@redhat.com> | ||
1210 | 2 | Date: Wed, 6 Mar 2019 14:07:02 +0100 | ||
1211 | 3 | Subject: keybindings: Fix theoretical memory leak while ungrabbing | ||
1212 | 4 | |||
1213 | 5 | In the unlikely event that one tries to ungrab an action which does not | ||
1214 | 6 | exist, a small leak could occur. Fix this by using g_autofree. | ||
1215 | 7 | |||
1216 | 8 | https://gitlab.gnome.org/GNOME/mutter/merge_requests/478 | ||
1217 | 9 | |||
1218 | 10 | Origin: upstream, commit:0ceeb28481ec74073241d0c2f6af8795f070905 | ||
1219 | 11 | Applied-Upstream: 3.32.1 | ||
1220 | 12 | --- | ||
1221 | 13 | src/core/keybindings.c | 3 +-- | ||
1222 | 14 | 1 file changed, 1 insertion(+), 2 deletions(-) | ||
1223 | 15 | |||
1224 | 16 | diff --git a/src/core/keybindings.c b/src/core/keybindings.c | ||
1225 | 17 | index 5ffe411..478d4d8 100644 | ||
1226 | 18 | --- a/src/core/keybindings.c | ||
1227 | 19 | +++ b/src/core/keybindings.c | ||
1228 | 20 | @@ -1654,7 +1654,7 @@ meta_display_ungrab_accelerator (MetaDisplay *display, | ||
1229 | 21 | MetaKeyBindingManager *keys = &display->key_binding_manager; | ||
1230 | 22 | MetaKeyBinding *binding; | ||
1231 | 23 | MetaKeyGrab *grab; | ||
1232 | 24 | - char *key; | ||
1233 | 25 | + g_autofree char *key = NULL; | ||
1234 | 26 | MetaResolvedKeyCombo resolved_combo = { NULL, 0 }; | ||
1235 | 27 | |||
1236 | 28 | g_return_val_if_fail (action != META_KEYBINDING_ACTION_NONE, FALSE); | ||
1237 | 29 | @@ -1683,7 +1683,6 @@ meta_display_ungrab_accelerator (MetaDisplay *display, | ||
1238 | 30 | } | ||
1239 | 31 | |||
1240 | 32 | g_hash_table_remove (external_grabs, key); | ||
1241 | 33 | - g_free (key); | ||
1242 | 34 | resolved_key_combo_reset (&resolved_combo); | ||
1243 | 35 | |||
1244 | 36 | return TRUE; | ||
1245 | diff --git a/debian/patches/meson-add-back-default_driver-option.patch b/debian/patches/meson-add-back-default_driver-option.patch | |||
1246 | index 2aa1054..b79207c 100644 | |||
1247 | --- a/debian/patches/meson-add-back-default_driver-option.patch | |||
1248 | +++ b/debian/patches/meson-add-back-default_driver-option.patch | |||
1249 | @@ -29,10 +29,10 @@ index 56946b2..ae53310 100644 | |||
1250 | 29 | + | 29 | + |
1251 | 30 | #define COGL_CONFIG_H_INCLUDED 1 | 30 | #define COGL_CONFIG_H_INCLUDED 1 |
1252 | 31 | diff --git a/cogl/meson.build b/cogl/meson.build | 31 | diff --git a/cogl/meson.build b/cogl/meson.build |
1254 | 32 | index d76b865..a6c22ff 100644 | 32 | index 356d596..2ab83bd 100644 |
1255 | 33 | --- a/cogl/meson.build | 33 | --- a/cogl/meson.build |
1256 | 34 | +++ b/cogl/meson.build | 34 | +++ b/cogl/meson.build |
1258 | 35 | @@ -9,6 +9,10 @@ cdata.set('HAVE_COGL_GL', have_gl) | 35 | @@ -10,6 +10,10 @@ cdata.set('HAVE_COGL_GL', have_gl) |
1259 | 36 | cdata.set('HAVE_COGL_GLES2', have_gles2) | 36 | cdata.set('HAVE_COGL_GLES2', have_gles2) |
1260 | 37 | cdata.set('ENABLE_UNIT_TESTS', have_cogl_tests) | 37 | cdata.set('ENABLE_UNIT_TESTS', have_cogl_tests) |
1261 | 38 | 38 | ||
1262 | @@ -44,7 +44,7 @@ index d76b865..a6c22ff 100644 | |||
1263 | 44 | input: 'cogl-config.h.meson', | 44 | input: 'cogl-config.h.meson', |
1264 | 45 | output: 'cogl-config.h', | 45 | output: 'cogl-config.h', |
1265 | 46 | diff --git a/meson.build b/meson.build | 46 | diff --git a/meson.build b/meson.build |
1267 | 47 | index dc210e6..cafbde4 100644 | 47 | index 6ce9e59..bebe8eb 100644 |
1268 | 48 | --- a/meson.build | 48 | --- a/meson.build |
1269 | 49 | +++ b/meson.build | 49 | +++ b/meson.build |
1270 | 50 | @@ -210,6 +210,8 @@ if have_wayland_eglstream | 50 | @@ -210,6 +210,8 @@ if have_wayland_eglstream |
1271 | diff --git a/debian/patches/meta-monitor-Remove-useless-variable.patch b/debian/patches/meta-monitor-Remove-useless-variable.patch | |||
1272 | 51 | deleted file mode 100644 | 51 | deleted file mode 100644 |
1273 | index c32082a..0000000 | |||
1274 | --- a/debian/patches/meta-monitor-Remove-useless-variable.patch | |||
1275 | +++ /dev/null | |||
1276 | @@ -1,44 +0,0 @@ | |||
1277 | 1 | From: =?utf-8?q?Florian_M=C3=BCllner?= <fmuellner@gnome.org> | ||
1278 | 2 | Date: Tue, 5 Mar 2019 01:26:35 +0100 | ||
1279 | 3 | Subject: meta-monitor: Remove useless variable | ||
1280 | 4 | |||
1281 | 5 | Since commit f76b3edf9cdf, the variable is never set to TRUE and | ||
1282 | 6 | we can simply remove it. | ||
1283 | 7 | |||
1284 | 8 | https://gitlab.gnome.org/GNOME/mutter/merge_requests/475 | ||
1285 | 9 | |||
1286 | 10 | Origin: upstream, commit:2504ae91770a1d6524a136f56ab437d4455a626 | ||
1287 | 11 | Applied-Upstream: 3.32.1 | ||
1288 | 12 | --- | ||
1289 | 13 | src/backends/meta-monitor.c | 4 +--- | ||
1290 | 14 | 1 file changed, 1 insertion(+), 3 deletions(-) | ||
1291 | 15 | |||
1292 | 16 | diff --git a/src/backends/meta-monitor.c b/src/backends/meta-monitor.c | ||
1293 | 17 | index 3ff18a5..1a32e4c 100644 | ||
1294 | 18 | --- a/src/backends/meta-monitor.c | ||
1295 | 19 | +++ b/src/backends/meta-monitor.c | ||
1296 | 20 | @@ -1587,7 +1587,6 @@ get_closest_scale_factor_for_resolution (float width, | ||
1297 | 21 | float scaled_w; | ||
1298 | 22 | float best_scale; | ||
1299 | 23 | int base_scaled_w; | ||
1300 | 24 | - gboolean limit_exceeded; | ||
1301 | 25 | gboolean found_one; | ||
1302 | 26 | |||
1303 | 27 | best_scale = 0; | ||
1304 | 28 | @@ -1604,7 +1603,6 @@ get_closest_scale_factor_for_resolution (float width, | ||
1305 | 29 | |||
1306 | 30 | i = 0; | ||
1307 | 31 | found_one = FALSE; | ||
1308 | 32 | - limit_exceeded = FALSE; | ||
1309 | 33 | base_scaled_w = floorf (scaled_w); | ||
1310 | 34 | |||
1311 | 35 | do | ||
1312 | 36 | @@ -1637,7 +1635,7 @@ get_closest_scale_factor_for_resolution (float width, | ||
1313 | 37 | |||
1314 | 38 | i++; | ||
1315 | 39 | } | ||
1316 | 40 | - while (!found_one && !limit_exceeded); | ||
1317 | 41 | + while (!found_one); | ||
1318 | 42 | |||
1319 | 43 | out: | ||
1320 | 44 | return best_scale; | ||
1321 | diff --git a/debian/patches/monitor-Fix-indentation-style-on-calculate_crtc_pos-and-f.patch b/debian/patches/monitor-Fix-indentation-style-on-calculate_crtc_pos-and-f.patch | |||
1322 | 45 | deleted file mode 100644 | 0 | deleted file mode 100644 |
1323 | index eab8a30..0000000 | |||
1324 | --- a/debian/patches/monitor-Fix-indentation-style-on-calculate_crtc_pos-and-f.patch | |||
1325 | +++ /dev/null | |||
1326 | @@ -1,116 +0,0 @@ | |||
1327 | 1 | From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= <mail@3v1n0.net> | ||
1328 | 2 | Date: Fri, 8 Mar 2019 18:13:00 +0000 | ||
1329 | 3 | Subject: monitor: Fix indentation style on calculate_crtc_pos and friends | ||
1330 | 4 | |||
1331 | 5 | https://gitlab.gnome.org/GNOME/mutter/merge_requests/488 | ||
1332 | 6 | |||
1333 | 7 | Origin: upstream, commit:2525f286d3a6687b6d78b038f795d0c1a4f4cb0 | ||
1334 | 8 | Applied-Upstream: 3.32.1 | ||
1335 | 9 | --- | ||
1336 | 10 | src/backends/meta-monitor.c | 36 ++++++++++++++++++------------------ | ||
1337 | 11 | src/backends/meta-monitor.h | 24 ++++++++++++------------ | ||
1338 | 12 | 2 files changed, 30 insertions(+), 30 deletions(-) | ||
1339 | 13 | |||
1340 | 14 | diff --git a/src/backends/meta-monitor.c b/src/backends/meta-monitor.c | ||
1341 | 15 | index b2f500f..1c6e844 100644 | ||
1342 | 16 | --- a/src/backends/meta-monitor.c | ||
1343 | 17 | +++ b/src/backends/meta-monitor.c | ||
1344 | 18 | @@ -615,12 +615,12 @@ meta_monitor_normal_get_suggested_position (MetaMonitor *monitor, | ||
1345 | 19 | } | ||
1346 | 20 | |||
1347 | 21 | static void | ||
1348 | 22 | -meta_monitor_normal_calculate_crtc_pos (MetaMonitor *monitor, | ||
1349 | 23 | - MetaMonitorMode *monitor_mode, | ||
1350 | 24 | - MetaOutput *output, | ||
1351 | 25 | - MetaMonitorTransform crtc_transform, | ||
1352 | 26 | - int *out_x, | ||
1353 | 27 | - int *out_y) | ||
1354 | 28 | +meta_monitor_normal_calculate_crtc_pos (MetaMonitor *monitor, | ||
1355 | 29 | + MetaMonitorMode *monitor_mode, | ||
1356 | 30 | + MetaOutput *output, | ||
1357 | 31 | + MetaMonitorTransform crtc_transform, | ||
1358 | 32 | + int *out_x, | ||
1359 | 33 | + int *out_y) | ||
1360 | 34 | { | ||
1361 | 35 | *out_x = 0; | ||
1362 | 36 | *out_y = 0; | ||
1363 | 37 | @@ -1267,12 +1267,12 @@ meta_monitor_tiled_get_suggested_position (MetaMonitor *monitor, | ||
1364 | 38 | } | ||
1365 | 39 | |||
1366 | 40 | static void | ||
1367 | 41 | -meta_monitor_tiled_calculate_crtc_pos (MetaMonitor *monitor, | ||
1368 | 42 | - MetaMonitorMode *monitor_mode, | ||
1369 | 43 | - MetaOutput *output, | ||
1370 | 44 | - MetaMonitorTransform crtc_transform, | ||
1371 | 45 | - int *out_x, | ||
1372 | 46 | - int *out_y) | ||
1373 | 47 | +meta_monitor_tiled_calculate_crtc_pos (MetaMonitor *monitor, | ||
1374 | 48 | + MetaMonitorMode *monitor_mode, | ||
1375 | 49 | + MetaOutput *output, | ||
1376 | 50 | + MetaMonitorTransform crtc_transform, | ||
1377 | 51 | + int *out_x, | ||
1378 | 52 | + int *out_y) | ||
1379 | 53 | { | ||
1380 | 54 | MetaMonitorModeTiled *mode_tiled = (MetaMonitorModeTiled *) monitor_mode; | ||
1381 | 55 | |||
1382 | 56 | @@ -1461,12 +1461,12 @@ meta_monitor_get_modes (MetaMonitor *monitor) | ||
1383 | 57 | } | ||
1384 | 58 | |||
1385 | 59 | void | ||
1386 | 60 | -meta_monitor_calculate_crtc_pos (MetaMonitor *monitor, | ||
1387 | 61 | - MetaMonitorMode *monitor_mode, | ||
1388 | 62 | - MetaOutput *output, | ||
1389 | 63 | - MetaMonitorTransform crtc_transform, | ||
1390 | 64 | - int *out_x, | ||
1391 | 65 | - int *out_y) | ||
1392 | 66 | +meta_monitor_calculate_crtc_pos (MetaMonitor *monitor, | ||
1393 | 67 | + MetaMonitorMode *monitor_mode, | ||
1394 | 68 | + MetaOutput *output, | ||
1395 | 69 | + MetaMonitorTransform crtc_transform, | ||
1396 | 70 | + int *out_x, | ||
1397 | 71 | + int *out_y) | ||
1398 | 72 | { | ||
1399 | 73 | META_MONITOR_GET_CLASS (monitor)->calculate_crtc_pos (monitor, | ||
1400 | 74 | monitor_mode, | ||
1401 | 75 | diff --git a/src/backends/meta-monitor.h b/src/backends/meta-monitor.h | ||
1402 | 76 | index b24b1a5..c3ba4cf 100644 | ||
1403 | 77 | --- a/src/backends/meta-monitor.h | ||
1404 | 78 | +++ b/src/backends/meta-monitor.h | ||
1405 | 79 | @@ -74,12 +74,12 @@ struct _MetaMonitorClass | ||
1406 | 80 | MetaOutput * (* get_main_output) (MetaMonitor *monitor); | ||
1407 | 81 | void (* derive_layout) (MetaMonitor *monitor, | ||
1408 | 82 | MetaRectangle *layout); | ||
1409 | 83 | - void (* calculate_crtc_pos) (MetaMonitor *monitor, | ||
1410 | 84 | - MetaMonitorMode *monitor_mode, | ||
1411 | 85 | - MetaOutput *output, | ||
1412 | 86 | - MetaMonitorTransform crtc_transform, | ||
1413 | 87 | - int *out_x, | ||
1414 | 88 | - int *out_y); | ||
1415 | 89 | + void (* calculate_crtc_pos) (MetaMonitor *monitor, | ||
1416 | 90 | + MetaMonitorMode *monitor_mode, | ||
1417 | 91 | + MetaOutput *output, | ||
1418 | 92 | + MetaMonitorTransform crtc_transform, | ||
1419 | 93 | + int *out_x, | ||
1420 | 94 | + int *out_y); | ||
1421 | 95 | gboolean (* get_suggested_position) (MetaMonitor *monitor, | ||
1422 | 96 | int *width, | ||
1423 | 97 | int *height); | ||
1424 | 98 | @@ -214,12 +214,12 @@ META_EXPORT_TEST | ||
1425 | 99 | GList * meta_monitor_get_modes (MetaMonitor *monitor); | ||
1426 | 100 | |||
1427 | 101 | META_EXPORT_TEST | ||
1428 | 102 | -void meta_monitor_calculate_crtc_pos (MetaMonitor *monitor, | ||
1429 | 103 | - MetaMonitorMode *monitor_mode, | ||
1430 | 104 | - MetaOutput *output, | ||
1431 | 105 | - MetaMonitorTransform crtc_transform, | ||
1432 | 106 | - int *out_x, | ||
1433 | 107 | - int *out_y); | ||
1434 | 108 | +void meta_monitor_calculate_crtc_pos (MetaMonitor *monitor, | ||
1435 | 109 | + MetaMonitorMode *monitor_mode, | ||
1436 | 110 | + MetaOutput *output, | ||
1437 | 111 | + MetaMonitorTransform crtc_transform, | ||
1438 | 112 | + int *out_x, | ||
1439 | 113 | + int *out_y); | ||
1440 | 114 | |||
1441 | 115 | META_EXPORT_TEST | ||
1442 | 116 | float meta_monitor_calculate_mode_scale (MetaMonitor *monitor, | ||
1443 | diff --git a/debian/patches/monitor-Fix-indentation-style-on-calculate_supported_scal.patch b/debian/patches/monitor-Fix-indentation-style-on-calculate_supported_scal.patch | |||
1444 | 117 | deleted file mode 100644 | 0 | deleted file mode 100644 |
1445 | index 047f099..0000000 | |||
1446 | --- a/debian/patches/monitor-Fix-indentation-style-on-calculate_supported_scal.patch | |||
1447 | +++ /dev/null | |||
1448 | @@ -1,162 +0,0 @@ | |||
1449 | 1 | From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= <mail@3v1n0.net> | ||
1450 | 2 | Date: Fri, 8 Mar 2019 18:03:57 +0000 | ||
1451 | 3 | Subject: monitor: Fix indentation style on calculate_supported_scales and | ||
1452 | 4 | friends | ||
1453 | 5 | |||
1454 | 6 | https://gitlab.gnome.org/GNOME/mutter/merge_requests/488 | ||
1455 | 7 | |||
1456 | 8 | Origin: upstream, commit:b8510ac566de7e7d08c9713508adb20451d2373 | ||
1457 | 9 | Applied-Upstream: 3.32.1 | ||
1458 | 10 | --- | ||
1459 | 11 | src/backends/meta-monitor-manager-dummy.c | 10 +++++----- | ||
1460 | 12 | src/backends/meta-monitor-manager.c | 10 +++++----- | ||
1461 | 13 | src/backends/meta-monitor.c | 8 ++++---- | ||
1462 | 14 | src/backends/meta-monitor.h | 8 ++++---- | ||
1463 | 15 | src/backends/native/meta-monitor-manager-kms.c | 10 +++++----- | ||
1464 | 16 | src/backends/x11/meta-monitor-manager-xrandr.c | 10 +++++----- | ||
1465 | 17 | src/tests/meta-monitor-manager-test.c | 10 +++++----- | ||
1466 | 18 | 7 files changed, 33 insertions(+), 33 deletions(-) | ||
1467 | 19 | |||
1468 | 20 | diff --git a/src/backends/meta-monitor-manager-dummy.c b/src/backends/meta-monitor-manager-dummy.c | ||
1469 | 21 | index 06e8837..46c3b8c 100644 | ||
1470 | 22 | --- a/src/backends/meta-monitor-manager-dummy.c | ||
1471 | 23 | +++ b/src/backends/meta-monitor-manager-dummy.c | ||
1472 | 24 | @@ -694,11 +694,11 @@ meta_monitor_manager_dummy_calculate_monitor_mode_scale (MetaMonitorManager *man | ||
1473 | 25 | } | ||
1474 | 26 | |||
1475 | 27 | static float * | ||
1476 | 28 | -meta_monitor_manager_dummy_calculate_supported_scales (MetaMonitorManager *manager, | ||
1477 | 29 | - MetaLogicalMonitorLayoutMode layout_mode, | ||
1478 | 30 | - MetaMonitor *monitor, | ||
1479 | 31 | - MetaMonitorMode *monitor_mode, | ||
1480 | 32 | - int *n_supported_scales) | ||
1481 | 33 | +meta_monitor_manager_dummy_calculate_supported_scales (MetaMonitorManager *manager, | ||
1482 | 34 | + MetaLogicalMonitorLayoutMode layout_mode, | ||
1483 | 35 | + MetaMonitor *monitor, | ||
1484 | 36 | + MetaMonitorMode *monitor_mode, | ||
1485 | 37 | + int *n_supported_scales) | ||
1486 | 38 | { | ||
1487 | 39 | MetaMonitorScalesConstraint constraints = | ||
1488 | 40 | META_MONITOR_SCALES_CONSTRAINT_NONE; | ||
1489 | 41 | diff --git a/src/backends/meta-monitor-manager.c b/src/backends/meta-monitor-manager.c | ||
1490 | 42 | index 9420265..c4ed245 100644 | ||
1491 | 43 | --- a/src/backends/meta-monitor-manager.c | ||
1492 | 44 | +++ b/src/backends/meta-monitor-manager.c | ||
1493 | 45 | @@ -400,11 +400,11 @@ meta_monitor_manager_calculate_monitor_mode_scale (MetaMonitorManager *manager, | ||
1494 | 46 | } | ||
1495 | 47 | |||
1496 | 48 | float * | ||
1497 | 49 | -meta_monitor_manager_calculate_supported_scales (MetaMonitorManager *manager, | ||
1498 | 50 | - MetaLogicalMonitorLayoutMode layout_mode, | ||
1499 | 51 | - MetaMonitor *monitor, | ||
1500 | 52 | - MetaMonitorMode *monitor_mode, | ||
1501 | 53 | - int *n_supported_scales) | ||
1502 | 54 | +meta_monitor_manager_calculate_supported_scales (MetaMonitorManager *manager, | ||
1503 | 55 | + MetaLogicalMonitorLayoutMode layout_mode, | ||
1504 | 56 | + MetaMonitor *monitor, | ||
1505 | 57 | + MetaMonitorMode *monitor_mode, | ||
1506 | 58 | + int *n_supported_scales) | ||
1507 | 59 | { | ||
1508 | 60 | MetaMonitorManagerClass *manager_class = | ||
1509 | 61 | META_MONITOR_MANAGER_GET_CLASS (manager); | ||
1510 | 62 | diff --git a/src/backends/meta-monitor.c b/src/backends/meta-monitor.c | ||
1511 | 63 | index 1a32e4c..b2f500f 100644 | ||
1512 | 64 | --- a/src/backends/meta-monitor.c | ||
1513 | 65 | +++ b/src/backends/meta-monitor.c | ||
1514 | 66 | @@ -1642,10 +1642,10 @@ out: | ||
1515 | 67 | } | ||
1516 | 68 | |||
1517 | 69 | float * | ||
1518 | 70 | -meta_monitor_calculate_supported_scales (MetaMonitor *monitor, | ||
1519 | 71 | - MetaMonitorMode *monitor_mode, | ||
1520 | 72 | - MetaMonitorScalesConstraint constraints, | ||
1521 | 73 | - int *n_supported_scales) | ||
1522 | 74 | +meta_monitor_calculate_supported_scales (MetaMonitor *monitor, | ||
1523 | 75 | + MetaMonitorMode *monitor_mode, | ||
1524 | 76 | + MetaMonitorScalesConstraint constraints, | ||
1525 | 77 | + int *n_supported_scales) | ||
1526 | 78 | { | ||
1527 | 79 | unsigned int i, j; | ||
1528 | 80 | int width, height; | ||
1529 | 81 | diff --git a/src/backends/meta-monitor.h b/src/backends/meta-monitor.h | ||
1530 | 82 | index 41f2c0f..b24b1a5 100644 | ||
1531 | 83 | --- a/src/backends/meta-monitor.h | ||
1532 | 84 | +++ b/src/backends/meta-monitor.h | ||
1533 | 85 | @@ -226,10 +226,10 @@ float meta_monitor_calculate_mode_scale (MetaMonitor *monitor, | ||
1534 | 86 | MetaMonitorMode *monitor_mode); | ||
1535 | 87 | |||
1536 | 88 | META_EXPORT_TEST | ||
1537 | 89 | -float * meta_monitor_calculate_supported_scales (MetaMonitor *monitor, | ||
1538 | 90 | - MetaMonitorMode *monitor_mode, | ||
1539 | 91 | - MetaMonitorScalesConstraint constraints, | ||
1540 | 92 | - int *n_supported_scales); | ||
1541 | 93 | +float * meta_monitor_calculate_supported_scales (MetaMonitor *monitor, | ||
1542 | 94 | + MetaMonitorMode *monitor_mode, | ||
1543 | 95 | + MetaMonitorScalesConstraint constraints, | ||
1544 | 96 | + int *n_supported_scales); | ||
1545 | 97 | |||
1546 | 98 | META_EXPORT_TEST | ||
1547 | 99 | const char * meta_monitor_mode_get_id (MetaMonitorMode *monitor_mode); | ||
1548 | 100 | diff --git a/src/backends/native/meta-monitor-manager-kms.c b/src/backends/native/meta-monitor-manager-kms.c | ||
1549 | 101 | index c2c8ab5..c9a3cab 100644 | ||
1550 | 102 | --- a/src/backends/native/meta-monitor-manager-kms.c | ||
1551 | 103 | +++ b/src/backends/native/meta-monitor-manager-kms.c | ||
1552 | 104 | @@ -512,11 +512,11 @@ meta_monitor_manager_kms_calculate_monitor_mode_scale (MetaMonitorManager *manag | ||
1553 | 105 | } | ||
1554 | 106 | |||
1555 | 107 | static float * | ||
1556 | 108 | -meta_monitor_manager_kms_calculate_supported_scales (MetaMonitorManager *manager, | ||
1557 | 109 | - MetaLogicalMonitorLayoutMode layout_mode, | ||
1558 | 110 | - MetaMonitor *monitor, | ||
1559 | 111 | - MetaMonitorMode *monitor_mode, | ||
1560 | 112 | - int *n_supported_scales) | ||
1561 | 113 | +meta_monitor_manager_kms_calculate_supported_scales (MetaMonitorManager *manager, | ||
1562 | 114 | + MetaLogicalMonitorLayoutMode layout_mode, | ||
1563 | 115 | + MetaMonitor *monitor, | ||
1564 | 116 | + MetaMonitorMode *monitor_mode, | ||
1565 | 117 | + int *n_supported_scales) | ||
1566 | 118 | { | ||
1567 | 119 | MetaMonitorScalesConstraint constraints = | ||
1568 | 120 | META_MONITOR_SCALES_CONSTRAINT_NONE; | ||
1569 | 121 | diff --git a/src/backends/x11/meta-monitor-manager-xrandr.c b/src/backends/x11/meta-monitor-manager-xrandr.c | ||
1570 | 122 | index c3a33e5..784bbde 100644 | ||
1571 | 123 | --- a/src/backends/x11/meta-monitor-manager-xrandr.c | ||
1572 | 124 | +++ b/src/backends/x11/meta-monitor-manager-xrandr.c | ||
1573 | 125 | @@ -929,11 +929,11 @@ ensure_supported_monitor_scales (MetaMonitorManager *manager) | ||
1574 | 126 | } | ||
1575 | 127 | |||
1576 | 128 | static float * | ||
1577 | 129 | -meta_monitor_manager_xrandr_calculate_supported_scales (MetaMonitorManager *manager, | ||
1578 | 130 | - MetaLogicalMonitorLayoutMode layout_mode, | ||
1579 | 131 | - MetaMonitor *monitor, | ||
1580 | 132 | - MetaMonitorMode *monitor_mode, | ||
1581 | 133 | - int *n_supported_scales) | ||
1582 | 134 | +meta_monitor_manager_xrandr_calculate_supported_scales (MetaMonitorManager *manager, | ||
1583 | 135 | + MetaLogicalMonitorLayoutMode layout_mode, | ||
1584 | 136 | + MetaMonitor *monitor, | ||
1585 | 137 | + MetaMonitorMode *monitor_mode, | ||
1586 | 138 | + int *n_supported_scales) | ||
1587 | 139 | { | ||
1588 | 140 | MetaMonitorManagerXrandr *manager_xrandr = | ||
1589 | 141 | META_MONITOR_MANAGER_XRANDR (manager); | ||
1590 | 142 | diff --git a/src/tests/meta-monitor-manager-test.c b/src/tests/meta-monitor-manager-test.c | ||
1591 | 143 | index d1b729c..45680ed 100644 | ||
1592 | 144 | --- a/src/tests/meta-monitor-manager-test.c | ||
1593 | 145 | +++ b/src/tests/meta-monitor-manager-test.c | ||
1594 | 146 | @@ -373,11 +373,11 @@ meta_monitor_manager_test_calculate_monitor_mode_scale (MetaMonitorManager *mana | ||
1595 | 147 | } | ||
1596 | 148 | |||
1597 | 149 | static float * | ||
1598 | 150 | -meta_monitor_manager_test_calculate_supported_scales (MetaMonitorManager *manager, | ||
1599 | 151 | - MetaLogicalMonitorLayoutMode layout_mode, | ||
1600 | 152 | - MetaMonitor *monitor, | ||
1601 | 153 | - MetaMonitorMode *monitor_mode, | ||
1602 | 154 | - int *n_supported_scales) | ||
1603 | 155 | +meta_monitor_manager_test_calculate_supported_scales (MetaMonitorManager *manager, | ||
1604 | 156 | + MetaLogicalMonitorLayoutMode layout_mode, | ||
1605 | 157 | + MetaMonitor *monitor, | ||
1606 | 158 | + MetaMonitorMode *monitor_mode, | ||
1607 | 159 | + int *n_supported_scales) | ||
1608 | 160 | { | ||
1609 | 161 | MetaMonitorScalesConstraint constraints = | ||
1610 | 162 | META_MONITOR_SCALES_CONSTRAINT_NONE; | ||
1611 | diff --git a/debian/patches/monitor-Fix-indentation-style-on-foreach-functions.patch b/debian/patches/monitor-Fix-indentation-style-on-foreach-functions.patch | |||
1612 | 163 | deleted file mode 100644 | 0 | deleted file mode 100644 |
1613 | index b719f23..0000000 | |||
1614 | --- a/debian/patches/monitor-Fix-indentation-style-on-foreach-functions.patch | |||
1615 | +++ /dev/null | |||
1616 | @@ -1,86 +0,0 @@ | |||
1617 | 1 | From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= <mail@3v1n0.net> | ||
1618 | 2 | Date: Fri, 8 Mar 2019 18:17:40 +0000 | ||
1619 | 3 | Subject: monitor: Fix indentation style on foreach functions | ||
1620 | 4 | |||
1621 | 5 | https://gitlab.gnome.org/GNOME/mutter/merge_requests/488 | ||
1622 | 6 | |||
1623 | 7 | Origin: upstream, commit:03e02bdac58f25df3b5e15525fd9bab06e49bf8 | ||
1624 | 8 | Applied-Upstream: 3.32.1 | ||
1625 | 9 | --- | ||
1626 | 10 | src/backends/meta-monitor.c | 20 ++++++++++---------- | ||
1627 | 11 | src/backends/meta-monitor.h | 24 ++++++++++++------------ | ||
1628 | 12 | 2 files changed, 22 insertions(+), 22 deletions(-) | ||
1629 | 13 | |||
1630 | 14 | diff --git a/src/backends/meta-monitor.c b/src/backends/meta-monitor.c | ||
1631 | 15 | index 1c6e844..22a3e45 100644 | ||
1632 | 16 | --- a/src/backends/meta-monitor.c | ||
1633 | 17 | +++ b/src/backends/meta-monitor.c | ||
1634 | 18 | @@ -1725,11 +1725,11 @@ meta_monitor_mode_get_flags (MetaMonitorMode *monitor_mode) | ||
1635 | 19 | } | ||
1636 | 20 | |||
1637 | 21 | gboolean | ||
1638 | 22 | -meta_monitor_mode_foreach_crtc (MetaMonitor *monitor, | ||
1639 | 23 | - MetaMonitorMode *mode, | ||
1640 | 24 | - MetaMonitorModeFunc func, | ||
1641 | 25 | - gpointer user_data, | ||
1642 | 26 | - GError **error) | ||
1643 | 27 | +meta_monitor_mode_foreach_crtc (MetaMonitor *monitor, | ||
1644 | 28 | + MetaMonitorMode *mode, | ||
1645 | 29 | + MetaMonitorModeFunc func, | ||
1646 | 30 | + gpointer user_data, | ||
1647 | 31 | + GError **error) | ||
1648 | 32 | { | ||
1649 | 33 | MetaMonitorPrivate *monitor_priv = | ||
1650 | 34 | meta_monitor_get_instance_private (monitor); | ||
1651 | 35 | @@ -1751,11 +1751,11 @@ meta_monitor_mode_foreach_crtc (MetaMonitor *monitor, | ||
1652 | 36 | } | ||
1653 | 37 | |||
1654 | 38 | gboolean | ||
1655 | 39 | -meta_monitor_mode_foreach_output (MetaMonitor *monitor, | ||
1656 | 40 | - MetaMonitorMode *mode, | ||
1657 | 41 | - MetaMonitorModeFunc func, | ||
1658 | 42 | - gpointer user_data, | ||
1659 | 43 | - GError **error) | ||
1660 | 44 | +meta_monitor_mode_foreach_output (MetaMonitor *monitor, | ||
1661 | 45 | + MetaMonitorMode *mode, | ||
1662 | 46 | + MetaMonitorModeFunc func, | ||
1663 | 47 | + gpointer user_data, | ||
1664 | 48 | + GError **error) | ||
1665 | 49 | { | ||
1666 | 50 | MetaMonitorPrivate *monitor_priv = | ||
1667 | 51 | meta_monitor_get_instance_private (monitor); | ||
1668 | 52 | diff --git a/src/backends/meta-monitor.h b/src/backends/meta-monitor.h | ||
1669 | 53 | index c3ba4cf..413a4e2 100644 | ||
1670 | 54 | --- a/src/backends/meta-monitor.h | ||
1671 | 55 | +++ b/src/backends/meta-monitor.h | ||
1672 | 56 | @@ -249,18 +249,18 @@ META_EXPORT_TEST | ||
1673 | 57 | MetaCrtcModeFlag meta_monitor_mode_get_flags (MetaMonitorMode *monitor_mode); | ||
1674 | 58 | |||
1675 | 59 | META_EXPORT_TEST | ||
1676 | 60 | -gboolean meta_monitor_mode_foreach_crtc (MetaMonitor *monitor, | ||
1677 | 61 | - MetaMonitorMode *mode, | ||
1678 | 62 | - MetaMonitorModeFunc func, | ||
1679 | 63 | - gpointer user_data, | ||
1680 | 64 | - GError **error); | ||
1681 | 65 | - | ||
1682 | 66 | -META_EXPORT_TEST | ||
1683 | 67 | -gboolean meta_monitor_mode_foreach_output (MetaMonitor *monitor, | ||
1684 | 68 | - MetaMonitorMode *mode, | ||
1685 | 69 | - MetaMonitorModeFunc func, | ||
1686 | 70 | - gpointer user_data, | ||
1687 | 71 | - GError **error); | ||
1688 | 72 | +gboolean meta_monitor_mode_foreach_crtc (MetaMonitor *monitor, | ||
1689 | 73 | + MetaMonitorMode *mode, | ||
1690 | 74 | + MetaMonitorModeFunc func, | ||
1691 | 75 | + gpointer user_data, | ||
1692 | 76 | + GError **error); | ||
1693 | 77 | + | ||
1694 | 78 | +META_EXPORT_TEST | ||
1695 | 79 | +gboolean meta_monitor_mode_foreach_output (MetaMonitor *monitor, | ||
1696 | 80 | + MetaMonitorMode *mode, | ||
1697 | 81 | + MetaMonitorModeFunc func, | ||
1698 | 82 | + gpointer user_data, | ||
1699 | 83 | + GError **error); | ||
1700 | 84 | |||
1701 | 85 | META_EXPORT_TEST | ||
1702 | 86 | gboolean meta_monitor_mode_should_be_advertised (MetaMonitorMode *monitor_mode); | ||
1703 | diff --git a/debian/patches/prefs-Change-default-of-show-fallback-app-menu.patch b/debian/patches/prefs-Change-default-of-show-fallback-app-menu.patch | |||
1704 | 87 | deleted file mode 100644 | 0 | deleted file mode 100644 |
1705 | index 6ad4427..0000000 | |||
1706 | --- a/debian/patches/prefs-Change-default-of-show-fallback-app-menu.patch | |||
1707 | +++ /dev/null | |||
1708 | @@ -1,29 +0,0 @@ | |||
1709 | 1 | From: =?utf-8?q?Florian_M=C3=BCllner?= <fmuellner@gnome.org> | ||
1710 | 2 | Date: Sun, 10 Mar 2019 19:30:12 +0100 | ||
1711 | 3 | Subject: prefs: Change default of show-fallback-app-menu | ||
1712 | 4 | |||
1713 | 5 | The app menu always was a GNOME-only thing, so after it was removed this | ||
1714 | 6 | cycle, assuming that it is not displayed by the environment is a better | ||
1715 | 7 | default. | ||
1716 | 8 | |||
1717 | 9 | https://gitlab.gnome.org/GNOME/mutter/issues/493 | ||
1718 | 10 | |||
1719 | 11 | Origin: upstream, commit:574099449fd7cf78c226bdf9d3d5a414d4bd351 | ||
1720 | 12 | Applied-Upstream: 3.32.1 | ||
1721 | 13 | --- | ||
1722 | 14 | src/core/prefs.c | 2 +- | ||
1723 | 15 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
1724 | 16 | |||
1725 | 17 | diff --git a/src/core/prefs.c b/src/core/prefs.c | ||
1726 | 18 | index fdee5b2..3f0db8a 100644 | ||
1727 | 19 | --- a/src/core/prefs.c | ||
1728 | 20 | +++ b/src/core/prefs.c | ||
1729 | 21 | @@ -111,7 +111,7 @@ static gboolean resize_with_right_button = FALSE; | ||
1730 | 22 | static gboolean edge_tiling = FALSE; | ||
1731 | 23 | static gboolean force_fullscreen = TRUE; | ||
1732 | 24 | static gboolean auto_maximize = TRUE; | ||
1733 | 25 | -static gboolean show_fallback_app_menu = FALSE; | ||
1734 | 26 | +static gboolean show_fallback_app_menu = TRUE; | ||
1735 | 27 | |||
1736 | 28 | static GDesktopVisualBellType visual_bell_type = G_DESKTOP_VISUAL_BELL_FULLSCREEN_FLASH; | ||
1737 | 29 | static MetaButtonLayout button_layout; | ||
1738 | diff --git a/debian/patches/series b/debian/patches/series | |||
1739 | index 5b6232c..5e2b370 100644 | |||
1740 | --- a/debian/patches/series | |||
1741 | +++ b/debian/patches/series | |||
1742 | @@ -1,15 +1,3 @@ | |||
1743 | 1 | prefs-Change-default-of-show-fallback-app-menu.patch | ||
1744 | 2 | keybindings-Fix-theoretical-memory-leak-while-ungrabbing.patch | ||
1745 | 3 | meta-monitor-Remove-useless-variable.patch | ||
1746 | 4 | cogl-Remove-unused-CoglTextureDriver-try_setting_gl_borde.patch | ||
1747 | 5 | cogl-Introspect-CoglTexture2D-Sliced.patch | ||
1748 | 6 | shadow-factory-Update-shadow-of-attached-modals.patch | ||
1749 | 7 | monitor-Fix-indentation-style-on-calculate_supported_scal.patch | ||
1750 | 8 | monitor-Fix-indentation-style-on-calculate_crtc_pos-and-f.patch | ||
1751 | 9 | monitor-Fix-indentation-style-on-foreach-functions.patch | ||
1752 | 10 | bell-Always-flash-window-instead-of-frame.patch | ||
1753 | 11 | frame-Remove-flashing-support.patch | ||
1754 | 12 | boxes-Actually-check-for-rectangle-containment.patch | ||
1755 | 13 | theme-use-gtk_render_icon_suface-to-paint-button-icon.patch | 1 | theme-use-gtk_render_icon_suface-to-paint-button-icon.patch |
1756 | 14 | theme-load-icons-as-Gtk-does-with-fallback-and-RTL-suppor.patch | 2 | theme-load-icons-as-Gtk-does-with-fallback-and-RTL-suppor.patch |
1757 | 15 | meson-add-back-default_driver-option.patch | 3 | meson-add-back-default_driver-option.patch |
1758 | diff --git a/debian/patches/shadow-factory-Update-shadow-of-attached-modals.patch b/debian/patches/shadow-factory-Update-shadow-of-attached-modals.patch | |||
1759 | 16 | deleted file mode 100644 | 4 | deleted file mode 100644 |
1760 | index a46c881..0000000 | |||
1761 | --- a/debian/patches/shadow-factory-Update-shadow-of-attached-modals.patch | |||
1762 | +++ /dev/null | |||
1763 | @@ -1,29 +0,0 @@ | |||
1764 | 1 | From: =?utf-8?q?Florian_M=C3=BCllner?= <fmuellner@gnome.org> | ||
1765 | 2 | Date: Wed, 6 Mar 2019 23:31:43 +0100 | ||
1766 | 3 | Subject: shadow-factory: Update shadow of attached modals | ||
1767 | 4 | |||
1768 | 5 | When commit 91c6a144da synced shadows with Adwaita, it removed the | ||
1769 | 6 | shadow completely from attached modal dialogs. However Adwaita uses | ||
1770 | 7 | the same shadow for all dialogs (modal or not), so do the same here. | ||
1771 | 8 | |||
1772 | 9 | https://gitlab.gnome.org/GNOME/mutter/issues/490 | ||
1773 | 10 | |||
1774 | 11 | Origin: upstream, commit:a87e87a05fb29e8e9aad5df5c7752b6db20535e | ||
1775 | 12 | Applied-Upstream: 3.32.1 | ||
1776 | 13 | --- | ||
1777 | 14 | src/compositor/meta-shadow-factory.c | 2 +- | ||
1778 | 15 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
1779 | 16 | |||
1780 | 17 | diff --git a/src/compositor/meta-shadow-factory.c b/src/compositor/meta-shadow-factory.c | ||
1781 | 18 | index 9fdecac..0eb14c9 100644 | ||
1782 | 19 | --- a/src/compositor/meta-shadow-factory.c | ||
1783 | 20 | +++ b/src/compositor/meta-shadow-factory.c | ||
1784 | 21 | @@ -128,7 +128,7 @@ MetaShadowClassInfo default_shadow_classes[] = { | ||
1785 | 22 | { "popup-menu", { 1, -1, 0, 0, 128 }, { 1, -1, 0, 0, 128 } }, | ||
1786 | 23 | { "dropdown-menu", { 1, -1, 0, 0, 128 }, { 1, -1, 0, 0, 128 } }, | ||
1787 | 24 | |||
1788 | 25 | - { "attached", { 0, -1, 0, 0, 0 }, { 0, -1, 0, 0, 0 } } | ||
1789 | 26 | + { "attached", { 10, -1, 0, 3, 128 }, { 8, -1, 0, 2, 64 } } | ||
1790 | 27 | }; | ||
1791 | 28 | |||
1792 | 29 | G_DEFINE_TYPE (MetaShadowFactory, meta_shadow_factory, G_TYPE_OBJECT); | ||
1793 | diff --git a/debian/patches/x11-Add-support-for-fractional-scaling-using-Randr.patch b/debian/patches/x11-Add-support-for-fractional-scaling-using-Randr.patch | |||
1794 | index 90c17a9..7717be1 100644 | |||
1795 | --- a/debian/patches/x11-Add-support-for-fractional-scaling-using-Randr.patch | |||
1796 | +++ b/debian/patches/x11-Add-support-for-fractional-scaling-using-Randr.patch | |||
1797 | @@ -122,7 +122,7 @@ index ddacfea..8d16455 100644 | |||
1798 | 122 | MetaLogicalMonitor *logical_monitor; | 122 | MetaLogicalMonitor *logical_monitor; |
1799 | 123 | 123 | ||
1800 | 124 | diff --git a/src/backends/meta-monitor-config-manager.c b/src/backends/meta-monitor-config-manager.c | 124 | diff --git a/src/backends/meta-monitor-config-manager.c b/src/backends/meta-monitor-config-manager.c |
1802 | 125 | index 771c57f..5d620a3 100644 | 125 | index 9a54ce5..7084522 100644 |
1803 | 126 | --- a/src/backends/meta-monitor-config-manager.c | 126 | --- a/src/backends/meta-monitor-config-manager.c |
1804 | 127 | +++ b/src/backends/meta-monitor-config-manager.c | 127 | +++ b/src/backends/meta-monitor-config-manager.c |
1805 | 128 | @@ -152,6 +152,7 @@ find_unassigned_crtc (MetaOutput *output, | 128 | @@ -152,6 +152,7 @@ find_unassigned_crtc (MetaOutput *output, |
1806 | @@ -623,7 +623,7 @@ index 46c3b8c..29fde36 100644 | |||
1807 | 623 | settings, | 623 | settings, |
1808 | 624 | META_EXPERIMENTAL_FEATURE_SCALE_MONITOR_FRAMEBUFFER)) | 624 | META_EXPERIMENTAL_FEATURE_SCALE_MONITOR_FRAMEBUFFER)) |
1809 | 625 | diff --git a/src/backends/meta-monitor-manager-private.h b/src/backends/meta-monitor-manager-private.h | 625 | diff --git a/src/backends/meta-monitor-manager-private.h b/src/backends/meta-monitor-manager-private.h |
1811 | 626 | index 3b951c6..2ba9ced 100644 | 626 | index cdb8f42..bf586ea 100644 |
1812 | 627 | --- a/src/backends/meta-monitor-manager-private.h | 627 | --- a/src/backends/meta-monitor-manager-private.h |
1813 | 628 | +++ b/src/backends/meta-monitor-manager-private.h | 628 | +++ b/src/backends/meta-monitor-manager-private.h |
1814 | 629 | @@ -44,7 +44,9 @@ typedef enum _MetaMonitorManagerCapability | 629 | @@ -44,7 +44,9 @@ typedef enum _MetaMonitorManagerCapability |
1815 | @@ -655,7 +655,7 @@ index 3b951c6..2ba9ced 100644 | |||
1816 | 655 | MetaMonitorTransform transform; | 655 | MetaMonitorTransform transform; |
1817 | 656 | GPtrArray *outputs; | 656 | GPtrArray *outputs; |
1818 | 657 | }; | 657 | }; |
1820 | 658 | @@ -126,6 +130,7 @@ struct _MetaMonitorManager | 658 | @@ -124,6 +128,7 @@ struct _MetaMonitorManager |
1821 | 659 | GList *gpus; | 659 | GList *gpus; |
1822 | 660 | 660 | ||
1823 | 661 | GList *monitors; | 661 | GList *monitors; |
1824 | @@ -663,7 +663,7 @@ index 3b951c6..2ba9ced 100644 | |||
1825 | 663 | 663 | ||
1826 | 664 | GList *logical_monitors; | 664 | GList *logical_monitors; |
1827 | 665 | MetaLogicalMonitor *primary_logical_monitor; | 665 | MetaLogicalMonitor *primary_logical_monitor; |
1829 | 666 | @@ -156,6 +161,9 @@ struct _MetaMonitorManager | 666 | @@ -154,6 +159,9 @@ struct _MetaMonitorManager |
1830 | 667 | * @apply_monitors_config: Tries to apply the given config using the given | 667 | * @apply_monitors_config: Tries to apply the given config using the given |
1831 | 668 | * method. Throws an error if something went wrong. | 668 | * method. Throws an error if something went wrong. |
1832 | 669 | * | 669 | * |
1833 | @@ -697,7 +697,7 @@ index 3b951c6..2ba9ced 100644 | |||
1834 | 697 | 697 | ||
1835 | 698 | float * (*calculate_supported_scales) (MetaMonitorManager *, | 698 | float * (*calculate_supported_scales) (MetaMonitorManager *, |
1836 | 699 | MetaLogicalMonitorLayoutMode , | 699 | MetaLogicalMonitorLayoutMode , |
1838 | 700 | @@ -350,9 +362,10 @@ void meta_monitor_manager_lid_is_closed_changed (MetaMonitorManage | 700 | @@ -355,9 +367,10 @@ void meta_monitor_manager_lid_is_closed_changed (MetaMonitorManage |
1839 | 701 | 701 | ||
1840 | 702 | gboolean meta_monitor_manager_is_headless (MetaMonitorManager *manager); | 702 | gboolean meta_monitor_manager_is_headless (MetaMonitorManager *manager); |
1841 | 703 | 703 | ||
1842 | @@ -711,7 +711,7 @@ index 3b951c6..2ba9ced 100644 | |||
1843 | 711 | 711 | ||
1844 | 712 | float * meta_monitor_manager_calculate_supported_scales (MetaMonitorManager *, | 712 | float * meta_monitor_manager_calculate_supported_scales (MetaMonitorManager *, |
1845 | 713 | MetaLogicalMonitorLayoutMode , | 713 | MetaLogicalMonitorLayoutMode , |
1847 | 714 | @@ -366,6 +379,11 @@ gboolean meta_monitor_manager_is_scale_supported (MetaMonitorManager | 714 | @@ -371,6 +384,11 @@ gboolean meta_monitor_manager_is_scale_supported (MetaMonitorManager |
1848 | 715 | MetaMonitorMode *monitor_mode, | 715 | MetaMonitorMode *monitor_mode, |
1849 | 716 | float scale); | 716 | float scale); |
1850 | 717 | 717 | ||
1851 | @@ -724,10 +724,10 @@ index 3b951c6..2ba9ced 100644 | |||
1852 | 724 | meta_monitor_manager_get_capabilities (MetaMonitorManager *manager); | 724 | meta_monitor_manager_get_capabilities (MetaMonitorManager *manager); |
1853 | 725 | 725 | ||
1854 | 726 | diff --git a/src/backends/meta-monitor-manager.c b/src/backends/meta-monitor-manager.c | 726 | diff --git a/src/backends/meta-monitor-manager.c b/src/backends/meta-monitor-manager.c |
1856 | 727 | index c4ed245..d055eec 100644 | 727 | index 2d898c7..a78fb37 100644 |
1857 | 728 | --- a/src/backends/meta-monitor-manager.c | 728 | --- a/src/backends/meta-monitor-manager.c |
1858 | 729 | +++ b/src/backends/meta-monitor-manager.c | 729 | +++ b/src/backends/meta-monitor-manager.c |
1860 | 730 | @@ -104,8 +104,18 @@ static gboolean | 730 | @@ -110,8 +110,18 @@ static gboolean |
1861 | 731 | meta_monitor_manager_is_config_complete (MetaMonitorManager *manager, | 731 | meta_monitor_manager_is_config_complete (MetaMonitorManager *manager, |
1862 | 732 | MetaMonitorsConfig *config); | 732 | MetaMonitorsConfig *config); |
1863 | 733 | 733 | ||
1864 | @@ -746,9 +746,9 @@ index c4ed245..d055eec 100644 | |||
1865 | 746 | + float threshold, | 746 | + float threshold, |
1866 | 747 | + float *out_scale); | 747 | + float *out_scale); |
1867 | 748 | 748 | ||
1871 | 749 | MetaBackend * | 749 | static void |
1872 | 750 | meta_monitor_manager_get_backend (MetaMonitorManager *manager) | 750 | meta_monitor_manager_real_read_current_state (MetaMonitorManager *manager); |
1873 | 751 | @@ -190,15 +200,41 @@ meta_monitor_manager_rebuild_logical_monitors (MetaMonitorManager *manager, | 751 | @@ -199,15 +209,41 @@ meta_monitor_manager_rebuild_logical_monitors (MetaMonitorManager *manager, |
1874 | 752 | primary_logical_monitor); | 752 | primary_logical_monitor); |
1875 | 753 | } | 753 | } |
1876 | 754 | 754 | ||
1877 | @@ -793,7 +793,7 @@ index c4ed245..d055eec 100644 | |||
1878 | 793 | } | 793 | } |
1879 | 794 | 794 | ||
1880 | 795 | static float | 795 | static float |
1882 | 796 | @@ -209,24 +245,70 @@ calculate_monitor_scale (MetaMonitorManager *manager, | 796 | @@ -218,24 +254,70 @@ calculate_monitor_scale (MetaMonitorManager *manager, |
1883 | 797 | 797 | ||
1884 | 798 | monitor_mode = meta_monitor_get_current_mode (monitor); | 798 | monitor_mode = meta_monitor_get_current_mode (monitor); |
1885 | 799 | return meta_monitor_manager_calculate_monitor_mode_scale (manager, | 799 | return meta_monitor_manager_calculate_monitor_mode_scale (manager, |
1886 | @@ -869,7 +869,7 @@ index c4ed245..d055eec 100644 | |||
1887 | 869 | } | 869 | } |
1888 | 870 | 870 | ||
1889 | 871 | static float | 871 | static float |
1891 | 872 | @@ -248,6 +330,44 @@ derive_scale_from_config (MetaMonitorManager *manager, | 872 | @@ -257,6 +339,44 @@ derive_scale_from_config (MetaMonitorManager *manager, |
1892 | 873 | return 1.0; | 873 | return 1.0; |
1893 | 874 | } | 874 | } |
1894 | 875 | 875 | ||
1895 | @@ -914,7 +914,7 @@ index c4ed245..d055eec 100644 | |||
1896 | 914 | static void | 914 | static void |
1897 | 915 | meta_monitor_manager_rebuild_logical_monitors_derived (MetaMonitorManager *manager, | 915 | meta_monitor_manager_rebuild_logical_monitors_derived (MetaMonitorManager *manager, |
1898 | 916 | MetaMonitorsConfig *config) | 916 | MetaMonitorsConfig *config) |
1900 | 917 | @@ -296,10 +416,16 @@ meta_monitor_manager_rebuild_logical_monitors_derived (MetaMonitorManager *manag | 917 | @@ -305,10 +425,16 @@ meta_monitor_manager_rebuild_logical_monitors_derived (MetaMonitorManager *manag |
1901 | 918 | 918 | ||
1902 | 919 | if (use_global_scale) | 919 | if (use_global_scale) |
1903 | 920 | scale = global_scale; | 920 | scale = global_scale; |
1904 | @@ -934,7 +934,7 @@ index c4ed245..d055eec 100644 | |||
1905 | 934 | 934 | ||
1906 | 935 | g_assert (scale > 0); | 935 | g_assert (scale > 0); |
1907 | 936 | 936 | ||
1909 | 937 | @@ -387,14 +513,19 @@ meta_monitor_manager_is_headless (MetaMonitorManager *manager) | 937 | @@ -407,14 +533,19 @@ meta_monitor_manager_is_headless (MetaMonitorManager *manager) |
1910 | 938 | } | 938 | } |
1911 | 939 | 939 | ||
1912 | 940 | float | 940 | float |
1913 | @@ -957,7 +957,7 @@ index c4ed245..d055eec 100644 | |||
1914 | 957 | monitor, | 957 | monitor, |
1915 | 958 | monitor_mode); | 958 | monitor_mode); |
1916 | 959 | } | 959 | } |
1918 | 960 | @@ -508,7 +639,8 @@ static gboolean | 960 | @@ -528,7 +659,8 @@ static gboolean |
1919 | 961 | should_use_stored_config (MetaMonitorManager *manager) | 961 | should_use_stored_config (MetaMonitorManager *manager) |
1920 | 962 | { | 962 | { |
1921 | 963 | return (manager->in_init || | 963 | return (manager->in_init || |
1922 | @@ -967,7 +967,7 @@ index c4ed245..d055eec 100644 | |||
1923 | 967 | } | 967 | } |
1924 | 968 | 968 | ||
1925 | 969 | MetaMonitorsConfig * | 969 | MetaMonitorsConfig * |
1927 | 970 | @@ -700,6 +832,8 @@ experimental_features_changed (MetaSettings *settings, | 970 | @@ -720,6 +852,8 @@ experimental_features_changed (MetaSettings *settings, |
1928 | 971 | { | 971 | { |
1929 | 972 | gboolean was_stage_views_scaled; | 972 | gboolean was_stage_views_scaled; |
1930 | 973 | gboolean is_stage_views_scaled; | 973 | gboolean is_stage_views_scaled; |
1931 | @@ -976,7 +976,7 @@ index c4ed245..d055eec 100644 | |||
1932 | 976 | gboolean should_reconfigure = FALSE; | 976 | gboolean should_reconfigure = FALSE; |
1933 | 977 | 977 | ||
1934 | 978 | was_stage_views_scaled = | 978 | was_stage_views_scaled = |
1936 | 979 | @@ -709,8 +843,16 @@ experimental_features_changed (MetaSettings *settings, | 979 | @@ -729,8 +863,16 @@ experimental_features_changed (MetaSettings *settings, |
1937 | 980 | meta_settings_is_experimental_feature_enabled ( | 980 | meta_settings_is_experimental_feature_enabled ( |
1938 | 981 | settings, | 981 | settings, |
1939 | 982 | META_EXPERIMENTAL_FEATURE_SCALE_MONITOR_FRAMEBUFFER); | 982 | META_EXPERIMENTAL_FEATURE_SCALE_MONITOR_FRAMEBUFFER); |
1940 | @@ -994,7 +994,7 @@ index c4ed245..d055eec 100644 | |||
1941 | 994 | should_reconfigure = TRUE; | 994 | should_reconfigure = TRUE; |
1942 | 995 | 995 | ||
1943 | 996 | if (should_reconfigure) | 996 | if (should_reconfigure) |
1945 | 997 | @@ -1316,6 +1458,41 @@ request_persistent_confirmation (MetaMonitorManager *manager) | 997 | @@ -1337,6 +1479,41 @@ request_persistent_confirmation (MetaMonitorManager *manager) |
1946 | 998 | g_signal_emit (manager, signals[CONFIRM_DISPLAY_CHANGE], 0); | 998 | g_signal_emit (manager, signals[CONFIRM_DISPLAY_CHANGE], 0); |
1947 | 999 | } | 999 | } |
1948 | 1000 | 1000 | ||
1949 | @@ -1036,7 +1036,7 @@ index c4ed245..d055eec 100644 | |||
1950 | 1036 | #define META_DISPLAY_CONFIG_MODE_FLAGS_PREFERRED (1 << 0) | 1036 | #define META_DISPLAY_CONFIG_MODE_FLAGS_PREFERRED (1 << 0) |
1951 | 1037 | #define META_DISPLAY_CONFIG_MODE_FLAGS_CURRENT (1 << 1) | 1037 | #define META_DISPLAY_CONFIG_MODE_FLAGS_CURRENT (1 << 1) |
1952 | 1038 | 1038 | ||
1954 | 1039 | @@ -1343,6 +1520,7 @@ meta_monitor_manager_handle_get_current_state (MetaDBusDisplayConfig *skeleton, | 1039 | @@ -1364,6 +1541,7 @@ meta_monitor_manager_handle_get_current_state (MetaDBusDisplayConfig *skeleton, |
1955 | 1040 | MetaMonitorManagerCapability capabilities; | 1040 | MetaMonitorManagerCapability capabilities; |
1956 | 1041 | int ui_scaling_factor; | 1041 | int ui_scaling_factor; |
1957 | 1042 | int max_screen_width, max_screen_height; | 1042 | int max_screen_width, max_screen_height; |
1958 | @@ -1044,7 +1044,7 @@ index c4ed245..d055eec 100644 | |||
1959 | 1044 | 1044 | ||
1960 | 1045 | g_variant_builder_init (&monitors_builder, | 1045 | g_variant_builder_init (&monitors_builder, |
1961 | 1046 | G_VARIANT_TYPE (MONITORS_FORMAT)); | 1046 | G_VARIANT_TYPE (MONITORS_FORMAT)); |
1963 | 1047 | @@ -1389,6 +1567,7 @@ meta_monitor_manager_handle_get_current_state (MetaDBusDisplayConfig *skeleton, | 1047 | @@ -1410,6 +1588,7 @@ meta_monitor_manager_handle_get_current_state (MetaDBusDisplayConfig *skeleton, |
1964 | 1048 | 1048 | ||
1965 | 1049 | preferred_scale = | 1049 | preferred_scale = |
1966 | 1050 | meta_monitor_manager_calculate_monitor_mode_scale (manager, | 1050 | meta_monitor_manager_calculate_monitor_mode_scale (manager, |
1967 | @@ -1052,7 +1052,7 @@ index c4ed245..d055eec 100644 | |||
1968 | 1052 | monitor, | 1052 | monitor, |
1969 | 1053 | monitor_mode); | 1053 | monitor_mode); |
1970 | 1054 | 1054 | ||
1972 | 1055 | @@ -1496,6 +1675,14 @@ meta_monitor_manager_handle_get_current_state (MetaDBusDisplayConfig *skeleton, | 1055 | @@ -1517,6 +1696,14 @@ meta_monitor_manager_handle_get_current_state (MetaDBusDisplayConfig *skeleton, |
1973 | 1056 | } | 1056 | } |
1974 | 1057 | 1057 | ||
1975 | 1058 | g_variant_builder_init (&properties_builder, G_VARIANT_TYPE ("a{sv}")); | 1058 | g_variant_builder_init (&properties_builder, G_VARIANT_TYPE ("a{sv}")); |
1976 | @@ -1067,7 +1067,7 @@ index c4ed245..d055eec 100644 | |||
1977 | 1067 | capabilities = meta_monitor_manager_get_capabilities (manager); | 1067 | capabilities = meta_monitor_manager_get_capabilities (manager); |
1978 | 1068 | if ((capabilities & META_MONITOR_MANAGER_CAPABILITY_MIRRORING) == 0) | 1068 | if ((capabilities & META_MONITOR_MANAGER_CAPABILITY_MIRRORING) == 0) |
1979 | 1069 | { | 1069 | { |
1981 | 1070 | @@ -1520,6 +1707,13 @@ meta_monitor_manager_handle_get_current_state (MetaDBusDisplayConfig *skeleton, | 1070 | @@ -1541,6 +1728,13 @@ meta_monitor_manager_handle_get_current_state (MetaDBusDisplayConfig *skeleton, |
1982 | 1071 | "global-scale-required", | 1071 | "global-scale-required", |
1983 | 1072 | g_variant_new_boolean (TRUE)); | 1072 | g_variant_new_boolean (TRUE)); |
1984 | 1073 | } | 1073 | } |
1985 | @@ -1081,7 +1081,7 @@ index c4ed245..d055eec 100644 | |||
1986 | 1081 | 1081 | ||
1987 | 1082 | ui_scaling_factor = meta_settings_get_ui_scaling_factor (settings); | 1082 | ui_scaling_factor = meta_settings_get_ui_scaling_factor (settings); |
1988 | 1083 | g_variant_builder_add (&properties_builder, "{sv}", | 1083 | g_variant_builder_add (&properties_builder, "{sv}", |
1990 | 1084 | @@ -1564,12 +1758,14 @@ meta_monitor_manager_handle_get_current_state (MetaDBusDisplayConfig *skeleton, | 1084 | @@ -1585,12 +1779,14 @@ meta_monitor_manager_handle_get_current_state (MetaDBusDisplayConfig *skeleton, |
1991 | 1085 | #undef LOGICAL_MONITOR_FORMAT | 1085 | #undef LOGICAL_MONITOR_FORMAT |
1992 | 1086 | #undef LOGICAL_MONITORS_FORMAT | 1086 | #undef LOGICAL_MONITORS_FORMAT |
1993 | 1087 | 1087 | ||
1994 | @@ -1102,7 +1102,7 @@ index c4ed245..d055eec 100644 | |||
1995 | 1102 | { | 1102 | { |
1996 | 1103 | g_autofree float *supported_scales = NULL; | 1103 | g_autofree float *supported_scales = NULL; |
1997 | 1104 | int n_supported_scales; | 1104 | int n_supported_scales; |
1999 | 1105 | @@ -1583,8 +1779,66 @@ meta_monitor_manager_is_scale_supported (MetaMonitorManager *manager, | 1105 | @@ -1604,8 +1800,66 @@ meta_monitor_manager_is_scale_supported (MetaMonitorManager *manager, |
2000 | 1106 | &n_supported_scales); | 1106 | &n_supported_scales); |
2001 | 1107 | for (i = 0; i < n_supported_scales; i++) | 1107 | for (i = 0; i < n_supported_scales; i++) |
2002 | 1108 | { | 1108 | { |
2003 | @@ -1171,7 +1171,7 @@ index c4ed245..d055eec 100644 | |||
2004 | 1171 | } | 1171 | } |
2005 | 1172 | 1172 | ||
2006 | 1173 | return FALSE; | 1173 | return FALSE; |
2008 | 1174 | @@ -1628,11 +1882,11 @@ meta_monitor_manager_is_config_applicable (MetaMonitorManager *manager, | 1174 | @@ -1649,11 +1903,11 @@ meta_monitor_manager_is_config_applicable (MetaMonitorManager *manager, |
2009 | 1175 | return FALSE; | 1175 | return FALSE; |
2010 | 1176 | } | 1176 | } |
2011 | 1177 | 1177 | ||
2012 | @@ -1188,7 +1188,7 @@ index c4ed245..d055eec 100644 | |||
2013 | 1188 | { | 1188 | { |
2014 | 1189 | g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, | 1189 | g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, |
2015 | 1190 | "Scale not supported by backend"); | 1190 | "Scale not supported by backend"); |
2017 | 1191 | @@ -1841,6 +2095,7 @@ derive_logical_monitor_size (MetaMonitorConfig *monitor_config, | 1191 | @@ -1862,6 +2116,7 @@ derive_logical_monitor_size (MetaMonitorConfig *monitor_config, |
2018 | 1192 | switch (layout_mode) | 1192 | switch (layout_mode) |
2019 | 1193 | { | 1193 | { |
2020 | 1194 | case META_LOGICAL_MONITOR_LAYOUT_MODE_LOGICAL: | 1194 | case META_LOGICAL_MONITOR_LAYOUT_MODE_LOGICAL: |
2021 | @@ -1196,7 +1196,7 @@ index c4ed245..d055eec 100644 | |||
2022 | 1196 | width = roundf (width / scale); | 1196 | width = roundf (width / scale); |
2023 | 1197 | height = roundf (height / scale); | 1197 | height = roundf (height / scale); |
2024 | 1198 | break; | 1198 | break; |
2026 | 1199 | @@ -1963,6 +2218,7 @@ is_valid_layout_mode (MetaLogicalMonitorLayoutMode layout_mode) | 1199 | @@ -1984,6 +2239,7 @@ is_valid_layout_mode (MetaLogicalMonitorLayoutMode layout_mode) |
2027 | 1200 | { | 1200 | { |
2028 | 1201 | case META_LOGICAL_MONITOR_LAYOUT_MODE_LOGICAL: | 1201 | case META_LOGICAL_MONITOR_LAYOUT_MODE_LOGICAL: |
2029 | 1202 | case META_LOGICAL_MONITOR_LAYOUT_MODE_PHYSICAL: | 1202 | case META_LOGICAL_MONITOR_LAYOUT_MODE_PHYSICAL: |
2030 | @@ -1204,7 +1204,7 @@ index c4ed245..d055eec 100644 | |||
2031 | 1204 | return TRUE; | 1204 | return TRUE; |
2032 | 1205 | } | 1205 | } |
2033 | 1206 | 1206 | ||
2035 | 1207 | @@ -1985,6 +2241,7 @@ meta_monitor_manager_handle_apply_monitors_config (MetaDBusDisplayConfig *skelet | 1207 | @@ -2006,6 +2262,7 @@ meta_monitor_manager_handle_apply_monitors_config (MetaDBusDisplayConfig *skelet |
2036 | 1208 | MetaMonitorsConfig *config; | 1208 | MetaMonitorsConfig *config; |
2037 | 1209 | GList *logical_monitor_configs = NULL; | 1209 | GList *logical_monitor_configs = NULL; |
2038 | 1210 | GError *error = NULL; | 1210 | GError *error = NULL; |
2039 | @@ -1212,7 +1212,7 @@ index c4ed245..d055eec 100644 | |||
2040 | 1212 | 1212 | ||
2041 | 1213 | if (serial != manager->serial) | 1213 | if (serial != manager->serial) |
2042 | 1214 | { | 1214 | { |
2044 | 1215 | @@ -2056,10 +2313,26 @@ meta_monitor_manager_handle_apply_monitors_config (MetaDBusDisplayConfig *skelet | 1215 | @@ -2077,10 +2334,26 @@ meta_monitor_manager_handle_apply_monitors_config (MetaDBusDisplayConfig *skelet |
2045 | 1216 | return TRUE; | 1216 | return TRUE; |
2046 | 1217 | } | 1217 | } |
2047 | 1218 | 1218 | ||
2048 | @@ -1239,7 +1239,7 @@ index c4ed245..d055eec 100644 | |||
2049 | 1239 | config = meta_monitors_config_new (manager, | 1239 | config = meta_monitors_config_new (manager, |
2050 | 1240 | logical_monitor_configs, | 1240 | logical_monitor_configs, |
2051 | 1241 | layout_mode, | 1241 | layout_mode, |
2053 | 1242 | @@ -2497,12 +2770,6 @@ meta_monitor_manager_get_laptop_panel (MetaMonitorManager *manager) | 1242 | @@ -2518,12 +2791,6 @@ meta_monitor_manager_get_laptop_panel (MetaMonitorManager *manager) |
2054 | 1243 | return find_monitor (manager, meta_monitor_is_laptop_panel); | 1243 | return find_monitor (manager, meta_monitor_is_laptop_panel); |
2055 | 1244 | } | 1244 | } |
2056 | 1245 | 1245 | ||
2057 | @@ -1252,7 +1252,7 @@ index c4ed245..d055eec 100644 | |||
2058 | 1252 | MetaMonitor * | 1252 | MetaMonitor * |
2059 | 1253 | meta_monitor_manager_get_monitor_from_connector (MetaMonitorManager *manager, | 1253 | meta_monitor_manager_get_monitor_from_connector (MetaMonitorManager *manager, |
2060 | 1254 | const char *connector) | 1254 | const char *connector) |
2062 | 1255 | @@ -2688,6 +2955,10 @@ static void | 1255 | @@ -2718,6 +2985,10 @@ static void |
2063 | 1256 | rebuild_monitors (MetaMonitorManager *manager) | 1256 | rebuild_monitors (MetaMonitorManager *manager) |
2064 | 1257 | { | 1257 | { |
2065 | 1258 | GList *l; | 1258 | GList *l; |
2066 | @@ -1263,7 +1263,7 @@ index c4ed245..d055eec 100644 | |||
2067 | 1263 | 1263 | ||
2068 | 1264 | if (manager->monitors) | 1264 | if (manager->monitors) |
2069 | 1265 | { | 1265 | { |
2071 | 1266 | @@ -2704,7 +2975,7 @@ rebuild_monitors (MetaMonitorManager *manager) | 1266 | @@ -2734,7 +3005,7 @@ rebuild_monitors (MetaMonitorManager *manager) |
2072 | 1267 | { | 1267 | { |
2073 | 1268 | MetaOutput *output = k->data; | 1268 | MetaOutput *output = k->data; |
2074 | 1269 | 1269 | ||
2075 | @@ -1272,7 +1272,7 @@ index c4ed245..d055eec 100644 | |||
2076 | 1272 | { | 1272 | { |
2077 | 1273 | if (is_main_tiled_monitor_output (output)) | 1273 | if (is_main_tiled_monitor_output (output)) |
2078 | 1274 | { | 1274 | { |
2080 | 1275 | @@ -2901,7 +3172,7 @@ meta_monitor_manager_update_logical_state_derived (MetaMonitorManager *manager, | 1275 | @@ -2940,7 +3211,7 @@ meta_monitor_manager_update_logical_state_derived (MetaMonitorManager *manager, |
2081 | 1276 | else | 1276 | else |
2082 | 1277 | manager->current_switch_config = META_MONITOR_SWITCH_CONFIG_UNKNOWN; | 1277 | manager->current_switch_config = META_MONITOR_SWITCH_CONFIG_UNKNOWN; |
2083 | 1278 | 1278 | ||
2084 | @@ -1281,7 +1281,7 @@ index c4ed245..d055eec 100644 | |||
2085 | 1281 | 1281 | ||
2086 | 1282 | meta_monitor_manager_rebuild_logical_monitors_derived (manager, config); | 1282 | meta_monitor_manager_rebuild_logical_monitors_derived (manager, config); |
2087 | 1283 | } | 1283 | } |
2089 | 1284 | @@ -2910,10 +3181,14 @@ void | 1284 | @@ -2949,10 +3220,14 @@ void |
2090 | 1285 | meta_monitor_manager_rebuild_derived (MetaMonitorManager *manager, | 1285 | meta_monitor_manager_rebuild_derived (MetaMonitorManager *manager, |
2091 | 1286 | MetaMonitorsConfig *config) | 1286 | MetaMonitorsConfig *config) |
2092 | 1287 | { | 1287 | { |
2093 | @@ -1633,10 +1633,10 @@ index 34d49b3..e54317e 100644 | |||
2094 | 1633 | g_signal_new ("experimental-features-changed", | 1633 | g_signal_new ("experimental-features-changed", |
2095 | 1634 | G_TYPE_FROM_CLASS (object_class), | 1634 | G_TYPE_FROM_CLASS (object_class), |
2096 | 1635 | diff --git a/src/backends/native/meta-monitor-manager-kms.c b/src/backends/native/meta-monitor-manager-kms.c | 1635 | diff --git a/src/backends/native/meta-monitor-manager-kms.c b/src/backends/native/meta-monitor-manager-kms.c |
2098 | 1636 | index c9a3cab..da3a619 100644 | 1636 | index 9a03644..93905e6 100644 |
2099 | 1637 | --- a/src/backends/native/meta-monitor-manager-kms.c | 1637 | --- a/src/backends/native/meta-monitor-manager-kms.c |
2100 | 1638 | +++ b/src/backends/native/meta-monitor-manager-kms.c | 1638 | +++ b/src/backends/native/meta-monitor-manager-kms.c |
2102 | 1639 | @@ -503,20 +503,8 @@ meta_monitor_manager_kms_is_transform_handled (MetaMonitorManager *manager, | 1639 | @@ -518,20 +518,8 @@ meta_monitor_manager_kms_is_transform_handled (MetaMonitorManager *manager, |
2103 | 1640 | return meta_crtc_kms_is_transform_handled (crtc, transform); | 1640 | return meta_crtc_kms_is_transform_handled (crtc, transform); |
2104 | 1641 | } | 1641 | } |
2105 | 1642 | 1642 | ||
2106 | @@ -1659,7 +1659,7 @@ index c9a3cab..da3a619 100644 | |||
2107 | 1659 | { | 1659 | { |
2108 | 1660 | MetaMonitorScalesConstraint constraints = | 1660 | MetaMonitorScalesConstraint constraints = |
2109 | 1661 | META_MONITOR_SCALES_CONSTRAINT_NONE; | 1661 | META_MONITOR_SCALES_CONSTRAINT_NONE; |
2111 | 1662 | @@ -524,12 +512,38 @@ meta_monitor_manager_kms_calculate_supported_scales (MetaMonitorManager | 1662 | @@ -539,12 +527,38 @@ meta_monitor_manager_kms_calculate_supported_scales (MetaMonitorManager |
2112 | 1663 | switch (layout_mode) | 1663 | switch (layout_mode) |
2113 | 1664 | { | 1664 | { |
2114 | 1665 | case META_LOGICAL_MONITOR_LAYOUT_MODE_LOGICAL: | 1665 | case META_LOGICAL_MONITOR_LAYOUT_MODE_LOGICAL: |
2115 | @@ -1698,7 +1698,7 @@ index c9a3cab..da3a619 100644 | |||
2116 | 1698 | return meta_monitor_calculate_supported_scales (monitor, monitor_mode, | 1698 | return meta_monitor_calculate_supported_scales (monitor, monitor_mode, |
2117 | 1699 | constraints, | 1699 | constraints, |
2118 | 1700 | n_supported_scales); | 1700 | n_supported_scales); |
2120 | 1701 | @@ -543,7 +557,7 @@ meta_monitor_manager_kms_get_capabilities (MetaMonitorManager *manager) | 1701 | @@ -558,7 +572,7 @@ meta_monitor_manager_kms_get_capabilities (MetaMonitorManager *manager) |
2121 | 1702 | MetaRenderer *renderer = meta_backend_get_renderer (backend); | 1702 | MetaRenderer *renderer = meta_backend_get_renderer (backend); |
2122 | 1703 | MetaRendererNative *renderer_native = META_RENDERER_NATIVE (renderer); | 1703 | MetaRendererNative *renderer_native = META_RENDERER_NATIVE (renderer); |
2123 | 1704 | MetaMonitorManagerCapability capabilities = | 1704 | MetaMonitorManagerCapability capabilities = |
2124 | @@ -1857,7 +1857,7 @@ index d38a09a..d3f2f60 100644 | |||
2125 | 1857 | 1857 | ||
2126 | 1858 | #endif /* META_CRTC_XRANDR_H */ | 1858 | #endif /* META_CRTC_XRANDR_H */ |
2127 | 1859 | diff --git a/src/backends/x11/meta-gpu-xrandr.c b/src/backends/x11/meta-gpu-xrandr.c | 1859 | diff --git a/src/backends/x11/meta-gpu-xrandr.c b/src/backends/x11/meta-gpu-xrandr.c |
2129 | 1860 | index 14b46d5..72243a1 100644 | 1860 | index 3e8a731..e8fa3f5 100644 |
2130 | 1861 | --- a/src/backends/x11/meta-gpu-xrandr.c | 1861 | --- a/src/backends/x11/meta-gpu-xrandr.c |
2131 | 1862 | +++ b/src/backends/x11/meta-gpu-xrandr.c | 1862 | +++ b/src/backends/x11/meta-gpu-xrandr.c |
2132 | 1863 | @@ -42,6 +42,8 @@ struct _MetaGpuXrandr | 1863 | @@ -42,6 +42,8 @@ struct _MetaGpuXrandr |
2133 | @@ -1945,14 +1945,12 @@ index 14b46d5..72243a1 100644 | |||
2134 | 1945 | static gboolean | 1945 | static gboolean |
2135 | 1946 | meta_gpu_xrandr_read_current (MetaGpu *gpu, | 1946 | meta_gpu_xrandr_read_current (MetaGpu *gpu, |
2136 | 1947 | GError **error) | 1947 | GError **error) |
2138 | 1948 | @@ -95,13 +159,14 @@ meta_gpu_xrandr_read_current (MetaGpu *gpu, | 1948 | @@ -95,19 +159,20 @@ meta_gpu_xrandr_read_current (MetaGpu *gpu, |
2139 | 1949 | RROutput primary_output; | 1949 | RROutput primary_output; |
2140 | 1950 | unsigned int i, j; | 1950 | unsigned int i, j; |
2141 | 1951 | GList *l; | 1951 | GList *l; |
2142 | 1952 | - int min_width, min_height; | 1952 | - int min_width, min_height; |
2143 | 1953 | Screen *screen; | 1953 | Screen *screen; |
2144 | 1954 | BOOL dpms_capable, dpms_enabled; | ||
2145 | 1955 | CARD16 dpms_state; | ||
2146 | 1956 | GList *outputs = NULL; | 1954 | GList *outputs = NULL; |
2147 | 1957 | GList *modes = NULL; | 1955 | GList *modes = NULL; |
2148 | 1958 | GList *crtcs = NULL; | 1956 | GList *crtcs = NULL; |
2149 | @@ -1961,8 +1959,7 @@ index 14b46d5..72243a1 100644 | |||
2150 | 1961 | 1959 | ||
2151 | 1962 | if (gpu_xrandr->resources) | 1960 | if (gpu_xrandr->resources) |
2152 | 1963 | XRRFreeScreenResources (gpu_xrandr->resources); | 1961 | XRRFreeScreenResources (gpu_xrandr->resources); |
2155 | 1964 | @@ -138,8 +203,8 @@ meta_gpu_xrandr_read_current (MetaGpu *gpu, | 1962 | gpu_xrandr->resources = NULL; |
2154 | 1965 | } | ||
2156 | 1966 | 1963 | ||
2157 | 1967 | XRRGetScreenSizeRange (xdisplay, DefaultRootWindow (xdisplay), | 1964 | XRRGetScreenSizeRange (xdisplay, DefaultRootWindow (xdisplay), |
2158 | 1968 | - &min_width, | 1965 | - &min_width, |
2159 | @@ -1972,7 +1969,7 @@ index 14b46d5..72243a1 100644 | |||
2160 | 1972 | &gpu_xrandr->max_screen_width, | 1969 | &gpu_xrandr->max_screen_width, |
2161 | 1973 | &gpu_xrandr->max_screen_height); | 1970 | &gpu_xrandr->max_screen_height); |
2162 | 1974 | 1971 | ||
2164 | 1975 | @@ -182,17 +247,33 @@ meta_gpu_xrandr_read_current (MetaGpu *gpu, | 1972 | @@ -150,17 +215,33 @@ meta_gpu_xrandr_read_current (MetaGpu *gpu, |
2165 | 1976 | } | 1973 | } |
2166 | 1977 | meta_gpu_take_modes (gpu, modes); | 1974 | meta_gpu_take_modes (gpu, modes); |
2167 | 1978 | 1975 | ||
2168 | @@ -2023,7 +2020,7 @@ index aad49d0..4ac32b9 100644 | |||
2169 | 2023 | int *max_width, | 2020 | int *max_width, |
2170 | 2024 | int *max_height); | 2021 | int *max_height); |
2171 | 2025 | diff --git a/src/backends/x11/meta-monitor-manager-xrandr.c b/src/backends/x11/meta-monitor-manager-xrandr.c | 2022 | diff --git a/src/backends/x11/meta-monitor-manager-xrandr.c b/src/backends/x11/meta-monitor-manager-xrandr.c |
2173 | 2026 | index 784bbde..246b66d 100644 | 2023 | index 45c81f4..7df4abc 100644 |
2174 | 2027 | --- a/src/backends/x11/meta-monitor-manager-xrandr.c | 2024 | --- a/src/backends/x11/meta-monitor-manager-xrandr.c |
2175 | 2028 | +++ b/src/backends/x11/meta-monitor-manager-xrandr.c | 2025 | +++ b/src/backends/x11/meta-monitor-manager-xrandr.c |
2176 | 2029 | @@ -63,6 +63,9 @@ | 2026 | @@ -63,6 +63,9 @@ |
2177 | @@ -2068,7 +2065,7 @@ index 784bbde..246b66d 100644 | |||
2178 | 2068 | } | 2065 | } |
2179 | 2069 | 2066 | ||
2180 | 2070 | static GBytes * | 2067 | static GBytes * |
2182 | 2071 | @@ -149,6 +150,57 @@ meta_monitor_manager_xrandr_set_power_save_mode (MetaMonitorManager *manager, | 2068 | @@ -193,6 +194,57 @@ meta_monitor_manager_xrandr_set_power_save_mode (MetaMonitorManager *manager, |
2183 | 2072 | DPMSSetTimeouts (manager_xrandr->xdisplay, 0, 0, 0); | 2069 | DPMSSetTimeouts (manager_xrandr->xdisplay, 0, 0, 0); |
2184 | 2073 | } | 2070 | } |
2185 | 2074 | 2071 | ||
2186 | @@ -2126,7 +2123,7 @@ index 784bbde..246b66d 100644 | |||
2187 | 2126 | static xcb_randr_rotation_t | 2123 | static xcb_randr_rotation_t |
2188 | 2127 | meta_monitor_transform_to_xrandr (MetaMonitorTransform transform) | 2124 | meta_monitor_transform_to_xrandr (MetaMonitorTransform transform) |
2189 | 2128 | { | 2125 | { |
2191 | 2129 | @@ -203,13 +255,36 @@ xrandr_set_crtc_config (MetaMonitorManagerXrandr *manager_xrandr, | 2126 | @@ -247,13 +299,36 @@ xrandr_set_crtc_config (MetaMonitorManagerXrandr *manager_xrandr, |
2192 | 2130 | return TRUE; | 2127 | return TRUE; |
2193 | 2131 | } | 2128 | } |
2194 | 2132 | 2129 | ||
2195 | @@ -2166,7 +2163,7 @@ index 784bbde..246b66d 100644 | |||
2196 | 2166 | for (i = 0; i < n_crtc_infos; i++) | 2163 | for (i = 0; i < n_crtc_infos; i++) |
2197 | 2167 | { | 2164 | { |
2198 | 2168 | MetaCrtcInfo *crtc_info = crtc_infos[i]; | 2165 | MetaCrtcInfo *crtc_info = crtc_infos[i]; |
2200 | 2169 | @@ -230,6 +305,37 @@ is_crtc_assignment_changed (MetaCrtc *crtc, | 2166 | @@ -274,6 +349,37 @@ is_crtc_assignment_changed (MetaCrtc *crtc, |
2201 | 2170 | if (crtc->transform != crtc_info->transform) | 2167 | if (crtc->transform != crtc_info->transform) |
2202 | 2171 | return TRUE; | 2168 | return TRUE; |
2203 | 2172 | 2169 | ||
2204 | @@ -2204,7 +2201,7 @@ index 784bbde..246b66d 100644 | |||
2205 | 2204 | for (j = 0; j < crtc_info->outputs->len; j++) | 2201 | for (j = 0; j < crtc_info->outputs->len; j++) |
2206 | 2205 | { | 2202 | { |
2207 | 2206 | MetaOutput *output = ((MetaOutput**) crtc_info->outputs->pdata)[j]; | 2203 | MetaOutput *output = ((MetaOutput**) crtc_info->outputs->pdata)[j]; |
2209 | 2207 | @@ -315,7 +421,7 @@ is_assignments_changed (MetaMonitorManager *manager, | 2204 | @@ -359,7 +465,7 @@ is_assignments_changed (MetaMonitorManager *manager, |
2210 | 2208 | { | 2205 | { |
2211 | 2209 | MetaCrtc *crtc = l->data; | 2206 | MetaCrtc *crtc = l->data; |
2212 | 2210 | 2207 | ||
2213 | @@ -2213,7 +2210,7 @@ index 784bbde..246b66d 100644 | |||
2214 | 2213 | return TRUE; | 2210 | return TRUE; |
2215 | 2214 | } | 2211 | } |
2216 | 2215 | 2212 | ||
2218 | 2216 | @@ -331,6 +437,32 @@ is_assignments_changed (MetaMonitorManager *manager, | 2213 | @@ -375,6 +481,32 @@ is_assignments_changed (MetaMonitorManager *manager, |
2219 | 2217 | return TRUE; | 2214 | return TRUE; |
2220 | 2218 | } | 2215 | } |
2221 | 2219 | 2216 | ||
2222 | @@ -2246,7 +2243,7 @@ index 784bbde..246b66d 100644 | |||
2223 | 2246 | return FALSE; | 2243 | return FALSE; |
2224 | 2247 | } | 2244 | } |
2225 | 2248 | 2245 | ||
2227 | 2249 | @@ -343,33 +475,57 @@ apply_crtc_assignments (MetaMonitorManager *manager, | 2246 | @@ -387,33 +519,57 @@ apply_crtc_assignments (MetaMonitorManager *manager, |
2228 | 2250 | unsigned int n_outputs) | 2247 | unsigned int n_outputs) |
2229 | 2251 | { | 2248 | { |
2230 | 2252 | MetaMonitorManagerXrandr *manager_xrandr = META_MONITOR_MANAGER_XRANDR (manager); | 2249 | MetaMonitorManagerXrandr *manager_xrandr = META_MONITOR_MANAGER_XRANDR (manager); |
2231 | @@ -2311,7 +2308,7 @@ index 784bbde..246b66d 100644 | |||
2232 | 2311 | } | 2308 | } |
2233 | 2312 | 2309 | ||
2234 | 2313 | /* Second disable all newly disabled CRTCs, or CRTCs that in the previous | 2310 | /* Second disable all newly disabled CRTCs, or CRTCs that in the previous |
2236 | 2314 | @@ -394,12 +550,16 @@ apply_crtc_assignments (MetaMonitorManager *manager, | 2311 | @@ -438,12 +594,16 @@ apply_crtc_assignments (MetaMonitorManager *manager, |
2237 | 2315 | 0, 0, XCB_NONE, | 2312 | 0, 0, XCB_NONE, |
2238 | 2316 | XCB_RANDR_ROTATION_ROTATE_0, | 2313 | XCB_RANDR_ROTATION_ROTATE_0, |
2239 | 2317 | NULL, 0); | 2314 | NULL, 0); |
2240 | @@ -2328,7 +2325,7 @@ index 784bbde..246b66d 100644 | |||
2241 | 2328 | } | 2325 | } |
2242 | 2329 | } | 2326 | } |
2243 | 2330 | 2327 | ||
2245 | 2331 | @@ -424,25 +584,20 @@ apply_crtc_assignments (MetaMonitorManager *manager, | 2328 | @@ -468,25 +628,20 @@ apply_crtc_assignments (MetaMonitorManager *manager, |
2246 | 2332 | 0, 0, XCB_NONE, | 2329 | 0, 0, XCB_NONE, |
2247 | 2333 | XCB_RANDR_ROTATION_ROTATE_0, | 2330 | XCB_RANDR_ROTATION_ROTATE_0, |
2248 | 2334 | NULL, 0); | 2331 | NULL, 0); |
2249 | @@ -2360,7 +2357,7 @@ index 784bbde..246b66d 100644 | |||
2250 | 2360 | 2357 | ||
2251 | 2361 | for (i = 0; i < n_crtcs; i++) | 2358 | for (i = 0; i < n_crtcs; i++) |
2252 | 2362 | { | 2359 | { |
2254 | 2363 | @@ -455,12 +610,21 @@ apply_crtc_assignments (MetaMonitorManager *manager, | 2360 | @@ -499,12 +654,21 @@ apply_crtc_assignments (MetaMonitorManager *manager, |
2255 | 2364 | g_autofree xcb_randr_output_t *output_ids = NULL; | 2361 | g_autofree xcb_randr_output_t *output_ids = NULL; |
2256 | 2365 | unsigned int j, n_output_ids; | 2362 | unsigned int j, n_output_ids; |
2257 | 2366 | xcb_randr_rotation_t rotation; | 2363 | xcb_randr_rotation_t rotation; |
2258 | @@ -2382,7 +2379,7 @@ index 784bbde..246b66d 100644 | |||
2259 | 2382 | for (j = 0; j < n_output_ids; j++) | 2379 | for (j = 0; j < n_output_ids; j++) |
2260 | 2383 | { | 2380 | { |
2261 | 2384 | MetaOutput *output; | 2381 | MetaOutput *output; |
2263 | 2385 | @@ -473,6 +637,20 @@ apply_crtc_assignments (MetaMonitorManager *manager, | 2382 | @@ -517,6 +681,20 @@ apply_crtc_assignments (MetaMonitorManager *manager, |
2264 | 2386 | output_ids[j] = output->winsys_id; | 2383 | output_ids[j] = output->winsys_id; |
2265 | 2387 | } | 2384 | } |
2266 | 2388 | 2385 | ||
2267 | @@ -2403,7 +2400,7 @@ index 784bbde..246b66d 100644 | |||
2268 | 2403 | rotation = meta_monitor_transform_to_xrandr (crtc_info->transform); | 2400 | rotation = meta_monitor_transform_to_xrandr (crtc_info->transform); |
2269 | 2404 | if (!xrandr_set_crtc_config (manager_xrandr, | 2401 | if (!xrandr_set_crtc_config (manager_xrandr, |
2270 | 2405 | crtc, | 2402 | crtc, |
2272 | 2406 | @@ -508,6 +686,7 @@ apply_crtc_assignments (MetaMonitorManager *manager, | 2403 | @@ -552,6 +730,7 @@ apply_crtc_assignments (MetaMonitorManager *manager, |
2273 | 2407 | crtc->rect.height = height; | 2404 | crtc->rect.height = height; |
2274 | 2408 | crtc->current_mode = mode; | 2405 | crtc->current_mode = mode; |
2275 | 2409 | crtc->transform = crtc_info->transform; | 2406 | crtc->transform = crtc_info->transform; |
2276 | @@ -2411,7 +2408,7 @@ index 784bbde..246b66d 100644 | |||
2277 | 2411 | } | 2408 | } |
2278 | 2412 | } | 2409 | } |
2279 | 2413 | 2410 | ||
2281 | 2414 | @@ -563,14 +742,61 @@ meta_monitor_manager_xrandr_ensure_initial_config (MetaMonitorManager *manager) | 2411 | @@ -607,14 +786,61 @@ meta_monitor_manager_xrandr_ensure_initial_config (MetaMonitorManager *manager) |
2282 | 2415 | } | 2412 | } |
2283 | 2416 | 2413 | ||
2284 | 2417 | static void | 2414 | static void |
2285 | @@ -2477,7 +2474,7 @@ index 784bbde..246b66d 100644 | |||
2286 | 2477 | } | 2474 | } |
2287 | 2478 | 2475 | ||
2288 | 2479 | static gboolean | 2476 | static gboolean |
2290 | 2480 | @@ -584,7 +810,7 @@ meta_monitor_manager_xrandr_apply_monitors_config (MetaMonitorManager *mana | 2477 | @@ -628,7 +854,7 @@ meta_monitor_manager_xrandr_apply_monitors_config (MetaMonitorManager *mana |
2291 | 2481 | 2478 | ||
2292 | 2482 | if (!config) | 2479 | if (!config) |
2293 | 2483 | { | 2480 | { |
2294 | @@ -2486,7 +2483,7 @@ index 784bbde..246b66d 100644 | |||
2295 | 2486 | return TRUE; | 2483 | return TRUE; |
2296 | 2487 | } | 2484 | } |
2297 | 2488 | 2485 | ||
2299 | 2489 | @@ -609,16 +835,26 @@ meta_monitor_manager_xrandr_apply_monitors_config (MetaMonitorManager *mana | 2486 | @@ -653,16 +879,26 @@ meta_monitor_manager_xrandr_apply_monitors_config (MetaMonitorManager *mana |
2300 | 2490 | (MetaOutputInfo **) output_infos->pdata, | 2487 | (MetaOutputInfo **) output_infos->pdata, |
2301 | 2491 | output_infos->len)) | 2488 | output_infos->len)) |
2302 | 2492 | { | 2489 | { |
2303 | @@ -2514,7 +2511,7 @@ index 784bbde..246b66d 100644 | |||
2304 | 2514 | } | 2511 | } |
2305 | 2515 | } | 2512 | } |
2306 | 2516 | 2513 | ||
2308 | 2517 | @@ -748,7 +984,8 @@ meta_monitor_manager_xrandr_tiled_monitor_added (MetaMonitorManager *manager, | 2514 | @@ -792,7 +1028,8 @@ meta_monitor_manager_xrandr_tiled_monitor_added (MetaMonitorManager *manager, |
2309 | 2518 | GList *l; | 2515 | GList *l; |
2310 | 2519 | int i; | 2516 | int i; |
2311 | 2520 | 2517 | ||
2312 | @@ -2524,7 +2521,7 @@ index 784bbde..246b66d 100644 | |||
2313 | 2524 | return; | 2521 | return; |
2314 | 2525 | 2522 | ||
2315 | 2526 | product = meta_monitor_get_product (monitor); | 2523 | product = meta_monitor_get_product (monitor); |
2317 | 2527 | @@ -797,7 +1034,8 @@ meta_monitor_manager_xrandr_tiled_monitor_removed (MetaMonitorManager *manager, | 2524 | @@ -841,7 +1078,8 @@ meta_monitor_manager_xrandr_tiled_monitor_removed (MetaMonitorManager *manager, |
2318 | 2528 | 2525 | ||
2319 | 2529 | int monitor_count; | 2526 | int monitor_count; |
2320 | 2530 | 2527 | ||
2321 | @@ -2534,7 +2531,7 @@ index 784bbde..246b66d 100644 | |||
2322 | 2534 | return; | 2531 | return; |
2323 | 2535 | 2532 | ||
2324 | 2536 | monitor_xrandr_data = meta_monitor_xrandr_data_from_monitor (monitor); | 2533 | monitor_xrandr_data = meta_monitor_xrandr_data_from_monitor (monitor); |
2326 | 2537 | @@ -815,10 +1053,12 @@ meta_monitor_manager_xrandr_tiled_monitor_removed (MetaMonitorManager *manager, | 2534 | @@ -859,10 +1097,12 @@ meta_monitor_manager_xrandr_tiled_monitor_removed (MetaMonitorManager *manager, |
2327 | 2538 | static void | 2535 | static void |
2328 | 2539 | meta_monitor_manager_xrandr_init_monitors (MetaMonitorManagerXrandr *manager_xrandr) | 2536 | meta_monitor_manager_xrandr_init_monitors (MetaMonitorManagerXrandr *manager_xrandr) |
2329 | 2540 | { | 2537 | { |
2330 | @@ -2548,7 +2545,7 @@ index 784bbde..246b66d 100644 | |||
2331 | 2548 | return; | 2545 | return; |
2332 | 2549 | 2546 | ||
2333 | 2550 | /* delete any tiled monitors setup, as mutter will want to recreate | 2547 | /* delete any tiled monitors setup, as mutter will want to recreate |
2335 | 2551 | @@ -849,83 +1089,26 @@ meta_monitor_manager_xrandr_is_transform_handled (MetaMonitorManager *manager, | 2548 | @@ -893,83 +1133,26 @@ meta_monitor_manager_xrandr_is_transform_handled (MetaMonitorManager *manager, |
2336 | 2552 | return TRUE; | 2549 | return TRUE; |
2337 | 2553 | } | 2550 | } |
2338 | 2554 | 2551 | ||
2339 | @@ -2646,7 +2643,7 @@ index 784bbde..246b66d 100644 | |||
2340 | 2646 | } | 2643 | } |
2341 | 2647 | 2644 | ||
2342 | 2648 | static float * | 2645 | static float * |
2344 | 2649 | @@ -935,21 +1118,35 @@ meta_monitor_manager_xrandr_calculate_supported_scales (MetaMonitorManager | 2646 | @@ -979,21 +1162,35 @@ meta_monitor_manager_xrandr_calculate_supported_scales (MetaMonitorManager |
2345 | 2650 | MetaMonitorMode *monitor_mode, | 2647 | MetaMonitorMode *monitor_mode, |
2346 | 2651 | int *n_supported_scales) | 2648 | int *n_supported_scales) |
2347 | 2652 | { | 2649 | { |
2348 | @@ -2692,7 +2689,7 @@ index 784bbde..246b66d 100644 | |||
2349 | 2692 | } | 2689 | } |
2350 | 2693 | 2690 | ||
2351 | 2694 | static gboolean | 2691 | static gboolean |
2353 | 2695 | @@ -966,9 +1163,34 @@ meta_monitor_manager_xrandr_get_max_screen_size (MetaMonitorManager *manager, | 2692 | @@ -1010,9 +1207,34 @@ meta_monitor_manager_xrandr_get_max_screen_size (MetaMonitorManager *manager, |
2354 | 2696 | return TRUE; | 2693 | return TRUE; |
2355 | 2697 | } | 2694 | } |
2356 | 2698 | 2695 | ||
2357 | @@ -2727,7 +2724,7 @@ index 784bbde..246b66d 100644 | |||
2358 | 2727 | return META_LOGICAL_MONITOR_LAYOUT_MODE_PHYSICAL; | 2724 | return META_LOGICAL_MONITOR_LAYOUT_MODE_PHYSICAL; |
2359 | 2728 | } | 2725 | } |
2360 | 2729 | 2726 | ||
2362 | 2730 | @@ -978,10 +1200,11 @@ meta_monitor_manager_xrandr_constructed (GObject *object) | 2727 | @@ -1022,10 +1244,11 @@ meta_monitor_manager_xrandr_constructed (GObject *object) |
2363 | 2731 | MetaMonitorManagerXrandr *manager_xrandr = | 2728 | MetaMonitorManagerXrandr *manager_xrandr = |
2364 | 2732 | META_MONITOR_MANAGER_XRANDR (object); | 2729 | META_MONITOR_MANAGER_XRANDR (object); |
2365 | 2733 | MetaMonitorManager *manager = META_MONITOR_MANAGER (manager_xrandr); | 2730 | MetaMonitorManager *manager = META_MONITOR_MANAGER (manager_xrandr); |
2366 | @@ -2742,7 +2739,7 @@ index 784bbde..246b66d 100644 | |||
2367 | 2742 | 2739 | ||
2368 | 2743 | manager_xrandr->gpu = META_GPU (meta_gpu_xrandr_new (manager_xrandr)); | 2740 | manager_xrandr->gpu = META_GPU (meta_gpu_xrandr_new (manager_xrandr)); |
2369 | 2744 | meta_monitor_manager_add_gpu (manager, manager_xrandr->gpu); | 2741 | meta_monitor_manager_add_gpu (manager, manager_xrandr->gpu); |
2371 | 2745 | @@ -1003,19 +1226,19 @@ meta_monitor_manager_xrandr_constructed (GObject *object) | 2742 | @@ -1047,19 +1270,19 @@ meta_monitor_manager_xrandr_constructed (GObject *object) |
2372 | 2746 | | RRCrtcChangeNotifyMask | 2743 | | RRCrtcChangeNotifyMask |
2373 | 2747 | | RROutputPropertyNotifyMask); | 2744 | | RROutputPropertyNotifyMask); |
2374 | 2748 | 2745 | ||
2375 | @@ -2770,7 +2767,7 @@ index 784bbde..246b66d 100644 | |||
2376 | 2770 | G_OBJECT_CLASS (meta_monitor_manager_xrandr_parent_class)->constructed (object); | 2767 | G_OBJECT_CLASS (meta_monitor_manager_xrandr_parent_class)->constructed (object); |
2377 | 2771 | } | 2768 | } |
2378 | 2772 | 2769 | ||
2380 | 2773 | @@ -1026,7 +1249,6 @@ meta_monitor_manager_xrandr_finalize (GObject *object) | 2770 | @@ -1070,7 +1293,6 @@ meta_monitor_manager_xrandr_finalize (GObject *object) |
2381 | 2774 | 2771 | ||
2382 | 2775 | g_clear_object (&manager_xrandr->gpu); | 2772 | g_clear_object (&manager_xrandr->gpu); |
2383 | 2776 | g_hash_table_destroy (manager_xrandr->tiled_monitor_atoms); | 2773 | g_hash_table_destroy (manager_xrandr->tiled_monitor_atoms); |
2384 | @@ -2778,15 +2775,15 @@ index 784bbde..246b66d 100644 | |||
2385 | 2778 | 2775 | ||
2386 | 2779 | G_OBJECT_CLASS (meta_monitor_manager_xrandr_parent_class)->finalize (object); | 2776 | G_OBJECT_CLASS (meta_monitor_manager_xrandr_parent_class)->finalize (object); |
2387 | 2780 | } | 2777 | } |
2390 | 2781 | @@ -1048,6 +1270,7 @@ meta_monitor_manager_xrandr_class_init (MetaMonitorManagerXrandrClass *klass) | 2778 | @@ -1093,6 +1315,7 @@ meta_monitor_manager_xrandr_class_init (MetaMonitorManagerXrandrClass *klass) |
2391 | 2782 | manager_class->read_edid = meta_monitor_manager_xrandr_read_edid; | 2779 | manager_class->read_current_state = meta_monitor_manager_xrandr_read_current_state; |
2392 | 2783 | manager_class->ensure_initial_config = meta_monitor_manager_xrandr_ensure_initial_config; | 2780 | manager_class->ensure_initial_config = meta_monitor_manager_xrandr_ensure_initial_config; |
2393 | 2784 | manager_class->apply_monitors_config = meta_monitor_manager_xrandr_apply_monitors_config; | 2781 | manager_class->apply_monitors_config = meta_monitor_manager_xrandr_apply_monitors_config; |
2394 | 2785 | + manager_class->update_screen_size_derived = meta_monitor_manager_xrandr_update_screen_size_derived; | 2782 | + manager_class->update_screen_size_derived = meta_monitor_manager_xrandr_update_screen_size_derived; |
2395 | 2786 | manager_class->set_power_save_mode = meta_monitor_manager_xrandr_set_power_save_mode; | 2783 | manager_class->set_power_save_mode = meta_monitor_manager_xrandr_set_power_save_mode; |
2396 | 2787 | manager_class->change_backlight = meta_monitor_manager_xrandr_change_backlight; | 2784 | manager_class->change_backlight = meta_monitor_manager_xrandr_change_backlight; |
2397 | 2788 | manager_class->get_crtc_gamma = meta_monitor_manager_xrandr_get_crtc_gamma; | 2785 | manager_class->get_crtc_gamma = meta_monitor_manager_xrandr_get_crtc_gamma; |
2399 | 2789 | @@ -1108,7 +1331,7 @@ meta_monitor_manager_xrandr_handle_xevent (MetaMonitorManagerXrandr *manager_xra | 2786 | @@ -1153,7 +1376,7 @@ meta_monitor_manager_xrandr_handle_xevent (MetaMonitorManagerXrandr *manager_xra |
2400 | 2790 | config = NULL; | 2787 | config = NULL; |
2401 | 2791 | } | 2788 | } |
2402 | 2792 | 2789 | ||
2403 | @@ -2931,7 +2928,7 @@ index 0854a19..e412784 100644 | |||
2404 | 2931 | } | 2928 | } |
2405 | 2932 | } | 2929 | } |
2406 | 2933 | diff --git a/src/core/boxes-private.h b/src/core/boxes-private.h | 2930 | diff --git a/src/core/boxes-private.h b/src/core/boxes-private.h |
2408 | 2934 | index 24c596b..f92837a 100644 | 2931 | index 74f5c54..0b37f0f 100644 |
2409 | 2935 | --- a/src/core/boxes-private.h | 2932 | --- a/src/core/boxes-private.h |
2410 | 2936 | +++ b/src/core/boxes-private.h | 2933 | +++ b/src/core/boxes-private.h |
2411 | 2937 | @@ -157,6 +157,10 @@ gboolean meta_rectangle_overlaps_with_region ( | 2934 | @@ -157,6 +157,10 @@ gboolean meta_rectangle_overlaps_with_region ( |
2412 | @@ -2946,7 +2943,7 @@ index 24c596b..f92837a 100644 | |||
2413 | 2946 | * but make it no smaller than min_size. | 2943 | * but make it no smaller than min_size. |
2414 | 2947 | */ | 2944 | */ |
2415 | 2948 | diff --git a/src/core/boxes.c b/src/core/boxes.c | 2945 | diff --git a/src/core/boxes.c b/src/core/boxes.c |
2417 | 2949 | index 87f2d5d..95978c1 100644 | 2946 | index 4bb961c..69fd45f 100644 |
2418 | 2950 | --- a/src/core/boxes.c | 2947 | --- a/src/core/boxes.c |
2419 | 2951 | +++ b/src/core/boxes.c | 2948 | +++ b/src/core/boxes.c |
2420 | 2952 | @@ -911,6 +911,27 @@ meta_rectangle_overlaps_with_region (const GList *spanning_rects, | 2949 | @@ -911,6 +911,27 @@ meta_rectangle_overlaps_with_region (const GList *spanning_rects, |
2421 | @@ -2966,7 +2963,7 @@ index 87f2d5d..95978c1 100644 | |||
2422 | 2966 | + if (rect == other || meta_rectangle_equal (rect, other)) | 2963 | + if (rect == other || meta_rectangle_equal (rect, other)) |
2423 | 2967 | + continue; | 2964 | + continue; |
2424 | 2968 | + | 2965 | + |
2426 | 2969 | + if (meta_rectangle_is_adjecent_to ((MetaRectangle *) rect, other)) | 2966 | + if (meta_rectangle_is_adjacent_to ((MetaRectangle *) rect, other)) |
2427 | 2970 | + { | 2967 | + { |
2428 | 2971 | + return TRUE; | 2968 | + return TRUE; |
2429 | 2972 | + } | 2969 | + } |
2430 | @@ -2978,7 +2975,7 @@ index 87f2d5d..95978c1 100644 | |||
2431 | 2978 | void | 2975 | void |
2432 | 2979 | meta_rectangle_clamp_to_fit_into_region (const GList *spanning_rects, | 2976 | meta_rectangle_clamp_to_fit_into_region (const GList *spanning_rects, |
2433 | 2980 | diff --git a/src/core/window.c b/src/core/window.c | 2977 | diff --git a/src/core/window.c b/src/core/window.c |
2435 | 2981 | index 62b2df8..d1cf7c3 100644 | 2978 | index d2c2450..bb2e459 100644 |
2436 | 2982 | --- a/src/core/window.c | 2979 | --- a/src/core/window.c |
2437 | 2983 | +++ b/src/core/window.c | 2980 | +++ b/src/core/window.c |
2438 | 2984 | @@ -226,6 +226,7 @@ enum | 2981 | @@ -226,6 +226,7 @@ enum |
2439 | diff --git a/debian/rules b/debian/rules | |||
2440 | index 4e6d9c1..2047ed8 100755 | |||
2441 | --- a/debian/rules | |||
2442 | +++ b/debian/rules | |||
2443 | @@ -4,7 +4,7 @@ export DEB_BUILD_MAINT_OPTIONS = hardening=+all | |||
2444 | 4 | export DEB_LDFLAGS_MAINT_APPEND = -Wl,-O1 -Wl,--as-needed | 4 | export DEB_LDFLAGS_MAINT_APPEND = -Wl,-O1 -Wl,--as-needed |
2445 | 5 | 5 | ||
2446 | 6 | %: | 6 | %: |
2448 | 7 | dh $@ --with gir,gnome --buildsystem=meson | 7 | dh $@ |
2449 | 8 | 8 | ||
2450 | 9 | override_dh_autoreconf: | 9 | override_dh_autoreconf: |
2451 | 10 | dh_autoreconf --as-needed | 10 | dh_autoreconf --as-needed |
2452 | diff --git a/meson.build b/meson.build | |||
2453 | index dc210e6..6ce9e59 100644 | |||
2454 | --- a/meson.build | |||
2455 | +++ b/meson.build | |||
2456 | @@ -178,7 +178,7 @@ if have_native_backend | |||
2457 | 178 | libgbm_dep = dependency('gbm', version: gbm_req) | 178 | libgbm_dep = dependency('gbm', version: gbm_req) |
2458 | 179 | libinput_dep = dependency('libinput', version: libinput_req) | 179 | libinput_dep = dependency('libinput', version: libinput_req) |
2459 | 180 | 180 | ||
2461 | 181 | libsystemd_dep = dependency('libsystemd') | 181 | libsystemd_dep = dependency('libsystemd', required: false) |
2462 | 182 | if libsystemd_dep.found() | 182 | if libsystemd_dep.found() |
2463 | 183 | logind_provider_dep = libsystemd_dep | 183 | logind_provider_dep = libsystemd_dep |
2464 | 184 | else | 184 | else |
2465 | diff --git a/po/ar.po b/po/ar.po | |||
2466 | index 4f26451..82df3c2 100644 | |||
2467 | --- a/po/ar.po | |||
2468 | +++ b/po/ar.po | |||
2469 | @@ -4,15 +4,14 @@ | |||
2470 | 4 | # Arafat Medini <lumina@silverpen.de>, 2003. | 4 | # Arafat Medini <lumina@silverpen.de>, 2003. |
2471 | 5 | # Abdulaziz Al-Arfaj <alarfaj0@yahoo.com>, 2004. | 5 | # Abdulaziz Al-Arfaj <alarfaj0@yahoo.com>, 2004. |
2472 | 6 | # Djihed Afifi <djihed@gmail.com>, 2006. | 6 | # Djihed Afifi <djihed@gmail.com>, 2006. |
2474 | 7 | # Khaled Hosny <khaledhosny@eglug.org>, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2017. | 7 | # Khaled Hosny <khaledhosny@eglug.org>, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2017, 2019. |
2475 | 8 | # Anas Afif Emad <anas.e87@gmail.com>, 2008. | 8 | # Anas Afif Emad <anas.e87@gmail.com>, 2008. |
2476 | 9 | msgid "" | 9 | msgid "" |
2477 | 10 | msgstr "" | 10 | msgstr "" |
2478 | 11 | "Project-Id-Version: metacity.HEAD\n" | 11 | "Project-Id-Version: metacity.HEAD\n" |
2483 | 12 | "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mutter&" | 12 | "Report-Msgid-Bugs-To: \n" |
2484 | 13 | "keywords=I18N+L10N&component=general\n" | 13 | "POT-Creation-Date: 2019-03-15 23:40+0200\n" |
2485 | 14 | "POT-Creation-Date: 2017-11-03 10:20+0200\n" | 14 | "PO-Revision-Date: 2019-03-15 23:42+0200\n" |
2482 | 15 | "PO-Revision-Date: 2017-11-03 10:22+0200\n" | ||
2486 | 16 | "Last-Translator: Khaled Hosny <khaledhosny@eglug.org>\n" | 15 | "Last-Translator: Khaled Hosny <khaledhosny@eglug.org>\n" |
2487 | 17 | "Language-Team: Arabic <doc@arabeyes.org>\n" | 16 | "Language-Team: Arabic <doc@arabeyes.org>\n" |
2488 | 18 | "Language: ar\n" | 17 | "Language: ar\n" |
2489 | @@ -21,126 +20,599 @@ msgstr "" | |||
2490 | 21 | "Content-Transfer-Encoding: 8bit\n" | 20 | "Content-Transfer-Encoding: 8bit\n" |
2491 | 22 | "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " | 21 | "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " |
2492 | 23 | "&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" | 22 | "&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" |
2494 | 24 | "X-Generator: Virtaal 1.0.0-beta1\n" | 23 | "X-Generator: Virtaal 0.7.1\n" |
2495 | 25 | "X-Project-Style: gnome\n" | 24 | "X-Project-Style: gnome\n" |
2496 | 26 | 25 | ||
2497 | 26 | #: data/50-mutter-navigation.xml:6 | ||
2498 | 27 | msgid "Navigation" | ||
2499 | 28 | msgstr "الإبحار" | ||
2500 | 29 | |||
2501 | 30 | #: data/50-mutter-navigation.xml:9 | ||
2502 | 31 | msgid "Move window to workspace 1" | ||
2503 | 32 | msgstr "انقل النافذة إلى مساحة العمل 1" | ||
2504 | 33 | |||
2505 | 34 | #: data/50-mutter-navigation.xml:12 | ||
2506 | 35 | msgid "Move window to workspace 2" | ||
2507 | 36 | msgstr "انقل النافذة إلى مساحة العمل 2" | ||
2508 | 37 | |||
2509 | 38 | #: data/50-mutter-navigation.xml:15 | ||
2510 | 39 | msgid "Move window to workspace 3" | ||
2511 | 40 | msgstr "انقل النافذة إلى مساحة العمل 3" | ||
2512 | 41 | |||
2513 | 42 | #: data/50-mutter-navigation.xml:18 | ||
2514 | 43 | msgid "Move window to workspace 4" | ||
2515 | 44 | msgstr "انقل النافذة إلى مساحة العمل 4" | ||
2516 | 45 | |||
2517 | 46 | #: data/50-mutter-navigation.xml:21 | ||
2518 | 47 | msgid "Move window to last workspace" | ||
2519 | 48 | msgstr "انقل النافذة إلى مساحة العمل الأخيرة" | ||
2520 | 49 | |||
2521 | 50 | #: data/50-mutter-navigation.xml:24 | ||
2522 | 51 | msgid "Move window one workspace up" | ||
2523 | 52 | msgstr "انقل النافذة مساحة عمل واحدة إلى الأعلى" | ||
2524 | 53 | |||
2525 | 54 | #: data/50-mutter-navigation.xml:27 | ||
2526 | 55 | msgid "Move window one workspace down" | ||
2527 | 56 | msgstr "انقل النافذة مساحة عمل واحدة إلى الأسفل" | ||
2528 | 57 | |||
2529 | 58 | #: data/50-mutter-navigation.xml:30 | ||
2530 | 59 | msgid "Move window one monitor to the left" | ||
2531 | 60 | msgstr "انقل النافذة شاشة واحدة إلى اليسار" | ||
2532 | 61 | |||
2533 | 62 | #: data/50-mutter-navigation.xml:33 | ||
2534 | 63 | msgid "Move window one monitor to the right" | ||
2535 | 64 | msgstr "انقل النافذة شاشة واحدة إلى اليمين" | ||
2536 | 65 | |||
2537 | 66 | #: data/50-mutter-navigation.xml:36 | ||
2538 | 67 | msgid "Move window one monitor up" | ||
2539 | 68 | msgstr "انقل النافذة شاشة واحدة إلى الأعلى" | ||
2540 | 69 | |||
2541 | 70 | #: data/50-mutter-navigation.xml:39 | ||
2542 | 71 | msgid "Move window one monitor down" | ||
2543 | 72 | msgstr "انقل النافذة شاشة واحدة إلى الأسفل" | ||
2544 | 73 | |||
2545 | 74 | #: data/50-mutter-navigation.xml:43 | ||
2546 | 75 | msgid "Switch applications" | ||
2547 | 76 | msgstr "تنقل بين التطبيقات" | ||
2548 | 77 | |||
2549 | 78 | #: data/50-mutter-navigation.xml:48 | ||
2550 | 79 | msgid "Switch to previous application" | ||
2551 | 80 | msgstr "انتقل إلى التطبيق السابق" | ||
2552 | 81 | |||
2553 | 82 | #: data/50-mutter-navigation.xml:52 | ||
2554 | 83 | msgid "Switch windows" | ||
2555 | 84 | msgstr "تنقل بين النوافذ" | ||
2556 | 85 | |||
2557 | 86 | #: data/50-mutter-navigation.xml:57 | ||
2558 | 87 | msgid "Switch to previous window" | ||
2559 | 88 | msgstr "انتقل إلى النافذة السابقة" | ||
2560 | 89 | |||
2561 | 90 | #: data/50-mutter-navigation.xml:61 | ||
2562 | 91 | msgid "Switch windows of an application" | ||
2563 | 92 | msgstr "تنقل بين نوافذ التطبيق" | ||
2564 | 93 | |||
2565 | 94 | #: data/50-mutter-navigation.xml:66 | ||
2566 | 95 | msgid "Switch to previous window of an application" | ||
2567 | 96 | msgstr "انتقل إلى نافذة التطبيق السابقة" | ||
2568 | 97 | |||
2569 | 98 | #: data/50-mutter-navigation.xml:70 | ||
2570 | 99 | msgid "Switch system controls" | ||
2571 | 100 | msgstr "تنقل بين تحكمات النظام" | ||
2572 | 101 | |||
2573 | 102 | #: data/50-mutter-navigation.xml:75 | ||
2574 | 103 | msgid "Switch to previous system control" | ||
2575 | 104 | msgstr "انتقل إلى تحكم النظام السابق" | ||
2576 | 105 | |||
2577 | 106 | #: data/50-mutter-navigation.xml:79 | ||
2578 | 107 | msgid "Switch windows directly" | ||
2579 | 108 | msgstr "تنقل مباشرة بين النوافذ" | ||
2580 | 109 | |||
2581 | 110 | #: data/50-mutter-navigation.xml:84 | ||
2582 | 111 | msgid "Switch directly to previous window" | ||
2583 | 112 | msgstr "انتقل مباشرة إلى النافذة السابقة" | ||
2584 | 113 | |||
2585 | 114 | #: data/50-mutter-navigation.xml:88 | ||
2586 | 115 | msgid "Switch windows of an app directly" | ||
2587 | 116 | msgstr "تنقل مباشرة بين نوافذ التطبيق" | ||
2588 | 117 | |||
2589 | 118 | #: data/50-mutter-navigation.xml:93 | ||
2590 | 119 | msgid "Switch directly to previous window of an app" | ||
2591 | 120 | msgstr "انتقل مباشرة إلى نافذة التطبيق السابقة" | ||
2592 | 121 | |||
2593 | 122 | #: data/50-mutter-navigation.xml:97 | ||
2594 | 123 | msgid "Switch system controls directly" | ||
2595 | 124 | msgstr "تنقل مباشرة بين تحكمات النظام" | ||
2596 | 125 | |||
2597 | 126 | #: data/50-mutter-navigation.xml:102 | ||
2598 | 127 | msgid "Switch directly to previous system control" | ||
2599 | 128 | msgstr "انتقل مباشرة إلى تحكم النظام السابق" | ||
2600 | 129 | |||
2601 | 130 | #: data/50-mutter-navigation.xml:105 | ||
2602 | 131 | msgid "Hide all normal windows" | ||
2603 | 132 | msgstr "أخفِ كل النوافذ العادية" | ||
2604 | 133 | |||
2605 | 134 | #: data/50-mutter-navigation.xml:108 | ||
2606 | 135 | msgid "Switch to workspace 1" | ||
2607 | 136 | msgstr "انتقل إلى مساحة العمل 1" | ||
2608 | 137 | |||
2609 | 138 | #: data/50-mutter-navigation.xml:111 | ||
2610 | 139 | msgid "Switch to workspace 2" | ||
2611 | 140 | msgstr "انتقل إلى مساحة العمل 2" | ||
2612 | 141 | |||
2613 | 142 | #: data/50-mutter-navigation.xml:114 | ||
2614 | 143 | msgid "Switch to workspace 3" | ||
2615 | 144 | msgstr "انتقل إلى مساحة العمل 3" | ||
2616 | 145 | |||
2617 | 146 | #: data/50-mutter-navigation.xml:117 | ||
2618 | 147 | msgid "Switch to workspace 4" | ||
2619 | 148 | msgstr "انتقل إلى مساحة العمل 4" | ||
2620 | 149 | |||
2621 | 150 | #: data/50-mutter-navigation.xml:120 | ||
2622 | 151 | msgid "Switch to last workspace" | ||
2623 | 152 | msgstr "انتقل إلى مساحة العمل الأخيرة" | ||
2624 | 153 | |||
2625 | 154 | #: data/50-mutter-navigation.xml:123 | ||
2626 | 155 | msgid "Move to workspace above" | ||
2627 | 156 | msgstr "انقل لمساحة العمل أعلى" | ||
2628 | 157 | |||
2629 | 158 | #: data/50-mutter-navigation.xml:126 | ||
2630 | 159 | msgid "Move to workspace below" | ||
2631 | 160 | msgstr "انقل لمساحة العمل أسفل" | ||
2632 | 161 | |||
2633 | 162 | #: data/50-mutter-system.xml:6 data/50-mutter-wayland.xml:6 | ||
2634 | 163 | msgid "System" | ||
2635 | 164 | msgstr "النظام" | ||
2636 | 165 | |||
2637 | 166 | #: data/50-mutter-system.xml:8 | ||
2638 | 167 | msgid "Show the run command prompt" | ||
2639 | 168 | msgstr "أظهر محث تشغيل أمر" | ||
2640 | 169 | |||
2641 | 170 | #: data/50-mutter-system.xml:10 | ||
2642 | 171 | msgid "Show the activities overview" | ||
2643 | 172 | msgstr "أظهر نظرة عامة على الأنشطة" | ||
2644 | 173 | |||
2645 | 174 | #: data/50-mutter-wayland.xml:8 | ||
2646 | 175 | msgid "Restore the keyboard shortcuts" | ||
2647 | 176 | msgstr "استعد اختصارات لوحة المفاتيح" | ||
2648 | 177 | |||
2649 | 178 | #: data/50-mutter-windows.xml:6 | ||
2650 | 179 | msgid "Windows" | ||
2651 | 180 | msgstr "النوافذ" | ||
2652 | 181 | |||
2653 | 182 | #: data/50-mutter-windows.xml:8 | ||
2654 | 183 | msgid "Activate the window menu" | ||
2655 | 184 | msgstr "فعّل قائمة النافذة" | ||
2656 | 185 | |||
2657 | 186 | #: data/50-mutter-windows.xml:10 | ||
2658 | 187 | msgid "Toggle fullscreen mode" | ||
2659 | 188 | msgstr "بدّل نمط ملء الشاشة" | ||
2660 | 189 | |||
2661 | 190 | #: data/50-mutter-windows.xml:12 | ||
2662 | 191 | msgid "Toggle maximization state" | ||
2663 | 192 | msgstr "بدّل حالة التكبير" | ||
2664 | 193 | |||
2665 | 194 | #: data/50-mutter-windows.xml:14 | ||
2666 | 195 | msgid "Maximize window" | ||
2667 | 196 | msgstr "كبّر النّافذة" | ||
2668 | 197 | |||
2669 | 198 | #: data/50-mutter-windows.xml:16 | ||
2670 | 199 | msgid "Restore window" | ||
2671 | 200 | msgstr "استعد النّافذة" | ||
2672 | 201 | |||
2673 | 202 | #: data/50-mutter-windows.xml:18 | ||
2674 | 203 | msgid "Close window" | ||
2675 | 204 | msgstr "أغلق النّافذة" | ||
2676 | 205 | |||
2677 | 206 | #: data/50-mutter-windows.xml:20 | ||
2678 | 207 | msgid "Hide window" | ||
2679 | 208 | msgstr "أخفِ النّافذة" | ||
2680 | 209 | |||
2681 | 210 | #: data/50-mutter-windows.xml:22 | ||
2682 | 211 | msgid "Move window" | ||
2683 | 212 | msgstr "انقل النّافذة" | ||
2684 | 213 | |||
2685 | 214 | #: data/50-mutter-windows.xml:24 | ||
2686 | 215 | msgid "Resize window" | ||
2687 | 216 | msgstr "حجّم النّافذة" | ||
2688 | 217 | |||
2689 | 218 | #: data/50-mutter-windows.xml:27 | ||
2690 | 219 | msgid "Toggle window on all workspaces or one" | ||
2691 | 220 | msgstr "بدّل حالة ظهور النافذة على جميع مساحات العمل أو واحدة منها" | ||
2692 | 221 | |||
2693 | 222 | #: data/50-mutter-windows.xml:29 | ||
2694 | 223 | msgid "Raise window if covered, otherwise lower it" | ||
2695 | 224 | msgstr "ارفع النافذة إذا كانت أخرى تغطيها، أو أخفضها في ما عدا ذلك" | ||
2696 | 225 | |||
2697 | 226 | #: data/50-mutter-windows.xml:31 | ||
2698 | 227 | msgid "Raise window above other windows" | ||
2699 | 228 | msgstr "ارفع النافذة فوق النوافذ الأخرى" | ||
2700 | 229 | |||
2701 | 230 | #: data/50-mutter-windows.xml:33 | ||
2702 | 231 | msgid "Lower window below other windows" | ||
2703 | 232 | msgstr "اخفض النافذة تحت النوافذ الأخرى" | ||
2704 | 233 | |||
2705 | 234 | #: data/50-mutter-windows.xml:35 | ||
2706 | 235 | msgid "Maximize window vertically" | ||
2707 | 236 | msgstr "كبّر النافذة رأسيا" | ||
2708 | 237 | |||
2709 | 238 | #: data/50-mutter-windows.xml:37 | ||
2710 | 239 | msgid "Maximize window horizontally" | ||
2711 | 240 | msgstr "كبّر النافذة أفقيا" | ||
2712 | 241 | |||
2713 | 242 | #: data/50-mutter-windows.xml:41 | ||
2714 | 243 | msgid "View split on left" | ||
2715 | 244 | msgstr "المنظور مقسوم على اليمين" | ||
2716 | 245 | |||
2717 | 246 | #: data/50-mutter-windows.xml:45 | ||
2718 | 247 | msgid "View split on right" | ||
2719 | 248 | msgstr "المنظور مقسوم على اليسار" | ||
2720 | 249 | |||
2721 | 250 | #: data/mutter.desktop.in:4 | ||
2722 | 251 | msgid "Mutter" | ||
2723 | 252 | msgstr "مَتَر" | ||
2724 | 253 | |||
2725 | 254 | #: data/org.gnome.mutter.gschema.xml.in:7 | ||
2726 | 255 | msgid "Modifier to use for extended window management operations" | ||
2727 | 256 | msgstr "المغير الذي سيُستعمل لتمديد عمليات إدارة النوافذ " | ||
2728 | 257 | |||
2729 | 258 | #: data/org.gnome.mutter.gschema.xml.in:8 | ||
2730 | 259 | msgid "" | ||
2731 | 260 | "This key will initiate the “overlay”, which is a combination window overview " | ||
2732 | 261 | "and application launching system. The default is intended to be the “Windows " | ||
2733 | 262 | "key” on PC hardware. It’s expected that this binding either the default or " | ||
2734 | 263 | "set to the empty string." | ||
2735 | 264 | msgstr "" | ||
2736 | 265 | |||
2737 | 266 | #: data/org.gnome.mutter.gschema.xml.in:20 | ||
2738 | 267 | #, fuzzy | ||
2739 | 268 | msgid "Attach modal dialogs" | ||
2740 | 269 | msgstr "صندوق حوار سائد" | ||
2741 | 270 | |||
2742 | 271 | #: data/org.gnome.mutter.gschema.xml.in:21 | ||
2743 | 272 | msgid "" | ||
2744 | 273 | "When true, instead of having independent titlebars, modal dialogs appear " | ||
2745 | 274 | "attached to the titlebar of the parent window and are moved together with " | ||
2746 | 275 | "the parent window." | ||
2747 | 276 | msgstr "" | ||
2748 | 277 | |||
2749 | 278 | #: data/org.gnome.mutter.gschema.xml.in:30 | ||
2750 | 279 | msgid "Enable edge tiling when dropping windows on screen edges" | ||
2751 | 280 | msgstr "" | ||
2752 | 281 | |||
2753 | 282 | #: data/org.gnome.mutter.gschema.xml.in:31 | ||
2754 | 283 | msgid "" | ||
2755 | 284 | "If enabled, dropping windows on vertical screen edges maximizes them " | ||
2756 | 285 | "vertically and resizes them horizontally to cover half of the available " | ||
2757 | 286 | "area. Dropping windows on the top screen edge maximizes them completely." | ||
2758 | 287 | msgstr "" | ||
2759 | 288 | |||
2760 | 289 | #: data/org.gnome.mutter.gschema.xml.in:40 | ||
2761 | 290 | msgid "Workspaces are managed dynamically" | ||
2762 | 291 | msgstr "" | ||
2763 | 292 | |||
2764 | 293 | #: data/org.gnome.mutter.gschema.xml.in:41 | ||
2765 | 294 | msgid "" | ||
2766 | 295 | "Determines whether workspaces are managed dynamically or whether there’s a " | ||
2767 | 296 | "static number of workspaces (determined by the num-workspaces key in org." | ||
2768 | 297 | "gnome.desktop.wm.preferences)." | ||
2769 | 298 | msgstr "" | ||
2770 | 299 | |||
2771 | 300 | #: data/org.gnome.mutter.gschema.xml.in:50 | ||
2772 | 301 | msgid "Workspaces only on primary" | ||
2773 | 302 | msgstr "" | ||
2774 | 303 | |||
2775 | 304 | #: data/org.gnome.mutter.gschema.xml.in:51 | ||
2776 | 305 | msgid "" | ||
2777 | 306 | "Determines whether workspace switching should happen for windows on all " | ||
2778 | 307 | "monitors or only for windows on the primary monitor." | ||
2779 | 308 | msgstr "" | ||
2780 | 309 | |||
2781 | 310 | #: data/org.gnome.mutter.gschema.xml.in:59 | ||
2782 | 311 | msgid "No tab popup" | ||
2783 | 312 | msgstr "" | ||
2784 | 313 | |||
2785 | 314 | #: data/org.gnome.mutter.gschema.xml.in:60 | ||
2786 | 315 | msgid "" | ||
2787 | 316 | "Determines whether the use of popup and highlight frame should be disabled " | ||
2788 | 317 | "for window cycling." | ||
2789 | 318 | msgstr "" | ||
2790 | 319 | |||
2791 | 320 | #: data/org.gnome.mutter.gschema.xml.in:68 | ||
2792 | 321 | msgid "Delay focus changes until the pointer stops moving" | ||
2793 | 322 | msgstr "" | ||
2794 | 323 | |||
2795 | 324 | #: data/org.gnome.mutter.gschema.xml.in:69 | ||
2796 | 325 | msgid "" | ||
2797 | 326 | "If set to true, and the focus mode is either “sloppy” or “mouse” then the " | ||
2798 | 327 | "focus will not be changed immediately when entering a window, but only after " | ||
2799 | 328 | "the pointer stops moving." | ||
2800 | 329 | msgstr "" | ||
2801 | 330 | |||
2802 | 331 | #: data/org.gnome.mutter.gschema.xml.in:79 | ||
2803 | 332 | msgid "Draggable border width" | ||
2804 | 333 | msgstr "" | ||
2805 | 334 | |||
2806 | 335 | #: data/org.gnome.mutter.gschema.xml.in:80 | ||
2807 | 336 | msgid "" | ||
2808 | 337 | "The amount of total draggable borders. If the theme’s visible borders are " | ||
2809 | 338 | "not enough, invisible borders will be added to meet this value." | ||
2810 | 339 | msgstr "" | ||
2811 | 340 | |||
2812 | 341 | #: data/org.gnome.mutter.gschema.xml.in:89 | ||
2813 | 342 | msgid "Auto maximize nearly monitor sized windows" | ||
2814 | 343 | msgstr "" | ||
2815 | 344 | |||
2816 | 345 | #: data/org.gnome.mutter.gschema.xml.in:90 | ||
2817 | 346 | msgid "" | ||
2818 | 347 | "If enabled, new windows that are initially the size of the monitor " | ||
2819 | 348 | "automatically get maximized." | ||
2820 | 349 | msgstr "" | ||
2821 | 350 | |||
2822 | 351 | #: data/org.gnome.mutter.gschema.xml.in:98 | ||
2823 | 352 | msgid "Place new windows in the center" | ||
2824 | 353 | msgstr "" | ||
2825 | 354 | |||
2826 | 355 | #: data/org.gnome.mutter.gschema.xml.in:99 | ||
2827 | 356 | msgid "" | ||
2828 | 357 | "When true, the new windows will always be put in the center of the active " | ||
2829 | 358 | "screen of the monitor." | ||
2830 | 359 | msgstr "" | ||
2831 | 360 | |||
2832 | 361 | #: data/org.gnome.mutter.gschema.xml.in:107 | ||
2833 | 362 | msgid "Enable experimental features" | ||
2834 | 363 | msgstr "" | ||
2835 | 364 | |||
2836 | 365 | #: data/org.gnome.mutter.gschema.xml.in:108 | ||
2837 | 366 | msgid "" | ||
2838 | 367 | "To enable experimental features, add the feature keyword to the list. " | ||
2839 | 368 | "Whether the feature requires restarting the compositor depends on the given " | ||
2840 | 369 | "feature. Any experimental feature is not required to still be available, or " | ||
2841 | 370 | "configurable. Don’t expect adding anything in this setting to be future " | ||
2842 | 371 | "proof. Currently possible keywords: • “scale-monitor-framebuffer” — makes " | ||
2843 | 372 | "mutter default to layout logical monitors in a logical pixel coordinate " | ||
2844 | 373 | "space, while scaling monitor framebuffers instead of window content, to " | ||
2845 | 374 | "manage HiDPI monitors. Does not require a restart." | ||
2846 | 375 | msgstr "" | ||
2847 | 376 | |||
2848 | 377 | #: data/org.gnome.mutter.gschema.xml.in:141 | ||
2849 | 378 | msgid "Select window from tab popup" | ||
2850 | 379 | msgstr "" | ||
2851 | 380 | |||
2852 | 381 | #: data/org.gnome.mutter.gschema.xml.in:146 | ||
2853 | 382 | msgid "Cancel tab popup" | ||
2854 | 383 | msgstr "" | ||
2855 | 384 | |||
2856 | 385 | #: data/org.gnome.mutter.gschema.xml.in:151 | ||
2857 | 386 | #, fuzzy | ||
2858 | 387 | msgid "Switch monitor configurations" | ||
2859 | 388 | msgstr "غيّر الشاشة" | ||
2860 | 389 | |||
2861 | 390 | #: data/org.gnome.mutter.gschema.xml.in:156 | ||
2862 | 391 | msgid "Rotates the built-in monitor configuration" | ||
2863 | 392 | msgstr "" | ||
2864 | 393 | |||
2865 | 394 | #: data/org.gnome.mutter.wayland.gschema.xml.in:6 | ||
2866 | 395 | #, fuzzy | ||
2867 | 396 | msgid "Switch to VT 1" | ||
2868 | 397 | msgstr "انتقل إلى مساحة العمل 1" | ||
2869 | 398 | |||
2870 | 399 | #: data/org.gnome.mutter.wayland.gschema.xml.in:10 | ||
2871 | 400 | #, fuzzy | ||
2872 | 401 | msgid "Switch to VT 2" | ||
2873 | 402 | msgstr "انتقل إلى مساحة العمل 2" | ||
2874 | 403 | |||
2875 | 404 | #: data/org.gnome.mutter.wayland.gschema.xml.in:14 | ||
2876 | 405 | #, fuzzy | ||
2877 | 406 | msgid "Switch to VT 3" | ||
2878 | 407 | msgstr "انتقل إلى مساحة العمل 3" | ||
2879 | 408 | |||
2880 | 409 | #: data/org.gnome.mutter.wayland.gschema.xml.in:18 | ||
2881 | 410 | #, fuzzy | ||
2882 | 411 | msgid "Switch to VT 4" | ||
2883 | 412 | msgstr "انتقل إلى مساحة العمل 4" | ||
2884 | 413 | |||
2885 | 414 | #: data/org.gnome.mutter.wayland.gschema.xml.in:22 | ||
2886 | 415 | #, fuzzy | ||
2887 | 416 | msgid "Switch to VT 5" | ||
2888 | 417 | msgstr "انتقل إلى مساحة العمل 5" | ||
2889 | 418 | |||
2890 | 419 | #: data/org.gnome.mutter.wayland.gschema.xml.in:26 | ||
2891 | 420 | #, fuzzy | ||
2892 | 421 | msgid "Switch to VT 6" | ||
2893 | 422 | msgstr "انتقل إلى مساحة العمل 6" | ||
2894 | 423 | |||
2895 | 424 | #: data/org.gnome.mutter.wayland.gschema.xml.in:30 | ||
2896 | 425 | #, fuzzy | ||
2897 | 426 | msgid "Switch to VT 7" | ||
2898 | 427 | msgstr "انتقل إلى مساحة العمل 7" | ||
2899 | 428 | |||
2900 | 429 | #: data/org.gnome.mutter.wayland.gschema.xml.in:34 | ||
2901 | 430 | #, fuzzy | ||
2902 | 431 | msgid "Switch to VT 8" | ||
2903 | 432 | msgstr "انتقل إلى مساحة العمل 8" | ||
2904 | 433 | |||
2905 | 434 | #: data/org.gnome.mutter.wayland.gschema.xml.in:38 | ||
2906 | 435 | #, fuzzy | ||
2907 | 436 | msgid "Switch to VT 9" | ||
2908 | 437 | msgstr "انتقل إلى مساحة العمل 9" | ||
2909 | 438 | |||
2910 | 439 | #: data/org.gnome.mutter.wayland.gschema.xml.in:42 | ||
2911 | 440 | #, fuzzy | ||
2912 | 441 | msgid "Switch to VT 10" | ||
2913 | 442 | msgstr "انتقل إلى مساحة العمل 10" | ||
2914 | 443 | |||
2915 | 444 | #: data/org.gnome.mutter.wayland.gschema.xml.in:46 | ||
2916 | 445 | #, fuzzy | ||
2917 | 446 | msgid "Switch to VT 11" | ||
2918 | 447 | msgstr "انتقل إلى مساحة العمل 11" | ||
2919 | 448 | |||
2920 | 449 | #: data/org.gnome.mutter.wayland.gschema.xml.in:50 | ||
2921 | 450 | #, fuzzy | ||
2922 | 451 | msgid "Switch to VT 12" | ||
2923 | 452 | msgstr "انتقل إلى مساحة العمل 12" | ||
2924 | 453 | |||
2925 | 454 | #: data/org.gnome.mutter.wayland.gschema.xml.in:54 | ||
2926 | 455 | msgid "Re-enable shortcuts" | ||
2927 | 456 | msgstr "" | ||
2928 | 457 | |||
2929 | 458 | #: data/org.gnome.mutter.wayland.gschema.xml.in:64 | ||
2930 | 459 | msgid "Allow grabs with Xwayland" | ||
2931 | 460 | msgstr "" | ||
2932 | 461 | |||
2933 | 462 | #: data/org.gnome.mutter.wayland.gschema.xml.in:65 | ||
2934 | 463 | msgid "" | ||
2935 | 464 | "Allow keyboard grabs issued by X11 applications running in Xwayland to be " | ||
2936 | 465 | "taken into account. For a X11 grab to be taken into account under Wayland, " | ||
2937 | 466 | "the client must also either send a specific X11 ClientMessage to the root " | ||
2938 | 467 | "window or be among the applications white-listed in key “xwayland-grab-" | ||
2939 | 468 | "access-rules”." | ||
2940 | 469 | msgstr "" | ||
2941 | 470 | |||
2942 | 471 | #: data/org.gnome.mutter.wayland.gschema.xml.in:77 | ||
2943 | 472 | msgid "Xwayland applications allowed to issue keyboard grabs" | ||
2944 | 473 | msgstr "" | ||
2945 | 474 | |||
2946 | 475 | #: data/org.gnome.mutter.wayland.gschema.xml.in:78 | ||
2947 | 476 | msgid "" | ||
2948 | 477 | "List the resource names or resource class of X11 windows either allowed or " | ||
2949 | 478 | "not allowed to issue X11 keyboard grabs under Xwayland. The resource name or " | ||
2950 | 479 | "resource class of a given X11 window can be obtained using the command " | ||
2951 | 480 | "“xprop WM_CLASS”. Wildcards “*” and jokers “?” in the values are supported. " | ||
2952 | 481 | "Values starting with “!” are blacklisted, which has precedence over the " | ||
2953 | 482 | "whitelist, to revoke applications from the default system list. The default " | ||
2954 | 483 | "system list includes the following applications: " | ||
2955 | 484 | "“@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES@” Users can break an existing grab by " | ||
2956 | 485 | "using the specific keyboard shortcut defined by the keybinding key “restore-" | ||
2957 | 486 | "shortcuts”." | ||
2958 | 487 | msgstr "" | ||
2959 | 488 | |||
2960 | 27 | #. TRANSLATORS: This string refers to a button that switches between | 489 | #. TRANSLATORS: This string refers to a button that switches between |
2961 | 28 | #. * different modes. | 490 | #. * different modes. |
2962 | 29 | #. | 491 | #. |
2964 | 30 | #: ../src/backends/meta-input-settings.c:2167 | 492 | #: src/backends/meta-input-settings.c:2424 |
2965 | 31 | #, c-format | 493 | #, c-format |
2966 | 32 | msgid "Mode Switch (Group %d)" | 494 | msgid "Mode Switch (Group %d)" |
2968 | 33 | msgstr "" | 495 | msgstr "تغيير الأوضاع (مجموعة %d)" |
2969 | 34 | 496 | ||
2970 | 35 | #. TRANSLATORS: This string refers to an action, cycles drawing tablets' | 497 | #. TRANSLATORS: This string refers to an action, cycles drawing tablets' |
2971 | 36 | #. * mapping through the available outputs. | 498 | #. * mapping through the available outputs. |
2972 | 37 | #. | 499 | #. |
2974 | 38 | #: ../src/backends/meta-input-settings.c:2190 | 500 | #: src/backends/meta-input-settings.c:2447 |
2975 | 39 | msgid "Switch monitor" | 501 | msgid "Switch monitor" |
2976 | 40 | msgstr "غيّر الشاشة" | 502 | msgstr "غيّر الشاشة" |
2977 | 41 | 503 | ||
2979 | 42 | #: ../src/backends/meta-input-settings.c:2192 | 504 | #: src/backends/meta-input-settings.c:2449 |
2980 | 43 | msgid "Show on-screen help" | 505 | msgid "Show on-screen help" |
2981 | 44 | msgstr "اعرض المساعدة على الشاشة" | 506 | msgstr "اعرض المساعدة على الشاشة" |
2982 | 45 | 507 | ||
2984 | 46 | #: ../src/backends/meta-monitor-manager.c:900 | 508 | #: src/backends/meta-monitor-manager.c:955 |
2985 | 47 | msgid "Built-in display" | 509 | msgid "Built-in display" |
2986 | 48 | msgstr "شاشة مدمجة" | 510 | msgstr "شاشة مدمجة" |
2987 | 49 | 511 | ||
2989 | 50 | #: ../src/backends/meta-monitor-manager.c:923 | 512 | #: src/backends/meta-monitor-manager.c:987 |
2990 | 51 | msgid "Unknown" | 513 | msgid "Unknown" |
2991 | 52 | msgstr "غير معروفة" | 514 | msgstr "غير معروفة" |
2992 | 53 | 515 | ||
2994 | 54 | #: ../src/backends/meta-monitor-manager.c:925 | 516 | #: src/backends/meta-monitor-manager.c:989 |
2995 | 55 | msgid "Unknown Display" | 517 | msgid "Unknown Display" |
2996 | 56 | msgstr "شاشة غير معروفة" | 518 | msgstr "شاشة غير معروفة" |
2997 | 57 | 519 | ||
3002 | 58 | #. TRANSLATORS: this is a monitor vendor name, followed by a | 520 | #: src/backends/meta-monitor-manager.c:997 |
2999 | 59 | #. * size in inches, like 'Dell 15"' | ||
3000 | 60 | #. | ||
3001 | 61 | #: ../src/backends/meta-monitor-manager.c:933 | ||
3003 | 62 | #, c-format | 521 | #, c-format |
3004 | 522 | msgctxt "" | ||
3005 | 523 | "This is a monitor vendor name, followed by a size in inches, like 'Dell 15\"'" | ||
3006 | 524 | msgid "%s %s" | ||
3007 | 525 | msgstr "%s %s" | ||
3008 | 526 | |||
3009 | 527 | #: src/backends/meta-monitor-manager.c:1005 | ||
3010 | 528 | #, c-format | ||
3011 | 529 | msgctxt "" | ||
3012 | 530 | "This is a monitor vendor name followed by product/model name where size in " | ||
3013 | 531 | "inches could not be calculated, e.g. Dell U2414H" | ||
3014 | 63 | msgid "%s %s" | 532 | msgid "%s %s" |
3015 | 64 | msgstr "%s %s" | 533 | msgstr "%s %s" |
3016 | 65 | 534 | ||
3017 | 66 | #. This probably means that a non-WM compositor like xcompmgr is running; | 535 | #. This probably means that a non-WM compositor like xcompmgr is running; |
3018 | 67 | #. * we have no way to get it to exit | 536 | #. * we have no way to get it to exit |
3020 | 68 | #: ../src/compositor/compositor.c:476 | 537 | #: src/compositor/compositor.c:482 |
3021 | 69 | #, c-format | 538 | #, c-format |
3022 | 70 | msgid "" | 539 | msgid "" |
3023 | 71 | "Another compositing manager is already running on screen %i on display “%s”." | 540 | "Another compositing manager is already running on screen %i on display “%s”." |
3024 | 72 | msgstr "يعمل مدير مزج آخر على الشاشة %i و العرض ”%s“." | 541 | msgstr "يعمل مدير مزج آخر على الشاشة %i و العرض ”%s“." |
3025 | 73 | 542 | ||
3027 | 74 | #: ../src/core/bell.c:194 | 543 | #: src/core/bell.c:192 |
3028 | 75 | msgid "Bell event" | 544 | msgid "Bell event" |
3029 | 76 | msgstr "حدث جرس" | 545 | msgstr "حدث جرس" |
3030 | 77 | 546 | ||
3037 | 78 | #: ../src/core/display.c:608 | 547 | #: src/core/main.c:185 |
3032 | 79 | #, c-format | ||
3033 | 80 | msgid "Failed to open X Window System display “%s”\n" | ||
3034 | 81 | msgstr "فشل فتح عرض نظام نوافذ إكس ”%s“\n" | ||
3035 | 82 | |||
3036 | 83 | #: ../src/core/main.c:189 | ||
3038 | 84 | msgid "Disable connection to session manager" | 548 | msgid "Disable connection to session manager" |
3039 | 85 | msgstr "عطّل الاتصال بمدير الجلسة" | 549 | msgstr "عطّل الاتصال بمدير الجلسة" |
3040 | 86 | 550 | ||
3042 | 87 | #: ../src/core/main.c:195 | 551 | #: src/core/main.c:191 |
3043 | 88 | msgid "Replace the running window manager" | 552 | msgid "Replace the running window manager" |
3044 | 89 | msgstr "استبدل بمدير النوافذ الذي يعمل" | 553 | msgstr "استبدل بمدير النوافذ الذي يعمل" |
3045 | 90 | 554 | ||
3047 | 91 | #: ../src/core/main.c:201 | 555 | #: src/core/main.c:197 |
3048 | 92 | msgid "Specify session management ID" | 556 | msgid "Specify session management ID" |
3049 | 93 | msgstr "حدّد رقم هويّة إدارة الجلسة" | 557 | msgstr "حدّد رقم هويّة إدارة الجلسة" |
3050 | 94 | 558 | ||
3052 | 95 | #: ../src/core/main.c:206 | 559 | #: src/core/main.c:202 |
3053 | 96 | msgid "X Display to use" | 560 | msgid "X Display to use" |
3054 | 97 | msgstr "معراض س الذي سيستعمل" | 561 | msgstr "معراض س الذي سيستعمل" |
3055 | 98 | 562 | ||
3057 | 99 | #: ../src/core/main.c:212 | 563 | #: src/core/main.c:208 |
3058 | 100 | msgid "Initialize session from savefile" | 564 | msgid "Initialize session from savefile" |
3059 | 101 | msgstr "ابدأ الجلسة من ملف محفوظ" | 565 | msgstr "ابدأ الجلسة من ملف محفوظ" |
3060 | 102 | 566 | ||
3062 | 103 | #: ../src/core/main.c:218 | 567 | #: src/core/main.c:214 |
3063 | 104 | msgid "Make X calls synchronous" | 568 | msgid "Make X calls synchronous" |
3064 | 105 | msgstr "اجعل نداءات س متزامنة" | 569 | msgstr "اجعل نداءات س متزامنة" |
3065 | 106 | 570 | ||
3067 | 107 | #: ../src/core/main.c:225 | 571 | #: src/core/main.c:221 |
3068 | 108 | msgid "Run as a wayland compositor" | 572 | msgid "Run as a wayland compositor" |
3069 | 109 | msgstr "" | 573 | msgstr "" |
3070 | 110 | 574 | ||
3072 | 111 | #: ../src/core/main.c:231 | 575 | #: src/core/main.c:227 |
3073 | 112 | msgid "Run as a nested compositor" | 576 | msgid "Run as a nested compositor" |
3074 | 113 | msgstr "" | 577 | msgstr "" |
3075 | 114 | 578 | ||
3077 | 115 | #: ../src/core/main.c:239 | 579 | #: src/core/main.c:233 |
3078 | 580 | msgid "Run wayland compositor without starting Xwayland" | ||
3079 | 581 | msgstr "" | ||
3080 | 582 | |||
3081 | 583 | #: src/core/main.c:241 | ||
3082 | 116 | msgid "Run as a full display server, rather than nested" | 584 | msgid "Run as a full display server, rather than nested" |
3083 | 117 | msgstr "" | 585 | msgstr "" |
3084 | 118 | 586 | ||
3085 | 587 | #: src/core/main.c:247 | ||
3086 | 588 | msgid "Run with X11 backend" | ||
3087 | 589 | msgstr "" | ||
3088 | 590 | |||
3089 | 119 | #. Translators: %s is a window title | 591 | #. Translators: %s is a window title |
3091 | 120 | #: ../src/core/meta-close-dialog-default.c:147 | 592 | #: src/core/meta-close-dialog-default.c:151 |
3092 | 121 | #, c-format | 593 | #, c-format |
3093 | 122 | msgid "“%s” is not responding." | 594 | msgid "“%s” is not responding." |
3094 | 123 | msgstr "”%s“ لا يستجيب." | 595 | msgstr "”%s“ لا يستجيب." |
3095 | 124 | 596 | ||
3097 | 125 | #: ../src/core/meta-close-dialog-default.c:149 | 597 | #: src/core/meta-close-dialog-default.c:153 |
3098 | 126 | msgid "Application is not responding." | 598 | msgid "Application is not responding." |
3099 | 127 | msgstr "لا يستجيب التطبيق" | 599 | msgstr "لا يستجيب التطبيق" |
3100 | 128 | 600 | ||
3102 | 129 | #: ../src/core/meta-close-dialog-default.c:154 | 601 | #: src/core/meta-close-dialog-default.c:158 |
3103 | 130 | msgid "" | 602 | msgid "" |
3104 | 131 | "You may choose to wait a short while for it to continue or force the " | 603 | "You may choose to wait a short while for it to continue or force the " |
3105 | 132 | "application to quit entirely." | 604 | "application to quit entirely." |
3106 | 133 | msgstr "ربما ترغب في الانتظار قليلا ليُكمِل أو إجبار التطبيق على الإنهاء كُلّية." | 605 | msgstr "ربما ترغب في الانتظار قليلا ليُكمِل أو إجبار التطبيق على الإنهاء كُلّية." |
3107 | 134 | 606 | ||
3109 | 135 | #: ../src/core/meta-close-dialog-default.c:161 | 607 | #: src/core/meta-close-dialog-default.c:165 |
3110 | 136 | msgid "_Force Quit" | 608 | msgid "_Force Quit" |
3111 | 137 | msgstr "أ_جبر الإنهاء" | 609 | msgstr "أ_جبر الإنهاء" |
3112 | 138 | 610 | ||
3114 | 139 | #: ../src/core/meta-close-dialog-default.c:161 | 611 | #: src/core/meta-close-dialog-default.c:165 |
3115 | 140 | msgid "_Wait" | 612 | msgid "_Wait" |
3116 | 141 | msgstr "ا_نتظر" | 613 | msgstr "ا_نتظر" |
3117 | 142 | 614 | ||
3119 | 143 | #: ../src/core/mutter.c:39 | 615 | #: src/core/mutter.c:38 |
3120 | 144 | #, c-format | 616 | #, c-format |
3121 | 145 | msgid "" | 617 | msgid "" |
3122 | 146 | "mutter %s\n" | 618 | "mutter %s\n" |
3123 | @@ -154,43 +626,52 @@ msgstr "" | |||
3124 | 154 | "هذا برنامج حر، راجع المصدر لشروط النسخ.\n" | 626 | "هذا برنامج حر، راجع المصدر لشروط النسخ.\n" |
3125 | 155 | "لا يوجد أي ضمان: و لا حتى ضمان قابلية التسويق أو المناسبة لأي هدف.\n" | 627 | "لا يوجد أي ضمان: و لا حتى ضمان قابلية التسويق أو المناسبة لأي هدف.\n" |
3126 | 156 | 628 | ||
3128 | 157 | #: ../src/core/mutter.c:53 | 629 | #: src/core/mutter.c:52 |
3129 | 158 | msgid "Print version" | 630 | msgid "Print version" |
3130 | 159 | msgstr "اطبع الإصدارة" | 631 | msgstr "اطبع الإصدارة" |
3131 | 160 | 632 | ||
3133 | 161 | #: ../src/core/mutter.c:59 | 633 | #: src/core/mutter.c:58 |
3134 | 162 | msgid "Mutter plugin to use" | 634 | msgid "Mutter plugin to use" |
3135 | 163 | msgstr "ملحق مَتَر الذي سيُستخدم" | 635 | msgstr "ملحق مَتَر الذي سيُستخدم" |
3136 | 164 | 636 | ||
3138 | 165 | #: ../src/core/prefs.c:1997 | 637 | #: src/core/prefs.c:1786 |
3139 | 166 | #, c-format | 638 | #, c-format |
3140 | 167 | msgid "Workspace %d" | 639 | msgid "Workspace %d" |
3141 | 168 | msgstr "مساحة العمل %d" | 640 | msgstr "مساحة العمل %d" |
3142 | 169 | 641 | ||
3144 | 170 | #: ../src/core/screen.c:583 | 642 | #: src/core/util.c:121 |
3145 | 643 | msgid "Mutter was compiled without support for verbose mode\n" | ||
3146 | 644 | msgstr "جُمِّع مَتَر دون دعم للنمط المطنب\n" | ||
3147 | 645 | |||
3148 | 646 | #: src/wayland/meta-wayland-tablet-pad.c:567 | ||
3149 | 647 | #, c-format | ||
3150 | 648 | msgid "Mode Switch: Mode %d" | ||
3151 | 649 | msgstr "" | ||
3152 | 650 | |||
3153 | 651 | #: src/x11/meta-x11-display.c:666 | ||
3154 | 171 | #, c-format | 652 | #, c-format |
3155 | 172 | msgid "" | 653 | msgid "" |
3156 | 173 | "Display “%s” already has a window manager; try using the --replace option to " | 654 | "Display “%s” already has a window manager; try using the --replace option to " |
3157 | 174 | "replace the current window manager." | 655 | "replace the current window manager." |
3158 | 175 | msgstr "" | 656 | msgstr "" |
3161 | 176 | "الشاشة ”%s“ لها مدير نوافذ بالفعل، حاول استعمال خيار التبديل --replace لتحُلّ" | 657 | "الشاشة ”%s“ لها مدير نوافذ بالفعل، حاول استعمال خيار التبديل --replace لتحُلّ " |
3162 | 177 | " محلّ مدير النوافذ الحالي." | 658 | "محلّ مدير النوافذ الحالي." |
3163 | 178 | 659 | ||
3168 | 179 | #: ../src/core/screen.c:668 | 660 | #: src/x11/meta-x11-display.c:1008 |
3169 | 180 | #, c-format | 661 | msgid "Failed to initialize GDK\n" |
3170 | 181 | msgid "Screen %d on display “%s” is invalid\n" | 662 | msgstr "" |
3167 | 182 | msgstr "الشاشة %d على العرض ”%s“ غير صحيحة\n" | ||
3171 | 183 | 663 | ||
3175 | 184 | #: ../src/core/util.c:120 | 664 | #: src/x11/meta-x11-display.c:1032 |
3176 | 185 | msgid "Mutter was compiled without support for verbose mode\n" | 665 | #, c-format |
3177 | 186 | msgstr "جُمِّع مَتَر دون دعم للنمط المطنب\n" | 666 | msgid "Failed to open X Window System display “%s”\n" |
3178 | 667 | msgstr "فشل فتح عرض نظام نوافذ إكس ”%s“\n" | ||
3179 | 187 | 668 | ||
3181 | 188 | #: ../src/wayland/meta-wayland-tablet-pad.c:563 | 669 | #: src/x11/meta-x11-display.c:1113 |
3182 | 189 | #, c-format | 670 | #, c-format |
3185 | 190 | msgid "Mode Switch: Mode %d" | 671 | msgid "Screen %d on display “%s” is invalid\n" |
3186 | 191 | msgstr "" | 672 | msgstr "الشاشة %d على العرض ”%s“ غير صحيحة\n" |
3187 | 192 | 673 | ||
3189 | 193 | #: ../src/x11/session.c:1815 | 674 | #: src/x11/session.c:1821 |
3190 | 194 | msgid "" | 675 | msgid "" |
3191 | 195 | "These windows do not support “save current setup” and will have to be " | 676 | "These windows do not support “save current setup” and will have to be " |
3192 | 196 | "restarted manually next time you log in." | 677 | "restarted manually next time you log in." |
3193 | @@ -198,245 +679,26 @@ msgstr "" | |||
3194 | 198 | "هذه النوافذ لا تدعم ” الضبط الحالي" إعادة تشغيلها يدويا عند الولوج " | 679 | "هذه النوافذ لا تدعم ” الضبط الحالي" إعادة تشغيلها يدويا عند الولوج " |
3195 | 199 | "المرة القادمة." | 680 | "المرة القادمة." |
3196 | 200 | 681 | ||
3198 | 201 | #: ../src/x11/window-props.c:559 | 682 | #: src/x11/window-props.c:569 |
3199 | 202 | #, c-format | 683 | #, c-format |
3200 | 203 | msgid "%s (on %s)" | 684 | msgid "%s (on %s)" |
3201 | 204 | msgstr "%s (على %s)" | 685 | msgstr "%s (على %s)" |
3202 | 205 | 686 | ||
3203 | 206 | #~ msgid "Navigation" | ||
3204 | 207 | #~ msgstr "الإبحار" | ||
3205 | 208 | |||
3206 | 209 | #~ msgid "Move window to workspace 1" | ||
3207 | 210 | #~ msgstr "انقل النافذة إلى مساحة العمل 1" | ||
3208 | 211 | |||
3209 | 212 | #~ msgid "Move window to workspace 2" | ||
3210 | 213 | #~ msgstr "انقل النافذة إلى مساحة العمل 2" | ||
3211 | 214 | |||
3212 | 215 | #~ msgid "Move window to workspace 3" | ||
3213 | 216 | #~ msgstr "انقل النافذة إلى مساحة العمل 3" | ||
3214 | 217 | |||
3215 | 218 | #~ msgid "Move window to workspace 4" | ||
3216 | 219 | #~ msgstr "انقل النافذة إلى مساحة العمل 4" | ||
3217 | 220 | |||
3218 | 221 | #~ msgid "Move window to last workspace" | ||
3219 | 222 | #~ msgstr "انقل النافذة إلى مساحة العمل الأخيرة" | ||
3220 | 223 | |||
3221 | 224 | #~ msgid "Move window one workspace to the left" | 687 | #~ msgid "Move window one workspace to the left" |
3222 | 225 | #~ msgstr "انقل النافذة مساحة عمل واحدة إلى اليسار" | 688 | #~ msgstr "انقل النافذة مساحة عمل واحدة إلى اليسار" |
3223 | 226 | 689 | ||
3224 | 227 | #~ msgid "Move window one workspace to the right" | 690 | #~ msgid "Move window one workspace to the right" |
3225 | 228 | #~ msgstr "انقل النافذة مساحة عمل واحدة إلى اليمين" | 691 | #~ msgstr "انقل النافذة مساحة عمل واحدة إلى اليمين" |
3226 | 229 | 692 | ||
3227 | 230 | #~ msgid "Move window one workspace up" | ||
3228 | 231 | #~ msgstr "انقل النافذة مساحة عمل واحدة إلى الأعلى" | ||
3229 | 232 | |||
3230 | 233 | #~ msgid "Move window one workspace down" | ||
3231 | 234 | #~ msgstr "انقل النافذة مساحة عمل واحدة إلى الأسفل" | ||
3232 | 235 | |||
3233 | 236 | #~ msgid "Move window one monitor to the left" | ||
3234 | 237 | #~ msgstr "انقل النافذة شاشة واحدة إلى اليسار" | ||
3235 | 238 | |||
3236 | 239 | #~ msgid "Move window one monitor to the right" | ||
3237 | 240 | #~ msgstr "انقل النافذة شاشة واحدة إلى اليمين" | ||
3238 | 241 | |||
3239 | 242 | #~ msgid "Move window one monitor up" | ||
3240 | 243 | #~ msgstr "انقل النافذة شاشة واحدة إلى الأعلى" | ||
3241 | 244 | |||
3242 | 245 | #~ msgid "Move window one monitor down" | ||
3243 | 246 | #~ msgstr "انقل النافذة شاشة واحدة إلى الأسفل" | ||
3244 | 247 | |||
3245 | 248 | #~ msgid "Switch applications" | ||
3246 | 249 | #~ msgstr "تنقل بين التطبيقات" | ||
3247 | 250 | |||
3248 | 251 | #~ msgid "Switch to previous application" | ||
3249 | 252 | #~ msgstr "انتقل إلى التطبيق السابق" | ||
3250 | 253 | |||
3251 | 254 | #~ msgid "Switch windows" | ||
3252 | 255 | #~ msgstr "تنقل بين النوافذ" | ||
3253 | 256 | |||
3254 | 257 | #~ msgid "Switch to previous window" | ||
3255 | 258 | #~ msgstr "انتقل إلى النافذة السابقة" | ||
3256 | 259 | |||
3257 | 260 | #~ msgid "Switch windows of an application" | ||
3258 | 261 | #~ msgstr "تنقل بين نوافذ التطبيق" | ||
3259 | 262 | |||
3260 | 263 | #~ msgid "Switch to previous window of an application" | ||
3261 | 264 | #~ msgstr "انتقل إلى نافذة التطبيق السابقة" | ||
3262 | 265 | |||
3263 | 266 | #~ msgid "Switch system controls" | ||
3264 | 267 | #~ msgstr "تنقل بين تحكمات النظام" | ||
3265 | 268 | |||
3266 | 269 | #~ msgid "Switch to previous system control" | ||
3267 | 270 | #~ msgstr "انتقل إلى تحكم النظام السابق" | ||
3268 | 271 | |||
3269 | 272 | #~ msgid "Switch windows directly" | ||
3270 | 273 | #~ msgstr "تنقل مباشرة بين النوافذ" | ||
3271 | 274 | |||
3272 | 275 | #~ msgid "Switch directly to previous window" | ||
3273 | 276 | #~ msgstr "انتقل مباشرة إلى النافذة السابقة" | ||
3274 | 277 | |||
3275 | 278 | #~ msgid "Switch windows of an app directly" | ||
3276 | 279 | #~ msgstr "تنقل مباشرة بين نوافذ التطبيق" | ||
3277 | 280 | |||
3278 | 281 | #~ msgid "Switch directly to previous window of an app" | ||
3279 | 282 | #~ msgstr "انتقل مباشرة إلى نافذة التطبيق السابقة" | ||
3280 | 283 | |||
3281 | 284 | #~ msgid "Switch system controls directly" | ||
3282 | 285 | #~ msgstr "تنقل مباشرة بين تحكمات النظام" | ||
3283 | 286 | |||
3284 | 287 | #~ msgid "Switch directly to previous system control" | ||
3285 | 288 | #~ msgstr "انتقل مباشرة إلى تحكم النظام السابق" | ||
3286 | 289 | |||
3287 | 290 | #~ msgid "Hide all normal windows" | ||
3288 | 291 | #~ msgstr "أخفِ كل النوافذ العادية" | ||
3289 | 292 | |||
3290 | 293 | #~ msgid "Switch to workspace 1" | ||
3291 | 294 | #~ msgstr "انتقل إلى مساحة العمل 1" | ||
3292 | 295 | |||
3293 | 296 | #~ msgid "Switch to workspace 2" | ||
3294 | 297 | #~ msgstr "انتقل إلى مساحة العمل 2" | ||
3295 | 298 | |||
3296 | 299 | #~ msgid "Switch to workspace 3" | ||
3297 | 300 | #~ msgstr "انتقل إلى مساحة العمل 3" | ||
3298 | 301 | |||
3299 | 302 | #~ msgid "Switch to workspace 4" | ||
3300 | 303 | #~ msgstr "انتقل إلى مساحة العمل 4" | ||
3301 | 304 | |||
3302 | 305 | #~ msgid "Switch to last workspace" | ||
3303 | 306 | #~ msgstr "انتقل إلى مساحة العمل الأخيرة" | ||
3304 | 307 | |||
3305 | 308 | #~ msgid "Move to workspace left" | 693 | #~ msgid "Move to workspace left" |
3306 | 309 | #~ msgstr "انقل لمساحة العمل على اليسار" | 694 | #~ msgstr "انقل لمساحة العمل على اليسار" |
3307 | 310 | 695 | ||
3308 | 311 | #~ msgid "Move to workspace right" | 696 | #~ msgid "Move to workspace right" |
3309 | 312 | #~ msgstr "انقل لمساحة العمل على اليمين" | 697 | #~ msgstr "انقل لمساحة العمل على اليمين" |
3310 | 313 | 698 | ||
3311 | 314 | #~ msgid "Move to workspace above" | ||
3312 | 315 | #~ msgstr "انقل لمساحة العمل أعلى" | ||
3313 | 316 | |||
3314 | 317 | #~ msgid "Move to workspace below" | ||
3315 | 318 | #~ msgstr "انقل لمساحة العمل أسفل" | ||
3316 | 319 | |||
3317 | 320 | #~ msgid "System" | ||
3318 | 321 | #~ msgstr "النظام" | ||
3319 | 322 | |||
3320 | 323 | #~ msgid "Show the run command prompt" | ||
3321 | 324 | #~ msgstr "أظهر محث تشغيل أمر" | ||
3322 | 325 | |||
3323 | 326 | #~ msgid "Show the activities overview" | ||
3324 | 327 | #~ msgstr "أظهر نظرة عامة على الأنشطة" | ||
3325 | 328 | |||
3326 | 329 | #~ msgid "Windows" | ||
3327 | 330 | #~ msgstr "النوافذ" | ||
3328 | 331 | |||
3329 | 332 | #~ msgid "Activate the window menu" | ||
3330 | 333 | #~ msgstr "فعّل قائمة النافذة" | ||
3331 | 334 | |||
3332 | 335 | #~ msgid "Toggle fullscreen mode" | ||
3333 | 336 | #~ msgstr "بدّل نمط ملء الشاشة" | ||
3334 | 337 | |||
3335 | 338 | #~ msgid "Toggle maximization state" | ||
3336 | 339 | #~ msgstr "بدّل حالة التكبير" | ||
3337 | 340 | |||
3338 | 341 | #~ msgid "Maximize window" | ||
3339 | 342 | #~ msgstr "كبّر النّافذة" | ||
3340 | 343 | |||
3341 | 344 | #~ msgid "Restore window" | ||
3342 | 345 | #~ msgstr "استعد النّافذة" | ||
3343 | 346 | |||
3344 | 347 | #~ msgid "Toggle shaded state" | 699 | #~ msgid "Toggle shaded state" |
3345 | 348 | #~ msgstr "بدّل حالة الإخفاء" | 700 | #~ msgstr "بدّل حالة الإخفاء" |
3346 | 349 | 701 | ||
3347 | 350 | #~ msgid "Close window" | ||
3348 | 351 | #~ msgstr "أغلق النّافذة" | ||
3349 | 352 | |||
3350 | 353 | #~ msgid "Hide window" | ||
3351 | 354 | #~ msgstr "أخفِ النّافذة" | ||
3352 | 355 | |||
3353 | 356 | #~ msgid "Move window" | ||
3354 | 357 | #~ msgstr "انقل النّافذة" | ||
3355 | 358 | |||
3356 | 359 | #~ msgid "Resize window" | ||
3357 | 360 | #~ msgstr "حجّم النّافذة" | ||
3358 | 361 | |||
3359 | 362 | #~ msgid "Toggle window on all workspaces or one" | ||
3360 | 363 | #~ msgstr "بدّل حالة ظهور النافذة على جميع مساحات العمل أو واحدة منها" | ||
3361 | 364 | |||
3362 | 365 | #~ msgid "Raise window if covered, otherwise lower it" | ||
3363 | 366 | #~ msgstr "ارفع النافذة إذا كانت أخرى تغطيها، أو أخفضها في ما عدا ذلك" | ||
3364 | 367 | |||
3365 | 368 | #~ msgid "Raise window above other windows" | ||
3366 | 369 | #~ msgstr "ارفع النافذة فوق النوافذ الأخرى" | ||
3367 | 370 | |||
3368 | 371 | #~ msgid "Lower window below other windows" | ||
3369 | 372 | #~ msgstr "اخفض النافذة تحت النوافذ الأخرى" | ||
3370 | 373 | |||
3371 | 374 | #~ msgid "Maximize window vertically" | ||
3372 | 375 | #~ msgstr "كبّر النافذة رأسيا" | ||
3373 | 376 | |||
3374 | 377 | #~ msgid "Maximize window horizontally" | ||
3375 | 378 | #~ msgstr "كبّر النافذة أفقيا" | ||
3376 | 379 | |||
3377 | 380 | #~ msgid "View split on left" | ||
3378 | 381 | #~ msgstr "المنظور مقسوم على اليمين" | ||
3379 | 382 | |||
3380 | 383 | #~ msgid "View split on right" | ||
3381 | 384 | #~ msgstr "المنظور مقسوم على اليسار" | ||
3382 | 385 | |||
3383 | 386 | #~ msgid "Mutter" | ||
3384 | 387 | #~ msgstr "مَتَر" | ||
3385 | 388 | |||
3386 | 389 | #~ msgid "Modifier to use for extended window management operations" | ||
3387 | 390 | #~ msgstr "المغير الذي سيُستعمل لتمديد عمليات إدارة النوافذ " | ||
3388 | 391 | |||
3389 | 392 | #, fuzzy | ||
3390 | 393 | #~ msgid "Switch to VT 1" | ||
3391 | 394 | #~ msgstr "انتقل إلى مساحة العمل 1" | ||
3392 | 395 | |||
3393 | 396 | #, fuzzy | ||
3394 | 397 | #~ msgid "Switch to VT 2" | ||
3395 | 398 | #~ msgstr "انتقل إلى مساحة العمل 2" | ||
3396 | 399 | |||
3397 | 400 | #, fuzzy | ||
3398 | 401 | #~ msgid "Switch to VT 3" | ||
3399 | 402 | #~ msgstr "انتقل إلى مساحة العمل 3" | ||
3400 | 403 | |||
3401 | 404 | #, fuzzy | ||
3402 | 405 | #~ msgid "Switch to VT 4" | ||
3403 | 406 | #~ msgstr "انتقل إلى مساحة العمل 4" | ||
3404 | 407 | |||
3405 | 408 | #, fuzzy | ||
3406 | 409 | #~ msgid "Switch to VT 5" | ||
3407 | 410 | #~ msgstr "انتقل إلى مساحة العمل 5" | ||
3408 | 411 | |||
3409 | 412 | #, fuzzy | ||
3410 | 413 | #~ msgid "Switch to VT 6" | ||
3411 | 414 | #~ msgstr "انتقل إلى مساحة العمل 6" | ||
3412 | 415 | |||
3413 | 416 | #, fuzzy | ||
3414 | 417 | #~ msgid "Switch to VT 7" | ||
3415 | 418 | #~ msgstr "انتقل إلى مساحة العمل 7" | ||
3416 | 419 | |||
3417 | 420 | #, fuzzy | ||
3418 | 421 | #~ msgid "Switch to VT 8" | ||
3419 | 422 | #~ msgstr "انتقل إلى مساحة العمل 8" | ||
3420 | 423 | |||
3421 | 424 | #, fuzzy | ||
3422 | 425 | #~ msgid "Switch to VT 9" | ||
3423 | 426 | #~ msgstr "انتقل إلى مساحة العمل 9" | ||
3424 | 427 | |||
3425 | 428 | #, fuzzy | ||
3426 | 429 | #~ msgid "Switch to VT 10" | ||
3427 | 430 | #~ msgstr "انتقل إلى مساحة العمل 10" | ||
3428 | 431 | |||
3429 | 432 | #, fuzzy | ||
3430 | 433 | #~ msgid "Switch to VT 11" | ||
3431 | 434 | #~ msgstr "انتقل إلى مساحة العمل 11" | ||
3432 | 435 | |||
3433 | 436 | #, fuzzy | ||
3434 | 437 | #~ msgid "Switch to VT 12" | ||
3435 | 438 | #~ msgstr "انتقل إلى مساحة العمل 12" | ||
3436 | 439 | |||
3437 | 440 | #~ msgid "Unknown window information request: %d" | 702 | #~ msgid "Unknown window information request: %d" |
3438 | 441 | #~ msgstr "طلب معلومات نافذة مجهول: %d" | 703 | #~ msgstr "طلب معلومات نافذة مجهول: %d" |
3439 | 442 | 704 | ||
3440 | @@ -1162,9 +1424,6 @@ msgstr "%s (على %s)" | |||
3441 | 1162 | #~ msgid "Border" | 1424 | #~ msgid "Border" |
3442 | 1163 | #~ msgstr "حد" | 1425 | #~ msgstr "حد" |
3443 | 1164 | 1426 | ||
3444 | 1165 | #~ msgid "Attached Modal Dialog" | ||
3445 | 1166 | #~ msgstr "صندوق حوار سائد" | ||
3446 | 1167 | |||
3447 | 1168 | #~ msgid "Button layout test %d" | 1427 | #~ msgid "Button layout test %d" |
3448 | 1169 | #~ msgstr "تجربة تصميم الأزرار %d" | 1428 | #~ msgstr "تجربة تصميم الأزرار %d" |
3449 | 1170 | 1429 | ||
3450 | diff --git a/po/es.po b/po/es.po | |||
3451 | index c5dbad6..39e6635 100644 | |||
3452 | --- a/po/es.po | |||
3453 | +++ b/po/es.po | |||
3454 | @@ -13,7 +13,7 @@ msgid "" | |||
3455 | 13 | msgstr "" | 13 | msgstr "" |
3456 | 14 | "Project-Id-Version: mutter.master\n" | 14 | "Project-Id-Version: mutter.master\n" |
3457 | 15 | "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/mutter/issues\n" | 15 | "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/mutter/issues\n" |
3459 | 16 | "POT-Creation-Date: 2019-02-20 14:35+0000\n" | 16 | "POT-Creation-Date: 2019-03-28 12:21+0000\n" |
3460 | 17 | "PO-Revision-Date: 2019-03-01 12:17+0100\n" | 17 | "PO-Revision-Date: 2019-03-01 12:17+0100\n" |
3461 | 18 | "Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n" | 18 | "Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n" |
3462 | 19 | "Language-Team: es <gnome-es-list@gnome.org>\n" | 19 | "Language-Team: es <gnome-es-list@gnome.org>\n" |
3463 | @@ -154,7 +154,7 @@ msgstr "Cambiar a la útima área de trabajo" | |||
3464 | 154 | 154 | ||
3465 | 155 | #: data/50-mutter-navigation.xml:123 | 155 | #: data/50-mutter-navigation.xml:123 |
3466 | 156 | msgid "Move to workspace above" | 156 | msgid "Move to workspace above" |
3468 | 157 | msgstr "Mover al área de trabajo de la arriba" | 157 | msgstr "Mover al área de trabajo de arriba" |
3469 | 158 | 158 | ||
3470 | 159 | #: data/50-mutter-navigation.xml:126 | 159 | #: data/50-mutter-navigation.xml:126 |
3471 | 160 | msgid "Move to workspace below" | 160 | msgid "Move to workspace below" |
3472 | @@ -534,7 +534,7 @@ msgstr "" | |||
3473 | 534 | #. TRANSLATORS: This string refers to a button that switches between | 534 | #. TRANSLATORS: This string refers to a button that switches between |
3474 | 535 | #. * different modes. | 535 | #. * different modes. |
3475 | 536 | #. | 536 | #. |
3477 | 537 | #: src/backends/meta-input-settings.c:2423 | 537 | #: src/backends/meta-input-settings.c:2424 |
3478 | 538 | #, c-format | 538 | #, c-format |
3479 | 539 | msgid "Mode Switch (Group %d)" | 539 | msgid "Mode Switch (Group %d)" |
3480 | 540 | msgstr "Cambiar modo (grupo %d)" | 540 | msgstr "Cambiar modo (grupo %d)" |
3481 | @@ -542,34 +542,34 @@ msgstr "Cambiar modo (grupo %d)" | |||
3482 | 542 | #. TRANSLATORS: This string refers to an action, cycles drawing tablets' | 542 | #. TRANSLATORS: This string refers to an action, cycles drawing tablets' |
3483 | 543 | #. * mapping through the available outputs. | 543 | #. * mapping through the available outputs. |
3484 | 544 | #. | 544 | #. |
3486 | 545 | #: src/backends/meta-input-settings.c:2446 | 545 | #: src/backends/meta-input-settings.c:2447 |
3487 | 546 | msgid "Switch monitor" | 546 | msgid "Switch monitor" |
3488 | 547 | msgstr "Cambiar monitor" | 547 | msgstr "Cambiar monitor" |
3489 | 548 | 548 | ||
3491 | 549 | #: src/backends/meta-input-settings.c:2448 | 549 | #: src/backends/meta-input-settings.c:2449 |
3492 | 550 | msgid "Show on-screen help" | 550 | msgid "Show on-screen help" |
3493 | 551 | msgstr "Mostrar la ayuda en pantalla" | 551 | msgstr "Mostrar la ayuda en pantalla" |
3494 | 552 | 552 | ||
3496 | 553 | #: src/backends/meta-monitor-manager.c:954 | 553 | #: src/backends/meta-monitor-manager.c:955 |
3497 | 554 | msgid "Built-in display" | 554 | msgid "Built-in display" |
3498 | 555 | msgstr "Pantalla integrada" | 555 | msgstr "Pantalla integrada" |
3499 | 556 | 556 | ||
3501 | 557 | #: src/backends/meta-monitor-manager.c:986 | 557 | #: src/backends/meta-monitor-manager.c:987 |
3502 | 558 | msgid "Unknown" | 558 | msgid "Unknown" |
3503 | 559 | msgstr "Desconocida" | 559 | msgstr "Desconocida" |
3504 | 560 | 560 | ||
3506 | 561 | #: src/backends/meta-monitor-manager.c:988 | 561 | #: src/backends/meta-monitor-manager.c:989 |
3507 | 562 | msgid "Unknown Display" | 562 | msgid "Unknown Display" |
3508 | 563 | msgstr "Pantalla desconocida" | 563 | msgstr "Pantalla desconocida" |
3509 | 564 | 564 | ||
3511 | 565 | #: src/backends/meta-monitor-manager.c:996 | 565 | #: src/backends/meta-monitor-manager.c:997 |
3512 | 566 | #, c-format | 566 | #, c-format |
3513 | 567 | msgctxt "" | 567 | msgctxt "" |
3514 | 568 | "This is a monitor vendor name, followed by a size in inches, like 'Dell 15\"'" | 568 | "This is a monitor vendor name, followed by a size in inches, like 'Dell 15\"'" |
3515 | 569 | msgid "%s %s" | 569 | msgid "%s %s" |
3516 | 570 | msgstr "%s %s" | 570 | msgstr "%s %s" |
3517 | 571 | 571 | ||
3519 | 572 | #: src/backends/meta-monitor-manager.c:1004 | 572 | #: src/backends/meta-monitor-manager.c:1005 |
3520 | 573 | #, c-format | 573 | #, c-format |
3521 | 574 | msgctxt "" | 574 | msgctxt "" |
3522 | 575 | "This is a monitor vendor name followed by product/model name where size in " | 575 | "This is a monitor vendor name followed by product/model name where size in " |
3523 | @@ -587,7 +587,7 @@ msgstr "" | |||
3524 | 587 | "Ya existe un gestor de composición ejecutándose en la monitor %i, pantalla " | 587 | "Ya existe un gestor de composición ejecutándose en la monitor %i, pantalla " |
3525 | 588 | "«%s»." | 588 | "«%s»." |
3526 | 589 | 589 | ||
3528 | 590 | #: src/core/bell.c:252 | 590 | #: src/core/bell.c:192 |
3529 | 591 | msgid "Bell event" | 591 | msgid "Bell event" |
3530 | 592 | msgstr "Evento de campana" | 592 | msgstr "Evento de campana" |
3531 | 593 | 593 | ||
3532 | @@ -636,16 +636,16 @@ msgid "Run with X11 backend" | |||
3533 | 636 | msgstr "Ejecutar con «backend» de X11" | 636 | msgstr "Ejecutar con «backend» de X11" |
3534 | 637 | 637 | ||
3535 | 638 | #. Translators: %s is a window title | 638 | #. Translators: %s is a window title |
3537 | 639 | #: src/core/meta-close-dialog-default.c:150 | 639 | #: src/core/meta-close-dialog-default.c:151 |
3538 | 640 | #, c-format | 640 | #, c-format |
3539 | 641 | msgid "“%s” is not responding." | 641 | msgid "“%s” is not responding." |
3540 | 642 | msgstr "«%s» no está respondiendo." | 642 | msgstr "«%s» no está respondiendo." |
3541 | 643 | 643 | ||
3543 | 644 | #: src/core/meta-close-dialog-default.c:152 | 644 | #: src/core/meta-close-dialog-default.c:153 |
3544 | 645 | msgid "Application is not responding." | 645 | msgid "Application is not responding." |
3545 | 646 | msgstr "La aplicación no está respondiendo." | 646 | msgstr "La aplicación no está respondiendo." |
3546 | 647 | 647 | ||
3548 | 648 | #: src/core/meta-close-dialog-default.c:157 | 648 | #: src/core/meta-close-dialog-default.c:158 |
3549 | 649 | msgid "" | 649 | msgid "" |
3550 | 650 | "You may choose to wait a short while for it to continue or force the " | 650 | "You may choose to wait a short while for it to continue or force the " |
3551 | 651 | "application to quit entirely." | 651 | "application to quit entirely." |
3552 | @@ -653,11 +653,11 @@ msgstr "" | |||
3553 | 653 | "Puede elegir esperar un rato para ver si continua o forzar la aplicación " | 653 | "Puede elegir esperar un rato para ver si continua o forzar la aplicación " |
3554 | 654 | "para cerrarla completamente." | 654 | "para cerrarla completamente." |
3555 | 655 | 655 | ||
3557 | 656 | #: src/core/meta-close-dialog-default.c:164 | 656 | #: src/core/meta-close-dialog-default.c:165 |
3558 | 657 | msgid "_Force Quit" | 657 | msgid "_Force Quit" |
3559 | 658 | msgstr "_Forzar la salida" | 658 | msgstr "_Forzar la salida" |
3560 | 659 | 659 | ||
3562 | 660 | #: src/core/meta-close-dialog-default.c:164 | 660 | #: src/core/meta-close-dialog-default.c:165 |
3563 | 661 | msgid "_Wait" | 661 | msgid "_Wait" |
3564 | 662 | msgstr "_Esperar" | 662 | msgstr "_Esperar" |
3565 | 663 | 663 | ||
3566 | @@ -717,7 +717,7 @@ msgstr "Falló al inicializar GDK\n" | |||
3567 | 717 | msgid "Failed to open X Window System display “%s”\n" | 717 | msgid "Failed to open X Window System display “%s”\n" |
3568 | 718 | msgstr "Ocurrió un error al abrir la pantalla de X Window System «%s»\n" | 718 | msgstr "Ocurrió un error al abrir la pantalla de X Window System «%s»\n" |
3569 | 719 | 719 | ||
3571 | 720 | #: src/x11/meta-x11-display.c:1115 | 720 | #: src/x11/meta-x11-display.c:1113 |
3572 | 721 | #, c-format | 721 | #, c-format |
3573 | 722 | msgid "Screen %d on display “%s” is invalid\n" | 722 | msgid "Screen %d on display “%s” is invalid\n" |
3574 | 723 | msgstr "La ventana %d en la pantalla «%s» no es válida\n" | 723 | msgstr "La ventana %d en la pantalla «%s» no es válida\n" |
3575 | @@ -730,7 +730,7 @@ msgstr "" | |||
3576 | 730 | "Estas ventanas no soportan «guardar la configuración actual» y tendrán que " | 730 | "Estas ventanas no soportan «guardar la configuración actual» y tendrán que " |
3577 | 731 | "reiniciarse manualmente la próxima vez que inicie una sesión." | 731 | "reiniciarse manualmente la próxima vez que inicie una sesión." |
3578 | 732 | 732 | ||
3580 | 733 | #: src/x11/window-props.c:568 | 733 | #: src/x11/window-props.c:569 |
3581 | 734 | #, c-format | 734 | #, c-format |
3582 | 735 | msgid "%s (on %s)" | 735 | msgid "%s (on %s)" |
3583 | 736 | msgstr "%s (on %s)" | 736 | msgstr "%s (on %s)" |
3584 | diff --git a/po/hr.po b/po/hr.po | |||
3585 | index 493ab6e..fba9745 100644 | |||
3586 | --- a/po/hr.po | |||
3587 | +++ b/po/hr.po | |||
3588 | @@ -5,8 +5,8 @@ msgid "" | |||
3589 | 5 | msgstr "" | 5 | msgstr "" |
3590 | 6 | "Project-Id-Version: metacity 0\n" | 6 | "Project-Id-Version: metacity 0\n" |
3591 | 7 | "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/mutter/issues\n" | 7 | "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/mutter/issues\n" |
3594 | 8 | "POT-Creation-Date: 2018-07-07 09:58+0000\n" | 8 | "POT-Creation-Date: 2019-02-04 17:52+0000\n" |
3595 | 9 | "PO-Revision-Date: 2018-09-02 18:40+0200\n" | 9 | "PO-Revision-Date: 2019-03-26 12:40+0100\n" |
3596 | 10 | "Last-Translator: gogo <trebelnik2@gmail.com>\n" | 10 | "Last-Translator: gogo <trebelnik2@gmail.com>\n" |
3597 | 11 | "Language-Team: Croatian <lokalizacija@linux.hr>\n" | 11 | "Language-Team: Croatian <lokalizacija@linux.hr>\n" |
3598 | 12 | "Language: hr\n" | 12 | "Language: hr\n" |
3599 | @@ -16,7 +16,7 @@ msgstr "" | |||
3600 | 16 | "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" | 16 | "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" |
3601 | 17 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" | 17 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" |
3602 | 18 | "X-Launchpad-Export-Date: 2008-05-28 13:28+0000\n" | 18 | "X-Launchpad-Export-Date: 2008-05-28 13:28+0000\n" |
3604 | 19 | "X-Generator: Poedit 2.1.1\n" | 19 | "X-Generator: Poedit 2.0.6\n" |
3605 | 20 | 20 | ||
3606 | 21 | #: data/50-mutter-navigation.xml:6 | 21 | #: data/50-mutter-navigation.xml:6 |
3607 | 22 | msgid "Navigation" | 22 | msgid "Navigation" |
3608 | @@ -518,7 +518,7 @@ msgstr "" | |||
3609 | 518 | #. TRANSLATORS: This string refers to a button that switches between | 518 | #. TRANSLATORS: This string refers to a button that switches between |
3610 | 519 | #. * different modes. | 519 | #. * different modes. |
3611 | 520 | #. | 520 | #. |
3613 | 521 | #: src/backends/meta-input-settings.c:2325 | 521 | #: src/backends/meta-input-settings.c:2423 |
3614 | 522 | #, c-format | 522 | #, c-format |
3615 | 523 | msgid "Mode Switch (Group %d)" | 523 | msgid "Mode Switch (Group %d)" |
3616 | 524 | msgstr "Način prebacivanja (Grupa %d)" | 524 | msgstr "Način prebacivanja (Grupa %d)" |
3617 | @@ -526,102 +526,109 @@ msgstr "Način prebacivanja (Grupa %d)" | |||
3618 | 526 | #. TRANSLATORS: This string refers to an action, cycles drawing tablets' | 526 | #. TRANSLATORS: This string refers to an action, cycles drawing tablets' |
3619 | 527 | #. * mapping through the available outputs. | 527 | #. * mapping through the available outputs. |
3620 | 528 | #. | 528 | #. |
3622 | 529 | #: src/backends/meta-input-settings.c:2348 | 529 | #: src/backends/meta-input-settings.c:2446 |
3623 | 530 | msgid "Switch monitor" | 530 | msgid "Switch monitor" |
3624 | 531 | msgstr "Prebaci zaslon" | 531 | msgstr "Prebaci zaslon" |
3625 | 532 | 532 | ||
3627 | 533 | #: src/backends/meta-input-settings.c:2350 | 533 | #: src/backends/meta-input-settings.c:2448 |
3628 | 534 | msgid "Show on-screen help" | 534 | msgid "Show on-screen help" |
3629 | 535 | msgstr "Prikaži zaslonsku pomoć" | 535 | msgstr "Prikaži zaslonsku pomoć" |
3630 | 536 | 536 | ||
3632 | 537 | #: src/backends/meta-monitor-manager.c:907 | 537 | #: src/backends/meta-monitor-manager.c:954 |
3633 | 538 | msgid "Built-in display" | 538 | msgid "Built-in display" |
3634 | 539 | msgstr "Ugrađeni zaslon" | 539 | msgstr "Ugrađeni zaslon" |
3635 | 540 | 540 | ||
3637 | 541 | #: src/backends/meta-monitor-manager.c:930 | 541 | #: src/backends/meta-monitor-manager.c:986 |
3638 | 542 | msgid "Unknown" | 542 | msgid "Unknown" |
3639 | 543 | msgstr "Nepoznat" | 543 | msgstr "Nepoznat" |
3640 | 544 | 544 | ||
3642 | 545 | #: src/backends/meta-monitor-manager.c:932 | 545 | #: src/backends/meta-monitor-manager.c:988 |
3643 | 546 | msgid "Unknown Display" | 546 | msgid "Unknown Display" |
3644 | 547 | msgstr "Nepoznat zaslon" | 547 | msgstr "Nepoznat zaslon" |
3645 | 548 | 548 | ||
3650 | 549 | #. TRANSLATORS: this is a monitor vendor name, followed by a | 549 | #: src/backends/meta-monitor-manager.c:996 |
3651 | 550 | #. * size in inches, like 'Dell 15"' | 550 | #, c-format |
3652 | 551 | #. | 551 | msgctxt "" |
3653 | 552 | #: src/backends/meta-monitor-manager.c:940 | 552 | "This is a monitor vendor name, followed by a size in inches, like 'Dell 15\"'" |
3654 | 553 | msgid "%s %s" | ||
3655 | 554 | msgstr "%s %s" | ||
3656 | 555 | |||
3657 | 556 | #: src/backends/meta-monitor-manager.c:1004 | ||
3658 | 553 | #, c-format | 557 | #, c-format |
3659 | 558 | msgctxt "" | ||
3660 | 559 | "This is a monitor vendor name followed by product/model name where size in " | ||
3661 | 560 | "inches could not be calculated, e.g. Dell U2414H" | ||
3662 | 554 | msgid "%s %s" | 561 | msgid "%s %s" |
3663 | 555 | msgstr "%s %s" | 562 | msgstr "%s %s" |
3664 | 556 | 563 | ||
3665 | 557 | #. This probably means that a non-WM compositor like xcompmgr is running; | 564 | #. This probably means that a non-WM compositor like xcompmgr is running; |
3666 | 558 | #. * we have no way to get it to exit | 565 | #. * we have no way to get it to exit |
3668 | 559 | #: src/compositor/compositor.c:481 | 566 | #: src/compositor/compositor.c:482 |
3669 | 560 | #, c-format | 567 | #, c-format |
3670 | 561 | msgid "" | 568 | msgid "" |
3671 | 562 | "Another compositing manager is already running on screen %i on display “%s”." | 569 | "Another compositing manager is already running on screen %i on display “%s”." |
3672 | 563 | msgstr "" | 570 | msgstr "" |
3673 | 564 | "Drugi upravitelja kompoziranja već je pokrenut na zaslonu %i prikaza \"%s\"." | 571 | "Drugi upravitelja kompoziranja već je pokrenut na zaslonu %i prikaza \"%s\"." |
3674 | 565 | 572 | ||
3676 | 566 | #: src/core/bell.c:254 | 573 | #: src/core/bell.c:252 |
3677 | 567 | msgid "Bell event" | 574 | msgid "Bell event" |
3678 | 568 | msgstr "Događaj zvona" | 575 | msgstr "Događaj zvona" |
3679 | 569 | 576 | ||
3681 | 570 | #: src/core/main.c:191 | 577 | #: src/core/main.c:185 |
3682 | 571 | msgid "Disable connection to session manager" | 578 | msgid "Disable connection to session manager" |
3683 | 572 | msgstr "Onemogući povezivanje sa upraviteljem sesija" | 579 | msgstr "Onemogući povezivanje sa upraviteljem sesija" |
3684 | 573 | 580 | ||
3686 | 574 | #: src/core/main.c:197 | 581 | #: src/core/main.c:191 |
3687 | 575 | msgid "Replace the running window manager" | 582 | msgid "Replace the running window manager" |
3688 | 576 | msgstr "Zamijeni pokrenutoga upravitelja porozora" | 583 | msgstr "Zamijeni pokrenutoga upravitelja porozora" |
3689 | 577 | 584 | ||
3691 | 578 | #: src/core/main.c:203 | 585 | #: src/core/main.c:197 |
3692 | 579 | msgid "Specify session management ID" | 586 | msgid "Specify session management ID" |
3693 | 580 | msgstr "Odredite ID upravljanja sesijama" | 587 | msgstr "Odredite ID upravljanja sesijama" |
3694 | 581 | 588 | ||
3696 | 582 | #: src/core/main.c:208 | 589 | #: src/core/main.c:202 |
3697 | 583 | msgid "X Display to use" | 590 | msgid "X Display to use" |
3698 | 584 | msgstr "X Prikaz za korištenje" | 591 | msgstr "X Prikaz za korištenje" |
3699 | 585 | 592 | ||
3701 | 586 | #: src/core/main.c:214 | 593 | #: src/core/main.c:208 |
3702 | 587 | msgid "Initialize session from savefile" | 594 | msgid "Initialize session from savefile" |
3703 | 588 | msgstr "Pokreni sesiju iz spremljene datoteke" | 595 | msgstr "Pokreni sesiju iz spremljene datoteke" |
3704 | 589 | 596 | ||
3706 | 590 | #: src/core/main.c:220 | 597 | #: src/core/main.c:214 |
3707 | 591 | msgid "Make X calls synchronous" | 598 | msgid "Make X calls synchronous" |
3708 | 592 | msgstr "Napravi X pozive usklađenim" | 599 | msgstr "Napravi X pozive usklađenim" |
3709 | 593 | 600 | ||
3711 | 594 | #: src/core/main.c:227 | 601 | #: src/core/main.c:221 |
3712 | 595 | msgid "Run as a wayland compositor" | 602 | msgid "Run as a wayland compositor" |
3713 | 596 | msgstr "Pokreni wayland kompozitor" | 603 | msgstr "Pokreni wayland kompozitor" |
3714 | 597 | 604 | ||
3716 | 598 | #: src/core/main.c:233 | 605 | #: src/core/main.c:227 |
3717 | 599 | msgid "Run as a nested compositor" | 606 | msgid "Run as a nested compositor" |
3718 | 600 | msgstr "Pokreni kao ugrađeni kompozitor" | 607 | msgstr "Pokreni kao ugrađeni kompozitor" |
3719 | 601 | 608 | ||
3721 | 602 | #: src/core/main.c:239 | 609 | #: src/core/main.c:233 |
3722 | 603 | msgid "Run wayland compositor without starting Xwayland" | 610 | msgid "Run wayland compositor without starting Xwayland" |
3723 | 604 | msgstr "Pokreni wayland kompozitor bez pokretanja Xwaylanda" | 611 | msgstr "Pokreni wayland kompozitor bez pokretanja Xwaylanda" |
3724 | 605 | 612 | ||
3726 | 606 | #: src/core/main.c:247 | 613 | #: src/core/main.c:241 |
3727 | 607 | msgid "Run as a full display server, rather than nested" | 614 | msgid "Run as a full display server, rather than nested" |
3728 | 608 | msgstr "Pokreni kao potpuni poslužitelj zaslona, radije nego ugrađeni" | 615 | msgstr "Pokreni kao potpuni poslužitelj zaslona, radije nego ugrađeni" |
3729 | 609 | 616 | ||
3731 | 610 | #: src/core/main.c:253 | 617 | #: src/core/main.c:247 |
3732 | 611 | msgid "Run with X11 backend" | 618 | msgid "Run with X11 backend" |
3733 | 612 | msgstr "Pokreni s X11 pozadinskim programom" | 619 | msgstr "Pokreni s X11 pozadinskim programom" |
3734 | 613 | 620 | ||
3735 | 614 | #. Translators: %s is a window title | 621 | #. Translators: %s is a window title |
3737 | 615 | #: src/core/meta-close-dialog-default.c:148 | 622 | #: src/core/meta-close-dialog-default.c:150 |
3738 | 616 | #, c-format | 623 | #, c-format |
3739 | 617 | msgid "“%s” is not responding." | 624 | msgid "“%s” is not responding." |
3740 | 618 | msgstr "“%s” ne odgovara." | 625 | msgstr "“%s” ne odgovara." |
3741 | 619 | 626 | ||
3743 | 620 | #: src/core/meta-close-dialog-default.c:150 | 627 | #: src/core/meta-close-dialog-default.c:152 |
3744 | 621 | msgid "Application is not responding." | 628 | msgid "Application is not responding." |
3745 | 622 | msgstr "Aplikacija ne odgovara." | 629 | msgstr "Aplikacija ne odgovara." |
3746 | 623 | 630 | ||
3748 | 624 | #: src/core/meta-close-dialog-default.c:155 | 631 | #: src/core/meta-close-dialog-default.c:157 |
3749 | 625 | msgid "" | 632 | msgid "" |
3750 | 626 | "You may choose to wait a short while for it to continue or force the " | 633 | "You may choose to wait a short while for it to continue or force the " |
3751 | 627 | "application to quit entirely." | 634 | "application to quit entirely." |
3752 | @@ -629,15 +636,15 @@ msgstr "" | |||
3753 | 629 | "Možete pričekati neko vrijeme da aplikacija nastavi s radom ili možete " | 636 | "Možete pričekati neko vrijeme da aplikacija nastavi s radom ili možete " |
3754 | 630 | "prisiliti prekid rada aplikacije." | 637 | "prisiliti prekid rada aplikacije." |
3755 | 631 | 638 | ||
3757 | 632 | #: src/core/meta-close-dialog-default.c:162 | 639 | #: src/core/meta-close-dialog-default.c:164 |
3758 | 633 | msgid "_Force Quit" | 640 | msgid "_Force Quit" |
3759 | 634 | msgstr "_Prisili izlaženje" | 641 | msgstr "_Prisili izlaženje" |
3760 | 635 | 642 | ||
3762 | 636 | #: src/core/meta-close-dialog-default.c:162 | 643 | #: src/core/meta-close-dialog-default.c:164 |
3763 | 637 | msgid "_Wait" | 644 | msgid "_Wait" |
3764 | 638 | msgstr "_Čekaj" | 645 | msgstr "_Čekaj" |
3765 | 639 | 646 | ||
3767 | 640 | #: src/core/mutter.c:39 | 647 | #: src/core/mutter.c:38 |
3768 | 641 | #, c-format | 648 | #, c-format |
3769 | 642 | msgid "" | 649 | msgid "" |
3770 | 643 | "mutter %s\n" | 650 | "mutter %s\n" |
3771 | @@ -652,20 +659,20 @@ msgstr "" | |||
3772 | 652 | "NE postoji jamstvo; čak i bez podrazumijevanih jamstava UPORABLJIVOSTI ZA " | 659 | "NE postoji jamstvo; čak i bez podrazumijevanih jamstava UPORABLJIVOSTI ZA " |
3773 | 653 | "ODREĐENU SVRHU.\n" | 660 | "ODREĐENU SVRHU.\n" |
3774 | 654 | 661 | ||
3776 | 655 | #: src/core/mutter.c:53 | 662 | #: src/core/mutter.c:52 |
3777 | 656 | msgid "Print version" | 663 | msgid "Print version" |
3778 | 657 | msgstr "Inačica za ispis" | 664 | msgstr "Inačica za ispis" |
3779 | 658 | 665 | ||
3781 | 659 | #: src/core/mutter.c:59 | 666 | #: src/core/mutter.c:58 |
3782 | 660 | msgid "Mutter plugin to use" | 667 | msgid "Mutter plugin to use" |
3783 | 661 | msgstr "Mutter priključak koji se koristi" | 668 | msgstr "Mutter priključak koji se koristi" |
3784 | 662 | 669 | ||
3786 | 663 | #: src/core/prefs.c:1915 | 670 | #: src/core/prefs.c:1786 |
3787 | 664 | #, c-format | 671 | #, c-format |
3788 | 665 | msgid "Workspace %d" | 672 | msgid "Workspace %d" |
3789 | 666 | msgstr "Radni prostor %d" | 673 | msgstr "Radni prostor %d" |
3790 | 667 | 674 | ||
3792 | 668 | #: src/core/util.c:120 | 675 | #: src/core/util.c:121 |
3793 | 669 | msgid "Mutter was compiled without support for verbose mode\n" | 676 | msgid "Mutter was compiled without support for verbose mode\n" |
3794 | 670 | msgstr "Mutter je kompiliran bez podrške za opširan način rada\n" | 677 | msgstr "Mutter je kompiliran bez podrške za opširan način rada\n" |
3795 | 671 | 678 | ||
3796 | @@ -683,21 +690,21 @@ msgstr "" | |||
3797 | 683 | "Prikaz \"%s\" već ima upravitelja prozora; pokušajte koristiti --replace " | 690 | "Prikaz \"%s\" već ima upravitelja prozora; pokušajte koristiti --replace " |
3798 | 684 | "mogućnost za zamjenu trenutnog upravitelja prozora." | 691 | "mogućnost za zamjenu trenutnog upravitelja prozora." |
3799 | 685 | 692 | ||
3801 | 686 | #: src/x11/meta-x11-display.c:1010 | 693 | #: src/x11/meta-x11-display.c:1008 |
3802 | 687 | msgid "Failed to initialize GDK\n" | 694 | msgid "Failed to initialize GDK\n" |
3803 | 688 | msgstr "Neuspjelo GDK pokretanje\n" | 695 | msgstr "Neuspjelo GDK pokretanje\n" |
3804 | 689 | 696 | ||
3806 | 690 | #: src/x11/meta-x11-display.c:1034 | 697 | #: src/x11/meta-x11-display.c:1032 |
3807 | 691 | #, c-format | 698 | #, c-format |
3808 | 692 | msgid "Failed to open X Window System display “%s”\n" | 699 | msgid "Failed to open X Window System display “%s”\n" |
3809 | 693 | msgstr "Neuspjelo otvaranje sustava prikaza X prozora \"%s\"\n" | 700 | msgstr "Neuspjelo otvaranje sustava prikaza X prozora \"%s\"\n" |
3810 | 694 | 701 | ||
3812 | 695 | #: src/x11/meta-x11-display.c:1117 | 702 | #: src/x11/meta-x11-display.c:1115 |
3813 | 696 | #, c-format | 703 | #, c-format |
3814 | 697 | msgid "Screen %d on display “%s” is invalid\n" | 704 | msgid "Screen %d on display “%s” is invalid\n" |
3815 | 698 | msgstr "Zaslon %d na prikazu '%s' je neispravan\n" | 705 | msgstr "Zaslon %d na prikazu '%s' je neispravan\n" |
3816 | 699 | 706 | ||
3818 | 700 | #: src/x11/session.c:1819 | 707 | #: src/x11/session.c:1821 |
3819 | 701 | msgid "" | 708 | msgid "" |
3820 | 702 | "These windows do not support “save current setup” and will have to be " | 709 | "These windows do not support “save current setup” and will have to be " |
3821 | 703 | "restarted manually next time you log in." | 710 | "restarted manually next time you log in." |
3822 | @@ -705,7 +712,7 @@ msgstr "" | |||
3823 | 705 | "Ovi prozori ne podržavaju mogućnost \"spremi trenutne postavke\" i moraju se " | 712 | "Ovi prozori ne podržavaju mogućnost \"spremi trenutne postavke\" i moraju se " |
3824 | 706 | "ručno ponovno pokrenuti sljedeći puta kada se prijavite." | 713 | "ručno ponovno pokrenuti sljedeći puta kada se prijavite." |
3825 | 707 | 714 | ||
3827 | 708 | #: src/x11/window-props.c:565 | 715 | #: src/x11/window-props.c:568 |
3828 | 709 | #, c-format | 716 | #, c-format |
3829 | 710 | msgid "%s (on %s)" | 717 | msgid "%s (on %s)" |
3830 | 711 | msgstr "%s (na %s)" | 718 | msgstr "%s (na %s)" |
3831 | diff --git a/src/backends/meta-backend-private.h b/src/backends/meta-backend-private.h | |||
3832 | index 510e6aa..7eba180 100644 | |||
3833 | --- a/src/backends/meta-backend-private.h | |||
3834 | +++ b/src/backends/meta-backend-private.h | |||
3835 | @@ -147,6 +147,10 @@ xkb_layout_index_t meta_backend_get_keymap_layout_group (MetaBackend *backend); | |||
3836 | 147 | 147 | ||
3837 | 148 | gboolean meta_backend_is_lid_closed (MetaBackend *backend); | 148 | gboolean meta_backend_is_lid_closed (MetaBackend *backend); |
3838 | 149 | 149 | ||
3839 | 150 | void meta_backend_freeze_updates (MetaBackend *backend); | ||
3840 | 151 | |||
3841 | 152 | void meta_backend_thaw_updates (MetaBackend *backend); | ||
3842 | 153 | |||
3843 | 150 | void meta_backend_update_last_device (MetaBackend *backend, | 154 | void meta_backend_update_last_device (MetaBackend *backend, |
3844 | 151 | int device_id); | 155 | int device_id); |
3845 | 152 | 156 | ||
3846 | diff --git a/src/backends/meta-backend.c b/src/backends/meta-backend.c | |||
3847 | index c527114..23ab2fa 100644 | |||
3848 | --- a/src/backends/meta-backend.c | |||
3849 | +++ b/src/backends/meta-backend.c | |||
3850 | @@ -475,7 +475,7 @@ meta_backend_real_post_init (MetaBackend *backend) | |||
3851 | 475 | MetaBackendPrivate *priv = meta_backend_get_instance_private (backend); | 475 | MetaBackendPrivate *priv = meta_backend_get_instance_private (backend); |
3852 | 476 | ClutterDeviceManager *device_manager = clutter_device_manager_get_default (); | 476 | ClutterDeviceManager *device_manager = clutter_device_manager_get_default (); |
3853 | 477 | 477 | ||
3855 | 478 | priv->stage = meta_stage_new (); | 478 | priv->stage = meta_stage_new (backend); |
3856 | 479 | clutter_actor_realize (priv->stage); | 479 | clutter_actor_realize (priv->stage); |
3857 | 480 | META_BACKEND_GET_CLASS (backend)->select_stage_events (backend); | 480 | META_BACKEND_GET_CLASS (backend)->select_stage_events (backend); |
3858 | 481 | 481 | ||
3859 | @@ -1079,6 +1079,24 @@ meta_backend_get_stage (MetaBackend *backend) | |||
3860 | 1079 | return priv->stage; | 1079 | return priv->stage; |
3861 | 1080 | } | 1080 | } |
3862 | 1081 | 1081 | ||
3863 | 1082 | void | ||
3864 | 1083 | meta_backend_freeze_updates (MetaBackend *backend) | ||
3865 | 1084 | { | ||
3866 | 1085 | ClutterStage *stage; | ||
3867 | 1086 | |||
3868 | 1087 | stage = CLUTTER_STAGE (meta_backend_get_stage (backend)); | ||
3869 | 1088 | clutter_stage_freeze_updates (stage); | ||
3870 | 1089 | } | ||
3871 | 1090 | |||
3872 | 1091 | void | ||
3873 | 1092 | meta_backend_thaw_updates (MetaBackend *backend) | ||
3874 | 1093 | { | ||
3875 | 1094 | ClutterStage *stage; | ||
3876 | 1095 | |||
3877 | 1096 | stage = CLUTTER_STAGE (meta_backend_get_stage (backend)); | ||
3878 | 1097 | clutter_stage_thaw_updates (stage); | ||
3879 | 1098 | } | ||
3880 | 1099 | |||
3881 | 1082 | static gboolean | 1100 | static gboolean |
3882 | 1083 | update_last_device (MetaBackend *backend) | 1101 | update_last_device (MetaBackend *backend) |
3883 | 1084 | { | 1102 | { |
3884 | diff --git a/src/backends/meta-input-mapper.c b/src/backends/meta-input-mapper.c | |||
3885 | index 1a3cb2c..5227292 100644 | |||
3886 | --- a/src/backends/meta-input-mapper.c | |||
3887 | +++ b/src/backends/meta-input-mapper.c | |||
3888 | @@ -20,6 +20,10 @@ | |||
3889 | 20 | 20 | ||
3890 | 21 | #include "config.h" | 21 | #include "config.h" |
3891 | 22 | 22 | ||
3892 | 23 | #ifdef HAVE_LIBGUDEV | ||
3893 | 24 | #include <gudev/gudev.h> | ||
3894 | 25 | #endif | ||
3895 | 26 | |||
3896 | 23 | #include "meta-input-mapper-private.h" | 27 | #include "meta-input-mapper-private.h" |
3897 | 24 | #include "meta-monitor-manager-private.h" | 28 | #include "meta-monitor-manager-private.h" |
3898 | 25 | #include "meta-logical-monitor.h" | 29 | #include "meta-logical-monitor.h" |
3899 | @@ -39,6 +43,9 @@ struct _MetaInputMapper | |||
3900 | 39 | ClutterDeviceManager *input_device_manager; | 43 | ClutterDeviceManager *input_device_manager; |
3901 | 40 | GHashTable *input_devices; /* ClutterInputDevice -> MetaMapperInputInfo */ | 44 | GHashTable *input_devices; /* ClutterInputDevice -> MetaMapperInputInfo */ |
3902 | 41 | GHashTable *output_devices; /* MetaLogicalMonitor -> MetaMapperOutputInfo */ | 45 | GHashTable *output_devices; /* MetaLogicalMonitor -> MetaMapperOutputInfo */ |
3903 | 46 | #ifdef HAVE_LIBGUDEV | ||
3904 | 47 | GUdevClient *udev_client; | ||
3905 | 48 | #endif | ||
3906 | 42 | }; | 49 | }; |
3907 | 43 | 50 | ||
3908 | 44 | typedef enum | 51 | typedef enum |
3909 | @@ -271,6 +278,33 @@ match_edid (MetaMapperInputInfo *input, | |||
3910 | 271 | } | 278 | } |
3911 | 272 | 279 | ||
3912 | 273 | static gboolean | 280 | static gboolean |
3913 | 281 | input_device_get_physical_size (MetaInputMapper *mapper, | ||
3914 | 282 | ClutterInputDevice *device, | ||
3915 | 283 | double *width, | ||
3916 | 284 | double *height) | ||
3917 | 285 | { | ||
3918 | 286 | #ifdef HAVE_LIBGUDEV | ||
3919 | 287 | g_autoptr (GUdevDevice) udev_device = NULL; | ||
3920 | 288 | const char *node; | ||
3921 | 289 | |||
3922 | 290 | node = clutter_input_device_get_device_node (device); | ||
3923 | 291 | udev_device = g_udev_client_query_by_device_file (mapper->udev_client, node); | ||
3924 | 292 | |||
3925 | 293 | if (udev_device && | ||
3926 | 294 | g_udev_device_has_property (udev_device, "ID_INPUT_WIDTH_MM")) | ||
3927 | 295 | { | ||
3928 | 296 | *width = g_udev_device_get_property_as_double (udev_device, | ||
3929 | 297 | "ID_INPUT_WIDTH_MM"); | ||
3930 | 298 | *height = g_udev_device_get_property_as_double (udev_device, | ||
3931 | 299 | "ID_INPUT_HEIGHT_MM"); | ||
3932 | 300 | return TRUE; | ||
3933 | 301 | } | ||
3934 | 302 | #endif | ||
3935 | 303 | |||
3936 | 304 | return FALSE; | ||
3937 | 305 | } | ||
3938 | 306 | |||
3939 | 307 | static gboolean | ||
3940 | 274 | find_size_match (MetaMapperInputInfo *input, | 308 | find_size_match (MetaMapperInputInfo *input, |
3941 | 275 | GList *monitors, | 309 | GList *monitors, |
3942 | 276 | MetaMonitor **matched_monitor) | 310 | MetaMonitor **matched_monitor) |
3943 | @@ -282,7 +316,8 @@ find_size_match (MetaMapperInputInfo *input, | |||
3944 | 282 | 316 | ||
3945 | 283 | min_w_diff = min_h_diff = MAX_SIZE_MATCH_DIFF; | 317 | min_w_diff = min_h_diff = MAX_SIZE_MATCH_DIFF; |
3946 | 284 | 318 | ||
3948 | 285 | if (!clutter_input_device_get_physical_size (input->device, &i_width, &i_height)) | 319 | if (!input_device_get_physical_size (input->mapper, input->device, |
3949 | 320 | &i_width, &i_height)) | ||
3950 | 286 | return FALSE; | 321 | return FALSE; |
3951 | 287 | 322 | ||
3952 | 288 | for (l = monitors; l; l = l->next) | 323 | for (l = monitors; l; l = l->next) |
3953 | @@ -520,6 +555,9 @@ meta_input_mapper_finalize (GObject *object) | |||
3954 | 520 | 555 | ||
3955 | 521 | g_hash_table_unref (mapper->input_devices); | 556 | g_hash_table_unref (mapper->input_devices); |
3956 | 522 | g_hash_table_unref (mapper->output_devices); | 557 | g_hash_table_unref (mapper->output_devices); |
3957 | 558 | #ifdef HAVE_LIBGUDEV | ||
3958 | 559 | g_clear_object (&mapper->udev_client); | ||
3959 | 560 | #endif | ||
3960 | 523 | 561 | ||
3961 | 524 | G_OBJECT_CLASS (meta_input_mapper_parent_class)->finalize (object); | 562 | G_OBJECT_CLASS (meta_input_mapper_parent_class)->finalize (object); |
3962 | 525 | } | 563 | } |
3963 | @@ -527,11 +565,18 @@ meta_input_mapper_finalize (GObject *object) | |||
3964 | 527 | static void | 565 | static void |
3965 | 528 | meta_input_mapper_constructed (GObject *object) | 566 | meta_input_mapper_constructed (GObject *object) |
3966 | 529 | { | 567 | { |
3967 | 568 | #ifdef HAVE_LIBGUDEV | ||
3968 | 569 | const char *udev_subsystems[] = { "input", NULL }; | ||
3969 | 570 | #endif | ||
3970 | 530 | MetaInputMapper *mapper = META_INPUT_MAPPER (object); | 571 | MetaInputMapper *mapper = META_INPUT_MAPPER (object); |
3971 | 531 | MetaBackend *backend; | 572 | MetaBackend *backend; |
3972 | 532 | 573 | ||
3973 | 533 | G_OBJECT_CLASS (meta_input_mapper_parent_class)->constructed (object); | 574 | G_OBJECT_CLASS (meta_input_mapper_parent_class)->constructed (object); |
3974 | 534 | 575 | ||
3975 | 576 | #ifdef HAVE_LIBGUDEV | ||
3976 | 577 | mapper->udev_client = g_udev_client_new (udev_subsystems); | ||
3977 | 578 | #endif | ||
3978 | 579 | |||
3979 | 535 | mapper->input_device_manager = clutter_device_manager_get_default (); | 580 | mapper->input_device_manager = clutter_device_manager_get_default (); |
3980 | 536 | g_signal_connect (mapper->input_device_manager, "device-removed", | 581 | g_signal_connect (mapper->input_device_manager, "device-removed", |
3981 | 537 | G_CALLBACK (input_mapper_device_removed_cb), mapper); | 582 | G_CALLBACK (input_mapper_device_removed_cb), mapper); |
3982 | diff --git a/src/backends/meta-input-settings.c b/src/backends/meta-input-settings.c | |||
3983 | index 27e99b5..7b8df56 100644 | |||
3984 | --- a/src/backends/meta-input-settings.c | |||
3985 | +++ b/src/backends/meta-input-settings.c | |||
3986 | @@ -1766,9 +1766,11 @@ power_save_mode_changed_cb (MetaMonitorManager *manager, | |||
3987 | 1766 | ClutterInputDevice *device; | 1766 | ClutterInputDevice *device; |
3988 | 1767 | MetaLogicalMonitor *logical_monitor; | 1767 | MetaLogicalMonitor *logical_monitor; |
3989 | 1768 | MetaMonitor *builtin; | 1768 | MetaMonitor *builtin; |
3990 | 1769 | MetaPowerSave power_save_mode; | ||
3991 | 1769 | gboolean on; | 1770 | gboolean on; |
3992 | 1770 | 1771 | ||
3994 | 1771 | on = (manager->power_save_mode == META_POWER_SAVE_ON); | 1772 | power_save_mode = meta_monitor_manager_get_power_save_mode (manager); |
3995 | 1773 | on = power_save_mode == META_POWER_SAVE_ON; | ||
3996 | 1772 | priv = meta_input_settings_get_instance_private (user_data); | 1774 | priv = meta_input_settings_get_instance_private (user_data); |
3997 | 1773 | 1775 | ||
3998 | 1774 | builtin = meta_monitor_manager_get_laptop_panel (manager); | 1776 | builtin = meta_monitor_manager_get_laptop_panel (manager); |
3999 | diff --git a/src/backends/meta-monitor-config-manager.c b/src/backends/meta-monitor-config-manager.c | |||
4000 | index 771c57f..9a54ce5 100644 | |||
4001 | --- a/src/backends/meta-monitor-config-manager.c | |||
4002 | +++ b/src/backends/meta-monitor-config-manager.c | |||
4003 | @@ -1540,7 +1540,7 @@ meta_verify_logical_monitor_config (MetaLogicalMonitorConfig *logical_monitor | |||
4004 | 1540 | } | 1540 | } |
4005 | 1541 | 1541 | ||
4006 | 1542 | static gboolean | 1542 | static gboolean |
4008 | 1543 | has_adjecent_neighbour (MetaMonitorsConfig *config, | 1543 | has_adjacent_neighbour (MetaMonitorsConfig *config, |
4009 | 1544 | MetaLogicalMonitorConfig *logical_monitor_config) | 1544 | MetaLogicalMonitorConfig *logical_monitor_config) |
4010 | 1545 | { | 1545 | { |
4011 | 1546 | GList *l; | 1546 | GList *l; |
4012 | @@ -1559,7 +1559,7 @@ has_adjecent_neighbour (MetaMonitorsConfig *config, | |||
4013 | 1559 | if (logical_monitor_config == other_logical_monitor_config) | 1559 | if (logical_monitor_config == other_logical_monitor_config) |
4014 | 1560 | continue; | 1560 | continue; |
4015 | 1561 | 1561 | ||
4017 | 1562 | if (meta_rectangle_is_adjecent_to (&logical_monitor_config->layout, | 1562 | if (meta_rectangle_is_adjacent_to (&logical_monitor_config->layout, |
4018 | 1563 | &other_logical_monitor_config->layout)) | 1563 | &other_logical_monitor_config->layout)) |
4019 | 1564 | return TRUE; | 1564 | return TRUE; |
4020 | 1565 | } | 1565 | } |
4021 | @@ -1665,10 +1665,10 @@ meta_verify_monitors_config (MetaMonitorsConfig *config, | |||
4022 | 1665 | has_primary = TRUE; | 1665 | has_primary = TRUE; |
4023 | 1666 | } | 1666 | } |
4024 | 1667 | 1667 | ||
4026 | 1668 | if (!has_adjecent_neighbour (config, logical_monitor_config)) | 1668 | if (!has_adjacent_neighbour (config, logical_monitor_config)) |
4027 | 1669 | { | 1669 | { |
4028 | 1670 | g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, | 1670 | g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, |
4030 | 1671 | "Logical monitors not adjecent"); | 1671 | "Logical monitors not adjacent"); |
4031 | 1672 | return FALSE; | 1672 | return FALSE; |
4032 | 1673 | } | 1673 | } |
4033 | 1674 | 1674 | ||
4034 | diff --git a/src/backends/meta-monitor-manager-dummy.c b/src/backends/meta-monitor-manager-dummy.c | |||
4035 | index 06e8837..46c3b8c 100644 | |||
4036 | --- a/src/backends/meta-monitor-manager-dummy.c | |||
4037 | +++ b/src/backends/meta-monitor-manager-dummy.c | |||
4038 | @@ -694,11 +694,11 @@ meta_monitor_manager_dummy_calculate_monitor_mode_scale (MetaMonitorManager *man | |||
4039 | 694 | } | 694 | } |
4040 | 695 | 695 | ||
4041 | 696 | static float * | 696 | static float * |
4047 | 697 | meta_monitor_manager_dummy_calculate_supported_scales (MetaMonitorManager *manager, | 697 | meta_monitor_manager_dummy_calculate_supported_scales (MetaMonitorManager *manager, |
4048 | 698 | MetaLogicalMonitorLayoutMode layout_mode, | 698 | MetaLogicalMonitorLayoutMode layout_mode, |
4049 | 699 | MetaMonitor *monitor, | 699 | MetaMonitor *monitor, |
4050 | 700 | MetaMonitorMode *monitor_mode, | 700 | MetaMonitorMode *monitor_mode, |
4051 | 701 | int *n_supported_scales) | 701 | int *n_supported_scales) |
4052 | 702 | { | 702 | { |
4053 | 703 | MetaMonitorScalesConstraint constraints = | 703 | MetaMonitorScalesConstraint constraints = |
4054 | 704 | META_MONITOR_SCALES_CONSTRAINT_NONE; | 704 | META_MONITOR_SCALES_CONSTRAINT_NONE; |
4055 | diff --git a/src/backends/meta-monitor-manager-private.h b/src/backends/meta-monitor-manager-private.h | |||
4056 | index 3b951c6..cdb8f42 100644 | |||
4057 | --- a/src/backends/meta-monitor-manager-private.h | |||
4058 | +++ b/src/backends/meta-monitor-manager-private.h | |||
4059 | @@ -116,8 +116,6 @@ struct _MetaMonitorManager | |||
4060 | 116 | gboolean in_init; | 116 | gboolean in_init; |
4061 | 117 | unsigned int serial; | 117 | unsigned int serial; |
4062 | 118 | 118 | ||
4063 | 119 | MetaPowerSave power_save_mode; | ||
4064 | 120 | |||
4065 | 121 | MetaLogicalMonitorLayoutMode layout_mode; | 119 | MetaLogicalMonitorLayoutMode layout_mode; |
4066 | 122 | 120 | ||
4067 | 123 | int screen_width; | 121 | int screen_width; |
4068 | @@ -192,6 +190,8 @@ struct _MetaMonitorManagerClass | |||
4069 | 192 | GBytes* (*read_edid) (MetaMonitorManager *, | 190 | GBytes* (*read_edid) (MetaMonitorManager *, |
4070 | 193 | MetaOutput *); | 191 | MetaOutput *); |
4071 | 194 | 192 | ||
4072 | 193 | void (*read_current_state) (MetaMonitorManager *); | ||
4073 | 194 | |||
4074 | 195 | void (*ensure_initial_config) (MetaMonitorManager *); | 195 | void (*ensure_initial_config) (MetaMonitorManager *); |
4075 | 196 | 196 | ||
4076 | 197 | gboolean (*apply_monitors_config) (MetaMonitorManager *, | 197 | gboolean (*apply_monitors_config) (MetaMonitorManager *, |
4077 | @@ -305,6 +305,11 @@ void meta_monitor_manager_get_screen_size (MetaMonitorManager * | |||
4078 | 305 | int *width, | 305 | int *width, |
4079 | 306 | int *height); | 306 | int *height); |
4080 | 307 | 307 | ||
4081 | 308 | MetaPowerSave meta_monitor_manager_get_power_save_mode (MetaMonitorManager *manager); | ||
4082 | 309 | |||
4083 | 310 | void meta_monitor_manager_power_save_mode_changed (MetaMonitorManager *manager, | ||
4084 | 311 | MetaPowerSave mode); | ||
4085 | 312 | |||
4086 | 308 | void meta_monitor_manager_confirm_configuration (MetaMonitorManager *manager, | 313 | void meta_monitor_manager_confirm_configuration (MetaMonitorManager *manager, |
4087 | 309 | gboolean ok); | 314 | gboolean ok); |
4088 | 310 | 315 | ||
4089 | diff --git a/src/backends/meta-monitor-manager.c b/src/backends/meta-monitor-manager.c | |||
4090 | index 9420265..2d898c7 100644 | |||
4091 | --- a/src/backends/meta-monitor-manager.c | |||
4092 | +++ b/src/backends/meta-monitor-manager.c | |||
4093 | @@ -95,7 +95,13 @@ static gfloat transform_matrices[][6] = { | |||
4094 | 95 | 95 | ||
4095 | 96 | static int signals[SIGNALS_LAST]; | 96 | static int signals[SIGNALS_LAST]; |
4096 | 97 | 97 | ||
4098 | 98 | G_DEFINE_TYPE (MetaMonitorManager, meta_monitor_manager, G_TYPE_OBJECT) | 98 | typedef struct _MetaMonitorManagerPrivate |
4099 | 99 | { | ||
4100 | 100 | MetaPowerSave power_save_mode; | ||
4101 | 101 | } MetaMonitorManagerPrivate; | ||
4102 | 102 | |||
4103 | 103 | G_DEFINE_TYPE_WITH_PRIVATE (MetaMonitorManager, meta_monitor_manager, | ||
4104 | 104 | G_TYPE_OBJECT) | ||
4105 | 99 | 105 | ||
4106 | 100 | static void initialize_dbus_interface (MetaMonitorManager *manager); | 106 | static void initialize_dbus_interface (MetaMonitorManager *manager); |
4107 | 101 | static void monitor_manager_setup_dbus_config_handlers (MetaMonitorManager *manager); | 107 | static void monitor_manager_setup_dbus_config_handlers (MetaMonitorManager *manager); |
4108 | @@ -107,6 +113,9 @@ meta_monitor_manager_is_config_complete (MetaMonitorManager *manager, | |||
4109 | 107 | static MetaMonitor * | 113 | static MetaMonitor * |
4110 | 108 | meta_monitor_manager_get_active_monitor (MetaMonitorManager *manager); | 114 | meta_monitor_manager_get_active_monitor (MetaMonitorManager *manager); |
4111 | 109 | 115 | ||
4112 | 116 | static void | ||
4113 | 117 | meta_monitor_manager_real_read_current_state (MetaMonitorManager *manager); | ||
4114 | 118 | |||
4115 | 110 | MetaBackend * | 119 | MetaBackend * |
4116 | 111 | meta_monitor_manager_get_backend (MetaMonitorManager *manager) | 120 | meta_monitor_manager_get_backend (MetaMonitorManager *manager) |
4117 | 112 | { | 121 | { |
4118 | @@ -329,11 +338,24 @@ meta_monitor_manager_rebuild_logical_monitors_derived (MetaMonitorManager *manag | |||
4119 | 329 | primary_logical_monitor); | 338 | primary_logical_monitor); |
4120 | 330 | } | 339 | } |
4121 | 331 | 340 | ||
4122 | 341 | void | ||
4123 | 342 | meta_monitor_manager_power_save_mode_changed (MetaMonitorManager *manager, | ||
4124 | 343 | MetaPowerSave mode) | ||
4125 | 344 | { | ||
4126 | 345 | MetaMonitorManagerPrivate *priv = | ||
4127 | 346 | meta_monitor_manager_get_instance_private (manager); | ||
4128 | 347 | |||
4129 | 348 | priv->power_save_mode = mode; | ||
4130 | 349 | g_signal_emit (manager, signals[POWER_SAVE_MODE_CHANGED], 0); | ||
4131 | 350 | } | ||
4132 | 351 | |||
4133 | 332 | static void | 352 | static void |
4134 | 333 | power_save_mode_changed (MetaMonitorManager *manager, | 353 | power_save_mode_changed (MetaMonitorManager *manager, |
4135 | 334 | GParamSpec *pspec, | 354 | GParamSpec *pspec, |
4136 | 335 | gpointer user_data) | 355 | gpointer user_data) |
4137 | 336 | { | 356 | { |
4138 | 357 | MetaMonitorManagerPrivate *priv = | ||
4139 | 358 | meta_monitor_manager_get_instance_private (manager); | ||
4140 | 337 | MetaMonitorManagerClass *klass; | 359 | MetaMonitorManagerClass *klass; |
4141 | 338 | int mode = meta_dbus_display_config_get_power_save_mode (manager->display_config); | 360 | int mode = meta_dbus_display_config_get_power_save_mode (manager->display_config); |
4142 | 339 | 361 | ||
4143 | @@ -341,7 +363,7 @@ power_save_mode_changed (MetaMonitorManager *manager, | |||
4144 | 341 | return; | 363 | return; |
4145 | 342 | 364 | ||
4146 | 343 | /* If DPMS is unsupported, force the property back. */ | 365 | /* If DPMS is unsupported, force the property back. */ |
4148 | 344 | if (manager->power_save_mode == META_POWER_SAVE_UNSUPPORTED) | 366 | if (priv->power_save_mode == META_POWER_SAVE_UNSUPPORTED) |
4149 | 345 | { | 367 | { |
4150 | 346 | meta_dbus_display_config_set_power_save_mode (manager->display_config, META_POWER_SAVE_UNSUPPORTED); | 368 | meta_dbus_display_config_set_power_save_mode (manager->display_config, META_POWER_SAVE_UNSUPPORTED); |
4151 | 347 | return; | 369 | return; |
4152 | @@ -351,9 +373,7 @@ power_save_mode_changed (MetaMonitorManager *manager, | |||
4153 | 351 | if (klass->set_power_save_mode) | 373 | if (klass->set_power_save_mode) |
4154 | 352 | klass->set_power_save_mode (manager, mode); | 374 | klass->set_power_save_mode (manager, mode); |
4155 | 353 | 375 | ||
4159 | 354 | manager->power_save_mode = mode; | 376 | meta_monitor_manager_power_save_mode_changed (manager, mode); |
4157 | 355 | |||
4158 | 356 | g_signal_emit (manager, signals[POWER_SAVE_MODE_CHANGED], 0); | ||
4160 | 357 | } | 377 | } |
4161 | 358 | 378 | ||
4162 | 359 | void | 379 | void |
4163 | @@ -400,11 +420,11 @@ meta_monitor_manager_calculate_monitor_mode_scale (MetaMonitorManager *manager, | |||
4164 | 400 | } | 420 | } |
4165 | 401 | 421 | ||
4166 | 402 | float * | 422 | float * |
4172 | 403 | meta_monitor_manager_calculate_supported_scales (MetaMonitorManager *manager, | 423 | meta_monitor_manager_calculate_supported_scales (MetaMonitorManager *manager, |
4173 | 404 | MetaLogicalMonitorLayoutMode layout_mode, | 424 | MetaLogicalMonitorLayoutMode layout_mode, |
4174 | 405 | MetaMonitor *monitor, | 425 | MetaMonitor *monitor, |
4175 | 406 | MetaMonitorMode *monitor_mode, | 426 | MetaMonitorMode *monitor_mode, |
4176 | 407 | int *n_supported_scales) | 427 | int *n_supported_scales) |
4177 | 408 | { | 428 | { |
4178 | 409 | MetaMonitorManagerClass *manager_class = | 429 | MetaMonitorManagerClass *manager_class = |
4179 | 410 | META_MONITOR_MANAGER_GET_CLASS (manager); | 430 | META_MONITOR_MANAGER_GET_CLASS (manager); |
4180 | @@ -855,6 +875,7 @@ meta_monitor_manager_class_init (MetaMonitorManagerClass *klass) | |||
4181 | 855 | object_class->set_property = meta_monitor_manager_set_property; | 875 | object_class->set_property = meta_monitor_manager_set_property; |
4182 | 856 | 876 | ||
4183 | 857 | klass->read_edid = meta_monitor_manager_real_read_edid; | 877 | klass->read_edid = meta_monitor_manager_real_read_edid; |
4184 | 878 | klass->read_current_state = meta_monitor_manager_real_read_current_state; | ||
4185 | 858 | 879 | ||
4186 | 859 | signals[MONITORS_CHANGED] = | 880 | signals[MONITORS_CHANGED] = |
4187 | 860 | g_signal_new ("monitors-changed", | 881 | g_signal_new ("monitors-changed", |
4188 | @@ -2684,6 +2705,15 @@ meta_monitor_manager_get_screen_size (MetaMonitorManager *manager, | |||
4189 | 2684 | *height = manager->screen_height; | 2705 | *height = manager->screen_height; |
4190 | 2685 | } | 2706 | } |
4191 | 2686 | 2707 | ||
4192 | 2708 | MetaPowerSave | ||
4193 | 2709 | meta_monitor_manager_get_power_save_mode (MetaMonitorManager *manager) | ||
4194 | 2710 | { | ||
4195 | 2711 | MetaMonitorManagerPrivate *priv = | ||
4196 | 2712 | meta_monitor_manager_get_instance_private (manager); | ||
4197 | 2713 | |||
4198 | 2714 | return priv->power_save_mode; | ||
4199 | 2715 | } | ||
4200 | 2716 | |||
4201 | 2687 | static void | 2717 | static void |
4202 | 2688 | rebuild_monitors (MetaMonitorManager *manager) | 2718 | rebuild_monitors (MetaMonitorManager *manager) |
4203 | 2689 | { | 2719 | { |
4204 | @@ -2760,8 +2790,8 @@ meta_monitor_manager_is_transform_handled (MetaMonitorManager *manager, | |||
4205 | 2760 | return manager_class->is_transform_handled (manager, crtc, transform); | 2790 | return manager_class->is_transform_handled (manager, crtc, transform); |
4206 | 2761 | } | 2791 | } |
4207 | 2762 | 2792 | ||
4210 | 2763 | void | 2793 | static void |
4211 | 2764 | meta_monitor_manager_read_current_state (MetaMonitorManager *manager) | 2794 | meta_monitor_manager_real_read_current_state (MetaMonitorManager *manager) |
4212 | 2765 | { | 2795 | { |
4213 | 2766 | GList *l; | 2796 | GList *l; |
4214 | 2767 | 2797 | ||
4215 | @@ -2782,6 +2812,15 @@ meta_monitor_manager_read_current_state (MetaMonitorManager *manager) | |||
4216 | 2782 | rebuild_monitors (manager); | 2812 | rebuild_monitors (manager); |
4217 | 2783 | } | 2813 | } |
4218 | 2784 | 2814 | ||
4219 | 2815 | void | ||
4220 | 2816 | meta_monitor_manager_read_current_state (MetaMonitorManager *manager) | ||
4221 | 2817 | { | ||
4222 | 2818 | MetaMonitorManagerClass *manager_class = | ||
4223 | 2819 | META_MONITOR_MANAGER_GET_CLASS (manager); | ||
4224 | 2820 | |||
4225 | 2821 | manager_class->read_current_state (manager); | ||
4226 | 2822 | } | ||
4227 | 2823 | |||
4228 | 2785 | static void | 2824 | static void |
4229 | 2786 | meta_monitor_manager_notify_monitors_changed (MetaMonitorManager *manager) | 2825 | meta_monitor_manager_notify_monitors_changed (MetaMonitorManager *manager) |
4230 | 2787 | { | 2826 | { |
4231 | diff --git a/src/backends/meta-monitor.c b/src/backends/meta-monitor.c | |||
4232 | index 3ff18a5..22a3e45 100644 | |||
4233 | --- a/src/backends/meta-monitor.c | |||
4234 | +++ b/src/backends/meta-monitor.c | |||
4235 | @@ -615,12 +615,12 @@ meta_monitor_normal_get_suggested_position (MetaMonitor *monitor, | |||
4236 | 615 | } | 615 | } |
4237 | 616 | 616 | ||
4238 | 617 | static void | 617 | static void |
4245 | 618 | meta_monitor_normal_calculate_crtc_pos (MetaMonitor *monitor, | 618 | meta_monitor_normal_calculate_crtc_pos (MetaMonitor *monitor, |
4246 | 619 | MetaMonitorMode *monitor_mode, | 619 | MetaMonitorMode *monitor_mode, |
4247 | 620 | MetaOutput *output, | 620 | MetaOutput *output, |
4248 | 621 | MetaMonitorTransform crtc_transform, | 621 | MetaMonitorTransform crtc_transform, |
4249 | 622 | int *out_x, | 622 | int *out_x, |
4250 | 623 | int *out_y) | 623 | int *out_y) |
4251 | 624 | { | 624 | { |
4252 | 625 | *out_x = 0; | 625 | *out_x = 0; |
4253 | 626 | *out_y = 0; | 626 | *out_y = 0; |
4254 | @@ -1267,12 +1267,12 @@ meta_monitor_tiled_get_suggested_position (MetaMonitor *monitor, | |||
4255 | 1267 | } | 1267 | } |
4256 | 1268 | 1268 | ||
4257 | 1269 | static void | 1269 | static void |
4264 | 1270 | meta_monitor_tiled_calculate_crtc_pos (MetaMonitor *monitor, | 1270 | meta_monitor_tiled_calculate_crtc_pos (MetaMonitor *monitor, |
4265 | 1271 | MetaMonitorMode *monitor_mode, | 1271 | MetaMonitorMode *monitor_mode, |
4266 | 1272 | MetaOutput *output, | 1272 | MetaOutput *output, |
4267 | 1273 | MetaMonitorTransform crtc_transform, | 1273 | MetaMonitorTransform crtc_transform, |
4268 | 1274 | int *out_x, | 1274 | int *out_x, |
4269 | 1275 | int *out_y) | 1275 | int *out_y) |
4270 | 1276 | { | 1276 | { |
4271 | 1277 | MetaMonitorModeTiled *mode_tiled = (MetaMonitorModeTiled *) monitor_mode; | 1277 | MetaMonitorModeTiled *mode_tiled = (MetaMonitorModeTiled *) monitor_mode; |
4272 | 1278 | 1278 | ||
4273 | @@ -1461,12 +1461,12 @@ meta_monitor_get_modes (MetaMonitor *monitor) | |||
4274 | 1461 | } | 1461 | } |
4275 | 1462 | 1462 | ||
4276 | 1463 | void | 1463 | void |
4283 | 1464 | meta_monitor_calculate_crtc_pos (MetaMonitor *monitor, | 1464 | meta_monitor_calculate_crtc_pos (MetaMonitor *monitor, |
4284 | 1465 | MetaMonitorMode *monitor_mode, | 1465 | MetaMonitorMode *monitor_mode, |
4285 | 1466 | MetaOutput *output, | 1466 | MetaOutput *output, |
4286 | 1467 | MetaMonitorTransform crtc_transform, | 1467 | MetaMonitorTransform crtc_transform, |
4287 | 1468 | int *out_x, | 1468 | int *out_x, |
4288 | 1469 | int *out_y) | 1469 | int *out_y) |
4289 | 1470 | { | 1470 | { |
4290 | 1471 | META_MONITOR_GET_CLASS (monitor)->calculate_crtc_pos (monitor, | 1471 | META_MONITOR_GET_CLASS (monitor)->calculate_crtc_pos (monitor, |
4291 | 1472 | monitor_mode, | 1472 | monitor_mode, |
4292 | @@ -1587,7 +1587,6 @@ get_closest_scale_factor_for_resolution (float width, | |||
4293 | 1587 | float scaled_w; | 1587 | float scaled_w; |
4294 | 1588 | float best_scale; | 1588 | float best_scale; |
4295 | 1589 | int base_scaled_w; | 1589 | int base_scaled_w; |
4296 | 1590 | gboolean limit_exceeded; | ||
4297 | 1591 | gboolean found_one; | 1590 | gboolean found_one; |
4298 | 1592 | 1591 | ||
4299 | 1593 | best_scale = 0; | 1592 | best_scale = 0; |
4300 | @@ -1604,7 +1603,6 @@ get_closest_scale_factor_for_resolution (float width, | |||
4301 | 1604 | 1603 | ||
4302 | 1605 | i = 0; | 1604 | i = 0; |
4303 | 1606 | found_one = FALSE; | 1605 | found_one = FALSE; |
4304 | 1607 | limit_exceeded = FALSE; | ||
4305 | 1608 | base_scaled_w = floorf (scaled_w); | 1606 | base_scaled_w = floorf (scaled_w); |
4306 | 1609 | 1607 | ||
4307 | 1610 | do | 1608 | do |
4308 | @@ -1637,17 +1635,17 @@ get_closest_scale_factor_for_resolution (float width, | |||
4309 | 1637 | 1635 | ||
4310 | 1638 | i++; | 1636 | i++; |
4311 | 1639 | } | 1637 | } |
4313 | 1640 | while (!found_one && !limit_exceeded); | 1638 | while (!found_one); |
4314 | 1641 | 1639 | ||
4315 | 1642 | out: | 1640 | out: |
4316 | 1643 | return best_scale; | 1641 | return best_scale; |
4317 | 1644 | } | 1642 | } |
4318 | 1645 | 1643 | ||
4319 | 1646 | float * | 1644 | float * |
4324 | 1647 | meta_monitor_calculate_supported_scales (MetaMonitor *monitor, | 1645 | meta_monitor_calculate_supported_scales (MetaMonitor *monitor, |
4325 | 1648 | MetaMonitorMode *monitor_mode, | 1646 | MetaMonitorMode *monitor_mode, |
4326 | 1649 | MetaMonitorScalesConstraint constraints, | 1647 | MetaMonitorScalesConstraint constraints, |
4327 | 1650 | int *n_supported_scales) | 1648 | int *n_supported_scales) |
4328 | 1651 | { | 1649 | { |
4329 | 1652 | unsigned int i, j; | 1650 | unsigned int i, j; |
4330 | 1653 | int width, height; | 1651 | int width, height; |
4331 | @@ -1727,11 +1725,11 @@ meta_monitor_mode_get_flags (MetaMonitorMode *monitor_mode) | |||
4332 | 1727 | } | 1725 | } |
4333 | 1728 | 1726 | ||
4334 | 1729 | gboolean | 1727 | gboolean |
4340 | 1730 | meta_monitor_mode_foreach_crtc (MetaMonitor *monitor, | 1728 | meta_monitor_mode_foreach_crtc (MetaMonitor *monitor, |
4341 | 1731 | MetaMonitorMode *mode, | 1729 | MetaMonitorMode *mode, |
4342 | 1732 | MetaMonitorModeFunc func, | 1730 | MetaMonitorModeFunc func, |
4343 | 1733 | gpointer user_data, | 1731 | gpointer user_data, |
4344 | 1734 | GError **error) | 1732 | GError **error) |
4345 | 1735 | { | 1733 | { |
4346 | 1736 | MetaMonitorPrivate *monitor_priv = | 1734 | MetaMonitorPrivate *monitor_priv = |
4347 | 1737 | meta_monitor_get_instance_private (monitor); | 1735 | meta_monitor_get_instance_private (monitor); |
4348 | @@ -1753,11 +1751,11 @@ meta_monitor_mode_foreach_crtc (MetaMonitor *monitor, | |||
4349 | 1753 | } | 1751 | } |
4350 | 1754 | 1752 | ||
4351 | 1755 | gboolean | 1753 | gboolean |
4357 | 1756 | meta_monitor_mode_foreach_output (MetaMonitor *monitor, | 1754 | meta_monitor_mode_foreach_output (MetaMonitor *monitor, |
4358 | 1757 | MetaMonitorMode *mode, | 1755 | MetaMonitorMode *mode, |
4359 | 1758 | MetaMonitorModeFunc func, | 1756 | MetaMonitorModeFunc func, |
4360 | 1759 | gpointer user_data, | 1757 | gpointer user_data, |
4361 | 1760 | GError **error) | 1758 | GError **error) |
4362 | 1761 | { | 1759 | { |
4363 | 1762 | MetaMonitorPrivate *monitor_priv = | 1760 | MetaMonitorPrivate *monitor_priv = |
4364 | 1763 | meta_monitor_get_instance_private (monitor); | 1761 | meta_monitor_get_instance_private (monitor); |
4365 | diff --git a/src/backends/meta-monitor.h b/src/backends/meta-monitor.h | |||
4366 | index 41f2c0f..413a4e2 100644 | |||
4367 | --- a/src/backends/meta-monitor.h | |||
4368 | +++ b/src/backends/meta-monitor.h | |||
4369 | @@ -74,12 +74,12 @@ struct _MetaMonitorClass | |||
4370 | 74 | MetaOutput * (* get_main_output) (MetaMonitor *monitor); | 74 | MetaOutput * (* get_main_output) (MetaMonitor *monitor); |
4371 | 75 | void (* derive_layout) (MetaMonitor *monitor, | 75 | void (* derive_layout) (MetaMonitor *monitor, |
4372 | 76 | MetaRectangle *layout); | 76 | MetaRectangle *layout); |
4379 | 77 | void (* calculate_crtc_pos) (MetaMonitor *monitor, | 77 | void (* calculate_crtc_pos) (MetaMonitor *monitor, |
4380 | 78 | MetaMonitorMode *monitor_mode, | 78 | MetaMonitorMode *monitor_mode, |
4381 | 79 | MetaOutput *output, | 79 | MetaOutput *output, |
4382 | 80 | MetaMonitorTransform crtc_transform, | 80 | MetaMonitorTransform crtc_transform, |
4383 | 81 | int *out_x, | 81 | int *out_x, |
4384 | 82 | int *out_y); | 82 | int *out_y); |
4385 | 83 | gboolean (* get_suggested_position) (MetaMonitor *monitor, | 83 | gboolean (* get_suggested_position) (MetaMonitor *monitor, |
4386 | 84 | int *width, | 84 | int *width, |
4387 | 85 | int *height); | 85 | int *height); |
4388 | @@ -214,22 +214,22 @@ META_EXPORT_TEST | |||
4389 | 214 | GList * meta_monitor_get_modes (MetaMonitor *monitor); | 214 | GList * meta_monitor_get_modes (MetaMonitor *monitor); |
4390 | 215 | 215 | ||
4391 | 216 | META_EXPORT_TEST | 216 | META_EXPORT_TEST |
4398 | 217 | void meta_monitor_calculate_crtc_pos (MetaMonitor *monitor, | 217 | void meta_monitor_calculate_crtc_pos (MetaMonitor *monitor, |
4399 | 218 | MetaMonitorMode *monitor_mode, | 218 | MetaMonitorMode *monitor_mode, |
4400 | 219 | MetaOutput *output, | 219 | MetaOutput *output, |
4401 | 220 | MetaMonitorTransform crtc_transform, | 220 | MetaMonitorTransform crtc_transform, |
4402 | 221 | int *out_x, | 221 | int *out_x, |
4403 | 222 | int *out_y); | 222 | int *out_y); |
4404 | 223 | 223 | ||
4405 | 224 | META_EXPORT_TEST | 224 | META_EXPORT_TEST |
4406 | 225 | float meta_monitor_calculate_mode_scale (MetaMonitor *monitor, | 225 | float meta_monitor_calculate_mode_scale (MetaMonitor *monitor, |
4407 | 226 | MetaMonitorMode *monitor_mode); | 226 | MetaMonitorMode *monitor_mode); |
4408 | 227 | 227 | ||
4409 | 228 | META_EXPORT_TEST | 228 | META_EXPORT_TEST |
4414 | 229 | float * meta_monitor_calculate_supported_scales (MetaMonitor *monitor, | 229 | float * meta_monitor_calculate_supported_scales (MetaMonitor *monitor, |
4415 | 230 | MetaMonitorMode *monitor_mode, | 230 | MetaMonitorMode *monitor_mode, |
4416 | 231 | MetaMonitorScalesConstraint constraints, | 231 | MetaMonitorScalesConstraint constraints, |
4417 | 232 | int *n_supported_scales); | 232 | int *n_supported_scales); |
4418 | 233 | 233 | ||
4419 | 234 | META_EXPORT_TEST | 234 | META_EXPORT_TEST |
4420 | 235 | const char * meta_monitor_mode_get_id (MetaMonitorMode *monitor_mode); | 235 | const char * meta_monitor_mode_get_id (MetaMonitorMode *monitor_mode); |
4421 | @@ -249,18 +249,18 @@ META_EXPORT_TEST | |||
4422 | 249 | MetaCrtcModeFlag meta_monitor_mode_get_flags (MetaMonitorMode *monitor_mode); | 249 | MetaCrtcModeFlag meta_monitor_mode_get_flags (MetaMonitorMode *monitor_mode); |
4423 | 250 | 250 | ||
4424 | 251 | META_EXPORT_TEST | 251 | META_EXPORT_TEST |
4430 | 252 | gboolean meta_monitor_mode_foreach_crtc (MetaMonitor *monitor, | 252 | gboolean meta_monitor_mode_foreach_crtc (MetaMonitor *monitor, |
4431 | 253 | MetaMonitorMode *mode, | 253 | MetaMonitorMode *mode, |
4432 | 254 | MetaMonitorModeFunc func, | 254 | MetaMonitorModeFunc func, |
4433 | 255 | gpointer user_data, | 255 | gpointer user_data, |
4434 | 256 | GError **error); | 256 | GError **error); |
4435 | 257 | 257 | ||
4436 | 258 | META_EXPORT_TEST | 258 | META_EXPORT_TEST |
4442 | 259 | gboolean meta_monitor_mode_foreach_output (MetaMonitor *monitor, | 259 | gboolean meta_monitor_mode_foreach_output (MetaMonitor *monitor, |
4443 | 260 | MetaMonitorMode *mode, | 260 | MetaMonitorMode *mode, |
4444 | 261 | MetaMonitorModeFunc func, | 261 | MetaMonitorModeFunc func, |
4445 | 262 | gpointer user_data, | 262 | gpointer user_data, |
4446 | 263 | GError **error); | 263 | GError **error); |
4447 | 264 | 264 | ||
4448 | 265 | META_EXPORT_TEST | 265 | META_EXPORT_TEST |
4449 | 266 | gboolean meta_monitor_mode_should_be_advertised (MetaMonitorMode *monitor_mode); | 266 | gboolean meta_monitor_mode_should_be_advertised (MetaMonitorMode *monitor_mode); |
4450 | diff --git a/src/backends/meta-stage-private.h b/src/backends/meta-stage-private.h | |||
4451 | index 21feab3..639d237 100644 | |||
4452 | --- a/src/backends/meta-stage-private.h | |||
4453 | +++ b/src/backends/meta-stage-private.h | |||
4454 | @@ -23,12 +23,13 @@ | |||
4455 | 23 | #include "backends/meta-cursor.h" | 23 | #include "backends/meta-cursor.h" |
4456 | 24 | #include "meta/boxes.h" | 24 | #include "meta/boxes.h" |
4457 | 25 | #include "meta/meta-stage.h" | 25 | #include "meta/meta-stage.h" |
4458 | 26 | #include "meta/types.h" | ||
4459 | 26 | 27 | ||
4460 | 27 | G_BEGIN_DECLS | 28 | G_BEGIN_DECLS |
4461 | 28 | 29 | ||
4462 | 29 | typedef struct _MetaOverlay MetaOverlay; | 30 | typedef struct _MetaOverlay MetaOverlay; |
4463 | 30 | 31 | ||
4465 | 31 | ClutterActor *meta_stage_new (void); | 32 | ClutterActor *meta_stage_new (MetaBackend *backend); |
4466 | 32 | 33 | ||
4467 | 33 | MetaOverlay *meta_stage_create_cursor_overlay (MetaStage *stage); | 34 | MetaOverlay *meta_stage_create_cursor_overlay (MetaStage *stage); |
4468 | 34 | void meta_stage_remove_cursor_overlay (MetaStage *stage, | 35 | void meta_stage_remove_cursor_overlay (MetaStage *stage, |
4469 | diff --git a/src/backends/meta-stage.c b/src/backends/meta-stage.c | |||
4470 | index 1f0d9c0..47a00e5 100644 | |||
4471 | --- a/src/backends/meta-stage.c | |||
4472 | +++ b/src/backends/meta-stage.c | |||
4473 | @@ -181,6 +181,15 @@ meta_stage_deactivate (ClutterStage *actor) | |||
4474 | 181 | } | 181 | } |
4475 | 182 | 182 | ||
4476 | 183 | static void | 183 | static void |
4477 | 184 | on_power_save_changed (MetaMonitorManager *monitor_manager, | ||
4478 | 185 | MetaStage *stage) | ||
4479 | 186 | { | ||
4480 | 187 | if (meta_monitor_manager_get_power_save_mode (monitor_manager) == | ||
4481 | 188 | META_POWER_SAVE_ON) | ||
4482 | 189 | clutter_actor_queue_redraw (CLUTTER_ACTOR (stage)); | ||
4483 | 190 | } | ||
4484 | 191 | |||
4485 | 192 | static void | ||
4486 | 184 | meta_stage_class_init (MetaStageClass *klass) | 193 | meta_stage_class_init (MetaStageClass *klass) |
4487 | 185 | { | 194 | { |
4488 | 186 | ClutterStageClass *stage_class = (ClutterStageClass *) klass; | 195 | ClutterStageClass *stage_class = (ClutterStageClass *) klass; |
4489 | @@ -209,11 +218,21 @@ meta_stage_init (MetaStage *stage) | |||
4490 | 209 | } | 218 | } |
4491 | 210 | 219 | ||
4492 | 211 | ClutterActor * | 220 | ClutterActor * |
4494 | 212 | meta_stage_new (void) | 221 | meta_stage_new (MetaBackend *backend) |
4495 | 213 | { | 222 | { |
4499 | 214 | return g_object_new (META_TYPE_STAGE, | 223 | MetaStage *stage; |
4500 | 215 | "cursor-visible", FALSE, | 224 | MetaMonitorManager *monitor_manager; |
4501 | 216 | NULL); | 225 | |
4502 | 226 | stage = g_object_new (META_TYPE_STAGE, | ||
4503 | 227 | "cursor-visible", FALSE, | ||
4504 | 228 | NULL); | ||
4505 | 229 | |||
4506 | 230 | monitor_manager = meta_backend_get_monitor_manager (backend); | ||
4507 | 231 | g_signal_connect (monitor_manager, "power-save-mode-changed", | ||
4508 | 232 | G_CALLBACK (on_power_save_changed), | ||
4509 | 233 | stage); | ||
4510 | 234 | |||
4511 | 235 | return CLUTTER_ACTOR (stage); | ||
4512 | 217 | } | 236 | } |
4513 | 218 | 237 | ||
4514 | 219 | static void | 238 | static void |
4515 | diff --git a/src/backends/native/meta-crtc-kms.c b/src/backends/native/meta-crtc-kms.c | |||
4516 | index 79a9b1e..8c2fbfe 100644 | |||
4517 | --- a/src/backends/native/meta-crtc-kms.c | |||
4518 | +++ b/src/backends/native/meta-crtc-kms.c | |||
4519 | @@ -41,9 +41,6 @@ | |||
4520 | 41 | typedef struct _MetaCrtcKms | 41 | typedef struct _MetaCrtcKms |
4521 | 42 | { | 42 | { |
4522 | 43 | unsigned int index; | 43 | unsigned int index; |
4523 | 44 | uint32_t underscan_prop_id; | ||
4524 | 45 | uint32_t underscan_hborder_prop_id; | ||
4525 | 46 | uint32_t underscan_vborder_prop_id; | ||
4526 | 47 | uint32_t primary_plane_id; | 44 | uint32_t primary_plane_id; |
4527 | 48 | uint32_t rotation_prop_id; | 45 | uint32_t rotation_prop_id; |
4528 | 49 | uint32_t rotation_map[ALL_TRANSFORMS]; | 46 | uint32_t rotation_map[ALL_TRANSFORMS]; |
4529 | @@ -137,54 +134,6 @@ meta_crtc_kms_apply_transform (MetaCrtc *crtc) | |||
4530 | 137 | } | 134 | } |
4531 | 138 | } | 135 | } |
4532 | 139 | 136 | ||
4533 | 140 | void | ||
4534 | 141 | meta_crtc_kms_set_underscan (MetaCrtc *crtc, | ||
4535 | 142 | gboolean is_underscanning) | ||
4536 | 143 | { | ||
4537 | 144 | MetaCrtcKms *crtc_kms = crtc->driver_private; | ||
4538 | 145 | MetaGpu *gpu = meta_crtc_get_gpu (crtc); | ||
4539 | 146 | MetaGpuKms *gpu_kms = META_GPU_KMS (gpu); | ||
4540 | 147 | int kms_fd; | ||
4541 | 148 | |||
4542 | 149 | if (!crtc_kms->underscan_prop_id) | ||
4543 | 150 | return; | ||
4544 | 151 | |||
4545 | 152 | kms_fd = meta_gpu_kms_get_fd (gpu_kms); | ||
4546 | 153 | |||
4547 | 154 | if (is_underscanning) | ||
4548 | 155 | { | ||
4549 | 156 | drmModeObjectSetProperty (kms_fd, crtc->crtc_id, | ||
4550 | 157 | DRM_MODE_OBJECT_CRTC, | ||
4551 | 158 | crtc_kms->underscan_prop_id, (uint64_t) 1); | ||
4552 | 159 | |||
4553 | 160 | if (crtc_kms->underscan_hborder_prop_id) | ||
4554 | 161 | { | ||
4555 | 162 | uint64_t value; | ||
4556 | 163 | |||
4557 | 164 | value = crtc->current_mode->width * 0.05; | ||
4558 | 165 | drmModeObjectSetProperty (kms_fd, crtc->crtc_id, | ||
4559 | 166 | DRM_MODE_OBJECT_CRTC, | ||
4560 | 167 | crtc_kms->underscan_hborder_prop_id, value); | ||
4561 | 168 | } | ||
4562 | 169 | if (crtc_kms->underscan_vborder_prop_id) | ||
4563 | 170 | { | ||
4564 | 171 | uint64_t value; | ||
4565 | 172 | |||
4566 | 173 | value = crtc->current_mode->height * 0.05; | ||
4567 | 174 | drmModeObjectSetProperty (kms_fd, crtc->crtc_id, | ||
4568 | 175 | DRM_MODE_OBJECT_CRTC, | ||
4569 | 176 | crtc_kms->underscan_vborder_prop_id, value); | ||
4570 | 177 | } | ||
4571 | 178 | |||
4572 | 179 | } | ||
4573 | 180 | else | ||
4574 | 181 | { | ||
4575 | 182 | drmModeObjectSetProperty (kms_fd, crtc->crtc_id, | ||
4576 | 183 | DRM_MODE_OBJECT_CRTC, | ||
4577 | 184 | crtc_kms->underscan_prop_id, (uint64_t) 0); | ||
4578 | 185 | } | ||
4579 | 186 | } | ||
4580 | 187 | |||
4581 | 188 | static int | 137 | static int |
4582 | 189 | find_property_index (MetaGpu *gpu, | 138 | find_property_index (MetaGpu *gpu, |
4583 | 190 | drmModeObjectPropertiesPtr props, | 139 | drmModeObjectPropertiesPtr props, |
4584 | @@ -534,43 +483,6 @@ init_crtc_rotations (MetaCrtc *crtc, | |||
4585 | 534 | } | 483 | } |
4586 | 535 | 484 | ||
4587 | 536 | static void | 485 | static void |
4588 | 537 | find_crtc_properties (MetaCrtc *crtc, | ||
4589 | 538 | MetaGpuKms *gpu_kms) | ||
4590 | 539 | { | ||
4591 | 540 | MetaCrtcKms *crtc_kms = crtc->driver_private; | ||
4592 | 541 | int kms_fd; | ||
4593 | 542 | drmModeObjectPropertiesPtr props; | ||
4594 | 543 | unsigned int i; | ||
4595 | 544 | |||
4596 | 545 | kms_fd = meta_gpu_kms_get_fd (gpu_kms); | ||
4597 | 546 | props = drmModeObjectGetProperties (kms_fd, crtc->crtc_id, | ||
4598 | 547 | DRM_MODE_OBJECT_CRTC); | ||
4599 | 548 | if (!props) | ||
4600 | 549 | return; | ||
4601 | 550 | |||
4602 | 551 | for (i = 0; i < props->count_props; i++) | ||
4603 | 552 | { | ||
4604 | 553 | drmModePropertyPtr prop = drmModeGetProperty (kms_fd, props->props[i]); | ||
4605 | 554 | if (!prop) | ||
4606 | 555 | continue; | ||
4607 | 556 | |||
4608 | 557 | if ((prop->flags & DRM_MODE_PROP_ENUM) && | ||
4609 | 558 | strcmp (prop->name, "underscan") == 0) | ||
4610 | 559 | crtc_kms->underscan_prop_id = prop->prop_id; | ||
4611 | 560 | else if ((prop->flags & DRM_MODE_PROP_RANGE) && | ||
4612 | 561 | strcmp (prop->name, "underscan hborder") == 0) | ||
4613 | 562 | crtc_kms->underscan_hborder_prop_id = prop->prop_id; | ||
4614 | 563 | else if ((prop->flags & DRM_MODE_PROP_RANGE) && | ||
4615 | 564 | strcmp (prop->name, "underscan vborder") == 0) | ||
4616 | 565 | crtc_kms->underscan_vborder_prop_id = prop->prop_id; | ||
4617 | 566 | |||
4618 | 567 | drmModeFreeProperty (prop); | ||
4619 | 568 | } | ||
4620 | 569 | |||
4621 | 570 | drmModeFreeObjectProperties (props); | ||
4622 | 571 | } | ||
4623 | 572 | |||
4624 | 573 | static void | ||
4625 | 574 | meta_crtc_destroy_notify (MetaCrtc *crtc) | 486 | meta_crtc_destroy_notify (MetaCrtc *crtc) |
4626 | 575 | { | 487 | { |
4627 | 576 | MetaCrtcKms *crtc_kms = crtc->driver_private; | 488 | MetaCrtcKms *crtc_kms = crtc->driver_private; |
4628 | @@ -628,7 +540,6 @@ meta_create_kms_crtc (MetaGpuKms *gpu_kms, | |||
4629 | 628 | crtc->driver_private = crtc_kms; | 540 | crtc->driver_private = crtc_kms; |
4630 | 629 | crtc->driver_notify = (GDestroyNotify) meta_crtc_destroy_notify; | 541 | crtc->driver_notify = (GDestroyNotify) meta_crtc_destroy_notify; |
4631 | 630 | 542 | ||
4632 | 631 | find_crtc_properties (crtc, gpu_kms); | ||
4633 | 632 | init_crtc_rotations (crtc, gpu); | 543 | init_crtc_rotations (crtc, gpu); |
4634 | 633 | 544 | ||
4635 | 634 | return crtc; | 545 | return crtc; |
4636 | diff --git a/src/backends/native/meta-crtc-kms.h b/src/backends/native/meta-crtc-kms.h | |||
4637 | index 622ea55..456f440 100644 | |||
4638 | --- a/src/backends/native/meta-crtc-kms.h | |||
4639 | +++ b/src/backends/native/meta-crtc-kms.h | |||
4640 | @@ -44,9 +44,6 @@ gboolean meta_crtc_kms_is_transform_handled (MetaCrtc *crtc, | |||
4641 | 44 | 44 | ||
4642 | 45 | void meta_crtc_kms_apply_transform (MetaCrtc *crtc); | 45 | void meta_crtc_kms_apply_transform (MetaCrtc *crtc); |
4643 | 46 | 46 | ||
4644 | 47 | void meta_crtc_kms_set_underscan (MetaCrtc *crtc, | ||
4645 | 48 | gboolean is_underscanning); | ||
4646 | 49 | |||
4647 | 50 | GArray * meta_crtc_kms_get_modifiers (MetaCrtc *crtc, | 47 | GArray * meta_crtc_kms_get_modifiers (MetaCrtc *crtc, |
4648 | 51 | uint32_t format); | 48 | uint32_t format); |
4649 | 52 | 49 | ||
4650 | diff --git a/src/backends/native/meta-gpu-kms.c b/src/backends/native/meta-gpu-kms.c | |||
4651 | index d924466..c569b94 100644 | |||
4652 | --- a/src/backends/native/meta-gpu-kms.c | |||
4653 | +++ b/src/backends/native/meta-gpu-kms.c | |||
4654 | @@ -210,7 +210,7 @@ meta_gpu_kms_is_crtc_active (MetaGpuKms *gpu_kms, | |||
4655 | 210 | 210 | ||
4656 | 211 | g_assert (meta_crtc_get_gpu (crtc) == META_GPU (gpu_kms)); | 211 | g_assert (meta_crtc_get_gpu (crtc) == META_GPU (gpu_kms)); |
4657 | 212 | 212 | ||
4659 | 213 | if (monitor_manager->power_save_mode != META_POWER_SAVE_ON) | 213 | if (meta_monitor_manager_get_power_save_mode (monitor_manager)) |
4660 | 214 | return FALSE; | 214 | return FALSE; |
4661 | 215 | 215 | ||
4662 | 216 | connected_crtc_found = FALSE; | 216 | connected_crtc_found = FALSE; |
4663 | @@ -273,7 +273,8 @@ meta_gpu_kms_flip_crtc (MetaGpuKms *gpu_kms, | |||
4664 | 273 | int ret = -1; | 273 | int ret = -1; |
4665 | 274 | 274 | ||
4666 | 275 | g_assert (meta_crtc_get_gpu (crtc) == gpu); | 275 | g_assert (meta_crtc_get_gpu (crtc) == gpu); |
4668 | 276 | g_assert (monitor_manager->power_save_mode == META_POWER_SAVE_ON); | 276 | g_assert (meta_monitor_manager_get_power_save_mode (monitor_manager) == |
4669 | 277 | META_POWER_SAVE_ON); | ||
4670 | 277 | 278 | ||
4671 | 278 | get_crtc_drm_connectors (gpu, crtc, &connectors, &n_connectors); | 279 | get_crtc_drm_connectors (gpu, crtc, &connectors, &n_connectors); |
4672 | 279 | g_assert (n_connectors > 0); | 280 | g_assert (n_connectors > 0); |
4673 | @@ -836,8 +837,6 @@ meta_gpu_kms_read_current (MetaGpu *gpu, | |||
4674 | 836 | GError **error) | 837 | GError **error) |
4675 | 837 | { | 838 | { |
4676 | 838 | MetaGpuKms *gpu_kms = META_GPU_KMS (gpu); | 839 | MetaGpuKms *gpu_kms = META_GPU_KMS (gpu); |
4677 | 839 | MetaMonitorManager *monitor_manager = | ||
4678 | 840 | meta_gpu_get_monitor_manager (gpu); | ||
4679 | 841 | MetaKmsResources resources; | 840 | MetaKmsResources resources; |
4680 | 842 | g_autoptr (GError) local_error = NULL; | 841 | g_autoptr (GError) local_error = NULL; |
4681 | 843 | 842 | ||
4682 | @@ -855,8 +854,6 @@ meta_gpu_kms_read_current (MetaGpu *gpu, | |||
4683 | 855 | gpu_kms->max_buffer_width = resources.resources->max_width; | 854 | gpu_kms->max_buffer_width = resources.resources->max_width; |
4684 | 856 | gpu_kms->max_buffer_height = resources.resources->max_height; | 855 | gpu_kms->max_buffer_height = resources.resources->max_height; |
4685 | 857 | 856 | ||
4686 | 858 | monitor_manager->power_save_mode = META_POWER_SAVE_ON; | ||
4687 | 859 | |||
4688 | 860 | /* Note: we must not free the public structures (output, crtc, monitor | 857 | /* Note: we must not free the public structures (output, crtc, monitor |
4689 | 861 | mode and monitor info) here, they must be kept alive until the API | 858 | mode and monitor info) here, they must be kept alive until the API |
4690 | 862 | users are done with them after we emit monitors-changed, and thus | 859 | users are done with them after we emit monitors-changed, and thus |
4691 | diff --git a/src/backends/native/meta-monitor-manager-kms.c b/src/backends/native/meta-monitor-manager-kms.c | |||
4692 | index c2c8ab5..9a03644 100644 | |||
4693 | --- a/src/backends/native/meta-monitor-manager-kms.c | |||
4694 | +++ b/src/backends/native/meta-monitor-manager-kms.c | |||
4695 | @@ -109,6 +109,21 @@ meta_monitor_manager_kms_read_edid (MetaMonitorManager *manager, | |||
4696 | 109 | } | 109 | } |
4697 | 110 | 110 | ||
4698 | 111 | static void | 111 | static void |
4699 | 112 | meta_monitor_manager_kms_read_current_state (MetaMonitorManager *manager) | ||
4700 | 113 | { | ||
4701 | 114 | MetaMonitorManagerClass *parent_class = | ||
4702 | 115 | META_MONITOR_MANAGER_CLASS (meta_monitor_manager_kms_parent_class); | ||
4703 | 116 | MetaPowerSave power_save_mode; | ||
4704 | 117 | |||
4705 | 118 | power_save_mode = meta_monitor_manager_get_power_save_mode (manager); | ||
4706 | 119 | if (power_save_mode != META_POWER_SAVE_ON) | ||
4707 | 120 | meta_monitor_manager_power_save_mode_changed (manager, | ||
4708 | 121 | META_POWER_SAVE_ON); | ||
4709 | 122 | |||
4710 | 123 | parent_class->read_current_state (manager); | ||
4711 | 124 | } | ||
4712 | 125 | |||
4713 | 126 | static void | ||
4714 | 112 | meta_monitor_manager_kms_set_power_save_mode (MetaMonitorManager *manager, | 127 | meta_monitor_manager_kms_set_power_save_mode (MetaMonitorManager *manager, |
4715 | 113 | MetaPowerSave mode) | 128 | MetaPowerSave mode) |
4716 | 114 | { | 129 | { |
4717 | @@ -512,11 +527,11 @@ meta_monitor_manager_kms_calculate_monitor_mode_scale (MetaMonitorManager *manag | |||
4718 | 512 | } | 527 | } |
4719 | 513 | 528 | ||
4720 | 514 | static float * | 529 | static float * |
4726 | 515 | meta_monitor_manager_kms_calculate_supported_scales (MetaMonitorManager *manager, | 530 | meta_monitor_manager_kms_calculate_supported_scales (MetaMonitorManager *manager, |
4727 | 516 | MetaLogicalMonitorLayoutMode layout_mode, | 531 | MetaLogicalMonitorLayoutMode layout_mode, |
4728 | 517 | MetaMonitor *monitor, | 532 | MetaMonitor *monitor, |
4729 | 518 | MetaMonitorMode *monitor_mode, | 533 | MetaMonitorMode *monitor_mode, |
4730 | 519 | int *n_supported_scales) | 534 | int *n_supported_scales) |
4731 | 520 | { | 535 | { |
4732 | 521 | MetaMonitorScalesConstraint constraints = | 536 | MetaMonitorScalesConstraint constraints = |
4733 | 522 | META_MONITOR_SCALES_CONSTRAINT_NONE; | 537 | META_MONITOR_SCALES_CONSTRAINT_NONE; |
4734 | @@ -755,6 +770,7 @@ meta_monitor_manager_kms_class_init (MetaMonitorManagerKmsClass *klass) | |||
4735 | 755 | object_class->dispose = meta_monitor_manager_kms_dispose; | 770 | object_class->dispose = meta_monitor_manager_kms_dispose; |
4736 | 756 | 771 | ||
4737 | 757 | manager_class->read_edid = meta_monitor_manager_kms_read_edid; | 772 | manager_class->read_edid = meta_monitor_manager_kms_read_edid; |
4738 | 773 | manager_class->read_current_state = meta_monitor_manager_kms_read_current_state; | ||
4739 | 758 | manager_class->ensure_initial_config = meta_monitor_manager_kms_ensure_initial_config; | 774 | manager_class->ensure_initial_config = meta_monitor_manager_kms_ensure_initial_config; |
4740 | 759 | manager_class->apply_monitors_config = meta_monitor_manager_kms_apply_monitors_config; | 775 | manager_class->apply_monitors_config = meta_monitor_manager_kms_apply_monitors_config; |
4741 | 760 | manager_class->set_power_save_mode = meta_monitor_manager_kms_set_power_save_mode; | 776 | manager_class->set_power_save_mode = meta_monitor_manager_kms_set_power_save_mode; |
4742 | diff --git a/src/backends/native/meta-output-kms.c b/src/backends/native/meta-output-kms.c | |||
4743 | index f3fa17e..f3cc543 100644 | |||
4744 | --- a/src/backends/native/meta-output-kms.c | |||
4745 | +++ b/src/backends/native/meta-output-kms.c | |||
4746 | @@ -56,6 +56,10 @@ typedef struct _MetaOutputKms | |||
4747 | 56 | uint32_t edid_blob_id; | 56 | uint32_t edid_blob_id; |
4748 | 57 | uint32_t tile_blob_id; | 57 | uint32_t tile_blob_id; |
4749 | 58 | 58 | ||
4750 | 59 | uint32_t underscan_prop_id; | ||
4751 | 60 | uint32_t underscan_hborder_prop_id; | ||
4752 | 61 | uint32_t underscan_vborder_prop_id; | ||
4753 | 62 | |||
4754 | 59 | int suggested_x; | 63 | int suggested_x; |
4755 | 60 | int suggested_y; | 64 | int suggested_y; |
4756 | 61 | uint32_t hotplug_mode_update; | 65 | uint32_t hotplug_mode_update; |
4757 | @@ -66,13 +70,55 @@ typedef struct _MetaOutputKms | |||
4758 | 66 | void | 70 | void |
4759 | 67 | meta_output_kms_set_underscan (MetaOutput *output) | 71 | meta_output_kms_set_underscan (MetaOutput *output) |
4760 | 68 | { | 72 | { |
4761 | 73 | MetaOutputKms *output_kms = output->driver_private; | ||
4762 | 74 | MetaGpu *gpu = meta_output_get_gpu (output); | ||
4763 | 75 | MetaGpuKms *gpu_kms = META_GPU_KMS (gpu); | ||
4764 | 69 | MetaCrtc *crtc; | 76 | MetaCrtc *crtc; |
4765 | 77 | int kms_fd; | ||
4766 | 78 | uint32_t connector_id; | ||
4767 | 70 | 79 | ||
4770 | 71 | crtc = meta_output_get_assigned_crtc (output); | 80 | if (!output_kms->underscan_prop_id) |
4769 | 72 | if (!crtc) | ||
4771 | 73 | return; | 81 | return; |
4772 | 74 | 82 | ||
4774 | 75 | meta_crtc_kms_set_underscan (crtc, output->is_underscanning); | 83 | crtc = meta_output_get_assigned_crtc (output); |
4775 | 84 | kms_fd = meta_gpu_kms_get_fd (gpu_kms); | ||
4776 | 85 | connector_id = output_kms->connector->connector_id; | ||
4777 | 86 | |||
4778 | 87 | if (output->is_underscanning && crtc && crtc->current_mode) | ||
4779 | 88 | { | ||
4780 | 89 | drmModeObjectSetProperty (kms_fd, connector_id, | ||
4781 | 90 | DRM_MODE_OBJECT_CONNECTOR, | ||
4782 | 91 | output_kms->underscan_prop_id, | ||
4783 | 92 | (uint64_t) 1); | ||
4784 | 93 | |||
4785 | 94 | if (output_kms->underscan_hborder_prop_id) | ||
4786 | 95 | { | ||
4787 | 96 | uint64_t value; | ||
4788 | 97 | |||
4789 | 98 | value = MIN (128, crtc->current_mode->width * 0.05); | ||
4790 | 99 | drmModeObjectSetProperty (kms_fd, connector_id, | ||
4791 | 100 | DRM_MODE_OBJECT_CONNECTOR, | ||
4792 | 101 | output_kms->underscan_hborder_prop_id, | ||
4793 | 102 | value); | ||
4794 | 103 | } | ||
4795 | 104 | if (output_kms->underscan_vborder_prop_id) | ||
4796 | 105 | { | ||
4797 | 106 | uint64_t value; | ||
4798 | 107 | |||
4799 | 108 | value = MIN (128, crtc->current_mode->height * 0.05); | ||
4800 | 109 | drmModeObjectSetProperty (kms_fd, connector_id, | ||
4801 | 110 | DRM_MODE_OBJECT_CONNECTOR, | ||
4802 | 111 | output_kms->underscan_vborder_prop_id, | ||
4803 | 112 | value); | ||
4804 | 113 | } | ||
4805 | 114 | } | ||
4806 | 115 | else | ||
4807 | 116 | { | ||
4808 | 117 | drmModeObjectSetProperty (kms_fd, connector_id, | ||
4809 | 118 | DRM_MODE_OBJECT_CONNECTOR, | ||
4810 | 119 | output_kms->underscan_prop_id, | ||
4811 | 120 | (uint64_t) 0); | ||
4812 | 121 | } | ||
4813 | 76 | } | 122 | } |
4814 | 77 | 123 | ||
4815 | 78 | uint32_t | 124 | uint32_t |
4816 | @@ -312,6 +358,15 @@ find_connector_properties (MetaGpuKms *gpu_kms, | |||
4817 | 312 | strcmp (prop->name, "panel orientation") == 0) | 358 | strcmp (prop->name, "panel orientation") == 0) |
4818 | 313 | handle_panel_orientation (output, prop, | 359 | handle_panel_orientation (output, prop, |
4819 | 314 | output_kms->connector->prop_values[i]); | 360 | output_kms->connector->prop_values[i]); |
4820 | 361 | else if ((prop->flags & DRM_MODE_PROP_ENUM) && | ||
4821 | 362 | strcmp (prop->name, "underscan") == 0) | ||
4822 | 363 | output_kms->underscan_prop_id = prop->prop_id; | ||
4823 | 364 | else if ((prop->flags & DRM_MODE_PROP_RANGE) && | ||
4824 | 365 | strcmp (prop->name, "underscan hborder") == 0) | ||
4825 | 366 | output_kms->underscan_hborder_prop_id = prop->prop_id; | ||
4826 | 367 | else if ((prop->flags & DRM_MODE_PROP_RANGE) && | ||
4827 | 368 | strcmp (prop->name, "underscan vborder") == 0) | ||
4828 | 369 | output_kms->underscan_vborder_prop_id = prop->prop_id; | ||
4829 | 315 | 370 | ||
4830 | 316 | drmModeFreeProperty (prop); | 371 | drmModeFreeProperty (prop); |
4831 | 317 | } | 372 | } |
4832 | @@ -639,6 +694,7 @@ meta_create_kms_output (MetaGpuKms *gpu_kms, | |||
4833 | 639 | output->suggested_x = output_kms->suggested_x; | 694 | output->suggested_x = output_kms->suggested_x; |
4834 | 640 | output->suggested_y = output_kms->suggested_y; | 695 | output->suggested_y = output_kms->suggested_y; |
4835 | 641 | output->hotplug_mode_update = output_kms->hotplug_mode_update; | 696 | output->hotplug_mode_update = output_kms->hotplug_mode_update; |
4836 | 697 | output->supports_underscanning = output_kms->underscan_prop_id != 0; | ||
4837 | 642 | 698 | ||
4838 | 643 | if (output_kms->edid_blob_id != 0) | 699 | if (output_kms->edid_blob_id != 0) |
4839 | 644 | { | 700 | { |
4840 | diff --git a/src/backends/native/meta-renderer-native.c b/src/backends/native/meta-renderer-native.c | |||
4841 | index 771ca08..086e8e4 100644 | |||
4842 | --- a/src/backends/native/meta-renderer-native.c | |||
4843 | +++ b/src/backends/native/meta-renderer-native.c | |||
4844 | @@ -103,8 +103,6 @@ typedef struct _MetaRendererNativeGpuData | |||
4845 | 103 | #ifdef HAVE_EGL_DEVICE | 103 | #ifdef HAVE_EGL_DEVICE |
4846 | 104 | struct { | 104 | struct { |
4847 | 105 | EGLDeviceEXT device; | 105 | EGLDeviceEXT device; |
4848 | 106 | |||
4849 | 107 | gboolean no_egl_output_drm_flip_event; | ||
4850 | 108 | } egl; | 106 | } egl; |
4851 | 109 | #endif | 107 | #endif |
4852 | 110 | 108 | ||
4853 | @@ -215,6 +213,9 @@ struct _MetaRendererNative | |||
4854 | 215 | 213 | ||
4855 | 216 | int64_t frame_counter; | 214 | int64_t frame_counter; |
4856 | 217 | gboolean pending_unset_disabled_crtcs; | 215 | gboolean pending_unset_disabled_crtcs; |
4857 | 216 | |||
4858 | 217 | GList *power_save_page_flip_closures; | ||
4859 | 218 | guint power_save_page_flip_source_id; | ||
4860 | 218 | }; | 219 | }; |
4861 | 219 | 220 | ||
4862 | 220 | static void | 221 | static void |
4863 | @@ -257,6 +258,15 @@ cogl_pixel_format_from_drm_format (uint32_t drm_format, | |||
4864 | 257 | CoglPixelFormat *out_format, | 258 | CoglPixelFormat *out_format, |
4865 | 258 | CoglTextureComponents *out_components); | 259 | CoglTextureComponents *out_components); |
4866 | 259 | 260 | ||
4867 | 261 | static MetaBackend * | ||
4868 | 262 | backend_from_renderer_native (MetaRendererNative *renderer_native) | ||
4869 | 263 | { | ||
4870 | 264 | MetaMonitorManager *monitor_manager = | ||
4871 | 265 | META_MONITOR_MANAGER (renderer_native->monitor_manager_kms); | ||
4872 | 266 | |||
4873 | 267 | return meta_monitor_manager_get_backend (monitor_manager); | ||
4874 | 268 | } | ||
4875 | 269 | |||
4876 | 260 | static void | 270 | static void |
4877 | 261 | meta_renderer_native_gpu_data_free (MetaRendererNativeGpuData *renderer_gpu_data) | 271 | meta_renderer_native_gpu_data_free (MetaRendererNativeGpuData *renderer_gpu_data) |
4878 | 262 | { | 272 | { |
4879 | @@ -1485,8 +1495,6 @@ flip_egl_stream (MetaOnscreenNative *onscreen_native, | |||
4880 | 1485 | renderer_gpu_data = | 1495 | renderer_gpu_data = |
4881 | 1486 | meta_renderer_native_get_gpu_data (onscreen_native->renderer_native, | 1496 | meta_renderer_native_get_gpu_data (onscreen_native->renderer_native, |
4882 | 1487 | onscreen_native->render_gpu); | 1497 | onscreen_native->render_gpu); |
4883 | 1488 | if (renderer_gpu_data->egl.no_egl_output_drm_flip_event) | ||
4884 | 1489 | return FALSE; | ||
4885 | 1490 | 1498 | ||
4886 | 1491 | closure_container = | 1499 | closure_container = |
4887 | 1492 | meta_gpu_kms_wrap_flip_closure (onscreen_native->render_gpu, | 1500 | meta_gpu_kms_wrap_flip_closure (onscreen_native->render_gpu, |
4888 | @@ -1509,9 +1517,7 @@ flip_egl_stream (MetaOnscreenNative *onscreen_native, | |||
4889 | 1509 | if (error->domain != META_EGL_ERROR || | 1517 | if (error->domain != META_EGL_ERROR || |
4890 | 1510 | error->code != EGL_RESOURCE_BUSY_EXT) | 1518 | error->code != EGL_RESOURCE_BUSY_EXT) |
4891 | 1511 | { | 1519 | { |
4895 | 1512 | g_warning ("Failed to flip EGL stream (%s), relying on clock from " | 1520 | g_warning ("Failed to flip EGL stream: %s", error->message); |
4893 | 1513 | "now on", error->message); | ||
4894 | 1514 | renderer_gpu_data->egl.no_egl_output_drm_flip_event = TRUE; | ||
4896 | 1515 | } | 1521 | } |
4897 | 1516 | g_error_free (error); | 1522 | g_error_free (error); |
4898 | 1517 | meta_gpu_kms_flip_closure_container_free (closure_container); | 1523 | meta_gpu_kms_flip_closure_container_free (closure_container); |
4899 | @@ -1532,6 +1538,38 @@ is_timestamp_earlier_than (uint64_t ts1, | |||
4900 | 1532 | return ts2 - ts1 < UINT64_MAX / 2; | 1538 | return ts2 - ts1 < UINT64_MAX / 2; |
4901 | 1533 | } | 1539 | } |
4902 | 1534 | 1540 | ||
4903 | 1541 | static gboolean | ||
4904 | 1542 | dummy_power_save_page_flip_cb (gpointer user_data) | ||
4905 | 1543 | { | ||
4906 | 1544 | MetaRendererNative *renderer_native = user_data; | ||
4907 | 1545 | |||
4908 | 1546 | g_list_free_full (renderer_native->power_save_page_flip_closures, | ||
4909 | 1547 | (GDestroyNotify) g_closure_unref); | ||
4910 | 1548 | renderer_native->power_save_page_flip_closures = NULL; | ||
4911 | 1549 | renderer_native->power_save_page_flip_source_id = 0; | ||
4912 | 1550 | |||
4913 | 1551 | return G_SOURCE_REMOVE; | ||
4914 | 1552 | } | ||
4915 | 1553 | |||
4916 | 1554 | static void | ||
4917 | 1555 | queue_dummy_power_save_page_flip (MetaRendererNative *renderer_native, | ||
4918 | 1556 | GClosure *flip_closure) | ||
4919 | 1557 | { | ||
4920 | 1558 | const unsigned int timeout_ms = 100; | ||
4921 | 1559 | |||
4922 | 1560 | if (!renderer_native->power_save_page_flip_source_id) | ||
4923 | 1561 | { | ||
4924 | 1562 | renderer_native->power_save_page_flip_source_id = | ||
4925 | 1563 | g_timeout_add (timeout_ms, | ||
4926 | 1564 | dummy_power_save_page_flip_cb, | ||
4927 | 1565 | renderer_native); | ||
4928 | 1566 | } | ||
4929 | 1567 | |||
4930 | 1568 | renderer_native->power_save_page_flip_closures = | ||
4931 | 1569 | g_list_prepend (renderer_native->power_save_page_flip_closures, | ||
4932 | 1570 | g_closure_ref (flip_closure)); | ||
4933 | 1571 | } | ||
4934 | 1572 | |||
4935 | 1535 | typedef struct _RetryPageFlipData | 1573 | typedef struct _RetryPageFlipData |
4936 | 1536 | { | 1574 | { |
4937 | 1537 | MetaCrtc *crtc; | 1575 | MetaCrtc *crtc; |
4938 | @@ -1547,14 +1585,39 @@ retry_page_flip_data_free (RetryPageFlipData *retry_page_flip_data) | |||
4939 | 1547 | g_free (retry_page_flip_data); | 1585 | g_free (retry_page_flip_data); |
4940 | 1548 | } | 1586 | } |
4941 | 1549 | 1587 | ||
4942 | 1588 | static void | ||
4943 | 1589 | retry_page_flip_data_fake_flipped (RetryPageFlipData *retry_page_flip_data, | ||
4944 | 1590 | MetaOnscreenNative *onscreen_native) | ||
4945 | 1591 | { | ||
4946 | 1592 | MetaCrtc *crtc = retry_page_flip_data->crtc; | ||
4947 | 1593 | MetaGpuKms *gpu_kms = META_GPU_KMS (meta_crtc_get_gpu (crtc)); | ||
4948 | 1594 | |||
4949 | 1595 | if (gpu_kms != onscreen_native->render_gpu) | ||
4950 | 1596 | { | ||
4951 | 1597 | MetaOnscreenNativeSecondaryGpuState *secondary_gpu_state; | ||
4952 | 1598 | |||
4953 | 1599 | secondary_gpu_state = | ||
4954 | 1600 | meta_onscreen_native_get_secondary_gpu_state (onscreen_native, | ||
4955 | 1601 | gpu_kms); | ||
4956 | 1602 | secondary_gpu_state->pending_flips--; | ||
4957 | 1603 | } | ||
4958 | 1604 | |||
4959 | 1605 | onscreen_native->total_pending_flips--; | ||
4960 | 1606 | } | ||
4961 | 1607 | |||
4962 | 1550 | static gboolean | 1608 | static gboolean |
4963 | 1551 | retry_page_flips (gpointer user_data) | 1609 | retry_page_flips (gpointer user_data) |
4964 | 1552 | { | 1610 | { |
4965 | 1553 | MetaOnscreenNative *onscreen_native = user_data; | 1611 | MetaOnscreenNative *onscreen_native = user_data; |
4966 | 1612 | MetaRendererNative *renderer_native = onscreen_native->renderer_native; | ||
4967 | 1613 | MetaMonitorManager *monitor_manager = | ||
4968 | 1614 | META_MONITOR_MANAGER (renderer_native->monitor_manager_kms); | ||
4969 | 1554 | uint64_t now_us; | 1615 | uint64_t now_us; |
4970 | 1616 | MetaPowerSave power_save_mode; | ||
4971 | 1555 | GList *l; | 1617 | GList *l; |
4972 | 1556 | 1618 | ||
4973 | 1557 | now_us = g_source_get_time (onscreen_native->retry_page_flips_source); | 1619 | now_us = g_source_get_time (onscreen_native->retry_page_flips_source); |
4974 | 1620 | power_save_mode = meta_monitor_manager_get_power_save_mode (monitor_manager); | ||
4975 | 1558 | 1621 | ||
4976 | 1559 | l = onscreen_native->pending_page_flip_retries; | 1622 | l = onscreen_native->pending_page_flip_retries; |
4977 | 1560 | while (l) | 1623 | while (l) |
4978 | @@ -1566,6 +1629,19 @@ retry_page_flips (gpointer user_data) | |||
4979 | 1566 | g_autoptr (GError) error = NULL; | 1629 | g_autoptr (GError) error = NULL; |
4980 | 1567 | gboolean did_flip; | 1630 | gboolean did_flip; |
4981 | 1568 | 1631 | ||
4982 | 1632 | if (power_save_mode != META_POWER_SAVE_ON) | ||
4983 | 1633 | { | ||
4984 | 1634 | onscreen_native->pending_page_flip_retries = | ||
4985 | 1635 | g_list_remove_link (onscreen_native->pending_page_flip_retries, l); | ||
4986 | 1636 | |||
4987 | 1637 | retry_page_flip_data_fake_flipped (retry_page_flip_data, | ||
4988 | 1638 | onscreen_native); | ||
4989 | 1639 | retry_page_flip_data_free (retry_page_flip_data); | ||
4990 | 1640 | |||
4991 | 1641 | l = l_next; | ||
4992 | 1642 | continue; | ||
4993 | 1643 | } | ||
4994 | 1644 | |||
4995 | 1569 | if (is_timestamp_earlier_than (now_us, | 1645 | if (is_timestamp_earlier_than (now_us, |
4996 | 1570 | retry_page_flip_data->retry_time_us)) | 1646 | retry_page_flip_data->retry_time_us)) |
4997 | 1571 | { | 1647 | { |
4998 | @@ -1582,7 +1658,7 @@ retry_page_flips (gpointer user_data) | |||
4999 | 1582 | g_error_matches (error, G_IO_ERROR, G_IO_ERROR_BUSY)) | 1658 | g_error_matches (error, G_IO_ERROR, G_IO_ERROR_BUSY)) |
5000 | 1583 | { | 1659 | { |
The diff has been truncated for viewing.
Looks like what I was expecting...