From 28a029a4990d2a84f9d6a0b890eba812ea503998 Mon Sep 17 00:00:00 2001 From: Perberos Date: Thu, 1 Dec 2011 23:52:01 -0300 Subject: moving from https://github.com/perberos/mate-desktop-environment --- doc/creating_themes/C/calstblx.dtd | 215 + doc/creating_themes/C/creating-marco-themes.xml | 286 + doc/creating_themes/C/dbcentx.mod | 384 + doc/creating_themes/C/dbgenent.mod | 41 + doc/creating_themes/C/dbhierx.mod | 2193 ++++++ doc/creating_themes/C/dbnotnx.mod | 101 + doc/creating_themes/C/dbpoolx.mod | 8701 +++++++++++++++++++++++ doc/creating_themes/C/docbookx.dtd | 170 + doc/creating_themes/C/htmltblx.mod | 245 + doc/creating_themes/C/soextblx.dtd | 321 + doc/creating_themes/Makefile.am | 24 + doc/creating_themes/Makefile.in | 981 +++ 12 files changed, 13662 insertions(+) create mode 100644 doc/creating_themes/C/calstblx.dtd create mode 100644 doc/creating_themes/C/creating-marco-themes.xml create mode 100644 doc/creating_themes/C/dbcentx.mod create mode 100644 doc/creating_themes/C/dbgenent.mod create mode 100644 doc/creating_themes/C/dbhierx.mod create mode 100644 doc/creating_themes/C/dbnotnx.mod create mode 100644 doc/creating_themes/C/dbpoolx.mod create mode 100644 doc/creating_themes/C/docbookx.dtd create mode 100644 doc/creating_themes/C/htmltblx.mod create mode 100644 doc/creating_themes/C/soextblx.dtd create mode 100644 doc/creating_themes/Makefile.am create mode 100644 doc/creating_themes/Makefile.in (limited to 'doc/creating_themes') diff --git a/doc/creating_themes/C/calstblx.dtd b/doc/creating_themes/C/calstblx.dtd new file mode 100644 index 00000000..fac58d77 --- /dev/null +++ b/doc/creating_themes/C/calstblx.dtd @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/creating_themes/C/creating-marco-themes.xml b/doc/creating_themes/C/creating-marco-themes.xml new file mode 100644 index 00000000..a2b6da7c --- /dev/null +++ b/doc/creating_themes/C/creating-marco-themes.xml @@ -0,0 +1,286 @@ + + + + + + + + Understanding Marco Themes + + + + Thomas + Thurman + + + + + + + We very much appreciate any reports of inaccuracies or other errors in + this document. Contributions are also most welcome. Post your + suggestions, critiques or addenda to the team. + + + + + 2008 + Thomas Thurman + + + + + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.2 + or any later version published by the Free Software Foundation; + with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. + You may obtain a copy of the GNU Free Documentation License from the Free Software Foundation by visiting their Web site or by writing to: Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + + + + + +Introduction + +This is an article about how to theme Marco. It is a work in progress, and I have had to dig deeply to find some answers; I may well have made mistakes and I welcome corrections and suggestions. +MATE lets you theme a bunch of different things, but we're only talking about window border themes here, which some people call Marco themes; Wikipedia begins a sentence with "Despite the incomplete state of Marco theme development documentation", and though there is documentation in the source, apparently not many people find it, and it's written more for programmers than theme designers. Glynn Foster also wrote a very good introduction to Marco themes ([de]) six years ago, but things have changed a little since then. Marco themes can also be used by Compiz, and perhaps by other window managers for all I know. + +So, a Marco theme is a set of instructions about how to "decorate" (draw the borders around) a window. Presumably you don't want to style all windows identically, so the format lets you specify details for different kinds of window: + + + + + state:Every window must be in exactly one of these states: normal, dialog, modal dialog (i.e. a dialogue which means you can't interact with the rest of the program while it's up), menu (torn off from the main application, not that people do that much these days), utility (that is, palettes and toolboxes and things), and border. X also allows a window to explicitly ask to be undecorated, but of course we don't provide for those in a list of decoration instructions. + + + focusedEvery window is either the active window (which X people call "focused"), or it isn't. + + + maximizedEvery window is either (fully) maximised (horizontal and vertical only don't count), or it isn't. + + + shadedEvery window is either rolled up to show just its titlebar (which techies call "shaded" for some reason I can't fathom), or it isn't. + + + + + + +If a window is not fully maximised and not shaded, it either allows horizontal resizing, or it doesn't. +If a window is not fully maximised and not shaded, it either allows vertical resizing, or it doesn't. + + + + + + +What's in the file + +The files must be called either + + + +~/.themes/N/marco-1/marco-theme-V.xml +for a theme used only by you, or +/usr/share/themes/N/marco-1/marco-theme-V.xml +for a theme installed for all users. + + + +where N is the name of the theme and V is the version of the format. Version 2, introduced in October 2006, adds a few extra features, but it's rarely used. Version 1 is the original format. The formats are fixed once they're stable for both backwards and forwards compatibility; new features can't be added without introducing a new version number, which is why improvements come out rarely and in large clumps. marco-1 in the names is a fossil and doesn't mean version 1 of anything. + +The marco-theme-V.xml files are GMarkup files, which are very similar to XML. For now, you actually have to write these in a text editor or something; you can either start with a blank page, or modify a theme someone else has made. (I am thinking of writing a general theme editor program, but that'll have to wait until I've reduced Marco's open bug queue a little.) If you want to see a fully-fledged one, you can look at the current version of "Atlanta", one of the simplest themes, but even that is quite complicated-looking at first. +So, let's talk about what actually goes inside the files. As in any XML file, <!-- … > are comments. At its most basic, it would go: + + + +<marco_theme> +<!-- Helper stuff: --> +<info …> <!-- to be explained --> +<constant …> <!-- maybe; to be explained --> + +<draw_ops …> <!-- maybe; to be explained --> + +<!-- Things we build the top level onto: --> +<frame_geometry …> <!-- to be explained --> + +<frame_style …> <!-- to be explained --> +<frame_style_set …> <!-- to be explained --> + +<!-- And the top level: --> + +<window type="normal" style_set="…" /> +<window type="dialog" style_set="…" /> +<window type="modal_dialog" style_set="…" /> + +<window type="menu" style_set="…" /> +<window type="utility" style_set="…" /> +<window type="border" style_set="…" /> + +</marco_theme> + + + + + + +Matching windows + + + + + windowYou see that at the top level we have a list of <window> tags, one for each window state we discussed above. The style_set argument of each of these gives the name of a frame_style_set. + + + frame_style_set:tells Marco how to draw windows according to whether they're focused or not, maximised or not, shaded or not, and allowing resizing vertically, horizontally, both, or neither. It looks like this: + + + + + + +<frame_style_set> +<frame focus="F" state="S" resize="R" style="N"/> +<frame… /> + +… +</frame_style_set> + + + +where: + + + + + Fis yes for focused, no for unfocused. + + + Scombines the shaded and maximized flags: normal, maximized, shaded, or maximized_and_shaded. + + + Rrepresents resize permissions that the window gives us: none, vertical, horizontal, or both. Frame settings for maximised windows, which can't be resized, don't have this attribute. + + + + + +N is the name of a frame_style to apply to a window which has these attributes. + +A frame_style_set tag may also have a "parent" tag, which should be the name of another frame_style_set. This means that if Marco wants to know about a kind of window which that frame_style_set doesn't describe, it should look in the parent. Most of the more complicated tags in Marco theme files also have a "parent" attribute which work the same way. This is particularly useful because, taken together, all the frame_style_sets in a theme file must be capable of matching every possible kind of window; if a window turns up that they can't match, there will be an error at runtime. + +Let's recap what we've seen so far. The combination of a window, which matches a window's state (normal, dialog, and so forth), with an entry in the corresponding frame_style_set, which matches its focus, shadedness, maximisedness, and resize permissions where relevant, will allow you to make a list of rules to match any window against. The next piece of this puzzle lets you specify what Marco should do with such windows once it's matched them. + + + + +Actually drawing stuff + +frame_style: This is probably the most complicated part of the whole system. A frame_style a series of pieces and buttons. It looks like this: + + + +<frame_style name="…" geometry="G"> +<piece position="P"> +<draw_ops> +</draw_ops> +</piece> +… +<button function="F" state="S" draw_ops="D"/> + +<draw_ops> +</draw_ops> +</button> +… +</frame_style> + + + +The pieces are pieces of the window frame. When Marco draws a window frame, it renders its various pieces always in the same order. The bolded parts are all the possible values of P: + + + +the entire_background, covering the whole frame + +the titlebar, covering the entire background of the titlebar +the titlebar_middle, the part of the titlebar that doesn't touch its edges +the left_titlebar_edge, right_titlebar_edge, top_titlebar_edge, and bottom_titlebar_edge + +the title, just exactly that area which is covered by the text on the titlebar +the left_edge, right_edge, and bottom_edge of the frame (yes, there is no top_edge: it's identical to top_titlebar_edge, isn't it?) +the overlay, which covers everything– the same as entire_background, but done last instead of first. + + + +What Marco draws in these pieces is decided by the theme. If a frame_style or its parents don't specify a particular piece, nothing will be drawn for that piece. You have two ways to specify what to draw: one is that the piece tag can have a draw_ops tag inside it which lists a sequence of drawing operations in Marco's custom format. You might ask why we don't use SVG; one answer is that SVG support wasn't very strong when this format was designed, and another answer is that these days you can use SVG all you like; just include it as an image and Marco will know what to do. + +An alternative to including a draw_ops tag inside a piece tag is to add a draw_ops attribute to the piece tag. Then you can add a draw_ops tag at top level (inside the marco_theme tag) with a name attribute, and Marco will use that. This is useful if you use similar draw_ops over and over. +I'm not going to document draw_ops at present, because this is already very long. I will write it up later and link it from here. +The button tag tells Marco how, but not where, to draw buttons. Buttons are drawn after all the pieces are finished, and the way to draw them is also given using draw_ops. You ought to provide buttons for all the possible kinds of button; if you don't give one it won't be drawn, which is unfortunate for the user who wants to use it: + + + +left_left_background, left_middle_background, and left_right_background don't represent buttons as such, but the background behind them, assuming there can be at most three buttons on the left. These days there can be more, so the extra ones also use left_middle_background. + +right_left_background, right_middle_background, and right_right_background similarly. +close, minimize, maximize are the obvious original three buttons. +menu is the menu button you can click to get a list of actions you can perform on the window. + +shade, above, stick are similar to the original buttons but only allowed in version 2 +unshade, unabove, unstick are the toggled versions of these buttons. Again, version 2 only. + + + + +The reason there are toggled versions of shade, above, and stick, and not maximize, is that by the time you get this far you've probably already decided whether you're drawing a maximised window. So if you are drawing a maximised window, you can make the button called "maximize" look how you want the restore button to be; otherwise, make it look like you want the maximise button to be. +For each button tag you should also set a "state" attribute; this time the state is either normal (the way you see it most of the time), pressed, or prelight (this makes the buttons subtly light up when you hover over them). You only really need "normal", but the others are good to have too. + +The "geometry" attribute of a frame_style tag is the name of a… + + + + +Geometry + +The geometry tag defines the sizes of things around the window. It is important, but not easy to explain, and again this file has gone on too long. I'll write it up later. + + + + +Other things which lie around a file + +The most important other thing in a theme file is the metadata held in the info tag. This contains a set of tags each of which contains some text explaining something about the theme itself, in a sort of Dublin Core sort of way. (Next time around, we should probably use the actual Dublin Core.) The tags are name, author, copyright, date, and description. + +Version 1 of the format had a menu_icon tag at top level, which let themes specify the icons beside options in the menu you get from the menu icon. This has become redundant; the icons are taken from the icon theme! The tag can still be used in all formats, but does nothing and is deprecated. +Version 2 of the format has a fallback tag at top level, which let the theme specify what icon a window should be considered to have if it doesn't provide an icon of its own. This should also be taken from the icon theme, if anyone fancies fixing it, and the tag should also then be deprecated. It shouldn't be hard. + + + + +When you're working on a theme + +When you're editing a theme, you can view it without using it on the whole desktop using +marco-theme-viewer YourThemeName +and view it on the whole desktop using +mateconftool --type=string --set /apps/marco/general/theme YourThemeName + +Whenever you change the selected theme in MateConf, Marco will load the newly-chosen theme. This is how control-center does it. But when you change a theme, as you're working on it, you might want to ask Marco to reload the theme which is currently used on the whole desktop to reflect your changes. You can do this using the little-known marco-message program, with the command marco-message reload-theme. This works by sending the ClientMessage _MARCO_RELOAD_THEME_MESSAGE to the root window, in case you're interested. + +Once you're done with your theme, consider submitting it to the art.mate.org site, or the mate-look site. + + + + +The future + +Please feel free to link to this so people don't have to keep asking the basic questions and can start asking the deeper ones. One of the important deeper ones is: where should we go in the future? Since this format is becoming something of a de facto standard between window managers, should we set up some kind of freedesktop.org standards discussion? Would it be useful to spin off Marco's theme parsing code into a separate, LGPL-licensed library so that other applications could use it more easily? +What would a version 3 of this format look like? Could we simplify the window / frame_style_set system? (I can imagine abolishing both, and being able to write <frame_style for="normal+unfocused+maximized">… and having Marco assume it applied to all resize permissions and shadednesses.) Maybe we should try to do everything with SVG we can? Getting more wild and handwavey, is it worth keeping XML-like? Maybe if other window managers were dealing with the files, .ini-style files would be more universally useful? Or perhaps not. And then of course we need a decent graphical editor for it. I have a few ideas, but if anyone fancies jumping in... + + + + + diff --git a/doc/creating_themes/C/dbcentx.mod b/doc/creating_themes/C/dbcentx.mod new file mode 100644 index 00000000..60de99f8 --- /dev/null +++ b/doc/creating_themes/C/dbcentx.mod @@ -0,0 +1,384 @@ + + + + + + + + + + + + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/creating_themes/C/dbgenent.mod b/doc/creating_themes/C/dbgenent.mod new file mode 100644 index 00000000..ff5ba90d --- /dev/null +++ b/doc/creating_themes/C/dbgenent.mod @@ -0,0 +1,41 @@ + + + + + + + + + + + diff --git a/doc/creating_themes/C/dbhierx.mod b/doc/creating_themes/C/dbhierx.mod new file mode 100644 index 00000000..5f839f56 --- /dev/null +++ b/doc/creating_themes/C/dbhierx.mod @@ -0,0 +1,2193 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +%rdbhier; +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +%rdbhier2; +]]> + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + +]]> + + + + + + +]]> +]]> +]]> + + + + + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + +]]> + + + + + + +]]> +]]> +]]> + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + + + + +]]> +]]> +]]> + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + + + +]]> +]]> +]]> + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + +]]> + + + +]]> + +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> + +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> + + + + + + + +]]> + + + +]]> + + + + + + + +]]> + + + +]]> + + + + + + + +]]> + + + +]]> + + + + + + + +]]> + + + +]]> + + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> +]]> + + + + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> +]]> + + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> +]]> + + + + + + + + + + + + +]]> + + + +]]> + + + + +]]> + + + +]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + + + +]]> + + + + +]]> + + + + + +]]> + + + + +]]> + + + + + +]]> + +]]> + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + +]]> + + + + + + +]]> +]]> +]]> + + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> +]]> + + + + + + + + + + + + + +]]> + + + + + + + +]]> +]]> + + + diff --git a/doc/creating_themes/C/dbnotnx.mod b/doc/creating_themes/C/dbnotnx.mod new file mode 100644 index 00000000..2416049b --- /dev/null +++ b/doc/creating_themes/C/dbnotnx.mod @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/creating_themes/C/dbpoolx.mod b/doc/creating_themes/C/dbpoolx.mod new file mode 100644 index 00000000..53b07044 --- /dev/null +++ b/doc/creating_themes/C/dbpoolx.mod @@ -0,0 +1,8701 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +%rdbpool; +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> +]]> + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> +]]> + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> +]]> + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + + + + + +]]> +]]> + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + +]]> + + + + + + +]]> +]]> +]]> + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> +]]> + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> + +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + +]]> + + + +]]> + + + + + +]]> + + + +]]> + + + + + +]]> + + + +]]> + + + + +]]> + + + +]]> + + + + + +]]> + + + +]]> + +]]> + + + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + +]]> + + + + + + +]]> +]]> +]]> + + + + + + + + + + + +]]> + + + + + + + +]]> +]]> + + + + + + + + + +]]> + + + + + + + + + +]]> +]]> + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> +]]> + + + + + + + + + + + +]]> + + + + + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> +]]> + + + + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + +]]> + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + + + + +]]> +]]> +]]> + + + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> + +]]> + + + + + + + + + +]]> + + + + + + + +]]> +]]> + + + + + + + + +]]> + + + + + + + + + +]]> +]]> + + + + + + + + +]]> + + + + + + + +]]> +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> + +]]> + + + + + + + + +]]> + + + +]]> + + +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> +]]> + + + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + +]]> + + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> + + +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + + + + + + +]]> + + + + + + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + + + + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> +]]> + + + + + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + + + + + + + +%htmltbl; +]]> + + + + + + + + + + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + +]]> + +%tablemodel; + +]]> + + + + + + + + + + + + +]]> + + + + + + + + +]]> +]]> + + + + + + + + +]]> + + + + + + +]]> + + + + +]]> +]]> + + + + + + + + + + + + + +]]> + + + +]]> + + +]]> + + + + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + +]]> + + + + + + + +]]> +]]> + + + + + + + + +]]> + + + + + + + +]]> +]]> + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + +]]> + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + +]]> + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> +]]> + + + + + + + + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + + + + +]]> + + + +]]> + ]]> +]]> + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + + + + +]]> + + + +]]> + ]]> + + +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + +]]> + + + +]]> + +]]> + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + + +]]> + + + +]]> + ]]> + + + ]]> + + + + +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + + + + +]]> + + + +]]> + ]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + + +]]> + + + +]]> + ]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + +]]> + + + + +]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + +]]> + + + +]]> + +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + +]]> + + + +]]> + +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + + +]]> + + + +]]> + ]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> + ]]> + + +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + +]]> + + + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + +]]> + + + + + + + +]]> +]]> + + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + + + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + +]]> + + + +]]> +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + +]]> + + + + + +]]> +]]> + + + + + + + + +]]> + + + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + +]]> + + + + + + + + +]]> +]]> + + + + + + + + +]]> + + + + + + + + + +]]> +]]> + + + + + + + + +]]> + + + + + + + +]]> +]]> + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + +]]> + + + + + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + +]]> + + + + + + + +]]> +]]> + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + + + + +]]> + + + + + + + + + + +]]> +]]> + + + + + + + + + +]]> + + + + +]]> + + + + + +]]> + + + + +]]> + + + + + +]]> + + + + +]]> + +]]> + + + + + + + + +]]> + + + +]]> + + + + +]]> + + + +]]> +]]> +]]> + + + diff --git a/doc/creating_themes/C/docbookx.dtd b/doc/creating_themes/C/docbookx.dtd new file mode 100644 index 00000000..8b43c59b --- /dev/null +++ b/doc/creating_themes/C/docbookx.dtd @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + +]]> + + + + + + + + + +]]> +]]> + + + +]]> + + + +]]> + + + + + + +%dbnotn; +]]> + + + + + + + +]]> + +]]> +]]> + + +%dbcent; +]]> + + + + + + + + +%dbpool; +]]> + + + + + + +%rdbmods; +]]> + + + + + +%dbhier; +]]> + + + + + + +%dbgenent; +]]> + + + diff --git a/doc/creating_themes/C/htmltblx.mod b/doc/creating_themes/C/htmltblx.mod new file mode 100644 index 00000000..cdaefed4 --- /dev/null +++ b/doc/creating_themes/C/htmltblx.mod @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/creating_themes/C/soextblx.dtd b/doc/creating_themes/C/soextblx.dtd new file mode 100644 index 00000000..4a92e116 --- /dev/null +++ b/doc/creating_themes/C/soextblx.dtd @@ -0,0 +1,321 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/creating_themes/Makefile.am b/doc/creating_themes/Makefile.am new file mode 100644 index 00000000..b848256c --- /dev/null +++ b/doc/creating_themes/Makefile.am @@ -0,0 +1,24 @@ +### This part of Makefile.am can be customized by you. + +# mate-doc-utils standard variables: +include $(top_srcdir)/mate-doc-utils.make +dist-hook: doc-dist-hook + +# The name of the directory in /usr/share/mate/help/, +# and the name of the main .xml file: +DOC_MODULE = creating-marco-themes + +# The names of any files included via entity declarations. +DOC_ENTITIES = + +# The names of any files included by xincluded (preferred): +DOC_INCLUDES = + +# The names of any pictures: +DOC_FIGURES = + +# The names of any locales for which documentation translations exist: +DOC_LINGUAS = + + + diff --git a/doc/creating_themes/Makefile.in b/doc/creating_themes/Makefile.in new file mode 100644 index 00000000..86601c10 --- /dev/null +++ b/doc/creating_themes/Makefile.in @@ -0,0 +1,981 @@ +# Makefile.in generated by automake 1.11.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, +# Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +### This part of Makefile.am can be customized by you. + +# mate-doc-utils.make - make magic for building documentation +# Copyright (C) 2004-2005 Shaun McCance +# +# 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. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +################################################################################ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(top_srcdir)/mate-doc-utils.make +subdir = doc/creating_themes +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +SOURCES = +DIST_SOURCES = +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@ +ALL_CFLAGS = @ALL_CFLAGS@ +ALL_LIBS = @ALL_LIBS@ +ALL_LINGUAS = @ALL_LINGUAS@ +AMTAR = @AMTAR@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@ +DLLTOOL = @DLLTOOL@ +DOC_USER_FORMATS = @DOC_USER_FORMATS@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +GDK_PIXBUF_CSOURCE = @GDK_PIXBUF_CSOURCE@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ +GREP = @GREP@ +GTK_API_VERSION = @GTK_API_VERSION@ +HELP_DIR = @HELP_DIR@ +HOST_ALIAS = @HOST_ALIAS@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MARCO_CFLAGS = @MARCO_CFLAGS@ +MARCO_LIBS = @MARCO_LIBS@ +MARCO_MESSAGE_CFLAGS = @MARCO_MESSAGE_CFLAGS@ +MARCO_MESSAGE_LIBS = @MARCO_MESSAGE_LIBS@ +MARCO_WINDOW_DEMO_CFLAGS = @MARCO_WINDOW_DEMO_CFLAGS@ +MARCO_WINDOW_DEMO_LIBS = @MARCO_WINDOW_DEMO_LIBS@ +MATECONFTOOL = @MATECONFTOOL@ +MATECONF_SCHEMA_CONFIG_SOURCE = @MATECONF_SCHEMA_CONFIG_SOURCE@ +MATECONF_SCHEMA_FILE_DIR = @MATECONF_SCHEMA_FILE_DIR@ +MATEDIALOG = @MATEDIALOG@ +MATE_KEYBINDINGS_KEYSDIR = @MATE_KEYBINDINGS_KEYSDIR@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OMF_DIR = @OMF_DIR@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XMKMF = @XMKMF@ +X_CFLAGS = @X_CFLAGS@ +X_EXTRA_LIBS = @X_EXTRA_LIBS@ +X_LIBS = @X_LIBS@ +X_PRE_LIBS = @X_PRE_LIBS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +_clean_doc_header = $(if $(DOC_H_FILE),clean-doc-header) +_DOC_REAL_FORMATS = $(if $(DOC_USER_FORMATS),$(DOC_USER_FORMATS),$(DOC_FORMATS)) +_DOC_REAL_LINGUAS = $(if $(filter environment,$(origin LINGUAS)), \ + $(filter $(LINGUAS),$(DOC_LINGUAS)), \ + $(DOC_LINGUAS)) + +_DOC_ABS_SRCDIR = @abs_srcdir@ +_xml2po_mode = $(if $(DOC_ID),mallard,docbook) +@ENABLE_SK_TRUE@_ENABLE_SK = true + +################################################################################ +db2omf_args = \ + --stringparam db2omf.basename $(DOC_MODULE) \ + --stringparam db2omf.format $(3) \ + --stringparam db2omf.dtd \ + $(shell xmllint --format $(2) | grep -h PUBLIC | head -n 1 \ + | sed -e 's/.*PUBLIC \(\"[^\"]*\"\).*/\1/') \ + --stringparam db2omf.lang $(notdir $(patsubst %/$(notdir $(2)),%,$(2))) \ + --stringparam db2omf.omf_dir "$(OMF_DIR)" \ + --stringparam db2omf.help_dir "$(HELP_DIR)" \ + --stringparam db2omf.omf_in "$(_DOC_OMF_IN)" \ + $(if $(_ENABLE_SK), \ + --stringparam db2omf.scrollkeeper_cl "$(_skcontentslist)") \ + $(_db2omf) $(2) + +_DOC_OMF_IN = $(if $(DOC_MODULE),$(wildcard $(_DOC_ABS_SRCDIR)/$(DOC_MODULE).omf.in)) +_DOC_OMF_DB = $(if $(_DOC_OMF_IN), \ + $(foreach lc,C $(_DOC_REAL_LINGUAS),$(DOC_MODULE)-$(lc).omf)) + +_DOC_OMF_HTML = $(if $(_DOC_OMF_IN), \ + $(foreach lc,C $(_DOC_REAL_LINGUAS),$(DOC_MODULE)-html-$(lc).omf)) + + +# FIXME +_DOC_OMF_ALL = \ + $(if $(filter docbook,$(_DOC_REAL_FORMATS)),$(_DOC_OMF_DB)) \ + $(if $(filter html HTML,$(_DOC_REAL_FORMATS)),$(_DOC_OMF_HTML)) + + +################################################################################ +_DOC_C_MODULE = $(if $(DOC_MODULE),C/$(DOC_MODULE).xml) +_DOC_C_PAGES = $(foreach page,$(DOC_PAGES),C/$(page)) +_DOC_C_ENTITIES = $(foreach ent,$(DOC_ENTITIES),C/$(ent)) +_DOC_C_INCLUDES = $(foreach inc,$(DOC_INCLUDES),C/$(inc)) +_DOC_C_DOCS = \ + $(_DOC_C_ENTITIES) $(_DOC_C_INCLUDES) \ + $(_DOC_C_PAGES) $(_DOC_C_MODULE) + +_DOC_C_DOCS_NOENT = \ + $(_DOC_C_MODULE) $(_DOC_C_INCLUDES) \ + $(_DOC_C_PAGES) + +_DOC_C_FIGURES = $(if $(DOC_FIGURES), \ + $(foreach fig,$(DOC_FIGURES),C/$(fig)), \ + $(patsubst $(srcdir)/%,%,$(wildcard $(srcdir)/C/figures/*.png))) + + +# FIXME: probably have to shell escape to determine the file names +_DOC_C_HTML = $(foreach f, \ + $(shell xsltproc --xinclude \ + --stringparam db.chunk.basename "$(DOC_MODULE)" \ + $(_chunks) "C/$(DOC_MODULE).xml"), \ + C/$(f).xhtml) + + +############################################################################### +_DOC_POFILES = $(if $(DOC_MODULE)$(DOC_ID), \ + $(foreach lc,$(_DOC_REAL_LINGUAS),$(lc)/$(lc).po)) + +_DOC_MOFILES = $(patsubst %.po,%.mo,$(_DOC_POFILES)) +_DOC_LC_MODULES = $(if $(DOC_MODULE), \ + $(foreach lc,$(_DOC_REAL_LINGUAS),$(lc)/$(DOC_MODULE).xml)) + +_DOC_LC_PAGES = \ + $(foreach lc,$(_DOC_REAL_LINGUAS),$(foreach page,$(_DOC_C_PAGES), \ + $(lc)/$(notdir $(page)) )) + +_DOC_LC_INCLUDES = \ + $(foreach lc,$(_DOC_REAL_LINGUAS),$(foreach inc,$(_DOC_C_INCLUDES), \ + $(lc)/$(notdir $(inc)) )) + + +# FIXME: probably have to shell escape to determine the file names +_DOC_LC_HTML = \ + $(foreach lc,$(_DOC_REAL_LINGUAS),$(foreach doc,$(_DOC_C_HTML), \ + $(lc)/$(notdir $(doc)) )) + +_DOC_LC_DOCS = \ + $(_DOC_LC_MODULES) $(_DOC_LC_INCLUDES) $(_DOC_LC_PAGES) \ + $(if $(filter html HTML,$(_DOC_REAL_FORMATS)),$(_DOC_LC_HTML)) + +_DOC_LC_FIGURES = $(foreach lc,$(_DOC_REAL_LINGUAS), \ + $(patsubst C/%,$(lc)/%,$(_DOC_C_FIGURES)) ) + +_DOC_SRC_FIGURES = \ + $(foreach fig,$(_DOC_C_FIGURES), $(foreach lc,C $(_DOC_REAL_LINGUAS), \ + $(wildcard $(srcdir)/$(lc)/$(patsubst C/%,%,$(fig))) )) + +_DOC_POT = $(if $(DOC_MODULE),$(DOC_MODULE).pot) + +################################################################################ +_DOC_HTML_ALL = $(if $(filter html HTML,$(_DOC_REAL_FORMATS)), \ + $(_DOC_C_HTML) $(_DOC_LC_HTML)) + +_DOC_HTML_TOPS = $(foreach lc,C $(_DOC_REAL_LINGUAS),$(lc)/$(DOC_MODULE).xhtml) +_clean_omf = $(if $(_DOC_OMF_IN),clean-doc-omf) +_clean_dsk = $(if $(_DOC_DSK_IN),clean-doc-dsk) +_clean_lc = $(if $(_DOC_REAL_LINGUAS),clean-doc-lc) +_clean_dir = $(if $(DOC_MODULE)$(DOC_ID),clean-doc-dir) +_doc_install_dir = $(if $(DOC_ID),$(DOC_ID),$(DOC_MODULE)) + +# The name of the directory in /usr/share/mate/help/, +# and the name of the main .xml file: +DOC_MODULE = creating-marco-themes + +# The names of any files included via entity declarations. +DOC_ENTITIES = + +# The names of any files included by xincluded (preferred): +DOC_INCLUDES = + +# The names of any pictures: +DOC_FIGURES = + +# The names of any locales for which documentation translations exist: +DOC_LINGUAS = +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/mate-doc-utils.make $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/creating_themes/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu doc/creating_themes/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$(top_distdir)" distdir="$(distdir)" \ + dist-hook +check-am: all-am +check: check-am +all-am: Makefile +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-local mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-local + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-data-local + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic \ + maintainer-clean-local + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool \ + mostlyclean-local + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-local + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + clean-local dist-hook distclean distclean-generic \ + distclean-libtool distclean-local distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-data-local install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic maintainer-clean-local mostlyclean \ + mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ + pdf-am ps ps-am uninstall uninstall-am uninstall-local + + +DOC_H_FILE ?= + +DOC_H_DOCS ?= + +$(DOC_H_FILE): $(DOC_H_DOCS); + @rm -f $@.tmp; touch $@.tmp; + echo 'const gchar* documentation_credits[] = {' >> $@.tmp + list='$(DOC_H_DOCS)'; for doc in $$list; do \ + xmlpath="`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`:$(srcdir)/`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`"; \ + if ! test -f "$$doc"; then doc="$(srcdir)/$$doc"; fi; \ + xsltproc --path "$$xmlpath" $(_credits) $$doc; \ + done | sort | uniq \ + | awk 'BEGIN{s=""}{n=split($$0,w,"<");if(s!=""&&s!=substr(w[1],1,length(w[1])-1)){print s};if(n>1){print $$0;s=""}else{s=$$0}};END{if(s!=""){print s}}' \ + | sed -e 's/\\/\\\\/' -e 's/"/\\"/' -e 's/\(.*\)/\t"\1",/' >> $@.tmp + echo ' NULL' >> $@.tmp + echo '};' >> $@.tmp + echo >> $@.tmp + list='$(DOC_H_DOCS)'; for doc in $$list; do \ + xmlpath="`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`:$(srcdir)/`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`"; \ + if ! test -f "$$doc"; then doc="$(srcdir)/$$doc"; fi; \ + docid=`echo "$$doc" | sed -e 's/.*\/\([^/]*\)\.xml/\1/' \ + | sed -e 's/[^a-zA-Z_]/_/g' | tr 'a-z' 'A-Z'`; \ + echo $$xmlpath; \ + ids=`xsltproc --xinclude --path "$$xmlpath" $(_ids) $$doc`; \ + for id in $$ids; do \ + echo '#define HELP_'`echo $$docid`'_'`echo $$id \ + | sed -e 's/[^a-zA-Z_]/_/g' | tr 'a-z' 'A-Z'`' "'$$id'"' >> $@.tmp; \ + done; \ + echo >> $@.tmp; \ + done; + cp $@.tmp $@ && rm -f $@.tmp + +dist-check-gdu: +@HAVE_MATE_DOC_UTILS_FALSE@ @echo "*** MATE Doc Utils must be installed in order to make dist" +@HAVE_MATE_DOC_UTILS_FALSE@ @false + +.PHONY: dist-doc-header +dist-doc-header: $(DOC_H_FILE) + @if test -f "$(DOC_H_FILE)"; then d=; else d="$(srcdir)/"; fi; \ + echo "$(INSTALL_DATA) $${d}$(DOC_H_FILE) $(distdir)/$(DOC_H_FILE)"; \ + $(INSTALL_DATA) "$${d}$(DOC_H_FILE)" "$(distdir)/$(DOC_H_FILE)"; + +doc-dist-hook: dist-check-gdu $(if $(DOC_H_FILE),dist-doc-header) + +.PHONY: clean-doc-header +clean-local: $(_clean_doc_header) +distclean-local: $(_clean_doc_header) +mostlyclean-local: $(_clean_doc_header) +maintainer-clean-local: $(_clean_doc_header) +clean-doc-header: + rm -f $(DOC_H_FILE) + +all: $(DOC_H_FILE) + +################################################################################ + +DOC_MODULE ?= + +DOC_ID ?= + +DOC_PAGES ?= + +DOC_ENTITIES ?= + +DOC_INCLUDES ?= + +DOC_FIGURES ?= + +DOC_FORMATS ?= docbook + +DOC_LINGUAS ?= + +################################################################################ + +_xml2po ?= `which xml2po` + +_db2html ?= `$(PKG_CONFIG) --variable db2html mate-doc-utils` +_db2omf ?= `$(PKG_CONFIG) --variable db2omf mate-doc-utils` +_malrng ?= `$(PKG_CONFIG) --variable malrng mate-doc-utils` +_chunks ?= `$(PKG_CONFIG) --variable xmldir mate-doc-utils`/mate/xslt/docbook/utils/chunks.xsl +_credits ?= `$(PKG_CONFIG) --variable xmldir mate-doc-utils`/mate/xslt/docbook/utils/credits.xsl +_ids ?= `$(PKG_CONFIG) --variable xmldir mate-doc-utils`/mate/xslt/docbook/utils/ids.xsl +@ENABLE_SK_TRUE@_skpkgdatadir ?= `scrollkeeper-config --pkgdatadir` +@ENABLE_SK_TRUE@_sklocalstatedir ?= `scrollkeeper-config --pkglocalstatedir` +@ENABLE_SK_TRUE@_skcontentslist ?= $(_skpkgdatadir)/Templates/C/scrollkeeper_cl.xml + +$(_DOC_OMF_DB) : $(_DOC_OMF_IN) +$(_DOC_OMF_DB) : $(DOC_MODULE)-%.omf : %/$(DOC_MODULE).xml + @test "x$(_ENABLE_SK)" != "xtrue" -o -f "$(_skcontentslist)" || { \ + echo "The file '$(_skcontentslist)' does not exist." >&2; \ + echo "Please check your ScrollKeeper installation." >&2; \ + exit 1; } + xsltproc -o $@ $(call db2omf_args,$@,$<,'docbook') || { rm -f "$@"; exit 1; } + +$(_DOC_OMF_HTML) : $(_DOC_OMF_IN) +$(_DOC_OMF_HTML) : $(DOC_MODULE)-html-%.omf : %/$(DOC_MODULE).xml +@ENABLE_SK_TRUE@ @test "x$(_ENABLE_SK)" != "xtrue" -o -f "$(_skcontentslist)" || { \ +@ENABLE_SK_TRUE@ echo "The file '$(_skcontentslist)' does not exist" >&2; \ +@ENABLE_SK_TRUE@ echo "Please check your ScrollKeeper installation." >&2; \ +@ENABLE_SK_TRUE@ exit 1; } + xsltproc -o $@ $(call db2omf_args,$@,$<,'xhtml') || { rm -f "$@"; exit 1; } + +.PHONY: omf +omf: $(_DOC_OMF_ALL) + +.PHONY: po +po: $(_DOC_POFILES) + +.PHONY: mo +mo: $(_DOC_MOFILES) + +$(_DOC_POFILES): + @if ! test -d $(dir $@); then \ + echo "mkdir $(dir $@)"; \ + mkdir "$(dir $@)"; \ + fi + @if test ! -f $@ -a -f $(srcdir)/$@; then \ + echo "cp $(srcdir)/$@ $@"; \ + cp "$(srcdir)/$@" "$@"; \ + fi; + @docs=; \ + list='$(_DOC_C_DOCS_NOENT)'; for doc in $$list; do \ + docs="$$docs $(_DOC_ABS_SRCDIR)/$$doc"; \ + done; \ + if ! test -f $@; then \ + echo "(cd $(dir $@) && \ + $(_xml2po) -m $(_xml2po_mode) -e $$docs > $(notdir $@).tmp && \ + cp $(notdir $@).tmp $(notdir $@) && rm -f $(notdir $@).tmp)"; \ + (cd $(dir $@) && \ + $(_xml2po) -m $(_xml2po_mode) -e $$docs > $(notdir $@).tmp && \ + cp $(notdir $@).tmp $(notdir $@) && rm -f $(notdir $@).tmp); \ + else \ + echo "(cd $(dir $@) && \ + $(_xml2po) -m $(_xml2po_mode) -e -u $(notdir $@) $$docs)"; \ + (cd $(dir $@) && \ + $(_xml2po) -m $(_xml2po_mode) -e -u $(notdir $@) $$docs); \ + fi + +$(_DOC_MOFILES): %.mo: %.po + @if ! test -d $(dir $@); then \ + echo "mkdir $(dir $@)"; \ + mkdir "$(dir $@)"; \ + fi + msgfmt -o $@ $< + +# FIXME: fix the dependancy +# FIXME: hook xml2po up +$(_DOC_LC_DOCS) : $(_DOC_MOFILES) +$(_DOC_LC_DOCS) : $(_DOC_C_DOCS) + if ! test -d $(dir $@); then mkdir $(dir $@); fi + if [ -f "C/$(notdir $@)" ]; then d="../"; else d="$(_DOC_ABS_SRCDIR)/"; fi; \ + mo="$(dir $@)$(patsubst %/$(notdir $@),%,$@).mo"; \ + if [ -f "$${mo}" ]; then mo="../$${mo}"; else mo="$(_DOC_ABS_SRCDIR)/$${mo}"; fi; \ + (cd $(dir $@) && \ + $(_xml2po) -m $(_xml2po_mode) -e -t "$${mo}" \ + "$${d}C/$(notdir $@)" > $(notdir $@).tmp && \ + cp $(notdir $@).tmp $(notdir $@) && rm -f $(notdir $@).tmp) +.PHONY: pot +pot: $(_DOC_POT) +$(_DOC_POT): $(_DOC_C_DOCS_NOENT) + $(_xml2po) -m $(_xml2po_mode) -e -o $@ $^ + +$(_DOC_HTML_TOPS): $(_DOC_C_DOCS) $(_DOC_LC_DOCS) + xsltproc -o $@ --xinclude --param db.chunk.chunk_top "false()" --stringparam db.chunk.basename "$(DOC_MODULE)" --stringparam db.chunk.extension ".xhtml" $(_db2html) $(patsubst %.xhtml,%.xml,$@) + +################################################################################ + +all: \ + $(_DOC_C_DOCS) $(_DOC_LC_DOCS) \ + $(_DOC_OMF_ALL) $(_DOC_DSK_ALL) \ + $(_DOC_HTML_ALL) $(_DOC_POFILES) + +################################################################################ + +.PHONY: clean-doc-omf clean-doc-dsk clean-doc-lc clean-doc-dir + +clean-doc-omf: ; rm -f $(_DOC_OMF_DB) $(_DOC_OMF_HTML) +clean-doc-dsk: ; rm -f $(_DOC_DSK_DB) $(_DOC_DSK_HTML) +clean-doc-lc: + rm -f $(_DOC_LC_DOCS) + rm -f $(_DOC_MOFILES) + @list='$(_DOC_POFILES)'; for po in $$list; do \ + if ! test "$$po" -ef "$(srcdir)/$$po"; then \ + echo "rm -f $$po"; \ + rm -f "$$po"; \ + fi; \ + done +# .xml2.po.mo cleaning is obsolete as of 0.18.1 and could be removed in 0.20.x + @for lc in C $(_DOC_REAL_LINGUAS); do \ + if test -f "$$lc/.xml2po.mo"; then \ + echo "rm -f $$lc/.xml2po.mo"; \ + rm -f "$$lc/.xml2po.mo"; \ + fi; \ + done +clean-doc-dir: clean-doc-lc + @for lc in C $(_DOC_REAL_LINGUAS); do \ + for dir in `find $$lc -depth -type d`; do \ + if ! test $$dir -ef $(srcdir)/$$dir; then \ + echo "rmdir $$dir"; \ + rmdir "$$dir"; \ + fi; \ + done; \ + done + +clean-local: \ + $(_clean_omf) $(_clean_dsk) \ + $(_clean_lc) $(_clean_dir) +distclean-local: \ + $(_clean_omf) $(_clean_dsk) \ + $(_clean_lc) $(_clean_dir) +mostlyclean-local: \ + $(_clean_omf) $(_clean_dsk) \ + $(_clean_lc) $(_clean_dir) +maintainer-clean-local: \ + $(_clean_omf) $(_clean_dsk) \ + $(_clean_lc) $(_clean_dir) + +################################################################################ + +.PHONY: dist-doc-docs dist-doc-pages dist-doc-figs dist-doc-omf dist-doc-dsk +doc-dist-hook: \ + $(if $(DOC_MODULE)$(DOC_ID),dist-doc-docs) \ + $(if $(_DOC_C_FIGURES),dist-doc-figs) \ + $(if $(_DOC_OMF_IN),dist-doc-omf) +# $(if $(_DOC_DSK_IN),dist-doc-dsk) + +dist-doc-docs: $(_DOC_C_DOCS) $(_DOC_LC_DOCS) $(_DOC_POFILES) + @for lc in C $(_DOC_REAL_LINGUAS); do \ + echo " $(mkinstalldirs) $(distdir)/$$lc"; \ + $(mkinstalldirs) "$(distdir)/$$lc"; \ + done + @list='$(_DOC_C_DOCS) $(_DOC_LC_DOCS) $(_DOC_POFILES)'; \ + for doc in $$list; do \ + if test -f "$$doc"; then d=; else d="$(srcdir)/"; fi; \ + docdir=`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \ + if ! test -d "$(distdir)/$$docdir"; then \ + echo "$(mkinstalldirs) $(distdir)/$$docdir"; \ + $(mkinstalldirs) "$(distdir)/$$docdir"; \ + fi; \ + echo "$(INSTALL_DATA) $$d$$doc $(distdir)/$$doc"; \ + $(INSTALL_DATA) "$$d$$doc" "$(distdir)/$$doc"; \ + done + +dist-doc-figs: $(_DOC_SRC_FIGURES) + @list='$(_DOC_C_FIGURES) $(_DOC_LC_FIGURES)'; \ + for fig in $$list; do \ + if test -f "$$fig"; then d=; else d="$(srcdir)/"; fi; \ + if test -f "$$d$$fig"; then \ + figdir=`echo $$fig | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \ + if ! test -d "$(distdir)/$$figdir"; then \ + echo "$(mkinstalldirs) $(distdir)/$$figdir"; \ + $(mkinstalldirs) "$(distdir)/$$figdir"; \ + fi; \ + echo "$(INSTALL_DATA) $$d$$fig $(distdir)/$$fig"; \ + $(INSTALL_DATA) "$$d$$fig" "$(distdir)/$$fig"; \ + fi; \ + done; + +dist-doc-omf: + @if test -f "$(_DOC_OMF_IN)"; then d=; else d="$(srcdir)/"; fi; \ + echo "$(INSTALL_DATA) $$d$(_DOC_OMF_IN) $(distdir)/$(notdir $(_DOC_OMF_IN))"; \ + $(INSTALL_DATA) "$$d$(_DOC_OMF_IN)" "$(distdir)/$(notdir $(_DOC_OMF_IN))" + +dist-doc-dsk: + @if test -f "$(_DOC_DSK_IN)"; then d=; else d="$(srcdir)/"; fi; \ + echo "$(INSTALL_DATA) $$d$(_DOC_DSK_IN) $(distdir)/$(notdir $(_DOC_DSK_IN))"; \ + $(INSTALL_DATA) "$$d$(_DOC_DSK_IN)" "$(distdir)/$(notdir $(_DOC_DSK_IN))" + +################################################################################ + +.PHONY: check-doc-docs check-doc-omf +check: \ + $(if $(DOC_MODULE),check-doc-docs) \ + $(if $(DOC_ID),check-doc-pages) \ + $(if $(_DOC_OMF_IN),check-doc-omf) + +check-doc-docs: $(_DOC_C_DOCS) $(_DOC_LC_DOCS) + @for lc in C $(_DOC_REAL_LINGUAS); do \ + if test -f "$$lc"; \ + then d=; \ + xmlpath="$$lc"; \ + else \ + d="$(srcdir)/"; \ + xmlpath="$$lc:$(srcdir)/$$lc"; \ + fi; \ + echo "xmllint --noout --noent --path $$xmlpath --xinclude --postvalid $$d$$lc/$(DOC_MODULE).xml"; \ + xmllint --noout --noent --path "$$xmlpath" --xinclude --postvalid "$$d$$lc/$(DOC_MODULE).xml"; \ + done + +check-doc-pages: $(_DOC_C_PAGES) $(_DOC_LC_PAGES) + for lc in C $(_DOC_REAL_LINGUAS); do \ + if test -f "$$lc"; \ + then d=; \ + xmlpath="$$lc"; \ + else \ + d="$(srcdir)/"; \ + xmlpath="$$lc:$(srcdir)/$$lc"; \ + fi; \ + for page in $(DOC_PAGES); do \ + echo "xmllint --noout --noent --path $$xmlpath --xinclude --relaxng $(_malrng) $$d$$lc/$$page"; \ + xmllint --noout --noent --path "$$xmlpath" --xinclude --relaxng "$(_malrng)" "$$d$$lc/$$page"; \ + done; \ + done + +check-doc-omf: $(_DOC_OMF_ALL) + @list='$(_DOC_OMF_ALL)'; for omf in $$list; do \ + echo "xmllint --noout --xinclude --dtdvalid 'http://scrollkeeper.sourceforge.net/dtds/scrollkeeper-omf-1.0/scrollkeeper-omf.dtd' $$omf"; \ + xmllint --noout --xinclude --dtdvalid 'http://scrollkeeper.sourceforge.net/dtds/scrollkeeper-omf-1.0/scrollkeeper-omf.dtd' $$omf; \ + done + +################################################################################ + +.PHONY: install-doc-docs install-doc-html install-doc-figs install-doc-omf install-doc-dsk + +install-data-local: \ + $(if $(DOC_MODULE)$(DOC_ID),install-doc-docs) \ + $(if $(_DOC_HTML_ALL),install-doc-html) \ + $(if $(_DOC_C_FIGURES),install-doc-figs) \ + $(if $(_DOC_OMF_IN),install-doc-omf) +# $(if $(_DOC_DSK_IN),install-doc-dsk) + +install-doc-docs: + @for lc in C $(_DOC_REAL_LINGUAS); do \ + echo "$(mkinstalldirs) $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$lc"; \ + $(mkinstalldirs) $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$lc; \ + done + @list='$(_DOC_C_DOCS) $(_DOC_LC_DOCS)'; for doc in $$list; do \ + if test -f "$$doc"; then d=; else d="$(srcdir)/"; fi; \ + docdir="$$lc/"`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \ + docdir="$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$docdir"; \ + if ! test -d "$$docdir"; then \ + echo "$(mkinstalldirs) $$docdir"; \ + $(mkinstalldirs) "$$docdir"; \ + fi; \ + echo "$(INSTALL_DATA) $$d$$doc $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \ + $(INSTALL_DATA) $$d$$doc $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc; \ + done + +install-doc-figs: + @list='$(patsubst C/%,%,$(_DOC_C_FIGURES))'; for fig in $$list; do \ + for lc in C $(_DOC_REAL_LINGUAS); do \ + figsymlink=false; \ + if test -f "$$lc/$$fig"; then \ + figfile="$$lc/$$fig"; \ + elif test -f "$(srcdir)/$$lc/$$fig"; then \ + figfile="$(srcdir)/$$lc/$$fig"; \ + else \ + figsymlink=true; \ + fi; \ + figdir="$$lc/"`echo $$fig | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \ + figdir="$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$figdir"; \ + if ! test -d "$$figdir"; then \ + echo "$(mkinstalldirs) $$figdir"; \ + $(mkinstalldirs) "$$figdir"; \ + fi; \ + figbase=`echo $$fig | sed -e 's/^.*\///'`; \ + if $$figsymlink; then \ + echo "cd $$figdir && $(LN_S) -f ../../C/$$fig $$figbase"; \ + ( cd "$$figdir" && $(LN_S) -f "../../C/$$fig" "$$figbase" ); \ + else \ + echo "$(INSTALL_DATA) $$figfile $$figdir$$figbase"; \ + $(INSTALL_DATA) "$$figfile" "$$figdir$$figbase"; \ + fi; \ + done; \ + done + +install-doc-html: + echo install-html + +install-doc-omf: + $(mkinstalldirs) $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir) + @list='$(_DOC_OMF_ALL)'; for omf in $$list; do \ + echo "$(INSTALL_DATA) $$omf $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \ + $(INSTALL_DATA) $$omf $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf; \ + done + @if test "x$(_ENABLE_SK)" = "xtrue"; then \ + echo "scrollkeeper-update -p $(DESTDIR)$(_sklocalstatedir) -o $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)"; \ + scrollkeeper-update -p "$(DESTDIR)$(_sklocalstatedir)" -o "$(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)"; \ + fi; + +install-doc-dsk: + echo install-dsk + +################################################################################ + +.PHONY: uninstall-doc-docs uninstall-doc-html uninstall-doc-figs uninstall-doc-omf uninstall-doc-dsk +uninstall-local: \ + $(if $(DOC_MODULE)$(DOC_ID),uninstall-doc-docs) \ + $(if $(_DOC_HTML_ALL),uninstall-doc-html) \ + $(if $(_DOC_C_FIGURES),uninstall-doc-figs) \ + $(if $(_DOC_OMF_IN),uninstall-doc-omf) +# $(if $(_DOC_DSK_IN),uninstall-doc-dsk) + +uninstall-doc-docs: + @list='$(_DOC_C_DOCS) $(_DOC_LC_DOCS)'; for doc in $$list; do \ + echo " rm -f $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \ + rm -f "$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \ + done + +uninstall-doc-figs: + @list='$(_DOC_C_FIGURES) $(_DOC_LC_FIGURES)'; for fig in $$list; do \ + echo "rm -f $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$fig"; \ + rm -f "$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$fig"; \ + done; + +uninstall-doc-omf: + @list='$(_DOC_OMF_ALL)'; for omf in $$list; do \ + if test "x$(_ENABLE_SK)" = "xtrue"; then \ + echo "scrollkeeper-uninstall -p $(_sklocalstatedir) $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \ + scrollkeeper-uninstall -p "$(_sklocalstatedir)" "$(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \ + fi; \ + echo "rm -f $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \ + rm -f "$(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \ + done + +# mate-doc-utils standard variables: +dist-hook: doc-dist-hook + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: -- cgit v1.2.1