Compare commits

..

183 Commits

Author SHA1 Message Date
Thomas James Alexander Thurman
b4c369931d 2.23.2 release.
svn path=/trunk/; revision=3630
2008-03-07 03:05:10 +00:00
Thomas Thurman
1b00ca6158 remove debug statements (*blush*)
2008-03-07  Thomas Thurman  <tthurman@gnome.org>

        * src/core/prefs.c (mouse_button_mods_handler): remove
	debug statements (*blush*)


svn path=/trunk/; revision=3629
2008-03-07 03:02:44 +00:00
Thomas James Alexander Thurman
4b8a05b803 Post-release bump to 2.23.2.
svn path=/trunk/; revision=3628
2008-03-06 22:15:25 +00:00
Thomas James Alexander Thurman
fe816afa1d 2.23.1 release.
svn path=/trunk/; revision=3626
2008-03-06 22:01:27 +00:00
Thomas Thurman
b93a94506b basic md5 printing (not used yet); also print release announcements to
2008-03-06  Thomas Thurman  <tthurman@gnome.org>

        * tools/release-wrangler.py: basic md5 printing (not used yet);
	also print release announcements to stdout (eventually will
	need to be emailed to release list and blogged)


svn path=/trunk/; revision=3625
2008-03-06 21:51:47 +00:00
Thomas Thurman
d1ef896c73 Part three of the great prefs refactor, this time dealing with string
2008-03-06  Thomas Thurman  <tthurman@gnome.org>

        Part three of the great prefs refactor, this time
        dealing with string preferences.  (This was the most
        complicated part, and has been especially tested and
        valground before committing.  As ever, though, let us
        know if you find a problem.)

        * src/core/prefs.c (MetaStringPreference): new struct.  
        * src/core/prefs.c (update_*): replaced with *_handler  
        * src/core/prefs.c (meta_prefs_init): uses new string prefs
          init; uses array of gconf dirs to monitor rather than 
          repeating code.
        * src/core/prefs.c (handle_preference_init_enum): tidying
        * src/core/prefs.c (change_notify): uses new string prefs  


svn path=/trunk/; revision=3624
2008-03-06 17:59:20 +00:00
Thomas Thurman
ed5c34d335 added some spacing to see whether it helps Pulse
2008-03-04  Thomas Thurman  <tthurman@gnome.org>

        * MAINTAINERS: added some spacing to see whether it
	helps Pulse


svn path=/trunk/; revision=3623
2008-03-04 14:50:48 +00:00
Jorge Gonzalez Gonzalez
429a8ccd15 Updated Spanish translation
svn path=/trunk/; revision=3622
2008-03-03 22:56:40 +00:00
Cosimo Cecchi
a8c3d1614f Add ability to vertically and horizontally maximise using the mouse, by
2008-03-03  Cosimo Cecchi  <anarki@lilik.it>

	Add ability to vertically and horizontally maximise
	using the mouse, by clicking the titlebar in various
	ways.  A very similar patch was received from Jason Ribero.
	Thanks also go to Tony Houghton and Carlo Wood, who
	both submitted patches which solved this differently.
	Closes #358674.

        * src/include/common.h (MetaActionTitlebar): new values
	for the new actions
        * src/core/core.c (meta_core_maximize_{vertic|horizont}ally):
	new functions.
        * src/ui/frames.c (meta_frame_titlebar_event): handle the
	new action values
        * src/core/window.h: new macros (for regularity, not really
	necessary)
        * src/core/prefs.c (symtab_titlebar_action): new string
	representations of the action values
        * src/metacity.schemas.in: documentation


svn path=/trunk/; revision=3619
2008-03-03 01:58:54 +00:00
Chao-Hsiung Liao
ac10c309ea Updated Traditional Chinese translation(Hong Kong). Updated Traditional
2008-03-01  Chao-Hsiung Liao  <j_h_liau@yahoo.com.tw>

        * zh_HK.po: Updated Traditional Chinese translation(Hong Kong).
        * zh_TW.po: Updated Traditional Chinese translation(Taiwan).



svn path=/trunk/; revision=3616
2008-03-01 00:54:00 +00:00
Andrea Del Signore
e021e06178 Add support for "spacer" as a button type which adds some empty space.
2008-02-29  Andrea Del Signore  <sejerpz@tin.it>

	Add support for "spacer" as a button type which adds some
	empty space. Closes #509165.

        * src/ui/theme.c (meta_frame_layout_calc_geometry),
          src/include/common.h (MetaButtonLayout),
          src/core/prefs.c (update_button_layout, button_layout_equal),
          src/metacity.schemas.in: add spacer support


svn path=/trunk/; revision=3615
2008-02-29 20:41:07 +00:00
Thomas Thurman
8c6f3853b0 removed unnecessary #include which should have been in Jim's patch (not
2008-02-28  Thomas Thurman  <tthurman@gnome.org>

        * src/core/compositor.h: removed unnecessary #include which
	should have been in Jim's patch (not sure how it slipped
	through the tests!)


svn path=/trunk/; revision=3610
2008-02-28 00:25:36 +00:00
Stéphane Raimbault
e7196621bc Updated French translation (merged from gnome-2-22).
2008-02-27  Stéphane Raimbault  <stephane.raimbault@gmail.com>

	* fr.po: Updated French translation (merged from gnome-2-22).

svn path=/trunk/; revision=3609
2008-02-27 21:15:50 +00:00
Jim Huang
f8a5ef7c9f deleted as no longer used modified accordingly
2008-02-27  Jim Huang  <jserv.tw@gmail.com>

        * src/core/spring-model.[ch]: deleted as no longer used
        * src/Makefile.am: modified accordingly

svn path=/trunk/; revision=3607
2008-02-27 19:55:09 +00:00
Thomas Thurman
85631aec0f Lots of tiny fixes to make sure we compile with "gcc -ansi -Werror".
2008-02-27  Thomas Thurman  <tthurman@gnome.org>

	Lots of tiny fixes to make sure we compile with
	"gcc -ansi -Werror".


svn path=/trunk/; revision=3606
2008-02-27 04:39:10 +00:00
Jens Granseuer
401b716cf5 reorder declarations so we don't break C89 compilers. Closes #518917.
2008-02-26  Jens Granseuer  <jensgr@gmx.net>

        * src/core/constraints.c (constrain_aspect_ratio,
	constrain_size_limits, constrain_size_increments):
	reorder declarations so we don't break C89 compilers.
	Closes #518917.


svn path=/trunk/; revision=3605
2008-02-26 20:47:29 +00:00
Thomas James Alexander Thurman
3d4adc8be9 Post-release bump to 2.23.1.
svn path=/trunk/; revision=3604
2008-02-26 19:19:42 +00:00
Thomas James Alexander Thurman
210206b699 2.23.0 release.
svn path=/trunk/; revision=3602
2008-02-26 19:13:38 +00:00
Thomas Thurman
c0c05d51ea ANY post-release bump is now the most recent, not just the one that
2008-02-26  Thomas Thurman  <tthurman@gnome.org>

        * tools/release-wrangler.py: ANY post-release bump is now the
	most recent, not just the one that matches the current version.
	Otherwise, you can't use these tools straight after a branch.
	The changeset before this one was mislabelled because of this.


svn path=/trunk/; revision=3601
2008-02-26 18:57:57 +00:00
Thomas James Alexander Thurman
9d9576612b 2.23.0 release.
svn path=/trunk/; revision=3600
2008-02-26 18:44:15 +00:00
Thomas Wood
abdb3fd8b9 allow users of the preview widget to get a mask for windows in the correct
2008-02-25  Thomas Wood  <thos@gnome.org>

        * src/ui/preview-widget.[ch] (meta_preview_get_clip_region):
	allow users of the preview widget to get a mask for windows
	in the correct shape for the current theme.


svn path=/trunk/; revision=3596
2008-02-25 15:39:49 +00:00
Changwoo Ryu
b3f766c618 Updated Korean translation
svn path=/trunk/; revision=3594
2008-02-24 15:04:22 +00:00
Yang Zhang
41e93f71be Updated zh_CN translation from branch gnome-2-22
svn path=/trunk/; revision=3593
2008-02-24 13:49:33 +00:00
Ilkka Tuohela
79076b2997 Updated Finnish translation (bug #518255)
svn path=/trunk/; revision=3591
2008-02-24 03:09:38 +00:00
Thomas Thurman
3684bd2da4 Refactor handling of boolean preferences.
2008-02-23  Thomas Thurman  <tthurman@gnome.org>

	Refactor handling of boolean preferences.

        * src/core/prefs.c (handle_preference_init_bool,
	handle_preference_update_bool): new functions.
	* src/core/prefs.c (meta_prefs_init, change_notify):
	use the new functions.
	* src/core/prefs.c (update_*): several of these removed whose
	only purpose was to receive boolean preferences.
	* src/core/prefs.c (cleanup_error, get_bool): moved down to make
	the flow of ideas more obvious.
	* src/core/prefs.c (maybe_give_disable_workarounds_warning): new
	function containing duplicated code from elsewhere.
	* src/core/prefs.c (init_button_layout): only compiled when
	HAVE_GCONF is not defined. Removed a compiler warning.

svn path=/trunk/; revision=3590
2008-02-23 21:02:05 +00:00
Thomas Thurman
d0e22bf63d Print URL of changeset on success.
2008-02-23  Thomas Thurman  <tthurman@gnome.org>

        * tools/commit-wrangler.py: Print URL of changeset on success.


svn path=/trunk/; revision=3589
2008-02-23 20:54:49 +00:00
Ihar Hrachyshka
8450d97341 Updated Belarusian Latin translation.
svn path=/trunk/; revision=3587
2008-02-23 09:40:44 +00:00
Thomas Thurman
3043d2a2be Refactored handling of enumerated preferences.
2008-02-23  Thomas Thurman  <tthurman@gnome.org>

        Refactored handling of enumerated preferences.

        * src/core/prefs.c (handle_preference_init_enum,
	handle_preference_update_enum): new functions.
        (meta_prefs_init, change_notify): use regularised
	forms and remove old copy-and-pasted code.
	Also many small similar functions removed which
	only existed to deal with each kind of enum.
	Also some amount of correction of which parts were
	and weren't inside "#ifdef HAVE_GCONF" blocks.



svn path=/trunk/; revision=3586
2008-02-23 06:16:03 +00:00
Mikkel Kamstrup Erlandsen
3ca31c7b04 Respect requested position on _NET_MOVERESIZE_WINDOW. Closes #448183
svn path=/trunk/; revision=3585
2008-02-21 10:00:10 +00:00
Ilkka Tuohela
8802ac2fe9 Updated Finnish translation
svn path=/trunk/; revision=3583
2008-02-20 04:59:03 +00:00
Yannig MARCHEGAY
61c7487172 Updated Occitan translation
svn path=/trunk/; revision=3582
2008-02-19 21:41:34 +00:00
Matthias Clasen
3782c482ef Make skip-taskbar windows appear in the Ctrl-Alt-Tab list. Closes #106249.
2008-02-18  Matthias Clasen  <mclasen@redhat.com>

        * src/core/window.h: Make skip-taskbar windows appear in the
        Ctrl-Alt-Tab list. Closes #106249.


svn path=/trunk/; revision=3580
2008-02-19 04:49:58 +00:00
Thomas Thurman
8c487ddbb2 if we have libSM and its headers, that means we did find it, not that we
2008-02-18  Thomas Thurman  <tthurman@gnome.org>

        * configure.in: if we have libSM and its headers,
	that means we did find it, not that we didn't.
	Closes #328210.


svn path=/trunk/; revision=3579
2008-02-18 01:29:27 +00:00
Thomas Thurman
07939f235f When resizing a window with the keyboard, stay one pixels from the edges
2008-02-18  Thomas Thurman  <tthurman@gnome.org>

        * src/core/window.c (warp_grab_pointer): When
	resizing a window with the keyboard, stay one 
	pixels from the edges so that the cursor remains
	resting on a window edge even if we escape,
	whatever side it was on. Closes #436257.


svn path=/trunk/; revision=3578
2008-02-18 00:21:50 +00:00
Wouter Bolsterlee
abfccf5002 Updated Dutch translation by Wouter Bolsterlee.
2008-02-18  Wouter Bolsterlee  <wbolster@svn.gnome.org>

	* nl.po: Updated Dutch translation by Wouter Bolsterlee.

svn path=/trunk/; revision=3576
2008-02-17 23:08:12 +00:00
Ihar Hrachyshka
df83c15583 Updated Belarusian Latin translation.
svn path=/trunk/; revision=3575
2008-02-17 22:56:44 +00:00
Thomas Thurman
83010879f1 added new script to manage commits
2008-02-17  Thomas Thurman  <tthurman@gnome.org>

        * tools/commit-wrangler.py: added new script to manage commits


svn path=/trunk/; revision=3574
2008-02-17 22:46:30 +00:00
Jim Huang
c35fd86b3b Allow compilation when gconf mode is disabled. Closes #515019.
2008-02-17  Jim Huang  <jserv.tw@gmail.com>

        * src/core/prefs.c (update_binding): Allow compilation
	when gconf mode is disabled. Closes #515019.


svn path=/trunk/; revision=3573
2008-02-17 22:43:28 +00:00
Runa Bhattacharjee
932fd0dcff Added Entry for Kannada Translation addition and addition to LINGUAS
svn path=/trunk/; revision=3572
2008-02-15 14:37:07 +00:00
Runa Bhattacharjee
2a53302ab9 Added Kannada (kn) to the List of Languages
svn path=/trunk/; revision=3571
2008-02-15 14:36:50 +00:00
Runa Bhattacharjee
44a4c1c9fb Added Kannada Translations by Shankar Prasad
svn path=/trunk/; revision=3570
2008-02-15 14:36:31 +00:00
Jim Huang
04956ecf18 fixups to allow compilation in non-verbose mode. Closes #515152.
2008-02-14  Jim Huang  <jserv.tw@gmail.com>                                                                      
                                                                                                                 
        * src/core/display.c, src/core/util.c: fixups to allow                                                   
        compilation in non-verbose mode. Closes #515152.   

svn path=/trunk/; revision=3569
2008-02-15 04:37:39 +00:00
Ignacio Casal Quinteiro
2d41d65cf2 Updated Galician Translation.
svn path=/trunk/; revision=3568
2008-02-14 12:26:04 +00:00
Pawan Chitrakar
7e41ffdda5 Updated Nepali Translation
svn path=/trunk/; revision=3567
2008-02-14 09:20:54 +00:00
Ilkka Tuohela
54c15a2583 Updated Finnish translation
svn path=/trunk/; revision=3565
2008-02-14 04:24:58 +00:00
Ilkka Tuohela
8aae0a7723 Updated Finnish translation
svn path=/trunk/; revision=3564
2008-02-13 10:48:00 +00:00
Thomas Thurman
f23d8a3774 Correct help for verbose option name.
2008-02-12  Thomas Thurman  <tthurman@gnome.org>                                                                 
                                                                                                                 
        * configure.in: Correct help for verbose option name. 


svn path=/trunk/; revision=3563
2008-02-13 04:13:06 +00:00
Thomas Thurman
aad6f37f8a Post-branch bump to 2.23.0.
2008-02-12  Thomas Thurman  <tthurman@gnome.org>                                                                 
                                                                                                                 
        * configure.in: Post-branch bump to 2.23.0.


svn path=/trunk/; revision=3562
2008-02-12 14:45:42 +00:00
Thomas James Alexander Thurman
404a61b571 Post-release bump to 2.21.21.
svn path=/trunk/; revision=3560
2008-02-12 00:05:38 +00:00
Thomas James Alexander Thurman
0312a3e474 2.21.13 release.
svn path=/trunk/; revision=3558
2008-02-11 23:59:37 +00:00
Duarte Loreto
c25a5c99ec Updated Portuguese translation.
2008-02-10  Duarte Loreto <happyguy_pt@hotmail.com>

	* pt.po: Updated Portuguese translation.

svn path=/trunk/; revision=3557
2008-02-10 12:03:41 +00:00
Hendrik Brandt
ac5759af24 Updated German translation.
2008-02-09  Hendrik Brandt  <heb@gnome-de.org>

        * de.po: Updated German translation.


svn path=/trunk/; revision=3556
2008-02-09 21:09:09 +00:00
Artur Flinta
9bee48dcd2 Updated Polish translation by GNOME PL Team.
2008-02-07  Artur Flinta  <aflinta@svn.gnome.org>

	* pl.po: Updated Polish translation by GNOME PL Team.


svn path=/trunk/; revision=3555
2008-02-07 21:06:55 +00:00
Rhys Jones
73d9143d76 Updated Welsh translation.
2008-02-05  Rhys Jones <rhys@sucs.org>

	* cy.po: Updated Welsh translation.

svn path=/trunk/; revision=3554
2008-02-05 21:39:19 +00:00
Amitakhya Phukan
230d78d8b4 updated assamese translations
svn path=/trunk/; revision=3553
2008-02-05 06:31:49 +00:00
Thomas Thurman
fbc3563b21 only use compositor version if we have a compositor. Closes #514453.
2008-02-04  Thomas Thurman  <tthurman@gnome.org>

        * src/core/compositor.c: only use compositor version if
        we have a compositor. Closes #514453.



svn path=/trunk/; revision=3552
2008-02-05 03:39:03 +00:00
Thomas Thurman
4c8557055c remove workaround for a problem in GTK 1.3.9(!) which was causing
2008-02-04  Thomas Thurman  <tthurman@gnome.org>

        * configure.in, src/ui/ui.c: remove workaround for a problem
          in GTK 1.3.9(!) which was causing problems. Closes #513737.


svn path=/trunk/; revision=3551
2008-02-04 17:25:30 +00:00
Michael Meeks
2f43d436c8 src/core/display.c (meta_display_open), fetch & use composite version, for
2008-01-28  Michael Meeks  <michael.meeks@novell.com>

        * src/core/display.c (meta_display_open),
        * src/core/compositor.c: fetch & use composite
        version, for remote screens that don't match the
        compile system's version.
        (meta_compositor_manage_screen): bin erroneous FIXME.
        (add_win): remove common warning churn for (very)
        transient windows


svn path=/trunk/; revision=3550
2008-02-04 15:57:07 +00:00
Thomas Thurman
a9a69ac807 another program I use for maintenance which other people might find useful
2008-02-03  Thomas Thurman  <tthurman@gnome.org>

        * tools/patch-wrangler.py: another program I use for maintenance
        which other people might find useful and which should probably
        be in svn. Also not very polished.


svn path=/trunk/; revision=3549
2008-02-04 00:04:05 +00:00
Thomas Thurman
8e7fe42b5e added new files for a regression test on the tokeniser. (They aren't very
2008-02-03  Thomas Thurman  <tthurman@gnome.org>

        * test/tokentest/tokentest.c, test/tokentest/tokentest.ini: added
        new files for a regression test on the tokeniser. (They aren't very
        polished at the moment and aren't included in the autotools build.)


svn path=/trunk/; revision=3548
2008-02-03 23:15:46 +00:00
Thomas James Alexander Thurman
d70219b88d Post-release bump to 2.21.13.
svn path=/trunk/; revision=3547
2008-02-03 22:36:08 +00:00
Thomas James Alexander Thurman
806fa75a70 2.21.8 release.
svn path=/trunk/; revision=3545
2008-02-03 22:29:28 +00:00
Thomas James Alexander Thurman
1177b13338 2.21.8 release.
svn path=/trunk/; revision=3544
2008-02-03 22:17:01 +00:00
Thomas James Alexander Thurman
ea2d79fbfb 2.21.8 release.
svn path=/trunk/; revision=3543
2008-02-03 22:01:47 +00:00
Thomas Thurman
f60624ac5b Fix quoting error and added some more error checking.
2008-02-03  Thomas Thurman  <tthurman@gnome.org>

        * tools/release-wrangler.py: Fix quoting error and added some
                more error checking.


svn path=/trunk/; revision=3542
2008-02-03 22:00:31 +00:00
Thomas Thurman
836a1f7b08 basic release script; needs work, but probably good enough for the current
2008-02-03  Thomas Thurman  <tthurman@gnome.org>

        * tools/release-wrangler.py: basic release script; needs work,
        but probably good enough for the current unstable release


svn path=/trunk/; revision=3541
2008-02-03 21:47:09 +00:00
Arangel Angov
a660fd3805 Updating Macedonian Translation, Arangel Angov <arangel@linux.net.mk>
svn path=/trunk/; revision=3540
2008-02-03 11:52:35 +00:00
Takeshi AIHANA
d5cea091bf Updated Japanese translation.
2008-02-03  Takeshi AIHANA <takeshi.aihana@gmail.com>

        * ja.po: Updated Japanese translation.

svn path=/trunk/; revision=3539
2008-02-03 09:08:16 +00:00
Thomas James Alexander Thurman
0bd1727eab First draft of the release script; needs post-release bump adding
svn path=/trunk/; revision=3538
2008-02-03 06:02:52 +00:00
Thomas Thurman
8bd2822e69 core.h is in include, not core. (Last one, I promise.)
2008-02-02  Thomas Thurman  <tthurman@gnome.org>

        * src/Makefile.am: core.h is in include, not core. (Last one, I
          promise.)


svn path=/trunk/; revision=3537
2008-02-03 05:53:18 +00:00
Thomas Thurman
7a340792c9 main.h is in include, not core.
2008-02-02  Thomas Thurman  <tthurman@gnome.org>

        * src/Makefile.am: main.h is in include, not core.


svn path=/trunk/; revision=3536
2008-02-03 04:25:38 +00:00
Thomas Thurman
8e77d5b28d draw-workspace.h is in ui, not core.
2008-02-02  Thomas Thurman  <tthurman@gnome.org>

        * src/Makefile.am: draw-workspace.h is in ui, not core.


svn path=/trunk/; revision=3535
2008-02-02 21:35:23 +00:00
Luca Ferretti
8e79100b92 Updated Italian translation.
2008-02-02  Luca Ferretti  <elle.uca@libero.it>

	* it.po: Updated Italian translation.


svn path=/trunk/; revision=3534
2008-02-02 10:06:22 +00:00
Alex R.M. Turner
18b63e9b5f Have the list also pull windows that are in other workspaces that have the
2008-02-01  Alex R.M. Turner  <armtuk@gmail.com>

        * src/core/display.c (meta_get_tab_entry_list): Have the list also pull 
          windows that are in other workspaces that have the  
          wm_state_needs_attention flag set
        * src/core/window.c (meta_window_set_demands_attention): Make windows that
          are on other workspaces that demand attention that aren't obscured
          count as being obscured
        Bug #333548.

svn path=/trunk/; revision=3533
2008-02-02 04:05:16 +00:00
Theppitak Karoonboonyanan
48b6e8dd67 Updated Thai translation.
2008-02-01  Theppitak Karoonboonyanan  <thep@linux.thai.net>

	* th.po: Updated Thai translation.


svn path=/trunk/; revision=3532
2008-02-01 11:11:40 +00:00
Djihed Afifi
fb872b8f1e Updated Arabic Translation by Khaled Hosny.
svn path=/trunk/; revision=3531
2008-01-31 08:22:18 +00:00
Rahul Bhalerao
94be13a003 Updated Marathi translations
svn path=/trunk/; revision=3530
2008-01-29 18:46:43 +00:00
Christian Persch
ea1c807d69 Use G_STRFUNC instead of the deprecated G_GNUC_FUNCTION. Bug #512561.
2008-01-28  Christian Persch  <chpe@gnome.org>

	* src/core/display.c: (convert_property):
	* src/core/screen.c: (meta_screen_calc_workspace_layout):
	* src/core/xprops.c: (meta_prop_get_values): 
	Use G_STRFUNC instead of the deprecated G_GNUC_FUNCTION. Bug #512561.

svn path=/trunk/; revision=3529
2008-01-28 14:52:34 +00:00
Baris Cicek
1df98bd6a4 Fixed typo in Turkish translation
svn path=/trunk/; revision=3528
2008-01-26 22:51:33 +00:00
Matej Urbančič
6c192b67a9 Updated Slovenian translation
svn path=/trunk/; revision=3527
2008-01-26 08:53:12 +00:00
Petr Kovář
4a792d207c cs.po: Updated Czech translation.
svn path=/trunk/; revision=3526
2008-01-25 20:30:12 +00:00
Andre Klapper
1daf7543eb Sync "beep" translation.
2008-01-22  Andre Klapper  <a9016009@gmx.de>

	* de.po: Sync "beep" translation.


svn path=/trunk/; revision=3525
2008-01-22 12:06:05 +00:00
Thomas Thurman
b4890a3d22 more commenting.
2008-01-21  Thomas Thurman  <tthurman@gnome.org>

     * src/ui/theme.[ch]: more commenting.



svn path=/trunk/; revision=3524
2008-01-22 04:00:35 +00:00
Thomas Thurman
7b031a1c28 some more commenting.
2008-01-18  Thomas Thurman  <tthurman@gnome.org>                                                                                                  
                                                                                                                                                  
        * src/ui/theme.[ch]: some more commenting. 

svn path=/trunk/; revision=3523
2008-01-18 05:07:53 +00:00
Thomas Thurman
ca098b2416 Correct comment. Correct comment. Much commenting; #ifdeffed-out debug
2008-01-16  Thomas Thurman  <tthurman@gnome.org>

        * src/core/bell.c: Correct comment.
        * src/core/main.c: Correct comment.
        * src/core/theme.c: Much commenting; #ifdeffed-out debug code removed.
        * src/core/theme.h: Much commenting.



svn path=/trunk/; revision=3522
2008-01-17 03:49:24 +00:00
Daniel Nylander
cb5134de8d sv.po: Swedish translation updated
svn path=/trunk/; revision=3521
2008-01-15 03:13:01 +00:00
Inaki Larranaga Murgoitio
e5009396f8 Updated Basque translation.
2008-01-14  Inaki Larranaga Murgoitio  <dooteo@euskalgnu.org>

	* eu.po: Updated Basque translation.


svn path=/trunk/; revision=3520
2008-01-14 15:42:38 +00:00
Kjartan Maraas
53a116333c Updated Norwegian bokmål translation.
2008-01-14  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Updated Norwegian bokmål translation.

svn path=/trunk/; revision=3519
2008-01-14 11:45:09 +00:00
Thomas Thurman
13918cea25 Commenting. Commenting, and fixing existing comments.
2008-01-13  Thomas Thurman  <tthurman@gnome.org>
        * src/core/bell.c: Commenting.
        * src/core/main.c: Commenting, and fixing existing comments.

svn path=/trunk/; revision=3518
2008-01-13 16:32:56 +00:00
Jorge Gonzalez Gonzalez
03f14bd5dd Updated Spanish translation
svn path=/trunk/; revision=3517
2008-01-13 11:35:04 +00:00
Thomas Thurman
8828532d14 Refactor repeated lines in main() to iterate instead.
2008-01-12  Thomas Thurman  <tthurman@gnome.org>

        * src/core/main.c: Refactor repeated lines in main() to
       iterate instead.


svn path=/trunk/; revision=3516
2008-01-13 02:53:25 +00:00
Thomas Thurman
146ad60c7f removed as it was never used. lots of comments. copyright year is 2008.
2008-01-12  Thomas Thurman  <tthurman@gnome.org>

        * src/core/main.[ch] (meta_get_main_loop): removed as it
        was never used.
        * src/core/main.c: lots of comments.
        * src/core/main.c (version): copyright year is 2008.
        * src/core/c-screen.[ch], src/core/c-window.[ch]: removed
        files from Søren's compositor which were removed by the
        merge with Iain's compositor but reintroduced by the split
        to separate subdirectories.
        * src/core/display.c: fix comments.


svn path=/trunk/; revision=3515
2008-01-13 02:42:47 +00:00
Thomas Thurman
6da40d919b reinstated missing first character! correct reordering of blank fields.
2008-01-12  Thomas Thurman  <tthurman@gnome.org>

        * src/core/display.c: reinstated missing first character!
        * Doxyfile: correct reordering of blank fields.



svn path=/trunk/; revision=3514
2008-01-13 01:10:12 +00:00
Thomas Thurman
a4d657a324 change comments from /*! to /** because the other way makes doxygen think
2008-01-12  Thomas Thurman  <tthurman@gnome.org>

        * src/core/display.c: change comments from /*! to /** because the
          other way makes doxygen think they are Qt comments, which messes
          up brief descriptions.
        * Doxyfile: check in so other people can generate documentation too.
                                                                             

svn path=/trunk/; revision=3513
2008-01-13 01:01:21 +00:00
Yair Hershkovitz
4419430a57 updated hebrew translation
svn path=/trunk/; revision=3512
2008-01-09 17:36:22 +00:00
Thomas Thurman
11ba3be6b9 further commenting (trying to keep comment addings down to once a day at
2008-01-07  Thomas Thurman  <tthurman@gnome.org>

        * src/core/display.c: further commenting (trying to keep comment
                        addings down to once a day at most so you don't all get spammed
                                    too much). 



svn path=/trunk/; revision=3511
2008-01-08 03:59:12 +00:00
Thomas Thurman
286af99def g_free is a no-op on nulls; there is no need to test.
2008-01-07  Thomas Thurman  <tthurman@gnome.org>

        * src/core/main.c (main): g_free is a no-op on nulls; there is no
       need to test.



svn path=/trunk/; revision=3510
2008-01-08 03:13:17 +00:00
Thomas Thurman
a409a0a098 Function commenting marathon; more to come.
2008-01-06  Thomas Thurman  <tthurman@gnome.org>

        * src/core/display.c: Function commenting marathon; more to come.



svn path=/trunk/; revision=3506
2008-01-06 21:23:33 +00:00
Ihar Hrachyshka
ee7cfc8824 Updated Belarusian Latin translation.
svn path=/trunk/; revision=3505
2008-01-06 00:37:38 +00:00
Clytie Siddall
af8d3c16bf Updated Vietnamese translation
svn path=/trunk/; revision=3504
2008-01-05 10:41:11 +00:00
Thomas Thurman
9d1549e1ff Two really minor coding standards layout tweaks.
2008-01-02  Thomas Thurman  <tthurman@gnome.org>

        * src/core/xprops.c (meta_prop_get_cardinal), src/core/compositor.c
        (timeout_debug): Two really minor coding standards layout tweaks.


svn path=/trunk/; revision=3503
2008-01-03 03:30:55 +00:00
Yannig MARCHEGAY
845ecdc3af Updated Occitan translation
svn path=/trunk/; revision=3502
2007-12-31 20:56:56 +00:00
Daniel Nylander
1c5ef4a50f sv.po: Swedish translation updated
svn path=/trunk/; revision=3501
2007-12-30 23:59:41 +00:00
Iain Holmes
212a9f26ab Don't do anything in meta_compositor_free_window. It doesn't seem to be
needed and breaks stuff badly (disappearing windows)

svn path=/trunk/; revision=3500
2007-12-27 23:51:29 +00:00
Iain Holmes
e61015cb42 Don't set mark newly mapped windows as damaged. Fixes a shadow drawing
issue


svn path=/trunk/; revision=3499
2007-12-27 23:11:43 +00:00
Iain Holmes
c96ae75437 USe the compositor overlay window instead of the root window.
2007-12-25  Iain Holmes  <iain@gnome.org>

        * src/core/compositor.c: USe the compositor overlay window 
instead of
        the root window.


svn path=/trunk/; revision=3498
2007-12-25 22:55:59 +00:00
Seán de Búrca
a8e2f45b1c Updated Irish translation.
2007-12-22  Seán de Búrca  <sdeburca@svn.gnome.org>

    * ga.po: Updated Irish translation.

svn path=/trunk/; revision=3497
2007-12-22 10:03:25 +00:00
Seán de Búrca
33383e1f4f Remove dead files.
2007-12-22  Seán de Búrca  <sdeburca@svn.gnome.org>

    * ga.po: Remove dead files.

svn path=/trunk/; revision=3496
2007-12-22 09:17:56 +00:00
Paolo Borelli
b9e1a9159e do not leak list.
2007-12-21  Paolo Borelli  <pborelli@katamail.com>

	* src/core/core.c (meta_invalidate_default_icons): do not leak list.

	* src/core/edge-resistance.c 
	(meta_display_compute_resistance_and_snapping_edges): ditto.

	* src/core/workspace.c (meta_workspace_index): small cleanup in list
	handling.


svn path=/trunk/; revision=3495
2007-12-21 19:56:07 +00:00
Matej Urbančič
5dc41f8c94 Updated Slovenian translation
svn path=/trunk/; revision=3494
2007-12-20 13:13:33 +00:00
Kjartan Maraas
4aaf053760 Rearrange after stuff moved around. Update
2007-12-20  Kjartan Maraas  <kmaraas@gnome.org>

	* POTFILES.in: Rearrange after stuff moved around.
	* nb.po: Update

svn path=/trunk/; revision=3493
2007-12-20 08:00:44 +00:00
Havoc Pennington
b718f79c47 fix a third warning about %d and long int
2007-12-19  Havoc Pennington  <hp@redhat.com>

	* src/core/display.c (meta_display_open): fix a third warning
	about %d and long int

	* src/core/delete.c (io_from_ping_dialog): fix another warning
	about long int to %d

	* src/core/compositor.c (meta_compositor_new): fix a warning about
	long int to %d

	* src/core/iconcache.c (meta_read_icons): use
	meta_ui_get_fallback_icons() instead of incorrectly including theme.h

	* src/ui/ui.c (meta_ui_get_fallback_icons): new function


svn path=/trunk/; revision=3492
2007-12-19 21:38:15 +00:00
Havoc Pennington
72b08c82b1 sort source files into these directories according to which part of the WM
2007-12-19  Havoc Pennington  <hp@redhat.com>

	* src/ui, src/core, src/include: sort source files into these
	directories according to which part of the WM they are supposed to
	be in. In an eventual plan, we should also create
	src/compositor/render, src/compositor/fallback and move some of
	the compositor stuff into that.
	
	* autogen.sh: require a newer automake, so we don't have to use
	a recursive build

	* src/ui/tabpopup.c: put in a hack to make the build temporarily
	work, want to commit the large rearrangement before fixing this
	not to include workspace.h or frame.h

	* src/core/iconcache.c (meta_read_icons): temporarily break this
	to get the build to work, want to commit the large rearrangement
	before fixing this file not to include theme.h


svn path=/trunk/; revision=3491
2007-12-19 21:17:50 +00:00
Thomas Thurman
3880951458 Post-release bump to 2.21.8.
2007-12-19  Thomas Thurman  <thomas@thurman.org.uk>

        * configure.in: Post-release bump to 2.21.8.



svn path=/trunk/; revision=3490
2007-12-19 12:15:29 +00:00
Thomas Thurman
3229882183 2.21.3 release.
2007-12-14  Thomas Thurman  <tthurman@gnome.org>

        * NEWS: 2.21.3 release.


svn path=/trunk/; revision=3488
2007-12-19 11:42:51 +00:00
Kjartan Maraas
f4cc847f83 Updated Norwegian bokmål translation.
2007-12-19  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Updated Norwegian bokmål translation.

svn path=/trunk/; revision=3487
2007-12-19 11:35:34 +00:00
Thomas Thurman
a63d5801ae print "Subversion" and not "CVS".
2007-12-19  Thomas Thurman  <tthurman@gnome.org>

        * configure.in: print "Subversion" and not "CVS".


svn path=/trunk/; revision=3486
2007-12-19 11:04:16 +00:00
Jorge Gonzalez Gonzalez
4b774eb18e Updated Spanish translation
svn path=/trunk/; revision=3485
2007-12-19 07:43:42 +00:00
Thomas Thurman
d052782caf compositor enabled by default.
2007-12-18  Thomas Thurman  <tthurman@gnome.org>

        * configure.in: compositor enabled by default.


svn path=/trunk/; revision=3484
2007-12-19 04:34:11 +00:00
Iain Holmes
c2a6eeaf5e Merge compositor branch.
2007-12-18  Iain Holmes  <iain@gnome.org>

        * configure.in, src/theme.c, src/display.c,
      src/theme.h, src/display.h, src/theme-parser.c,
      src/compositor.c, src/c-screen.c, src/compositor.h,
      src/c-screen.h, src/ui.c, src/screen.c, src/ui.h,
      src/screen.h, src/c-window.c, src/c-window.h,
      src/theme-viewer.c, src/Makefile.am: Merge compositor branch.


svn path=/trunk/; revision=3483
2007-12-19 03:49:50 +00:00
Daniel Nylander
931d70d87f sv.po: Updated Swedish translation
svn path=/trunk/; revision=3477
2007-12-17 15:20:49 +00:00
Kjartan Maraas
f28cd718f8 Updated Norwegian bokmål translation.
2007-12-15  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Updated Norwegian bokmål translation.

svn path=/trunk/; revision=3476
2007-12-15 11:47:20 +00:00
Thomas Thurman
623e4dc05c Post-release bump to 2.21.5.
2007-12-14  Thomas Thurman  <thomas@thurman.org.uk>

        * configure.in: Post-release bump to 2.21.5.



svn path=/trunk/; revision=3475
2007-12-15 03:31:34 +00:00
Thomas Thurman
89e47e2431 2.21.3 release.
2007-12-14  Thomas Thurman  <tthurman@gnome.org>

        * NEWS: 2.21.3 release.


svn path=/trunk/; revision=3473
2007-12-15 03:23:09 +00:00
Thomas Thurman
83e18f8da4 remove dead code; closes #501365.
2007-12-11  Thomas Thurman  <tthurman@gnome.org>

        * src/theme-parser.c: remove dead code; closes #501365.


svn path=/trunk/; revision=3472
2007-12-12 02:23:53 +00:00
Jorge Gonzalez Gonzalez
42951ec68f Updated Spanish translation, fixes bug #500562 and bug #500831
svn path=/trunk/; revision=3470
2007-12-10 15:25:45 +00:00
Matej Urbančič
a99ece5a5e Updated Slovenian translation
svn path=/trunk/; revision=3468
2007-12-10 15:06:06 +00:00
Jorge Gonzalez Gonzalez
6bb78dcb0b Updated Spanish translation, fixes bug #500831
svn path=/trunk/; revision=3467
2007-12-10 14:02:00 +00:00
Thomas Thurman
855de7253d rewrite long description of
2007-12-08  Thomas Thurman  <tthurman@gnome.org>

        * src/metacity.schemas.in: rewrite long description of
        /schemas/apps/metacity/general/focus_new_windows because we
        love the translators really. Closes #474889.


svn path=/trunk/; revision=3466
2007-12-09 23:48:39 +00:00
Matthias Clasen
e7dc04d28e check for null before adding menu; closes #496054.
2007-12-08  Matthias Clasen  <mclasen@redhat.com>

        * src/menu.c (meta_window_menu_new): check for null before adding
        menu; closes #496054.


svn path=/trunk/; revision=3465
2007-12-09 23:03:45 +00:00
Thomas Thurman
4564236abf Recur if the keypress ended a grab, so it can be processed in its own
2007-12-08  Thomas Thurman  <tthurman@gnome.org>

        * src/keybindings.c (meta_display_process_key_event): Recur if the
        keypress ended a grab, so it can be processed in its own right.
        Closes #112560.


svn path=/trunk/; revision=3464
2007-12-09 22:56:12 +00:00
Jorge Gonzalez Gonzalez
e7758d64d8 Updated Spanish translation, fixes bug #500562
svn path=/trunk/; revision=3463
2007-12-09 20:41:46 +00:00
Martin Meyer
71c83da805 Fix typo where wrong variable was checked (reported by Kjartan Maraas).
2007-12-08  Martin Meyer  <elreydetodo@gmail.com>

        * src/theme-parser.c (parse_draw_op_element): Fix
        typo where wrong variable was checked (reported by
        Kjartan Maraas). Closes #501362.


svn path=/trunk/; revision=3462
2007-12-09 19:39:26 +00:00
Jakub Friedl
2891388813 Czech Translation updated by Petr Kovar.
2007-12-08  Jakub Friedl  <jfriedl@suse.cz>

  * cs.po: Czech Translation updated by Petr Kovar.


svn path=/trunk/; revision=3461
2007-12-08 09:45:35 +00:00
Ihar Hrachyshka
194c514b45 Updated Belarusian Latin translation.
svn path=/trunk/; revision=3460
2007-12-08 09:06:37 +00:00
Leonardo Ferreira Fontenelle
69255114d9 Fixes in Brazilian Portuguese translation by Luiz Armesto.
2007-12-08  Leonardo Ferreira Fontenelle  <leonardof@svn.gnome.org>

	* pt_BR.po: Fixes in Brazilian Portuguese translation by Luiz Armesto.

svn path=/trunk/; revision=3459
2007-12-08 02:21:46 +00:00
Leonardo Ferreira Fontenelle
43f0c34cf8 Fixed attributes in Brazilian Portuguese translation by Rodrigo Flores.
2007-12-07  Leonardo Ferreira Fontenelle  <leonardof@svn.gnome.org>

	* pt_BR.po: Fixed attributes in Brazilian Portuguese translation by
	Rodrigo Flores.

svn path=/trunk/; revision=3457
2007-12-08 01:06:11 +00:00
Marcel Telka
aa2af695d7 Updated Slovak translation by Pavol Šimo.
2007-12-02  Marcel Telka  <marcel@telka.sk>

	* sk.po: Updated Slovak translation by Pavol Šimo.

svn path=/trunk/; revision=3449
2007-12-02 22:30:58 +00:00
Ignacio Casal Quinteiro
539285ca78 Updated Galician Translation.
svn path=/trunk/; revision=3446
2007-11-28 13:26:25 +00:00
Yannig MARCHEGAY
dda8866f30 Updated Occitan translation
svn path=/trunk/; revision=3421
2007-11-20 20:01:23 +00:00
Matej Urbančič
618115931e Updated Slovenian translation
svn path=/trunk/; revision=3416
2007-11-19 14:23:56 +00:00
Lucas Rocha
20d599819b try to get the session client ID from DESKTOP_AUTOSTART_ID environment
2007-11-19  Lucas Rocha  <lucasr@gnome.org>

	* src/main.c (main): try to get the session client ID from 
	DESKTOP_AUTOSTART_ID environment variable in case the --sm-client-id 
	is not used. Closes #498033.

svn path=/trunk/; revision=3415
2007-11-18 23:48:23 +00:00
Thomas Thurman
a8583668eb Post-release bump to 2.21.3.
2007-11-17  Thomas Thurman  <thomas@thurman.org.uk>

        * configure.in: Post-release bump to 2.21.3.


svn path=/trunk/; revision=3414
2007-11-18 04:40:22 +00:00
Thomas James Alexander Thurman
4b0fd1b7d8 ==================================================
gnome-panel-2.3.1.tar.gz is ready for distribution
==================================================

svn path=/trunk/; revision=3412
2007-11-18 04:37:26 +00:00
Benjamin Gramlich
3789229a70 make our theme search compliant to the XDG Base Directory Specification.
2007-11-17  Benjamin Gramlich  <benjamin.gramlich@gmail.com>

        * src/theme-parser.c (meta_theme_load): make our theme
        search compliant to the XDG Base Directory Specification.
        Closes #480026.


svn path=/trunk/; revision=3411
2007-11-18 03:23:58 +00:00
Thomas Thurman
14c046d18d remove almost-unused files. move the used parts of api.[ch] in here.
2007-11-15  Thomas Thurman  <thomas@thurman.org.uk>                                                                                                                       
                                                                                                                                                                          
        * src/api.[ch]: remove almost-unused files.                                                                                                                       
        * src/colors.[ch]: move the used parts of api.[ch] in here.                                                                                                       
        Closes #496947.


svn path=/trunk/; revision=3401
2007-11-16 02:53:25 +00:00
Matej Urbančič
386ffb4752 Updated Slovenian translation
svn path=/trunk/; revision=3392
2007-11-13 13:53:38 +00:00
Peter Bloomfield
fa51a94a69 more changes discussed in bug #461927
svn path=/trunk/; revision=3391
2007-11-13 13:31:14 +00:00
Matej Urbančič
ef3f8c18a1 Updated Slovenian translation
svn path=/trunk/; revision=3390
2007-11-12 14:28:44 +00:00
Thomas Thurman
f4e327f69c Post-release bump to 2.21.2.
2007-11-11  Thomas Thurman  <thomas@thurman.org.uk>

        * configure.in: Post-release bump to 2.21.2.

2007-11-11  Thomas Thurman  <thomas@thurman.org.uk>

        * NEWS: 2.21.1 release.



svn path=/trunk/; revision=3389
2007-11-12 04:48:04 +00:00
Thomas James Alexander Thurman
b61359506c =================================================
metacity-2.21.1 archives ready for distribution:
metacity-2.21.1.tar.gz
=================================================


svn path=/trunk/; revision=3387
2007-11-12 04:45:38 +00:00
Thomas Thurman
2a9dc7272b adjust expression which decides whether new windows should not go on top,
2007-11-11  Thomas Thurman  <thomas@thurman.org.uk>

        * src/window.c (meta_window_show): adjust expression which decides
        whether new windows should not go on top, so that restacking happens
        only the first time a window is mapped. Thanks to Olav Vitters for
        pointing out the problem. Re-fixes #486445.


svn path=/trunk/; revision=3386
2007-11-12 00:45:35 +00:00
Alex R.M. Turner
bcc3f56193 Instruct the GtkLabel in the tabpopup to ellipsize text that is too big.
2007-11-11  Alex R.M. Turner  <armtuk@gmail.com>

        * src/tabpopup.c (tab_entry_new, meta_ui_tab_popup_new): Instruct the
        GtkLabel in the tabpopup to ellipsize text that is too big.  Set the
        maximum window width of the tabpopup to screen_width/4, which seems a
        sensible size for the popup.


svn path=/trunk/; revision=3385
2007-11-11 22:17:51 +00:00
Thomas James Alexander Thurman
6bec74017f Metacity Proudly Marching Into The 23rd Century
svn path=/trunk/; revision=3384
2007-11-11 21:00:32 +00:00
Elijah Newren
618a9f03b3 If a window is launched without any kind of launch timestamp, grab the
2007-11-09  Elijah Newren  <newren gmail com>

	* src/window.c (meta_window_new_with_attrs): If a window is
	launched without any kind of launch timestamp, grab the current
	time and stash it away.  When transients of that window are also
	launched without a timestamp, we can use the stashed timestamp
	from the parent.  Fixes #488468.

svn path=/trunk/; revision=3381
2007-11-09 20:41:45 +00:00
Federico Mena Quintero
98886f3d94 Oops, revert patch which I didn't intend to commit - stupid 'git-svn dcommit' - Federico
Signed-off-by: Federico Mena Quintero <federico@gnu.org>

svn path=/trunk/; revision=3379
2007-11-09 19:01:31 +00:00
Federico Mena Quintero
7b690d6bc1 Fix swapped arguments when updating _NET_WM_USER_TIME
2007-11-09  Federico Mena Quintero  <federico@novell.com>

	* src/window.c (intervening_user_event_occurred): When the window
	doesn't have a user time nor an initial timestamp set, act as if
	there always was an intervening user event.  This causes
	un-timestamped windows to *not* get the focus.  Fixes
	http://bugzilla.gnome.org/show_bug.cgi?id=488468

Signed-off-by: Federico Mena Quintero <federico@gnu.org>

svn path=/trunk/; revision=3378
2007-11-09 18:57:29 +00:00
Peter Bloomfield
67ce5927e1 add reference to #461927
svn path=/trunk/; revision=3377
2007-11-08 16:06:46 +00:00
Daniel Nylander
f29afe115d sv.po: Updated Swedish translation
svn path=/trunk/; revision=3376
2007-11-08 11:30:46 +00:00
Peter Bloomfield
6fa4345514 save unmaximized part of client root coords
svn path=/trunk/; revision=3375
2007-11-07 04:25:57 +00:00
Peter Bloomfield
d0523744b7 do not save client root coords while window is maximized
svn path=/trunk/; revision=3374
2007-11-06 13:23:39 +00:00
Jorge Gonzalez Gonzalez
848ccb3249 Updated Spanish translation
svn path=/trunk/; revision=3373
2007-11-01 13:22:10 +00:00
Iain Holmes
988e5f49dd Add a --sync option to turn on synchronous X calls
svn path=/trunk/; revision=3368
2007-10-30 18:10:54 +00:00
Jans Granseuer
118d962b2d Free title of preview when the preview is destroyed. Closes #469682.
2007-10-28  Jans Granseuer  <jensgr@gmx.net>

        * src/preview-widget.c (meta_preview_finalize): Free title of
        preview when the preview is destroyed. Closes #469682.


svn path=/trunk/; revision=3365
2007-10-28 19:55:37 +00:00
Alex R.M. Turner
1bf37776c3 Truncate the string to max_char_per_title before adding bold tags and fix
2007-10-27  Alex R.M. Turner  <armtuk@gmail.com>

        * src/tabpopup.c (tab_entry_new): Truncate the string to
        max_char_per_title before adding bold tags and fix general flow of
        function.


svn path=/trunk/; revision=3363
2007-10-28 15:51:14 +00:00
Matej Urbančič
908715bd84 Updated Slovenian translation
svn path=/trunk/; revision=3362
2007-10-25 13:02:27 +00:00
Djihed Afifi
c241036c06 Updated Arabic Translation by Djihed Afifi.
svn path=/trunk/; revision=3361
2007-10-23 20:56:13 +00:00
Djihed Afifi
280a01c5de Updated Arabic Translation by Djihed Afifi.
svn path=/trunk/; revision=3359
2007-10-21 16:45:19 +00:00
Thomas Thurman
4ef11cfbd3 new function. rewrite assertion not to put window on top in terms of
2007-10-16  Thomas Thurman  <thomas@thurman.org.uk>

        * src/window.c (window_would_be_covered): new function.
        * src/window.c (meta_window_show): rewrite assertion not
        to put window on top in terms of window_would_be_covered();
        remove assertion because it's no longer valid; explicitly
        don't focus windows that shouldn't be focussed; closes #486445.


svn path=/trunk/; revision=3358
2007-10-16 22:29:59 +00:00
Thomas Thurman
8a023b00f2 Post-branch bump to 2.21.1.
2007-10-14  Thomas Thurman  <thomas@thurman.org.uk>

        * configure.in: Post-branch bump to 2.21.1.


svn path=/trunk/; revision=3357
2007-10-15 02:38:56 +00:00
Yannig MARCHEGAY
ab9ff657c7 Updated Occitan translation
svn path=/trunk/; revision=3356
2007-10-03 16:27:00 +00:00
Kjartan Maraas
34cfd6fafd Remove circular dep metacity<->gnomecc.
2007-10-03  Kjartan Maraas  <kmaraas@gnome.org>

	* configure.in: Remove circular dep metacity<->gnomecc.

svn path=/trunk/; revision=3355
2007-10-03 06:53:29 +00:00
Stéphane Raimbault
c691288b14 Fixed French translation.
2007-09-30  Stéphane Raimbault  <stephane.raimbault@gmail.com>

	* fr.po: Fixed French translation.

svn path=/trunk/; revision=3354
2007-09-30 18:04:07 +00:00
Changwoo Ryu
46c9134992 Updated Korean translation.
2007-09-27  Changwoo Ryu  <cwryu@debian.org>

	* ko.po: Updated Korean translation.

svn path=/trunk/; revision=3352
2007-09-26 20:29:06 +00:00
Gil Forcada Codinachs
eb3449f5c7 Fixed a string in Catalan translation thanks to Sílvia Miranda
svn path=/trunk/; revision=3351
2007-09-25 17:25:50 +00:00
Olav Vitters
211de6cfac Make sure active maintainers can be parsed
svn path=/trunk/; revision=3350
2007-09-21 14:19:52 +00:00
Gil Forcada Codinachs
4e2434c082 Updated Catalan translation by Joan Duran
svn path=/trunk/; revision=3349
2007-09-21 12:12:10 +00:00
Artur Flinta
2d60c6b878 Updated Polish translation by GNOME PL Team.
2007-09-17  Artur Flinta  <aflinta@svn.gnome.org>

	* pl.po: Updated Polish translation by GNOME PL Team.


svn path=/trunk/; revision=3348
2007-09-17 20:17:41 +00:00
Alexander Shopov
f71386bdb5 Updated Bulgarian translation by Alexander Shopov <ash@contact.bg>
2007-09-17  Alexander Shopov  <ash@contact.bg>

	* bg.po: Updated Bulgarian translation by
	Alexander Shopov <ash@contact.bg>

svn path=/trunk/; revision=3347
2007-09-17 18:35:45 +00:00
Wouter Bolsterlee
4e3a658b8e Translation updated by Wouter Bolsterlee.
2007-09-17  Wouter Bolsterlee  <wbolster@svn.gnome.org>

	* nl.po: Translation updated by Wouter Bolsterlee.

svn path=/trunk/; revision=3346
2007-09-17 17:15:16 +00:00
Djihed Afifi
bf683f6e50 Updated Arabic Translation by Djihed Afifi.
svn path=/trunk/; revision=3345
2007-09-17 11:01:54 +00:00
Gil Forcada Codinachs
cb8b2fd433 Updated Catalan translation
svn path=/trunk/; revision=3344
2007-09-16 21:16:35 +00:00
Elijah Newren
8780fd5e44 post-release version bump to 2.20.1
2007-09-15  Elijah Newren  <newren gmail com>

	* configure.in: post-release version bump to 2.20.1

svn path=/trunk/; revision=3343
2007-09-16 03:01:16 +00:00
154 changed files with 56360 additions and 41220 deletions

599
ChangeLog
View File

@@ -1,3 +1,602 @@
2008-03-07 Thomas Thurman <tthurman@gnome.org>
* NEWS: 2.23.2 release.
2008-03-07 Thomas Thurman <tthurman@gnome.org>
* src/core/prefs.c (mouse_button_mods_handler): remove
debug statements (*blush*)
2008-03-06 Thomas Thurman <tthurman@gnome.org>
* configure.in: Post-release bump to 2.23.2.
2008-03-06 Thomas Thurman <tthurman@gnome.org>
* NEWS: 2.23.1 release.
2008-03-06 Thomas Thurman <tthurman@gnome.org>
* tools/release-wrangler.py: basic md5 printing (not used yet);
also print release announcements to stdout (eventually will
need to be emailed to release list and blogged)
2008-03-06 Thomas Thurman <tthurman@gnome.org>
Part three of the great prefs refactor, this time
dealing with string preferences. (This was the most
complicated part, and has been especially tested and
valground before committing. As ever, though, let us
know if you find a problem.)
* src/core/prefs.c (MetaStringPreference): new struct.
* src/core/prefs.c (update_*): replaced with *_handler
* src/core/prefs.c (meta_prefs_init): uses new string prefs
init; uses array of gconf dirs to monitor rather than
repeating code.
* src/core/prefs.c (handle_preference_init_enum): tidying
* src/core/prefs.c (change_notify): uses new string prefs
2008-03-04 Thomas Thurman <tthurman@gnome.org>
* MAINTAINERS: added some spacing to see whether it
helps Pulse
2008-03-03 Cosimo Cecchi <anarki@lilik.it>
Add ability to vertically and horizontally maximise
using the mouse, by clicking the titlebar in various
ways. A very similar patch was received from Jason Ribero.
Thanks also go to Tony Houghton and Carlo Wood, who
both submitted patches which solved this differently.
Closes #358674.
* src/include/common.h (MetaActionTitlebar): new values
for the new actions
* src/core/core.c (meta_core_maximize_{vertic|horizont}ally):
new functions.
* src/ui/frames.c (meta_frame_titlebar_event): handle the
new action values
* src/core/window.h: new macros (for regularity, not really
necessary)
* src/core/prefs.c (symtab_titlebar_action): new string
representations of the action values
* src/metacity.schemas.in: documentation
2008-02-29 Andrea Del Signore <sejerpz@tin.it>
Add support for "spacer" as a button type which adds some
empty space. Closes #509165.
* src/ui/theme.c (meta_frame_layout_calc_geometry),
src/include/common.h (MetaButtonLayout),
src/core/prefs.c (update_button_layout, button_layout_equal),
src/metacity.schemas.in: add spacer support
2008-02-28 Thomas Thurman <tthurman@gnome.org>
* src/core/compositor.h: removed unnecessary #include which
should have been in Jim's patch (not sure how it slipped
through the tests!)
2008-02-27 Jim Huang <jserv.tw@gmail.com>
* src/core/spring-model.[ch]: deleted as no longer used
* src/Makefile.am: modified accordingly
2008-02-27 Thomas Thurman <tthurman@gnome.org>
Lots of tiny fixes to make sure we compile with
"gcc -ansi -Werror".
2008-02-26 Jens Granseuer <jensgr@gmx.net>
* src/core/constraints.c (constrain_aspect_ratio,
constrain_size_limits, constrain_size_increments):
reorder declarations so we don't break C89 compilers.
Closes #518917.
2008-02-26 Thomas Thurman <tthurman@gnome.org>
* configure.in: Post-release bump to 2.23.1.
2008-02-26 Thomas Thurman <tthurman@gnome.org>
* NEWS: 2.23.0 release.
2008-02-26 Thomas Thurman <tthurman@gnome.org>
* tools/release-wrangler.py: ANY post-release bump is now the
most recent, not just the one that matches the current version.
Otherwise, you can't use these tools straight after a branch.
The changeset before this one was mislabelled because of this.
It has now been excised from the changelog.
2008-02-25 Thomas Wood <thos@gnome.org>
* src/ui/preview-widget.[ch] (meta_preview_get_clip_region):
allow users of the preview widget to get a mask for windows
in the correct shape for the current theme.
2008-02-23 Thomas Thurman <tthurman@gnome.org>
Refactor handling of boolean preferences.
* src/core/prefs.c (handle_preference_init_bool,
handle_preference_update_bool): new functions.
* src/core/prefs.c (meta_prefs_init, change_notify):
use the new functions.
* src/core/prefs.c (update_*): several of these removed whose
only purpose was to receive boolean preferences.
* src/core/prefs.c (cleanup_error, get_bool): moved down to make
the flow of ideas more obvious.
* src/core/prefs.c (maybe_give_disable_workarounds_warning): new
function containing duplicated code from elsewhere.
* src/core/prefs.c (init_button_layout): only compiled when
HAVE_GCONF is not defined. Removed a compiler warning.
2008-02-23 Thomas Thurman <tthurman@gnome.org>
* tools/commit-wrangler.py: Print URL of changeset on success.
2008-02-23 Thomas Thurman <tthurman@gnome.org>
Refactored handling of enumerated preferences.
* src/core/prefs.c (handle_preference_init_enum,
handle_preference_update_enum): new functions.
(meta_prefs_init, change_notify): use regularised
forms and remove old copy-and-pasted code.
Also many small similar functions removed which
only existed to deal with each kind of enum.
Also some amount of correction of which parts were
and weren't inside "#ifdef HAVE_GCONF" blocks.
2008-02-21 Mikkel Kamstrup Erlandsen <mikkel.kamstrup@gmail.com>
* src/core/constraints.c: Respect requested position on
_NET_MOVERESIZE_WINDOW. Closes #448183.
2008-02-18 Matthias Clasen <mclasen@redhat.com>
* src/core/window.h: Make skip-taskbar windows appear in the
Ctrl-Alt-Tab list. Closes #106249.
2008-02-18 Thomas Thurman <tthurman@gnome.org>
* configure.in: if we have libSM and its headers,
that means we did find it, not that we didn't.
Closes #328210.
2008-02-18 Thomas Thurman <tthurman@gnome.org>
* src/core/window.c (warp_grab_pointer): When
resizing a window with the keyboard, stay one
pixels from the edges so that the cursor remains
resting on a window edge even if we escape,
whatever side it was on. Closes #436257.
2008-02-17 Thomas Thurman <tthurman@gnome.org>
* tools/commit-wrangler.py: added new script to manage commits
2008-02-17 Jim Huang <jserv.tw@gmail.com>
* src/core/prefs.c (update_binding): Allow compilation
when gconf mode is disabled. Closes #515019.
2008-02-14 Jim Huang <jserv.tw@gmail.com>
* src/core/display.c, src/core/util.c: fixups to allow
compilation in non-verbose mode. Closes #515152.
2008-02-12 Thomas Thurman <tthurman@gnome.org>
* configure.in: Correct help for verbose option name.
2008-02-12 Thomas Thurman <tthurman@gnome.org>
* configure.in: Post-branch bump to 2.23.0.
2008-02-12 Thomas Thurman <tthurman@gnome.org>
* configure.in: Post-release bump to 2.21.21.
2008-02-11 Thomas Thurman <tthurman@gnome.org>
* NEWS: 2.21.13 release.
2008-02-04 Thomas Thurman <tthurman@gnome.org>
* src/core/compositor.c: only use compositor version if
we have a compositor. Closes #514453.
2008-02-04 Thomas Thurman <tthurman@gnome.org>
* configure.in, src/ui/ui.c: remove workaround for a problem
in GTK 1.3.9(!) which was causing problems. Closes #513737.
2008-01-28 Michael Meeks <michael.meeks@novell.com>
* src/core/display.c (meta_display_open),
* src/core/compositor.c: fetch & use composite
version, for remote screens that don't match the
compile system's version.
(meta_compositor_manage_screen): bin erroneous FIXME.
(add_win): remove common warning churn for (very)
transient windows
2008-02-03 Thomas Thurman <tthurman@gnome.org>
* tools/patch-wrangler.py: another program I use for maintenance
which other people might find useful and which should probably
be in svn. Also not very polished.
2008-02-03 Thomas Thurman <tthurman@gnome.org>
* test/tokentest/tokentest.c, test/tokentest/tokentest.ini: added
new files for a regression test on the tokeniser. (They aren't very
polished at the moment and aren't included in the autotools build.)
2008-02-03 Thomas Thurman <tthurman@gnome.org>
* configure.in: Post-release bump to 2.21.13.
2008-02-03 Thomas Thurman <tthurman@gnome.org>
* NEWS: 2.21.8 release.
2008-02-03 Thomas Thurman <tthurman@gnome.org>
* tools/release-wrangler.py: Fix quoting error and added some
more error checking.
2008-02-03 Thomas Thurman <tthurman@gnome.org>
* tools/release-wrangler.py: basic release script; needs work,
but probably good enough for the current unstable release
2008-02-02 Thomas Thurman <tthurman@gnome.org>
* src/Makefile.am: core.h is in include, not core. (Last one, I
promise.)
2008-02-02 Thomas Thurman <tthurman@gnome.org>
* src/Makefile.am: main.h is in include, not core.
2008-02-02 Thomas Thurman <tthurman@gnome.org>
* src/Makefile.am: draw-workspace.h is in ui, not core.
2008-02-01 Alex R.M. Turner <armtuk@gmail.com>
* src/core/display.c (meta_get_tab_entry_list): Have the list also pull
windows that are in other workspaces that have the
wm_state_needs_attention flag set
* src/core/window.c (meta_window_set_demands_attention): Make windows that
are on other workspaces that demand attention that aren't obscured
count as being obscured
Bug #333548.
2008-01-28 Christian Persch <chpe@gnome.org>
* src/core/display.c (convert_property):
* src/core/screen.c (meta_screen_calc_workspace_layout):
* src/core/xprops.c (meta_prop_get_values):
Use G_STRFUNC instead of the deprecated G_GNUC_FUNCTION.
Bug #512561.
2008-01-21 Thomas Thurman <tthurman@gnome.org>
* src/ui/theme.[ch]: more commenting.
2008-01-18 Thomas Thurman <tthurman@gnome.org>
* src/ui/theme.[ch]: some more commenting.
2008-01-16 Thomas Thurman <tthurman@gnome.org>
* src/core/bell.c: Correct comment.
* src/core/main.c: Correct comment.
* src/ui/theme.c: Much commenting; #ifdeffed-out
debug code removed.
* src/ui/theme.h: Much commenting.
2008-01-13 Thomas Thurman <tthurman@gnome.org>
* src/core/bell.c: Commenting.
* src/core/main.c: Commenting, and fixing existing comments.
2008-01-12 Thomas Thurman <tthurman@gnome.org>
* src/core/main.c: Refactor repeated lines in main() to
iterate instead.
2008-01-12 Thomas Thurman <tthurman@gnome.org>
* src/core/main.[ch] (meta_get_main_loop): removed as it
was never used.
* src/core/main.c: lots of comments.
* src/core/main.c (version): copyright year is 2008.
* src/core/c-screen.[ch], src/core/c-window.[ch]: removed
files from Søren's compositor which were removed by the
merge with Iain's compositor but reintroduced by the split
to separate subdirectories.
* src/core/display.c: fix comments.
2008-01-12 Thomas Thurman <tthurman@gnome.org>
* src/core/display.c: reinstated missing first character!
* Doxyfile: correct reordering of blank fields.
2008-01-12 Thomas Thurman <tthurman@gnome.org>
* src/core/display.c: change comments from /*! to /** because the
other way makes doxygen think they are Qt comments, which messes
up brief descriptions.
* Doxyfile: check in so other people can generate documentation
too.
2008-01-07 Thomas Thurman <tthurman@gnome.org>
* src/core/display.c: further commenting (trying to keep comment
addings down to once a day at most so you don't all get spammed
too much).
2008-01-07 Thomas Thurman <tthurman@gnome.org>
* src/core/main.c (main): g_free is a no-op on nulls; there is no
need to test.
2008-01-06 Thomas Thurman <tthurman@gnome.org>
* src/core/display.c: Function commenting marathon; more to come.
2008-01-02 Thomas Thurman <tthurman@gnome.org>
* src/core/xprops.c (meta_prop_get_cardinal), src/core/compositor.c
(timeout_debug): Two really minor coding standards layout tweaks.
2007-12-27 Iain Holmes <iain@gnome.org>
* src/core/compositor.c: Don't do anything in
meta_compositor_free_window, it doesn't seem to be needed and breaks
things very badly. http://bugzilla.gnome.org/show_bug.cgi?id=504876
2007-12-27 Iain Holmes <iain@gnome.org>
* src/core/compositor.c: When a window is mapped, don't set damaged to
TRUE. Fixes a bug when redrawing shadows.
2007-12-25 Iain Holmes <iain@gnome.org>
* src/core/compositor.c: USe the compositor overlay window instead of
the root window.
2007-12-21 Paolo Borelli <pborelli@katamail.com>
* src/core/core.c (meta_invalidate_default_icons): do not leak list.
* src/core/edge-resistance.c
(meta_display_compute_resistance_and_snapping_edges): ditto.
* src/core/workspace.c (meta_workspace_index): small cleanup in list
handling.
2007-12-19 Havoc Pennington <hp@redhat.com>
* src/core/display.c (meta_display_open): fix a third warning
about %d and long int
* src/core/delete.c (io_from_ping_dialog): fix another warning
about long int to %d
* src/core/compositor.c (meta_compositor_new): fix a warning about
long int to %d
* src/core/iconcache.c (meta_read_icons): use
meta_ui_get_fallback_icons() instead of incorrectly including theme.h
* src/ui/ui.c (meta_ui_get_fallback_icons): new function
2007-12-19 Havoc Pennington <hp@redhat.com>
* src/ui, src/core, src/include: sort source files into these
directories according to which part of the WM they are supposed to
be in. In an eventual plan, we should also create
src/compositor/render, src/compositor/fallback and move some of
the compositor stuff into that.
* autogen.sh: require a newer automake, so we don't have to use
a recursive build
* src/ui/tabpopup.c: put in a hack to make the build temporarily
work, want to commit the large rearrangement before fixing this
not to include workspace.h or frame.h
* src/core/iconcache.c (meta_read_icons): temporarily break this
to get the build to work, want to commit the large rearrangement
before fixing this file not to include theme.h
2007-12-19 Thomas Thurman <thomas@thurman.org.uk>
* configure.in: Post-release bump to 2.21.8.
2007-12-19 Thomas Thurman <tthurman@gnome.org>
* NEWS: 2.21.5 release.
2007-12-19 Thomas Thurman <tthurman@gnome.org>
* configure.in: print "Subversion" and not "CVS".
2007-12-18 Thomas Thurman <tthurman@gnome.org>
* configure.in: compositor enabled by default.
2007-12-18 Iain Holmes <iain@gnome.org>
* configure.in, src/theme.c, src/display.c,
src/theme.h, src/display.h, src/theme-parser.c,
src/compositor.c, src/c-screen.c, src/compositor.h,
src/c-screen.h, src/ui.c, src/screen.c, src/ui.h,
src/screen.h, src/c-window.c, src/c-window.h,
src/theme-viewer.c, src/Makefile.am: Merge compositor branch.
2007-12-14 Thomas Thurman <thomas@thurman.org.uk>
* configure.in: Post-release bump to 2.21.5.
2007-12-14 Thomas Thurman <tthurman@gnome.org>
* NEWS: 2.21.3 release.
2007-12-11 Thomas Thurman <tthurman@gnome.org>
* src/theme-parser.c: remove dead code; closes #501365.
2007-12-08 Thomas Thurman <tthurman@gnome.org>
* src/metacity.schemas.in: rewrite long description of
/schemas/apps/metacity/general/focus_new_windows because we
love the translators really. Closes #474889.
2007-12-08 Matthias Clasen <mclasen@redhat.com>
* src/menu.c (meta_window_menu_new): check for null before adding
menu; closes #496054.
2007-12-08 Thomas Thurman <tthurman@gnome.org>
* src/keybindings.c (meta_display_process_key_event): Recur if the
keypress ended a grab, so it can be processed in its own right.
Closes #112560.
2007-12-08 Martin Meyer <elreydetodo@gmail.com>
* src/theme-parser.c (parse_draw_op_element): Fix
typo where wrong variable was checked (reported by
Kjartan Maraas). Closes #501362.
2007-11-19 Lucas Rocha <lucasr@gnome.org>
* src/main.c (main): try to get the session client ID from
DESKTOP_AUTOSTART_ID environment variable in case the --sm-client-id
is not used. Closes #498033.
2007-11-17 Thomas Thurman <thomas@thurman.org.uk>
* configure.in: Post-release bump to 2.21.3.
2007-11-17 Thomas Thurman <thomas@thurman.org.uk>
* NEWS: 2.21.2 release.
2007-11-17 Benjamin Gramlich <benjamin.gramlich@gmail.com>
* src/theme-parser.c (meta_theme_load): make our theme
search compliant to the XDG Base Directory Specification.
Closes #480026.
2007-11-15 Thomas Thurman <thomas@thurman.org.uk>
* src/api.[ch]: remove almost-unused files.
* src/colors.[ch]: move the used parts of api.[ch] in here.
Closes #496947.
2007-11-13 Peter Bloomfield <pbloomfield@bellsouth.net>
* src/window.c: (meta_window_save_user_rect): new helper, saves
only unmaximized dimensions, and not when fullscreen.
(meta_window_move_resize_internal,
meta_window_move_resize_request): use it. (#461927)
2007-11-11 Thomas Thurman <thomas@thurman.org.uk>
* configure.in: Post-release bump to 2.21.2.
2007-11-11 Thomas Thurman <thomas@thurman.org.uk>
* NEWS: 2.21.1 release.
2007-11-11 Thomas Thurman <thomas@thurman.org.uk>
* src/window.c (meta_window_show): adjust expression which decides
whether new windows should not go on top, so that restacking happens
only the first time a window is mapped. Thanks to Olav Vitters for
pointing out the problem. Re-fixes #486445.
2007-11-11 Alex R.M. Turner <armtuk@gmail.com>
* src/tabpopup.c (tab_entry_new, meta_ui_tab_popup_new): Instruct the
GtkLabel in the tabpopup to ellipsize text that is too big. Set the
maximum window width of the tabpopup to screen_width/4, which seems a
sensible size for the popup.
2007-11-09 Elijah Newren <newren gmail com>
* src/window.c (meta_window_new_with_attrs): If a window is
launched without any kind of launch timestamp, grab the current
time and stash it away. When transients of that window are also
launched without a timestamp, we can use the stashed timestamp
from the parent. Fixes #488468.
2007-11-07 Federico Mena Quintero <federico@novell.com>
* src/window-props.c (reload_net_wm_user_time_window): Fix typo;
the arguments to meta_window_reload_property_from_xwindow() were
reversed. This is why the wm_user_time wasn't getting initialized
properly from the _NET_WM_USER_TIME_WINDOW. Fixes part of
http://bugzilla.gnome.org/show_bug.cgi?id=488468
2007-11-06 Peter Bloomfield <pbloomfield@bellsouth.net>
* src/window.c (meta_window_move_resize_internal): save
unmaximized part of client root coords. (#461927)
2007-11-06 Peter Bloomfield <pbloomfield@bellsouth.net>
* src/window.c (meta_window_move_resize_internal): do not save
client root coords while window is maximized. (#461927)
2007-10-30 iain Holmes <iain@gnome.org>
* src/main.c (meta_parse_options): Add --sync option
(main): Check if the --sync option was passed on command line.
2007-10-28 Jans Granseuer <jensgr@gmx.net>
* src/preview-widget.c (meta_preview_finalize): Free title of
preview when the preview is destroyed. Closes #469682.
2007-10-27 Alex R.M. Turner <armtuk@gmail.com>
* src/tabpopup.c (tab_entry_new): Truncate the string to
max_char_per_title before adding bold tags and fix general flow of
function.
2007-10-16 Thomas Thurman <thomas@thurman.org.uk>
* src/window.c (window_would_be_covered): new function.
* src/window.c (meta_window_show): rewrite assertion not
to put window on top in terms of window_would_be_covered();
remove assertion because it's no longer valid; explicitly
don't focus windows that shouldn't be focussed; closes #486445.
2007-10-14 Thomas Thurman <thomas@thurman.org.uk>
* configure.in: Post-branch bump to 2.21.1.
2007-10-03 Kjartan Maraas <kmaraas@gnome.org>
* configure.in: Remove circular dep metacity<->gnomecc.
2007-09-15 Elijah Newren <newren gmail com>
* configure.in: post-release version bump to 2.20.1
2007-09-15 Elijah Newren <newren gmail com>
* configure.in:

1297
Doxyfile Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,8 +1,10 @@
Currently active maintainers
--------------------------------
Elijah Newren
Email: newren gmail com
Email: newren gmail com
Userid: newren
- Usually won't touch the theme bugs (isn't interested) or the
compositor (until open source nvidia drivers are up to snuff).
Tends to be most interested in libwnck/gtk interactions, focus
@@ -10,8 +12,9 @@ Userid: newren
just about anything other than themes and the compositor.
Thomas Thurman
Email: thomas thurman org uk
Email: thomas thurman org uk
Userid: tthurman
- Responsible for all theme bugs and the compositor (thank goodness
Thomas got involved, eh?). I'm sure he'll replace this sentence
with his interests when he reads it. ;-)
@@ -19,6 +22,7 @@ Userid: tthurman
Semi-active maintainers
--------------------------------
Havoc Pennington
Email: hp redhat com
Userid: hp
@@ -29,6 +33,7 @@ Userid: hp
Important historical figureheads
--------------------------------
Rob Adams (readams readams net)
- Was the main maintainer of metacity for a while; particular areas
of focus included xinerama, placement, and an older version of the

167
NEWS
View File

@@ -1,3 +1,170 @@
2.23.2
======
Removed some debug statements introduced in 2.23.1. Brown paper bag release.
2.23.1
======
Thanks to Cosimo Cecchi, Jens Granseuer, Jim Huang, Andrea Del Signore, and
Thomas Thurman for improvements in this version.
(Cosimo's patch was very similar to another received from Jason Ribero.)
- Allow horizontal and vertical maximisation using the mouse (Cosimo/Jason)
(#358674)
- Allow "spacer" as a value for buttons, for blank space (Andrea) (#509165)
- Remove unused code (Jim)
- refactor preferences handling (Thomas)
- make sure we're valid C89 (Jens) (#518917)
- some messing with tool scripts (Thomas)
Translations
Jorge González (es), Claude Paroz (fr), Woodman Tuen (zh_HK), Woodman
Tuen (zh_TW)
2.23.0
======
Thanks to Matthias Clasen, Mikkel Kamstrup Erlandsen, Jim Huang, Thomas Thurman,
and Thomas Wood for improvements in this version.
- the preview widget can draw shaped windows properly! (Thomas W, #460018)
- refactored handling of boolean and enumerated gconf preferences;
refactoring of string and integer preferences will follow shortly (Thomas T)
- Applications asking to move and resize windows at the same time have
both their requests granted (Mikkel) (#448183)
- Windows marked "skip taskbar" don't appear in the ctrl-alt-tab list
(Matthias) (#106249)
- fix session management detection (Thomas T) (#328210)
- when resizing with the keyboard, the cursor stays on a window edge if
you escape, whichever direction you were going (Thomas T) (#436257)
- fix major breakage when gconf was turned off in configure (Jim) (#515019)
- fix major breakage when verbose was turned off in configure (Jim) (#515152)
- fix name of verbose option in help (Thomas T)
- various bits of messing around with release scripts (Thomas T)
Translations
Ihar Hrachyshka (be@latin), Ilkka Tuohela (fi), Ignacio Casal Quinteiro (gl),
Shankar Prasad (kn), Changwoo Ryu (ko), Nabin Gautam (ne), Wouter Bolsterlee (nl)
2.21.13
=======
Thanks to Michael Meeks and Thomas Thurman for improvements in this version.
- Only use compositor version if we have a compositor (Thomas) (#514453)
- Remove workaround for a problem in an ancient GTK version (Thomas) (#513737)
- Compositor efficiency fixes (Michael)
- Various tools added (Thomas)
Translations
Amitakhya Phukan (as), Rhys Jones (cy), Andre Klapper (de), Takeshi AIHANA (ja),
Arangel Angov (mk), Tomasz Dominikowski (pl), Duarte Loreto (pt)
2.21.8
======
Thanks to Paolo Borelli, Iain Holmes, Havoc Pennington, Christian Persch, Thomas
Thurman, and Alex R.M. Turner for improvements in this version.
- Windows on other workspaces which need attention appear in the alt-tab
list too (Alex) (#333548)
- Remove deprecated function call (Christian) (#512561)
- New release script (Thomas)
- Made a start at improving the general number of comments (Thomas)
- Updated copyright year to 2008, and some other tiny fixes (Thomas)
- Don't do anything unusual when the compositor frees a window (Iain)
- Mapping windows doesn't mark them as damaged (Iain)
- Compositor uses the overlay window and not the root window (Iain)
- Fixed several list leaks (Paolo)
- Fixed warnings about printf formats (Havoc)
- Move source files into subdirectories of the src directory (Havoc)
Translations
Khaled Hosny (ar), Ihar Hrachyshka (be@latin), Petr Kovar (cs), Andre
Klapper (de), Jorge González (es), Iñaki Larrañaga Murgoitio (eu), Seán de
Búrca (ga), Yuval Tanny (he), Luca Ferretti (it), Takeshi AIHANA (ja), Arangel
Angov (mk), sandeep shedmake (mr), Kjartan Maraas (nb), Yannig
Marchegay (Kokoyaya) (oc), Daniel Nylander (sv), Theppitak Karoonboonyanan (th),
Baris Cicek (tr), Clytie Siddall (vi)
2.21.5
======
Thanks to Iain Holmes and Thomas Thurman for improvements in this version.
This contains the new compositor; downstream maintainers should note that
its GConf key is initially turned off in src/metacity.schemas.in and consider
whether to turn it on by default in their packages.
- merge compositor branch! (Iain) (499081)
- print "Subversion" and not "CVS" when building (Thomas)
Translations
Jorge González (es), Kjartan Maraas (nb), Daniel Nylander (sv)
2.21.3
======
Thanks to Matthias Clasen, Martin Meyer, Kjartan Maraas, Thomas Thurman,
and Lucas Rocha for improvements in this version.
- remove dead code (pointed out by Kjartan) (501365)
- rewrote long key binding description for the sake of
the translators (Thomas) (474889)
- check for null before adding menu (Matthias) (496054)
- let keys which end a grab also begin a grab (Thomas) (112560)
- check the right variable in theme sanity check (Martin) (501362)
- get session ID from environment if it's not passed in on the command
line (Lucas) (498033)
Translations
Ihar Hrachyshka (be@latin), Petr Kovar (cs), Jorge González (es),
Ignacio Casal Quinteiro (gl), Rodrigo Flores (pt_BR), Pavol Šimo (sk),
Matej Urbančič (sl)
2.21.2
======
Thanks to Benjamin Gramlich, Thomas Thurman, and Peter Bloomfield
for improvements in this release.
- Theme parser is compliant to XDG Base Directory Specification
in searching for theme files. (Benjamin) (#480026)
- Some source files which didn't get used were removed (Thomas)
(#496947)
- Fullscreen and maximise windows don't try to save their position
(Peter) (#461927)
Translations
Matej Urbančič (sl)
2.21.1
======
Thanks to Elijah Newren, Alex R.M. Turner, Peter Bloomfield, Iain Holmes,
Jans Granseuer, Federico Mena Quintero and Thomas Thurman for improvements
in this release.
- Add --sync option, like all other GTK apps (Iain)
- Don't save window's position if it's maximised (Peter) (#461927)
- Memory leak fix in preview (Jans) (#469682)
- Truncate tab popup string correctly, and refactor function (Alex)
- Windows which pop up under always-on-top windows don't get the
focus, but do get the "needs attention" hint (Thomas) (#486445)
- Fix error in function call which caused focus problems (Federico)
(partial fix of #488468)
Translations
Djihed Afifi (ar), Metin Amiroff (az), Alexander Shopov (bg),
Jordi Mallach (ca), David Lodge (en_GB), Jorge González (es),
Iñaki Larrañaga Murgoitio (eu), Vincent Untz (fr), Alastair McKinstry (ga),
Ankit Patel (gu), Rajesh Ranjan (hi), auto (hr), Changwoo Ryu (ko),
Raivis Dejus (lv), Wouter Bolsterlee (nl), Gora Mohanty (or),
ASB (pa), wadim dziedzic (pl), Duarte Loreto (pt),
Og Maciel (pt_BR), Peter Tuhársky (sk), Matej Urbančič (sl),
Daniel Nylander (sv), Maxim Dziumanenko (uk), Funda Wang (zh_CN)
2.20.0
======

View File

@@ -5,7 +5,7 @@ srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.
PKG_NAME="metacity"
REQUIRED_AUTOMAKE_VERSION=1.7
REQUIRED_AUTOMAKE_VERSION=1.10
(test -f $srcdir/configure.in \
&& test -d $srcdir/src) || {

View File

@@ -1,17 +1,17 @@
AC_PREREQ(2.50)
m4_define([metacity_major_version], [2])
m4_define([metacity_minor_version], [20])
m4_define([metacity_minor_version], [23])
# Fibonacci sequence for micro version numbering:
# 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987
m4_define([metacity_micro_version], [0])
m4_define([metacity_micro_version], [2])
m4_define([metacity_version],
[metacity_major_version.metacity_minor_version.metacity_micro_version])
AC_INIT([metacity], [metacity_version],
[http://bugzilla.gnome.org/enter_bug.cgi?product=metacity])
AC_CONFIG_SRCDIR(src/display.c)
AC_CONFIG_SRCDIR(src/core/display.c)
AC_CONFIG_HEADERS(config.h)
AM_INIT_AUTOMAKE
@@ -120,7 +120,7 @@ if test x$enable_gconf = xyes; then
fi
AC_ARG_ENABLE(verbose-mode,
AC_HELP_STRING([--disable-verbose],
AC_HELP_STRING([--disable-verbose-mode],
[disable metacity's ability to do verbose logging, for embedded/size-sensitive custom builds]),,
enable_verbose_mode=yes)
@@ -176,11 +176,8 @@ else
AC_MSG_ERROR("Pango 1.2.0 or greater based on Xft2 is required")
fi
if $PKG_CONFIG --exists gnome-keybindings; then
GNOME_KEYBINDINGS_KEYSDIR=$($PKG_CONFIG --variable keysdir gnome-keybindings)
else
GNOME_KEYBINDINGS_KEYSDIR="${datadir}/gnome-control-center/keybindings"
fi
# Unconditionally use this dir to avoid a circular dep with gnomecc
GNOME_KEYBINDINGS_KEYSDIR="${datadir}/gnome-control-center/keybindings"
AC_SUBST(GNOME_KEYBINDINGS_KEYSDIR)
STARTUP_NOTIFICATION_VERSION=0.7
@@ -226,15 +223,15 @@ if test x$enable_compositor = xyes; then
have_xcomposite=yes
echo "CompositeExt support forced on"
elif test x$enable_compositor = xauto; then
echo "Not building compositing manager by default now, must enable explicitly to get it."
have_xcomposite=no
echo "Building compositing manager by default now."
have_xcomposite=yes
else
have_xcomposite=no
fi
if test x$have_xcomposite = xyes; then
echo "Building with CompositeExt"
METACITY_PC_MODULES="$METACITY_PC_MODULES xcomposite >= $XCOMPOSITE_VERSION xfixes xrender xdamage cm"
METACITY_PC_MODULES="$METACITY_PC_MODULES xcomposite >= $XCOMPOSITE_VERSION xfixes xrender xdamage"
AC_DEFINE(HAVE_COMPOSITE_EXTENSIONS, , [Building with compositing manager support])
## force on render also
@@ -429,7 +426,7 @@ case "$METACITY_LIBS" in
*)
AC_CHECK_LIB(SM, SmcSaveYourselfDone,
[AC_CHECK_HEADERS(X11/SM/SMlib.h,
METACITY_LIBS="-lSM -lICE $METACITY_LIBS" found_sm=no)],
METACITY_LIBS="-lSM -lICE $METACITY_LIBS" found_sm=yes)],
, $METACITY_LIBS)
;;
esac
@@ -462,12 +459,6 @@ fi
AC_SUBST(GDK_PIXBUF_CSOURCE)
## hack to work with old GTK versions for now
save_LDFLAGS=$LDFLAGS
LDFLAGS="$METACITY_LIBS $LDFLAGS"
AC_CHECK_FUNCS(gdk_pixbuf_new_from_stream)
LDFLAGS=$save_LDFLAGS
if test x$enable_gconf = xyes; then
AC_PATH_PROG(GCONFTOOL, gconftool-2, no)
if test x"$GCONFTOOL" = xno; then
@@ -480,6 +471,12 @@ else
GCONF_SCHEMAS_INSTALL_FALSE=
fi
AC_ARG_ENABLE(debug,
[ --enable-debug enable debugging],,
enable_debug=no)
if test "x$enable_debug" = "xyes"; then
CFLAGS="$CFLAGS -g -O -Wall"
fi
AC_CONFIG_FILES([
Makefile
doc/Makefile
@@ -535,7 +532,7 @@ if test $(( $(echo $METACITY_MINOR_VERSION) %2)) == "1"; then
stable_version=$(( ($METACITY_MINOR_VERSION / 2) * 2))
echo "This is the UNSTABLE branch of metacity"
echo -n "Use 2.$stable_version.x for stable "
echo "(gnome-2-$stable_version branch in CVS)"
echo "(gnome-2-$stable_version branch in Subversion)"
else
echo "This is the stable branch of metacity"
fi

View File

@@ -1,3 +1,285 @@
2008-03-03 Jorge Gonzalez <jorgegonz@svn.gnome.org>
* es.po: Updated Spanish translation
2008-03-01 Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>
* zh_HK.po: Updated Traditional Chinese translation(Hong Kong).
* zh_TW.po: Updated Traditional Chinese translation(Taiwan).
2008-02-27 Stéphane Raimbault <stephane.raimbault@gmail.com>
* fr.po: Updated French translation (merged from gnome-2-22).
2008-02-25 Changwoo Ryu <cwryu@debian.org>
* ko.po: Updated Korean translation.
2008-02-24 Ilkka Tuohela <hile@iki.fi>
* fi.po: Updated Finnish translation (bug #518255).
2008-02-23 Ihar Hrachyshka <booxter@lacinka.org>
* be@latin.po: Updated Belarusian Latin translation.
2008-02-20 Ilkka Tuohela <hile@iki.fi>
* fi.po: Updated Finnish translation.
2008-02-18 Wouter Bolsterlee <wbolster@svn.gnome.org>
* nl.po: Updated Dutch translation by Wouter Bolsterlee.
2008-02-18 Ihar Hrachyshka <booxter@lacinka.org>
* be@latin.po: Updated Belarusian Latin translation.
2008-02-15 Runa Bhattacharjee <runabh@gmail.com>
* kn.po: Added Kannada Translations by Shankar Prasad
* LINGUAS: Added Kannada (kn) to the List of Languages
2008-02-14 Ignacio Casal Quinteiro <nacho.resa@gmail.com>
* gl.po: Updated Galician Translation.
2008-02-14 Pawan Chitrakar <chautari@gmail.com>
* ne.po: Updated Nepali Translation.
2008-02-14 Ilkka Tuohela <hile@iki.fi>
* fi.po: Updated Finnish translation.
2008-02-13 Ilkka Tuohela <hile@iki.fi>
* fi.po: Updated Finnish translation.
2008-02-10 Duarte Loreto <happyguy_pt@hotmail.com>
* pt.po: Updated Portuguese translation.
2008-02-09 Hendrik Brandt <heb@gnome-de.org>
* de.po: Updated German translation.
2008-02-07 Artur Flinta <aflinta@svn.gnome.org>
* pl.po: Updated Polish translation by GNOME PL Team.
2008-02-05 Rhys Jones <rhys@sucs.org>
* cy.po: Updated Welsh translation.
2008-02-03 Amitakhya Phukan <amitakhya@svn.gnome.org>
* LINGUAS: Added as to LINGUAS.
* as.po: Updated assamese translations.
2008-02-03 Arangel Angov <arangel@linux.net.mk>
* mk.po: Updated Macedonian translation.
2008-02-03 Takeshi AIHANA <takeshi.aihana@gmail.com>
* ja.po: Updated Japanese translation.
2008-02-02 Luca Ferretti <elle.uca@libero.it>
* it.po: Updated Italian translation.
2008-02-01 Theppitak Karoonboonyanan <thep@linux.thai.net>
* th.po: Updated Thai translation.
2008-01-31 Djihed Afifi <djihed@gmail.com>
* ar.po: Updated Arabic Translation by Khaled Hosny.
2008-01-30 Rahul Bhalerao <b.rahul.pm@gmail.com>
* mr.po: Updated Marathi translations by Sandeep Shedmake.
2008-01-27 Baris Cicek <baris@teamforce.name.tr>
* tr.po: Fixed typo in Turkish translation.
2008-01-25 Petr Kovar <pknbe@volny.cz>
* cs.po: Updated Czech translation.
2008-01-22 Andre Klapper <a9016009@gmx.de>
* de.po: Sync "beep" translation.
2008-01-15 Daniel Nylander <po@danielnylander.se>
* sv.po: Updated Swedish translation.
2008-01-14 Inaki Larranaga Murgoitio <dooteo@euskalgnu.org>
* eu.po: Updated Basque translation.
2008-01-14 Kjartan Maraas <kmaraas@gnome.org>
* nb.po: Updated Norwegian bokmål translation.
2008-01-13 Jorge Gonzalez <jorgegonz@svn.gnome.org>
* es.po: Updated Spanish translation
2008-01-09 Yair Hershkovitz <yairhr@gmail.com>
* he.po: Updated Hebrew translation.
2008-01-06 Ihar Hrachyshka <booxter@lacinka.org>
* be@latin.po: Updated Belarusian Latin translation.
2008-01-05 Clytie Siddall <clytie@riverland.net.au>
* vi.po: Updated Vietnamese translation.
2007-12-31 Yannig Marchegay <yannig@marchegay.org>
* oc.po: Updated Occitan translation.
2007-12-31 Daniel Nylander <po@danielnylander.se>
* sv.po: Updated Swedish translation.
2007-12-22 Seán de Búrca <sdeburca@svn.gnome.org>
* ga.po: Updated Irish translation.
2007-12-22 Seán de Búrca <sdeburca@svn.gnome.org>
* POTFILES.in: Remove dead files.
2007-12-20 Kjartan Maraas <kmaraas@gnome.org>
* POTFILES.in: Rearrange after stuff moved around.
* nb.po: Update
2007-12-19 Kjartan Maraas <kmaraas@gnome.org>
* nb.po: Updated Norwegian bokmål translation.
2007-12-19 Jorge Gonzalez <jorgegonz@svn.gnome.org>
* es.po: Updated Spanish translation.
2007-12-17 Daniel Nylander <po@danielnylander.se>
* sv.po: Updated Swedish translation.
2007-12-15 Kjartan Maraas <kmaraas@gnome.org>
* nb.po: Updated Norwegian bokmål translation.
2007-12-10 Jorge Gonzalez <jorgegonz@svn.gnome.org>
* es.po: Updated Spanish translation, fixes bug #500562 and bug #500831
2007-12-10 Matej Urbančič <mateju@svn.gnome.org>
* sl.po: Updated Slovenian Translation.
2007-12-10 Jorge Gonzalez <jorgegonz@svn.gnome.org>
* es.po: Updated Spanish translation, fixes bug #500831
2007-12-09 Jorge Gonzalez <jorgegonz@svn.gnome.org>
* es.po: Updated Spanish translation, fixes bug #500562
2007-12-08 Jakub Friedl <jfriedl@suse.cz>
* cs.po: Czech Translation updated by Petr Kovar.
2007-12-08 Ihar Hrachyshka <booxter@lacinka.org>
* be@latin.po: Updated Belarusian Latin translation.
2007-12-08 Leonardo Ferreira Fontenelle <leonardof@svn.gnome.org>
* pt_BR.po: Fixes in Brazilian Portuguese translation by Luiz Armesto.
2007-12-07 Leonardo Ferreira Fontenelle <leonardof@svn.gnome.org>
* pt_BR.po: Fixed attributes in Brazilian Portuguese translation by
Rodrigo Flores.
2007-12-02 Marcel Telka <marcel@telka.sk>
* sk.po: Updated Slovak translation by Pavol Šimo.
2007-11-28 Ignacio Casal Quinteiro <nacho.resa@gmail.com>
* gl.po: Updated Galician Translation.
2007-11-12 Matej Urbančič <mateju@svn.gnome.org>
* sl.po: Updated Slovenian translation.
2007-11-08 Daniel Nylander <po@danielnylander.se>
* sv.po: Updated Swedish translation.
2007-11-01 Jorge Gonzalez <jorgegonz@svn.gnome.org>
* es.po: Updated Spanish translation
2007-10-25 Matej Urbančič <mateju@svn.gnome.org>
* sl.po: Updated Slovenian translation.
2007-10-23 Djihed Afifi <djihed@gmail.com>
* ar.po: Updated Arabic Translation by Djihed Afifi.
2007-10-21 Djihed Afifi <djihed@gmail.com>
* ar.po: Updated Arabic Translation by Djihed Afifi.
2007-09-30 Stéphane Raimbault <stephane.raimbault@gmail.com>
* fr.po: Fixed French translation.
2007-09-27 Changwoo Ryu <cwryu@debian.org>
* ko.po: Updated Korean translation.
2007-09-25 Gil Forcada <gforcada@svn.gnome.org>
* ca.po: Fixed a string in Catalan translation thanks to Sílvia Miranda.
2007-09-21 Gil Forcada <gforcada@svn.gnome.org>
* ca.po: Updated Catalan translation by Joan Duran.
2007-09-17 Artur Flinta <aflinta@svn.gnome.org>
* pl.po: Updated Polish translation by GNOME PL Team.
2007-09-17 Alexander Shopov <ash@contact.bg>
* bg.po: Updated Bulgarian translation by
Alexander Shopov <ash@contact.bg>
2007-09-17 Wouter Bolsterlee <wbolster@svn.gnome.org>
* nl.po: Translation updated by Wouter Bolsterlee.
2007-09-17 Djihed Afifi <djihed@gmail.com>
* ar.po: Updated Arabic Translation by Djihed Afifi.
2007-09-16 Gil Forcada <gforcada@svn.gnome.org>
* ca.po: Updated Catalan translation.
2007-09-16 Takeshi AIHANA <takeshi.aihana@gmail.com>
* ja.po: Translation improved.
@@ -18,9 +300,9 @@
2007-09-15 Andre Klapper <a9016009@gmx.de>
* sk.po: Updated Slovak translation on behalf of Peter Tuharsky
<tuharsky@misbb.sk>.
<tuharsky@misbb.sk>.
2007-09-14 Clytie Siddall <clytie@riverland.net.au>
2007-09-14 Clytie Siddall <clytie@riverland.net.au>
* vi.po: Updated Vietnamese translation.
@@ -28,7 +310,7 @@
* it.po: Updated Italian translation.
2007-09-13 Djihed Afifi <djihed@gmail.com>
2007-09-13 Djihed Afifi <djihed@gmail.com>
* ar.po: Updated Arabic Translation by Khaled Hosny.
@@ -54,13 +336,13 @@
2007-09-08 Inaki Larranaga Murgoitio <dooteo@zundan.com>
* eu.po: Fixed some typos in Basque translation.
* eu.po: Fixed some typos in Basque translation.
2007-09-05 Jovan Naumovski <jovan@lugola.net>
* mk.po: Updated Macedonian translation.
2007-09-03 Clytie Siddall <clytie@riverland.net.au>
* mk.po: Updated Macedonian translation.
2007-09-03 Clytie Siddall <clytie@riverland.net.au>
* vi.po: Updated Vietnamese translation.
@@ -69,12 +351,12 @@
* pt.po: Updated Portuguese translation.
2007-09-03 Jovan Naumovski <jovan@lugola.net>
* mk.po: Updated Macedonian translation.
* mk.po: Updated Macedonian translation.
2007-09-01 Jovan Naumovski <jovan@lugola.net>
* mk.po: Updated Macedonian translation.
* mk.po: Updated Macedonian translation.
2007-09-01 Stéphane Raimbault <stephane.raimbault@gmail.com>
@@ -125,7 +407,7 @@
* gu.po: Updated Gujarati Translation.
2007-08-07 Jorge Gonzalez <jorgegonz@svn.gnome.org>
2007-08-07 Jorge Gonzalez <jorgegonz@svn.gnome.org>
* es.po: Updated Spanish translation
@@ -180,7 +462,7 @@
2007-06-25 Jorge Gonzalez <jorgegonz@svn.gnome.org>
* es.po: Updated Spanish translation
* es.po: Updated Spanish translation
2007-06-24 Kjartan Maraas <kmaraas@gnome.org>
@@ -189,7 +471,7 @@
2007-06-19 Jorge Gonzalez <jorgegonz@svn.gnome.org>
* es.po: Updated Spanish translation
* es.po: Updated Spanish translation
2007-06-16 Funda Wang <fundawang@gmail.com>
@@ -197,7 +479,7 @@
2007-06-15 Jorge Gonzalez <jorgegonz@svn.gnome.org>
* es.po: Updated Spanish translation
* es.po: Updated Spanish translation
2007-06-13 Pema Geyleg <pema.geyleg@gmail.com>
@@ -208,10 +490,10 @@
* th.po: Updated Thai translation.
2007-05-09 Jovan Naumovski <jovan@lugola.net>
* mk.po: Updated Macedonian translation.
2007-05-2 Djihed Afifi <djihed@gmail.com>
* mk.po: Updated Macedonian translation.
2007-05-2 Djihed Afifi <djihed@gmail.com>
* ar.po: Updated Arabic Translation by Khaled Hosny.
@@ -235,7 +517,7 @@
* sv.po: Updated Swedish translation.
2007-04-14 Djihed Afifi <djihed@gmail.com>
2007-04-14 Djihed Afifi <djihed@gmail.com>
* ar.po: Updated Arabic Translation by Khaled Hosny.
@@ -249,7 +531,7 @@
2007-04-05 Raivis Dejus <orvils@gmail.com>
* lv.po: Updated Latvian Translation.
* lv.po: Updated Latvian Translation.
2007-04-02 Alessio Frusciante <algol@firenze.linux.it>
@@ -403,7 +685,7 @@
* et.po: Updated Estonian translation by Ivar Smolin <okul@linux.ee>.
2007-01-22 Jakub Friedl <jfriedl@suse.cz>
2007-01-22 Jakub Friedl <jfriedl@suse.cz>
* cs.po: Updated Czech translation.
@@ -411,7 +693,7 @@
* de.po: Updated German translation.
2007-01-15 Djihed Afifi <djihed@gmail.com>
2007-01-15 Djihed Afifi <djihed@gmail.com>
* ar.po: Updated Arabic Translation by Khaled Hosny.
@@ -419,11 +701,11 @@
* sv.po: Updated Swedish translation.
2007-01-05 Jakub Friedl <jfriedl@suse.cz>
2007-01-05 Jakub Friedl <jfriedl@suse.cz>
* cs.po: Updated Czech translation.
2007-01-3 Djihed Afifi <djihed@gmail.com>
2007-01-3 Djihed Afifi <djihed@gmail.com>
* ar.po: Updated Arabic Translation by Djihed Afifi.
@@ -439,11 +721,11 @@
* th.po: Updated Thai translation.
2006-12-27 Djihed Afifi <djihed@gmail.com>
2006-12-27 Djihed Afifi <djihed@gmail.com>
* ar.po: Updated Arabic Translation.
2006-12-24 Djihed Afifi <djihed@gmail.com>
2006-12-24 Djihed Afifi <djihed@gmail.com>
* ar.po: Updated Arabic Translation.
@@ -455,7 +737,7 @@
* nb.po: Updated Norwegian bokmål translation.
2006-12-18 Djihed Afifi <djihed@gmail.com>
2006-12-18 Djihed Afifi <djihed@gmail.com>
* ar.po: Updated Arabic Translation.
@@ -576,7 +858,7 @@
2006-09-13 Ilkka Tuohela <hile@iki.fi>
* fi.po: Updated Finnish translation.
- concistency fixes with libwnck
- concistency fixes with libwnck
2006-09-13 Rajesh Ranjan <rajeshkajha@yahoo.com>
@@ -824,7 +1106,7 @@
2006-04-26 Gora Mohanty <gmohanty@cvs.gnome.org>
* lv.po: Updated Latvian translation by Raivis Dejus <orvils@gmail.com>
* lv.po: Updated Latvian translation by Raivis Dejus <orvils@gmail.com>
2006-04-21 Theppitak Karoonboonyanan <thep@linux.thai.net>
@@ -832,11 +1114,11 @@
2006-04-20 Ankit Patel <ankit644@yahoo.com>
* gu.po: Updated Gujarati Translation.
* gu.po: Updated Gujarati Translation.
2006-04-19 Ankit Patel <ankit644@yahoo.com>
* gu.po: Updated Gujarati Translation.
* gu.po: Updated Gujarati Translation.
2006-04-17 Clytie Siddall <clytie@riverland.net.au>
@@ -1025,7 +1307,7 @@
2006-03-03 Maxim Dziumanenko <mvd@mylinux.ua>
* uk.po: Updated Ukrainian translation.
* uk.po: Updated Ukrainian translation.
2006-03-02 Hendrik Richter <hendrikr@gnome.org>
@@ -1604,7 +1886,7 @@
* xh.po: Updated Xhosa translation.
2005-04-28 Kostas Papadimas <pkst@gnome.org>
2005-04-28 Kostas Papadimas <pkst@gnome.org>
* el.po: Updated Greek translation
@@ -1614,7 +1896,7 @@
2005-04-17 Pauli Virtanen <pauli.virtanen@hut.fi>
* fi.po: Fix a small mistranslation.
* fi.po: Fix a small mistranslation.
2005-04-09 Christopher Orr <chris@protactin.co.uk>
@@ -1784,7 +2066,7 @@
2005-02-07 David Lodge <dave@cirt.net>
* en_GB.po: Updated British translation.
* en_GB.po: Updated British translation.
2005-02-06 Adam Weinberger <adamw@gnome.org>
@@ -1801,7 +2083,7 @@
2005-02-06 Pauli Virtanen <pauli.virtanen@hut.fi>
* fi.po: Updated Finnish translation.
* fi.po: Updated Finnish translation.
2005-02-05 Frank Arnold <farnold@cvs.gnome.org>
@@ -1994,7 +2276,7 @@
2004-09-14 Gora Mohanty <gmohanty@cvs.gnome.org>
* or.po: Updated Oriya translation.
* or.po: Updated Oriya translation.
2004-09-12 Paisa Seeluangsawat <paisa@users.sf.net>
@@ -2190,7 +2472,7 @@
2004-07-21 Guntupalli Karunakar <karunakar@freedomink.org>
* hi.po: Updated Hindi translation.
* hi.po: Updated Hindi translation.
2004-07-14 Christian Rose <menthos@menthos.com>
@@ -2263,8 +2545,8 @@
2004-04-09 Guntupalli Karunakar <karunakar@freedomink.org>
* gu.po: Added Gujurati translation by
Gujarati Team <magnet@magnet-i.com>.
* gu.po: Added Gujurati translation by
Gujarati Team <magnet@magnet-i.com>.
2004-04-06 Mohammad DAMT <mdamt@bisnisweb.com>
@@ -2284,8 +2566,8 @@
2004-03-24 Guntupalli Karunakar <karunakar@freedomink.org>
* pa.po: Added Punjabi translation by
Jaswinder Singh Phulewala <jaswinderlinux@netscape.net>.
* pa.po: Added Punjabi translation by
Jaswinder Singh Phulewala <jaswinderlinux@netscape.net>.
2004-03-20 Mugurel Tudor <mugurelu@go.ro>
@@ -2416,7 +2698,7 @@
2004-02-07 Robert Sedak <robert.sedak@sk.htnet.hr>
* hr.po: Updated Croatian translation.
* hr.po: Updated Croatian translation.
2004-02-08 Changwoo Ryu <cwryu@debian.org>
@@ -2574,14 +2856,14 @@
* da.po: Updated Danish translation.
2003-11-26 Vincent van Adrighem <adrighem@gnome.org>
2003-11-26 Vincent van Adrighem <adrighem@gnome.org>
* nl.po: Dutch translation updated by Vincent van Adrighem.
2003-11-10 Pablo Gonzalo del Campo <pablodc@bigfoot.com>
* es.po: Updated Spanish translation by
Francisco Javier F. Serrador <serrador@arrakis.es>.
* es.po: Updated Spanish translation by
Francisco Javier F. Serrador <serrador@arrakis.es>.
2003-11-08 Danilo Šegan <dsegan@gmx.net>
@@ -2713,8 +2995,8 @@
2003-08-27 Pablo Gonzalo del Campo <pablodc@bigfoot.com>
* es.po: Revision of Spanish translation by
Francisco Javier F. Serrador <serrador@arrakis.es>.
* es.po: Revision of Spanish translation by
Francisco Javier F. Serrador <serrador@arrakis.es>.
2003-08-26 Guntupalli Karunakar <karunakar@freedomink.org>
@@ -2735,7 +3017,7 @@
2003-08-22 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
* sk.po: Update Slovak translation.
* sk.po: Update Slovak translation.
2003-08-20 Kjartan Maraas <kmaraas@gnome.org>
@@ -2785,7 +3067,7 @@
2003-08-06 Metin Amiroff <metin@karegen.com>
* az.po: Updated Azerbaijani translation.
* az.po: Updated Azerbaijani translation.
2003-08-05 Ole Laursen <olau@hardworking.dk>
@@ -2793,7 +3075,7 @@
2003-08-05 Pablo Gonzalo del Campo <pablodc@bigfoot.com>
* es.po: Updated Spanish translation.
* es.po: Updated Spanish translation.
2003-07-29 Andras Timar <timar@gnome.hu>
@@ -2818,7 +3100,7 @@
2003-07-18 Duarte Loreto <happyguy_pt@hotmail.com>
* pt.po: Updated Portuguese translation.
* pt.po: Updated Portuguese translation.
2002-07-17 Kostas Papadimas <pkst@gmx.net>
@@ -2929,7 +3211,7 @@
2003-05-30 Paul Duffy <dubhthach@frink.nuigalway.ie>
* ga.po: Updated Irish Translation.
* ga.po: Updated Irish Translation.
2003-05-30 Abel Cheung <maddog@linux.org.hk>
@@ -2937,7 +3219,7 @@
2003-05-26 Duarte Loreto <happyguy_pt@hotmail.com>
* pt.po: Updated Portuguese translation.
* pt.po: Updated Portuguese translation.
2003-05-21 Miloslav Trmac <mitr@volny.cz>
@@ -2967,7 +3249,7 @@
2003-05-12 Duarte Loreto <happyguy_pt@hotmail.com>
* pt.po: Updated Portuguese translation.
* pt.po: Updated Portuguese translation.
2003-05-10 KAMAGASAKO Masatoshi <emerald@gnome.gr.jp>
@@ -2979,7 +3261,7 @@
2003-05-09 Evandro Fernandes Giovanini <evandrofg@ig.com.br>
* pt_BR.po: Updated Brazilian Portuguese translation.
* pt_BR.po: Updated Brazilian Portuguese translation.
2003-05-08 Christian Rose <menthos@menthos.com>
@@ -3018,7 +3300,7 @@
2003-03-11 Paul Duffy <dubhthach@zion.nuigalway.ie>
* ga.po: Added Irish translation
* ga.po: Added Irish translation
2003-03-10 Roozbeh Pournader <roozbeh@sharif.edu>
@@ -3083,8 +3365,8 @@
2003-01-23 He Qiangqiang <carton@linux.net.cn>
* zh_CN.po: Updated Simplified Chinese translation by
Xiong Jiang <jxiong@offtopic.org>.
* zh_CN.po: Updated Simplified Chinese translation by
Xiong Jiang <jxiong@offtopic.org>.
2003-01-23 Dmitry G. Mastrukov <dmitry@taurussoft.org>
@@ -3940,7 +4222,7 @@
2002-05-06 Duarte Loreto <happyguy_pt@hotmail.com>
* pt.po: Updated Portuguese translation and converted to UTF-8.
* pt.po: Updated Portuguese translation and converted to UTF-8.
2002-04-26 Zbigniew Chyla <cyba@gnome.pl>
@@ -4010,7 +4292,7 @@
2002-02-11 Duarte Loreto <happyguy_pt@hotmail.com>
* pt.po: Updated Portuguese translation.
* pt.po: Updated Portuguese translation.
2002-02-10 Hasbullah Bin Pit <sebol@ikhlas.com>
@@ -4071,7 +4353,7 @@
2002-01-08 Duarte Loreto <happyguy_pt@hotmail.com>
* pt.po: Updated Portuguese translation.
* pt.po: Updated Portuguese translation.
2002-01-06 Fatih Demir <kabalak@gtranslator.org>
@@ -4084,7 +4366,7 @@
2001-12-27 Duarte Loreto <happyguy_pt@hotmail.com>
* pt.po: Added portuguese translation
* pt.po: Added portuguese translation
2001-12-27 Jesus Bravo Alvarez <jba@pobox.com>
@@ -4118,11 +4400,11 @@
2001-10-29 Yuriy Syrota <rasta@renome.rovno.ua>
* uk.po: Added Ukrainian translation file.
* uk.po: Added Ukrainian translation file.
2001-10-28 Hᅵtor Garcᅵ ᅵvarez <hector@scouts-es.org>
* es.po: Updated Spanish translation.
* es.po: Updated Spanish translation.
2001-10-14 Hᅵtor Garcᅵ ᅵvarez <hector@scouts-es.org>

View File

@@ -2,6 +2,7 @@
#
am
ar
as
az
be
be@latin
@@ -37,6 +38,7 @@ is
it
ja
ka
kn
ko
ku
lt

View File

@@ -2,28 +2,28 @@
# Please keep this file sorted alphabetically.
src/50-metacity-desktop-key.xml.in
src/50-metacity-key.xml.in
src/tools/metacity-message.c
src/core.c
src/delete.c
src/display.c
src/errors.c
src/frames.c
src/keybindings.c
src/main.c
src/menu.c
src/metaaccellabel.c
src/metacity-dialog.c
src/core/core.c
src/core/delete.c
src/core/display.c
src/core/errors.c
src/core/keybindings.c
src/core/main.c
src/core/prefs.c
src/core/screen.c
src/core/session.c
src/core/util.c
src/core/window-props.c
src/core/window.c
src/core/xprops.c
src/metacity.desktop.in
src/metacity.schemas.in
src/prefs.c
src/resizepopup.c
src/screen.c
src/session.c
src/theme-parser.c
src/theme-viewer.c
src/theme.c
src/util.c
src/window-props.c
src/window.c
src/workspace.c
src/xprops.c
src/ui/frames.c
src/ui/menu.c
src/ui/metaaccellabel.c
src/ui/metacity-dialog.c
src/ui/resizepopup.c
src/ui/theme-parser.c
src/ui/theme-viewer.c
src/ui/theme.c
src/tools/metacity-message.c

1809
po/ar.po

File diff suppressed because it is too large Load Diff

3059
po/as.po Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

107
po/bg.po
View File

@@ -1,4 +1,4 @@
# Bulgarian translation for metacity.
# Bulgarian translation for metacity po-file.
# Copyright (C) 2002, 2004, 2006, 2007 Free Software Foundation, Inc.
# Alexander Shopov <ash@contact.bg>, 2002, 2006, 2007.
# Vladimir Petkov <vpetkov@i-space.org>, 2004.
@@ -7,10 +7,10 @@
#
msgid ""
msgstr ""
"Project-Id-Version: metacity HEAD\n"
"Project-Id-Version: metacity trunk\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2007-07-25 22:49+0300\n"
"PO-Revision-Date: 2007-07-25 00:25+0300\n"
"POT-Creation-Date: 2007-09-17 21:34+0300\n"
"PO-Revision-Date: 2007-09-17 21:34+0300\n"
"Last-Translator: Alexander Shopov <ash@contact.bg>\n"
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
"MIME-Version: 1.0\n"
@@ -64,7 +64,7 @@ msgstr ""
msgid "Error reading from dialog display process: %s\n"
msgstr "Грешка при четене от процеса за изобразяване на диалога: %s\n"
#: ../src/delete.c:348
#: ../src/delete.c:350
#, c-format
msgid ""
"Error launching metacity-dialog to ask about killing an application: %s\n"
@@ -72,7 +72,7 @@ msgstr ""
"Грешка при стартиране на диалога на Metacity, който пита дали да се убие "
"приложението: %s\n"
#: ../src/delete.c:456
#: ../src/delete.c:459
#, c-format
msgid "Failed to get hostname: %s\n"
msgstr "Неуспех при получаването на името на хоста: %s\n"
@@ -224,102 +224,102 @@ msgid "Failed to restart: %s\n"
msgstr "Неуспех при рестартиране: %s\n"
#. Translators: Translate this string the same way as you do in libwnck!
#: ../src/menu.c:69
#: ../src/menu.c:70
msgid "Mi_nimize"
msgstr "Ми_нимизиране"
#. Translators: Translate this string the same way as you do in libwnck!
#: ../src/menu.c:71
#: ../src/menu.c:72
msgid "Ma_ximize"
msgstr "_Максимизиране"
#. Translators: Translate this string the same way as you do in libwnck!
#: ../src/menu.c:73
#: ../src/menu.c:74
msgid "Unma_ximize"
msgstr "_Демаксимизиране"
#. Translators: Translate this string the same way as you do in libwnck!
#: ../src/menu.c:75
#: ../src/menu.c:76
msgid "Roll _Up"
msgstr "На_виване"
#. Translators: Translate this string the same way as you do in libwnck!
#: ../src/menu.c:77
#: ../src/menu.c:78
msgid "_Unroll"
msgstr "_Развиване"
#. Translators: Translate this string the same way as you do in libwnck!
#: ../src/menu.c:79
#: ../src/menu.c:80
msgid "_Move"
msgstr "_Преместване"
#. Translators: Translate this string the same way as you do in libwnck!
#: ../src/menu.c:81
#: ../src/menu.c:82
msgid "_Resize"
msgstr "О_размеряване"
#. Translators: Translate this string the same way as you do in libwnck!
#: ../src/menu.c:83
#: ../src/menu.c:84
msgid "Move Titlebar On_screen"
msgstr "Преместване на лентата за заглавието по _екрана"
#. separator
#. Translators: Translate this string the same way as you do in libwnck!
#: ../src/menu.c:86
msgid "_Close"
msgstr "_Затваряне"
#. separator
#. Translators: Translate this string the same way as you do in libwnck!
#: ../src/menu.c:89 ../src/menu.c:91
#: ../src/menu.c:87 ../src/menu.c:89
msgid "Always on _Top"
msgstr "_Отгоре"
#. Translators: Translate this string the same way as you do in libwnck!
#: ../src/menu.c:93
#: ../src/menu.c:91
msgid "_Always on Visible Workspace"
msgstr "_Винаги на видимия работен плот"
#. Translators: Translate this string the same way as you do in libwnck!
#: ../src/menu.c:95
#: ../src/menu.c:93
msgid "_Only on This Workspace"
msgstr "_Само на този работен плот"
#. Translators: Translate this string the same way as you do in libwnck!
#: ../src/menu.c:97
#: ../src/menu.c:95
msgid "Move to Workspace _Left"
msgstr "Преместване на _левия работен плот"
#. Translators: Translate this string the same way as you do in libwnck!
#: ../src/menu.c:99
#: ../src/menu.c:97
msgid "Move to Workspace R_ight"
msgstr "Преместване на _десния работен плот"
#. Translators: Translate this string the same way as you do in libwnck!
#: ../src/menu.c:101
#: ../src/menu.c:99
msgid "Move to Workspace _Up"
msgstr "Преместване на _горния работен плот"
#. Translators: Translate this string the same way as you do in libwnck!
#: ../src/menu.c:103
#: ../src/menu.c:101
msgid "Move to Workspace _Down"
msgstr "Преместване в до_лния работен плот"
#: ../src/menu.c:197 ../src/prefs.c:2243 ../src/prefs.c:2778
#. separator
#. Translators: Translate this string the same way as you do in libwnck!
#: ../src/menu.c:105
msgid "_Close"
msgstr "_Затваряне"
#: ../src/menu.c:199 ../src/prefs.c:2246 ../src/prefs.c:2780
#, c-format
msgid "Workspace %d"
msgstr "Работен плот %d"
#: ../src/menu.c:206
#: ../src/menu.c:208
msgid "Workspace 1_0"
msgstr "Работен плот 1_0"
#: ../src/menu.c:208
#: ../src/menu.c:210
#, c-format
msgid "Workspace %s%d"
msgstr "Работен плот %s%d"
#: ../src/menu.c:411
#: ../src/menu.c:390
msgid "Move to Another _Workspace"
msgstr "Преместване на друг _работен плот"
@@ -2352,19 +2352,24 @@ msgstr "Режим на фокусиране на прозорци"
msgid "Window title font"
msgstr "Шрифт за заглавията на прозорците"
#: ../src/prefs.c:569 ../src/prefs.c:597 ../src/prefs.c:613 ../src/prefs.c:629
#: ../src/prefs.c:645 ../src/prefs.c:661 ../src/prefs.c:677 ../src/prefs.c:693
#: ../src/prefs.c:713 ../src/prefs.c:729 ../src/prefs.c:745 ../src/prefs.c:763
#: ../src/prefs.c:779 ../src/prefs.c:798 ../src/prefs.c:814 ../src/prefs.c:849
#: ../src/prefs.c:865 ../src/prefs.c:882 ../src/prefs.c:898 ../src/prefs.c:914
#: ../src/prefs.c:930 ../src/prefs.c:946 ../src/prefs.c:961 ../src/prefs.c:976
#: ../src/prefs.c:991 ../src/prefs.c:1007 ../src/prefs.c:1023
#: ../src/prefs.c:1039 ../src/prefs.c:1055
#: ../src/prefs.c:434
#, c-format
msgid "Type of %s was not integer"
msgstr "„%s“ не е цяло число"
#: ../src/prefs.c:572 ../src/prefs.c:600 ../src/prefs.c:616 ../src/prefs.c:632
#: ../src/prefs.c:648 ../src/prefs.c:664 ../src/prefs.c:680 ../src/prefs.c:696
#: ../src/prefs.c:716 ../src/prefs.c:732 ../src/prefs.c:748 ../src/prefs.c:766
#: ../src/prefs.c:782 ../src/prefs.c:801 ../src/prefs.c:817 ../src/prefs.c:852
#: ../src/prefs.c:868 ../src/prefs.c:885 ../src/prefs.c:901 ../src/prefs.c:917
#: ../src/prefs.c:933 ../src/prefs.c:949 ../src/prefs.c:964 ../src/prefs.c:979
#: ../src/prefs.c:994 ../src/prefs.c:1010 ../src/prefs.c:1026
#: ../src/prefs.c:1042 ../src/prefs.c:1058
#, c-format
msgid "GConf key \"%s\" is set to an invalid type\n"
msgstr "Ключът на GConf - „%s“ е от невалиден вид\n"
#: ../src/prefs.c:1100
#: ../src/prefs.c:1103
#, c-format
msgid ""
"\"%s\" found in configuration database is not a valid value for mouse button "
@@ -2373,12 +2378,12 @@ msgstr ""
"„%s“, който е открит в базата данни с настройките, не е валиден модификатор "
"на бутон на мишката\n"
#: ../src/prefs.c:1124 ../src/prefs.c:1145 ../src/prefs.c:1702
#: ../src/prefs.c:1127 ../src/prefs.c:1148 ../src/prefs.c:1705
#, c-format
msgid "GConf key '%s' is set to an invalid value\n"
msgstr "Ключът на GConf - „%s“ е с невалидна стойност\n"
#: ../src/prefs.c:1274
#: ../src/prefs.c:1277
#, c-format
msgid ""
"%d stored in GConf key %s is not a reasonable cursor_size; must be in the "
@@ -2387,14 +2392,14 @@ msgstr ""
"Стойността %d записана в клавиша на GConf - %s, е неподходяща за размер на "
"показалеца на мишката. Тя трябва да е в диапазона 1÷128\n"
#: ../src/prefs.c:1354
#: ../src/prefs.c:1357
#, c-format
msgid "Could not parse font description \"%s\" from GConf key %s\n"
msgstr ""
"Описанието на шрифт „%s“ от ключа на GConf - %s, не може да бъде "
"анализирано\n"
#: ../src/prefs.c:1596
#: ../src/prefs.c:1599
#, c-format
msgid ""
"%d stored in GConf key %s is not a reasonable number of workspaces, current "
@@ -2403,7 +2408,7 @@ msgstr ""
"Стойността %d записана в клавиша на GConf - %s, е неподходяща за брой на "
"работните места. Текущият максимум е %d\n"
#: ../src/prefs.c:1656
#: ../src/prefs.c:1659
msgid ""
"Workarounds for broken applications disabled. Some applications may not "
"behave properly.\n"
@@ -2411,17 +2416,17 @@ msgstr ""
"Триковете за развалените програми са изключени. Някои програми могат да са с "
"неправилно поведение.\n"
#: ../src/prefs.c:1729
#: ../src/prefs.c:1732
#, c-format
msgid "%d stored in GConf key %s is out of range 0 to %d\n"
msgstr "Стойността %d записана в ключа на GConf - %s е извън обхвата от 0÷%d\n"
#: ../src/prefs.c:1878
#: ../src/prefs.c:1881
#, c-format
msgid "Error setting number of workspaces to %d: %s\n"
msgstr "Грешка при задаване на броя на работни места да е %d: %s\n"
#: ../src/prefs.c:2273 ../src/prefs.c:2443
#: ../src/prefs.c:2276 ../src/prefs.c:2446
#, c-format
msgid ""
"\"%s\" found in configuration database is not a valid value for keybinding "
@@ -2430,7 +2435,7 @@ msgstr ""
"Низът „%s“ открит в базата данни с настройки е невалиден за стойност на "
"клавишната комбинация „%s“\n"
#: ../src/prefs.c:2859
#: ../src/prefs.c:2861
#, c-format
msgid "Error setting name for workspace %d to \"%s\": %s\n"
msgstr "Грешка при задаване на името на работното място %d да е „%s“: %s\n"
@@ -3596,7 +3601,7 @@ msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
msgstr "За %2$s е указан неправилен WM_TRANSIENT_FOR, прозорец 0x%1$lx.\n"
#. first time through
#: ../src/window.c:5540
#: ../src/window.c:5551
#, c-format
msgid ""
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
@@ -3612,7 +3617,7 @@ msgstr ""
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
#. * about these apps but make them work.
#.
#: ../src/window.c:6105
#: ../src/window.c:6116
#, c-format
msgid ""
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size %"

799
po/ca.po

File diff suppressed because it is too large Load Diff

2943
po/cs.po

File diff suppressed because it is too large Load Diff

2691
po/cy.po

File diff suppressed because it is too large Load Diff

2173
po/de.po

File diff suppressed because it is too large Load Diff

1904
po/es.po

File diff suppressed because it is too large Load Diff

2438
po/eu.po

File diff suppressed because it is too large Load Diff

1888
po/fi.po

File diff suppressed because it is too large Load Diff

1848
po/fr.po

File diff suppressed because it is too large Load Diff

5114
po/ga.po

File diff suppressed because it is too large Load Diff

1782
po/gl.po

File diff suppressed because it is too large Load Diff

2923
po/he.po

File diff suppressed because it is too large Load Diff

1910
po/it.po

File diff suppressed because it is too large Load Diff

1832
po/ja.po

File diff suppressed because it is too large Load Diff

3390
po/kn.po Normal file

File diff suppressed because it is too large Load Diff

2158
po/ko.po

File diff suppressed because it is too large Load Diff

1794
po/mk.po

File diff suppressed because it is too large Load Diff

2925
po/mr.po

File diff suppressed because it is too large Load Diff

2002
po/nb.po

File diff suppressed because it is too large Load Diff

3247
po/ne.po

File diff suppressed because it is too large Load Diff

3813
po/nl.po

File diff suppressed because it is too large Load Diff

1729
po/oc.po

File diff suppressed because it is too large Load Diff

2161
po/pl.po

File diff suppressed because it is too large Load Diff

1860
po/pt.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -9,21 +9,19 @@
# Stanislav Visnovsky <visnovsky@kde.org>, 2003.
# Marcel Telka <marcel@telka.sk>, 2005.
# Peter Tuharsky <tuharsky@misbb.sk>, 2007.
# Pavol Šimo <palo.simo@gmail.com>, 2007.
msgid ""
msgstr ""
"Project-Id-Version: sk\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2007-09-15 16:11+0200\n"
"PO-Revision-Date: 2007-09-14 15:59+0100\n"
"Last-Translator: Peter Tuhársky <tuharsky@misbb.sk>\n"
"POT-Creation-Date: 2007-10-30 18:12+0000\n"
"PO-Revision-Date: 2007-11-17 21:42+0100\n"
"Last-Translator: Pavol Šimo <palo.simo@gmail.com>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
"Plural-Forms: nplurals=3; plural= (n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n"
"X-Poedit-Language: Slovak\n"
"X-Poedit-Country: SLOVAKIA\n"
#: ../src/50-metacity-desktop-key.xml.in.h:1
msgid "Desktop"
@@ -183,43 +181,47 @@ msgstr ""
"kódoch.\n"
"Záruka sa NEPOSKYTUJE; ani pre PREDAJNOSŤ alebo VHODNOSŤ PRE URČITÝ ÚČEL.\n"
#: ../src/main.c:171
#: ../src/main.c:172
msgid "Disable connection to session manager"
msgstr "Zakázať spojenia na správcu relácií"
#: ../src/main.c:177
#: ../src/main.c:178
msgid "Replace the running window manager with Metacity"
msgstr "Nahradiť bežiaceho správcu okien správcom Metacity"
#: ../src/main.c:183
#: ../src/main.c:184
msgid "Specify session management ID"
msgstr "Zadať ID správy relácií"
#: ../src/main.c:188
#: ../src/main.c:189
msgid "X Display to use"
msgstr "X displej, ktorý bude použitý"
#: ../src/main.c:194
#: ../src/main.c:195
msgid "Initialize session from savefile"
msgstr "Inicializovať reláciu z uloženého súboru"
#: ../src/main.c:200
#: ../src/main.c:201
msgid "Print version"
msgstr "Vypísať verziu"
#: ../src/main.c:353
#: ../src/main.c:207
msgid "Make X calls synchronous"
msgstr "Používať synchrónne volania X"
#: ../src/main.c:361
#, c-format
msgid "Failed to scan themes directory: %s\n"
msgstr "Nepodarilo sa prehľadať adresár s témami: %s\n"
#: ../src/main.c:369
#: ../src/main.c:377
#, c-format
msgid ""
"Could not find a theme! Be sure %s exists and contains the usual themes.\n"
msgstr ""
"Nepodarilo sa nájsť tému. Overte, že %s existuje a obsahuje obvyklé témy.\n"
#: ../src/main.c:429
#: ../src/main.c:437
#, c-format
msgid "Failed to restart: %s\n"
msgstr "Nepodarilo znovu spustiť: %s\n"
@@ -227,7 +229,7 @@ msgstr "Nepodarilo znovu spustiť: %s\n"
#. Translators: Translate this string the same way as you do in libwnck!
#: ../src/menu.c:70
msgid "Mi_nimize"
msgstr "_Minimalizovať"
msgstr "Mi_nimalizovať"
#. Translators: Translate this string the same way as you do in libwnck!
#: ../src/menu.c:72
@@ -237,7 +239,7 @@ msgstr "Ma_ximalizovať"
#. Translators: Translate this string the same way as you do in libwnck!
#: ../src/menu.c:74
msgid "Unma_ximize"
msgstr "_Odmaximalizovať"
msgstr "Zrušiť ma_ximalizáciu"
#. Translators: Translate this string the same way as you do in libwnck!
#: ../src/menu.c:76
@@ -252,12 +254,12 @@ msgstr "_Rozbaliť"
#. Translators: Translate this string the same way as you do in libwnck!
#: ../src/menu.c:80
msgid "_Move"
msgstr "_Presunúť"
msgstr "Pre_miestniť"
#. Translators: Translate this string the same way as you do in libwnck!
#: ../src/menu.c:82
msgid "_Resize"
msgstr "Zmeniť _veľkosť"
msgstr "Zmeniť veľko_sť"
#. Translators: Translate this string the same way as you do in libwnck!
#: ../src/menu.c:84
@@ -273,7 +275,7 @@ msgstr "Vždy na _vrchu"
#. Translators: Translate this string the same way as you do in libwnck!
#: ../src/menu.c:91
msgid "_Always on Visible Workspace"
msgstr "_Vždy na viditeľnej pracovnej ploche"
msgstr "Vž_dy na viditeľnej pracovnej ploche"
#. Translators: Translate this string the same way as you do in libwnck!
#: ../src/menu.c:93
@@ -283,7 +285,7 @@ msgstr "_Len na tejto pracovnej ploche"
#. Translators: Translate this string the same way as you do in libwnck!
#: ../src/menu.c:95
msgid "Move to Workspace _Left"
msgstr "Presunúť na pracovnú plochu _vľavo"
msgstr "Presunúť na pracovnú plochu vľav_o"
#. Translators: Translate this string the same way as you do in libwnck!
#: ../src/menu.c:97
@@ -322,7 +324,7 @@ msgstr "Pracovná plocha %s%d"
#: ../src/menu.c:390
msgid "Move to Another _Workspace"
msgstr "Presunúť na inú _pracovnú plochu"
msgstr "P_resunúť na inú pracovnú plochu"
#. This is the text that should appear next to menu accelerators
#. * that use the shift key. If the text on this key isn't typically
@@ -3561,7 +3563,7 @@ msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
msgstr "Neplatné WM_TRANSIENT_FOR okno 0x%lx nastavené pre %s.\n"
#. first time through
#: ../src/window.c:5551
#: ../src/window.c:5601
#, c-format
msgid ""
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
@@ -3577,7 +3579,7 @@ msgstr ""
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
#. * about these apps but make them work.
#.
#: ../src/window.c:6116
#: ../src/window.c:6166
#, c-format
msgid ""
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size %"

4427
po/sl.po

File diff suppressed because it is too large Load Diff

1908
po/sv.po

File diff suppressed because it is too large Load Diff

1793
po/th.po

File diff suppressed because it is too large Load Diff

2501
po/tr.po

File diff suppressed because it is too large Load Diff

1384
po/vi.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -2,136 +2,130 @@ lib_LTLIBRARIES = libmetacity-private.la
SUBDIRS=wm-tester tools themes
INCLUDES=@METACITY_CFLAGS@ -DMETACITY_LIBEXECDIR=\"$(libexecdir)\" -DHOST_ALIAS=\"@HOST_ALIAS@\" -DMETACITY_LOCALEDIR=\"$(prefix)/@DATADIRNAME@/locale\" -DMETACITY_PKGDATADIR=\"$(pkgdatadir)\" -DMETACITY_DATADIR=\"$(datadir)\" -DG_LOG_DOMAIN=\"metacity\" -DSN_API_NOT_YET_FROZEN=1
INCLUDES=@METACITY_CFLAGS@ -I $(srcdir)/include -DMETACITY_LIBEXECDIR=\"$(libexecdir)\" -DHOST_ALIAS=\"@HOST_ALIAS@\" -DMETACITY_LOCALEDIR=\"$(prefix)/@DATADIRNAME@/locale\" -DMETACITY_PKGDATADIR=\"$(pkgdatadir)\" -DMETACITY_DATADIR=\"$(datadir)\" -DG_LOG_DOMAIN=\"metacity\" -DSN_API_NOT_YET_FROZEN=1
metacity_SOURCES= \
async-getprop.c \
async-getprop.h \
bell.h \
bell.c \
boxes.h \
boxes.c \
common.h \
c-screen.c \
c-screen.h \
c-window.c \
c-window.h \
compositor.c \
compositor.h \
constraints.c \
constraints.h \
core.c \
core.h \
delete.c \
display.c \
display.h \
draw-workspace.c \
draw-workspace.h \
edge-resistance.c \
edge-resistance.h \
effects.c \
effects.h \
errors.c \
errors.h \
eventqueue.c \
eventqueue.h \
fixedtip.c \
fixedtip.h \
frame.c \
frame.h \
frames.c \
frames.h \
gradient.c \
gradient.h \
group.c \
group.h \
group-private.h \
group-props.c \
group-props.h \
iconcache.c \
iconcache.h \
core/async-getprop.c \
core/async-getprop.h \
core/bell.c \
core/bell.h \
core/boxes.c \
include/boxes.h \
core/compositor.c \
core/compositor.h \
core/constraints.c \
core/constraints.h \
core/core.c \
core/delete.c \
core/display.c \
core/display.h \
ui/draw-workspace.c \
ui/draw-workspace.h \
core/edge-resistance.c \
core/edge-resistance.h \
core/effects.c \
core/effects.h \
core/errors.c \
core/errors.h \
core/eventqueue.c \
core/eventqueue.h \
core/frame.c \
core/frame.h \
ui/gradient.c \
ui/gradient.h \
core/group-private.h \
core/group-props.c \
core/group-props.h \
core/group.c \
core/group.h \
core/iconcache.c \
core/iconcache.h \
core/keybindings.c \
core/keybindings.h \
core/main.c \
include/main.h \
core/metacity-Xatomtype.h \
core/place.c \
core/place.h \
core/prefs.c \
include/prefs.h \
core/screen.c \
core/screen.h \
core/session.c \
core/session.h \
core/stack.c \
core/stack.h \
core/util.c \
include/util.h \
core/window-props.c \
core/window-props.h \
core/window.c \
core/window.h \
core/workspace.c \
core/workspace.h \
core/xprops.c \
core/xprops.h \
include/common.h \
include/core.h \
include/ui.h \
inlinepixbufs.h \
keybindings.c \
keybindings.h \
main.c \
main.h \
menu.c \
menu.h \
metaaccellabel.c \
metaaccellabel.h \
metacity-Xatomtype.h \
place.c \
place.h \
prefs.c \
prefs.h \
resizepopup.c \
resizepopup.h \
screen.c \
screen.h \
session.c \
session.h \
spring-model.c \
spring-model.h \
stack.c \
stack.h \
tabpopup.c \
tabpopup.h \
theme.c \
theme.h \
theme-parser.c \
theme-parser.h \
themewidget.c \
themewidget.h \
ui.c \
ui.h \
util.c \
util.h \
window.c \
window.h \
window-props.c \
window-props.h \
workspace.c \
workspace.h \
xprops.c \
xprops.h
ui/fixedtip.c \
ui/fixedtip.h \
ui/frames.c \
ui/frames.h \
ui/menu.c \
ui/menu.h \
ui/metaaccellabel.c \
ui/metaaccellabel.h \
ui/resizepopup.c \
include/resizepopup.h \
ui/tabpopup.c \
include/tabpopup.h \
ui/theme-parser.c \
ui/theme-parser.h \
ui/theme.c \
ui/theme.h \
ui/themewidget.c \
ui/themewidget.h \
ui/ui.c
# by setting libmetacity_private_la_CFLAGS, the files shared with
# metacity proper will be compiled with different names.
libmetacity_private_la_CFLAGS =
libmetacity_private_la_SOURCES= \
boxes.c \
boxes.h \
gradient.c \
gradient.h \
preview-widget.c \
preview-widget.h \
theme.c \
theme.h \
theme-parser.c \
theme-parser.h \
util.c \
util.h \
common.h
libmetacity_private_la_SOURCES= \
core/boxes.c \
include/boxes.h \
ui/gradient.c \
ui/gradient.h \
core/util.c \
include/util.h \
include/common.h \
ui/preview-widget.c \
ui/preview-widget.h \
ui/theme-parser.c \
ui/theme-parser.h \
ui/theme.c \
ui/theme.h
libmetacity_private_la_LDFLAGS = -no-undefined
libmetacity_private_la_LIBADD = @METACITY_LIBS@
libmetacityincludedir = $(includedir)/metacity-1/metacity-private
libmetacityinclude_HEADERS = \
boxes.h \
common.h \
gradient.h \
preview-widget.h \
theme.h \
theme-parser.h \
util.h
libmetacityinclude_HEADERS = \
include/boxes.h \
ui/gradient.h \
include/util.h \
include/common.h \
ui/preview-widget.h \
ui/theme-parser.h \
ui/theme.h
metacity_theme_viewer_SOURCES= \
theme-viewer.c
ui/theme-viewer.c
metacity_dialog_SOURCES= \
metacity-dialog.c
ui/metacity-dialog.c
bin_PROGRAMS=metacity metacity-theme-viewer
libexec_PROGRAMS=metacity-dialog
@@ -141,9 +135,9 @@ metacity_LDADD=@METACITY_LIBS@ $(EFENCE)
metacity_theme_viewer_LDADD= @METACITY_LIBS@ libmetacity-private.la
metacity_dialog_LDADD=@METACITY_LIBS@
testboxes_SOURCES=util.h util.c boxes.h boxes.c testboxes.c
testgradient_SOURCES=gradient.h gradient.c testgradient.c
testasyncgetprop_SOURCES=async-getprop.h async-getprop.c testasyncgetprop.c
testboxes_SOURCES=include/util.h core/util.c include/boxes.h core/boxes.c core/testboxes.c
testgradient_SOURCES=ui/gradient.h ui/gradient.c ui/testgradient.c
testasyncgetprop_SOURCES=core/async-getprop.h core/async-getprop.c core/testasyncgetprop.c
noinst_PROGRAMS=testboxes testgradient testasyncgetprop
@@ -186,7 +180,7 @@ BUILT_SOURCES = inlinepixbufs.h
CLEANFILES = inlinepixbufs.h metacity.desktop metacity.schemas 50-metacity-desktop-key.xml 50-metacity-key.xml
inlinepixbufs.h: $(IMAGES)
$(GDK_PIXBUF_CSOURCE) --raw --build-list $(VARIABLES) >$(srcdir)/inlinepixbufs.h
$(GDK_PIXBUF_CSOURCE) --raw --build-list $(VARIABLES) >$(srcdir)/inlinepixbufs.h
pkgconfigdir = $(libdir)/pkgconfig

View File

@@ -1,55 +0,0 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/* Metacity misc. public entry points */
/*
* Copyright (C) 2001 Havoc Pennington
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*/
#include "api.h"
#include "display.h"
#include "colors.h"
PangoContext*
meta_get_pango_context (Screen *xscreen,
const PangoFontDescription *desc)
{
MetaScreen *screen;
screen = meta_screen_for_x_screen (xscreen);
g_return_val_if_fail (screen != NULL, NULL);
return meta_screen_get_pango_context (screen,
desc,
/* FIXME, from the frame window */
PANGO_DIRECTION_LTR);
}
gulong
meta_get_x_pixel (Screen *xscreen, const PangoColor *color)
{
MetaScreen *screen;
screen = meta_screen_for_x_screen (xscreen);
g_return_val_if_fail (screen != NULL, 0);
return meta_screen_get_x_pixel (screen, color);
}

View File

@@ -1,64 +0,0 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/* Metacity misc. public entry points */
/*
* Copyright (C) 2001 Havoc Pennington
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*/
#ifndef META_API_H
#define META_API_H
/* don't add any internal headers here; api.h is an installed/public
* header. Only theme.h is also installed.
*/
#include <X11/Xlib.h>
#include <pango/pangox.h>
/* Colors/state stuff matches GTK since we get the info from
* the GTK UI slave
*/
typedef struct _MetaUIColors MetaUIColors;
typedef enum
{
META_STATE_NORMAL,
META_STATE_ACTIVE,
META_STATE_PRELIGHT,
META_STATE_SELECTED,
META_STATE_INSENSITIVE
} MetaUIState;
struct _MetaUIColors
{
PangoColor fg[5];
PangoColor bg[5];
PangoColor light[5];
PangoColor dark[5];
PangoColor mid[5];
PangoColor text[5];
PangoColor base[5];
PangoColor text_aa[5];
};
PangoContext* meta_get_pango_context (Screen *xscreen,
const PangoFontDescription *desc);
gulong meta_get_x_pixel (Screen *xscreen,
const PangoColor *color);
#endif

View File

@@ -1,677 +0,0 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/*
* Copyright (C) 2006 Red Hat, Inc.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*/
#include <config.h>
#ifdef HAVE_COMPOSITE_EXTENSIONS
#include <cm/ws.h>
#include <cm/stacker.h>
#include <cm/wsint.h>
#include <cm/drawable-node.h>
#include <cm/state.h>
#include <cm/magnifier.h>
#include <cm/square.h>
#include <string.h>
#include "screen.h"
#include "c-screen.h"
#include "c-window.h"
struct MetaCompScreen
{
WsDisplay *display;
CmStacker *stacker;
CmMagnifier *magnifier;
WsWindow *gl_window;
WsWindow *root_window;
WsScreen *screen;
MetaScreen *meta_screen;
int repaint_id;
int idle_id;
WsWindow *selection_window;
GHashTable *windows_by_xid;
};
static MetaCompWindow *
meta_comp_window_lookup (MetaCompScreen *info,
Window xid)
{
MetaCompWindow *window;
window = g_hash_table_lookup (info->windows_by_xid, (gpointer)xid);
return window;
}
MetaCompWindow *
meta_comp_screen_lookup_window (MetaCompScreen *info,
Window xwindow)
{
return meta_comp_window_lookup (info, xwindow);
}
#if 0
static void
update_frame_counter (void)
{
#define BUFSIZE 128
static GTimer *timer;
static double buffer [BUFSIZE];
static int next = 0;
if (!timer)
timer = g_timer_new ();
buffer[next++] = g_timer_elapsed (timer, NULL);
if (next == BUFSIZE)
{
int i;
double total;
next = 0;
total = 0.0;
for (i = 1; i < BUFSIZE; ++i)
total += buffer[i] - buffer[i - 1];
g_print ("frames per second: %f\n", 1 / (total / (BUFSIZE - 1)));
}
}
#endif
static void
dump_stacking_order (GList *nodes)
{
GList *list;
for (list = nodes; list != NULL; list = list->next)
{
CmDrawableNode *node = list->data;
if (node)
g_print ("%lx, ", WS_RESOURCE_XID (node->drawable));
}
g_print ("\n");
}
static gboolean
repaint (gpointer data)
{
MetaCompScreen *info = data;
CmState *state;
#if 0
g_print ("repaint\n");
#endif
glViewport (0, 0,
info->meta_screen->rect.width,
info->meta_screen->rect.height);
glLoadIdentity();
#if 0
glClearColor (0, 0, 0, 1.0);
glClear (GL_COLOR_BUFFER_BIT);
#endif
ws_window_raise (info->gl_window);
#if 0
glDisable (GL_TEXTURE_2D);
glDisable (GL_TEXTURE_RECTANGLE_ARB);
glPolygonMode (GL_FRONT_AND_BACK, GL_FILL);
glColor4f (0.0, 1.0, 0.0, 1.0);
glRectf (-1.0, -1.0, 1.0, 1.0);
glFinish();
#endif
state = cm_state_new ();
cm_state_disable_depth_buffer_update (state);
cm_node_render (CM_NODE (info->magnifier), state);
cm_state_enable_depth_buffer_update (state);
g_object_unref (state);
ws_window_gl_swap_buffers (info->gl_window);
glFinish();
#if 0
dump_stacking_order (info->stacker->children);
#endif
info->idle_id = 0;
return FALSE;
}
static MetaCompWindow *
find_comp_window (MetaCompScreen *info,
Window xwindow)
{
return meta_comp_window_lookup (info, xwindow);
}
static CmNode *
find_node (MetaCompScreen *info,
Window xwindow)
{
MetaCompWindow *window = meta_comp_window_lookup (info, xwindow);
if (window)
return meta_comp_window_get_node (window);
return NULL;
}
static GList *all_screen_infos;
MetaCompScreen *
meta_comp_screen_get_by_xwindow (Window xwindow)
{
GList *list;
for (list = all_screen_infos; list != NULL; list = list->next)
{
MetaCompScreen *info = list->data;
if (find_node (info, xwindow))
return info;
}
return NULL;
}
MetaCompScreen *
meta_comp_screen_new (WsDisplay *display,
MetaScreen *screen)
{
MetaCompScreen *scr_info = g_new0 (MetaCompScreen, 1);
scr_info->screen = ws_display_get_screen_from_number (
display, screen->number);
scr_info->root_window = ws_screen_get_root_window (scr_info->screen);
scr_info->display = display;
scr_info->meta_screen = screen;
scr_info->windows_by_xid = g_hash_table_new (g_direct_hash, g_direct_equal);
all_screen_infos = g_list_prepend (all_screen_infos, scr_info);
return scr_info;
}
static char *
make_selection_name (MetaCompScreen *info)
{
char *buffer;
buffer = g_strdup_printf ("_NET_WM_CM_S%d", info->meta_screen->number);
return buffer;
}
static void
on_selection_clear (WsWindow *window,
WsSelectionClearEvent *event,
gpointer data)
{
MetaCompScreen *info = data;
char *buffer = make_selection_name (info);
if (strcmp (event->selection, buffer))
{
/* We lost the selection */
meta_comp_screen_unredirect (info);
}
}
static WsWindow *
claim_selection (MetaCompScreen *info)
{
WsWindow *window = ws_window_new (info->root_window);
char *buffer = make_selection_name (info);
#if 0
g_print ("selection window: %lx\n", WS_RESOURCE_XID (window));
#endif
ws_window_own_selection (window, buffer, WS_CURRENT_TIME);
g_signal_connect (window, "selection_clear_event", G_CALLBACK (on_selection_clear), info);
g_free (buffer);
return window;
}
static void
queue_paint (CmNode *node,
MetaCompScreen *info)
{
#if 0
g_print ("queueing %s\n", G_OBJECT_TYPE_NAME (node));
#endif
meta_comp_screen_queue_paint (info);
}
void
meta_comp_screen_redirect (MetaCompScreen *info)
{
WsWindow *root = ws_screen_get_root_window (info->screen);
WsRectangle source;
WsRectangle target;
WsServerRegion *region;
int screen_w;
int screen_h;
CmSquare *square;
#if 0
g_print ("redirecting %lx\n", WS_RESOURCE_XID (root));
#endif
ws_window_redirect_subwindows (root);
info->gl_window = ws_screen_get_gl_window (info->screen);
/* FIXME: This should probably happen in libcm */
ws_window_set_override_redirect (info->gl_window, TRUE);
region = ws_server_region_new (info->display);
ws_window_set_input_shape (info->gl_window, region);
g_object_unref (G_OBJECT (region));
ws_display_begin_error_trap (info->display);
ws_window_unredirect (info->gl_window);
ws_display_end_error_trap (info->display);
info->selection_window = claim_selection (info);
ws_window_map (info->gl_window);
info->stacker = cm_stacker_new ();
square = cm_square_new (0.3, 0.3, 0.8, 1.0);
cm_stacker_add_child (info->stacker, CM_NODE (square));
g_object_unref (square);
screen_w = ws_screen_get_width (info->screen);
screen_h = ws_screen_get_height (info->screen);
#if 0
g_print ("width: %d height %d\n", screen_w, screen_h);
#endif
source.x = (screen_w - (screen_w / 4)) / 2;
source.y = screen_h / 16;
source.width = screen_w / 4;
source.height = screen_h / 16;
target.x = 0;
target.y = screen_h - screen_h / 4;
target.width = screen_w;
target.height = screen_h / 4;
info->magnifier = cm_magnifier_new (CM_NODE (info->stacker), &source, &target);
if (g_getenv ("USE_MAGNIFIER"))
cm_magnifier_set_active (info->magnifier, TRUE);
else
cm_magnifier_set_active (info->magnifier, FALSE);
info->repaint_id =
g_signal_connect (info->magnifier, "need_repaint",
G_CALLBACK (queue_paint), info);
ws_display_sync (info->display);
}
static void
listify (gpointer key,
gpointer value,
gpointer data)
{
GList **windows = data;
*windows = g_list_prepend (*windows, (gpointer)value);
}
static void
free_all_windows (MetaCompScreen *info)
{
GList *windows = NULL, *list;
g_hash_table_foreach (info->windows_by_xid, listify, &windows);
for (list = windows; list != NULL; list = list->next)
{
MetaCompWindow *window = list->data;
meta_comp_window_free (window);
}
g_list_free (windows);
}
void
meta_comp_screen_unredirect (MetaCompScreen *info)
{
WsScreen *ws_screen = info->screen;
WsWindow *root = ws_screen_get_root_window (ws_screen);
g_signal_handler_disconnect (info->magnifier, info->repaint_id);
g_object_unref (info->magnifier);
ws_window_unredirect_subwindows (root);
ws_screen_release_gl_window (ws_screen);
free_all_windows (info);
ws_display_sync (info->display);
/* FIXME: libcm needs a way to guarantee that a window is destroyed,
* without relying on ref counting having it as a side effect
*/
g_object_unref (info->selection_window);
}
void
meta_comp_screen_queue_paint (MetaCompScreen *info)
{
#if 0
g_print ("queuing\n");
#endif
if (!info->idle_id)
info->idle_id = g_idle_add (repaint, info);
}
void
meta_comp_screen_restack (MetaCompScreen *info,
Window window,
Window above_this)
{
MetaCompWindow *comp_window = find_comp_window (info, window);
MetaCompWindow *above_comp_window = find_comp_window (info, above_this);
CmNode *window_node = find_node (info, window);
CmNode *above_node = find_node (info, above_this);
if ((comp_window && meta_comp_window_stack_frozen (comp_window)) ||
(above_comp_window && meta_comp_window_stack_frozen (above_comp_window)))
{
return;
}
#if 0
dump_stacking_order (info->stacker->children);
#endif
if (window_node == above_node)
return;
if (window_node && above_this == WS_RESOURCE_XID (info->gl_window))
{
cm_stacker_raise_child (info->stacker, window_node);
}
else if (window_node && above_this == None)
{
cm_stacker_lower_child (info->stacker, window_node);
}
else if (window_node && above_node)
{
cm_stacker_restack_child (info->stacker, window_node, above_node);
}
#if 0
else
g_print ("nothing happened\n");
#endif
#if 0
g_print ("done restacking; new order:\n");
#endif
#if 0
dump_stacking_order (info->stacker->children);
#endif
}
void
meta_comp_screen_raise_window (MetaCompScreen *info,
Window window)
{
CmNode *node = find_node (info, window);
if (node)
cm_stacker_raise_child (info->stacker, node);
}
void
meta_comp_screen_set_size (MetaCompScreen *info,
Window xwindow,
gint x,
gint y,
gint width,
gint height)
{
MetaCompWindow *comp_window = meta_comp_window_lookup (info, xwindow);
if (comp_window)
{
WsRectangle rect;
rect.x = x;
rect.y = y;
rect.width = width;
rect.height = height;
meta_comp_window_set_size (comp_window, &rect);
}
}
static void
print_child_titles (WsWindow *window)
{
GList *children = ws_window_query_subwindows (window);
GList *list;
int i;
g_print ("window: %lx %s\n", WS_RESOURCE_XID (window), ws_window_query_title (window));
i = 0;
for (list = children; list != NULL; list = list->next)
{
WsWindow *child = list->data;
g_print (" %d adding: %lx %s\n", i++, WS_RESOURCE_XID (child), ws_window_query_title (child));
}
}
typedef struct
{
MetaCompScreen *cscreen;
XID xid;
} DestroyData;
static void
on_window_destroy (MetaCompWindow *comp_window,
gpointer closure)
{
DestroyData *data = closure;
CmNode *node = meta_comp_window_get_node (comp_window);
cm_stacker_remove_child (data->cscreen->stacker, node);
g_hash_table_remove (data->cscreen->windows_by_xid, (gpointer)data->xid);
}
void
meta_comp_screen_add_window (MetaCompScreen *info,
Window xwindow)
{
WsDrawable *drawable;
MetaCompWindow *comp_window;
DestroyData *data;
ws_display_begin_error_trap (info->display);
comp_window = meta_comp_window_lookup (info, xwindow);
if (comp_window)
goto out;
drawable = WS_DRAWABLE (ws_window_lookup (info->display, xwindow));
if (ws_window_query_input_only (WS_WINDOW (drawable)))
goto out;
if (WS_WINDOW (drawable) == info->gl_window ||
WS_WINDOW (drawable) == info->screen->overlay_window)
{
#if 0
g_print ("gl window\n");
#endif
goto out;
}
data = g_new (DestroyData, 1);
data->cscreen = info;
data->xid = WS_RESOURCE_XID (drawable);
comp_window = meta_comp_window_new (info->meta_screen, drawable,
on_window_destroy, data);
g_hash_table_insert (info->windows_by_xid, (gpointer)WS_RESOURCE_XID (drawable), comp_window);
cm_stacker_add_child (info->stacker, meta_comp_window_get_node (comp_window));
out:
if (comp_window)
{
/* This function is called both when windows are created and when they
* are mapped, so for now we have this silly function.
*/
meta_comp_window_refresh_attrs (comp_window);
}
ws_display_end_error_trap (info->display);
#if 0
g_print ("done checking\n");
#endif
return;
}
void
meta_comp_screen_remove_window (MetaCompScreen *info,
Window xwindow)
{
MetaCompWindow *comp_window = meta_comp_window_lookup (info, xwindow);
if (comp_window)
meta_comp_window_free (comp_window);
}
void
meta_comp_screen_set_updates (MetaCompScreen *info,
Window xwindow,
gboolean updates)
{
MetaCompWindow *comp_window = meta_comp_window_lookup (info, xwindow);
meta_comp_window_set_updates (comp_window, updates);
}
void
meta_comp_screen_set_patch (MetaCompScreen *info,
Window xwindow,
CmPoint points[4][4])
{
CmDrawableNode *node = CM_DRAWABLE_NODE (find_node (info, xwindow));
if (node)
cm_drawable_node_set_patch (node, points);
}
void
meta_comp_screen_unset_patch (MetaCompScreen *info,
Window xwindow)
{
CmDrawableNode *node = CM_DRAWABLE_NODE (find_node (info, xwindow));
if (node)
cm_drawable_node_unset_patch (node);
}
void
meta_comp_screen_set_alpha (MetaCompScreen *info,
Window xwindow,
gdouble alpha)
{
CmDrawableNode *node = CM_DRAWABLE_NODE (find_node (info, xwindow));
#if 0
g_print ("alpha: %f\n", alpha);
#endif
cm_drawable_node_set_alpha (node, alpha);
}
void
meta_comp_screen_get_real_size (MetaCompScreen *info,
Window xwindow,
WsRectangle *size)
{
CmDrawableNode *node = CM_DRAWABLE_NODE (find_node (info, xwindow));
if (!size)
return;
cm_drawable_node_get_clipbox (node, size);
}
void
meta_comp_screen_unmap (MetaCompScreen *info,
Window xwindow)
{
MetaCompWindow *window = find_comp_window (info, xwindow);
if (window)
meta_comp_window_hide (window);
}
void
meta_comp_screen_set_target_rect (MetaCompScreen *info,
Window xwindow,
WsRectangle *rect)
{
CmDrawableNode *node = CM_DRAWABLE_NODE (find_node (info, xwindow));
if (node)
cm_drawable_node_set_scale_rect (node, rect);
}
#endif

View File

@@ -1,53 +0,0 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
#include "screen.h"
#include "c-window.h"
typedef struct MetaCompScreen MetaCompScreen;
MetaCompScreen *meta_comp_screen_new (WsDisplay *display,
MetaScreen *screen);
MetaCompScreen *meta_comp_screen_get_by_xwindow (Window xwindow);
void meta_comp_screen_destroy (MetaCompScreen *scr_info);
void meta_comp_screen_redirect (MetaCompScreen *info);
void meta_comp_screen_unredirect (MetaCompScreen *info);
void meta_comp_screen_add_window (MetaCompScreen *scr_info,
Window xwindow);
void meta_comp_screen_remove_window (MetaCompScreen *scr_info,
Window xwindow);
void meta_comp_screen_restack (MetaCompScreen *scr_info,
Window window,
Window above_this);
void meta_comp_screen_set_size (MetaCompScreen *info,
Window window,
gint x,
gint y,
gint width,
gint height);
void meta_comp_screen_raise_window (MetaCompScreen *scr_info,
Window window);
void meta_comp_screen_queue_paint (MetaCompScreen *info);
void meta_comp_screen_set_updates (MetaCompScreen *info,
Window xwindow,
gboolean updates);
void meta_comp_screen_set_patch (MetaCompScreen *info,
Window xwindow,
CmPoint points[4][4]);
void meta_comp_screen_unset_patch (MetaCompScreen *info,
Window xwindow);
void meta_comp_screen_set_alpha (MetaCompScreen *info,
Window xwindow,
gdouble alpha);
void meta_comp_screen_get_real_size (MetaCompScreen *info,
Window xwindow,
WsRectangle *size);
void meta_comp_screen_set_target_rect (MetaCompScreen *info,
Window xwindow,
WsRectangle *rect);
void meta_comp_screen_set_explode (MetaCompScreen *info,
Window xwindow,
gdouble level);
void meta_comp_screen_unmap (MetaCompScreen *info,
Window xwindow);
MetaCompWindow *meta_comp_screen_lookup_window (MetaCompScreen *info,
Window xwindow);

File diff suppressed because it is too large Load Diff

View File

@@ -1,72 +0,0 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/*
* Copyright (C) 2006 Red Hat, Inc.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*/
#include <cm/node.h>
#include "display.h"
#include "effects.h"
#ifndef C_WINDOW_H
#define C_WINDOW_H
typedef struct _MetaCompWindow MetaCompWindow;
typedef void (* MetaCompWindowDestroy) (MetaCompWindow *window,
gpointer closure);
MetaCompWindow *meta_comp_window_new (MetaScreen *screen,
WsDrawable *drawable,
MetaCompWindowDestroy destroy,
gpointer data);
CmNode *meta_comp_window_get_node (MetaCompWindow *window);
gboolean meta_comp_window_free (MetaCompWindow *window);
void meta_comp_window_set_size (MetaCompWindow *window,
WsRectangle *size);
void meta_comp_window_hide (MetaCompWindow *comp_window);
void meta_comp_window_show (MetaCompWindow *comp_window);
void meta_comp_window_refresh_attrs (MetaCompWindow *comp_window);
void meta_comp_window_set_updates (MetaCompWindow *comp_window,
gboolean updates);
void meta_comp_window_explode (MetaCompWindow *comp_window,
MetaEffect *effect);
void meta_comp_window_shrink (MetaCompWindow *comp_window,
MetaEffect *effect);
void meta_comp_window_unshrink (MetaCompWindow *comp_window,
MetaEffect *effect);
void meta_comp_window_run_focus (MetaCompWindow *comp_window,
MetaEffect *effect);
void meta_comp_window_restack (MetaCompWindow *comp_window,
MetaCompWindow *above);
void meta_comp_window_freeze_stack (MetaCompWindow *comp_window);
void meta_comp_window_thaw_stack (MetaCompWindow *comp_window);
gboolean meta_comp_window_stack_frozen (MetaCompWindow *comp_window);
void meta_comp_window_run_minimize (MetaCompWindow *window,
MetaEffect *effect);
void meta_comp_window_run_unminimize (MetaCompWindow *comp_window,
MetaEffect *effect);
#if 0
void meta_comp_window_set_explode (MetaCompWindow *comp_window,
double level);
#endif
#endif

File diff suppressed because it is too large Load Diff

View File

@@ -22,11 +22,57 @@
* 02111-1307, USA.
*/
/**
* \file core/bell.c Ring the bell or flash the screen
*
* Sometimes, X programs "ring the bell", whatever that means. Metacity lets
* the user configure the bell to be audible or visible (aka visual), and
* if it's visual it can be configured to be frame-flash or fullscreen-flash.
* We never get told about audible bells; X handles them just fine by itself.
*
* Visual bells come in at meta_bell_notify(), which checks we are actually
* in visual mode and calls through to meta_bell_visual_notify(). That
* function then checks what kind of visual flash you like, and calls either
* meta_bell_flash_fullscreen()-- which calls meta_bell_flash_screen() to do
* its work-- or meta_bell_flash_frame(), which flashes the focussed window
* using meta_bell_flash_window_frame(), unless there is no such window, in
* which case it flashes the screen instead. meta_bell_flash_window_frame()
* flashes the frame and calls meta_bell_unflash_frame() as a timeout to
* remove the flash.
*
* The visual bell was the result of a discussion in Bugzilla here:
* <http://bugzilla.gnome.org/show_bug.cgi?id=99886>.
*
* Several of the functions in this file are ifdeffed out entirely if we are
* found not to have the XKB extension, which is required to do these clever
* things with bells; some others are entirely no-ops in that case.
*
* \bug Static functions should not be called meta_*.
*/
#include <config.h>
#include "bell.h"
#include "screen.h"
#include "prefs.h"
/**
* Flashes one entire screen. This is done by making a window the size of the
* whole screen (or reusing the old one, if it's still around), mapping it,
* painting it white and then black, and then unmapping it. We set saveunder so
* that all the windows behind it come back immediately.
*
* Unlike frame flashes, we don't do fullscreen flashes with a timeout; rather,
* we do them in one go, because we don't have to rely on the theme code
* redrawing the frame for us in order to do the flash.
*
* \param display The display which owns the screen (rather redundant)
* \param screen The screen to flash
*
* \bug The way I read it, this appears not to do the flash
* the first time we flash a particular display. Am I wrong?
*
* \bug This appears to destroy our current XSync status.
*/
static void
meta_bell_flash_screen (MetaDisplay *display,
MetaScreen *screen)
@@ -89,6 +135,16 @@ meta_bell_flash_screen (MetaDisplay *display,
XFlush (display->xdisplay);
}
/**
* Flashes one screen, or all screens, in response to a bell event.
* If the event is on a particular window, flash the screen that
* window is on. Otherwise, flash every screen on this display.
*
* If the configure script found we had no XKB, this does not exist.
*
* \param display The display the event came in on
* \param xkb_ev The bell event
*/
#ifdef HAVE_XKB
static void
meta_bell_flash_fullscreen (MetaDisplay *display,
@@ -116,6 +172,20 @@ meta_bell_flash_fullscreen (MetaDisplay *display,
}
}
/**
* Makes a frame be not flashed; this is the timeout half of
* meta_bell_flash_window_frame(). This is done simply by clearing the
* flash flag and queuing a redraw of the frame.
*
* If the configure script found we had no XKB, this does not exist.
*
* \param data The frame to unflash, cast to a gpointer so it can go into
* a callback function.
* \return Always FALSE, so we don't get called again.
*
* \bug This is the parallel to meta_bell_flash_window_frame(), so it should
* really be called meta_bell_unflash_window_frame().
*/
static gboolean
meta_bell_unflash_frame (gpointer data)
{
@@ -125,6 +195,17 @@ meta_bell_unflash_frame (gpointer data)
return FALSE;
}
/**
* Makes a frame flash and then return to normal shortly afterwards.
* This is done by setting a flag so that the theme
* code will temporarily draw the frame as focussed if it's unfocussed and
* vice versa, and then queueing a redraw. Lastly, we create a timeout so
* that the flag can be unset and the frame re-redrawn.
*
* If the configure script found we had no XKB, this does not exist.
*
* \param window The window to flash
*/
static void
meta_bell_flash_window_frame (MetaWindow *window)
{
@@ -135,6 +216,13 @@ meta_bell_flash_window_frame (MetaWindow *window)
meta_bell_unflash_frame, window->frame, NULL);
}
/**
* Flashes the frame of the focussed window. If there is no focussed window,
* flashes the screen.
*
* \param display The display the bell event came in on
* \param xkb_ev The bell event we just received
*/
static void
meta_bell_flash_frame (MetaDisplay *display,
XkbAnyEvent *xkb_ev)
@@ -158,6 +246,17 @@ meta_bell_flash_frame (MetaDisplay *display,
}
}
/**
* Gives the user some kind of visual bell substitute, in response to a
* bell event. What this is depends on the "visual bell type" pref.
*
* If the configure script found we had no XKB, this does not exist.
*
* \param display The display the bell event came in on
* \param xkb_ev The bell event we just received
*
* \bug This should be merged with meta_bell_notify().
*/
static void
meta_bell_visual_notify (MetaDisplay *display,
XkbAnyEvent *xkb_ev)
@@ -176,6 +275,16 @@ meta_bell_visual_notify (MetaDisplay *display,
}
}
/**
* Gives the user some kind of visual bell; in fact, this is our response
* to any kind of bell request, but we set it up so that we only get
* notified about visual bells, and X deals with audible ones.
*
* If the configure script found we had no XKB, this does not exist.
*
* \param display The display the bell event came in on
* \param xkb_ev The bell event we just received
*/
void
meta_bell_notify (MetaDisplay *display,
XkbAnyEvent *xkb_ev)
@@ -184,8 +293,17 @@ meta_bell_notify (MetaDisplay *display,
if (meta_prefs_get_visual_bell ())
meta_bell_visual_notify (display, xkb_ev);
}
#endif
#endif /* HAVE_XKB */
/**
* Turns the bell to audible or visual. This tells X what to do, but
* not Metacity; you will need to set the "visual bell" pref for that.
*
* If the configure script found we had no XKB, this is a no-op.
*
* \param display The display we're configuring
* \param audible True for an audible bell, false for a visual bell
*/
void
meta_bell_set_audible (MetaDisplay *display, gboolean audible)
{
@@ -197,6 +315,27 @@ meta_bell_set_audible (MetaDisplay *display, gboolean audible)
#endif
}
/**
* Initialises the bell subsystem. This involves intialising
* XKB (which, despite being a keyboard extension, is the
* place to look for bell notifications), then asking it
* to send us bell notifications, and then also switching
* off the audible bell if we're using a visual one ourselves.
*
* Unlike most X extensions we use, we only initialise XKB here
* (rather than in main()). It's possible that XKB is not
* installed at all, but if that was known at build time
* we will have HAVE_XKB undefined, which will cause this
* function to be a no-op.
*
* \param display The display which is opening
*
* \bug There is a line of code that's never run that tells
* XKB to reset the bell status after we quit. Bill H said
* (<http://bugzilla.gnome.org/show_bug.cgi?id=99886#c12>)
* that XFree86's implementation is broken so we shouldn't
* call it, but that was in 2002. Is it working now?
*/
gboolean
meta_bell_init (MetaDisplay *display)
{
@@ -238,6 +377,15 @@ meta_bell_init (MetaDisplay *display)
return FALSE;
}
/**
* Shuts down the bell subsystem.
*
* \param display The display which is closing
*
* \bug This is never called! If we had XkbSetAutoResetControls
* enabled in meta_bell_init(), this wouldn't be a problem, but
* we don't.
*/
void
meta_bell_shutdown (MetaDisplay *display)
{
@@ -250,6 +398,14 @@ meta_bell_shutdown (MetaDisplay *display)
#endif
}
/**
* Deals with a frame being destroyed. This is important because if we're
* using a visual bell, we might be flashing the edges of the frame, and
* so we'd have a timeout function waiting ready to un-flash them. If the
* frame's going away, we can tell the timeout not to bother.
*
* \param frame The frame which is being destroyed
*/
void
meta_bell_notify_frame_destroy (MetaFrame *frame)
{

View File

@@ -29,7 +29,6 @@
#include "boxes.h"
#include "util.h"
#include <X11/Xutil.h> /* Just for the definition of the various gravities */
#include <stdio.h> /* For snprintf */
char*
meta_rectangle_to_string (const MetaRectangle *rect,
@@ -61,7 +60,7 @@ meta_rectangle_region_to_string (GList *region,
char *cur = output;
if (region == NULL)
snprintf (output, 10, "(EMPTY)");
g_snprintf (output, 10, "(EMPTY)");
while (tmp)
{
@@ -114,7 +113,7 @@ meta_rectangle_edge_list_to_string (GList *edge_list,
GList *tmp = edge_list;
if (edge_list == NULL)
snprintf (output, 10, "(EMPTY)");
g_snprintf (output, 10, "(EMPTY)");
while (tmp)
{

2656
src/core/compositor.c Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -26,25 +26,13 @@
#include "util.h"
#include "display.h"
#include "spring-model.h"
#ifdef HAVE_COMPOSITE_EXTENSIONS
#include "cm/deform.h"
/* FIXME: Needs namespacing. */
void get_patch_points (Model *model, CmPoint points[4][4]);
#endif
typedef void (* MetaAnimationFinishedFunc) (gpointer data);
/* XXX namespace me */
void compute_window_rect (MetaWindow *window, MetaRectangle *rect);
MetaCompositor* meta_compositor_new (MetaDisplay *display);
void meta_compositor_unref (MetaCompositor *compositor);
void meta_compositor_process_event (MetaCompositor *compositor,
XEvent *xevent,
MetaWindow *window);
void meta_compositor_add_window (MetaCompositor *compositor,
MetaWindow *window,
Window xwindow,
XWindowAttributes *attrs);
void meta_compositor_remove_window (MetaCompositor *compositor,
@@ -57,23 +45,11 @@ void meta_compositor_manage_screen (MetaCompositor *compositor,
void meta_compositor_unmanage_screen (MetaCompositor *compositor,
MetaScreen *screen);
#if 0
void meta_compositor_minimize (MetaCompositor *compositor,
MetaWindow *window,
int x,
int y,
int width,
int height,
MetaAnimationFinishedFunc finished_cb,
gpointer finished_data);
#endif
void meta_compositor_set_updates (MetaCompositor *compositor,
MetaWindow *window,
gboolean updates);
void
meta_compositor_set_updates (MetaCompositor *compositor,
MetaWindow *window,
gboolean updates);
void
meta_compositor_destroy (MetaCompositor *compositor);
void meta_compositor_destroy (MetaCompositor *compositor);
void meta_compositor_begin_move (MetaCompositor *compositor,
MetaWindow *window,
@@ -86,7 +62,7 @@ void meta_compositor_end_move (MetaCompositor *compositor,
MetaWindow *window);
void meta_compositor_free_window (MetaCompositor *compositor,
MetaWindow *window);
void meta_compositor_free_window (MetaCompositor *compositor,
MetaWindow *window);
Pixmap meta_compositor_get_window_pixmap (MetaCompositor *compositor,
MetaWindow *window);
#endif /* META_COMPOSITOR_H */

View File

@@ -91,7 +91,7 @@
typedef enum
{
PRIORITY_MINIMUM = 0, // Dummy value used for loop start = min(all priorities)
PRIORITY_MINIMUM = 0, /* Dummy value used for loop start = min(all priorities) */
PRIORITY_ASPECT_RATIO = 0,
PRIORITY_ENTIRELY_VISIBLE_ON_SINGLE_XINERAMA = 0,
PRIORITY_ENTIRELY_VISIBLE_ON_WORKAREA = 1,
@@ -101,7 +101,7 @@ typedef enum
PRIORITY_SIZE_HINTS_LIMITS = 3,
PRIORITY_TITLEBAR_VISIBLE = 4,
PRIORITY_PARTIALLY_VISIBLE_ON_WORKAREA = 4,
PRIORITY_MAXIMUM = 4 // Dummy value used for loop end = max(all priorities)
PRIORITY_MAXIMUM = 4 /* Dummy value used for loop end = max(all priorities) */
} ConstraintPriority;
typedef enum
@@ -811,6 +811,7 @@ constrain_size_increments (MetaWindow *window,
int bh, hi, bw, wi, extra_height, extra_width;
int new_width, new_height;
gboolean constraint_already_satisfied;
MetaRectangle *start_rect;
if (priority > PRIORITY_SIZE_HINTS_INCREMENTS)
return TRUE;
@@ -852,8 +853,16 @@ constrain_size_increments (MetaWindow *window,
if (new_height < window->size_hints.min_height)
new_height += ((window->size_hints.min_height - new_height)/hi + 1)*hi;
/* Figure out what original rect to pass to meta_rectangle_resize_with_gravity
* See bug 448183
*/
if (info->action_type == ACTION_MOVE_AND_RESIZE)
start_rect = &info->current;
else
start_rect = &info->orig;
/* Resize to the new size */
meta_rectangle_resize_with_gravity (&info->orig,
meta_rectangle_resize_with_gravity (start_rect,
&info->current,
info->resize_gravity,
new_width,
@@ -870,6 +879,7 @@ constrain_size_limits (MetaWindow *window,
MetaRectangle min_size, max_size;
gboolean too_big, too_small, constraint_already_satisfied;
int new_width, new_height;
MetaRectangle *start_rect;
if (priority > PRIORITY_SIZE_HINTS_LIMITS)
return TRUE;
@@ -898,7 +908,16 @@ constrain_size_limits (MetaWindow *window,
/*** Enforce constraint ***/
new_width = CLAMP (info->current.width, min_size.width, max_size.width);
new_height = CLAMP (info->current.height, min_size.height, max_size.height);
meta_rectangle_resize_with_gravity (&info->orig,
/* Figure out what original rect to pass to meta_rectangle_resize_with_gravity
* See bug 448183
*/
if (info->action_type == ACTION_MOVE_AND_RESIZE)
start_rect = &info->current;
else
start_rect = &info->orig;
meta_rectangle_resize_with_gravity (start_rect,
&info->current,
info->resize_gravity,
new_width,
@@ -917,6 +936,7 @@ constrain_aspect_ratio (MetaWindow *window,
int fudge, new_width, new_height;
double best_width, best_height;
double alt_width, alt_height;
MetaRectangle *start_rect;
if (priority > PRIORITY_ASPECT_RATIO)
return TRUE;
@@ -1022,7 +1042,15 @@ constrain_aspect_ratio (MetaWindow *window,
break;
}
meta_rectangle_resize_with_gravity (&info->orig,
/* Figure out what original rect to pass to meta_rectangle_resize_with_gravity
* See bug 448183
*/
if (info->action_type == ACTION_MOVE_AND_RESIZE)
start_rect = &info->current;
else
start_rect = &info->orig;
meta_rectangle_resize_with_gravity (start_rect,
&info->current,
info->resize_gravity,
new_width,

View File

@@ -328,6 +328,40 @@ meta_core_maximize (Display *xdisplay,
META_MAXIMIZE_HORIZONTAL | META_MAXIMIZE_VERTICAL);
}
void
meta_core_toggle_maximize_vertically (Display *xdisplay,
Window frame_xwindow)
{
MetaWindow *window = get_window (xdisplay, frame_xwindow);
if (meta_prefs_get_raise_on_click ())
meta_window_raise (window);
if (META_WINDOW_MAXIMIZED_VERTICALLY (window))
meta_window_unmaximize (window,
META_MAXIMIZE_VERTICAL);
else
meta_window_maximize (window,
META_MAXIMIZE_VERTICAL);
}
void
meta_core_toggle_maximize_horizontally (Display *xdisplay,
Window frame_xwindow)
{
MetaWindow *window = get_window (xdisplay, frame_xwindow);
if (meta_prefs_get_raise_on_click ())
meta_window_raise (window);
if (META_WINDOW_MAXIMIZED_HORIZONTALLY (window))
meta_window_unmaximize (window,
META_MAXIMIZE_HORIZONTAL);
else
meta_window_maximize (window,
META_MAXIMIZE_HORIZONTAL);
}
void
meta_core_toggle_maximize (Display *xdisplay,
Window frame_xwindow)
@@ -718,19 +752,18 @@ meta_core_increment_event_serial (Display *xdisplay)
void
meta_invalidate_default_icons (void)
{
GSList *displays, *windows;
GSList *displays;
for (displays = meta_displays_list ();
displays != NULL;
displays = displays->next)
{
GSList *windows, *l;
for (windows = meta_display_list_windows (displays->data);
windows != NULL;
windows = windows->next)
windows = meta_display_list_windows (displays->data);
for (l = windows; l != NULL; l = l->next)
{
MetaWindow *window = (MetaWindow*)windows->data;
MetaWindow *window = (MetaWindow*)l->data;
if (window->icon_cache.origin == USING_FALLBACK_ICON)
{

View File

@@ -22,6 +22,9 @@
* 02111-1307, USA.
*/
#define _GNU_SOURCE
#define _SVID_SOURCE /* for gethostname() */
#include <config.h>
#include "util.h"
#include "window.h"
@@ -271,7 +274,7 @@ io_from_ping_dialog (GIOChannel *channel,
meta_topic (META_DEBUG_PING,
"Read %d bytes strlen %d \"%s\" from child\n",
len, str ? strlen (str) : 0, str ? str : "NULL");
len, str ? (int) strlen (str) : 0, str ? str : "NULL");
if (len > 0)
{

View File

@@ -24,6 +24,18 @@
* 02111-1307, USA.
*/
/**
* \file display.c Handles operations on an X display.
*
* The display is represented as a MetaDisplay struct.
*
* \bug Originally we had the idea that there could be multiple MetaDisplay
* structs in one Metacity process, but as the code currently stands, only
* one can be initialised; it is a singleton class. We should go through and
* remove all the code that iterates over the lists of displays later.
* See <http://bugzilla.gnome.org/show_bug.cgi?id=499301>.
*/
#include <config.h>
#include "display.h"
#include "util.h"
@@ -65,6 +77,11 @@
#ifdef HAVE_XCURSOR
#include <X11/Xcursor/Xcursor.h>
#endif
#ifdef HAVE_COMPOSITE_EXTENSIONS
#include <X11/extensions/Xcomposite.h>
#include <X11/extensions/Xdamage.h>
#include <X11/extensions/Xfixes.h>
#endif
#include <string.h>
#define GRAB_OP_IS_WINDOW_SWITCH(g) \
@@ -75,6 +92,30 @@
g == META_GRAB_OP_KEYBOARD_ESCAPING_DOCK || \
g == META_GRAB_OP_KEYBOARD_ESCAPING_GROUP)
/**
* \defgroup pings Pings
*
* Sometimes we want to see whether a window is responding,
* so we send it a "ping" message and see whether it sends us back a "pong"
* message within a reasonable time. Here we have a system which lets us
* nominate one function to be called if we get the pong in time and another
* function if we don't. The system is rather more complicated than it needs
* to be, since we only ever use it to destroy windows which are asked to
* close themselves and don't do so within a reasonable amount of time, and
* therefore we always use the same callbacks. It's possible that we might
* use it for other things in future, or on the other hand we might decide
* that we're never going to do so and simplify it a bit.
*/
/**
* Describes a ping on a window. When we send a ping to a window, we build
* one of these structs, and it eventually gets passed to the timeout function
* or to the function which handles the response from the window. If the window
* does or doesn't respond to the ping, we use this information to deal with
* these facts; we have a handler function for each.
*
* \ingroup pings
*/
typedef struct
{
MetaDisplay *display;
@@ -122,6 +163,12 @@ static void sanity_check_timestamps (MetaDisplay *display,
MetaGroup* get_focussed_group (MetaDisplay *display);
/**
* Destructor for MetaPingData structs. Will destroy the
* event source for the struct as well.
*
* \ingroup pings
*/
static void
ping_data_free (MetaPingData *ping_data)
{
@@ -132,6 +179,16 @@ ping_data_free (MetaPingData *ping_data)
g_free (ping_data);
}
/**
* Frees every pending ping structure for the given X window on the
* given display. This means that we also destroy the timeouts.
*
* \param display The display the window appears on
* \param xwindow The X ID of the window whose pings we should remove
*
* \ingroup pings
*
*/
static void
remove_pending_pings_for_window (MetaDisplay *display, Window xwindow)
{
@@ -186,10 +243,23 @@ sn_error_trap_pop (SnDisplay *sn_display,
#endif
static void
enable_compositor (MetaDisplay *display)
enable_compositor (MetaDisplay *display,
gboolean composite_windows)
{
GSList *list;
if (!META_DISPLAY_HAS_COMPOSITE (display) ||
!META_DISPLAY_HAS_DAMAGE (display) ||
!META_DISPLAY_HAS_XFIXES (display) ||
!META_DISPLAY_HAS_RENDER (display))
{
meta_warning (_("Missing %s extension required for compositing"),
!META_DISPLAY_HAS_COMPOSITE (display) ? "composite" :
!META_DISPLAY_HAS_DAMAGE (display) ? "damage" :
!META_DISPLAY_HAS_XFIXES (display) ? "xfixes" : "render");
return;
}
if (!display->compositor)
display->compositor = meta_compositor_new (display);
@@ -203,7 +273,8 @@ enable_compositor (MetaDisplay *display)
meta_compositor_manage_screen (screen->display->compositor,
screen);
meta_screen_composite_all_windows (screen);
if (composite_windows)
meta_screen_composite_all_windows (screen);
}
}
@@ -227,6 +298,24 @@ disable_compositor (MetaDisplay *display)
display->compositor = NULL;
}
/**
* Opens a new display, sets it up, initialises all the X extensions
* we will need, and adds it to the list of displays.
*
* \return True if the display was opened successfully, and False
* otherwise-- that is, if the display doesn't exist or it already
* has a window manager.
*
* \bug The list of atom_names is prone to get out of sync with the
* main list; I'd rather include them in that list using the stringify
* operator or something.
*
* \bug MetaDisplay is (currently) a singleton, but the code pretends
* it isn't; at some point we will decide whether to acknowledge this
* and simplify.
*
* \ingroup main
*/
gboolean
meta_display_open (void)
{
@@ -336,7 +425,7 @@ meta_display_open (void)
"_NET_WM_VISIBLE_ICON_NAME",
"_NET_WM_USER_TIME_WINDOW",
"_NET_WM_ACTION_ABOVE",
"_NET_WM_ACTION_BELOW"
"_NET_WM_ACTION_BELOW",
};
Atom atoms[G_N_ELEMENTS(atom_names)];
@@ -398,7 +487,8 @@ meta_display_open (void)
update_window_grab_modifiers (display);
meta_prefs_add_listener (prefs_changed_callback, display);
meta_verbose ("Creating %d atoms\n", (int) G_N_ELEMENTS (atom_names));
XInternAtoms (display->xdisplay, atom_names, G_N_ELEMENTS (atom_names),
False, atoms);
display->atom_net_wm_name = atoms[0];
@@ -647,6 +737,86 @@ meta_display_open (void)
meta_verbose ("Not compiled with Render support\n");
#endif /* !HAVE_RENDER */
#ifdef HAVE_COMPOSITE_EXTENSIONS
{
display->have_composite = FALSE;
display->composite_error_base = 0;
display->composite_event_base = 0;
if (!XCompositeQueryExtension (display->xdisplay,
&display->composite_event_base,
&display->composite_error_base))
{
display->composite_error_base = 0;
display->composite_event_base = 0;
}
else
{
display->composite_major_version = 0;
display->composite_minor_version = 0;
if (XCompositeQueryVersion (display->xdisplay,
&display->composite_major_version,
&display->composite_minor_version))
{
display->have_composite = TRUE;
}
else
{
display->composite_major_version = 0;
display->composite_minor_version = 0;
}
}
meta_verbose ("Attempted to init Composite, found error base %d event base %d "
"extn ver %d %d\n",
display->composite_error_base,
display->composite_event_base,
display->composite_major_version,
display->composite_minor_version);
display->have_damage = FALSE;
display->damage_error_base = 0;
display->damage_event_base = 0;
if (!XDamageQueryExtension (display->xdisplay,
&display->damage_event_base,
&display->damage_error_base))
{
display->damage_error_base = 0;
display->damage_event_base = 0;
}
else
display->have_damage = TRUE;
meta_verbose ("Attempted to init Damage, found error base %d event base %d\n",
display->damage_error_base,
display->damage_event_base);
display->have_xfixes = FALSE;
display->xfixes_error_base = 0;
display->xfixes_event_base = 0;
if (!XFixesQueryExtension (display->xdisplay,
&display->xfixes_event_base,
&display->xfixes_error_base))
{
display->xfixes_error_base = 0;
display->xfixes_event_base = 0;
}
else
display->have_xfixes = TRUE;
meta_verbose ("Attempted to init XFixes, found error base %d event base %d\n",
display->xfixes_error_base,
display->xfixes_event_base);
}
#else /* HAVE_COMPOSITE_EXTENSIONS */
meta_verbose ("Not compiled with Composite support\n");
#endif /* !HAVE_COMPOSITE_EXTENSIONS */
#ifdef HAVE_XCURSOR
{
XcursorSetTheme (display->xdisplay, meta_prefs_get_cursor_theme ());
@@ -742,7 +912,13 @@ meta_display_open (void)
meta_display_close (display, timestamp);
return FALSE;
}
/* We don't composite the windows here because they will be composited
faster with the call to meta_screen_manage_all_windows further down
the code */
if (meta_prefs_get_compositing_manager ())
enable_compositor (display, FALSE);
meta_display_grab (display);
/* Now manage all existing windows */
@@ -796,9 +972,6 @@ meta_display_open (void)
meta_display_ungrab (display);
if (meta_prefs_get_compositing_manager ())
enable_compositor (display);
/* Done opening new display */
display->display_opening = FALSE;
@@ -939,7 +1112,7 @@ meta_display_close (MetaDisplay *display,
meta_display_shutdown_keys (display);
if (display->compositor)
meta_compositor_unref (display->compositor);
meta_compositor_destroy (display->compositor);
g_free (display);
@@ -1073,7 +1246,9 @@ meta_displays_list (void)
return all_displays;
}
#ifdef WITH_VERBOSE_MODE
static gboolean dump_events = TRUE;
#endif
static gboolean
grab_op_is_mouse_only (MetaGrabOp op)
@@ -1406,6 +1581,21 @@ handle_net_restack_window (MetaDisplay* display,
}
#endif
/**
* This is the most important function in the whole program. It is the heart,
* it is the nexus, it is the Grand Central Station of Metacity's world.
* When we create a MetaDisplay, we ask GDK to pass *all* events for *all*
* windows to this function. So every time anything happens that we might
* want to know about, this function gets called. You see why it gets a bit
* busy around here. Most of this function is a ginormous switch statement
* dealing with all the kinds of events that might turn up.
*
* \param event The event that just happened
* \param data The MetaDisplay that events are coming from, cast to a gpointer
* so that it can be sent to a callback
*
* \ingroup main
*/
static gboolean
event_callback (XEvent *event,
gpointer data)
@@ -1419,8 +1609,10 @@ event_callback (XEvent *event,
display = data;
#ifdef WITH_VERBOSE_MODE
if (dump_events)
meta_spew_event (display, event);
#endif
#ifdef HAVE_STARTUP_NOTIFICATION
sn_display_process_event (display->sn_display, event);
@@ -3963,14 +4155,34 @@ meta_display_set_cursor_theme (const char *theme,
#endif
}
/**
* Stores whether syncing is currently enabled.
*/
static gboolean is_syncing = FALSE;
/**
* Returns whether X synchronisation is currently enabled.
*
* \return true if we must wait for events whenever we send X requests;
* false otherwise.
*
* \bug This is *only* called by meta_display_open, but by that time
* we have already turned syncing on or off on startup, and we don't
* have any way to do so while Metacity is running, so it's rather
* pointless.
*/
gboolean
meta_is_syncing (void)
{
return is_syncing;
}
/**
* A handy way to turn on synchronisation on or off for every display.
*
* \bug Of course there is only one display ever anyway, so this can
* be rather hugely simplified.
*/
void
meta_set_syncing (gboolean setting)
{
@@ -3990,8 +4202,27 @@ meta_set_syncing (gboolean setting)
}
}
/**
* How long, in milliseconds, we should wait after pinging a window
* before deciding it's not going to get back to us.
*/
#define PING_TIMEOUT_DELAY 2250
/**
* Does whatever it is we decided to do when a window didn't respond
* to a ping. We also remove the ping from the display's list of
* pending pings. This function is called by the event loop when the timeout
* times out which we created at the start of the ping.
*
* \param data All the information about this ping. It is a MetaPingData
* cast to a void* in order to be passable to a timeout function.
* This function will also free this parameter.
*
* \return Always returns false, because this function is called as a
* timeout and we don't want to run the timer again.
*
* \ingroup pings
*/
static gboolean
meta_display_ping_timeout (gpointer data)
{
@@ -4016,6 +4247,31 @@ meta_display_ping_timeout (gpointer data)
return FALSE;
}
/**
* Sends a ping request to a window. The window must respond to
* the request within a certain amount of time. If it does, we
* will call one callback; if the time passes and we haven't had
* a response, we call a different callback. The window must have
* the hint showing that it can respond to a ping; if it doesn't,
* we call the "got a response" callback immediately and return.
* This function returns straight away after setting things up;
* the callbacks will be called from the event loop.
*
* \param display The MetaDisplay that the window is on
* \param window The MetaWindow to send the ping to
* \param timestamp The timestamp of the ping. Used for uniqueness.
* Cannot be CurrentTime; use a real timestamp!
* \param ping_reply_func The callback to call if we get a response.
* \param ping_timeout_func The callback to call if we don't get a response.
* \param user_data Arbitrary data that will be passed to the callback
* function. (In practice it's often a pointer to
* the window.)
*
* \bug This should probably be a method on windows, rather than displays
* for one of their windows.
*
* \ingroup pings
*/
void
meta_display_ping_window (MetaDisplay *display,
MetaWindow *window,
@@ -4129,7 +4385,18 @@ process_request_frame_extents (MetaDisplay *display,
meta_XFree (hints);
}
/* process the pong from our ping */
/**
* Process the pong (the response message) from the ping we sent
* to the window. This involves removing the timeout, calling the
* reply handler function, and freeing memory.
*
* \param display the display we got the pong from
* \param event the XEvent which is a pong; we can tell which
* ping it corresponds to because it bears the
* same timestamp.
*
* \ingroup pings
*/
static void
process_pong_message (MetaDisplay *display,
XEvent *event)
@@ -4174,6 +4441,20 @@ process_pong_message (MetaDisplay *display,
}
}
/**
* Finds whether a window has any pings waiting on it.
*
* \param display The MetaDisplay of the window.
* \param window The MetaWindow whose pings we want to know about.
*
* \return True if there is at least one ping which has been sent
* to the window without getting a response; false otherwise.
*
* \bug This should probably be a method on windows, rather than displays
* for one of their windows.
*
* \ingroup pings
*/
gboolean
meta_display_window_has_pending_pings (MetaDisplay *display,
MetaWindow *window)
@@ -4336,6 +4617,29 @@ meta_display_get_tab_list (MetaDisplay *display,
}
tab_list = g_list_reverse (tab_list);
{
GSList *tmp;
MetaWindow *l_window;
tmp = meta_display_list_windows (display);
/* Go through all windows */
while (tmp != NULL)
{
l_window=tmp->data;
/* Check to see if it demands attention */
if (l_window->wm_state_demands_attention &&
l_window->workspace!=workspace)
{
/* if it does, add it to the popup */
tab_list = g_list_prepend (tab_list, l_window);
}
tmp = tmp->next;
} /* End while tmp!=NULL */
}
return tab_list;
}
@@ -4525,7 +4829,7 @@ convert_property (MetaDisplay *display,
* can send SelectionNotify
*/
/* FIXME the error trap pop synced anyway, right? */
meta_topic (META_DEBUG_SYNC, "Syncing on %s\n", G_GNUC_FUNCTION);
meta_topic (META_DEBUG_SYNC, "Syncing on %s\n", G_STRFUNC);
XSync (display->xdisplay, False);
return TRUE;
@@ -4830,7 +5134,7 @@ prefs_changed_callback (MetaPreference pref,
gboolean cm = meta_prefs_get_compositing_manager ();
if (cm)
enable_compositor (display);
enable_compositor (display, TRUE);
else
disable_compositor (display);
}

View File

@@ -47,7 +47,7 @@
#define meta_XFree(p) do { if ((p)) XFree ((p)); } while (0)
typedef struct MetaCompositor MetaCompositor;
typedef struct _MetaCompositor MetaCompositor;
typedef struct _MetaDisplay MetaDisplay;
typedef struct _MetaFrame MetaFrame;
typedef struct _MetaKeyBinding MetaKeyBinding;
@@ -354,6 +354,16 @@ struct _MetaDisplay
int render_event_base;
int render_error_base;
#endif
#ifdef HAVE_COMPOSITE_EXTENSIONS
int composite_event_base;
int composite_error_base;
int composite_major_version;
int composite_minor_version;
int damage_event_base;
int damage_error_base;
int xfixes_event_base;
int xfixes_error_base;
#endif
#ifdef HAVE_XSYNC
unsigned int have_xsync : 1;
#define META_DISPLAY_HAS_XSYNC(display) ((display)->have_xsync)
@@ -372,6 +382,18 @@ struct _MetaDisplay
#else
#define META_DISPLAY_HAS_RENDER(display) FALSE
#endif
#ifdef HAVE_COMPOSITE_EXTENSIONS
unsigned int have_composite : 1;
unsigned int have_damage : 1;
unsigned int have_xfixes : 1;
#define META_DISPLAY_HAS_COMPOSITE(display) ((display)->have_composite)
#define META_DISPLAY_HAS_DAMAGE(display) ((display)->have_damage)
#define META_DISPLAY_HAS_XFIXES(display) ((display)->have_xfixes)
#else
#define META_DISPLAY_HAS_COMPOSITE(display) FALSE
#define META_DISPLAY_HAS_DAMAGE(display) FALSE
#define META_DISPLAY_HAS_XFIXES(display) FALSE
#endif
};
/* Xserver time can wraparound, thus comparing two timestamps needs to take

View File

@@ -1091,6 +1091,7 @@ meta_display_compute_resistance_and_snapping_edges (MetaDisplay *display)
/*
* 4th: Free the extra memory not needed and sort the list
*/
g_list_free (stacked_windows);
/* Free the memory used by the obscuring windows/docks lists */
g_slist_free (window_stacking);
/* FIXME: Shouldn't there be a helper function to make this one line of code

View File

@@ -25,7 +25,6 @@
#include "iconcache.h"
#include "ui.h"
#include "errors.h"
#include "theme.h"
#include <X11/Xatom.h>
@@ -818,9 +817,15 @@ meta_read_icons (MetaScreen *screen,
if (icon_cache->want_fallback &&
icon_cache->origin < USING_FALLBACK_ICON)
{
MetaTheme *theme = meta_theme_get_current ();
GdkPixbuf *fallback_icon;
GdkPixbuf *fallback_mini_icon;
fallback_icon = NULL;
fallback_mini_icon = NULL;
if (theme->fallback_icon == NULL || theme->fallback_mini_icon == NULL)
meta_ui_get_fallback_icons(&fallback_icon, &fallback_mini_icon);
if (fallback_icon == NULL || fallback_mini_icon == NULL)
{
get_fallback_icons (screen,
iconp,
@@ -831,14 +836,14 @@ meta_read_icons (MetaScreen *screen,
ideal_mini_height);
}
if (theme->fallback_icon != NULL)
*iconp = theme->fallback_icon;
if (theme->fallback_mini_icon != NULL)
*mini_iconp = theme->fallback_mini_icon;
if (fallback_icon != NULL)
*iconp = fallback_icon;
if (fallback_mini_icon != NULL)
*mini_iconp = fallback_mini_icon;
replace_cache (icon_cache, USING_FALLBACK_ICON,
*iconp, *mini_iconp);
return TRUE;
}

View File

@@ -23,6 +23,9 @@
* 02111-1307, USA.
*/
#define _GNU_SOURCE
#define _SVID_SOURCE /* for putenv() */
#include <config.h>
#include "keybindings.h"
#include "workspace.h"
@@ -1644,6 +1647,17 @@ process_event (MetaKeyBinding *bindings,
"No handler found for this event in this binding table\n");
}
/* Handle a key event. May be called recursively: some key events cause
* grabs to be ended and then need to be processed again in their own
* right. This cannot cause infinite recursion because we never call
* ourselves when there wasn't a grab, and we always clear the grab
* first; the invariant is enforced using an assertion. See #112560.
* FIXME: We need to prove there are no race conditions here.
* FIXME: Does it correctly handle alt-Tab being followed by another
* grabbing keypress without letting go of alt?
* FIXME: An iterative solution would probably be simpler to understand
* (and help us solve the other fixmes).
*/
void
meta_display_process_key_event (MetaDisplay *display,
MetaWindow *window,
@@ -1791,6 +1805,12 @@ meta_display_process_key_event (MetaDisplay *display,
"Ending grab op %u on key event sym %s\n",
display->grab_op, XKeysymToString (keysym));
meta_display_end_grab_op (display, event->xkey.time);
g_assert (display->grab_op == META_GRAB_OP_NONE);
/* and go round again: #112560 */
meta_display_process_key_event (display, window, event);
}
}

View File

@@ -22,6 +22,27 @@
* 02111-1307, USA.
*/
/**
* \file core/main.c Program startup
*
* Functions which parse the command-line arguments, create the display,
* kick everything off and then close down Metacity when it's time to go.
*/
/**
* \mainpage Metacity - a boring window manager for the adult in you
*
* Many window managers are like Marshmallow Froot Loops; Metacity
* is like Cheerios.
*
* The best way to get a handle on how the whole system fits together
* is discussed in doc/code-overview.txt; if you're looking for functions
* to investigate, read main(), meta_display_open(), and event_callback().
*/
#define _GNU_SOURCE
#define _SVID_SOURCE /* for putenv() and some signal-related functions */
#include <config.h>
#include "main.h"
#include "util.h"
@@ -44,13 +65,36 @@
#include <locale.h>
#include <time.h>
/**
* The exit code we'll return to our parent process when we eventually die.
*/
static MetaExitCode meta_exit_code = META_EXIT_SUCCESS;
/**
* Handle on the main loop, so that we have an easy way of shutting Metacity
* down.
*/
static GMainLoop *meta_main_loop = NULL;
/**
* If set, Metacity will spawn an identical copy of itself immediately
* before quitting.
*/
static gboolean meta_restart_after_quit = FALSE;
static void prefs_changed_callback (MetaPreference pref,
gpointer data);
/**
* Prints log messages. If Metacity was compiled with backtrace support,
* also prints a backtrace (see meta_print_backtrace()).
*
* \param log_domain the domain the error occurred in (we ignore this)
* \param log_level the log level so that we can filter out less
* important messages
* \param message the message to log
* \param user_data arbitrary data (we ignore this)
*/
static void
log_handler (const gchar *log_domain,
GLogLevelFlags log_level,
@@ -61,17 +105,27 @@ log_handler (const gchar *log_domain,
meta_print_backtrace ();
}
/**
* Prints the version notice. This is shown when Metacity is called
* with the --version switch.
*/
static void
version (void)
{
g_print (_("metacity %s\n"
"Copyright (C) 2001-2007 Havoc Pennington, Red Hat, Inc., and others\n"
"Copyright (C) 2001-2008 Havoc Pennington, Red Hat, Inc., and others\n"
"This is free software; see the source for copying conditions.\n"
"There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"),
VERSION);
exit (0);
}
/**
* Prints a list of which configure script options were used to
* build this copy of Metacity. This is actually always called
* on startup, but it's all no-op unless we're in verbose mode
* (see meta_set_verbose).
*/
static void
meta_print_compilation_info (void)
{
@@ -117,6 +171,14 @@ meta_print_compilation_info (void)
#endif
}
/**
* Prints the version number, the current timestamp (not the
* build date), the locale, the character encoding, and a list
* of configure script options that were used to build this
* copy of Metacity. This is actually always called
* on startup, but it's all no-op unless we're in verbose mode
* (see meta_set_verbose).
*/
static void
meta_print_self_identity (void)
{
@@ -140,6 +202,11 @@ meta_print_self_identity (void)
meta_print_compilation_info ();
}
/**
* The set of possible options that can be set on Metacity's
* command line. This type exists so that meta_parse_options() can
* write to an instance of it.
*/
typedef struct
{
gchar *save_file;
@@ -148,16 +215,20 @@ typedef struct
gboolean replace_wm;
gboolean disable_sm;
gboolean print_version;
gboolean sync;
} MetaArguments;
/**
* meta_parse_options() parses argc and argv and returns the
* arguments that Metacity understands in struct
* MetaArguments. In meta_args.
* Parses argc and argv and returns the
* arguments that Metacity understands in meta_args.
*
* The strange call signature has to be written like it is so
* that g_option_context_parse() gets a chance to modify argc and
* argv.
*
* \param argc Pointer to the number of arguments Metacity was given
* \param argv Pointer to the array of arguments Metacity was given
* \param meta_args The result of parsing the arguments.
**/
static void
meta_parse_options (int *argc, char ***argv,
@@ -200,6 +271,12 @@ meta_parse_options (int *argc, char ***argv,
N_("Print version"),
NULL
},
{
"sync", 0, 0, G_OPTION_ARG_NONE,
&my_args.sync,
N_("Make X calls synchronous"),
NULL
},
{NULL}
};
GOptionContext *ctx;
@@ -218,8 +295,7 @@ meta_parse_options (int *argc, char ***argv,
}
/**
* meta_select_display() is a helper function that selects
* which display Metacity should use. It first tries to use
* Selects which display Metacity should use. It first tries to use
* display_name as the display. If display_name is NULL then
* try to use the environment variable METACITY_DISPLAY. If that
* also is NULL, use the default - :0.0
@@ -237,13 +313,29 @@ void meta_select_display (gchar *display_name)
putenv (envVar);
}
/**
* This is where the story begins. It parses commandline options and
* environment variables, sets up the screen, hands control off to
* GTK, and cleans up afterwards.
*
* \param argc Number of arguments (as usual)
* \param argv Array of arguments (as usual)
*
* \bug It's a bit long. It would be good to split it out into separate
* functions.
*/
int
main (int argc, char **argv)
{
struct sigaction act;
sigset_t empty_mask;
MetaArguments meta_args;
const gchar *log_domains[] = {
NULL, G_LOG_DOMAIN, "Gtk", "Gdk", "GLib",
"Pango", "GLib-GObject", "GThread"
};
guint i;
if (setlocale (LC_ALL, "") == NULL)
meta_warning ("Locale not understood by C library, internationalization will not work\n");
@@ -264,7 +356,6 @@ main (int argc, char **argv)
meta_set_verbose (TRUE);
if (g_getenv ("METACITY_DEBUG"))
meta_set_debugging (TRUE);
meta_set_syncing (g_getenv ("METACITY_SYNC") != NULL);
if (g_get_home_dir ())
chdir (g_get_home_dir ());
@@ -278,6 +369,8 @@ main (int argc, char **argv)
/* Parse command line arguments.*/
meta_parse_options (&argc, &argv, &meta_args);
meta_set_syncing (meta_args.sync || (g_getenv ("METACITY_SYNC") != NULL));
if (meta_args.print_version)
version ();
@@ -304,30 +397,12 @@ main (int argc, char **argv)
#if 1
g_log_set_handler (NULL,
G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL | G_LOG_FLAG_RECURSION,
log_handler, NULL);
g_log_set_handler (G_LOG_DOMAIN,
G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL | G_LOG_FLAG_RECURSION,
log_handler, NULL);
g_log_set_handler ("Gtk",
G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL | G_LOG_FLAG_RECURSION,
log_handler, NULL);
g_log_set_handler ("Gdk",
G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL | G_LOG_FLAG_RECURSION,
log_handler, NULL);
g_log_set_handler ("GLib",
G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL | G_LOG_FLAG_RECURSION,
log_handler, NULL);
g_log_set_handler ("Pango",
G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL | G_LOG_FLAG_RECURSION,
log_handler, NULL);
g_log_set_handler ("GLib-GObject",
G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL | G_LOG_FLAG_RECURSION,
log_handler, NULL);
g_log_set_handler ("GThread",
G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL | G_LOG_FLAG_RECURSION,
log_handler, NULL);
for (i=0; i<G_N_ELEMENTS(log_domains); i++)
g_log_set_handler (log_domains[i],
G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL | G_LOG_FLAG_RECURSION,
log_handler, NULL);
#endif
if (g_getenv ("METACITY_G_FATAL_WARNINGS") != NULL)
@@ -374,17 +449,29 @@ main (int argc, char **argv)
* info
*/
if (!meta_args.disable_sm)
meta_session_init (meta_args.client_id, meta_args.save_file);
{
if (meta_args.client_id == NULL)
{
const gchar *desktop_autostart_id;
desktop_autostart_id = g_getenv ("DESKTOP_AUTOSTART_ID");
if (desktop_autostart_id != NULL)
meta_args.client_id = g_strdup (desktop_autostart_id);
}
/* Unset DESKTOP_AUTOSTART_ID in order to avoid child processes to
* use the same client id. */
g_unsetenv ("DESKTOP_AUTOSTART_ID");
meta_session_init (meta_args.client_id, meta_args.save_file);
}
/* Free memory possibly allocated by the argument parsing which are
* no longer needed.
*/
if (meta_args.save_file)
g_free (meta_args.save_file);
if (meta_args.display_name)
g_free (meta_args.display_name);
if (meta_args.client_id)
g_free (meta_args.client_id);
g_free (meta_args.save_file);
g_free (meta_args.display_name);
g_free (meta_args.client_id);
if (!meta_display_open ())
meta_exit (META_EXIT_ERROR);
@@ -436,12 +523,15 @@ main (int argc, char **argv)
return meta_exit_code;
}
GMainLoop*
meta_get_main_loop (void)
{
return meta_main_loop;
}
/**
* Stops Metacity. This tells the event loop to stop processing; it is rather
* dangerous to use this rather than meta_restart() because this will leave
* the user with no window manager. We generally do this only if, for example,
* the session manager asks us to; we assume the session manager knows what
* it's talking about.
*
* \param code The success or failure code to return to the calling process.
*/
void
meta_quit (MetaExitCode code)
{
@@ -451,6 +541,12 @@ meta_quit (MetaExitCode code)
g_main_loop_quit (meta_main_loop);
}
/**
* Restarts Metacity. In practice, this tells the event loop to stop
* processing, having first set the meta_restart_after_quit flag which
* tells Metacity to spawn an identical copy of itself before quitting.
* This happens on receipt of a _METACITY_RESTART_MESSAGE client event.
*/
void
meta_restart (void)
{
@@ -458,6 +554,15 @@ meta_restart (void)
meta_quit (META_EXIT_SUCCESS);
}
/**
* Called on pref changes. (One of several functions of its kind and purpose.)
*
* \bug Why are these particular prefs handled in main.c and not others?
* Should they be?
*
* \param pref Which preference has changed
* \param data Arbitrary data (which we ignore)
*/
static void
prefs_changed_callback (MetaPreference pref,
gpointer data)

View File

@@ -41,6 +41,7 @@ typedef enum
META_BOTTOM
} MetaWindowDirection;
#if 0 /* never used -- remove if nobody wants it */
static gint
northwestcmp (gconstpointer a, gconstpointer b)
{
@@ -86,7 +87,9 @@ northwestcmp (gconstpointer a, gconstpointer b)
else
return 0;
}
#endif /* 0 -- never used */
#if 0 /* never used -- remove if nobody wants it */
static void
find_next_cascade (MetaWindow *window,
MetaFrameGeometry *fgeom,
@@ -234,6 +237,7 @@ find_next_cascade (MetaWindow *window,
*new_y = cascade_y + fgeom->top_height;
}
}
#endif /* 0 -- never used */
static void
find_most_freespace (MetaWindow *window,

File diff suppressed because it is too large Load Diff

View File

@@ -535,7 +535,12 @@ meta_screen_new (MetaDisplay *display,
screen->wm_sn_selection_window = new_wm_sn_owner;
screen->wm_sn_atom = wm_sn_atom;
screen->wm_sn_timestamp = manager_timestamp;
#ifdef HAVE_COMPOSITE_EXTENSIONS
screen->wm_cm_selection_window = meta_create_offscreen_window (xdisplay,
xroot,
NoEventMask);
#endif
screen->work_area_idle = 0;
screen->active_workspace = NULL;
@@ -807,9 +812,23 @@ meta_screen_manage_all_windows (MetaScreen *screen)
for (list = windows; list != NULL; list = list->next)
{
WindowInfo *info = list->data;
MetaWindow *window;
meta_window_new_with_attrs (screen->display, info->xwindow, TRUE,
&info->attrs);
window = meta_window_new_with_attrs (screen->display, info->xwindow, TRUE,
&info->attrs);
if (info->xwindow == screen->no_focus_window ||
info->xwindow == screen->flash_window ||
#ifdef HAVE_COMPOSITE_EXTENSIONS
info->xwindow == screen->wm_cm_selection_window ||
#endif
info->xwindow == screen->wm_sn_selection_window) {
meta_verbose ("Not managing our own windows\n");
continue;
}
if (screen->display->compositor)
meta_compositor_add_window (screen->display->compositor, window,
info->xwindow, &info->attrs);
}
meta_stack_thaw (screen->stack);
@@ -822,9 +841,12 @@ meta_screen_manage_all_windows (MetaScreen *screen)
void
meta_screen_composite_all_windows (MetaScreen *screen)
{
#ifdef HAVE_COMPOSITE_EXTENSIONS
MetaDisplay *display;
GList *windows, *list;
if (!screen->display->compositor)
display = screen->display;
if (!display->compositor)
return;
windows = list_windows (screen);
@@ -835,7 +857,17 @@ meta_screen_composite_all_windows (MetaScreen *screen)
{
WindowInfo *info = list->data;
meta_compositor_add_window (screen->display->compositor,
if (info->xwindow == screen->no_focus_window ||
info->xwindow == screen->flash_window ||
info->xwindow == screen->wm_sn_selection_window ||
info->xwindow == screen->wm_cm_selection_window) {
meta_verbose ("Not managing our own windows\n");
continue;
}
meta_compositor_add_window (display->compositor,
meta_display_lookup_x_window (display,
info->xwindow),
info->xwindow, &info->attrs);
}
@@ -843,6 +875,7 @@ meta_screen_composite_all_windows (MetaScreen *screen)
g_list_foreach (windows, (GFunc)g_free, NULL);
g_list_free (windows);
#endif
}
MetaScreen*
@@ -1215,6 +1248,49 @@ meta_screen_update_cursor (MetaScreen *screen)
XFreeCursor (screen->display->xdisplay, xcursor);
}
#define MAX_PREVIEW_SIZE 150.0
static GdkPixbuf *
get_window_pixbuf (MetaWindow *window,
int *width,
int *height)
{
Pixmap pmap;
GdkPixbuf *pixbuf, *scaled;
double ratio;
pmap = meta_compositor_get_window_pixmap (window->display->compositor,
window);
if (pmap == None)
return NULL;
pixbuf = meta_ui_get_pixbuf_from_pixmap (pmap);
if (pixbuf == NULL)
return NULL;
*width = gdk_pixbuf_get_width (pixbuf);
*height = gdk_pixbuf_get_height (pixbuf);
/* Scale pixbuf to max dimension MAX_PREVIEW_SIZE */
if (*width > *height)
{
ratio = ((double) *width) / MAX_PREVIEW_SIZE;
*width = (int) MAX_PREVIEW_SIZE;
*height = (int) (((double) *height) / ratio);
}
else
{
ratio = ((double) *height) / MAX_PREVIEW_SIZE;
*height = (int) MAX_PREVIEW_SIZE;
*width = (int) (((double) *width) / ratio);
}
scaled = gdk_pixbuf_scale_simple (pixbuf, *width, *height,
GDK_INTERP_BILINEAR);
g_object_unref (pixbuf);
return scaled;
}
void
meta_screen_ensure_tab_popup (MetaScreen *screen,
MetaTabList list_type,
@@ -1247,12 +1323,41 @@ meta_screen_ensure_tab_popup (MetaScreen *screen,
{
MetaWindow *window;
MetaRectangle r;
GdkPixbuf *win_pixbuf;
int width, height;
window = tmp->data;
entries[i].key = (MetaTabEntryKey) window->xwindow;
entries[i].title = window->title;
entries[i].icon = window->icon;
win_pixbuf = get_window_pixbuf (window, &width, &height);
if (win_pixbuf == NULL)
entries[i].icon = g_object_ref (window->icon);
else
{
int icon_width, icon_height, t_width, t_height;
#define ICON_OFFSET 6
icon_width = gdk_pixbuf_get_width (window->icon);
icon_height = gdk_pixbuf_get_height (window->icon);
t_width = width + ICON_OFFSET;
t_height = height + ICON_OFFSET;
entries[i].icon = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8,
t_width, t_height);
gdk_pixbuf_fill (entries[i].icon, 0x00000000);
gdk_pixbuf_copy_area (win_pixbuf, 0, 0, width, height,
entries[i].icon, 0, 0);
g_object_unref (win_pixbuf);
gdk_pixbuf_composite (window->icon, entries[i].icon,
t_width - icon_width, t_height - icon_height,
icon_width, icon_height,
t_width - icon_width, t_height - icon_height,
1.0, 1.0, GDK_INTERP_BILINEAR, 255);
}
entries[i].blank = FALSE;
entries[i].hidden = !meta_window_showing_on_its_workspace (window);
entries[i].demands_attention = window->wm_state_demands_attention;
@@ -1312,6 +1417,10 @@ meta_screen_ensure_tab_popup (MetaScreen *screen,
len,
5, /* FIXME */
TRUE);
for (i = 0; i < len; i++)
g_object_unref (entries[i].icon);
g_free (entries);
g_list_free (tab_list);
@@ -2146,7 +2255,7 @@ meta_screen_calc_workspace_layout (MetaScreen *screen,
if (i != grid_area)
meta_bug ("did not fill in the whole workspace grid in %s (%d filled)\n",
G_GNUC_FUNCTION, i);
G_STRFUNC, i);
current_row = 0;
current_col = 0;
@@ -2686,3 +2795,28 @@ meta_screen_apply_startup_properties (MetaScreen *screen,
return FALSE;
}
#ifdef HAVE_COMPOSITE_EXTENSIONS
void
meta_screen_set_cm_selection (MetaScreen *screen)
{
char selection[32];
Atom a;
g_snprintf (selection, sizeof(selection), "_NET_WM_CM_S%d", screen->number);
meta_verbose ("Setting selection: %s\n", selection);
a = XInternAtom (screen->display->xdisplay, selection, FALSE);
XSetSelectionOwner (screen->display->xdisplay, a,
screen->wm_cm_selection_window, CurrentTime);
}
void
meta_screen_unset_cm_selection (MetaScreen *screen)
{
char selection[32];
Atom a;
g_snprintf (selection, sizeof(selection), "_NET_WM_CM_S%d", screen->number);
a = XInternAtom (screen->display->xdisplay, selection, FALSE);
XSetSelectionOwner (screen->display->xdisplay, a, None, CurrentTime);
}
#endif /* HAVE_COMPOSITE_EXTENSIONS */

View File

@@ -102,7 +102,11 @@ struct _MetaScreen
GSList *startup_sequences;
guint startup_sequence_timeout;
#endif
#ifdef HAVE_COMPOSITE_EXTENSIONS
Window wm_cm_selection_window;
#endif
guint work_area_idle;
int rows_of_workspaces;
@@ -211,4 +215,9 @@ gboolean meta_screen_apply_startup_properties (MetaScreen *screen,
MetaWindow *window);
void meta_screen_composite_all_windows (MetaScreen *screen);
#ifdef HAVE_COMPOSITE_EXTENSIONS
void meta_screen_set_cm_selection (MetaScreen *screen);
void meta_screen_unset_cm_selection (MetaScreen *screen);
#endif
#endif

View File

@@ -625,15 +625,15 @@ test_regions_okay ()
/*************************************************************/
region = get_screen_region (3);
tmp = NULL;
tmp = g_list_prepend (tmp, new_meta_rect ( 380, 675, 420, 525)); // 220500
tmp = g_list_prepend (tmp, new_meta_rect ( 0, 20, 300, 1180)); // 354000
tmp = g_list_prepend (tmp, new_meta_rect ( 380, 20, 320, 1180)); // 377600
tmp = g_list_prepend (tmp, new_meta_rect ( 0, 675, 800, 475)); // 380000
tmp = g_list_prepend (tmp, new_meta_rect (1200, 20, 400, 1180)); // 472000
tmp = g_list_prepend (tmp, new_meta_rect ( 0, 675, 1600, 425)); // 680000
tmp = g_list_prepend (tmp, new_meta_rect ( 900, 20, 700, 1080)); // 756000
tmp = g_list_prepend (tmp, new_meta_rect ( 0, 20, 700, 1130)); // 791000
tmp = g_list_prepend (tmp, new_meta_rect ( 0, 20, 1600, 505)); // 808000
tmp = g_list_prepend (tmp, new_meta_rect ( 380, 675, 420, 525)); /* 220500 */
tmp = g_list_prepend (tmp, new_meta_rect ( 0, 20, 300, 1180)); /* 354000 */
tmp = g_list_prepend (tmp, new_meta_rect ( 380, 20, 320, 1180)); /* 377600 */
tmp = g_list_prepend (tmp, new_meta_rect ( 0, 675, 800, 475)); /* 380000 */
tmp = g_list_prepend (tmp, new_meta_rect (1200, 20, 400, 1180)); /* 472000 */
tmp = g_list_prepend (tmp, new_meta_rect ( 0, 675, 1600, 425)); /* 680000 */
tmp = g_list_prepend (tmp, new_meta_rect ( 900, 20, 700, 1080)); /* 756000 */
tmp = g_list_prepend (tmp, new_meta_rect ( 0, 20, 700, 1130)); /* 791000 */
tmp = g_list_prepend (tmp, new_meta_rect ( 0, 20, 1600, 505)); /* 808000 */
#if 0
printf ("Got to here...\n");
char region_list[(RECT_LENGTH+2) * g_list_length (region)];

View File

@@ -22,6 +22,9 @@
* 02111-1307, USA.
*/
#define _GNU_SOURCE
#define _POSIX_C_SOURCE /* for fdopen() */
#include <config.h>
#include "util.h"
#include "main.h"
@@ -131,10 +134,10 @@ meta_set_verbose (gboolean setting)
#ifndef WITH_VERBOSE_MODE
if (setting)
meta_fatal (_("Metacity was compiled without support for verbose mode\n"));
#endif
#else
if (setting)
ensure_logfile ();
#endif
is_verbose = setting;
}
@@ -148,9 +151,11 @@ meta_is_debugging (void)
void
meta_set_debugging (gboolean setting)
{
#ifdef WITH_VERBOSE_MODE
if (setting)
ensure_logfile ();
#endif
is_debugging = setting;
}
@@ -373,8 +378,12 @@ meta_bug (const char *format, ...)
str = g_strdup_vprintf (format, args);
va_end (args);
#ifdef WITH_VERBOSE_MODE
out = logfile ? logfile : stderr;
#else
out = stderr;
#endif
if (no_prefix == 0)
utf8_fputs (_("Bug in window manager: "), out);
utf8_fputs (str, out);
@@ -402,8 +411,12 @@ meta_warning (const char *format, ...)
str = g_strdup_vprintf (format, args);
va_end (args);
#ifdef WITH_VERBOSE_MODE
out = logfile ? logfile : stderr;
#else
out = stderr;
#endif
if (no_prefix == 0)
utf8_fputs (_("Window manager warning: "), out);
utf8_fputs (str, out);
@@ -426,8 +439,12 @@ meta_fatal (const char *format, ...)
str = g_strdup_vprintf (format, args);
va_end (args);
#ifdef WITH_VERBOSE_MODE
out = logfile ? logfile : stderr;
#else
out = stderr;
#endif
if (no_prefix == 0)
utf8_fputs (_("Window manager error: "), out);
utf8_fputs (str, out);

Some files were not shown because too many files have changed in this diff Show More