rpms/WindowMaker/devel WPrefs-uk.po, NONE, 1.1 WindowMaker-0.80.2-cvs-alt-textfield.patch, NONE, 1.1 WindowMaker-0.91.0-alt-adialog.patch, NONE, 1.1 WindowMaker-0.91.0-alt-clipnotext.patch, NONE, 1.1 WindowMaker-0.91.0-alt-dockhotkeys.patch, NONE, 1.1 WindowMaker-0.91.0-alt-focus.patch, NONE, 1.1 WindowMaker-0.91.0-alt-menutrans.patch, NONE, 1.1 WindowMaker-0.91.0-alt-mmx.patch, NONE, 1.1 WindowMaker-0.91.0-alt-restartscrpt.patch, NONE, 1.1 WindowMaker-0.91.0-alt-session.patch, NONE, 1.1 WindowMaker-0.91.0-alt-sowings.patch, NONE, 1.1 WindowMaker-0.91.0-alt-titlebar.patch, NONE, 1.1 WindowMaker-0.91.0-alt-vlaad-newbuttons.patch, NONE, 1.1 WindowMaker-0.91.0-alt-vlaad-trance.patch, NONE, 1.1 WindowMaker-0.91.0-hmepas-minimizeall.patch, NONE, 1.1 WindowMaker-0.91.0-hmepas-swmenu_rclick.patch, NONE, 1.1 WindowMaker-0.91.0-peter-appicon-bouncer2.patch, NONE, 1.1 WindowMaker-0.91.0-peter-mouse-placement.patch, NONE, 1.1 WindowMaker-0.91.0-peter-newappicon.patch, NONE, 1.1 WindowMaker-0.91.0-sga-moving-add.patch, NONE, 1.1 WindowMaker-0.91.0-sga-swpanel-customization.patch, NONE, 1.1 WindowMaker-0.91.0-wmcontrib-singleclick.patch, NONE, 1.1 WindowMaker-0.92.0-alt-newpo.patch, NONE, 1.1 WindowMaker-0.92.0-cvs20060123.patch, NONE, 1.1 WindowMaker-README.newbuttons, NONE, 1.1 WindowMaker-gcc41.patch, NONE, 1.1 WindowMaker-newbuttons.nextstyle.tiff, NONE, 1.1 WindowMaker-newbuttons.nextstyle.xpm, NONE, 1.1 WindowMaker-newbuttons.oldstyle.tiff, NONE, 1.1 WindowMaker-uk.po, NONE, 1.1 .cvsignore, 1.4, 1.5 WindowMaker.spec, 1.16, 1.17 sources, 1.4, 1.5 windowmaker-gcc4-x86_64.patch, 1.2, NONE

Andreas Bierfert (awjb) fedora-extras-commits at redhat.com
Thu Mar 2 14:16:28 UTC 2006


Author: awjb

Update of /cvs/extras/rpms/WindowMaker/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv10102

Modified Files:
	.cvsignore WindowMaker.spec sources 
Added Files:
	WPrefs-uk.po WindowMaker-0.80.2-cvs-alt-textfield.patch 
	WindowMaker-0.91.0-alt-adialog.patch 
	WindowMaker-0.91.0-alt-clipnotext.patch 
	WindowMaker-0.91.0-alt-dockhotkeys.patch 
	WindowMaker-0.91.0-alt-focus.patch 
	WindowMaker-0.91.0-alt-menutrans.patch 
	WindowMaker-0.91.0-alt-mmx.patch 
	WindowMaker-0.91.0-alt-restartscrpt.patch 
	WindowMaker-0.91.0-alt-session.patch 
	WindowMaker-0.91.0-alt-sowings.patch 
	WindowMaker-0.91.0-alt-titlebar.patch 
	WindowMaker-0.91.0-alt-vlaad-newbuttons.patch 
	WindowMaker-0.91.0-alt-vlaad-trance.patch 
	WindowMaker-0.91.0-hmepas-minimizeall.patch 
	WindowMaker-0.91.0-hmepas-swmenu_rclick.patch 
	WindowMaker-0.91.0-peter-appicon-bouncer2.patch 
	WindowMaker-0.91.0-peter-mouse-placement.patch 
	WindowMaker-0.91.0-peter-newappicon.patch 
	WindowMaker-0.91.0-sga-moving-add.patch 
	WindowMaker-0.91.0-sga-swpanel-customization.patch 
	WindowMaker-0.91.0-wmcontrib-singleclick.patch 
	WindowMaker-0.92.0-alt-newpo.patch 
	WindowMaker-0.92.0-cvs20060123.patch 
	WindowMaker-README.newbuttons WindowMaker-gcc41.patch 
	WindowMaker-newbuttons.nextstyle.tiff 
	WindowMaker-newbuttons.nextstyle.xpm 
	WindowMaker-newbuttons.oldstyle.tiff WindowMaker-uk.po 
Removed Files:
	windowmaker-gcc4-x86_64.patch 
Log Message:
- fix #181981
- go to new cvs snapshot (which includes qt fix)
- add patches from altlinuxs rpm (suggested by Andrew Zabolotny)
- get rid of static libs (finally)
- tune configure
- add uk translation
- finally add extras source
- fix stack-smash while reading workspace names



--- NEW FILE WPrefs-uk.po ---
msgid ""
msgstr ""
"Project-Id-Version: WPrefs.app 0.80.1\n"
"POT-Creation-Date: 2002-02-18 10:15+0200\n"
"PO-Revision-Date: 2004-09-06 21:42+4000\n"
"Last-Translator: Victor Forsyuk <victor at ksi-linux.com>\n"
"Language-Team: KSI Linux Ukrainian <uk at ksi-linux.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=koi8-u\n"
"Content-Transfer-Encoding: 8bit\n"
"Date: 1999-05-31 19:29:53+0400\n"
"From: Victor Forsyuk,,,<victor at ksi-linux.com>\n"
"Xgettext-Options: --default-domain=WPrefs --add-comments --keyword=_\n"
"Files: ../../WPrefs.app/main.c ../../WPrefs.app/WPrefs.c "
"../../WPrefs.app/Appearance.c ../../WPrefs.app/Configurations.c "
"../../WPrefs.app/Expert.c ../../WPrefs.app/Focus.c ../../WPrefs.app/Icons.c "
"../../WPrefs.app/KeyboardSettings.c ../../WPrefs.app/KeyboardShortcuts.c "
"../../WPrefs.app/Menu.c ../../WPrefs.app/MenuPreferences.c "
"../../WPrefs.app/MouseSettings.c ../../WPrefs.app/NoMenuAlert.c "
"../../WPrefs.app/Paths.c ../../WPrefs.app/Preferences.c "
"../../WPrefs.app/Text.c ../../WPrefs.app/TexturePanel.c "
"../../WPrefs.app/Themes.c ../../WPrefs.app/WindowHandling.c "
"../../WPrefs.app/Workspace.c ../../WPrefs.app/double.c "
"../../WPrefs.app/editmenu.c ../../WPrefs.app/MenuGuru.c "
"../../WPrefs.app/xmodifier.c\n"

#: ../../WPrefs.app/Appearance.c:1131
msgid "Select File"
msgstr "÷ÉÂÅÒ¦ÔØ ÆÁÊÌ"

#: ../../WPrefs.app/Appearance.c:1533
msgid "Focused Window"
msgstr "áËÔÉ×ΊצËÎÏ"

#: ../../WPrefs.app/Appearance.c:1537
msgid "Unfocused Window"
msgstr "îÅÁËÔÉ×ΊצËÎÏ"

#: ../../WPrefs.app/Appearance.c:1541
msgid "Owner of Focused Window"
msgstr "÷ÌÁÓÎÉË ÁËÔÉ×ÎÏÇÏ ×¦ËÎÁ"

#: ../../WPrefs.app/Appearance.c:1545 ../../WPrefs.app/Appearance.c:1862
msgid "Menu Title"
msgstr "ûÁÐËÁ ÍÅÎÀ"

#: ../../WPrefs.app/Appearance.c:1549 ../../WPrefs.app/Appearance.c:1551
msgid "Normal Item"
msgstr "îÏÒÍ. ÐÕÎËÔ"

#: ../../WPrefs.app/Appearance.c:1555
msgid "Disabled Item"
msgstr "îÅÄÏÓÔÕÐÎÉÊ"

#: ../../WPrefs.app/Appearance.c:1564
msgid "Highlighted"
msgstr "ð¦ÄÓצÞÅÎÉÊ"

#: ../../WPrefs.app/Appearance.c:1755
msgid "Texture"
msgstr "ôÅËÓÔÕÒÁ"

#: ../../WPrefs.app/Appearance.c:1763
msgid "Titlebar of Focused Window"
msgstr "úÁÇÏÌÏ×ÏË ÁËÔÉ×ÎÏÇÏ ×¦ËÎÁ"

#: ../../WPrefs.app/Appearance.c:1764
msgid "Titlebar of Unfocused Windows"
msgstr "úÁÇÏÌÏ×ÏË ÎÅÁËÔÉ×ÎÉÈ ×¦ËÏÎ"

#: ../../WPrefs.app/Appearance.c:1765
msgid "Titlebar of Focused Window's Owner"
msgstr "úÁÇÏÌÏ×ÏË ×ÌÁÓÎÉËÁ ÁËÔÉ×ÎÏÇÏ ×¦ËÎÁ"

#: ../../WPrefs.app/Appearance.c:1766
msgid "Window Resizebar"
msgstr "óÍÕÖËÁ ÚͦÎÉ ÒÏÚͦÒÕ ×¦ËÎÁ"

#: ../../WPrefs.app/Appearance.c:1767
msgid "Titlebar of Menus"
msgstr "úÁÇÏÌÏ×ÏË ÍÅÎÀ"

#: ../../WPrefs.app/Appearance.c:1768
msgid "Menu Items"
msgstr "ðÕÎËÔÉ ÍÅÎÀ"

#: ../../WPrefs.app/Appearance.c:1769
msgid "Icon Background"
msgstr "æÏÎ ¦ËÏÎËÉ"

#: ../../WPrefs.app/Appearance.c:1784
msgid ""
"Double click in the texture you want to use\n"
"for the selected item."
msgstr ""
"úÒϦÔØ ÐÏÄצÊÎÉÊ ËÌ¦Ë ÎÁ ÔÅËÓÔÕÒ¦, ËÏÔÒÕ ÈÏÞÅÔÅ\n"
"×ÉËÏÒÉÓÔÁÔÉ ÄÌÑ ×ÉÂÒÁÎÏÇÏ ÅÌÅÍÅÎÔÕ."

#: ../../WPrefs.app/Appearance.c:1798
msgid "New"
msgstr "îÏ×Á"

#: ../../WPrefs.app/Appearance.c:1802
msgid "Create a new texture."
msgstr "óÔ×ÏÒÅÎÎÑ ÎÏ×ϧ ÔÅËÓÔÕÒÉ."

#: ../../WPrefs.app/Appearance.c:1810
msgid "Extract..."
msgstr "ä¦ÓÔÁÔÉ..."

#: ../../WPrefs.app/Appearance.c:1814
msgid "Extract texture(s) from a theme or a style file."
msgstr "ïÔÒÉÍÁÎÎÑ ÔÅËÓÔÕÒ(É) Ú ôÅÍÉ ÞÉ ÓÔÉÌØÏ×ÏÇÏ ÆÁÊÌÕ."

#: ../../WPrefs.app/Appearance.c:1824
msgid "Edit"
msgstr "úͦÎÉÔÉ"

#: ../../WPrefs.app/Appearance.c:1827
msgid "Edit the highlighted texture."
msgstr "òÅÄÁÇÕ×ÁÎÎÑ Ð¦ÄÓצÞÅÎϧ ÔÅËÓÔÕÒÉ."

#: ../../WPrefs.app/Appearance.c:1835 ../../WPrefs.app/TexturePanel.c:1316
msgid "Delete"
msgstr "÷ÉÄÁÌÉÔÉ"

#: ../../WPrefs.app/Appearance.c:1839
msgid "Delete the highlighted texture."
msgstr "÷ÉÄÁÌÅÎÎÑ Ð¦ÄÓצÞÅÎϧ ÔÅËÓÔÕÒÉ."

#: ../../WPrefs.app/Appearance.c:1852
msgid "Color"
msgstr "ëÏ̦Ò"

#: ../../WPrefs.app/Appearance.c:1859
msgid "Focused Window Title"
msgstr "úÁÇÏÌÏ×ÏË ÁËÔÉ×ÎÏÇÏ ×¦ËÎÁ"

#: ../../WPrefs.app/Appearance.c:1860
msgid "Unfocused Window Title"
msgstr "úÁÇÏÌÏ×ÏË ÎÅÁËÔÉ×ÎÉÈ ×¦ËÏÎ"

#: ../../WPrefs.app/Appearance.c:1861
msgid "Owner of Focused Window Title"
msgstr "úÁÇÏÌÏ×ÏË ×ÌÁÓÎÉËÁ ÁËÔÉ×ÎÏÇÏ ×¦ËÎÁ"

#: ../../WPrefs.app/Appearance.c:1863
msgid "Menu Item Text"
msgstr "ôÅËÓÔ ÐÕÎËÔÁ ÍÅÎÀ"

#: ../../WPrefs.app/Appearance.c:1864
msgid "Disabled Menu Item Text"
msgstr "ôÅËÓÔ ÎÅÄÏÓÔÕÐÎÏÇÏ ÐÕÎËÔÁ ÍÅÎÀ"

#: ../../WPrefs.app/Appearance.c:1865
msgid "Menu Highlight Color"
msgstr "ëÏÌ¦Ò Ð¦ÄÓצÔËÉ ÐÕÎËÔÁ ÍÅÎÀ"

#: ../../WPrefs.app/Appearance.c:1866
msgid "Highlighted Menu Text Color"
msgstr "ëÏÌ¦Ò ÔÅËÓÔÕ Ð¦ÄÓצÞÅÎÏÇÏ ÐÕÎËÔÕ"

#: ../../WPrefs.app/Appearance.c:1905
msgid "Background"
msgstr "æÏÎ"

#: ../../WPrefs.app/Appearance.c:1917 ../../WPrefs.app/TexturePanel.c:1503
msgid "Browse..."
msgstr "÷ÉÂÒÁÔÉ..."

#: ../../WPrefs.app/Appearance.c:1930
msgid "Options"
msgstr "ïÐæ§:"

#: ../../WPrefs.app/Appearance.c:1937
msgid "Menu Style"
msgstr "óÔÉÌØ ÍÅÎÀ"

#: ../../WPrefs.app/Appearance.c:1965 ../../WPrefs.app/Configurations.c:242
#: ../../WPrefs.app/Configurations.c:254 ../../WPrefs.app/Focus.c:288
#: ../../WPrefs.app/Focus.c:299 ../../WPrefs.app/MenuPreferences.c:134
#: ../../WPrefs.app/MenuPreferences.c:145
#: ../../WPrefs.app/MenuPreferences.c:173
#: ../../WPrefs.app/MenuPreferences.c:188 ../../WPrefs.app/MouseSettings.c:560
#: ../../WPrefs.app/MouseSettings.c:571 ../../WPrefs.app/WPrefs.c:558
#: ../../WPrefs.app/WPrefs.c:583
#, c-format
msgid "could not load icon file %s"
msgstr "ÎÅ ×ÄÁ¤ÔØÓÑ ÚÁ×ÁÎÔÁÖÉÔÉ ÆÁÊÌ ¦ËÏÎËÉ %s"

#: ../../WPrefs.app/Appearance.c:1979
msgid "Title Alignment"
msgstr "úÁÇÏÌÏ×ÏË"

#: ../../WPrefs.app/Appearance.c:1986
msgid "Left"
msgstr "ì¦×ÏÒÕÞ"

#: ../../WPrefs.app/Appearance.c:1989 ../../WPrefs.app/TexturePanel.c:1517
[...1734 lines suppressed...]
msgid "Opaque Move"
msgstr "ðÒÏÚÏÒ¦ÓÔØ ÒÕÈÕ"

#: ../../WPrefs.app/WindowHandling.c:322
msgid ""
"Whether the window contents should be moved\n"
"when dragging windows aroung or if only a\n"
"frame should be displayed.\n"
msgstr ""
"ðÅÒÅͦÝÁÔÉ ×ͦÓÔ ×¦ËÎÁ ÐÒÉ ÂÕËÓÕ×ÁÎΦ\n"
"צËÏÎ ÞÉ ÐÏËÁÚÕ×ÁÔÉ Ô¦ÌØËÉ ÒÁÍËÕ.\n"

#: ../../WPrefs.app/WindowHandling.c:361
msgid "When maximizing..."
msgstr "ðÒÉ ÍÁËÓÉͦÚÁæ§..."

#: ../../WPrefs.app/WindowHandling.c:366
msgid "...do not cover icons"
msgstr "...ÎÅ ÐÏËÒÉ×ÁÔÉ ¦ËÏÎËÉ"

#: ../../WPrefs.app/WindowHandling.c:372
msgid "...do not cover dock"
msgstr "...ÎÅ ÐÏËÒÉ×ÁÔÉ äÏË"

#: ../../WPrefs.app/WindowHandling.c:381
msgid "Edge Resistance"
msgstr "ïÐ¦Ò ËÒÁ§×"

#: ../../WPrefs.app/WindowHandling.c:383
msgid ""
"Edge resistance will make windows `resist'\n"
"being moved further for the defined threshold\n"
"when moved against other windows or the edges\n"
"of the screen."
msgstr ""
"ãÅ ×ËÌÀÞÁ¤ `ÏЦÒ' צËÏÎ ÐÅÒÅͦÝÅÎÎÀ\n"
"ÚÁ ÐÅ×ÎÉÊ ÐÏÒ¦Ç ÐÒÉ ÐÅÒÅͦÝÅÎΦ ÐÏ×ÅÒÈ\n"
"¦ÎÛÉÈ ×¦ËÏÎ ÞÉ ÚÁ ÍÅÖ¦ ÅËÒÁÎÕ."

#: ../../WPrefs.app/WindowHandling.c:402
msgid "Resist"
msgstr "ïЦÒ"

#: ../../WPrefs.app/WindowHandling.c:407
msgid "Attract"
msgstr "ðÒÉÔÑÇ"

#: ../../WPrefs.app/WindowHandling.c:423
msgid ""
"Open dialogs in same workspace\n"
"as their owners"
msgstr ""
"÷¦ÄËÒÉ×ÁÔÉ Ä¦ÁÌÏÇÉ ÎÁ ÏÄÎÏÍÕ ÒÏÂÏÞÏÍÕ ÓÔÏ̦ Ú §È \"ÂÁÔØ˦×ÓØËÉÍ\" צËÎÏÍ"

#: ../../WPrefs.app/WindowHandling.c:450
msgid "Window Handling Preferences"
msgstr "îÁÓÔÒÏÊËÉ ×ÐÏÄÏÂÁÎØ ÒÏÂÏÔÉ Ú ×¦ËÎÁÍÉ"

#: ../../WPrefs.app/WindowHandling.c:452
msgid ""
"Window handling options. Initial placement style\n"
"edge resistance, opaque move etc."
msgstr ""
"ïÐæ§ ÒÏÂÏÔÉ Ú ×¦ËÎÁÍÉ. óÔÉÌØ ÐÏÞÁÔËÏ×ÏÇÏ ÒÏÚͦÝÅÎÎÑ,\n"
"ÏÐ¦Ò ËÒÁ§×, ÐÒÏÚÏÒ¦ÓÔØ ÐÅÒÅͦÝÅÎÎÑ ¦ ÔÏÍÕ ÐÏĦÂÎÅ."

#: ../../WPrefs.app/Workspace.c:176
msgid "Workspace Navigation"
msgstr "îÁצÇÁÃ¦Ñ ÐÏ ÒÏÂÏÞÉÍ ÓÔÏÌÁÍ"

#: ../../WPrefs.app/Workspace.c:183
msgid ""
"wrap to the first workspace after the\n"
"last workspace."
msgstr ""
"ÐÅÒÅÈÏÄÉÔÉ ÎÁ ÐÅÒÛÉÊ ÒÏÂÏÞÉÊ ÓÔ¦Ì ÐÒÉ\nÐÅÒÅÍÉËÁÎΦ ÚÁ ÏÓÔÁÎΦÊ."

#: ../../WPrefs.app/Workspace.c:205
msgid "switch workspaces while dragging windows."
msgstr "ÐÅÒÅÍÉËÁÔÉ ÒÏÂÏÞ¦ ÓÔÏÌÉ ÐÒÉ ÐÅÒÅÔÑÇÕ×ÁÎΦ\nÍ¦Ö ÎÉÍÉ ×¦ËÏÎ."

#: ../../WPrefs.app/Workspace.c:227
msgid "automatically create new workspaces."
msgstr "Á×ÔÏÍÁÔÉÞÎÏ ÓÔ×ÏÒÀ×ÁÔÉ ÎÏצ ÒÏÂÏÞ¦ ÓÔÏÌÉ."

#: ../../WPrefs.app/Workspace.c:250
msgid ""
"Position of workspace\n"
"name display"
msgstr ""
"ðÏÚÉÃ¦Ñ ÐÏËÁÚÕ ÎÁÚ×É\n"
"ÒÏÂÏÞÏÇÏ ÓÔÏÌÕ"

#: ../../WPrefs.app/Workspace.c:269
msgid "Disable"
msgstr "îÅ ÐÏËÁÚÕ×ÁÔÉ"

#: ../../WPrefs.app/Workspace.c:271
msgid "Top"
msgstr "ú×ÅÒÈÕ"

#: ../../WPrefs.app/Workspace.c:272
msgid "Bottom"
msgstr "úÎÉÚÕ"

#: ../../WPrefs.app/Workspace.c:273
msgid "Top/Left"
msgstr "ú×ÅÒÈÕ/ì¦×ÏÒÕÞ"

#: ../../WPrefs.app/Workspace.c:274
msgid "Top/Right"
msgstr "ú×ÅÒÈÕ/ðÒÁ×ÏÒÕÞ"

#: ../../WPrefs.app/Workspace.c:275
msgid "Bottom/Left"
msgstr "úÎÉÚÕ/ì¦×ÏÒÕÞ"

#: ../../WPrefs.app/Workspace.c:276
msgid "Bottom/Right"
msgstr "úÎÉÚ/ÕðÒÁ×ÏÒÕÞ"

#: ../../WPrefs.app/Workspace.c:284
msgid "Dock/Clip"
msgstr "äÏË/óËÒ¦ÐËÁ"

#: ../../WPrefs.app/Workspace.c:303
msgid ""
"Disable/enable the application Dock (the\n"
"vertical icon bar in the side of the screen)."
msgstr ""
"úÁÂÏÒÏÎÉÔÉ/ÄÏÚ×ÏÌÉÔÉ äÏË ÄÌÑ ÐÒÏÇÒÁÍ\n"
"(×ÅÒÔÉËÁÌØÎÁ ÓÍÕÖËÁ ¦ËÏÎÏË ÚÂÏËÕ ÅËÒÁÎÕ)."

#: ../../WPrefs.app/Workspace.c:324
msgid ""
"Disable/enable the Clip (that thing with\n"
"a paper clip icon)."
msgstr ""
"úÁÂÏÒÏÎÉÔÉ/ÄÏÚ×ÏÌÉÔÉ óËÒ¦ÐËÕ (Ë×ÁÄÒÁÔÉË Ú ¦ËÏÎËÏÀ\n"
"ÓËÒ¦ÐËÉ ÄÌÑ ÐÁÐÅÒ¦× ;)."

#: ../../WPrefs.app/Workspace.c:364
msgid "Workspace Preferences"
msgstr "îÁÓÔÒÏÊËÉ ×ÐÏÄÏÂÁÎØ ÄÌÑ ÒÏÂÏÞÏÇÏ ÓÔÏÌÕ"

#: ../../WPrefs.app/Workspace.c:366
msgid ""
"Workspace navigation features.\n"
"You can also enable/disable the Dock and Clip here."
msgstr ""
"îÁצÇÁÃ¦Ñ ÐÏ ÒÏÂÏÞÉÍ ÓÔÏÌÁÍ.\n"
"ôÕÔ ÔÁËÏÖ ÍÏÖÎÁ ÄÏÚ×ÏÌÉÔÉ/ÚÁÂÏÒÏÎÉÔÉ äÏË ÔÁ óËÒ¦ÐËÕ."

#: ../../WPrefs.app/imagebrowser.c:95
msgid "View"
msgstr ""

#: ../../WPrefs.app/main.c:59
#, c-format
msgid "usage: %s [options]\n"
msgstr "úÁÐÕÓË: %s [ÐÁÒÁÍÅÔÒÉ]\n"

#: ../../WPrefs.app/main.c:60
msgid "options:"
msgstr "ÐÁÒÁÍÅÔÒÉ:"

#: ../../WPrefs.app/main.c:61
msgid " -display <display>\tdisplay to be used"
msgstr " -display <ÄÉÓÐÌÅÊ>\tX ÄÉÓÐÌÅÊ ÄÌÑ ×ÉËÏÒÉÓÔÁÎÎÑ"

#: ../../WPrefs.app/main.c:62
msgid " --version\t\tprint version number and exit"
msgstr " --version\t\tÐÏËÁÚÁÔÉ ÎÏÍÅÒ ×ÅÒÓ¦§ ÔÁ ×ÉÊÔÉ"

#: ../../WPrefs.app/main.c:63
msgid " --help\t\tprint this message and exit"
msgstr " --help\t\tÐÏËÁÚÁÔÉ ÃÅ ÐÏצÄÏÍÌÅÎÎÑ ÔÁ ×ÉÊÔÉ"

#: ../../WPrefs.app/main.c:122
#, c-format
msgid "too few arguments for %s"
msgstr "ÎÁÄÔÏ ÍÁÌÏ ÁÒÇÕÍÅÎÔ¦× ÄÌÑ %s"

#: ../../WPrefs.app/main.c:141
msgid "X server does not support locale"
msgstr "X ÓÅÒ×ÅÒ ÎŠЦÄÔÒÉÍÕ¤ locale"

#: ../../WPrefs.app/main.c:144
msgid "cannot set locale modifiers"
msgstr "ÎÅ ×ÄÁ¤ÔØÓÑ ×ÓÔÁÎÏ×ÉÔÉ ÍÏÄÉƦËÁÔÏÒÉ ÌÏËÁ̦ÚÁæ§"

#: ../../WPrefs.app/main.c:150
#, c-format
msgid "could not open display %s"
msgstr "ÎÅ ×ÄÁ¤ÔØÓÑ ×¦ÄËÒÉÔÉ ÄÉÓÐÌÅÊ %s"

#: ../../WPrefs.app/main.c:158
msgid "could not initialize application"
msgstr "ÎÅ ×ÄÁ¤ÔØÓÑ ¦Î¦Ã¦Á̦ÚÕ×ÁÔÉ ÐÒÏÇÒÁÍÕ"


WindowMaker-0.80.2-cvs-alt-textfield.patch:

--- NEW FILE WindowMaker-0.80.2-cvs-alt-textfield.patch ---
--- WindowMaker-0.80.2/WINGs/WINGs/WINGs.h.textfield	2003-10-20 23:57:14 +0400
+++ WindowMaker-0.80.2/WINGs/WINGs/WINGs.h	2003-10-22 09:21:11 +0400
@@ -1154,6 +1154,8 @@
 
 void WMSetTextFieldCursorPosition(WMTextField *tPtr, unsigned int position);
 
+unsigned WMGetTextFieldCursorPosition(WMTextField *tPtr);
+
 void WMSetTextFieldNextTextField(WMTextField *tPtr, WMTextField *next);
 
 void WMSetTextFieldPrevTextField(WMTextField *tPtr, WMTextField *prev);
--- WindowMaker-0.80.2/WINGs/wtextfield.c.textfield	2003-10-20 23:57:14 +0400
+++ WindowMaker-0.80.2/WINGs/wtextfield.c	2003-10-22 09:20:31 +0400
@@ -617,6 +617,14 @@
     }
 }
 
+unsigned
+WMGetTextFieldCursorPosition(WMTextField *tPtr)
+{
+    CHECK_CLASS(tPtr, WC_TextField);
+
+    return tPtr->cursorPosition;
+}
+
 
 void
 WMSetTextFieldNextTextField(WMTextField *tPtr, WMTextField *next)

WindowMaker-0.91.0-alt-adialog.patch:

--- NEW FILE WindowMaker-0.91.0-alt-adialog.patch ---
--- WindowMaker-0.91.0/src/misc.c.vns	2005-05-18 18:08:11 +0400
+++ WindowMaker-0.91.0/src/misc.c	2005-05-18 18:11:20 +0400
@@ -607,96 +607,59 @@
 
 
 static char*
-getuserinput(WScreen *scr, char *line, int *ptr)
+parseuserinputpart(char *line, int *ptr, char *endchars)
 {
-    char *ret;
-    char *title;
-    char *prompt;
-    int j, state;
-    int begin = 0;
-#define BUFSIZE 512
-    char tbuffer[BUFSIZE], pbuffer[BUFSIZE];
-
-
-    title = _("Program Arguments");
-    prompt = _("Enter command arguments:");
-    ret = NULL;
-
-#define _STARTING 0
-#define _TITLE 1
-#define _PROMPT 2
-#define _DONE 3
-
-    state = _STARTING;
-    j = 0;
-    for (; line[*ptr]!=0 && state!=_DONE; (*ptr)++) {
-        switch (state) {
-        case _STARTING:
-            if (line[*ptr]=='(') {
-                state = _TITLE;
-                begin = *ptr+1;
-            } else {
-                state = _DONE;
-            }
-            break;
-
-        case _TITLE:
-            if (j <= 0 && line[*ptr]==',') {
-
-                j = 0;
-                if (*ptr > begin) {
-                    strncpy(tbuffer, &line[begin], WMIN(*ptr-begin, BUFSIZE));
-                    tbuffer[WMIN(*ptr-begin, BUFSIZE)] = 0;
-                    title = (char*)tbuffer;
-                }
-                begin = *ptr+1;
-                state = _PROMPT;
-
-            } else if (j <= 0 && line[*ptr]==')') {
-
-                if (*ptr > begin) {
-                    strncpy(tbuffer, &line[begin], WMIN(*ptr-begin, BUFSIZE));
-                    tbuffer[WMIN(*ptr-begin, BUFSIZE)] = 0;
-                    title = (char*)tbuffer;
-                }
-                state = _DONE;
-
-            } else if (line[*ptr]=='(') {
-                j++;
-            } else if (line[*ptr]==')') {
-                j--;
-            }
-
-            break;
+	int depth = 0, begin;
+	char *value = NULL;
+	begin = ++*ptr;
+
+	while(line[*ptr] != '\0') {
+		if(line[*ptr] == '(') {
+			++depth;
+		} else if(depth > 0 && line[*ptr] == ')') {
+			--depth;
+		} else if(depth == 0 && strchr(endchars, line[*ptr]) != NULL) {
+			value = wmalloc(*ptr - begin + 1);
+			strncpy(value, line + begin, *ptr - begin);
+			value[*ptr - begin] = '\0';
+			break;
+		}
+		++*ptr;
+	}
 
-        case _PROMPT:
-            if (line[*ptr]==')' && j==0) {
+	return value;
+}
 
-                if (*ptr-begin > 1) {
-                    strncpy(pbuffer, &line[begin], WMIN(*ptr-begin, BUFSIZE));
-                    pbuffer[WMIN(*ptr-begin, BUFSIZE)] = 0;
-                    prompt = (char*)pbuffer;
-                }
-                state = _DONE;
-            } else if (line[*ptr]=='(')
-                j++;
-            else if (line[*ptr]==')')
-                j--;
-            break;
-        }
-    }
-    (*ptr)--;
-#undef _STARTING
-#undef _TITLE
-#undef _PROMPT
-#undef _DONE
+static char*
+getuserinput(WScreen *scr, char *line, int *ptr, Bool advanced)
+{
+    char *ret = NULL, *title = NULL, *prompt = NULL, *name = NULL;
+    int rv;
 
-    if (!wInputDialog(scr, title, prompt, &ret))
-        return NULL;
+    if(line[*ptr] == '(')
+	title = parseuserinputpart(line, ptr, ",)");
+    if(title != NULL && line[*ptr] == ',')
+	prompt = parseuserinputpart(line, ptr, ",)");
+    if(prompt != NULL && line[*ptr] == ',')
+	name = parseuserinputpart(line, ptr, ")");
+
+    if(advanced)
+        rv = wAdvancedInputDialog(scr,
+		title ? gettext(title):_("Program Arguments"),
+		prompt ? gettext(prompt):_("Enter command arguments:"),
+		name, &ret);
     else
-        return ret;
-}
+        rv = wInputDialog(scr,
+		title ? gettext(title):_("Program Arguments"),
+		prompt ? gettext(prompt):_("Enter command arguments:"),
+		&ret);
+
+    if(title) wfree(title);
+    if(prompt) wfree(prompt);
+    if(name) wfree(name);
 
+    return rv ? ret : NULL;
+}
 
 #define S_NORMAL 0
 #define S_ESCAPE 1
@@ -814,8 +777,9 @@
                 break;
 
             case 'a':
+            case 'A':
                 ptr++;
-                user_input = getuserinput(scr, cmdline, &ptr);
+                user_input = getuserinput(scr, cmdline, &ptr, cmdline[ptr-1] == 'A');
                 if (user_input) {
                     slen = strlen(user_input);
                     olen += slen;
--- WindowMaker-0.91.0/src/dialog.c.vns	2005-05-18 18:08:11 +0400
+++ WindowMaker-0.91.0/src/dialog.c	2005-05-18 18:08:11 +0400
@@ -178,6 +178,328 @@
     return result;
 }
 
+typedef struct _WMInputPanelWithHistory
+{
+    WMInputPanel *panel;
+    WMArray *history;
+    int histpos;
+    char *prefix;
+    char *suffix;
+    char *rest;
+    WMArray *variants;
+    int varpos;
+} WMInputPanelWithHistory;
+
+static char *
+HistoryFileName(char *name)
+{
+    char *filename = NULL;
+
+    filename = wstrdup(wusergnusteppath());
+    filename = wstrappend(filename, "/.AppInfo/WindowMaker/History");
+    if(name && strlen(name)) {
+        filename = wstrappend(filename, ".");
+        filename = wstrappend(filename, name);
+    }
+    return filename;
+}
+
+static int
+matchString(void *str1, void *str2)
+{
+    return (strcmp((char*)str1, (char*)str2)==0 ? 1 : 0);
+}
+
+static WMArray *
+LoadHistory(char *filename, int max)
+{
+    WMPropList *plhistory;
+    WMPropList *plitem;
+    WMArray *history;
+    int i, num;
+
+    history = WMCreateArrayWithDestructor(1, wfree);
+    WMAddToArray(history, wstrdup(""));
+
+    plhistory = WMReadPropListFromFile((char*)filename);
+
+    if(plhistory && WMIsPLArray(plhistory)) {
+        num = WMGetPropListItemCount(plhistory);
+        if(num > max) num = max;
+
+        for(i = 0; i < num; ++i) {
+            plitem = WMGetFromPLArray(plhistory, i);
+            if(WMIsPLString(plitem) && WMFindInArray(history, matchString,
+				    WMGetFromPLString(plitem)) == WANotFound)
+                WMAddToArray(history, WMGetFromPLString(plitem));
+        }
+    }
+
+    return history;
+}
+
+static void
+SaveHistory(WMArray *history, char *filename)
+{
+    int i;
+    WMPropList *plhistory;
+
+    plhistory = WMCreatePLArray(NULL);
+
+    for(i = 0; i < WMGetArrayItemCount(history); ++i)
+        WMAddToPLArray(plhistory,
+            WMCreatePLString(WMGetFromArray(history, i)));
+
+    WMWritePropListToFile(plhistory, (char*)filename, False);
+    WMReleasePropList(plhistory);
+}
+
+static int
+strmatch(const char *str1, const char *str2)
+{
+    return !strcmp(str1, str2);
+}
+
+static int
+pstrcmp(const char **str1, const char **str2)
+{
+    return strcmp(*str1, *str2);
+}
+
+static void
+ScanFiles(const char *dir, const char *prefix, unsigned acceptmask,
+        unsigned declinemask, WMArray *result)
+{
+    int prefixlen;
+    DIR *d;
+    struct dirent *de;
+    struct stat sb;
+    char *fullfilename, *suffix;
+
+    prefixlen = strlen(prefix);
+    if((d = opendir(dir)) != NULL) {
+        while((de = readdir(d)) != NULL) {
+            if(strlen(de->d_name) > prefixlen &&
+                    !strncmp(prefix, de->d_name, prefixlen) &&
+                    strcmp(de->d_name, ".") != 0 &&
+                    strcmp(de->d_name, "..")) {
+                fullfilename = wstrconcat((char*)dir, "/");
+                fullfilename = wstrappend(fullfilename, de->d_name);
+
+                if(stat(fullfilename, &sb) == 0 &&
+                        (sb.st_mode & acceptmask) &&
+                        !(sb.st_mode & declinemask) &&
+                        WMFindInArray(result, (WMMatchDataProc*)strmatch,
+                            de->d_name + prefixlen) == WANotFound) {
+                    suffix = wstrdup(de->d_name + prefixlen);
+                    WMAddToArray(result, suffix);
+                }
+                wfree(fullfilename);
+            }
+        }
+        closedir(d);
+    }
+}
+
+static WMArray *
+GenerateVariants(const char * complete)
+{
+    Bool firstWord = True;
+    WMArray *variants = NULL;
+    char *pos = NULL, *path = NULL, *tmp = NULL, *dir = NULL, *prefix = NULL;
+
+    variants = WMCreateArrayWithDestructor(0, wfree);
+
+    while(*complete == ' ') ++complete;
+
+    if((pos = strrchr(complete, ' ')) != NULL) {
+        complete = pos + 1;
+        firstWord = False;
+    }
+
+    if((pos = strrchr(complete, '/')) != NULL) {
+        tmp = wstrndup((char*)complete, pos - complete + 1);
+        if(*tmp == '~' && *(tmp+1) == '/' && getenv("HOME")) {
+            dir = wstrdup(getenv("HOME"));
+            dir = wstrappend(dir, tmp + 1);
+            wfree(tmp);
+        } else {
+            dir = tmp;
+        }
+        prefix = wstrdup(pos + 1);
+        ScanFiles(dir, prefix, (unsigned)-1, 0, variants);
+        wfree(dir);
+        wfree(prefix);
+    } else if(*complete == '~') {
+        WMAddToArray(variants, wstrdup("/"));
+    } else if(firstWord) {
+        path = getenv("PATH");
+        while(path) {
+            pos = strchr(path, ':');
+            if(pos) {
+                tmp = wstrndup(path, pos - path);
+                path = pos + 1;
+            } else if(*path != '\0') {
+                tmp = wstrdup(path);
+                path = NULL;
+            } else break;
+            ScanFiles(tmp, complete,
+                    S_IXOTH | S_IXGRP | S_IXUSR, S_IFDIR, variants);
+            wfree(tmp);
+        }
+    }
+
+    WMSortArray(variants, (WMCompareDataProc*)pstrcmp);
+    return variants;
+}
+
+static void
+handleHistoryKeyPress(XEvent *event, void *clientData)
+{
+    char *text;
+    unsigned pos;
+    WMInputPanelWithHistory *p = (WMInputPanelWithHistory*)clientData;
+    KeySym ksym;
+
+    ksym = XLookupKeysym(&event->xkey, 0);
+
+    switch(ksym)
+    {
+        case XK_Up:
+            if(p->histpos < WMGetArrayItemCount(p->history) - 1) {
+                if(p->histpos == 0)
+                    wfree(WMReplaceInArray(p->history,
+                        0, WMGetTextFieldText(p->panel->text)));
+                p->histpos++;
+                WMSetTextFieldText(p->panel->text,
+                    WMGetFromArray(p->history, p->histpos));
+            }
+            break;
+        case XK_Down:
+            if(p->histpos > 0) {
+                p->histpos--;
+                WMSetTextFieldText(p->panel->text,
+                    WMGetFromArray(p->history, p->histpos));
+            }
+            break;
+        case XK_Tab:
+            if(!p->variants) {
+                text = WMGetTextFieldText(p->panel->text);
+		pos = WMGetTextFieldCursorPosition(p->panel->text);
+		p->prefix = wstrndup(text, pos);
+		p->suffix = wstrdup(text + pos);
+		wfree(text);
+                p->variants = GenerateVariants(p->prefix);
+                p->varpos = 0;
+                if(!p->variants) {
+                    wfree(p->prefix);
+                    wfree(p->suffix);
+                    p->prefix = NULL;
+                    p->suffix = NULL;
+                }
+            }
+            if(p->variants && p->prefix && p->suffix) {
+                p->varpos++;
+                if(p->varpos > WMGetArrayItemCount(p->variants))
+                    p->varpos = 0;
+                if(p->varpos > 0)
+                    text = wstrconcat(p->prefix,
+                        WMGetFromArray(p->variants, p->varpos - 1));
+		else
+                    text = wstrdup(p->prefix);
+		pos = strlen(text);
+                text = wstrappend(text, p->suffix);
+                WMSetTextFieldText(p->panel->text, text);
+		WMSetTextFieldCursorPosition(p->panel->text, pos);
+                wfree(text);
+            }
+            break;
+    }
+    if(ksym != XK_Tab) {
+        if(p->prefix) {
+            wfree(p->prefix);
+            p->prefix = NULL;
+        }
+        if(p->suffix) {
+            wfree(p->suffix);
+            p->suffix = NULL;
+        }
+        if(p->variants) {
+            WMFreeArray(p->variants);
+            p->variants = NULL;
+        }
+    }
+}
+
+int
+wAdvancedInputDialog(WScreen *scr, char *title, char *message,
+            char *name, char **text)
+{
+    WWindow *wwin;
+    Window parent;
+    char *result;
+    WMPoint center;
+    WMInputPanelWithHistory *p;
+    char *filename;
+
+    filename = HistoryFileName(name);
+    p = wmalloc(sizeof(WMInputPanelWithHistory));
+    p->panel = WMCreateInputPanel(scr->wmscreen, NULL, title, message, *text,
+			       _("OK"), _("Cancel"));
+    p->history = LoadHistory(filename, wPreferences.history_lines);
+    p->histpos = 0;
+    p->prefix = NULL;
+    p->suffix = NULL;
+    p->rest = NULL;
+    p->variants = NULL;
+    p->varpos = 0;
+    WMCreateEventHandler(WMWidgetView(p->panel->text), KeyPressMask,
+        handleHistoryKeyPress, p);
+
+    parent = XCreateSimpleWindow(dpy, scr->root_win, 0, 0, 320, 160, 0, 0, 0);
+    XSelectInput(dpy, parent, KeyPressMask|KeyReleaseMask);
+
+    XReparentWindow(dpy, WMWidgetXID(p->panel->win), parent, 0, 0);
+
+    center = getCenter(scr, 320, 160);
+    wwin = wManageInternalWindow(scr, parent, None, NULL, center.x, center.y,
+				 320, 160);
+
+    wwin->client_leader = WMWidgetXID(p->panel->win);
+
+    WMMapWidget(p->panel->win);
+
+    wWindowMap(wwin);
+
+    WMRunModalLoop(WMWidgetScreen(p->panel->win), WMWidgetView(p->panel->win));
+
+    if (p->panel->result == WAPRDefault) {
+	result = WMGetTextFieldText(p->panel->text);
+        wfree(WMReplaceInArray(p->history, 0, wstrdup(result)));
+        SaveHistory(p->history, filename);
+    }
+    else
+	result = NULL;
+
+    wUnmanageWindow(wwin, False, False);
+
+    WMDestroyInputPanel(p->panel);
+    WMFreeArray(p->history);
+    wfree(p);
+    wfree(filename);
+
+    XDestroyWindow(dpy, parent);
+
+    if (result==NULL)
+	return False;
+    else {
+        if (*text)
+            wfree(*text);
+        *text = result;
+
+        return True;
+    }
+}
 
 int
 wInputDialog(WScreen *scr, char *title, char *message, char **text)
--- WindowMaker-0.91.0/src/dialog.h.vns	2004-10-12 21:54:37 +0400
+++ WindowMaker-0.91.0/src/dialog.h	2005-05-18 18:11:54 +0400
@@ -33,6 +33,7 @@
 
 int wMessageDialog(WScreen *scr, char *title, char *message,
                    char *defBtn, char *altBtn, char *othBtn);
+int wAdvancedInputDialog(WScreen *scr, char *title, char *message, char *name, char **text);
 int wInputDialog(WScreen *scr, char *title, char *message, char **text);
 
 int wExitDialog(WScreen *scr, char *title, char *message, char *defBtn,
--- WindowMaker-0.91.0/src/defaults.c.vns	2005-05-18 18:08:11 +0400
+++ WindowMaker-0.91.0/src/defaults.c	2005-05-18 18:08:11 +0400
@@ -894,6 +894,9 @@
     },
     {"SelectCursor", "(builtin, cross)",	(void*)WCUR_SELECT,
     NULL,				getCursor,	setCursor
+    },
+    {"DialogHistoryLines",	"500",		NULL,
+    &wPreferences.history_lines,	getInt,		NULL
     }
 };
 
--- WindowMaker-0.91.0/src/WindowMaker.h.vns	2005-05-18 18:08:11 +0400
+++ WindowMaker-0.91.0/src/WindowMaker.h	2005-05-18 18:08:11 +0400
@@ -491,6 +491,7 @@
     char single_click;
 
     int show_clip_title;
+    int history_lines;
 
     struct {
         unsigned int nodock:1;	       /* don't display the dock */

WindowMaker-0.91.0-alt-clipnotext.patch:

--- NEW FILE WindowMaker-0.91.0-alt-clipnotext.patch ---
--- WindowMaker-0.91.0/src/dock.c.vns	2005-05-18 16:29:46 +0400
+++ WindowMaker-0.91.0/src/dock.c	2005-05-18 16:31:23 +0400
@@ -1295,8 +1295,9 @@
 
     tx = CLIP_BUTTON_SIZE*ICON_SIZE/64;
 
-    WMDrawString(scr->wmscreen, win, color, scr->clip_title_font, tx,
-                 ty, ws_name, length);
+    if(wPreferences.show_clip_title)
+        WMDrawString(scr->wmscreen, win, color, scr->clip_title_font, tx,
+        	     ty, ws_name, length);
     /*WMDrawString(scr->wmscreen, win, color, scr->clip_title_font, 4,
      2, ws_name, length);*/
 
--- WindowMaker-0.91.0/src/defaults.c.vns	2005-05-18 16:29:46 +0400
+++ WindowMaker-0.91.0/src/defaults.c	2005-05-18 16:29:46 +0400
@@ -633,6 +633,9 @@
     {"ClipTitleFont",	DEF_CLIP_TITLE_FONT,	NULL,
     NULL,				getFont,	setClipTitleFont
     },
+    {"ShowClipTitle",	"YES",			NULL,
+    &wPreferences.show_clip_title,	getBool,	NULL
+    },
     {"LargeDisplayFont",DEF_WORKSPACE_NAME_FONT, NULL,
     NULL,				getFont,	setLargeDisplayFont
     },
--- WindowMaker-0.91.0/src/WindowMaker.h.vns	2005-05-18 16:29:46 +0400
+++ WindowMaker-0.91.0/src/WindowMaker.h	2005-05-18 16:29:46 +0400
@@ -490,6 +490,8 @@
     /* single click to lauch applications */
     char single_click;
 
+    int show_clip_title;
+
     struct {
         unsigned int nodock:1;	       /* don't display the dock */
         unsigned int noclip:1;         /* don't display the clip */

WindowMaker-0.91.0-alt-dockhotkeys.patch:

--- NEW FILE WindowMaker-0.91.0-alt-dockhotkeys.patch ---
--- WindowMaker-0.91.0/src/dock.c.vns	2005-05-18 11:49:00 +0400
+++ WindowMaker-0.91.0/src/dock.c	2005-05-18 12:01:06 +0400
@@ -96,6 +96,7 @@
 #ifdef XDND /* XXX was OFFIX */
 static WMPropList *dDropCommand=NULL;
 #endif
+static WMPropList *dKeyboardShortcut=NULL;
 static WMPropList *dAutoLaunch, *dLock;
 static WMPropList *dName, *dForced, *dBuggyApplication, *dYes, *dNo;
 static WMPropList *dHost, *dDock, *dClip;
@@ -151,6 +152,7 @@
 #ifdef XDND
     dDropCommand = WMRetainPropList(WMCreatePLString("DropCommand"));
 #endif
+    dKeyboardShortcut = WMRetainPropList(WMCreatePLString("Shortcut"));
     dLock = WMRetainPropList(WMCreatePLString("Lock"));
     dAutoLaunch = WMRetainPropList(WMCreatePLString("AutoLaunch"));
     dName = WMRetainPropList(WMCreatePLString("Name"));
@@ -1398,6 +1400,12 @@
             WMReleasePropList(command);
         }
 
+	if (btn->keyboard_shortcut) {
+	    command = WMCreatePLString(btn->keyboard_shortcut);
+	    WMPutInPLDictionary(node, dKeyboardShortcut, command);
+	    WMReleasePropList(command);
+	}
+
         if (btn->client_machine && btn->remote_start) {
             host = WMCreatePLString(btn->client_machine);
             WMPutInPLDictionary(node, dHost, host);
@@ -1613,6 +1621,12 @@
         aicon->dnd_command = wstrdup(WMGetFromPLString(cmd));
 #endif
 
+    cmd = WMGetFromPLDictionary(info, dKeyboardShortcut);
+    if (cmd) {
+	if(addDockShortcut(WMGetFromPLString(cmd), aicon))
+	    aicon->keyboard_shortcut = wstrdup(WMGetFromPLString(cmd));
+    }
+
     cmd = WMGetFromPLDictionary(info, dPasteCommand);
     if (cmd)
         aicon->paste_command = wstrdup(WMGetFromPLString(cmd));
@@ -1918,6 +1932,8 @@
     if (type == WM_DOCK)
         dock->icon_count = 0;
 
+    dock->screen_ptr->flags.dock_changed_shortcuts = 0;
+    
     for (i=0; i<count; i++) {
         if (dock->icon_count >= dock->max_icons) {
             wwarning(_("there are too many icons stored in dock. Ignoring what doesn't fit"));
@@ -1950,6 +1966,11 @@
         } else if (dock->icon_count==0 && type==WM_DOCK)
             dock->icon_count++;
     }
+    if(dock->screen_ptr->flags.dock_changed_shortcuts)
+    {
+        rebindKeygrabs(dock->screen_ptr);
+        dock->screen_ptr->flags.dock_changed_shortcuts = 0;
+    }
 
     /* if the first icon is not defined, use the default */
     if (dock->icon_array[0]==NULL) {
@@ -4479,3 +4500,125 @@
     return status;
 }
 
+Bool
+addDockShortcut(char *shortcutDefinition, WAppIcon *icon)
+{
+	int modifier = 0;
+	KeyCode keycode;
+	KeySym ksym;
+	char *k;
+	char buf[128], *b;
+	
+	strcpy(buf, shortcutDefinition);
+	b = (char*)buf;
+
+	/* get modifiers */
+	while((k = strchr(b, '+'))!=NULL) {
+		int mod;
+
+		*k = 0;
+		mod = wXModifierFromKey(b);
+		if(mod < 0) {
+			wwarning(_("invalid key modifier \"%s\""), b);
+			return False;
+		}
+		modifier |= mod;
+
+		b = k+1;
+	}
+
+	/* get key */
+	ksym = XStringToKeysym(b);
+
+	if (ksym==NoSymbol) {
+		wwarning(_("invalid kbd shortcut specification \"%s\""), shortcutDefinition);
+		return False;
+	}
+
+	keycode = XKeysymToKeycode(dpy, ksym);
+	if (keycode==0) {
+		wwarning(_("invalid key in shortcut \"%s\""), shortcutDefinition);
+		return False;
+	}
+	icon->modifier = modifier;
+	icon->keycode = keycode;
+	if(icon->dock && icon->dock->screen_ptr)
+		icon->dock->screen_ptr->flags.dock_changed_shortcuts = 1;
+	return True;
+}
+
+static Bool
+wDockPerformShortcut(WDock *dock, XEvent *event)
+{
+	int i;
+	int modifiers;
+	int done = 0;
+
+	if(!dock) return done;
+	modifiers = event->xkey.state & ValidModMask;
+	for(i=(dock->type==WM_DOCK ? 0 : 1); i<dock->max_icons; i++) {
+		WAppIcon *btn = dock->icon_array[i];
+
+		if(!btn || btn->attracted)
+			continue;
+	
+		if(btn->keycode==event->xkey.keycode && (btn->modifier==modifiers)) {
+			launchDockedApplication(btn, False);
+			done = True;
+			break;
+		}
+
+	}
+	return done;
+}
+
+Bool
+wDockAndClipPerformShortcut(WScreen *scr, XEvent *event)
+{
+	int done = 0;
+	int i;
+	if(!(done = wDockPerformShortcut(scr->dock, event))) {
+		for(i=0; i < scr->workspace_count; i++)	{
+			if(done = wDockPerformShortcut(scr->workspaces[i]->clip, event)) break;
+		}
+	}
+	return done;
+}
+
+static void
+wDockBindShortcuts(Window window, WDock* dock)
+{
+	int i;
+	if(!dock) return;
+	for(i=(dock->type==WM_DOCK ? 0 : 1); i<dock->max_icons; i++) {
+		WAppIcon *btn = dock->icon_array[i];
+
+		if(!btn || btn->attracted)
+			continue;
+	
+		if(btn->keyboard_shortcut)
+		{
+			if(btn->keyboard_shortcut && btn->modifier!=AnyModifier) {
+				XGrabKey(dpy, btn->keycode, btn->modifier|LockMask,
+					window, True, GrabModeAsync, GrabModeAsync);
+#ifdef NUMLOCK_HACK
+				wHackedGrabKey(btn->keycode, btn->modifier,
+					window, True, GrabModeAsync, GrabModeAsync);	    
+#endif
+			}
+			XGrabKey(dpy, btn->keycode, btn->modifier, window, True, 
+				GrabModeAsync, GrabModeAsync);
+		}
+	}
+}
+
+void
+wDockAndClipBindShortcuts(Window window, WScreen *scr)
+{
+	int i;
+	wDockBindShortcuts(window, scr->dock);
+	for(i=0; i < scr->workspace_count; i++ ) {
+		wDockBindShortcuts(window, scr->workspaces[i]->clip);
+	}
+}
+
--- WindowMaker-0.91.0/src/appicon.c.vns	2005-05-18 11:49:00 +0400
+++ WindowMaker-0.91.0/src/appicon.c	2005-05-18 11:49:00 +0400
@@ -197,6 +197,8 @@
     if (aicon->dnd_command)
         wfree(aicon->dnd_command);
 #endif
+    if (aicon->keyboard_shortcut)
+    	wfree(aicon->keyboard_shortcut);
     if (aicon->wm_instance)
         wfree(aicon->wm_instance);
     if (aicon->wm_class)
--- WindowMaker-0.91.0/src/appicon.h.vns	2004-10-14 21:31:49 +0400
+++ WindowMaker-0.91.0/src/appicon.h	2005-05-18 11:50:01 +0400
@@ -52,6 +52,10 @@
 
     char *paste_command;	       /* command to run when something is pasted */
 
+    char *keyboard_shortcut;           /* keyboard shortcut to launch app */
+    int modifier;
+    KeyCode keycode;
+    
     char *wm_class;
     char *wm_instance;
     pid_t pid;			       /* for apps launched from the dock */
--- WindowMaker-0.91.0/src/dockedapp.c.vns	2004-10-14 21:31:49 +0400
+++ WindowMaker-0.91.0/src/dockedapp.c	2005-05-18 11:56:22 +0400
@@ -25,6 +25,7 @@
 
 #include <X11/Xlib.h>
 #include <X11/Xutil.h>
+#include <X11/keysym.h>
 #include <stdlib.h>
 #include <string.h>
 
@@ -66,6 +67,10 @@
     WMTextField *pasteCommandField;
     WMLabel *pasteCommandLabel;
 
+    WMFrame *keyboardShortcutFrame;
+    WMTextField *keyboardShortcutField;
+    WMButton *keyboardShortcutCaptureBtn;
+
     WMFrame *iconFrame;
     WMTextField *iconField;
     WMButton *browseBtn;
@@ -81,6 +86,7 @@
     /* kluge */
     unsigned int destroyed:1;
     unsigned int choosingIcon:1;
+    unsigned int capturing:1;
 } AppSettingsPanel;
 
 
@@ -117,6 +123,43 @@
     icon->paste_command = command;
 }
 
+static char*
+trimstr(char *str)
+{       
+	char *p = str;
+	int i;
+	
+	while (isspace(*p)) p++;
+	p = wstrdup(p);
+	i = strlen(p);
+	while (isspace(p[i]) && i>0) {
+		p[i]=0;
+		i--;
+	}
+
+	return p;
+}
+
+static void
+updateKeyboardShortcut(WAppIcon *icon, char *shortcut)
+{
+	char *str = NULL;
+	if(icon->keyboard_shortcut)
+		wfree(icon->keyboard_shortcut);
+	if(shortcut) {
+		str = trimstr(shortcut);
+		if(!strlen(str)) {
+			wfree(str);
+			str = NULL;
+		}
+	}
+	icon->keyboard_shortcut = str;
+	icon->modifier = 0;
+	icon->keycode = 0;
+	if(str) addDockShortcut(str, icon);
+    	rebindKeygrabs(icon->dock->screen_ptr);
+}
+
 
 
 #ifdef XDND
@@ -267,6 +310,8 @@
         text = WMGetTextFieldText(panel->pasteCommandField);
         updatePasteCommand(panel->editedIcon, text);
 
+	text = WMGetTextFieldText(panel->keyboardShortcutField);
+	updateKeyboardShortcut(panel->editedIcon, text);
 
         panel->editedIcon->auto_launch =
             WMGetButtonSelected(panel->autoLaunchBtn);
@@ -279,9 +324,83 @@
         DestroyDockAppSettingsPanel(panel);
 }
 
+static char*
+captureShortcut(Display *dpy, AppSettingsPanel *panel)
+{
+	XEvent ev;
+	KeySym ksym, lksym, uksym;
+	char buffer[64];
+	char *key = NULL;
+
+	while (panel->capturing) {
+		XAllowEvents(dpy, AsyncKeyboard, CurrentTime);
+		WMNextEvent(dpy, &ev);
+		if (ev.type==KeyPress && ev.xkey.keycode!=0) {
+			ksym = XKeycodeToKeysym(dpy, ev.xkey.keycode, 0);
+			if (!IsModifierKey(ksym)) {
+				XConvertCase(ksym, &lksym, &uksym);
+				key=XKeysymToString(uksym);
+				panel->capturing = 0;
+				break;
+			}
+		}
+		WMHandleEvent(&ev);
+	}
+	if (!key)
+		return NULL;
+
+	buffer[0] = 0;
+	if (ev.xkey.state & ControlMask) {
+		strcat(buffer, "Control+");
+	}   
+        if (ev.xkey.state & ShiftMask) {
+		strcat(buffer, "Shift+");
+	}   
+	if (ev.xkey.state & Mod1Mask) {
+		strcat(buffer, "Mod1+");
+	}   
+	if (ev.xkey.state & Mod2Mask) {
+		strcat(buffer, "Mod2+");
+	}   
+	if (ev.xkey.state & Mod3Mask) {
+		strcat(buffer, "Mod3+");
+	}
+	if (ev.xkey.state & Mod4Mask) {
+		strcat(buffer, "Mod4+");
+	}
+	if (ev.xkey.state & Mod5Mask) {
+		strcat(buffer, "Mod5+");
+	}
+	strcat(buffer, key);
+
+	return wstrdup(buffer);
+}
+
+static void
+captureClick(WMWidget *w, void *data)
+{
+	AppSettingsPanel *panel = (AppSettingsPanel*)data;
+	char *shortcut;
+
+	if(!panel->capturing) {
+		panel->capturing = 1;
+		WMSetButtonText(w, _("Cancel"));
+	        XGrabKeyboard(dpy, WMWidgetXID(panel->win), True, GrabModeAsync,
+				GrabModeAsync, CurrentTime);
+		shortcut = captureShortcut(dpy, panel);
+		if (shortcut) {
+			WMSetTextFieldText(panel->keyboardShortcutField, shortcut);
+			wfree(shortcut);
+		}
+	}
+	panel->capturing = 0;
+	WMSetButtonText(w, _("Capture"));
+	XUngrabKeyboard(dpy, CurrentTime);
+}
+
 
 #define PWIDTH	295
-#define PHEIGHT	430
+#define PHEIGHT	490
 
 
 void
@@ -396,6 +515,21 @@
 #endif
     WMMapSubwidgets(panel->dndCommandFrame);
 
+    panel->keyboardShortcutFrame = WMCreateFrame(vbox);
+    WMSetFrameTitle(panel->keyboardShortcutFrame, _("Keyboard shortcut"));
+    WMAddBoxSubview(vbox, WMWidgetView(panel->keyboardShortcutFrame), False, True,
+		    50, 50, 10);
+    panel->keyboardShortcutField = WMCreateTextField(panel->keyboardShortcutFrame);
+    WMResizeWidget(panel->keyboardShortcutField, 176, 20);
+    WMMoveWidget(panel->keyboardShortcutField, 10, 20);
+    WMSetTextFieldText(panel->keyboardShortcutField, aicon->keyboard_shortcut);
+    panel->keyboardShortcutCaptureBtn = WMCreateCommandButton(panel->keyboardShortcutFrame);
+    WMSetButtonText(panel->keyboardShortcutCaptureBtn, _("Capture"));
+    WMResizeWidget(panel->keyboardShortcutCaptureBtn, 70, 24);
+    WMMoveWidget(panel->keyboardShortcutCaptureBtn, 195, 18);
+    WMSetButtonAction(panel->keyboardShortcutCaptureBtn, captureClick, panel);
+    WMMapSubwidgets(panel->keyboardShortcutFrame);
+    
     panel->iconFrame = WMCreateFrame(vbox);
     WMSetFrameTitle(panel->iconFrame, _("Icon Image"));
     WMAddBoxSubview(vbox, WMWidgetView(panel->iconFrame), False, True,
--- WindowMaker-0.91.0/src/event.c.vns	2004-10-24 23:19:50 +0400
+++ WindowMaker-0.91.0/src/event.c	2005-05-18 11:57:21 +0400
@@ -1364,7 +1364,7 @@
         }
 #endif
 #else
-        if (!wRootMenuPerformShortcut(event)) {
+	if (!wRootMenuPerformShortcut(event) && !wDockAndClipPerformShortcut(scr, event)) {
 #endif
             static int dontLoop = 0;
 
--- WindowMaker-0.91.0/src/rootmenu.c.vns	2005-05-18 11:49:00 +0400
+++ WindowMaker-0.91.0/src/rootmenu.c	2005-05-18 11:49:00 +0400
@@ -466,7 +466,7 @@
 }
 
 
-static void
+void
 rebindKeygrabs(WScreen *scr)
 {
     WWindow *wwin;
--- WindowMaker-0.91.0/src/screen.h.vns	2004-10-23 03:58:59 +0400
+++ WindowMaker-0.91.0/src/screen.h	2005-05-18 11:58:11 +0400
@@ -307,6 +307,7 @@
         unsigned int regenerate_icon_textures:1;
         unsigned int dnd_data_convertion_status:1;
         unsigned int root_menu_changed_shortcuts:1;
+	unsigned int dock_changed_shortcuts:1;
         unsigned int added_workspace_menu:1;
         unsigned int added_windows_menu:1;
         unsigned int startup2:1;       /* startup phase 2 */
--- WindowMaker-0.91.0/src/window.c.vns	2005-05-18 11:49:00 +0400
+++ WindowMaker-0.91.0/src/window.c	2005-05-18 11:49:00 +0400
@@ -2820,6 +2820,7 @@
 
 #ifndef LITE
     wRootMenuBindShortcuts(wwin->frame->core->window);
+    wDockAndClipBindShortcuts(wwin->frame->core->window, wwin->screen_ptr);
 #endif
 }
 

WindowMaker-0.91.0-alt-focus.patch:

--- NEW FILE WindowMaker-0.91.0-alt-focus.patch ---
--- WindowMaker-0.91.0/src/actions.c.vns	2005-05-18 22:16:13 +0400
+++ WindowMaker-0.91.0/src/actions.c	2005-05-18 22:17:23 +0400
@@ -1251,6 +1251,9 @@
     /* In case we were shaded and iconified, also unshade */
     if (!netwm_hidden)
         wUnshadeWindow(wwin);
+
+    if (wwin->flags.focused)
+	wSetFocusTo(wwin->screen_ptr, wwin);
 }
 
 

WindowMaker-0.91.0-alt-menutrans.patch:

--- NEW FILE WindowMaker-0.91.0-alt-menutrans.patch ---
--- WindowMaker-0.91.0/src/rootmenu.c.vns	2005-05-18 14:12:23 +0400
+++ WindowMaker-0.91.0/src/rootmenu.c	2005-05-18 14:12:23 +0400
@@ -355,6 +355,17 @@
     wShowLegalPanel(menu->frame->screen_ptr);
 }
 
+/************  translate menu item on the fly   *************/
+#define NOTRANSLATE_PREFIX "notranslate "
+static char*
+translateMenuTitle(char* title)
+{
+    if(!strncmp(NOTRANSLATE_PREFIX, title, strlen(NOTRANSLATE_PREFIX)))
+	return title + strlen(NOTRANSLATE_PREFIX);
+    if(wPreferences.translate_menu)
+	return dgettext("menu-messages", title);
+    return title;
+}
 
 /********************************************************************/
 
@@ -1146,13 +1157,13 @@
 
             /* start submenu */
 
-            cascade = wMenuCreate(scr, title, False);
+            cascade = wMenuCreate(scr, translateMenuTitle(title), False);
             cascade->on_destroy = removeShortcutsForMenu;
             if (parseCascade(scr, cascade, file, file_name)==NULL) {
                 wMenuDestroy(cascade, True);
             } else {
                 wMenuEntrySetCascade(menu,
-                                     wMenuAddCallback(menu, title, NULL, NULL),
+                                     wMenuAddCallback(menu, translateMenuTitle(title), NULL, NULL),
                                      cascade);
             }
         } else if (strcasecmp(command, "END")==0) {
@@ -1161,7 +1172,7 @@
 
         } else {
             /* normal items */
-            addMenuEntry(menu, title, shortcut[0] ? shortcut : NULL, command,
+            addMenuEntry(menu, translateMenuTitle(title), shortcut[0] ? shortcut : NULL, command,
                          params[0] ? params : NULL, file_name);
         }
     }
@@ -1534,7 +1545,7 @@
             strcat(buffer, command);
         }
 
-        addMenuEntry(menu, data->name, NULL, "OPEN_MENU", buffer, path[data->index]);
+        addMenuEntry(menu, translateMenuTitle(data->name), NULL, "OPEN_MENU", buffer, path[data->index]);
 
         wfree(buffer);
         if (data->name)
@@ -1582,7 +1593,7 @@
             if (ptr && ptr!=data->name)
                 *ptr = 0;
         }
-        addMenuEntry(menu, data->name, NULL, "SHEXEC", buffer, path[data->index]);
+        addMenuEntry(menu, translateMenuTitle(data->name), NULL, "SHEXEC", buffer, path[data->index]);
 
         wfree(buffer);
         if (data->name)
@@ -1701,7 +1712,7 @@
     }
     mtitle = WMGetFromPLString(elem);
 
-    menu = wMenuCreate(scr, mtitle, False);
+    menu = wMenuCreate(scr, translateMenuTitle(mtitle), False);
     menu->on_destroy = removeShortcutsForMenu;
 
 #ifdef GLOBAL_SUBMENU_FILE
@@ -1738,7 +1749,7 @@
             /* submenu */
             submenu = configureMenu(scr, elem);
             if (submenu) {
-                mentry = wMenuAddCallback(menu, submenu->frame->title, NULL,
+                mentry = wMenuAddCallback(menu, translateMenuTitle(submenu->frame->title), NULL,
                                           NULL);
                 wMenuEntrySetCascade(menu, mentry, submenu);
             }
@@ -1761,7 +1772,7 @@
             if (!title || !command)
                 goto error;
 
-            addMenuEntry(menu, WMGetFromPLString(title),
+            addMenuEntry(menu, translateMenuTitle(WMGetFromPLString(title)),
                          shortcut ? WMGetFromPLString(shortcut) : NULL,
                          WMGetFromPLString(command),
                          params ? WMGetFromPLString(params) : NULL, "WMRootMenu");
--- WindowMaker-0.91.0/src/defaults.c.vns	2005-05-18 14:12:23 +0400
+++ WindowMaker-0.91.0/src/defaults.c	2005-05-18 14:12:23 +0400
@@ -556,6 +556,9 @@
     {"SingleClickLaunch",	"NO",	NULL,
     &wPreferences.single_click,	getBool,	NULL
     },
+    {"TranslateMenu",	"YES",		NULL,
+    &wPreferences.translate_menu,	getBool,	NULL
+    },
     /* style options */
     {"MenuStyle", 	"normal",  		seMenuStyles,
     &wPreferences.menu_style, getEnum, 	setMenuStyle
--- WindowMaker-0.91.0/src/WindowMaker.h.vns	2005-05-18 14:12:23 +0400
+++ WindowMaker-0.91.0/src/WindowMaker.h	2005-05-18 14:12:23 +0400
@@ -466,6 +466,8 @@
     /* shading animation */
     signed char shade_speed;
 
+    int translate_menu;
+
     int edge_resistance;
     char attract;
 
--- WindowMaker-0.91.0/src/workspace.c.vns	2004-10-26 07:17:12 +0400
+++ WindowMaker-0.91.0/src/workspace.c	2005-05-18 14:12:23 +0400
@@ -1349,7 +1349,10 @@
 {
     WMenu *wsmenu;
 
-    wsmenu = wMenuCreate(scr, titled ? _("Workspaces") : NULL, False);
+    if(wPreferences.translate_menu)
+	wsmenu = wMenuCreate(scr, titled ? _("Workspaces") : NULL, False);
+    else
+	wsmenu = wMenuCreate(scr, titled ? "Workspaces" : NULL, False);
     if (!wsmenu) {
         wwarning(_("could not create Workspace menu"));
         return NULL;
@@ -1358,8 +1361,17 @@
     /* callback to be called when an entry is edited */
     wsmenu->on_edit = onMenuEntryEdited;
 
-    wMenuAddCallback(wsmenu, _("New"), newWSCommand, NULL);
-    wMenuAddCallback(wsmenu, _("Destroy Last"), deleteWSCommand, NULL);
+
+    if(wPreferences.translate_menu)
+    {
+	wMenuAddCallback(wsmenu, _("New"), newWSCommand, NULL);
+	wMenuAddCallback(wsmenu, _("Destroy Last"), deleteWSCommand, NULL);
+    }
+    else
+    {
+	wMenuAddCallback(wsmenu, "New", newWSCommand, NULL);
+	wMenuAddCallback(wsmenu, "Destroy Last", deleteWSCommand, NULL);
+    }
 
     return wsmenu;
 }
--- WindowMaker-0.91.0/src/main.c.vns	2004-10-25 05:32:51 +0400
+++ WindowMaker-0.91.0/src/main.c	2005-05-18 14:14:26 +0400
@@ -791,11 +791,15 @@
     if (!Locale || strcmp(Locale, "C")==0 || strcmp(Locale, "POSIX")==0)
         Locale = NULL;
 #ifdef I18N
-    if (getenv("NLSPATH"))
+    if (getenv("NLSPATH")) {
         bindtextdomain("WindowMaker", getenv("NLSPATH"));
-    else
+        bindtextdomain("menu-messages", getenv("NLSPATH"));
+    } else {
         bindtextdomain("WindowMaker", LOCALEDIR);
+        bindtextdomain("menu-messages", LOCALEDIR);
+    }
     bind_textdomain_codeset("WindowMaker", "UTF-8");
+    bind_textdomain_codeset("menu-messages", "UTF-8");
     textdomain("WindowMaker");
 
     if (!XSupportsLocale()) {

WindowMaker-0.91.0-alt-mmx.patch:

--- NEW FILE WindowMaker-0.91.0-alt-mmx.patch ---
--- WindowMaker-0.91.0/configure.ac.vns	2005-05-18 17:38:01 +0400
+++ WindowMaker-0.91.0/configure.ac	2005-05-18 17:47:55 +0400
@@ -190,7 +190,15 @@
 # until we fix it, leave it disabled
 asm_support=no
 mmx_support=no
-if test "$ac_cv_prog_gcc" = yes; then
+
+check_for_mmx_support=yes
+AC_ARG_ENABLE(mmx,
+  [  --disable-mmx          disable compilation of MMX inline assembly ],
+  [if test x$enableval != xyes; then
+    check_for_mmx_support=no
+  fi])
+
+if test "$ac_cv_prog_gcc" = yes -a "$check_for_mmx_support" = yes; then
 
     # gcc-3.3 or newer complains about some of our stuff without this
     NOSTRICTALIASING="-fno-strict-aliasing"

WindowMaker-0.91.0-alt-restartscrpt.patch:

--- NEW FILE WindowMaker-0.91.0-alt-restartscrpt.patch ---
--- WindowMaker-0.91.0/src/shutdown.c.vns	2005-05-18 12:49:09 +0400
+++ WindowMaker-0.91.0/src/shutdown.c	2005-05-18 12:50:35 +0400
@@ -123,6 +123,7 @@
                 RestoreDesktop(scr);
             }
         }
+        ExecExitScript();
         break;
     }
 }

WindowMaker-0.91.0-alt-session.patch:

--- NEW FILE WindowMaker-0.91.0-alt-session.patch ---
--- WindowMaker-0.91.0/src/session.c.vns	2005-05-18 12:44:44 +0400
+++ WindowMaker-0.91.0/src/session.c	2005-05-18 12:46:21 +0400
@@ -331,7 +331,8 @@
 
         if ((wwin->transient_for==None
              || wwin->transient_for==wwin->screen_ptr->root_win)
-            && WMGetFirstInArray(wapp_list, (void*)appId)==WANotFound
+            && (WMGetFirstInArray(wapp_list, (void*)appId)==WANotFound
+		|| WFLAGP(wwin, shared_appicon))
             && !WFLAGP(wwin, dont_save_session)) {
             /* A entry for this application was not yet saved. Save one. */
             if ((win_info = makeWindowState(wwin, wapp))!=NULL) {

WindowMaker-0.91.0-alt-sowings.patch:

--- NEW FILE WindowMaker-0.91.0-alt-sowings.patch ---
--- WindowMaker-0.91.0/WINGs/Examples/Makefile.am.vns	2004-08-25 00:56:43 +0400
+++ WindowMaker-0.91.0/WINGs/Examples/Makefile.am	2005-05-18 17:04:02 +0400
@@ -6,23 +6,24 @@
 noinst_PROGRAMS = connect server fontl puzzle colorpick
 
 
-LDADD= $(top_builddir)/WINGs/libWINGs.a $(top_builddir)/wrlib/libwraster.la \
+LDADD= $(top_builddir)/WINGs/libWINGs.la $(top_builddir)/wrlib/libwraster.la \
+	$(top_builddir)/WINGs/libWUtil.la \
 	@XFTLIBS@ @INTLIBS@
 
-colorpick_DEPENDENCIES = $(top_builddir)/WINGs/libWINGs.a
+colorpick_DEPENDENCIES = $(top_builddir)/WINGs/libWINGs.la
 
-fontl_DEPENDENCIES = $(top_builddir)/WINGs/libWINGs.a
+fontl_DEPENDENCIES = $(top_builddir)/WINGs/libWINGs.la
 
-puzzle_DEPENDENCIES = $(top_builddir)/WINGs/libWINGs.a
+puzzle_DEPENDENCIES = $(top_builddir)/WINGs/libWINGs.la
 
-connect_DEPENDENCIES = $(top_builddir)/WINGs/libWUtil.a
+connect_DEPENDENCIES = $(top_builddir)/WINGs/libWUtil.la
 
-connect_LDADD = $(top_builddir)/WINGs/libWUtil.a @LIBRARY_SEARCH_PATH@ \
+connect_LDADD = $(top_builddir)/WINGs/libWUtil.la @LIBRARY_SEARCH_PATH@ \
 	@NETLIBS@ @INTLIBS@
 
-server_DEPENDENCIES = $(top_builddir)/WINGs/libWUtil.a
+server_DEPENDENCIES = $(top_builddir)/WINGs/libWUtil.la
 
-server_LDADD = $(top_builddir)/WINGs/libWUtil.a @LIBRARY_SEARCH_PATH@ \
+server_LDADD = $(top_builddir)/WINGs/libWUtil.la @LIBRARY_SEARCH_PATH@ \
 	@NETLIBS@ @INTLIBS@
 
 
--- WindowMaker-0.91.0/WINGs/Extras/Makefile.am.vns	2004-10-12 06:31:26 +0400
+++ WindowMaker-0.91.0/WINGs/Extras/Makefile.am	2005-05-18 17:04:02 +0400
@@ -10,13 +10,13 @@
 include_HEADERS = wtableview.h wtabledelegates.h 
 
 
-lib_LIBRARIES = libExtraWINGs.a 
+lib_LTLIBRARIES = libExtraWINGs.la 
 
 noinst_PROGRAMS = test
 
 EXTRA_DIST = 
 
-libExtraWINGs_a_SOURCES = 	\
+libExtraWINGs_la_SOURCES = 	\
 	wtableview.c \
 	wtabledelegates.c \
 	wtableview.h \
@@ -27,7 +27,8 @@
 INCLUDES = -I$(top_srcdir)/wrlib -I$(top_srcdir)/WINGs \
 	-DRESOURCE_PATH=\"$(datadir)/WINGs\" @HEADER_SEARCH_PATH@ -DDEBUG
 
-LDADD= $(top_builddir)/WINGs/libWINGs.a $(top_builddir)/wrlib/libwraster.la \
+LDADD= $(top_builddir)/WINGs/libWINGs.la $(top_builddir)/wrlib/libwraster.la \
+	$(top_builddir)/WINGs/libWUtil.la \
 	@XFTLIBS@ @INTLIBS@
 
 test_LDADD = wtableview.o wtabledelegates.o $(LDADD)
--- WindowMaker-0.91.0/WINGs/Tests/Makefile.am.vns	2004-04-07 03:55:21 +0400
+++ WindowMaker-0.91.0/WINGs/Tests/Makefile.am	2005-05-18 17:04:02 +0400
@@ -4,13 +4,14 @@
 
 noinst_PROGRAMS = wtest wmquery wmfile testmywidget 
 
-LDADD= $(top_builddir)/WINGs/libWINGs.a $(top_builddir)/wrlib/libwraster.la \
+LDADD= $(top_builddir)/WINGs/libWINGs.la $(top_builddir)/wrlib/libwraster.la \
+	$(top_builddir)/WINGs/libWUtil.la \
 	@XFTLIBS@ @INTLIBS@
 
 
 testmywidget_SOURCES = testmywidget.c mywidget.c mywidget.h 
 
-wtest_DEPENDENCIES = $(top_builddir)/WINGs/libWINGs.a
+wtest_DEPENDENCIES = $(top_builddir)/WINGs/libWINGs.la
 
 
 EXTRA_DIST = logo.xpm upbtn.xpm wm.html wm.png
--- WindowMaker-0.91.0/WINGs/Makefile.am.vns	2004-10-12 06:31:26 +0400
+++ WindowMaker-0.91.0/WINGs/Makefile.am	2005-05-18 17:08:21 +0400
@@ -6,14 +6,15 @@
 
 
 
-#libWINGs_la_LDFLAGS = -version-info 1:1:0
+libWINGs_la_LDFLAGS = -version-info 2:1:0
+libWUtil_la_LDFLAGS = -version-info 1:2:0
 
 bin_SCRIPTS = get-wings-flags get-wutil-flags
 
-lib_LIBRARIES = libWINGs.a libWUtil.a
+lib_LTLIBRARIES = libWINGs.la libWUtil.la
 
 
-LDADD= libWINGs.a $(top_builddir)/wrlib/libwraster.la @INTLIBS@
+LDADD= libWUtil.la libWINGs.la $(top_builddir)/wrlib/libwraster.la @INTLIBS@
 
 
 EXTRA_DIST = BUGS python/Makefile python/README python/WINGs.i \
@@ -21,32 +22,12 @@
 
 
 # wbutton.c 
-libWINGs_a_SOURCES = 	\
-	array.c \
-	bagtree.c \
+libWINGs_la_SOURCES = 	\
 	configuration.c \
-	connection.c \
-	data.c \
 	dragcommon.c \
 	dragdestination.c \
 	dragsource.c \
-	error.c \
-	findfile.c \
-	handlers.c \
-	hashtable.c \
-	host.c \
-	international.c \
-	memory.c \
-	misc.c \
-	notification.c \
-	proplist.c \
 	selection.c \
-	snprintf.c \
-	string.c \
-	tree.c \
-	userdefaults.c \
-	usleep.c \
-	wapplication.c \
 	wappresource.c \
 	wballoon.c \
 	wbox.c \
@@ -82,8 +63,7 @@
 	wview.c \
 	wwindow.c
 
-
-libWUtil_a_SOURCES = 	\
+libWUtil_la_SOURCES = 	\
 	array.c \
 	bagtree.c \
 	connection.c \
--- WindowMaker-0.91.0/src/Makefile.am.vns	2005-05-18 17:04:02 +0400
+++ WindowMaker-0.91.0/src/Makefile.am	2005-05-18 17:04:02 +0400
@@ -117,7 +117,8 @@
 
 
 wmaker_LDADD = \
-	$(top_builddir)/WINGs/libWINGs.a\
+	$(top_builddir)/WINGs/libWINGs.la\
+	$(top_builddir)/WINGs/libWUtil.la\
 	$(top_builddir)/wrlib/libwraster.la\
 	@XFTLIBS@ \
 	@XLIBS@ \
--- WindowMaker-0.91.0/util/Makefile.am.vns	2004-10-24 01:27:48 +0400
+++ WindowMaker-0.91.0/util/Makefile.am	2005-05-18 17:08:49 +0400
@@ -16,44 +16,47 @@
 
 liblist= @LIBRARY_SEARCH_PATH@ @INTLIBS@
 
-wdwrite_LDADD = $(top_builddir)/WINGs/libWUtil.a $(liblist)
+wdwrite_LDADD = $(top_builddir)/WINGs/libWUtil.la $(liblist)
 
-wdread_LDADD = $(top_builddir)/WINGs/libWUtil.a $(liblist)
+wdread_LDADD = $(top_builddir)/WINGs/libWUtil.la $(liblist)
 
 wxcopy_LDADD = @XLFLAGS@ @XLIBS@ 
 
 wxpaste_LDADD = @XLFLAGS@ @XLIBS@
 
-getstyle_LDADD = $(top_builddir)/WINGs/libWUtil.a $(liblist)
+getstyle_LDADD = $(top_builddir)/WINGs/libWUtil.la $(liblist)
 
 getstyle_SOURCES = getstyle.c fontconv.c
 
 setstyle_LDADD = \
-	$(top_builddir)/WINGs/libWUtil.a \
+	$(top_builddir)/WINGs/libWUtil.la \
 	@XLFLAGS@ @XLIBS@ $(liblist)
 
 setstyle_SOURCES = setstyle.c fontconv.c
 
-convertfonts_LDADD = $(top_builddir)/WINGs/libWUtil.a $(liblist)
+convertfonts_LDADD = $(top_builddir)/WINGs/libWUtil.la $(liblist)
 
 convertfonts_SOURCES = convertfonts.c fontconv.c
 
-seticons_LDADD= $(top_builddir)/WINGs/libWUtil.a $(liblist)
+seticons_LDADD= $(top_builddir)/WINGs/libWUtil.la $(liblist)
 
-geticonset_LDADD= $(top_builddir)/WINGs/libWUtil.a $(liblist)
+geticonset_LDADD= $(top_builddir)/WINGs/libWUtil.la $(liblist)
 
 wmagnify_LDADD = \
-	$(top_builddir)/WINGs/libWINGs.a \
+	$(top_builddir)/WINGs/libWINGs.la \
+	$(top_builddir)/WINGs/libWUtil.la \
 	$(top_builddir)/wrlib/libwraster.la \
 	@XFTLIBS@ @INTLIBS@ @DLLIBS@
 
 wmsetup_LDADD = \
-	$(top_builddir)/WINGs/libWINGs.a \
+	$(top_builddir)/WINGs/libWINGs.la \
+	$(top_builddir)/WINGs/libWUtil.la \
 	$(top_builddir)/wrlib/libwraster.la \
 	@XFTLIBS@ @INTLIBS@ @DLLIBS@
 
 wmsetbg_LDADD = \
-	$(top_builddir)/WINGs/libWINGs.a \
+	$(top_builddir)/WINGs/libWINGs.la \
+	$(top_builddir)/WINGs/libWUtil.la \
 	$(top_builddir)/wrlib/libwraster.la \
 	@XLIBS@ @XFTLIBS@ @INTLIBS@ @DLLIBS@
 
--- WindowMaker-0.91.0/wmlib/Makefile.am.vns	2003-04-18 04:53:39 +0400
+++ WindowMaker-0.91.0/wmlib/Makefile.am	2005-05-18 17:04:02 +0400
@@ -1,13 +1,14 @@
 
 AUTOMAKE_OPTIONS = no-dependencies
 
-lib_LIBRARIES = libWMaker.a
+libWMaker_la_LDFLAGS = -version-info 1:1:0
+lib_LTLIBRARIES = libWMaker.la
 
 include_HEADERS = WMaker.h
 
 INCLUDES = $(DFLAGS) @XCFLAGS@
 
-libWMaker_a_SOURCES = 	\
+libWMaker_la_SOURCES = 	\
 	menu.c 		\
 	app.c 		\
 	event.c 	\
--- WindowMaker-0.91.0/test/Makefile.am.vns	1999-10-03 01:16:11 +0400
+++ WindowMaker-0.91.0/test/Makefile.am	2005-05-18 17:04:02 +0400
@@ -8,7 +8,7 @@
 
 wtest_SOURCES = wtest.c
 
-wtest_LDADD = $(top_builddir)/wmlib/libWMaker.a @XLFLAGS@ @XLIBS@ 
+wtest_LDADD = $(top_builddir)/wmlib/libWMaker.la @XLFLAGS@ @XLIBS@ 
 
 
 INCLUDES = -g -D_BSD_SOURCE @XCFLAGS@ -I$(top_srcdir)/wmlib 
--- WindowMaker-0.91.0/WPrefs.app/Makefile.am.vns	2005-05-18 17:04:02 +0400
+++ WindowMaker-0.91.0/WPrefs.app/Makefile.am	2005-05-18 17:04:02 +0400
@@ -48,10 +48,11 @@
 
 INCLUDES = -I$(top_srcdir)/wrlib -I$(top_srcdir)/WINGs @HEADER_SEARCH_PATH@ 
 
-WPrefs_DEPENDENCIES = $(top_builddir)/WINGs/libWINGs.a
+WPrefs_DEPENDENCIES = $(top_builddir)/WINGs/libWINGs.la
 
 WPrefs_LDADD = \
-	$(top_builddir)/WINGs/libWINGs.a\
+	$(top_builddir)/WINGs/libWINGs.la\
+	$(top_builddir)/WINGs/libWUtil.la\
 	$(top_builddir)/wrlib/libwraster.la \
 	@XFTLIBS@ \
 	@INTLIBS@
--- WindowMaker-0.91.0/configure.ac.vns	2005-05-18 17:04:01 +0400
+++ WindowMaker-0.91.0/configure.ac	2005-05-18 17:04:02 +0400
@@ -969,7 +969,7 @@
 
 WCFLAGS="$inc_search_path"
 WLFLAGS="$lib_search_path"
-WLIBS="-lWINGs -lwraster $GFXLIBS $XFTLIBS $XLIBS -lm $NETLIBS $INTLIBS"
+WLIBS="-lWINGs -lWUtil -lwraster $GFXLIBS $XFTLIBS $XLIBS -lm $NETLIBS $INTLIBS"
 
 usage="Usage: get-wings-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
 

WindowMaker-0.91.0-alt-titlebar.patch:

--- NEW FILE WindowMaker-0.91.0-alt-titlebar.patch ---
--- WindowMaker-0.91.0/src/window.c.vns	2005-05-18 15:51:45 +0400
+++ WindowMaker-0.91.0/src/window.c	2005-05-18 15:55:55 +0400
@@ -1293,7 +1293,10 @@
 
     wwin->frame = wFrameWindowCreate(scr, window_level,
                                      x, y, width, height,
-                                     &wPreferences.window_title_clearance, foo,
+				     &wPreferences.window_title_clearance,
+				     &wPreferences.window_title_min_height,
+				     &wPreferences.window_title_max_height,
+				     foo,
                                      scr->window_title_texture,
                                      scr->resizebar_texture,
                                      scr->window_title_color,
@@ -1630,7 +1633,10 @@
     wwin->frame = wFrameWindowCreate(scr, WMFloatingLevel,
                                      wwin->frame_x, wwin->frame_y,
                                      width, height,
-                                     &wPreferences.window_title_clearance, foo,
+                                     &wPreferences.window_title_clearance,
+                                     &wPreferences.window_title_min_height,
+                                     &wPreferences.window_title_max_height,
+		                     foo,
                                      scr->window_title_texture,
                                      scr->resizebar_texture,
                                      scr->window_title_color,
--- WindowMaker-0.91.0/src/defaults.c.vns	2005-05-18 15:51:45 +0400
+++ WindowMaker-0.91.0/src/defaults.c	2005-05-18 15:51:45 +0400
@@ -376,6 +376,8 @@
 };
 
 
+#define NUM2STRING_(x) #x
+#define NUM2STRING(x) NUM2STRING_(x)
 
 WDefaultEntry optionList[] = {
     /* dynamic options */
@@ -601,9 +603,21 @@
     {"WindowTitleExtendSpace",	DEF_WINDOW_TITLE_EXTEND_SPACE,	       	NULL,
     &wPreferences.window_title_clearance,	getInt,		setClearance
     },
+    {"WindowTitleMinHeight",	"0",	       	NULL,
+    &wPreferences.window_title_min_height,	getInt,		setClearance
+    },
+    {"WindowTitleMaxHeight",	NUM2STRING(INT_MAX),	NULL,
+    &wPreferences.window_title_max_height,	getInt,		setClearance
+    },
     {"MenuTitleExtendSpace",	DEF_MENU_TITLE_EXTEND_SPACE,	       	NULL,
     &wPreferences.menu_title_clearance,	getInt,		setClearance
     },
+    {"MenuTitleMinHeight",	"0",	       	NULL,
+    &wPreferences.menu_title_min_height,	getInt,		setClearance
+    },
+    {"MenuTitleMaxHeight",	NUM2STRING(INT_MAX),	NULL,
+    &wPreferences.menu_title_max_height,	getInt,		setClearance
+    },
     {"MenuTextExtendSpace",	DEF_MENU_TEXT_EXTEND_SPACE,	       	NULL,
     &wPreferences.menu_text_clearance,	getInt,		setClearance
     },
--- WindowMaker-0.91.0/src/WindowMaker.h.vns	2005-05-18 15:51:45 +0400
+++ WindowMaker-0.91.0/src/WindowMaker.h	2005-05-18 15:51:45 +0400
@@ -371,7 +371,11 @@
     signed char title_justification;	       /* titlebar text alignment */
 
     int window_title_clearance;
+    int window_title_min_height;
+    int window_title_max_height;
     int menu_title_clearance;
+    int menu_title_min_height;
+    int menu_title_max_height;
     int menu_text_clearance;
 
     char multi_byte_text;
--- WindowMaker-0.91.0/src/framewin.c.vns	2005-05-18 15:51:45 +0400
+++ WindowMaker-0.91.0/src/framewin.c	2005-05-18 15:54:16 +0400
@@ -63,7 +63,8 @@
 
 WFrameWindow*
 wFrameWindowCreate(WScreen *scr, int wlevel, int x, int y,
-                   int width, int height, int *clearance, int flags,
+		   int width, int height, int *clearance,
+		   int *title_min, int *title_max, int flags,
                    WTexture **title_texture, WTexture **resize_texture,
                    WMColor **color, WMFont **font)
 {
@@ -80,6 +81,8 @@
     fwin->resizebar_texture = resize_texture;
     fwin->title_color = color;
     fwin->title_clearance = clearance;
+    fwin->title_min_height = title_min;
+    fwin->title_max_height = title_max;
     fwin->font = font;
 #ifdef KEEP_XKB_LOCK_STATUS
     fwin->languagemode = XkbGroup1Index;
@@ -130,7 +133,11 @@
         height = fwin->core->height - fwin->top_width - fwin->bottom_width;
 
     if (flags & WFF_TITLEBAR)
-        theight = WMFontHeight(*fwin->font) + (*fwin->title_clearance + TITLEBAR_EXTEND_SPACE) * 2;
+    {
+	theight = WMFontHeight(*fwin->font) + (*fwin->title_clearance + TITLEBAR_EXTEND_SPACE) * 2;
+	if(theight > *fwin->title_max_height) theight = *fwin->title_max_height;
+	if(theight < *fwin->title_min_height) theight = *fwin->title_min_height;
+    }
     else
         theight = 0;
 
@@ -490,6 +497,8 @@
     int theight;
 
     theight = WMFontHeight(*fwin->font) + (*fwin->title_clearance + TITLEBAR_EXTEND_SPACE) * 2;
+    if(theight > *fwin->title_max_height) theight = *fwin->title_max_height;
+    if(theight < *fwin->title_min_height) theight = *fwin->title_min_height;
 
     x = 0;
     w = fwin->core->width + 1;
@@ -1097,8 +1106,11 @@
                 break;
             }
 
+
             y = *fwin->title_clearance + TITLEBAR_EXTEND_SPACE;
             h = WMFontHeight(*fwin->font);
+            if(y*2 + h > *fwin->title_max_height) y = (*fwin->title_max_height - h)/2;
+            if(y*2 + h < *fwin->title_min_height) y = (*fwin->title_min_height - h)/2;
 
             /* We use a w+2 buffer to have an extra pixel on the left and
              * another one on the right. This is because for some odd reason,
--- WindowMaker-0.91.0/src/menu.c.vns	2005-05-18 15:51:45 +0400
+++ WindowMaker-0.91.0/src/menu.c	2005-05-18 15:51:45 +0400
@@ -180,7 +180,10 @@
         menu->flags.titled = 1;
     }
     menu->frame =
-        wFrameWindowCreate(screen, tmp, 8, 2, 1, 1, &wPreferences.menu_title_clearance, flags,
+        wFrameWindowCreate(screen, tmp, 8, 2, 1, 1, &wPreferences.menu_title_clearance,
+		           &wPreferences.menu_title_min_height,
+			   &wPreferences.menu_title_max_height,
+			   flags,
                            screen->menu_title_texture, NULL,
                            screen->menu_title_color,
                            &screen->menu_title_font);
--- WindowMaker-0.91.0/src/framewin.h.vns	2004-10-15 01:24:06 +0400
+++ WindowMaker-0.91.0/src/framewin.h	2005-05-18 15:56:27 +0400
@@ -59,6 +59,8 @@
 
     short top_width;
     int *title_clearance;
+    int *title_min_height;
+    int *title_max_height;
     short bottom_width;
 
     short resizebar_corner_width;
@@ -149,7 +151,8 @@
 
 WFrameWindow*
 wFrameWindowCreate(WScreen *scr, int wlevel, int x, int y,
-                   int width, int height, int *clearance, int flags,
+		   int width, int height, int *clearance,
+		   int *title_min, int *title_max, int flags,
                    union WTexture **title_texture,
                    union WTexture **resize_texture,
                    WMColor **color, WMFont **font);
--- WindowMaker-0.91.0/src/moveres.c.vns	2004-10-24 23:36:09 +0400
+++ WindowMaker-0.91.0/src/moveres.c	2005-05-18 15:51:45 +0400
@@ -497,6 +497,8 @@
 
     if (HAS_TITLEBAR(wwin) && !wwin->flags.shaded) {
         h = WMFontHeight(wwin->screen_ptr->title_font) + (wPreferences.window_title_clearance + TITLEBAR_EXTEND_SPACE) * 2;
+	if(h > wPreferences.window_title_max_height) h = wPreferences.window_title_max_height;
+	if(h < wPreferences.window_title_min_height) h = wPreferences.window_title_min_height;
     }
     if (HAS_RESIZEBAR(wwin) && !wwin->flags.shaded) {
         /* Can't use wwin-frame->bottom_width because, in some cases
--- WindowMaker-0.91.0/src/placement.c.vns	2004-10-23 03:58:59 +0400
+++ WindowMaker-0.91.0/src/placement.c	2005-05-18 15:57:35 +0400
@@ -594,6 +594,9 @@
 {
     WScreen *scr = wwin->screen_ptr;
     int h = WMFontHeight(scr->title_font) + (wPreferences.window_title_clearance + TITLEBAR_EXTEND_SPACE) * 2;
+    if(h > wPreferences.window_title_max_height) h = wPreferences.window_title_max_height;
+    if(h < wPreferences.window_title_min_height) h = wPreferences.window_title_min_height;
+
     WArea usableArea = wGetUsableAreaForHead(scr,
                                              wGetHeadForPointerLocation(scr),
                                              NULL, True);

WindowMaker-0.91.0-alt-vlaad-newbuttons.patch:

--- NEW FILE WindowMaker-0.91.0-alt-vlaad-newbuttons.patch ---
--- WindowMaker-0.91.0/src/screen.c.vns	2004-10-25 02:23:48 +0400
+++ WindowMaker-0.91.0/src/screen.c	2005-05-18 15:08:52 +0400
@@ -162,41 +162,73 @@
     WPixmap *pix;
 
     /* create predefined pixmaps */
-    pix = wPixmapCreateFromXPMData(scr, PRED_CLOSE_XPM);
+    if (wPreferences.new_style == TS_NEXT) {
+	pix = wPixmapCreateFromXPMData(scr, NEXT_CLOSE_XPM);
+    } else {
+	pix = wPixmapCreateFromXPMData(scr, PRED_CLOSE_XPM);
+    }
     if (pix)
         pix->shared = 1;
     scr->b_pixmaps[WBUT_CLOSE] = pix;
 
-    pix = wPixmapCreateFromXPMData(scr, PRED_BROKEN_CLOSE_XPM);
+    if (wPreferences.new_style == TS_NEXT) {
+        pix = wPixmapCreateFromXPMData(scr, NEXT_BROKEN_CLOSE_XPM);
+    } else {
+        pix = wPixmapCreateFromXPMData(scr, PRED_BROKEN_CLOSE_XPM);
+    }
     if (pix)
         pix->shared = 1;
     scr->b_pixmaps[WBUT_BROKENCLOSE] = pix;
 
-    pix = wPixmapCreateFromXPMData(scr, PRED_ICONIFY_XPM);
+    if (wPreferences.new_style == TS_NEXT) {
+        pix = wPixmapCreateFromXPMData(scr, NEXT_ICONIFY_XPM);
+    } else {
+        pix = wPixmapCreateFromXPMData(scr, PRED_ICONIFY_XPM);
+    }
     if (pix)
         pix->shared = 1;
     scr->b_pixmaps[WBUT_ICONIFY] = pix;
 #ifdef XKB_BUTTON_HINT
-    pix = wPixmapCreateFromXPMData(scr, PRED_XKBGROUP1_XPM);
+    if (wPreferences.new_style == TS_NEXT) {
+        pix = wPixmapCreateFromXPMData(scr, NEXT_XKBGROUP1_XPM);
+    } else {
+        pix = wPixmapCreateFromXPMData(scr, PRED_XKBGROUP1_XPM);
+    }
     if (pix)
         pix->shared = 1;
     scr->b_pixmaps[WBUT_XKBGROUP1] = pix;
-    pix = wPixmapCreateFromXPMData(scr, PRED_XKBGROUP2_XPM);
+    if (wPreferences.new_style == TS_NEXT) {
+    	pix = wPixmapCreateFromXPMData(scr, NEXT_XKBGROUP2_XPM);
+    } else {
+    	pix = wPixmapCreateFromXPMData(scr, PRED_XKBGROUP2_XPM);
+    }
     if (pix)
         pix->shared = 1;
     scr->b_pixmaps[WBUT_XKBGROUP2] = pix;
-    pix = wPixmapCreateFromXPMData(scr, PRED_XKBGROUP3_XPM);
+    if (wPreferences.new_style == TS_NEXT) {
+    	pix = wPixmapCreateFromXPMData(scr, NEXT_XKBGROUP3_XPM);
+    } else {
+    	pix = wPixmapCreateFromXPMData(scr, PRED_XKBGROUP3_XPM);
+    }
     if (pix)
         pix->shared = 1;
     scr->b_pixmaps[WBUT_XKBGROUP3] = pix;
-    pix = wPixmapCreateFromXPMData(scr, PRED_XKBGROUP4_XPM);
+    if (wPreferences.new_style == TS_NEXT) {
+    	pix = wPixmapCreateFromXPMData(scr, NEXT_XKBGROUP4_XPM);
+    } else {
+    	pix = wPixmapCreateFromXPMData(scr, PRED_XKBGROUP4_XPM);
+    }
     if (pix)
         pix->shared = 1;
     scr->b_pixmaps[WBUT_XKBGROUP4] = pix;
 #endif
 
 
-    pix = wPixmapCreateFromXPMData(scr, PRED_KILL_XPM);
+    if (wPreferences.new_style == TS_NEXT) {
+	pix = wPixmapCreateFromXPMData(scr, NEXT_KILL_XPM);
+    } else {
+	pix = wPixmapCreateFromXPMData(scr, PRED_KILL_XPM);
+    }
     if (pix)
         pix->shared = 1;
     scr->b_pixmaps[WBUT_KILL] = pix;
--- WindowMaker-0.91.0/src/texture.c.vns	2004-10-12 21:47:39 +0400
+++ WindowMaker-0.91.0/src/texture.c	2005-05-18 15:05:55 +0400
@@ -707,20 +707,32 @@
         segs[1].y1 = 1;
         segs[1].x2 = width - 2;
         segs[1].y2 = height - 2;
-        XDrawSegments(dpy, d, dim, segs, 2);
+	if (wPreferences.new_style == TS_NEXT) {
+	    XDrawSegments(dpy, d, dark, segs, 2);
+	} else {
+	    XDrawSegments(dpy, d, dim, segs, 2);
+	}
         segs[0].x1 = 0;
         segs[0].x2 = width - 1;
         segs[0].y2 = segs[0].y1 = height - 1;
         segs[1].x1 = segs[1].x2 = width - 1;
         segs[1].y1 = 0;
         segs[1].y2 = height - 1;
-        XDrawSegments(dpy, d, dark, segs, 2);
+	if (wPreferences.new_style == TS_NEXT) {
+    	    XDrawSegments(dpy, d, light, segs, 2);
+	} else {
+	    XDrawSegments(dpy, d, dark, segs, 2);
+	}
         segs[0].x1 = segs[0].y1 = segs[0].y2 = 0;
         segs[0].x2 = width - 2;
         segs[1].x1 = segs[1].y1 = 0;
         segs[1].x2 = 0;
         segs[1].y2 = height - 2;
-        XDrawSegments(dpy, d, light, segs, 2);
+	if (wPreferences.new_style == TS_NEXT) {
+    	    XDrawSegments(dpy, d, dark, segs, 2);
+	} else {
+    	    XDrawSegments(dpy, d, light, segs, 2);
+	}
         if (relief==WREL_ICON) {
             segs[0].x1 = segs[0].y1 = segs[0].y2 = 1;
             segs[0].x2 = width - 2;
--- WindowMaker-0.91.0/src/defaults.c.vns	2005-05-18 14:57:22 +0400
+++ WindowMaker-0.91.0/src/defaults.c	2005-05-18 14:57:22 +0400
@@ -221,6 +221,11 @@
     {NULL, 0, 0}
 };
 
+static WOptionEnumeration seTitlebarModes[] = {
+    {"new", TS_NEW, 0}, {"old", TS_OLD, 0},
+    {"next", TS_NEXT, 0}, {NULL, 0, 0}
+};
+
 static WOptionEnumeration seColormapModes[] = {
     {"Manual", WCM_CLICK, 0}, {"ClickToFocus", WCM_CLICK, 1},
     {"Auto", WCM_POINTER, 0}, {"FocusFollowMouse", WCM_POINTER, 1},
@@ -356,8 +361,8 @@
     {"FocusMode",	"manual",		seFocusModes,
     &wPreferences.focus_mode,	getEnum,	NULL
     }, /* have a problem when switching from manual to sloppy without restart */
-    {"NewStyle",	"NO",			NULL,
-    &wPreferences.new_style, 	getBool, 	NULL
+    {"NewStyle",	"new",			seTitlebarModes,
+    &wPreferences.new_style, 	getEnum, 	NULL
     },
     {"DisableDock",	"NO",		(void*) WM_DOCK,
     NULL, 	getBool,        setIfDockPresent
--- WindowMaker-0.91.0/src/extend_pixmaps.h.vns	2004-10-12 21:55:09 +0400
+++ WindowMaker-0.91.0/src/extend_pixmaps.h	2005-05-18 14:57:22 +0400
@@ -113,5 +113,79 @@
 };
 
 
+static char *NEXT_XKBGROUP1_XPM[] = {
+"10 10 6 1",
+" 	c None",
+".	c #E0E0E0",
+"+	c #7D7D7D",
+"@	c #363636",
+"#	c #080808",
+"$	c #BDBDBD",
+".........+",
+"..@@@@@@++",
+"..@####+++",
+"..#+$$$$++",
+"..###+.$++",
+"..#++..$++",
+"..#$.$$$++",
+"..#@@@@+++",
+".$+#####@@",
+"+++++++@@@"};
 
+static char *NEXT_XKBGROUP2_XPM[] = {
+"10 10 6 1",
+" 	c None",
+".	c #E0E0E0",
+"+	c #7D7D7D",
+"@	c #BDBDBD",
+"#	c #080808",
+"$	c #363636",
+".........+",
+".@##@@$#++",
+".#.+#+###+",
+".#+######+",
+".########+",
+"..######++",
+"..@####+++",
+".@@@#$++++",
+". at ++#$++$$",
+"+++++++$$$"};
+
+static char *NEXT_XKBGROUP3_XPM[] = {
+"10 10 6 1",
+" 	c None",
+".	c #E0E0E0",
+"+	c #7D7D7D",
+"@	c #BDBDBD",
+"#	c #080808",
+"$	c #363636",
+".........+",
+"..@####.++",
+".@######.+",
+".#.+##.+#+",
+".#++##++#+",
+".########+",
+".##@##@##+",
+".+##@@##$+",
+". at +####$$$",
+"+++++++$$$"};
+
+static char *NEXT_XKBGROUP4_XPM[] = {
+"10 10 6 1",
+" 	c None",
+".	c #E0E0E0",
+"+	c #7D7D7D",
+"@	c #BDBDBD",
+"#	c #080808",
+"$	c #363636",
+".........+",
+"..@####.++",
+".@#@@@@#.+",
+".##$@@#$#+",
+".#$$@@$$#+",
+".#@@@@++#+",
+".#+#++#.#+",
+".+#+##$#$+",
+". at +####$$$",
+"+++++++$$$"};
 
--- WindowMaker-0.91.0/src/WindowMaker.h.vns	2005-05-18 14:57:22 +0400
+++ WindowMaker-0.91.0/src/WindowMaker.h	2005-05-18 14:57:22 +0400
@@ -239,6 +239,10 @@
 #define WD_BOTTOMLEFT	6
 #define WD_BOTTOMRIGHT	7
 
+/* titlebar style */
+#define TS_NEW		0
+#define TS_OLD		1
+#define TS_NEXT		2
 
 /* workspace border position */
 #define	WB_NONE		0
--- WindowMaker-0.91.0/src/framewin.c.vns	2004-10-15 02:55:15 +0400
+++ WindowMaker-0.91.0/src/framewin.c	2005-05-18 15:23:34 +0400
@@ -134,10 +134,12 @@
     else
         theight = 0;
 
-    if (wPreferences.new_style) {
-        bsize = theight;
+    if (wPreferences.new_style == TS_NEW) {
+	bsize = theight;
+    } else if (wPreferences.new_style == TS_OLD) {
+	bsize = theight - 7;
     } else {
-        bsize = theight - 7;
+	bsize = theight - 8;
     }
 
     if (fwin->titlebar) {
@@ -148,7 +150,7 @@
 
             fwin->flags.need_texture_remake = 1;
 
-            if (wPreferences.new_style) {
+	    if (wPreferences.new_style == TS_NEW) {
                 if (fwin->left_button) {
                     wCoreConfigure(fwin->left_button, 0, 0, bsize, bsize);
                 }
@@ -190,7 +192,7 @@
             /* we had a titlebar, but now we don't need it anymore */
             for (i=0; i < (fwin->flags.single_texture ? 1 : 3); i++) {
                 FREE_PIXMAP(fwin->title_back[i]);
-                if (wPreferences.new_style) {
+		if (wPreferences.new_style == TS_NEW) {
                     FREE_PIXMAP(fwin->lbutton_back[i]);
                     FREE_PIXMAP(fwin->rbutton_back[i]);
 #ifdef XKB_BUTTON_HINT
@@ -228,7 +230,7 @@
 
             if (flags & WFF_LEFT_BUTTON) {
                 fwin->flags.left_button = 1;
-                if (wPreferences.new_style) {
+		if (wPreferences.new_style == TS_NEW) {
                     fwin->left_button = wCoreCreate(fwin->core, 0, 0,
                                                     bsize, bsize);
                     if (width < theight*4) {
@@ -236,7 +238,7 @@
                     } else {
                         XMapRaised(dpy, fwin->left_button->window);
                     }
-                } else {
+		} else if (wPreferences.new_style == TS_OLD) {
                     fwin->left_button =
                         wCoreCreate(fwin->titlebar, 3, (theight-bsize)/2,
                                     bsize, bsize);
@@ -249,13 +251,26 @@
                     } else {
                         XMapRaised(dpy, fwin->left_button->window);
                     }
+		} else {
+		    fwin->left_button = 
+			wCoreCreate(fwin->titlebar, 3, (theight-bsize)/2,
+				    bsize, bsize);
+		    
+		    XSetWindowBackground(dpy, fwin->left_button->window,
+					 scr->widget_texture->dark.pixel);
+		    
+		    if (width < theight*3) {
+			fwin->flags.lbutton_dont_fit = 1;
+		    } else {
+			XMapRaised(dpy, fwin->left_button->window);
+		    }
                 }
             }
 
 #ifdef XKB_BUTTON_HINT
             if (flags & WFF_LANGUAGE_BUTTON) {
                 fwin->flags.language_button = 1;
-                if (wPreferences.new_style) {
+		if (wPreferences.new_style == TS_NEW) {
                     fwin->language_button = wCoreCreate(fwin->core,
                                                         bsize, 0, bsize, bsize);
 
@@ -283,17 +298,23 @@
 
             if (flags & WFF_RIGHT_BUTTON) {
                 fwin->flags.right_button = 1;
-                if (wPreferences.new_style) {
+                if (wPreferences.new_style == TS_NEW) {
                     fwin->right_button =
                         wCoreCreate(fwin->core, width-bsize+1, 0,
                                     bsize, bsize);
-                } else {
+                } else if (wPreferences.new_style == TS_OLD) {
                     fwin->right_button =
                         wCoreCreate(fwin->titlebar, width-bsize-3,
                                     (theight-bsize)/2, bsize, bsize);
                     XSetWindowBackground(dpy, fwin->right_button->window,
                                          scr->widget_texture->normal.pixel);
-                }
+                } else {
+		    fwin->right_button =
+			wCoreCreate(fwin->titlebar, width-bsize-3,
+				    (theight-bsize)/2, bsize, bsize);
+		    XSetWindowBackground(dpy, fwin->right_button->window,
+					 scr->widget_texture->dark.pixel);
+		}
 
                 if (width < theight*2) {
                     fwin->flags.rbutton_dont_fit = 1;
@@ -302,7 +323,7 @@
                 }
             }
 
-            if (wPreferences.new_style)
+            if (wPreferences.new_style == TS_NEW)
                 updateTitlebar(fwin);
 
             XMapRaised(dpy, fwin->titlebar->window);
@@ -436,7 +457,7 @@
 
     for (i=0; i < (fwin->flags.single_texture ? 1 : 3); i++) {
         FREE_PIXMAP(fwin->title_back[i]);
-        if (wPreferences.new_style) {
+        if (wPreferences.new_style == TS_NEW) {
             FREE_PIXMAP(fwin->lbutton_back[i]);
 #ifdef XKB_BUTTON_HINT
             FREE_PIXMAP(fwin->languagebutton_back[i]);
@@ -473,7 +494,7 @@
     x = 0;
     w = fwin->core->width + 1;
 
-    if (wPreferences.new_style) {
+    if (wPreferences.new_style == TS_NEW) {
         if (fwin->flags.hide_left_button || !fwin->left_button
             || fwin->flags.lbutton_dont_fit) {
             x = 0;
@@ -522,14 +543,14 @@
     }
 #endif
 
-    if (wPreferences.new_style) {
+    if (wPreferences.new_style == TS_NEW) {
         if (!fwin->flags.hide_right_button && fwin->right_button
             && !fwin->flags.rbutton_dont_fit) {
             w -= fwin->right_button->width;
         }
     }
 
-    if (wPreferences.new_style || fwin->titlebar->width!=w)
+    if (wPreferences.new_style == TS_NEW || fwin->titlebar->width!=w)
         fwin->flags.need_texture_remake = 1;
 
     wCoreConfigure(fwin->titlebar, x, 0, w, theight);
@@ -557,7 +578,7 @@
 #endif
 
     if (fwin->titlebar) {
-        if (wPreferences.new_style) {
+	if (wPreferences.new_style == TS_NEW) {
             updateTitlebar(fwin);
         } else {
 #ifdef XKB_BUTTON_HINT
@@ -606,7 +627,7 @@
 
 
     if (fwin->titlebar) {
-        if (wPreferences.new_style) {
+	if (wPreferences.new_style == TS_NEW) {
             updateTitlebar(fwin);
         } else {
             XClearWindow(dpy, fwin->titlebar->window);
@@ -648,7 +669,7 @@
         return;
     }
 
-    if (wPreferences.new_style) {
+    if (wPreferences.new_style == TS_NEW) {
         if (left) {
             limg = RGetSubImage(img, 0, 0, bwidth, bheight);
         } else
@@ -791,7 +812,7 @@
         if (fwin->title_texture[i]->any.type!=WTEX_SOLID) {
             XSetWindowBackgroundPixmap(dpy, fwin->titlebar->window,
                                        fwin->title_back[i]);
-            if (wPreferences.new_style) {
+	    if (wPreferences.new_style == TS_NEW) {
                 if (fwin->left_button && fwin->lbutton_back[i])
                     XSetWindowBackgroundPixmap(dpy, fwin->left_button->window,
                                                fwin->lbutton_back[i]);
@@ -810,7 +831,7 @@
         } else {
             pixel = fwin->title_texture[i]->solid.normal.pixel;
             XSetWindowBackground(dpy, fwin->titlebar->window, pixel);
-            if (wPreferences.new_style) {
+	    if (wPreferences.new_style == TS_NEW) {
                 if (fwin->left_button)
                     XSetWindowBackground(dpy, fwin->left_button->window,
                                          pixel);
@@ -855,7 +876,7 @@
 
     if (fwin->title_texture[state] && fwin->titlebar) {
         FREE_PIXMAP(fwin->title_back[state]);
-        if (wPreferences.new_style) {
+ 	if (wPreferences.new_style == TS_NEW) {
             FREE_PIXMAP(fwin->lbutton_back[state]);
             FREE_PIXMAP(fwin->rbutton_back[state]);
 #ifdef XKB_BUTTON_HINT
@@ -895,7 +916,7 @@
 #endif
 
             fwin->title_back[state] = pmap;
-            if (wPreferences.new_style) {
+	    if (wPreferences.new_style == TS_NEW) {
                 fwin->lbutton_back[state] = lpmap;
                 fwin->rbutton_back[state] = rpmap;
 #ifdef XKB_BUTTON_HINT
@@ -1023,7 +1044,7 @@
         int allButtons = 1;
 
 
-        if (!wPreferences.new_style) {
+        if (!wPreferences.new_style == TS_NEW) {
             if (fwin->left_button && !fwin->flags.hide_left_button
                 && !fwin->flags.lbutton_dont_fit)
                 lofs += fwin->left_button->width + 3;
@@ -1128,7 +1149,7 @@
 reconfigure(WFrameWindow *fwin, int x, int y, int width, int height,
             Bool dontMove)
 {
-    int k = (wPreferences.new_style ? 4 : 3);
+    int k = (wPreferences.new_style == TS_NEW ? 4 : 3);
     int resizedHorizontally = 0;
 
     if (dontMove)
@@ -1203,7 +1224,7 @@
             }
         }
 
-        if (wPreferences.new_style) {
+        if (wPreferences.new_style == TS_NEW) {	    
             if (fwin->right_button)
                 XMoveWindow(dpy, fwin->right_button->window,
                             width - fwin->right_button->width + 1, 0);
@@ -1318,7 +1339,7 @@
         width = fwin->titlebar->width - 6 - 6;
     }
 
-    if (!wPreferences.new_style) {
+    if (!wPreferences.new_style == TS_NEW) {
         if (fwin->left_button && !fwin->flags.hide_left_button
             && !fwin->flags.lbutton_dont_fit)
             width -= fwin->left_button->width + 3;
@@ -1363,20 +1384,30 @@
             }
         }
         XSetClipMask(dpy, copy_gc, None);
-        XSetForeground(dpy, copy_gc, scr->white_pixel);
+	if (wPreferences.new_style == TS_NEXT) {
+	    XSetForeground(dpy, copy_gc, scr->black_pixel);
+	} else {
+	    XSetForeground(dpy, copy_gc, scr->white_pixel);
+	}
         d=1;
-        if (wPreferences.new_style) {
+	if (wPreferences.new_style == TS_NEW) {
             XFillRectangle(dpy, button->window, copy_gc, 0, 0,
                            button->width-1, button->height-1);
             XSetForeground(dpy, copy_gc, scr->black_pixel);
             XDrawRectangle(dpy, button->window, copy_gc, 0, 0,
                            button->width-1, button->height-1);
-        } else {
+	} else if (wPreferences.new_style == TS_OLD) {
             XFillRectangle(dpy, button->window, copy_gc, 0, 0,
                            button->width, button->height);
             XSetForeground(dpy, copy_gc, scr->black_pixel);
             XDrawRectangle(dpy, button->window, copy_gc, 0, 0,
                            button->width, button->height);
+	} else {
+	    XFillRectangle(dpy, button->window, copy_gc, 0, 0,
+			   button->width-3, button->height-3);
+	    XSetForeground(dpy, copy_gc, scr->black_pixel);
+	    XDrawRectangle(dpy, button->window, copy_gc, 0, 0,
+			   button->width-3, button->height-3);
         }
     } else {
         XClearWindow(dpy, button->window);
@@ -1389,7 +1420,7 @@
         }
         d=0;
 
-        if (wPreferences.new_style) {
+        if (wPreferences.new_style == TS_NEW) {
             if (texture->any.type==WTEX_SOLID || pushed) {
                 wDrawBevel(button->window, button->width, button->height,
                            (WTexSolid*)texture, WREL_RAISED);
@@ -1406,7 +1437,7 @@
         x = (button->width - width)/2 + d;
         y = (button->height - image->height)/2 + d;
         XSetClipOrigin(dpy, copy_gc, x-left, y);
-        if (!wPreferences.new_style) {
+        if (!(wPreferences.new_style == TS_NEW)) {
             XSetForeground(dpy, copy_gc, scr->black_pixel);
             if (!pushed) {
                 if (image->depth==1)
@@ -1416,9 +1447,15 @@
                     XCopyArea(dpy, image->image, button->window, copy_gc,
                               left, 0, width, image->height, x, y);
             } else {
-                XSetForeground(dpy, copy_gc, scr->dark_pixel);
-                XFillRectangle(dpy, button->window, copy_gc, 0, 0,
-                               button->width, button->height);
+		if (wPreferences.new_style == TS_OLD) {
+		    XSetForeground(dpy, copy_gc, scr->dark_pixel);
+		    XFillRectangle(dpy, button->window, copy_gc, 0, 0,
+			           button->width, button->height);
+		} else {
+		    XSetForeground(dpy, copy_gc, scr->black_pixel);
+		    XCopyArea(dpy, image->image, button->window, copy_gc,
+				 left, 0, width, image->height, x, y);
+		}
             }
         } else {
             if (pushed) {
--- WindowMaker-0.91.0/src/def_pixmaps.h.vns	2004-10-12 21:54:26 +0400
+++ WindowMaker-0.91.0/src/def_pixmaps.h	2005-05-18 14:57:22 +0400
@@ -97,6 +97,272 @@
     ".........."
 };
 
+static char *NEXT_CLOSE_XPM[] = {
+"10 10 69 1",
+" 	c None",
+".	c #FBFBFB",
+"+	c #F9F9F9",
+"@	c #F7F7F7",
+"#	c #F4F4F4",
+"$	c #F0F0F0",
+"%	c #EDEDED",
+"&	c #E8E8E8",
+"*	c #AFAFAF",
+"=	c #FCFCFC",
+"-	c #8B8B8B",
+";	c #DEDEDE",
+">	c #E0E0E0",
+",	c #C7C7C7",
+"'	c #999999",
+")	c #2B2B2B",
+"!	c #878787",
+"~	c #F1F1F1",
+"{	c #222222",
+"]	c #C2C2C2",
+"^	c #EBEBEB",
+"/	c #DCDCDC",
+"(	c #9F9F9F",
+"_	c #363636",
+":	c #FEFEFE",
+"<	c #C1C1C1",
+"[	c #232323",
+"}	c #CFCFCF",
+"|	c #282828",
+"1	c #D5D5D5",
+"2	c #FAFAFA",
+"3	c #F6F6F6",
+"4	c #D3D3D3",
+"5	c #121212",
+"6	c #BEBEBE",
+"7	c #898989",
+"8	c #838383",
+"9	c #EEEEEE",
+"0	c #E9E9E9",
+"a	c #CDCDCD",
+"b	c #080808",
+"c	c #131313",
+"d	c #A1A1A1",
+"e	c #7F7F7F",
+"f	c #808080",
+"g	c #D9D9D9",
+"h	c #8D8D8D",
+"i	c #1D1D1D",
+"j	c #C9C9C9",
+"k	c #B4B4B4",
+"l	c #191919",
+"m	c #6A6A6A",
+"n	c #6C6C6C",
+"o	c #7A7A7A",
+"p	c #B1B1B1",
+"q	c #202020",
+"r	c #BBBBBB",
+"s	c #D4D4D4",
+"t	c #151515",
+"u	c #515151",
+"v	c #747474",
+"w	c #3A3A3A",
+"x	c #CCCCCC",
+"y	c #B3B3B3",
+"z	c #939393",
+"A	c #A3A3A3",
+"B	c #919191",
+"C	c #858585",
+"D	c #7C7C7C",
+"...+@#$%&*",
+"=-;#%>,')!",
+"=~{]^/(_!!",
+"=:<[}*|1(!",
+"2 at 345[>678",
+"@90abc6def",
+"#ghijklmno",
+"~pqrgs(tuv",
+"%wxx'-p8tn",
+"yzAB7C8enD"};
+
+
+static char * NEXT_BROKEN_CLOSE_XPM[] = {
+"10 10 8 1",
+" 	c None",
+".	c #E0E0E0",
+"+	c #7D7D7D",
+"@	c #DBDBDB",
+"#	c #BDBDBD",
+"$	c #080808",
+"%	c #363636",
+"&	c #D4D4D4",
+".........+",
+".+ at ...#+$+",
+"..$#. at +%++",
+"..###++&++",
+"...&...#++",
+"...&..#+++",
+". at +##+%%%+",
+".+$#@&+$%%",
+".%##++++$%",
+"++++++++%+"};
+
+static char *NEXT_KILL_XPM[] = {
+"10 10 64 1",
+" 	c None",
+".	c #FBFBFB",
+"+	c #FAFAFA",
+"@	c #F7F7F7",
+"#	c #F5F5F5",
+"$	c #F6F6F6",
+"%	c #EEEEEE",
+"&	c #B3B3B3",
+"*	c #FCFCFC",
+"=	c #8B8B8B",
+"-	c #E3E3E3",
+";	c #F4F4F4",
+">	c #ECECEC",
+",	c #EAEAEA",
+"'	c #BFBFBF",
+")	c #474747",
+"!	c #A5A5A5",
+"~	c #EFEFEF",
+"{	c #262626",
+"]	c #B6B6B6",
+"^	c #B4B4B4",
+"/	c #282828",
+"(	c #A3A3A3",
+"_	c #FEFEFE",
+":	c #E0E0E0",
+"<	c #B8B8B8",
+"[	c #C5C5C5",
+"}	c #DCDCDC",
+"|	c #D3D3D3",
+"1	c #E4E4E4",
+"2	c #B1B1B1",
+"3	c #878787",
+"4	c #D5D5D5",
+"5	c #202020",
+"6	c #222222",
+"7	c #F1F1F1",
+"8	c #959595",
+"9	c #838383",
+"0	c #DBDBDB",
+"a	c #252525",
+"b	c #E9E9E9",
+"c	c #F0F0F0",
+"d	c #999999",
+"e	c #808080",
+"f	c #9B9B9B",
+"g	c #C2C2C2",
+"h	c #7C7C7C",
+"i	c #7A7A7A",
+"j	c #232323",
+"k	c #CCCCCC",
+"l	c #C1C1C1",
+"m	c #181818",
+"n	c #404040",
+"o	c #747474",
+"p	c #E7E7E7",
+"q	c #303030",
+"r	c #C9C9C9",
+"s	c #ACACAC",
+"t	c #787878",
+"u	c #141414",
+"v	c #6C6C6C",
+"w	c #8F8F8F",
+"x	c #858585",
+"y	c #7F7F7F",
+"...+@#$$%&",
+"*=-+;>,')!",
+"*~{];#^/((",
+"*_:<[}|123",
+"+ at +456;789",
+"@~706abcde",
+"#0fg#$3ehi",
+"c=jk>%lmno",
+"pqr}s(^tuv",
+"2w!d=x9yvh"};
+
+static char *NEXT_ICONIFY_XPM[] = {
+"10 10 72 1",
+" 	c None",
+".	c #FCFCFC",
+"+	c #FAFAFA",
+"@	c #F8F8F8",
+"#	c #F6F6F6",
+"$	c #F2F2F2",
+"%	c #EFEFEF",
+"&	c #EAEAEA",
+"*	c #A6A6A6",
+"=	c #FEFEFE",
+"-	c #FDFDFD",
+";	c #F9F9F9",
+">	c #E2E2E2",
+",	c #CBCBCB",
+"'	c #AFAFAF",
+")	c #808080",
+"!	c #717171",
+"~	c #FFFFFF",
+"{	c #FBFBFB",
+"]	c #F1F1F1",
+"^	c #E5E5E5",
+"/	c #CCCCCC",
+"(	c #838383",
+"_	c #A0A0A0",
+":	c #989898",
+"<	c #8B8B8B",
+"[	c #7F7F7F",
+"}	c #E8E8E8",
+"|	c #ADADAD",
+"1	c #181818",
+"2	c #171717",
+"3	c #161616",
+"4	c #141414",
+"5	c #0A0A0A",
+"6	c #000000",
+"7	c #A2A2A2",
+"8	c #747474",
+"9	c #6C6C6C",
+"0	c #F0F0F0",
+"a	c #B9B9B9",
+"b	c #B7B7B7",
+"c	c #B1B1B1",
+"d	c #868686",
+"e	c #020202",
+"f	c #EDEDED",
+"g	c #939393",
+"h	c #676767",
+"i	c #696969",
+"j	c #8E8E8E",
+"k	c #787878",
+"l	c #757575",
+"m	c #777777",
+"n	c #767676",
+"o	c #EBEBEB",
+"p	c #525252",
+"q	c #626262",
+"r	c #F3F3F3",
+"s	c #E1E1E1",
+"t	c #B5B5B5",
+"u	c #5F5F5F",
+"v	c #424242",
+"w	c #5B5B5B",
+"x	c #9D9D9D",
+"y	c #969696",
+"z	c #E4E4E4",
+"A	c #444444",
+"B	c #2E2E2E",
+"C	c #A9A9A9",
+"D	c #7C7C7C",
+"E	c #797979",
+"F	c #5D5D5D",
+"G	c #646464",
+"...+@#$%&*",
+".=-;%>,')!",
+"-~={]^/'(!",
+"_'*:<[}|)!",
+"123456%789",
+"0abcdefghi",
+"jklmneonpq",
+"rs^>te}uvw",
+"f_xy9ezABp",
+"CDDEue7FpG"};
+
 #ifdef XKB_BUTTON_HINT
 #include "extend_pixmaps.h"
 #endif /* XKB_BUTTON_HINT */
--- WindowMaker-0.91.0/src/menu.c.vns	2005-05-18 14:57:22 +0400
+++ WindowMaker-0.91.0/src/menu.c	2005-05-18 14:57:22 +0400
@@ -672,7 +672,7 @@
         twidth = WMWidthOfString(scr->menu_title_font, menu->frame->title,
                                  strlen(menu->frame->title));
         theight = menu->frame->top_width;
-        twidth += theight + (wPreferences.new_style ? 16 : 8);
+        twidth += theight + (wPreferences.new_style == TS_NEW ? 16 : 8);
     } else {
         twidth = 0;
         theight = 0;
--- WindowMaker-0.91.0/WPrefs.app/xpm/Makefile.am.vns	2005-05-18 14:57:22 +0400
+++ WindowMaker-0.91.0/WPrefs.app/xpm/Makefile.am	2005-05-18 14:57:22 +0400
@@ -28,6 +28,7 @@
 	msty2.xpm \
 	msty3.xpm \
 	newstyle.xpm \
+	nextstyle.xpm \
 	nonopaque.xpm \
 	oldstyle.xpm \
 	opaque.xpm \
--- WindowMaker-0.91.0/WPrefs.app/xpm/oldstyle.xpm.vns	1999-05-01 21:44:44 +0400
+++ WindowMaker-0.91.0/WPrefs.app/xpm/oldstyle.xpm	2005-05-18 14:57:22 +0400
@@ -1,45 +1,51 @@
 /* XPM */
-static char * image_name[] = {
-"38 33 9 1",
-" 	c #739C739C739C",
-".	c #000000000000",
-"X	c #210821082108",
-"o	c #294A294A294A",
-"O	c #FFFFFFFFFFFF",
-"+	c #084208420842",
-"@	c #A528A528A528",
-"#	c #529452945294",
-"$	c #AD6AAD6AAD6A",
-"                                     .",
-"XXXXXXXXXXXXXXXXXXXoooooooooooooooooo.",
-"XXXXXXXXXXXXXXXXXXXoooooooooooooooooo.",
-"XXXXXXXXXXXXXXXXXXXoooooooooooooooooo.",
-"XXXXXXXXXXXXXXXXXXXoOOOOOOOOOOOOOOooo+",
-"XXXXXXXXXXXXXXXXXXXoO@@@@@@@@@@@@#ooo+",
-"XXXXXXXXXXXXXXXXXXXoO at .#@@@@@@#.@#ooo+",
-"XXXXXXXXXXXXXXXXXXXoO@#.#@@@@#.#@#ooo+",
-"XXXXXXXXXXXXXXXXXXXoO@@#.#@@#.#@@#ooo+",
-"XXXXXXXXXXXXXXXXXXXoO@@@#.##.#@@@#ooo+",
-"XXXXXXXXXXXXXXXXXXXoO@@@@#..#@@@@#ooo+",
-"XXXXXXXXXXXXXXXXXXXoO@@@@#..#@@@@#ooo+",
-"XXXXXXXXXXXXXXXXXXXoO@@@#.##.#@@@#ooo+",
-"XXXXXXXXXXXXXXXXXXXoO@@#.#@@#.#@@#ooo+",
-"XXXXXXXXXXXXXXXXXXXoO@#.#@@@@#.#@#ooo+",
-"XXXXXXXXXXXXXXXXXXXoO at .#@@@@@@#.@#ooo+",
-"XXXXXXXXXXXXXXXXXXXoO@@@@@@@@@@@@#ooo+",
-"XXXXXXXXXXXXXXXXXXXoO#############ooo+",
-"XXXXXXXXXXXXXXXXXXXoooooooooooooooooo+",
-"XXXXXXXXXXXXXXXXXXXoooooooooooooooooo+",
-"+++++++++++++++++++++++++++++++++++++.",
-"......................................",
-"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.",
-"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.",
-"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.",
-"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.",
-"##################################O$$.",
-".................................$O$$.",
-"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO$O$$.",
-"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO$O$$.",
-"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO$O$$.",
-"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO$O$$.",
-"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO$O$$."};
+static char * oldstyle_xpm[] = {
+"37 33 15 1",
+" 	c None",
+".	c #747474",
+"+	c #757575",
+"@	c #000000",
+"#	c #222222",
+"$	c #262626",
+"%	c #282828",
+"&	c #FFFFFF",
+"*	c #080808",
+"=	c #A5A5A5",
+"-	c #535353",
+";	c #060606",
+">	c #070707",
+",	c #030303",
+"'	c #ABABAB",
+"..................+++++++...........@",
+"##################$$$$$$$%$%$$$$$$$$@",
+"##################$$$$$$$$%%%%%%%%%%@",
+"##################$$$$$$$%$%%%%%%%%%@",
+"##################$&&&&&&&&&&&&&&%%%*",
+"##################$&============-%%%*",
+"##################$&=@-======-@=-%%%*",
+"##################$&=- at -====- at -=-%%%*",
+"##################$&==- at -==- at -==-%%%*",
+"##################$&===- at --@-===-%%%*",
+"##################$&====-@@-====-%%%*",
+"##################$&====-@@-====-%%%*",
+"##################$&===- at --@-===-%%%*",
+"##################$&==- at -==- at -==-%%%*",
+"##################$&=- at -====- at -=-%%%*",
+"##################$&=@-======-@=-%%%*",
+"##################$&============-%%%*",
+"##################$&-------------%%%*",
+"##################$$$$$$$$$%%%%%%%%%*",
+"##################$$$$$$$%$%%%%%%%%%*",
+";;;;;;;;;;;;;;;;;;>>>>>>>>>>>>>*****,",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"''''''''''''''''''''''''''''''''''''@",
+"''''''''''''''''''''''''''''''''''''@",
+"''''''''''''''''''''''''''''''''''''@",
+"''''''''''''''''''''''''''''''''''''@",
+"---------------------------------&''@",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'&''@",
+"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'&''@",
+"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'&''@",
+"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'&''@",
+"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'&''@",
+"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'&''@"};
--- WindowMaker-0.91.0/WPrefs.app/tiff/Makefile.am.vns	2005-05-18 14:57:22 +0400
+++ WindowMaker-0.91.0/WPrefs.app/tiff/Makefile.am	2005-05-18 14:57:22 +0400
@@ -27,6 +27,7 @@
 	msty2.tiff \
 	msty3.tiff \
 	newstyle.tiff \
+	nextstyle.tiff \
 	nonopaque.tiff \
 	oldstyle.tiff \
 	opaque.tiff \
--- WindowMaker-0.91.0/WPrefs.app/Configurations.c.vns	2004-10-23 07:03:35 +0400
+++ WindowMaker-0.91.0/WPrefs.app/Configurations.c	2005-05-18 15:26:38 +0400
@@ -42,6 +42,7 @@
     WMFrame *titlF;
     WMButton *oldsB;
     WMButton *newsB;
+    WMButton *nextB;
 
     WMFrame *animF;
     WMButton *animB;
@@ -68,6 +69,7 @@
 
 #define OLDS_IMAGE	"oldstyle"
 #define NEWS_IMAGE	"newstyle"
+#define NEXT_IMAGE	"nextstyle"
 
 #define ANIM_IMAGE	"animations"
 #define SUPERF_IMAGE	"moreanim"
@@ -86,16 +88,21 @@
 static void
 showData(_Panel *panel)
 {
+    char *str;
+	
     WMPerformButtonClick(panel->icoB[GetSpeedForKey("IconSlideSpeed")]);
 
     WMPerformButtonClick(panel->shaB[GetSpeedForKey("ShadeSpeed")]);
 
-    if (GetBoolForKey("NewStyle")) {
-        WMPerformButtonClick(panel->newsB);
+    str = GetStringForKey("Newstyle");
+    if (str && strcasecmp(str, "next") == 0) {
+	WMPerformButtonClick(panel->nextB);
+    } else if(str && strcasecmp(str, "old") == 0) {
+	WMPerformButtonClick(panel->oldsB);
     } else {
-        WMPerformButtonClick(panel->oldsB);
+	WMPerformButtonClick(panel->newsB);			
     }
-
+    
     WMSetButtonSelected(panel->animB, !GetBoolForKey("DisableAnimations"));
 
     WMSetButtonSelected(panel->supB, GetBoolForKey("Superfluous"));
@@ -325,20 +332,34 @@
     }
 
     panel->oldsB = WMCreateButton(panel->titlF, WBTOnOff);
-    WMResizeWidget(panel->oldsB, 74, 40);
+    WMResizeWidget(panel->oldsB, 37, 40);
     WMMoveWidget(panel->oldsB, 15, 60);
     WMSetButtonImagePosition(panel->oldsB, WIPImageOnly);
     path = LocateImage(OLDS_IMAGE);
     if (path) {
-        icon = WMCreatePixmapFromFile(scr, path);
-        if (icon) {
-            WMSetButtonImage(panel->oldsB, icon);
-            WMReleasePixmap(icon);
-        }
-        wfree(path);
+       icon = WMCreatePixmapFromFile(scr, path);
+       if (icon) {
+	   WMSetButtonImage(panel->oldsB, icon);
+           WMReleasePixmap(icon);
+       }
+    }
+		
+    panel->nextB = WMCreateButton(panel->titlF, WBTOnOff);
+    WMResizeWidget(panel->nextB, 37, 40);
+    WMMoveWidget(panel->nextB, 52, 60);
+    WMSetButtonImagePosition(panel->nextB, WIPImageOnly);
+    path = LocateImage(NEXT_IMAGE);
+    if (path) {
+       icon = WMCreatePixmapFromFile(scr, path);
+       if (icon) {
+           WMSetButtonImage(panel->nextB, icon);
+           WMReleasePixmap(icon);
+       }
+       wfree(path);
     }
 
     WMGroupButtons(panel->newsB, panel->oldsB);
+    WMGroupButtons(panel->newsB, panel->nextB);
 
     WMMapSubwidgets(panel->titlF);
 
@@ -495,7 +516,13 @@
     }
     SetSpeedForKey(i, "ShadeSpeed");
 
-    SetBoolForKey(WMGetButtonSelected(panel->newsB), "NewStyle");
+    if (WMGetButtonSelected(panel->newsB)) {
+	SetStringForKey("new", "NewStyle");
+    } else if (WMGetButtonSelected(panel->oldsB)) {
+	SetStringForKey("old", "NewStyle");			
+    } else {
+	SetStringForKey("next", "NewStyle");			
+    }
 
     SetBoolForKey(!WMGetButtonSelected(panel->animB), "DisableAnimations");
     SetBoolForKey(WMGetButtonSelected(panel->supB), "Superfluous");

WindowMaker-0.91.0-alt-vlaad-trance.patch:

--- NEW FILE WindowMaker-0.91.0-alt-vlaad-trance.patch ---
--- WindowMaker-0.91.0/src/menu.c.vns	2005-05-18 14:44:22 +0400
+++ WindowMaker-0.91.0/src/menu.c	2005-05-18 14:44:23 +0400
@@ -93,6 +93,7 @@
 static void menuCloseClick(WCoreWindow *sender, void *data, XEvent *event);
 
 static void updateTexture(WMenu *menu);
+static void clipDimensionsToScreen(WMenu *menu, int *x, int *y, int *width, int *height);
 
 #ifndef LITE
 static int saveMenuRecurs(WMPropList *menus, WScreen *scr, WMenu *menu);
@@ -498,6 +499,119 @@
 
 
 static void
+clipDimensionsToScreen(WMenu *menu, int *x, int *y, int *width, int *height)
+{
+    int sw, sh;
+    int fx, fy;
+    
+    sw = menu->menu->screen_ptr->scr_width;
+    sh = menu->menu->screen_ptr->scr_height;
+        
+    fx = *x + *width;
+    fy = *y + *height;
+    
+    /* CLAMP everything */
+    if (*x > sw) { *x = sw; } else if (*x < 0) { *x = 0; }
+    if (*y > sh) { *y = sh; } else if (*y < 0) { *y = 0; }
+    if (fx > sw) { fx = sw; } else if (fx < 0) { fx = 0; }
+    if (fy > sh) { fy = sh; } else if (fy < 0) { fy = 0; } 
+    
+    /* Make sure that height and width are positive */
+    if (fx < *x) { *width = 0; } else { *width = fx - *x; }
+    if (fy < *y) { *height = 0; } else { *height = fy - *y; } 
+}
+
+static Pixmap
+tranceMenu(WMenu *menu)
+{
+    WScreen *scr = menu->menu->screen_ptr;
+	
+	XImage *back, *front;
+	RImage *trance, *menu_image, *msnormal;
+	Pixmap original, result;
+
+	int mw, mh, dx, dy; /* these correspond to the menu proper */
+	int gx, gy, gw, gh; /* these correspond to what we grab from the root window */
+	int tamount;
+	unsigned long red_mask, green_mask, blue_mask; 
+
+	unsigned int w, h, bar;
+	int foo; 
+	Window baz;
+	
+	mw = gw = menu->menu->width;
+	mh = gh = menu->menu->height;
+	dx = gx = menu->frame_x + 1;
+	dy = gy = menu->frame_y + menu->frame->top_width + 1;
+
+	tamount = wPreferences.trance_amount;
+   	clipDimensionsToScreen(menu, &gx, &gy, &gw, &gh);
+	back = XGetImage(dpy, scr->root_win, gx, gy, gw, gh,
+					AllPlanes, ZPixmap);
+	if (!back) {
+	wwarning(_("error capturing \"back\" image"),RMessageForError(RErrorCode));
+	return None;
+	} else {
+		red_mask = back->red_mask;
+		green_mask = back->green_mask;
+		blue_mask = back->blue_mask;
+
+		trance = RCreateImageFromXImage(scr->rcontext, back, NULL);
+		XDestroyImage(back);
+		if (!trance) {
+		wwarning(_("error rendering \"trance\" image"),
+						RMessageForError(RErrorCode));
+		return None;
+		} else {
+		/************************************************************/
+			original = renderTexture(menu);
+
+   		    XGetGeometry(dpy, original, &baz, &foo, 
+						&foo, &w, &h, &bar, &bar);
+       		front = XGetImage(dpy, original, 0, 0, w, h,
+								AllPlanes, ZPixmap);
+			if (!front) {
+			wwarning(_("error capturing \"front\" image"),
+							RMessageForError(RErrorCode));
+			return None;
+			} 
+			front->red_mask = red_mask;
+			front->green_mask = green_mask;
+			front->blue_mask = blue_mask;
+
+			menu_image=RCreateImageFromXImage(scr->rcontext,front,NULL);
+
+			XDestroyImage(front);
+		/************************************************************/
+			if (original) {
+				FREE_PIXMAP(original);
+			}
+			if (!menu_image) {
+			wwarning(_("error rendering \"menu_image\""),
+							RMessageForError(RErrorCode));
+			return None;
+			} else {
+				if (wPreferences.menu_style == MS_NORMAL) {
+					msnormal = RMakeTiledImage(menu_image, mw, mh);
+					RCombineAreaWithOpaqueness(trance, msnormal,0,0,gw,gh,
+											gx - dx,gy - dy,256*tamount/10);
+					RReleaseImage(menu_image);
+					RReleaseImage(msnormal);
+				} else {
+           			RCombineAreaWithOpaqueness(trance, menu_image,0,0,gw,gh,
+                	              			gx - dx,gy - dy,256*tamount/10);
+					RReleaseImage(menu_image);
+				}
+				RConvertImage(scr->rcontext, trance,
+							&result);
+			}
+			RReleaseImage(trance);
+		}
+	}
+	return result;
+}
+
+static void
 updateTexture(WMenu *menu)
 {
     WScreen *scr = menu->menu->screen_ptr;
@@ -507,7 +621,14 @@
         if (!menu->flags.brother) {
             FREE_PIXMAP(menu->menu_texture_data);
 
-            menu->menu_texture_data = renderTexture(menu);
+		if (wPreferences.menu_trance) {
+			if((menu->menu_texture_data = tranceMenu(menu))==NULL)
+			{
+				menu->menu_texture_data = renderTexture(menu);
+			}
+		} else {
+		menu->menu_texture_data = renderTexture(menu);
+		}
 
             XSetWindowBackgroundPixmap(dpy, menu->menu->window,
                                        menu->menu_texture_data);
@@ -1166,6 +1287,11 @@
         XMoveWindow(dpy, menu->frame->core->window, x, y);
         menu->frame_x = x;
         menu->frame_y = y;
+		/* FIXME: needs an if */
+		if (wPreferences.menu_trance) {
+			updateTexture(menu);
+		}
+		/*	*/
         XMapWindow(dpy, menu->frame->core->window);
         wRaiseFrame(menu->frame->core);
         menu->flags.mapped = 1;
@@ -1190,6 +1316,11 @@
         menu->frame_y = menu->frame->screen_ptr->app_menu_y;
         XMoveWindow(dpy, menu->frame->core->window, menu->frame_x, menu->frame_y);
     }
+	/* FIXME: needs an if */
+	if (wPreferences.menu_trance) {
+		updateTexture(menu);
+	}
+	/*	*/
     XMapWindow(dpy, menu->frame->core->window);
     wRaiseFrame(menu->frame->core);
     menu->flags.mapped = 1;
--- WindowMaker-0.91.0/src/WindowMaker.h.vns	2005-05-18 14:44:23 +0400
+++ WindowMaker-0.91.0/src/WindowMaker.h	2005-05-18 14:44:23 +0400
@@ -339,6 +339,8 @@
     char opaque_move;		       /* update window position during */
     /* move */
 
+	char menu_trance;		/* whether menu should be translucent */
+	int trance_amount;		/* percentage of translucency */
     char wrap_menus;		       /* wrap menus at edge of screen */
     char scrollable_menus;	       /* let them be scrolled */
     char align_menus;		       /* align menu with their parents */
--- WindowMaker-0.91.0/src/defaults.c.vns	2005-05-18 14:44:23 +0400
+++ WindowMaker-0.91.0/src/defaults.c	2005-05-18 14:44:23 +0400
@@ -499,6 +499,12 @@
     {"UseSaveUnders",	"NO",			NULL,
     &wPreferences.use_saveunders,	getBool,	NULL
     },
+	{"MenuTrance",	"NO",			NULL,
+	  &wPreferences.menu_trance,	getBool,	NULL
+	},
+	{"TranceAmount",	"30",		NULL,
+	  &wPreferences.trance_amount,	getInt,		NULL
+	},
     {"OpaqueMove",	"NO",			NULL,
     &wPreferences.opaque_move,	getBool,	NULL
     },
--- WindowMaker-0.91.0/WPrefs.app/Appearance.c.vns	2005-05-18 14:44:23 +0400
+++ WindowMaker-0.91.0/WPrefs.app/Appearance.c	2005-05-18 14:51:21 +0400
@@ -82,6 +82,11 @@
     WMFrame *taliF;
     WMButton *taliB[3];
 
+	WMFrame *tranceF;
+	WMButton *tranceB;
+	WMSlider *tranceSl;
+	WMLabel *tranceL;
+
     /* root bg */
     WMFrame *bgF;
 
@@ -1714,6 +1719,23 @@
     }
 }
 
+static void 
+tranceCallback(WMWidget *self, void *data)
+{
+	_Panel *panel = (_Panel*)data;
+	char buffer[5];
+	int i;
+
+	i = WMGetSliderValue(panel->tranceSl);
+	i = 10*(10-i);
+
+	if (i == 0) {
+	WMSetLabelText(panel->tranceL, "OFF");
+	} else {
+	sprintf(buffer, "%i%%", i);
+	WMSetLabelText(panel->tranceL, buffer);
+	}
+}
 
 static void
 createPanel(Panel *p)
@@ -2005,7 +2027,7 @@
 
 
     panel->taliF = WMCreateFrame(panel->optF);
-    WMResizeWidget(panel->taliF, 110, 80);
+    WMResizeWidget(panel->taliF, 105, 80);
     WMMoveWidget(panel->taliF, 15, 100);
     WMSetFrameTitle(panel->taliF, _("Title Alignment"));
 
@@ -2023,7 +2045,7 @@
             WMSetButtonText(panel->taliB[i], _("Right"));
             break;
         }
-        WMResizeWidget(panel->taliB[i], 90, 18);
+        WMResizeWidget(panel->taliB[i], 85, 18);
         WMMoveWidget(panel->taliB[i], 10, 15 + 20*i);
     }
     WMGroupButtons(panel->taliB[0], panel->taliB[1]);
@@ -2031,6 +2053,36 @@
 
     WMMapSubwidgets(panel->taliF);
 
+	panel->tranceF = WMCreateFrame(panel->optF);
+	WMResizeWidget(panel->tranceF, 105,80);
+	WMMoveWidget(panel->tranceF, 125, 100);
+	WMSetFrameTitle(panel->tranceF,_("Transparency"));
+
+	WMSetBalloonTextForView(_("<yermom> i love windowmaker\n"
+						  "<tarzeau> get some fresh sand-wich-es\n"
+						  "<flip-> heh\n"
+						  "<flip-> transparency\n"
+						  "<flip-> moo\n"
+						  "<flip-> :P\n"), WMWidgetView(panel->tranceF));
+
+	panel->tranceB = WMCreateSwitchButton(panel->tranceF);
+	WMSetButtonText(panel->tranceB, _("Menu"));
+	WMResizeWidget(panel->tranceB,85,18);
+	WMMoveWidget(panel->tranceB, 10, 15);
+    
+	panel->tranceSl = WMCreateSlider(panel->tranceF);
+	WMResizeWidget(panel->tranceSl, 70, 18);
+	WMMoveWidget(panel->tranceSl, 17, 15 + 20*2);
+	WMSetSliderMinValue(panel->tranceSl, 0);
+	WMSetSliderMaxValue(panel->tranceSl, 10);
+	WMSetSliderAction(panel->tranceSl, tranceCallback, panel);
+
+	panel->tranceL = WMCreateLabel(panel->tranceF);
+	WMResizeWidget(panel->tranceL, 27, 18);
+	WMMoveWidget(panel->tranceL, 40, 35);
+
+	WMMapSubwidgets(panel->tranceF);
+
     WMMapSubwidgets(panel->optF);
 
     /**/
@@ -2089,6 +2141,7 @@
 static void
 showData(_Panel *panel)
 {
+	int x;
     int i;
     char *str;
 
@@ -2134,6 +2187,13 @@
 
     WMSetButtonSelected(panel->mstyB[panel->menuStyle], True);
     WMSetButtonSelected(panel->taliB[panel->titleAlignment], True);
+
+
+	WMSetButtonSelected(panel->tranceB, GetBoolForKey("MenuTrance"));
+
+	x = GetIntegerForKey("TranceAmount");
+	WMSetSliderValue(panel->tranceSl, x);
+	tranceCallback(NULL, panel);
 }
 
 
@@ -2185,6 +2245,9 @@
         SetStringForKey("center", "TitleJustify");
         break;
     }
+
+	SetBoolForKey(WMGetButtonSelected(panel->tranceB), "MenuTrance");
+	SetIntegerForKey(WMGetSliderValue(panel->tranceSl), "TranceAmount");
 }
 
 

WindowMaker-0.91.0-hmepas-minimizeall.patch:

--- NEW FILE WindowMaker-0.91.0-hmepas-minimizeall.patch ---
--- WindowMaker-0.91.0/src/event.c.vns	2005-05-18 21:40:15 +0400
+++ WindowMaker-0.91.0/src/event.c	2005-05-18 21:42:02 +0400
@@ -1410,6 +1410,10 @@
             OpenWindowMenu(wwin, wwin->frame_x,
                            wwin->frame_y+wwin->frame->top_width, True);
         break;
+    case WKBD_ALLMINIMIZE:
+	CloseWindowMenu(scr);
+	wHideAll(scr);
+	break;
     case WKBD_MINIATURIZE:
         if (ISMAPPED(wwin) && ISFOCUSED(wwin)
             && !WFLAGP(wwin, no_miniaturizable)) {
--- WindowMaker-0.91.0/src/actions.c.vns	2005-05-18 21:40:15 +0400
+++ WindowMaker-0.91.0/src/actions.c	2005-05-18 21:40:16 +0400
@@ -1295,6 +1295,57 @@
 
 
 
+// ADDED BY HMEPAS
+void wHideAll(WScreen *scr)
+{
+    WWindow *wwin;
+    WWindow **windows;
+    Window FocusedWin;
+    WMenu *menu; 
+    unsigned int wcount = 0;
+    int FocusState;
+    int i;
+
+    if (!scr)
+	return;
+    
+    menu = scr->switch_menu;
+    
+    windows = malloc( sizeof(WWindow *) );
+    
+    if (menu != NULL) {
+	for(i=0;i<menu->entry_no;i++) {
+	    windows[wcount] = (WWindow *) menu->entries[i]->clientdata;
+	    wcount++;
+	    windows = realloc(windows, sizeof(WWindow *) * (wcount+1) );
+	}
+    } else {
+	wwin = scr->focused_window;
+
+	while(wwin) {
+	    windows[wcount] = wwin;
+	    wcount++;
+	    windows = realloc(windows, sizeof(WWindow *) * (wcount+1) );
+	    wwin = wwin->prev;
+
+	}
+    }
+    
+    for(i=0;i < wcount; i++) {
+	wwin = windows[i];
+	if (wwin->frame->workspace == scr->current_workspace
+		&& !(wwin->flags.miniaturized||wwin->flags.hidden)
+		&& !wwin->flags.internal_window
+		&& !WFLAGP(wwin, no_miniaturizable)
+	   )
+	{
+	    wwin->flags.skip_next_animation = 1;
+	    wIconifyWindow(wwin);
+	}
+    } 
+}
+
+
 void
 wHideOtherApplications(WWindow *awin)
 {
--- WindowMaker-0.91.0/src/actions.h.vns	2004-10-12 21:53:07 +0400
+++ WindowMaker-0.91.0/src/actions.h	2005-05-18 21:40:16 +0400
@@ -69,5 +69,8 @@
 void wUnfullscreenWindow(WWindow *wwin);
 
 
+// ADDED BY HMEPAS TO MINIMIZE ALL WINDOWS ON CURRENT WORKSPACE
+void wHideAll(WScreen *src);
+
 #endif
 
--- WindowMaker-0.91.0/src/defaults.c.vns	2005-05-18 21:40:16 +0400
+++ WindowMaker-0.91.0/src/defaults.c	2005-05-18 21:40:16 +0400
@@ -705,6 +705,9 @@
     NULL,				getKeybind,	setKeyGrab
     },
 #endif /* LITE */
+    {"AllMinimizeKey", "None",		(void*)WKBD_ALLMINIMIZE,
+    NULL,                               getKeybind,     setKeyGrab
+    },
     {"WindowMenuKey",	"None",		       	(void*)WKBD_WINDOWMENU,
     NULL,				getKeybind,	setKeyGrab
     },
--- WindowMaker-0.91.0/src/keybind.h.vns	2004-10-12 21:55:38 +0400
+++ WindowMaker-0.91.0/src/keybind.h	2005-05-18 21:43:50 +0400
@@ -77,12 +77,13 @@
 #define WKBD_WINDOW10		44
 
 #define WKBD_SWITCH_SCREEN      45
+#define WKBD_ALLMINIMIZE	46
 
 #ifdef KEEP_XKB_LOCK_STATUS
-# define WKBD_TOGGLE		46
-# define WKBD_TMP		47
+# define WKBD_TOGGLE		47
+# define WKBD_TMP		48
 #else
-# define WKBD_TMP		46
+# define WKBD_TMP		47
 #endif
 
 #ifdef VIRTUAL_DESKTOP

WindowMaker-0.91.0-hmepas-swmenu_rclick.patch:

--- NEW FILE WindowMaker-0.91.0-hmepas-swmenu_rclick.patch ---
--- WindowMaker-0.91.0/src/menu.c.vns	2005-05-18 21:46:03 +0400
+++ WindowMaker-0.91.0/src/menu.c	2005-05-18 21:46:03 +0400
@@ -2077,6 +2077,7 @@
 static void
 menuMouseDown(WObjDescriptor *desc, XEvent *event)
 {
+    WWindow *wwin; // ADDED BY HMEPAS FOR sw_rclick
     XButtonEvent *bev = &event->xbutton;
     WMenu *menu = desc->parent;
     WMenu *smenu;
@@ -2160,7 +2161,27 @@
             }
 
         } else if (!delayed_select) {
-            selectEntry(menu, entry_no);
+		// ADDED BY HMEPAS
+		// FOR WindowMenu open by right click on
+		// switchmenu entry
+		if( menu == scr->switch_menu && event->xbutton.button == Button3 ) {
+			selectEntry(menu, entry_no);
+			OpenWindowMenu2( (WWindow*)entry->clientdata,
+					event->xbutton.x_root,
+					event->xbutton.y_root, False);
+			wwin = (WWindow*)entry->clientdata;
+			desc = &wwin->screen_ptr->window_menu->menu->descriptor;
+			event->xany.send_event = True;
+			(*desc->handle_mousedown)(desc, event);
+
+			XUngrabPointer(dpy, CurrentTime);
+			selectEntry(menu, -1);
+			return;
+		}
+		else {
+			selectEntry(menu, entry_no);
+		}
+		// END OF HMEPAS PATCH
         }
 
         if (!wPreferences.wrap_menus && !wPreferences.scrollable_menus) {
--- WindowMaker-0.91.0/src/funcs.h.vns	2004-10-14 22:03:28 +0400
+++ WindowMaker-0.91.0/src/funcs.h	2005-05-18 21:46:03 +0400
@@ -65,6 +65,13 @@
 
 void OpenWindowMenu(WWindow *wwin, int x, int y, int keyboard);
 
+// THIS IS NEED FOR MY SW_RIGHT CLICK PATCH
+// (FOR MOVING WINDOW FROM ANOTHER WORKSPACE TO
+// CURRENT) ON NATIVE FUNCTION MOVE TO CURRENT 
+// WORKSPACE IS DISABLED
+// 				HMEPAS
+void OpenWindowMenu2(WWindow *wwin, int x, int y, int keyboard);
+
 void OpenMiniwindowMenu(WWindow *wwin, int x, int y);
 
 void OpenWorkspaceMenu(WScreen *scr, int x, int y);
--- WindowMaker-0.91.0/src/winmenu.c.vns	2004-10-21 07:21:16 +0400
+++ WindowMaker-0.91.0/src/winmenu.c	2005-05-18 21:52:50 +0400
@@ -619,7 +619,6 @@
     wMenuRealize(menu);
 }
 
-
 void
 OpenWindowMenu(WWindow *wwin, int x, int y, int keyboard)
 {
@@ -650,10 +649,46 @@
     updateMenuForWindow(menu, wwin);
 
     x -= menu->frame->core->width/2;
-    if (x + menu->frame->core->width > wwin->frame_x+wwin->frame->core->width)
-        x = wwin->frame_x+wwin->frame->core->width - menu->frame->core->width;
-    if (x < wwin->frame_x)
-        x = wwin->frame_x;
+    if (!wwin->flags.internal_window)
+        wMenuMapAt(menu, x, y, keyboard);
+}
+
+void
+OpenWindowMenu2(WWindow *wwin, int x, int y, int keyboard)
+{
+    int i;
+    WMenu *menu;
+    WScreen *scr = wwin->screen_ptr;
+
+    wwin->flags.menu_open_for_me = 1;
+
+    if (!scr->window_menu) {
+	scr->window_menu = createWindowMenu(scr);
+
+	/* hack to save some memory allocation/deallocation */
+	wfree(scr->window_menu->entries[MC_MINIATURIZE]->text);
+	wfree(scr->window_menu->entries[MC_MAXIMIZE]->text);
+	wfree(scr->window_menu->entries[MC_SHADE]->text);
+    } else {
+	updateWorkspaceMenu(scr->workspace_submenu);
+    }
+
+    menu = scr->window_menu;
+    if (menu->flags.mapped) {
+	wMenuUnmap(menu);
+	if (menu->entries[0]->clientdata==wwin) {
+	    return;
+	}
+    }
+
+    updateMenuForWindow(menu, wwin);
+
+    for (i = 0; i < scr->workspace_submenu->entry_no; i++) {
+	scr->workspace_submenu->entries[i]->clientdata = wwin;
+	wMenuSetEnabled(scr->workspace_submenu, i, True);
+    }
+
+    x -= menu->frame->core->width/2;
 
     if (!wwin->flags.internal_window)
         wMenuMapAt(menu, x, y, keyboard);

WindowMaker-0.91.0-peter-appicon-bouncer2.patch:

--- NEW FILE WindowMaker-0.91.0-peter-appicon-bouncer2.patch ---
--- WindowMaker-0.91.0/src/window.c.vns	2005-05-19 12:42:35 +0400
+++ WindowMaker-0.91.0/src/window.c	2005-05-19 12:42:35 +0400
@@ -1410,6 +1410,7 @@
                     raise = True;
                 }
             }
+	    wAppBounce(app);
         }
     }
 
--- WindowMaker-0.91.0/src/application.c.vns	2005-05-19 12:42:35 +0400
+++ WindowMaker-0.91.0/src/application.c	2005-05-19 12:42:35 +0400
@@ -448,6 +448,16 @@
     if (wapp->refcount>0)
         return;
 
+#ifdef BOUNCE_APP
+    if (wapp->flags.bouncing)
+    {
+	/* event.c:handleDestroyNotify forced this destroy
+	   and thereby overlooked the bounce callback */
+	wapp->refcount = 1;
+	return;
+    }
+#endif
+
 
     scr = wapp->main_window_desc->screen_ptr;
     main_window = wapp->main_window;
--- WindowMaker-0.91.0/src/application.h.vns	2005-05-19 12:42:35 +0400
+++ WindowMaker-0.91.0/src/application.h	2005-05-19 12:44:51 +0400
@@ -46,6 +46,9 @@
         unsigned int skip_next_animation:1;
         unsigned int hidden:1;
         unsigned int emulated:1;
+#ifdef BOUNCE_APP
+	unsigned int bouncing:1;
+#endif
     } flags;
 } WApplication;
 
@@ -58,6 +61,8 @@
 void wApplicationExtractDirPackIcon(WScreen *scr,char *path, char *wm_instance,
                                     char *wm_class);
 
+void wAppBounce(WApplication *);
+
 #ifdef NEWAPPICON
 
 #define wApplicationActivate(wapp) do { \
--- WindowMaker-0.91.0/src/superfluous.c.vns	2004-10-12 21:46:38 +0400
+++ WindowMaker-0.91.0/src/superfluous.c	2005-05-19 12:42:35 +0400
@@ -41,6 +41,7 @@
 #include "window.h"
 #include "icon.h"
 #include "appicon.h"
+#include "xinerama.h"
 
 
 extern WPreferences wPreferences;
@@ -810,3 +811,164 @@
 
 #endif /* GHOST_WINDOW_MOVE */
 
+#ifdef BOUNCE_APP
+
+#define BOUNCE_HZ	25
+#define BOUNCE_DELAY	(1000/BOUNCE_HZ)
+#define BOUNCE_HEIGHT	24
+#define BOUNCE_LENGTH	0.3
+#define BOUNCE_DAMP	0.6
+
+typedef struct AppBouncerData {
+    WApplication *wapp;
+    int count;
+    int pow;
+    int dir;
+    WMHandlerID *timer;
+} AppBouncerData;
+
+static void 
+doAppBounce(void *arg)
+{
+    AppBouncerData *data = (AppBouncerData*)arg;
+    WAppIcon *aicon = data->wapp->app_icon;
+
+reinit:
+    if (aicon && data->wapp->refcount > 1)
+    {
+	const double ticks = BOUNCE_HZ*BOUNCE_LENGTH;
+	const double s = sqrt(BOUNCE_HEIGHT)/(ticks/2);
+	double h = BOUNCE_HEIGHT*pow(BOUNCE_DAMP, data->pow);
+	double sqrt_h = sqrt(h);
+	if (h > 3)
+	{
+	    double offset, x = s * data->count - sqrt_h;
+	    if (x > sqrt_h)
+	    {
+		++data->pow;
+		data->count = 0;
+		goto reinit;
+	    } else ++data->count;
+	    offset = h - x*x;
+	    
+	    switch(data->dir)
+	    {
+		case 0: /* left, bounce to right */
+		    XMoveWindow(dpy, aicon->icon->core->window, 
+				aicon->x_pos + (int)offset, aicon->y_pos);
+		    break;
+		case 1: /* right, bounce to left */
+		    XMoveWindow(dpy, aicon->icon->core->window, 
+				aicon->x_pos - (int)offset, aicon->y_pos);
+		    break;
+		case 2: /* top, bounce down */
+		    XMoveWindow(dpy, aicon->icon->core->window, 
+				aicon->x_pos, aicon->y_pos + (int)offset);
+		    break;
+		case 3: /* bottom, bounce up */
+		    XMoveWindow(dpy, aicon->icon->core->window, 
+				aicon->x_pos, aicon->y_pos - (int)offset);
+		    break;
+	    }
+	    return;
+	}
+	XMoveWindow(dpy, aicon->icon->core->window, 
+		    aicon->x_pos, aicon->y_pos);
+    }
+
+    data->wapp->flags.bouncing = 0;
+    WMDeleteTimerHandler(data->timer);
+    wApplicationDestroy(data->wapp);
+    free(data);
+}
+
+static int
+bounceDirection(WAppIcon *aicon)
+{
+    enum { left_e = 1, right_e = 2, top_e = 4, bottom_e = 8 };
+
+    WScreen *scr = aicon->icon->core->screen_ptr;
+    WMRect rr, sr;
+    int l,r,t,b, h,v;
+    int dir = 0;
+
+    rr.pos.x = aicon->x_pos;
+    rr.pos.y = aicon->y_pos;
+    rr.size.width = rr.size.height = 64;
+    
+    sr = wGetRectForHead(scr, wGetHeadForRect(scr, rr));
+
+    l = rr.pos.x - sr.pos.x;
+    r = sr.pos.x + sr.size.width - rr.pos.x - rr.size.width;
+    t = rr.pos.y - sr.pos.y;
+    b = sr.pos.y + sr.size.height - rr.pos.y - rr.size.height;
+
+    if (l < r) {
+	dir |= left_e;
+	h = l;
+    } else {
+	dir |= right_e;
+	h = r;
+    }
+
+    if (t < b) {
+	dir |= top_e;
+	v = t;
+    } else {
+	dir |= bottom_e;
+	v = b;
+    }
+
+    if (h < v) dir &= ~(top_e | bottom_e);
+    else dir &= ~(left_e | right_e);
+
+    switch(dir)
+    {
+	case left_e:
+	    dir = 0;
+	    break;
+
+	case right_e:
+	    dir = 1;
+	    break;
+
+	case top_e:
+	    dir = 2;
+	    break;
+
+	case bottom_e:
+	    dir = 3;
+	    break;
+
+	default:
+	    wwarning(_("impossible direction: %d\n"), dir);
+	    dir = 3;
+	    break;
+    }
+
+    return dir;
+}
+
+void 
+wAppBounce(WApplication * wapp)
+{
+    if (wapp->app_icon && !wapp->flags.bouncing)
+    {
+	++wapp->refcount;
+	wapp->flags.bouncing = 1;
+
+	AppBouncerData *data = 
+	    (AppBouncerData*)malloc(sizeof(AppBouncerData));
+	data->wapp = wapp;
+	data->count = data->pow = 0;
+	data->dir = bounceDirection(wapp->app_icon);
+	data->timer = WMAddPersistentTimerHandler(BOUNCE_DELAY, doAppBounce, data);
+    }
+}
+
+#else
+void
+wAppBounce(WApplication * wapp)
+{
+}
+#endif

WindowMaker-0.91.0-peter-mouse-placement.patch:

--- NEW FILE WindowMaker-0.91.0-peter-mouse-placement.patch ---
--- WindowMaker-0.91.0/src/WindowMaker.h.vns	2005-05-19 12:29:12 +0400
+++ WindowMaker-0.91.0/src/WindowMaker.h	2005-05-19 12:29:12 +0400
@@ -169,6 +169,8 @@
 #define WPM_SMART	2
 #define WPM_RANDOM	3
 #define WPM_AUTO        4
+#define WPM_SMARTMOUSE	5
+#define WPM_MOUSE	6
 
 /* text justification */
 #define WTJ_CENTER	0
--- WindowMaker-0.91.0/src/defaults.c.vns	2005-05-19 12:29:12 +0400
+++ WindowMaker-0.91.0/src/defaults.c	2005-05-19 12:29:12 +0400
@@ -238,6 +238,8 @@
     {"Cascade", WPM_CASCADE, 0},
     {"Random", WPM_RANDOM, 0},
     {"Manual", WPM_MANUAL, 0},
+    {"SmartMouse", WPM_SMARTMOUSE, 0},
+    {"Mouse", WPM_MOUSE, 0},
     {NULL, 0, 0}
 };
 
--- WindowMaker-0.91.0/src/placement.c.vns	2005-05-19 12:29:11 +0400
+++ WindowMaker-0.91.0/src/placement.c	2005-05-19 12:31:22 +0400
@@ -416,6 +416,127 @@
     *y_ret = min_isect_y;
 }
 
+static void
+smartmousePlaceWindow(WWindow *wwin, int *x_ret, int *y_ret,
+                 unsigned int width, unsigned int height,
+		 WArea usableArea)
+{
+    WScreen *scr = wwin->screen_ptr;
+    int test_x = 0, test_y = usableArea.y1;
+    int from_x, to_x, from_y, to_y;
+    int pointer_x, pointer_y;
+    double rad, min_rad = INT_MAX;
+    int sx;
+    int min_isect, min_isect_x, min_isect_y;
+    int sum_isect;
+
+    if (wwin->frame) {
+	height += wwin->frame->top_width + wwin->frame->bottom_width;
+    } else {
+	if (HAS_TITLEBAR(wwin)) height += 18;
+	if (HAS_RESIZEBAR(wwin)) height += 8;
+    }
+    if (HAS_BORDER(wwin)) {
+	height += 2;
+	width += 2;
+    }
+
+    sx = usableArea.x1;
+
+    min_isect = INT_MAX;
+    min_isect_x = sx;
+    min_isect_y = test_y;
+    
+    {
+	Window win;
+	int tint;
+	unsigned int tuint;
+
+	XQueryPointer(dpy, scr->root_win, &win, &win, 
+		      &pointer_x, &pointer_y, 
+		      &tint, &tint, &tuint);
+    }
+
+#define SQ(x)	    ((x)*(x))
+#define RAD()	    sqrt( SQ(test_x + width/2 - pointer_x) + \
+			  SQ(test_y + height/2 - pointer_y))
+
+    while (((test_y + height) < usableArea.y2)) {
+	test_x = sx;
+	while ((test_x + width) < usableArea.x2) {
+            sum_isect = calcSumOfCoveredAreas(wwin, test_x, test_y,
+                                              width, height);
+	    rad = RAD();
+	    if ( sum_isect < min_isect ||
+		 (sum_isect == min_isect && rad < min_rad)) {
+		min_rad = rad;
+	        min_isect = sum_isect;
+	        min_isect_x = test_x;
+	        min_isect_y = test_y;
+	    }
+	    
+	    test_x += PLACETEST_HSTEP;
+	}
+	test_y += PLACETEST_VSTEP;
+    }
+
+    from_x = min_isect_x - PLACETEST_HSTEP + 1;
+    from_x = WMAX(from_x, usableArea.x1);
+    to_x = min_isect_x + PLACETEST_HSTEP;
+    if (to_x + width > usableArea.x2)
+        to_x = usableArea.x2 - width;
+
+    from_y = min_isect_y - PLACETEST_VSTEP + 1;
+    from_y = WMAX(from_y, usableArea.y1);
+    to_y = min_isect_y + PLACETEST_VSTEP;
+    if (to_y + height > usableArea.y2)
+        to_y = usableArea.y2 - height;
+
+    for (test_x = from_x; test_x < to_x; test_x++) {
+        for (test_y = from_y; test_y < to_y; test_y++) {
+            sum_isect = calcSumOfCoveredAreas(wwin, test_x, test_y,
+                                              width, height);
+	    rad = RAD();
+	    if ( sum_isect < min_isect ||
+		 (sum_isect == min_isect && rad < min_rad)) {
+		min_rad = rad;
+	        min_isect = sum_isect;
+	        min_isect_x = test_x;
+	        min_isect_y = test_y;
+	    }
+        }
+    }
+
+    *x_ret = min_isect_x;
+    *y_ret = min_isect_y;
+}
+
+static void
+mousePlaceWindow(WWindow *wwin, int *x_ret, int *y_ret,
+		 unsigned int width, unsigned int height, WArea usableArea)
+{
+    WScreen *scr = wwin->screen_ptr;
+    int pointer_x, pointer_y;
+
+    {
+	Window win;
+	int tint;
+	unsigned int tuint;
+
+	XQueryPointer(dpy, scr->root_win, &win, &win, 
+		      &pointer_x, &pointer_y, 
+		      &tint, &tint, &tuint);
+    }
+
+    *x_ret = pointer_x - width/2;
+    *y_ret = pointer_y - height/2;
+
+    if ( *x_ret < usableArea.x1) *x_ret = usableArea.x1;
+    else if ( *x_ret + width > usableArea.x2) *x_ret = usableArea.x2 - width;
+
+    if ( *y_ret < usableArea.y1) *y_ret = usableArea.y1;
+    else if ( *y_ret + height > usableArea.y2) *y_ret = usableArea.y2 - height;
+}
 
 static Bool
 autoPlaceWindow(WWindow *wwin, int *x_ret, int *y_ret,
@@ -610,6 +731,14 @@
         smartPlaceWindow(wwin, x_ret, y_ret, width, height, usableArea);
         break;
 
+    case WPM_SMARTMOUSE:
+       smartmousePlaceWindow(wwin, x_ret, y_ret, width, height, usableArea);
+       break;
+
+    case WPM_MOUSE:
+       mousePlaceWindow(wwin, x_ret, y_ret, width, height, usableArea);
+       break;
+
     case WPM_AUTO:
         if (autoPlaceWindow(wwin, x_ret, y_ret, width, height, 0,
                             usableArea)) {
--- WindowMaker-0.91.0/WPrefs.app/WindowHandling.c.vns	2004-10-13 00:19:34 +0400
+++ WindowMaker-0.91.0/WPrefs.app/WindowHandling.c	2005-05-19 12:32:39 +0400
@@ -77,7 +77,9 @@
     "random",
     "manual",
     "cascade",
-    "smart"
+    "smart",
+    "smartmouse",
+    "mouse"
 };
 
 
@@ -137,6 +139,10 @@
         return 3;
     else if (strcasecmp(str, "smart")==0)
         return 4;
+    else if (strcasecmp(str, "smartmouse")==0)
+	return 5;
+    else if (strcasecmp(str, "mouse")==0)
+	return 6;
     else
         wwarning(_("bad option value %s in WindowPlacement. Using default value"),
                  str);
@@ -252,6 +258,8 @@
     WMAddPopUpButtonItem(panel->placP, _("Manual"));
     WMAddPopUpButtonItem(panel->placP, _("Cascade"));
     WMAddPopUpButtonItem(panel->placP, _("Smart"));
+    WMAddPopUpButtonItem(panel->placP, _("SmartMouse"));
+    WMAddPopUpButtonItem(panel->placP, _("Mouse"));
 
     panel->porigL = WMCreateLabel(panel->placF);
     WMResizeWidget(panel->porigL, 120, 32);

WindowMaker-0.91.0-peter-newappicon.patch:

--- NEW FILE WindowMaker-0.91.0-peter-newappicon.patch ---
--- WindowMaker-0.91.0/wrlib/misc.c.vns	2004-10-12 22:21:39 +0400
+++ WindowMaker-0.91.0/wrlib/misc.c	2005-05-19 11:42:54 +0400
@@ -152,7 +152,7 @@
         }
     } else {
         int bytes = image->width*image->height;
-        int alpha, nalpha, r, g, b;
+        int alpha, nalpha, r, g, b, s;
 
         alpha = color->alpha;
         r = color->red * alpha;
@@ -160,17 +160,53 @@
         b = color->blue * alpha;
         nalpha = 255 - alpha;
 
-        for (i=0; i<bytes; i++) {
-            *d = (((int)*d * nalpha) + r)/256; d++;
-            *d = (((int)*d * nalpha) + g)/256; d++;
-            *d = (((int)*d * nalpha) + b)/256; d++;
-            if (image->format == RRGBAFormat) {
-                d++;
-            }
+	s = (image->format == RRGBAFormat) ? 4 : 3;
+
+	for (i=0; i<bytes; i++, d+=s) {
+	    d[0] = (((int)d[0] * nalpha) + r)/256;
+	    d[1] = (((int)d[1] * nalpha) + g)/256;
+	    d[2] = (((int)d[2] * nalpha) + b)/256;
         }
     }
 }
 
+static __inline__ unsigned char
+clip(int c) {
+    if (c > 255) c=255;
+    return (unsigned char)c;
+}
+
+void
+RLightImage(RImage *image, RColor *color)
+{
+    unsigned char *d = image->data;
+    unsigned char *dd;
+    int alpha, r, g, b, s;
+
+    s = (image->format == RRGBAFormat) ? 4 : 3;
+    dd = d + s*image->width*image->height;
+
+    r = color->red;
+    g = color->green;
+    b = color->blue;
+
+    alpha = color->alpha;
+
+    if (r == 0 && g == 0 && b == 0) {
+	for (; d<dd; d+=s) {
+	    d[0] = clip(((int)d[0] * alpha)/128);
+	    d[1] = clip(((int)d[1] * alpha)/128);
+	    d[2] = clip(((int)d[2] * alpha)/128);
+	    }
+    } else {
+	for (; d<dd; d+=s) {
+	    d[0] = clip((((int)d[0] * alpha) + r)/128);
+	    d[1] = clip((((int)d[1] * alpha) + g)/128);
+	    d[2] = clip((((int)d[2] * alpha) + b)/128);
+	}
+    }
+}
+
 const char*
 RMessageForError(int errorCode)
 {
--- WindowMaker-0.91.0/wrlib/wraster.h.vns	2004-10-24 09:08:13 +0400
+++ WindowMaker-0.91.0/wrlib/wraster.h	2005-05-19 11:42:54 +0400
@@ -411,6 +411,8 @@
  */
 void RClearImage(RImage *image, RColor *color);
 
+void RLightImage(RImage *image, RColor *color);
+
 void RFillImage(RImage *image, RColor *color);
 
 void RBevelImage(RImage *image, int bevel_type);
--- WindowMaker-0.91.0/src/icon.c.vns	2005-05-19 11:42:53 +0400
+++ WindowMaker-0.91.0/src/icon.c	2005-05-19 11:42:54 +0400
@@ -312,7 +312,7 @@
 
 
 static Pixmap
-makeIcon(WScreen *scr, RImage *icon, int titled, int shadowed, int tileType)
+makeIcon(WScreen *scr, RImage *icon, int titled, int shadowed, int tileType, int highlighted)
 {
     RImage *tile;
     Pixmap pixmap;
@@ -355,6 +355,13 @@
         color.alpha = 150; /* about 60% */
         RClearImage(tile, &color);
     }
+    if (highlighted) {
+	RColor color;
+
+	color.red = color.green = color.blue = 0;
+	color.alpha = 160;
+	RLightImage(tile, &color);
+    }
 
     if (!RConvertImage(scr->rcontext, tile, &pixmap)) {
         wwarning(_("error rendering image:%s"), RMessageForError(RErrorCode));
@@ -597,6 +604,7 @@
     }
 
     icon->highlighted = flag;
+    icon->force_paint = True;
     wIconPaint(icon);
 }
 
@@ -766,7 +774,7 @@
 
         if (icon->image) {
             icon->pixmap = makeIcon(scr, icon->image, icon->show_title,
-                                    icon->shadowed, icon->tile_type);
+                                    icon->shadowed, icon->tile_type, icon->highlighted);
         } else {
             /* make default icons */
 
@@ -794,9 +802,9 @@
 
                 image = wIconValidateIconSize(scr, image);
                 scr->def_icon_pixmap = makeIcon(scr, image, False, False,
-                                                icon->tile_type);
+                                                icon->tile_type, icon->highlighted);
                 scr->def_ticon_pixmap = makeIcon(scr, image, True, False,
-                                                 icon->tile_type);
+                                                 icon->tile_type, icon->highlighted);
                 if (image)
                     RReleaseImage(image);
             }
--- WindowMaker-0.91.0/src/appicon.c.vns	2005-05-19 11:42:53 +0400
+++ WindowMaker-0.91.0/src/appicon.c	2005-05-19 11:42:54 +0400
@@ -222,7 +222,7 @@
 
 
 
-#ifdef NEWAPPICON
+#if 0 
 static void
 drawCorner(WIcon *icon, WWindow *wwin, int active)
 {
--- WindowMaker-0.91.0/src/application.c.vns	2005-05-19 11:42:53 +0400
+++ WindowMaker-0.91.0/src/application.c	2005-05-19 11:42:54 +0400
@@ -465,6 +465,9 @@
 
     XDeleteContext(dpy, wapp->main_window, wAppWinContext);
     wAppMenuDestroy(wapp->menu);
+#ifdef NEWAPPICON
+    wApplicationDeactivate(wapp);
+#endif
     if (wapp->app_icon) {
         if (wapp->app_icon->docked && !wapp->app_icon->attracted) {
             wapp->app_icon->running = 0;
--- WindowMaker-0.91.0/src/application.h.vns	2004-10-12 21:53:54 +0400
+++ WindowMaker-0.91.0/src/application.h	2005-05-19 11:47:21 +0400
@@ -60,15 +60,21 @@
 
 #ifdef NEWAPPICON
 
-# define wApplicationActivate(wapp)	{\
-    wapp->main_window_desc->flags.focused=1; \
-    wAppIconPaint(wapp->app_icon);\
-    }
-#define wApplicationDeactivate(wapp)	{\
-    wapp->main_window_desc->flags.focused=0;\
-    wAppIconPaint(wapp->app_icon);\
-    }
-#endif
+#define wApplicationActivate(wapp) do { \
+	if (wapp->app_icon) { \
+	    wIconSetHighlited(wapp->app_icon->icon, True); \
+		wAppIconPaint(wapp->app_icon);\
+	} \
+    } while (0)
+
+#define wApplicationDeactivate(wapp) do { \
+	if (wapp->app_icon) { \
+	    wIconSetHighlited(wapp->app_icon->icon, False); \
+		wAppIconPaint(wapp->app_icon);\
+	} \
+    } while (0)
+
 
 #endif
 
+#endif

WindowMaker-0.91.0-sga-moving-add.patch:

--- NEW FILE WindowMaker-0.91.0-sga-moving-add.patch ---
--- WindowMaker-0.91.0/src/event.c.vns	2005-05-18 22:00:15 +0400
+++ WindowMaker-0.91.0/src/event.c	2005-05-18 22:01:18 +0400
@@ -1405,6 +1405,21 @@
         }
         break;
 #endif /* !LITE */
+     case WKBD_MOVELEFTBOTTOM:
+     case WKBD_MOVEBOTTOM:
+     case WKBD_MOVERIGHTBOTTOM:
+     case WKBD_MOVELEFT:
+     case WKBD_MOVECENTER:
+     case WKBD_MOVERIGHT:
+     case WKBD_MOVELEFTTOP:
+     case WKBD_MOVETOP:
+     case WKBD_MOVERIGHTTOP:
+	if (ISMAPPED(wwin) && ISFOCUSED(wwin) && 
+		(!WFLAGP(wwin, no_resizable) || !WFLAGP(wwin, no_movable))) {
+	    CloseWindowMenu(scr);
+	    wKeyboardMoveWindowAdditional(wwin, command);
+	}
+	break;
     case WKBD_WINDOWMENU:
         if (ISMAPPED(wwin) && ISFOCUSED(wwin))
             OpenWindowMenu(wwin, wwin->frame_x,
--- WindowMaker-0.91.0/src/defaults.c.vns	2005-05-18 22:00:15 +0400
+++ WindowMaker-0.91.0/src/defaults.c	2005-05-18 22:00:15 +0400
@@ -705,6 +705,33 @@
     NULL,				getKeybind,	setKeyGrab
     },
 #endif /* LITE */
+    {"MoveLeftBottomKey", "None",		(void*)WKBD_MOVELEFTBOTTOM,
+    NULL,                               getKeybind,     setKeyGrab
+    },
+    {"MoveBottomKey", "None",		(void*)WKBD_MOVEBOTTOM,
+    NULL,                               getKeybind,     setKeyGrab
+    },
+    {"MoveRightBottomKey", "None",		(void*)WKBD_MOVERIGHTBOTTOM,
+    NULL,                               getKeybind,     setKeyGrab
+    },
+    {"MoveLeftKey", "None",		(void*)WKBD_MOVELEFT,
+    NULL,                               getKeybind,     setKeyGrab
+    },
+    {"MoveCenterKey", "None",		(void*)WKBD_MOVECENTER,
+    NULL,                               getKeybind,     setKeyGrab
+    },
+    {"MoveRightKey", "None",		(void*)WKBD_MOVERIGHT,
+    NULL,                               getKeybind,     setKeyGrab
+    },
+    {"MoveLeftTopKey", "None",		(void*)WKBD_MOVELEFTTOP,
+    NULL,                               getKeybind,     setKeyGrab
+    },
+    {"MoveTopKey", "None",		(void*)WKBD_MOVETOP,
+    NULL,                               getKeybind,     setKeyGrab
+    },
+    {"MoveRightTopKey", "None",		(void*)WKBD_MOVERIGHTTOP,
+    NULL,                               getKeybind,     setKeyGrab
+    },
     {"AllMinimizeKey", "None",		(void*)WKBD_ALLMINIMIZE,
     NULL,                               getKeybind,     setKeyGrab
     },
--- WindowMaker-0.91.0/src/keybind.h.vns	2005-05-18 22:00:15 +0400
+++ WindowMaker-0.91.0/src/keybind.h	2005-05-18 22:02:39 +0400
@@ -78,12 +78,21 @@
 
 #define WKBD_SWITCH_SCREEN      45
 #define WKBD_ALLMINIMIZE	46
+#define WKBD_MOVELEFTBOTTOM	47
+#define WKBD_MOVEBOTTOM		48
+#define WKBD_MOVERIGHTBOTTOM	49
+#define WKBD_MOVELEFT		50
+#define WKBD_MOVECENTER		51
+#define WKBD_MOVERIGHT		52
+#define WKBD_MOVELEFTTOP	53
+#define WKBD_MOVETOP		54
+#define WKBD_MOVERIGHTTOP	55
 
 #ifdef KEEP_XKB_LOCK_STATUS
-# define WKBD_TOGGLE		47
-# define WKBD_TMP		48
+# define WKBD_TOGGLE		56
+# define WKBD_TMP		57
 #else
-# define WKBD_TMP		47
+# define WKBD_TMP		56
 #endif
 
 #ifdef VIRTUAL_DESKTOP
--- WindowMaker-0.91.0/src/moveres.c.vns	2005-05-18 22:00:15 +0400
+++ WindowMaker-0.91.0/src/moveres.c	2005-05-18 22:03:33 +0400
@@ -44,6 +44,8 @@
 #include "screen.h"
 #include "xinerama.h"
 
+#include "keybind.h"
+
 #include <WINGs/WINGsP.h>
 
 
@@ -1415,10 +1417,15 @@
                 case XK_Escape:
                     done=1;
                     break;
-                case XK_Up:
 #ifdef XK_KP_Up
                 case XK_KP_Up:
 #endif
+                case XK_8:
+	            if (!ctrlmode){
+                        off_y=-src_y;
+                    }
+		    break;
+                case XK_Up:
                 case XK_k:
                     if (ctrlmode){
                         if (moment != UP)
@@ -1429,10 +1436,15 @@
                     }
                     else off_y-=kspeed;
                     break;
-                case XK_Down:
 #ifdef XK_KP_Down
                 case XK_KP_Down:
 #endif
+                case XK_2:
+	            if (!ctrlmode){
+                        off_y=-src_y+scr_height-wh;
+                    }
+		    break;
+                case XK_Down:
                 case XK_j:
                     if (ctrlmode){
                         if (moment != DOWN)
@@ -1442,10 +1454,15 @@
                     }
                     else off_y+=kspeed;
                     break;
-                case XK_Left:
 #ifdef XK_KP_Left
                 case XK_KP_Left:
 #endif
+                case XK_4:
+	            if (!ctrlmode){
+                        off_x=-src_x;
+                    }
+		    break;
+                case XK_Left:
                 case XK_h:
                     if (ctrlmode) {
                         if (moment != LEFT)
@@ -1456,10 +1473,15 @@
                     }
                     else off_x-=kspeed;
                     break;
-                case XK_Right:
 #ifdef XK_KP_Right
                 case XK_KP_Right:
 #endif
+                case XK_6:
+	            if (!ctrlmode){
+                        off_x=-src_x+scr_width-ww;
+                    }
+		    break;
+                case XK_Right:
                 case XK_l:
                     if (ctrlmode) {
                         if (moment != RIGHT)
@@ -1469,6 +1491,51 @@
                     }
                     else off_x+=kspeed;
                     break;
+#ifdef XK_KP_Home
+                case XK_KP_Home:
+#endif
+                case XK_7:
+	            if (!ctrlmode){
+                        off_x=-src_x;
+                        off_y=-src_y;
+                    }
+		    break;
+#ifdef XK_KP_Prior
+                case XK_KP_Prior:
+#endif
+		case XK_9:
+	            if (!ctrlmode){
+                        off_y=-src_y;
+                        off_x=-src_x+scr_width-ww;
+                    }
+		    break;
+#ifdef XK_KP_Next
+                case XK_KP_Next:
+#endif
+		case XK_3:
+	            if (!ctrlmode){
+                        off_y=-src_y+scr_height-wh;
+                        off_x=-src_x+scr_width-ww;
+                    }
+		    break;
+#ifdef XK_KP_End
+                case XK_KP_End:
+#endif
+		case XK_1:
+	            if (!ctrlmode){
+                        off_y=-src_y+scr_height-wh;
+                        off_x=-src_x;
+                    }
+		    break;
+#ifdef XK_KP_Begin
+                case XK_KP_Begin:
+#endif
+		case XK_5:
+	            if (!ctrlmode){
+                        off_y=-src_y+(scr_height-wh)/2;
+                        off_x=-src_x+(scr_width-ww)/2;
+                    }
+		    break;
                 }
 
                 ww=w;wh=h;
@@ -2426,3 +2493,59 @@
     }
 }
 
+int
+wKeyboardMoveWindowAdditional(WWindow *wwin, int command)
+{
+    WScreen *scr = wwin->screen_ptr;
+    int w = wwin->frame->core->width;
+    int h = wwin->frame->core->height;
+    int scr_width = wwin->screen_ptr->scr_width;
+    int scr_height = wwin->screen_ptr->scr_height;
+    int src_x = wwin->frame_x;
+    int src_y = wwin->frame_y;
+    int rc = scr_width - w;
+    int bc = scr_height - h;
+    int new_x = src_x;
+    int new_y = src_y;
+
+    switch (command) {
+     case WKBD_MOVELEFTBOTTOM:
+        new_x = 0;
+        new_y = bc;
+        break;
+     case WKBD_MOVEBOTTOM:
+        new_y = bc;
+        break;
+     case WKBD_MOVERIGHTBOTTOM:
+        new_x = rc;
+        new_y = bc;
+        break;
+     case WKBD_MOVELEFT:
+        new_x = 0;
+        break;
+     case WKBD_MOVECENTER:
+        new_x = rc/2;
+        new_y = bc/2;
+        break;
+     case WKBD_MOVERIGHT:
+        new_x = rc;
+        break;
+     case WKBD_MOVELEFTTOP:
+        new_x = 0;
+        new_y = 0;
+        break;
+     case WKBD_MOVETOP:
+        new_y = 0;
+        break;
+     case WKBD_MOVERIGHTTOP:
+        new_x = rc;
+        new_y = 0;
+    }
+
+    if (!scr->selected_windows) {
+        wWindowMove(wwin, new_x, new_y);
+        wWindowSynthConfigureNotify(wwin);
+    }
+    return 1;
+}
+

WindowMaker-0.91.0-sga-swpanel-customization.patch:

--- NEW FILE WindowMaker-0.91.0-sga-swpanel-customization.patch ---
diff -Naur WindowMaker-0.91.0/src/cycling.c WindowMaker-0.91.0.me/src/cycling.c
--- WindowMaker-0.91.0/src/cycling.c	2005-06-03 12:10:33 +0300
+++ WindowMaker-0.91.0.me/src/cycling.c	2005-06-03 12:06:40 +0300
@@ -107,6 +107,10 @@
     scr->flags.doing_alt_tab = 1;
 
     swpanel =  wInitSwitchPanel(scr, wwin, scr->current_workspace);
+    if (swpanel == NULL) {
+	    newFocused = NULL;
+	    goto exiting;
+    }
     oldFocused = wwin;
   
     if (swpanel) {
@@ -237,6 +241,9 @@
             break;
         }
     }
+
+exiting:
+
     if (keymap)
         XFreeModifiermap(keymap);
 
diff -Naur WindowMaker-0.91.0/src/defaults.c WindowMaker-0.91.0.me/src/defaults.c
--- WindowMaker-0.91.0/src/defaults.c	2005-06-03 12:10:33 +0300
+++ WindowMaker-0.91.0.me/src/defaults.c	2005-06-03 12:09:09 +0300
@@ -419,6 +419,12 @@
     {"CirculateRaise",	"NO",			NULL,
     &wPreferences.circ_raise, 	getBool, 	NULL
     },
+    {"ShowMiniaturized","YES",			NULL,
+    &wPreferences.show_miniaturized, getBool, 	NULL
+    },
+    {"ShowHidden",	"YES",			NULL,
+    &wPreferences.show_hidden, getBool, 	NULL
+    },
     {"Superfluous",	"NO",			NULL,
     &wPreferences.superfluous, 	getBool, 	NULL
     },
diff -Naur WindowMaker-0.91.0/src/switchpanel.c WindowMaker-0.91.0.me/src/switchpanel.c
--- WindowMaker-0.91.0/src/switchpanel.c	2005-06-03 12:10:33 +0300
+++ WindowMaker-0.91.0.me/src/switchpanel.c	2005-06-03 12:12:39 +0300
@@ -409,7 +409,9 @@
         for (wwin= curwin; wwin; wwin= wwin->prev) {
             if (((!fl && canReceiveFocus(wwin) > 0) || (fl && canReceiveFocus(wwin) < 0)) &&
                 (!WFLAGP(wwin, skip_window_list) || wwin->flags.internal_window) &&
-                (wwin->flags.mapped || include_unmapped)) {
+                (wwin->flags.mapped || include_unmapped) &&
+                (wPreferences.show_miniaturized || !wwin->flags.miniaturized ) && 
+                (wPreferences.show_hidden || !wwin->flags.hidden)) {
                 WMAddToArray(windows, wwin);
             }
         }
@@ -421,7 +423,9 @@
         for (wwin= curwin; wwin && wwin != curwin; wwin= wwin->prev) {
             if (((!fl && canReceiveFocus(wwin) > 0) || (fl && canReceiveFocus(wwin) < 0)) &&
                 (!WFLAGP(wwin, skip_window_list) || wwin->flags.internal_window) &&
-                (wwin->flags.mapped || include_unmapped)) {
+                (wwin->flags.mapped || include_unmapped) &&
+                (wPreferences.show_miniaturized || !wwin->flags.miniaturized ) && 
+                (wPreferences.show_hidden || !wwin->flags.hidden)) {
                 WMAddToArray(windows, wwin);
             }
         }
diff -Naur WindowMaker-0.91.0/src/WindowMaker.h WindowMaker-0.91.0.me/src/WindowMaker.h
--- WindowMaker-0.91.0/src/WindowMaker.h	2005-06-03 12:10:33 +0300
+++ WindowMaker-0.91.0.me/src/WindowMaker.h	2005-06-03 11:16:49 +0300
@@ -365,6 +365,8 @@
 
     char windows_cycling;	       /* windoze cycling */
     char circ_raise;		       /* raise window after Alt-tabbing */
+    char show_miniaturized;	       /* show miniaturized windows in Alt-tabbing panel */
+    char show_hidden;		       /* show hidden       windows in Alt-tabbing panel */
 
     char ignore_focus_click;
 

WindowMaker-0.91.0-wmcontrib-singleclick.patch:

--- NEW FILE WindowMaker-0.91.0-wmcontrib-singleclick.patch ---
--- WindowMaker-0.91.0/src/appicon.c.sc	2004-10-14 21:31:49 +0400
+++ WindowMaker-0.91.0/src/appicon.c	2005-05-17 23:37:26 +0400
@@ -590,6 +590,7 @@
     Bool movingSingle = False;
     int oldX = x;
     int oldY = y;
+    Bool hasMoved = False;
 
     if (aicon->editing || WCHECK_STATE(WSTATE_MODAL))
         return;
@@ -665,6 +666,7 @@
             break;
 
         case MotionNotify:
+            hasMoved = True;
             if (!grabbed) {
                 if (abs(dx-ev.xmotion.x)>=MOVE_THRESHOLD
                     || abs(dy-ev.xmotion.y)>=MOVE_THRESHOLD) {
@@ -802,6 +804,9 @@
             if (wPreferences.auto_arrange_icons)
                 wArrangeIcons(scr, True);
 
+            if (wPreferences.single_click && !hasMoved)
+                iconDblClick(desc, event);
+
             done = 1;
             break;
         }
--- WindowMaker-0.91.0/src/WindowMaker.h.sc	2004-10-25 05:48:39 +0400
+++ WindowMaker-0.91.0/src/WindowMaker.h	2005-05-17 23:37:26 +0400
@@ -475,6 +475,9 @@
     RImage *swtileImage;
     RImage *swbackImage[9];
 
+    /* single click to lauch applications */
+    char single_click;
+
     struct {
         unsigned int nodock:1;	       /* don't display the dock */
         unsigned int noclip:1;         /* don't display the clip */
--- WindowMaker-0.91.0/src/defaults.c.sc	2005-05-17 23:37:09 +0400
+++ WindowMaker-0.91.0/src/defaults.c	2005-05-17 23:37:26 +0400
@@ -553,6 +553,9 @@
     {"DisableBlinking",	"NO",		NULL,
     &wPreferences.dont_blink,	getBool,	NULL
     },
+    {"SingleClickLaunch",	"NO",	NULL,
+    &wPreferences.single_click,	getBool,	NULL
+    },
     /* style options */
     {"MenuStyle", 	"normal",  		seMenuStyles,
     &wPreferences.menu_style, getEnum, 	setMenuStyle
--- WindowMaker-0.91.0/src/dock.c.sc	2004-10-23 07:10:40 +0400
+++ WindowMaker-0.91.0/src/dock.c	2005-05-17 23:37:26 +0400
@@ -3758,7 +3758,7 @@
 
 
 
-static void
+static Bool
 handleIconMove(WDock *dock, WAppIcon *aicon, XEvent *event)
 {
     WScreen *scr = dock->screen_ptr;
@@ -3776,6 +3776,7 @@
     Bool docked;
     int superfluous = wPreferences.superfluous; /* we catch it to avoid problems */
     int omnipresent = aicon->omnipresent; /* this must be cached!!! */
+    Bool hasMoved = False;
 
 
     if (wPreferences.flags.noupdates)
@@ -3828,6 +3829,7 @@
             break;
 
         case MotionNotify:
+            hasMoved = True;
             if (!grabbed) {
                 if (abs(ofs_x-ev.xmotion.x)>=MOVE_THRESHOLD
                     || abs(ofs_y-ev.xmotion.y)>=MOVE_THRESHOLD) {
@@ -3977,9 +3979,11 @@
 #ifdef DEBUG
             puts("End icon move");
 #endif
-            return;
+            return hasMoved;
         }
     }
+
+    return False;  /* never reached */
 }
 
 
@@ -4116,8 +4120,11 @@
                 handleClipChangeWorkspace(scr, event);
             else
                 handleDockMove(dock, aicon, event);
-        } else
-            handleIconMove(dock, aicon, event);
+        } else {
+            Bool hasMoved = handleIconMove(dock, aicon, event);
+            if (wPreferences.single_click && !hasMoved)
+                iconDblClick(desc, event);
+        }
 
     } else if (event->xbutton.button==Button2 && dock->type==WM_CLIP &&
                aicon==scr->clip_icon) {
--- WindowMaker-0.91.0/src/icon.c.sc	2005-05-17 23:37:09 +0400
+++ WindowMaker-0.91.0/src/icon.c	2005-05-17 23:37:26 +0400
@@ -891,6 +891,7 @@
     int dx=event->xbutton.x, dy=event->xbutton.y;
     int grabbed=0;
     int clickButton=event->xbutton.button;
+    Bool hasMoved = False;
 
     if (WCHECK_STATE(WSTATE_MODAL))
         return;
@@ -942,6 +943,7 @@
             break;
 
         case MotionNotify:
+            hasMoved = True;
             if (!grabbed) {
                 if (abs(dx-ev.xmotion.x)>=MOVE_THRESHOLD
                     || abs(dy-ev.xmotion.y)>=MOVE_THRESHOLD) {
@@ -979,6 +981,8 @@
 
             if (wPreferences.auto_arrange_icons)
                 wArrangeIcons(wwin->screen_ptr, True);
+            if (wPreferences.single_click && !hasMoved)
+                miniwindowDblClick(desc, event);
             return;
 
         }
--- WindowMaker-0.91.0/WPrefs.app/Expert.c.sc	2004-10-23 07:04:38 +0400
+++ WindowMaker-0.91.0/WPrefs.app/Expert.c	2005-05-17 23:37:26 +0400
@@ -54,6 +54,7 @@
     WMSetButtonSelected(panel->swi[4], GetBoolForKey("DontConfirmKill"));
     WMSetButtonSelected(panel->swi[5], GetBoolForKey("DisableBlinking"));
     WMSetButtonSelected(panel->swi[6], GetBoolForKey("AntialiasedText"));
+    WMSetButtonSelected(panel->swi[7], GetBoolForKey("SingleClickLaunch"));
 }
 
 
@@ -66,7 +67,7 @@
     panel->box = WMCreateBox(panel->parent);
     WMSetViewExpandsToParent(WMWidgetView(panel->box), 2, 2, 2, 2);
 
-    for (i=0; i<7; i++) {
+    for (i=0; i<8; i++) {
         panel->swi[i] = WMCreateSwitchButton(panel->box);
         WMResizeWidget(panel->swi[i], FRAME_WIDTH-40, 25);
         WMMoveWidget(panel->swi[i], 20, 20+i*25);
@@ -79,6 +80,7 @@
     WMSetButtonText(panel->swi[4], _("Disable confirmation panel for the Kill command."));
     WMSetButtonText(panel->swi[5], _("Disable selection animation for selected icons."));
     WMSetButtonText(panel->swi[6], _("Smooth font edges (needs restart)."));
+    WMSetButtonText(panel->swi[7], _("Launch applications and restore windows with a single click."));
 
     WMSetButtonEnabled(panel->swi[6], True);
 
@@ -103,6 +105,7 @@
     SetBoolForKey(WMGetButtonSelected(panel->swi[4]), "DontConfirmKill");
     SetBoolForKey(WMGetButtonSelected(panel->swi[5]), "DisableBlinking");
     SetBoolForKey(WMGetButtonSelected(panel->swi[6]), "AntialiasedText");
+    SetBoolForKey(WMGetButtonSelected(panel->swi[7]), "SingleClickLaunch");
 }
 
 

WindowMaker-0.92.0-alt-newpo.patch:

--- NEW FILE WindowMaker-0.92.0-alt-newpo.patch ---
--- WindowMaker-0.92.0/po/Makefile.am.vns	2004-10-27 01:03:42 +0400
+++ WindowMaker-0.92.0/po/Makefile.am	2005-09-06 08:55:14 +0400
@@ -7,7 +7,7 @@
 # Please keep this sorted in alphabetic order!
 EXTRA_DIST = be.po bg.po bs.po ca.po cs.po da.po de.po el.po es.po et.po \
 	fi.po fr.po gl.po hr.po hu.po it.po ja.po ko.po ms.po nl.po no.po \
-	pl.po pt.po ro.po ru.po sk.po sv.po tr.po zh_CN.po zh_TW.po
+	pl.po pt.po ro.po ru.po sk.po sv.po tr.po uk.po zh_CN.po zh_TW.po
 
 POTFILES  = \
 	$(top_builddir)/src/appicon.c \
--- WindowMaker-0.92.0/configure.ac.vns	2005-09-06 08:55:13 +0400
+++ WindowMaker-0.92.0/configure.ac	2005-09-06 08:57:02 +0400
@@ -289,8 +289,8 @@
 
 dnl List of supported locales
 dnl -------------------------
-supported_locales="be bg bs ca cs da de el es et fi fr gl hr hu it ja ko ms nl no pl pt ro ru sk sv tr zh_CN zh_TW"
-supported_wprefs_locales="bg ca cs de es et fi fr hr hu it ja ko pt ru sk zh_CN zh_TW"
+supported_locales="be bg bs ca cs da de el es et fi fr gl hr hu it ja ko ms nl no pl pt ro ru sk sv tr uk zh_CN zh_TW"
+supported_wprefs_locales="bg ca cs de es et fi fr hr hu it ja ko pt ru sk uk zh_CN zh_TW"
 supported_wings_locales="bg ca cs de fr sk"
 
 for lang in $LINGUAS; do

WindowMaker-0.92.0-cvs20060123.patch:

--- NEW FILE WindowMaker-0.92.0-cvs20060123.patch ---
diff -uhrN WindowMaker-0.92.0/aclocal.m4 WindowMaker-CVS-20060123/aclocal.m4
--- WindowMaker-0.92.0/aclocal.m4	2005-06-19 05:22:57.000000000 +0200
+++ WindowMaker-CVS-20060123/aclocal.m4	2006-01-22 21:33:50.000000000 +0100
@@ -1217,8 +1217,7 @@
 
 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
 
-# serial 47 AC_PROG_LIBTOOL
-# Debian $Rev: 214 $
+# serial 48 Debian 1.5.22-2 AC_PROG_LIBTOOL
 
 
 # AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
@@ -1328,7 +1327,7 @@
 
 # Sed substitution that helps us do robust quoting.  It backslashifies
 # metacharacters that are still active within double-quoted strings.
-Xsed='sed -e s/^X//'
+Xsed='sed -e 1s/^X//'
 [sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g']
 
 # Same as above, but do not quote variable references.
@@ -1348,7 +1347,7 @@
 default_ofile=libtool
 can_build_shared=yes
 
-# All known linkers require a `.a' archive for static linking (except M$VC,
+# All known linkers require a `.a' archive for static linking (except MSVC,
 # which needs '.lib').
 libext=a
 ltmain="$ac_aux_dir/ltmain.sh"
@@ -1368,6 +1367,7 @@
 test -z "$AS" && AS=as
 test -z "$CC" && CC=cc
 test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
 test -z "$DLLTOOL" && DLLTOOL=dlltool
 test -z "$LD" && LD=ld
 test -z "$LN_S" && LN_S="ln -s"
@@ -1387,15 +1387,17 @@
 if test -n "$RANLIB"; then
   case $host_os in
   openbsd*)
-    old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds"
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
     ;;
   *)
-    old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
     ;;
   esac
   old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
 fi
 
+_LT_CC_BASENAME([$compiler])
+
 # Only perform the check for file, if the check method requires it
 case $deplibs_check_method in
 file_magic*)
@@ -1436,11 +1438,56 @@
 # If no C compiler was specified, use CC.
 LTCC=${LTCC-"$CC"}
 
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
 # Allow CC to be a program name with arguments.
 compiler=$CC
 ])# _LT_AC_SYS_COMPILER
 
 
+# _LT_CC_BASENAME(CC)
+# -------------------
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+AC_DEFUN([_LT_CC_BASENAME],
+[for cc_temp in $1""; do
+  case $cc_temp in
+    compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+    distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+])
+
+
+# _LT_COMPILER_BOILERPLATE
+# ------------------------
+# Check for compiler boilerplate output or warnings with
+# the simple compiler test code.
+AC_DEFUN([_LT_COMPILER_BOILERPLATE],
+[ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+])# _LT_COMPILER_BOILERPLATE
+
+
+# _LT_LINKER_BOILERPLATE
+# ----------------------
+# Check for linker boilerplate output or warnings with
+# the simple link test code.
+AC_DEFUN([_LT_LINKER_BOILERPLATE],
+[ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+])# _LT_LINKER_BOILERPLATE
+
+
 # _LT_AC_SYS_LIBPATH_AIX
 # ----------------------
 # Links a minimal program and checks the executable
@@ -1513,15 +1560,15 @@
 
 # The HP-UX ksh and POSIX shell print the target directory to stdout
 # if CDPATH is set.
-if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 if test -z "$ECHO"; then
 if test "X${echo_test_string+set}" != Xset; then
 # find a string as large as possible, as long as the shell can cope with it
   for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
     # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
-    if (echo_test_string="`eval $cmd`") 2>/dev/null &&
-       echo_test_string="`eval $cmd`" &&
+    if (echo_test_string=`eval $cmd`) 2>/dev/null &&
+       echo_test_string=`eval $cmd` &&
        (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
     then
       break
@@ -1690,7 +1737,7 @@
   # Find out which ABI we are using.
   echo 'int i;' > conftest.$ac_ext
   if AC_TRY_EVAL(ac_compile); then
-    case "`/usr/bin/file conftest.o`" in
+    case `/usr/bin/file conftest.o` in
     *32-bit*)
       case $host in
         x86_64-*linux*)
@@ -1741,6 +1788,22 @@
     CFLAGS="$SAVE_CFLAGS"
   fi
   ;;
+sparc*-*solaris*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.o` in
+    *64-bit*)
+      case $lt_cv_prog_gnu_ld in
+      yes*) LD="${LD-ld} -m elf64_sparc" ;;
+      *)    LD="${LD-ld} -64" ;;
+      esac
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+
 AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
 [*-*-cygwin* | *-*-mingw* | *-*-pw32*)
   AC_CHECK_TOOL(DLLTOOL, dlltool, false)
@@ -1772,7 +1835,7 @@
    # with a dollar sign (not a hyphen), so the echo should work correctly.
    # The option is referenced via a variable to avoid confusing sed.
    lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
    (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
@@ -1782,8 +1845,10 @@
    echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test ! -s conftest.err; then
+     # So say no if there are warnings other than the usual output.
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
        $2=yes
      fi
    fi
@@ -1809,11 +1874,16 @@
    LDFLAGS="$LDFLAGS $3"
    printf "$lt_simple_link_test_code" > conftest.$ac_ext
    if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The compiler can only warn and ignore the option if not recognized
+     # The linker can only warn and ignore the option if not recognized
      # So say no if there are warnings
      if test -s conftest.err; then
        # Append any errors to the config.log.
        cat conftest.err 1>&AS_MESSAGE_LOG_FD
[...25986 lines suppressed...]
diff -uhrN WindowMaker-0.92.0/wrlib/tests/Makefile.in WindowMaker-CVS-20060123/wrlib/tests/Makefile.in
--- WindowMaker-0.92.0/wrlib/tests/Makefile.in	2005-06-19 05:23:01.000000000 +0200
+++ WindowMaker-CVS-20060123/wrlib/tests/Makefile.in	2006-01-22 21:33:54.000000000 +0100
@@ -118,7 +118,7 @@
 
 EXTRA_DIST = test.png tile.xpm ballot_box.xpm 
 
-INCLUDES = -I.. $(DFLAGS) @HEADER_SEARCH_PATH@
+INCLUDES = -I$(srcdir)/.. $(DFLAGS) @HEADER_SEARCH_PATH@
 
 LIBLIST = $(top_builddir)/wrlib/libwraster.la
 
diff -uhrN WindowMaker-0.92.0/wrlib/x86_specific.c WindowMaker-CVS-20060123/wrlib/x86_specific.c
--- WindowMaker-0.92.0/wrlib/x86_specific.c	2004-10-31 02:44:01.000000000 +0100
+++ WindowMaker-CVS-20060123/wrlib/x86_specific.c	2005-08-23 00:05:43.000000000 +0200
@@ -85,9 +85,9 @@
                            unsigned short *ximage,
                            short *err,
                            short *nerr,
-                           short *rtable,
-                           short *gtable,
-                           short *btable,
+                           unsigned short *rtable,
+                           unsigned short *gtable,
+                           unsigned short *btable,
                            int dr,
                            int dg,
                            int db,
@@ -98,15 +98,27 @@
                            int height,
                            int line_offset)
 {
-    long long rrggbbaa;
-    long long pixel;
+    union {
+        long long rrggbbaa;
+        struct {
+            short int rr, gg, bb, aa;
+        } words;
+    } rrggbbaa;
+
+    union {
+        long long pixel;
+        struct {
+            short int rr, gg, bb, aa;
+        } words;
+    } pixel;
+
     short *tmp_err;
     short *tmp_nerr;
     int x;
 
     asm volatile
         (
-         "pushal                        \n\t"
+         "pushl %%ebx                   \n\t"
 
          // pack dr, dg and db into mm6
          "movl  %7, %%eax               \n\t"
@@ -219,7 +231,7 @@
          "movq %%mm0, %%mm1             \n\t"
          "pmullw %%mm5, %%mm1           \n\t" // mm1 = mm1*7
          "psrlw %%mm7, %%mm1            \n\t" // mm1 = mm1/16
-         "paddw 8(%%ebx), %%mm1                \n\t"
+         "paddw 8(%%ebx), %%mm1         \n\t"
          "movq %%mm1, 8(%%ebx)          \n\t" // err[x+1,y] = rer*7/16
 
 
@@ -228,7 +240,7 @@
          "movq %%mm0, %%mm1             \n\t"
          "pmullw %%mm4, %%mm1           \n\t" // mm1 = mm1*5
          "psrlw %%mm7, %%mm1            \n\t" // mm1 = mm1/16
-         "paddw -8(%%ebx), %%mm1                \n\t"
+         "paddw -8(%%ebx), %%mm1        \n\t"
          "movq %%mm1, -8(%%ebx)         \n\t" // err[x-1,y+1] += rer*3/16
 
          "movq %%mm0, %%mm1             \n\t"
@@ -274,7 +286,7 @@
          // because, punpcklbw is used (which reads 8 bytes) and the last
          // pixel is only 4 bytes. This is no problem because the image data
          // was allocated with extra 4 bytes when created.
-         "addl $4, %%esi                        \n\t" // image->data += 4
+         "addl $4, %%esi                \n\t" // image->data += 4
 
 
          "decl %26                      \n\t" // x--
@@ -290,7 +302,7 @@
 
 ".Enda:                                 \n\t" // THE END
          "emms                          \n\t"
-         "popal                         \n\t"
+         "popl %%ebx                    \n\t"
          :
          :
          "m" (image),                      // %0
@@ -309,17 +321,18 @@
          "m" (width),                      // %13
          "m" (height),                     // %14
          "m" (line_offset),                // %15
-         "m" (rrggbbaa),                   // %16 (access to rr)
-         "m" ((*((short*)(&rrggbbaa)+1))), // %17 (access to gg)
-         "m" ((*((short*)(&rrggbbaa)+2))), // %18 (access to bb)
-         "m" ((*((short*)(&rrggbbaa)+3))), // %19 (access to aa)
-         "m" (pixel),                      // %20 (access to pixel.r)
-         "m" ((*((short*)(&pixel)+1))),    // %21 (access to pixel.g)
-         "m" ((*((short*)(&pixel)+2))),    // %22 (access to pixel.b)
-         "m" ((*((short*)(&pixel)+3))),    // %23 (access to pixel.a)
+         "m" (rrggbbaa.words.rr),          // %16 (access to rr)
+         "m" (rrggbbaa.words.gg),          // %17 (access to gg)
+         "m" (rrggbbaa.words.bb),          // %18 (access to bb)
+         "m" (rrggbbaa.words.aa),          // %19 (access to aa)
+         "m" (pixel.words.rr),             // %20 (access to pixel.r)
+         "m" (pixel.words.gg),             // %21 (access to pixel.g)
+         "m" (pixel.words.bb),             // %22 (access to pixel.b)
+         "m" (pixel.words.aa),             // %23 (access to pixel.a)
          "m" (tmp_err),                    // %24
          "m" (tmp_nerr),                   // %25
          "m" (x)                           // %26
+         : "eax", "ecx", "edx", "esi", "edi"
         );
 }
 
@@ -342,8 +355,19 @@
                            int height,
                            int line_offset)
 {
-    long long rrggbbaa;
-    long long pixel;
+    union {
+        long long rrggbbaa;
+        struct {
+            short int rr, gg, bb, aa;
+        } words;
+    } rrggbbaa;
+    
+    union {
+        long long pixel;
+        struct {
+            short int rr, gg, bb, aa;
+        } words;
+    } pixel;
 
     short *tmp_err;
     short *tmp_nerr;
@@ -354,7 +378,7 @@
 
     asm volatile
         (
-         "pushal                        \n\t"
+         "pushl %%ebx                   \n\t"
 
          "movl %13, %%eax               \n\t" // eax = width
          "movl %%eax, %%ebx             \n\t"
@@ -424,7 +448,7 @@
 
 ".Endc:                                 \n\t" // THE END
          "emms                          \n\t"
-         "popal                         \n\t"
+         "popl %%ebx                    \n\t"
          :
          :
          "m" (image),                      // %0
@@ -443,19 +467,20 @@
          "m" (width),                      // %13
          "m" (height),                     // %14
          "m" (line_offset),                // %15
-         "m" (rrggbbaa),                   // %16 (access to rr)
-         "m" ((*((short*)(&rrggbbaa)+1))), // %17 (access to gg)
-         "m" ((*((short*)(&rrggbbaa)+2))), // %18 (access to bb)
-         "m" ((*((short*)(&rrggbbaa)+3))), // %19 (access to aa)
-         "m" (pixel),                      // %20 (access to pixel.r)
-         "m" ((*((short*)(&pixel)+1))),    // %21 (access to pixel.g)
-         "m" ((*((short*)(&pixel)+2))),    // %22 (access to pixel.b)
-         "m" ((*((short*)(&pixel)+3))),    // %23 (access to pixel.a)
+         "m" (rrggbbaa.words.rr),          // %16 (access to rr)
+         "m" (rrggbbaa.words.gg),          // %17 (access to gg)
+         "m" (rrggbbaa.words.bb),          // %18 (access to bb)
+         "m" (rrggbbaa.words.aa),          // %19 (access to aa)
+         "m" (pixel.words.rr),             // %20 (access to pixel.r)
+         "m" (pixel.words.gg),             // %21 (access to pixel.g)
+         "m" (pixel.words.bb),             // %22 (access to pixel.b)
+         "m" (pixel.words.aa),             // %23 (access to pixel.a)
          "m" (tmp_err),                    // %24
          "m" (tmp_nerr),                   // %25
          "m" (x),                          // %26
          "m" (w1),                         // %27
          "m" (w2)                          // %28
+         : "eax", "ecx", "edx", "esi", "edi"
         );
 }
 
@@ -653,7 +678,7 @@
          "movw $0xff, %%dx              \n\t" // pixel.blu > 255
          "jmp .OKBb                     \n"
 ".NEGBb:                                \n\t"
-         "xorw %%dx, %%dx                       \n"
+         "xorw %%dx, %%dx               \n"
 ".OKBb:                                 \n\t"
          //partial reg
          "leal (%%edi, %%edx, 2), %%ecx \n\t" // ecx = &ctable[pixel.blu]


--- NEW FILE WindowMaker-README.newbuttons ---
INSTALLATIONS

Heres what you do, real simple like.

On your favorite console/term, Repeat after me:

cp *.xpm to YourWM-0.80.0Source/WPrefs.app/xpm
cp *.tiff to YourWM-0.80.0Source/WPrefs.app/tiff
cd YouWM-0.80.0Source
patch -p1 < Path/To/Patch/newbuttons.patch

then

./configure
make
make install

And Restart WindowMaker

You should now have three buttons in 
    WPrefs.App->Other Confiugrations->Titlebar Style
    
CREDITS May 2, 2002
Originally the patch was written by
TDF (The Dixie Flatline) on Efnet and given to ]d for the fun patch
It can be found at
ftp://ftp.windowmaker.org/pub/source/patches/unsupported/id/
Carlos Torres aka vlaad (vlaadbrain at operamail.com) 
modified it for WindowMaker 0.80.0
and Todd Goyen aka wettoad (wettoad at knighthoodofbuh.org) fixed it
so that it didn't screw the other two titlebar styles
Now you can have all three

w00t!

WindowMaker-gcc41.patch:

--- NEW FILE WindowMaker-gcc41.patch ---
--- src/wmspec.c.orig	2006-02-28 00:53:02.000000000 +0100
+++ src/wmspec.c	2006-03-02 14:59:07.000000000 +0100
@@ -827,19 +827,27 @@
 updateWorkspaceNames(WScreen *scr)
 {
     char buf[1024], *pos;
-    unsigned int i, len, curr_size;
-
-    pos = buf;
+    unsigned int i, len, curr_size; 
     len = 0;
+
+    pos = memset(buf,'\0',sizeof(buf));
+    
     for(i = 0; i < scr->workspace_count; i++) {
-        curr_size = strlen(scr->workspaces[i]->name);
-        strcpy(pos, scr->workspaces[i]->name);
-        pos += (curr_size+1);
+
+	curr_size = strlen(scr->workspaces[i]->name);
+	
+	if(len + curr_size + 1 > sizeof(buf)) {
+	    break;
+	}
+
+        strncpy(pos, scr->workspaces[i]->name,sizeof(buf) - len);
+	
+	pos += (curr_size+1);
         len += (curr_size+1);
     }
 
     XChangeProperty(dpy, scr->root_win, net_desktop_names, utf8_string, 8,
-                    PropModeReplace, (unsigned char *)buf, len);
+                    PropModeReplace, (unsigned char *)buf, strlen(buf));
 }
 
 


--- NEW FILE WindowMaker-newbuttons.nextstyle.xpm ---
/* XPM */
static char * nextstyle_xpm[] = {
"37 33 84 1",
" 	c None",
".	c #747474",
"+	c #757575",
"@	c #000000",
"#	c #222222",
"$	c #262626",
"%	c #282828",
"&	c #080808",
"*	c #FFFFFF",
"=	c #FFFAFF",
"-	c #FFFFF6",
";	c #F6F6F6",
">	c #F6F2F6",
",	c #EEEEEE",
"'	c #B4B6B4",
")	c #8B8D94",
"!	c #DEE6E6",
"~	c #E6E6EE",
"{	c #CDD2CD",
"]	c #A4A1A4",
"^	c #313431",
"/	c #94918B",
"(	c #EEF6F6",
"_	c #292829",
":	c #C5CACD",
"<	c #E6E6E6",
"[	c #A4A5AC",
"}	c #414039",
"|	c #948D8B",
"1	c #8B8D8B",
"2	c #292C29",
"3	c #D5D6D5",
"4	c #B4BAB4",
"5	c #313029",
"6	c #DEDADE",
"7	c #A4A5A4",
"8	c #8B898B",
"9	c #F6FAFF",
"0	c #F6FFFF",
"a	c #DEDEDE",
"b	c #181818",
"c	c #E6EAE6",
"d	c #C5C6C5",
"e	c #8B8983",
"f	c #EEF2F6",
"g	c #EEEEF6",
"h	c #101010",
"i	c #201818",
"j	c #838183",
"k	c #838983",
"l	c #949594",
"m	c #202420",
"n	c #CDCECD",
"o	c #BDBABD",
"p	c #202018",
"q	c #736D73",
"r	c #6A7573",
"s	c #83817B",
"t	c #B4B2B4",
"u	c #202829",
"v	c #C5C2C5",
"w	c #201C18",
"x	c #5A5552",
"y	c #7B757B",
"z	c #393C41",
"A	c #CDD2D5",
"B	c #D5D2D5",
"C	c #9CA1A4",
"D	c #BDBAB4",
"E	c #8B8583",
"F	c #6A6D6A",
"G	c #949994",
"H	c #A4AAAC",
"I	c #94999C",
"J	c #94958B",
"K	c #94898B",
"L	c #83818B",
"M	c #73756A",
"N	c #837D83",
"O	c #060606",
"P	c #070707",
"Q	c #030303",
"R	c #ABABAB",
"S	c #535353",
"..................+++++++...........@",
"##################$$$$$$$%$%$$$$$$$$@",
"##################$$$$$$$$%%%%%%%%%%@",
"###################################%@",
"###################################%&",
"####################@@@@@@@@@@@@*%%%&",
"####################@=****-;>,'@*%%%&",
"####################@*)!=;~{]^/@*%%%&",
"####################@*(_:><[}|1@*%%%&",
"####################@**:2345678@*%%%&",
"####################@*90ab_cd/e@*%%%&",
"####################@9fg3hid7jk@*%%%&",
"####################@;almnopqrs@*%%%&",
"####################@>tuva67wxy@*%%%&",
"####################@,zABClDEbF@*%%%&",
"####################@'GHIJKeLMN@*%%%&",
"####################@@@@@@@@@@@@*%%%&",
"####################*************%%%&",
"##################$$$$$$$$$%%%%%%%%%&",
"##################$$$$$$$%$%%%%%%%%%&",
"OOOOOOOOOOOOOOOOOOPPPPPPPPPPPPP&&&&&Q",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR@",
"RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR@",
"RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR@",
"RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR@",
"SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS*RR@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@R*RR@",
"********************************R*RR@",
"********************************R*RR@",
"********************************R*RR@",
"********************************R*RR@",
"********************************R*RR@"};


--- NEW FILE WindowMaker-uk.po ---
msgid ""
msgstr ""
"Project-Id-Version: WindowMaker 0.80.1\n"
"POT-Creation-Date: 2002-02-15 15:50+0200\n"
"PO-Revision-Date: 2005-09-06 08:56+0300\n"
"Last-Translator: Victor Forsyuk <victor at ksi-linux.com>\n"
"Language-Team: KSI Linux Ukrainian <uk at ksi-linux.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=koi8-u\n"
"Content-Transfer-Encoding: 8bit\n"

#: ../src/appicon.c:426 ../src/dialog.c:282 ../src/dock.c:3325
#: ../src/dockedapp.c:230 ../src/main.c:273 ../src/rootmenu.c:1853
#: ../src/winspector.c:389 ../src/winspector.c:406
msgid "Error"
msgstr "ðÏÍÉÌËÁ"

#: ../src/appicon.c:427
msgid "Could not open specified icon file"
msgstr "îÅÍÏÖÌÉ×Ï ×¦ÄËÒÉÔÉ ×ËÁÚÁÎÉÊ ÆÁÊÌ ¦ËÏÎËÉ"

#: ../src/appicon.c:428 ../src/dialog.c:179 ../src/dialog.c:282
#: ../src/dialog.c:729 ../src/dialog.c:1818 ../src/dock.c:526
#: ../src/dock.c:534 ../src/dock.c:558 ../src/dock.c:3326
#: ../src/dockedapp.c:231 ../src/dockedapp.c:426 ../src/main.c:273
#: ../src/rootmenu.c:1857 ../src/winspector.c:390 ../src/winspector.c:407
msgid "OK"
msgstr "OK"

#: ../src/appicon.c:456 ../src/dock.c:264
msgid ""
" will be forcibly closed.\n"
"Any unsaved changes will be lost.\n"
"Please confirm."
msgstr ""
" ÐÒÉÍÕÓÏ×Ï ÚÁ×ÅÒÛÉÔØÓÑ.\n"
"÷Ó¦ ÎÅÚÂÅÒÅÖÅΦ ÚͦÎÉ ÂÕÄÕÔØ ×ÔÒÁÞÅΦ.\n"
"âÕÄØ ÌÁÓËÁ, ЦÄÔ×ÅÒĦÔØ."

#
#: ../src/appicon.c:464 ../src/dock.c:283 ../src/winmenu.c:125
msgid "Kill Application"
msgstr "ðÒÉÍÕÓÏ×Å ÚÁ×ÅÒÛÅÎÎÑ"

#: ../src/appicon.c:465 ../src/dock.c:284 ../src/winmenu.c:127
msgid "Yes"
msgstr "ôÁË"

#: ../src/appicon.c:465 ../src/dock.c:284 ../src/winmenu.c:127
msgid "No"
msgstr "î¦"

#: ../src/appicon.c:495 ../src/dock.c:1177 ../src/dock.c:3491
msgid "Unhide Here"
msgstr "òÏÚËÒÉÔÉ ÔÕÔ"

#: ../src/appicon.c:496 ../src/appicon.c:521 ../src/dock.c:1179
#: ../src/dock.c:1181 ../src/dock.c:3503 ../src/winmenu.c:465
msgid "Hide"
msgstr "ðÒÉÈÏ×ÁÔÉ"

#: ../src/appicon.c:497
msgid "Set Icon..."
msgstr "÷ÓÔÁÎÏ×ÉÔÉ ¦ËÏÎËÕ..."

#: ../src/appicon.c:498 ../src/dock.c:1185 ../src/rootmenu.c:248
#: ../src/rootmenu.c:264 ../src/winmenu.c:520
msgid "Kill"
msgstr "õÂÉÔÉ"

#: ../src/appicon.c:519 ../src/dock.c:3501
msgid "Unhide"
msgstr "òÏÚËÒÉÔÉ"

#: ../src/application.c:398
#, c-format
msgid "recreating missing icon '%s'"
msgstr ""

#: ../src/defaults.c:922 ../src/defaults.c:1011
#, c-format
msgid "Domain %s (%s) of global defaults database is corrupted!"
msgstr "äÏÍÅÎ %s (%s) × ÇÌÏÂÁÌØÎ¦Ê ÂÁÚ¦ ÕÍÏ×ÞÁÎØ ÐÏÛËÏÄÖÅÎÉÊ!"

#: ../src/defaults.c:927
#, c-format
msgid "could not load domain %s from global defaults database"
msgstr "ÎÅ ×ÄÁÌÏÓØ ÚÁ×ÁÎÔÁÖÉÔÉ ÄÏÍÅÎ %s Ú ÇÌÏÂÁÌØÎϧ ÂÁÚÉ ÕÍÏ×ÞÁÎØ"

#: ../src/defaults.c:949 ../src/startup.c:884 ../src/startup.c:902
#: ../src/startup.c:908
#, c-format
msgid "could not read domain \"%s\" from defaults database"
msgstr "ÎÅ ×ÄÁÌÏÓØ ÐÒÏÞÉÔÁÔÉ ÄÏÍÅÎ \"%s\" Ú ÂÁÚÉ ÄÁÎÉÈ ÕÍÏ×ÞÁÎØ"

#: ../src/defaults.c:995 ../src/defaults.c:1099 ../src/defaults.c:1140
#: ../src/defaults.c:1196
#, c-format
msgid "Domain %s (%s) of defaults database is corrupted!"
msgstr "äÏÍÅÎ %s (%s) × ÂÁÚ¦ ÄÁÎÉÈ ÕÍÏ×ÞÁÎØ ÐÏÛËÏÄÖÅÎÉÊ!"

#: ../src/defaults.c:1000 ../src/defaults.c:1119 ../src/defaults.c:1176
#: ../src/defaults.c:1205 ../src/menureader.c:397
#, c-format
msgid "could not load domain %s from user defaults database"
msgstr "ÎÅ ×ÄÁÌÏÓØ ÚÁ×ÁÎÔÁÖÉÔÉ ÄÏÍÅÎ \"%s\" Ú ÂÁÚÉ ÕÍÏ×ÞÁÎØ ËÏÒÉÓÔÕ×ÁÞÁ"

#: ../src/defaults.c:1030
#, c-format
msgid "could not load domain %s from global defaults database (%s)"
msgstr "ÎÅ ×ÄÁÌÏÓØ ÚÁ×ÁÎÔÁÖÉÔÉ ÄÏÍÅÎ %s Ú ÇÌÏÂÁÌØÎϧ ÂÁÚÉ ÕÍÏ×ÞÁÎØ (%s)"

#: ../src/defaults.c:1166 ../src/screen.c:458
#, c-format
msgid "could not load logo image for panels: %s"
msgstr "ÎÅ ×ÄÁÌÏÓØ ÚÁ×ÁÎÔÁÖÉÔÉ ÚÁÓÔÁ×ËÕ ÄÌÑ ÐÁÎÅÌÅÊ: %s"

#: ../src/defaults.c:1447
#, c-format
msgid "wrong option value for key \"%s\". Should be one of %s"
msgstr "ÎÅÐÒÁ×ÉÌØÎÅ ÚÎÁÞÅÎÎÑ ÄÌÑ ËÌÀÞÁ \"%s\". íÁ¤ ÂÕÔÉ ÏÄÎÅ Ú %s."

#: ../src/defaults.c:1492
#, c-format
msgid "can't convert \"%s\" to boolean for key \"%s\""
msgstr "ÎÅ ×ÄÁÌÏÓØ ÐÅÒÅÔ×ÏÒÉÔÉ \"%s\" × ÂÕ̦×ÓØËÅ ÚÎÁÞÅÎÎÑ ÄÌÑ ËÌÀÞÁ \"%s\""

#: ../src/defaults.c:1497 ../src/defaults.c:1529 ../src/defaults.c:1561
#: ../src/defaults.c:1574 ../src/defaults.c:1589 ../src/defaults.c:1603
#: ../src/defaults.c:1673 ../src/defaults.c:1685 ../src/defaults.c:2152
#: ../src/defaults.c:2169 ../src/defaults.c:2182 ../src/defaults.c:2214
#: ../src/defaults.c:2230 ../src/defaults.c:2261 ../src/defaults.c:2348
#: ../src/defaults.c:2734 ../src/defaults.c:2745
#, c-format
msgid "using default \"%s\" instead"
msgstr "×ÉËÏÒÉÓÔÏ×Õ¤ÍÏ ÚÎÁÞÅÎÎÑ ÚÁ ÕÍÏ×ÞÁÎÎÑÍ (%s)"

#: ../src/defaults.c:1526
#, c-format
msgid "can't convert \"%s\" to integer for key \"%s\""
msgstr "ÎÅÍÏÖÌÉ×Ï ÐÅÒÅÔ×ÏÒÉÔÉ \"%s\" × Ã¦ÌÅ ÚÎÁÞÅÎÎÑ ÄÌÑ ËÌÀÞÁ \"%s\""

#: ../src/defaults.c:1556 ../src/defaults.c:1668 ../src/defaults.c:2147
#: ../src/defaults.c:2164 ../src/defaults.c:2209 ../src/defaults.c:2256
#: ../src/defaults.c:2729 ../src/wdefaults.c:571 ../src/wdefaults.c:607
#, c-format
msgid "Wrong option format for key \"%s\". Should be %s."
msgstr "îÅÐÒÁ×ÉÌØÎÉÊ ÆÏÒÍÁÔ ÐÁÒÁÍÅÔÒÁ ÄÌÑ ËÌÀÞÁ \"%s\". íÁ¤ ÂÕÔÉ %s."

#: ../src/defaults.c:1569
#, c-format
msgid "Incorrect number of elements in array for key \"%s\"."
msgstr "îÅËÏÒÅËÔÎÁ ˦ÌØ˦ÓÔØ ÅÌÅÍÅÎÔ¦× × ÍÁÓÉצ ÄÌÑ ËÌÀÞÁ \"%s\"."

#: ../src/defaults.c:1584
#, c-format
msgid "Wrong value for key \"%s\". Should be Coordinate."
msgstr "îÅÐÒÁ×ÉÌØÎÅ ÚÎÁÞÅÎÎÑ ÐÁÒÁÍÅÔÒÁ ÄÌÑ ËÌÀÞÁ \"%s\". íÁ¤ ÂÕÔÉ Coordinate."

#: ../src/defaults.c:1599
#, c-format
msgid "can't convert array to integers for \"%s\"."
msgstr "ÎÅ ×ÄÁÌÏÓØ ÐÅÒÅÔ×ÏÒÉÔÉ ÍÁÓÉ× × Ã¦Ì¦ ÚÎÁÞÅÎÎÑ ÄÌÑ \"%s\"."

#: ../src/defaults.c:1797 ../src/defaults.c:1829 ../src/defaults.c:1845
#: ../src/defaults.c:1874 ../src/defaults.c:1897 ../src/defaults.c:1950
#: ../src/defaults.c:1990 ../src/defaults.c:2028 ../src/defaults.c:2044
#, c-format
msgid "\"%s\" is not a valid color name"
msgstr "\"%s\" ÎÅ ¤ צÄÏÍÏÀ ÎÁÚ×ÏÀ ËÏÌØÏÒÕ"

#: ../src/defaults.c:1810 ../src/defaults.c:1862
msgid "bad number of arguments in gradient specification"
msgstr "ÎÅÐÒÁ×ÉÌØÎÁ ˦ÌØ˦ÓÔØ ÁÒÇÕÍÅÎÔ¦× Õ ×ÉÚÎÁÞÅÎΦ ÇÒÁĦ¤ÎÔÁ"

#: ../src/defaults.c:1923
msgid "too few arguments in multicolor gradient specification"
msgstr "ÎÁÄÔÏ ÍÁÌÏ ÁÒÇÕÍÅÎÔ¦× Õ ×ÉÚÎÁÞÅÎΦ ÂÁÇÁÔÏËÏ̦ÒÎÏÇÏ ÇÒÁĦ¤ÎÔÁ"

#: ../src/defaults.c:2017
msgid "bad number of arguments in textured gradient specification"
msgstr "ÎÅÐÒÁ×ÉÌØÎÁ ˦ÌØ˦ÓÔØ ÁÒÇÕÍÅÎÔ¦× Õ ×ÉÚÎÁÞÅÎΦ ÇÒÁĦ¤ÎÔÁ Ú ÔÅËÓÔÕÒÏÀ"

#: ../src/defaults.c:2060
#, c-format
msgid "bad opacity value for tgradient texture \"%s\". Should be [0..255]"
msgstr ""
"ÎÅÐÒÁ×ÉÌØÎÅ ÚÎÁÞÅÎÎÑ ÐÒÏÚÏÒÏÓÔ¦ ÄÌÑ t-ÇÒÁĦ¤ÎÔÁ Ú ÔÅËÓÔÕÒÏÀ \"%s\"; ÍÁ¤ ÂÕÔÉ "
"[0..255]"

#: ../src/defaults.c:2120
#, c-format
msgid "could not initialize library %s"
msgstr "ÎÅ ×ÄÁÌÏÓØ ¦Î¦Ã¦Á̦ÚÕ×ÁÔÉ Â¦Â̦ÏÔÅËÕ %s"

#: ../src/defaults.c:2123
#, c-format
msgid "could not find function %s::%s"
msgstr "ÎÅ ×ÄÁÌÏÓØ ÚÎÁÊÔÉ ÆÕÎËæÀ %s::%s"

#: ../src/defaults.c:2130
#, c-format
msgid "invalid texture type %s"
msgstr "ÎÅÐÒÁ×ÉÌØÎÉÊ ÔÉÐ ÔÅËÓÔÕÒÉ (%s)"

#: ../src/defaults.c:2177
#, c-format
msgid "Error in texture specification for key \"%s\""
msgstr "ðÏÍÉÌËÁ Õ ×ÉÚÎÁÞÅÎΦ ÔÅËÓÔÕÒÉ ÄÌÑ ËÌÀÞÁ \"%s\""

#: ../src/defaults.c:2226
msgid "Wrong type for workspace background. Should be a texture type."
msgstr ""
"îÅÐÒÁ×ÉÌØÎÉÊ ÔÉÐ ÄÌÑ ÆÏÎÕ òÏÂÏÞÏÇÏ ÓÔÏÌÕ; ÍÁ¤ ÂÕÔÉ ÚÎÁÞÅÎÎÑ ÔÉÐÕ "
"\"ÔÅËÓÔÕÒÁ\"."

#: ../src/defaults.c:2274
#, c-format
msgid "Wrong type for background of workspace %i. Should be a texture."
msgstr ""
"îÅÐÒÁ×ÉÌØÎÉÊ ÔÉÐ ÄÌÑ ÆÏÎÕ òÁÂÏÞÏÇÏ ÓÔÏÌÕ %i; ÍÁ¤ ÂÕÔÉ ÚÎÁÞÅÎÎÑ ÔÉÐÕ "
"\"ÔÅËÓÔÕÒÁ\"."

#: ../src/defaults.c:2316
msgid "could not load any usable font!!!"
msgstr "ÎÅ ×ÄÁÌÏÓØ ÚÁ×ÁÎÔÁÖÉÔÉ ÛÒÉÆÔ!!!"

#: ../src/defaults.c:2343
#, c-format
msgid "could not get color for key \"%s\""
msgstr "ÎÅ ×ÄÁÌÏÓØ ×ÉÚÎÁÞÉÔÉ ËÏÌ¦Ò ÄÌÑ ËÌÀÞÁ \"%s\""

#: ../src/defaults.c:2401 ../src/rootmenu.c:526
#, c-format
msgid "%s:invalid key modifier \"%s\""
msgstr "%s:ÎÅÐÒÁ×ÉÌØÎÉÊ ÍÏÄÉƦËÁÔÏÒ ËÌÁצۦ \"%s\""

#
#: ../src/defaults.c:2413
#, c-format
msgid "%s:invalid kbd shortcut specification \"%s\""
msgstr "%s:ÎÅÐÒÁ×ÉÌØÎÅ ×ÉÚÎÁÞÅÎÎÑ ËÏͦÎÁæ§ ËÌÁ×¦Û \"%s\""

#
#: ../src/defaults.c:2420
#, c-format
msgid "%s:invalid key in shortcut \"%s\""
msgstr "%s:ÎÅÐÒÁ×ÉÌØÎÁ ËÌÁצÛÁ × ËÏͦÎÁæ§ \"%s\""

#: ../src/defaults.c:2445
#, c-format
msgid "%s: modifier key %s is not valid"
msgstr "%s: ÍÏÄÉƦËÁÔÏÒ %s ÎÅÐÒÁ×ÉÌØÎÉÊ"

#: ../src/defaults.c:2477
#, c-format
msgid "could not load image in option %s: %s"
msgstr "ÎÅ ×ÄÁÌÏÓØ ÚÁ×ÁÎÔÁÖÉÔÉ ÚÏÂÒÁÖÅÎÎÑ ÄÌÑ ÐÁÒÁÍÅÔÒÁ %s: %s"

#
#: ../src/defaults.c:2594
#, c-format
msgid "failed to open bitmap file \"%s\""
msgstr "ÎÅ ×ÄÁÌÏÓØ ×¦ÄËÒÉÔÉ ÒÁÓÔÒÏ×ÉÊ ÆÁÊÌ \"%s\""

#: ../src/defaults.c:2597
#, c-format
msgid "\"%s\" is not a valid bitmap file"
msgstr "\"%s\" ÎÅ ¤ ÎÁÓÐÒÁ×Ħ ÒÁÓÔÒÏ×ÉÍ ÆÁÊÌÏÍ"

#: ../src/defaults.c:2600
#, c-format
msgid "out of memory reading bitmap file \"%s\""
msgstr "×ÉÞÅÒÐÁÎÁ ÐÁÍ'ÑÔØ Ð¦Ä ÞÁÓ ÞÉÔÁÎÎÑ ÒÁÓÔÒÏ×ÏÇÏ ÆÁÊÌÕ \"%s\""

#: ../src/defaults.c:2639 ../src/defaults.c:2672
msgid "bad number of arguments in cursor specification"
msgstr "ÎÅÐÒÁ×ÉÌØÎÁ ˦ÌØ˦ÓÔØ ÁÒÇÕÍÅÎÔ¦× Õ ×ÉÚÎÁÞÅÎΦ ËÕÒÓÏÒÁ"

#: ../src/defaults.c:2655
#, c-format
msgid "unknown builtin cursor name \"%s\""
msgstr ""

#: ../src/defaults.c:2682 ../src/defaults.c:2694
#, c-format
msgid "could not find cursor bitmap file \"%s\""
msgstr "ÎÅ ×ÄÁÌÏÓØ ÚÎÁÊÔÉ ÒÁÓÔÒÏ×ÉÊ ÆÁÊÌ ËÕÒÓÏÒÁ \"%s\""

#: ../src/defaults.c:2741
#, c-format
msgid "Error in cursor specification for key \"%s\""
msgstr "ðÏÍÉÌËÁ Õ ×ÉÚÎÁÞÅÎΦ ËÕÒÓÏÒÁ ÄÌÑ ËÌÀÞÁ \"%s\""

#: ../src/defaults.c:2826
msgid "could not render texture for icon background"
msgstr "ÎÅ ×ÄÁÌÏÓØ Ð¦ÄÇÏÔÕ×ÁÔÉ ÔÅËÓÔÕÒÕ ÄÌÑ ÆÏÎÕ ¦ËÏÎËÉ"

#
#: ../src/dialog.c:135
msgid "Save workspace state"
msgstr "úÂÅÒÅÇÔÉ ÓÔÁÎ òÏÂÏÞÏÇÏ ÓÔÏÌÕ"

#: ../src/dialog.c:179 ../src/dialog.c:736 ../src/dock.c:558
#: ../src/dockedapp.c:431 ../src/rootmenu.c:198 ../src/rootmenu.c:248
#: ../src/rootmenu.c:264
msgid "Cancel"
msgstr "÷¦ÄͦÎÁ"

#
#: ../src/dialog.c:277
msgid "Could not open directory "
msgstr "îÅÍÏÖÌÉ×Ï ×¦ÄËÒÉÔÉ ËÁÔÁÌÏÇ "

#: ../src/dialog.c:332
msgid "Could not load image file "
msgstr "îÅÍÏÖÌÉ×Ï ÚÁ×ÁÎÔÁÖÉÔÉ ÆÁÊÌ ÚÏÂÒÁÖÅÎÎÑ "

#: ../src/dialog.c:663
msgid "Directories"
msgstr "ëÁÔÁÌÏÇÉ"

#: ../src/dialog.c:672
msgid "Icons"
msgstr "¶ËÏÎËÉ"

#: ../src/dialog.c:705
msgid "Preview"
msgstr ""

#
#: ../src/dialog.c:718
msgid "File Name:"
msgstr "¶Í'Ñ ÆÁÊÌÕ:"

#: ../src/dialog.c:742
msgid "Choose File"
msgstr "÷ÉÂÅÒ¦ÔØ ÆÁÊÌ"

#: ../src/dialog.c:760 ../src/dialog.c:762
msgid "Icon Chooser"
msgstr "÷ÉÂ¦Ò ¦ËÏÎËÉ"

#: ../src/dialog.c:1241 ../src/dialog.c:1351
#, c-format
msgid "Version %s"
msgstr "÷ÅÒÓ¦Ñ %s"

#: ../src/dialog.c:1348
msgid "Window Manager for X"
msgstr "íÅÎÅÄÖÅÒ ×¦ËÏÎ ÄÌÑ X"

#: ../src/dialog.c:1373
#, c-format
msgid "Using visual 0x%x: %s %ibpp "
msgstr ""

#: ../src/dialog.c:1381
msgid "(32 thousand colors)\n"
msgstr "(32 ÔÉÓÑÞ¦ ËÏÌØÏÒ¦×)\n"

#: ../src/dialog.c:1384
msgid "(64 thousand colors)\n"
msgstr "(64 ÔÉÓÑÞ¦ ËÏÌØÏÒ¦×)\n"

#: ../src/dialog.c:1388
msgid "(16 million colors)\n"
msgstr "(16 ͦÌØÊÏÎ¦× ËÏÌØÏÒ¦×)\n"

#: ../src/dialog.c:1391
#, c-format
msgid "(%d colors)\n"
msgstr "(%d ËÏÌØÏÒ¦×)\n"

#: ../src/dialog.c:1401
#, c-format
msgid "Total allocated memory: %i kB. Total memory in use: %i kB.\n"
msgstr "÷ÓØÏÇÏ ×ÉĦÌÅÎÏ ÐÁÍ'ÑÔ¦: %i kB. ÷ÓØÏÇÏ ×ÉËÏÒÉÓÔÁÎÏ ÐÁÍ'ÑÔ¦: %i kB.\n"

#: ../src/dialog.c:1408
msgid "Supported image formats: "
msgstr "ð¦ÄÔÒÉÍÕÀÔØÓÑ ÆÏÒÍÁÔÉ ÚÏÂÒÁÖÅÎØ: "

#: ../src/dialog.c:1415
msgid ""
"\n"
"Additional support for: "
msgstr ""
"\n"
"äÏÄÁÔËÏ×Á ЦÄÔÒÉÍËÁ ÄÌÑ: "

#: ../src/dialog.c:1438
msgid " and "
msgstr " ÔÁ "

#: ../src/dialog.c:1448
msgid ""
"\n"
"Sound disabled"
msgstr ""
"\n"
"ð¦ÄÔÒÉÍËÕ Ú×ÕËÕ ×ÉÍËÎÅÎÏ"

#: ../src/dialog.c:1450
msgid ""
"\n"
"Sound enabled"
msgstr ""
"\n"
"ð¦ÄÔÒÉÍËÕ Ú×ÕËÕ ÕצÍËÎÅÎÏ"

#: ../src/dialog.c:1476
msgid "Info"
msgstr "¶ÎÆÏÒÍÁæÑ"

#: ../src/dialog.c:1499
msgid "Merry Christmas!"
msgstr "ýÁÓÌÉ×ÏÇÏ ò¦ÚÄ×Á!"

#: ../src/dialog.c:1569
msgid ""
"    Window Maker is free software; you can redistribute it and/or\n"
"modify it under the terms of the GNU General Public License as\n"
"published by the Free Software Foundation; either version 2 of the\n"
"License, or (at your option) any later version.\n"
"\n"
"    Window Maker is distributed in the hope that it will be useful,\n"
"but WITHOUT ANY WARRANTY; without even the implied warranty\n"
"of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
"See the GNU General Public License for more details.\n"
"\n"
"    You should have received a copy of the GNU General Public\n"
"License along with this program; if not, write to the Free Software\n"
"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA\n"
"02111-1307, USA."
msgstr ""
"    Window Maker ¤ צÌØÎÉÍ ÐÒÏÇÒÁÍÎÉÍ ÚÁÂÅÚÐÅÞÅÎÎÑÍ; ÷É ÍÏÖÅÔÅ\n"
"ÒÏÚÐÏ×ÓÀÄÖÕ×ÁÔÉ ÔÁ/ÁÂÏ ÍÏÄÉƦËÕ×ÁÔÉ ÊÏÇÏ Õ ×¦ÄÐÏצÄÎÏÓÔ¦ Ú ÕÍÏ×ÁÍÉ\n"
"̦ÃÅÎÚ¦§ GNU General Public License (GPL) ÏÐÕÂ̦ËÏ×ÁÎϧ ÏÒÇÁΦÚÁæ¤À\n"
"Free Software Foundation; ×ÅÒÓ¦§ 2 椧 ì¦ÃÅÎÚ¦§, ÞÉ (ÎÁ ÷ÁÛ ×ɦÒ)\n"
"ÂÕÄØ-ÑËϧ ÎÁÓÔÕÐÎϧ ×ÅÒÓ¦§.\n"
"\n"
"    Window Maker ÒÏÚÐÏ×ÓÀÄÖÕ¤ÔØÓÑ Ú ÎÁĦ¤À ÎÁ ÔÅ, ÝÏ ×¦Î ÂÕÄÅ\n"
"ËÏÒÉÓÎÉÍ, ÁÌÅ âåú âõäø-ñëï· çáòáîô¶·; ÎÁצÔØ ÂÅÚ ÎÅÑ×Îϧ ÇÁÒÁÎÔ¦§\n"
"ëïíåòã¶êîï· ã¶îîïóô¶ ÞÉ ðòéäáôîïóô¶ äìñ ðå÷îïçï ÷éëïòéóôáîîñ.\n"
"äÉצÔØÓÑ GNU General Public License ÚÁ ÐÏÄÁÌØÛÉÍÉ ÐÏÄÒÏÂÉÃÑÍÉ.\n"
"\n"
"    ÷É ÍÁÌÉ ÏÔÒÉÍÁÔÉ ËÏЦÀ GNU General Public License ÒÁÚÏÍ Ú Ã¦¤À\n"
"ÐÒÏÇÒÁÍÏÀ; ÑËÝÏ Î¦ - ÎÁÐÉÛ¦ÔØ ÄÏ Free Software Foundation, Inc.,\n"
"59 Temple Place - Suite 330, Boston, MA 02111-1307, USA."

#: ../src/dialog.c:1590
msgid "Legal"
msgstr "ðÒÁ×Ï×Á ¦ÎÆÏÒÍÁæÑ"

#: ../src/dialog.c:1741 ../src/startup.c:394
msgid "cannot open connection for crashing dialog panel. Aborting."
msgstr ""
"ÎÅ ×ÄÁÌÏÓØ ×¦ÄËÒÉÔÉ Ú'¤ÄÎÁÎÎÑ ÄÌÑ ÐÁÎÅ̦ Á×ÁÒ¦ÊÎÏÇÏ Ä¦ÁÌÏÇÕ. úÁ×ÅÒÛÅÎÎÑ "
"ÒÏÂÏÔÉ."

#: ../src/dialog.c:1767
msgid "Fatal error"
msgstr "ëÒÉÔÉÞÎÁ ÐÏÍÉÌËÁ"

#: ../src/dialog.c:1778
#, c-format
msgid ""
"Window Maker received signal %i\n"
"(%s)."
msgstr ""
"Window Maker: ÏÔÒÉÍÁÎÏ ÓÉÇÎÁÌ %i\n"
"(%s)."

#: ../src/dialog.c:1781
#, c-format
msgid "Window Maker received signal %i."
msgstr "Window Maker: ÏÔÒÉÍÁÎÏ ÓÉÇÎÁÌ %i."

#: ../src/dialog.c:1790
msgid ""
" This fatal error occured probably due to a bug. Please fill the included "
"BUGFORM and report it to bugs at windowmaker.org."
msgstr ""
" ãÑ ËÒÉÔÉÞÎÁ ÐÏÍÉÌËÁ, ÍÏÖÌÉ×Ï, ¤ ÒÅÚÕÌØÔÁÔÏÍ ÐÏÍÉÌËÉ × ÐÒÏÇÒÁͦ. âÕÄØ ÌÁÓËÁ, "
"ÚÁÐÏ×ΦÔØ ÆÏÒÍÕ BUGFORM ¦ צÄÐÒÁ×ÔÅ §§ ÚÁ ÁÄÒÅÓÏÀ bugs at windowmaker.org."

#: ../src/dialog.c:1799
msgid "What do you want to do now?"
msgstr "ýÏ ÒÏÂÉÔÉ?"

#: ../src/dialog.c:1805
msgid "Select action"
msgstr "÷ÉÂÅÒ¦ÔØ Ä¦À"

#: ../src/dialog.c:1806
msgid "Abort and leave a core file"
msgstr "úÁ×ÅÒÛÉÔÉ ÒÏÂÏÔÕ, ÚÁÌÉÛÉ×ÛÉ ÆÁÊÌ core"

#: ../src/dialog.c:1807
msgid "Restart Window Maker"
msgstr "ðÅÒÅÚÁÐÕÓÔÉÔÉ Window Maker"

#: ../src/dialog.c:1808
msgid "Start alternate window manager"
msgstr "úÁÐÕÓÔÉÔÉ ÁÌØÔÅÒÎÁÔÉ×ÎÉÊ ÍÅÎÅÄÖÅÒ ×¦ËÏÎ"

#: ../src/dialog.c:1986
msgid ""
"Window Maker is part of the GNUstep project.\n"
"The GNUstep project aims to create a free\n"
"implementation of the OpenStep(tm) specification\n"
"which is a object-oriented framework for\n"
"creating advanced graphical, multi-platform\n"
"applications. Additionally, a development and\n"
"user desktop enviroment will be created on top\n"
"of the framework. For more information about\n"
"GNUstep, please visit: www.gnustep.org"
msgstr ""
"Window Maker - ÃÅ ÞÁÓÔÉÎÁ ÐÒÏÅËÔÕ GNUstep.\n"
"ðÒÏÅËÔ GNUstep ÍÁ¤ ÎÁ ÍÅÔ¦ ÓÔ×ÏÒÉÔÉ ×¦ÌØÎÕ\n"
"ÒÅÁ̦ÚÁæÀ ÓÐÅÃÉƦËÁæ§ OpenStep(tm), ÑËÁ ¤\n"
"ÏÂ'¤ËÔÎÏ-ÏÒ¦¤ÎÔÏ×ÁÎÏÀ ÏÓÎÏ×ÏÀ ÄÌÑ ÓÔ×ÏÒÅÎÎÑ\n"
"×ÄÏÓËÏÎÁÌÅÎÉÈ ÇÒÁƦÞÎÉÈ ÎÅÚÁÌÅÖÎÉÈ ×¦Ä ÐÌÁÔÆÏÒÍÉ\n"
"ÐÒÉËÌÁÄÎÉÈ ÐÒÏÇÒÁÍ. îÁ Ã¦Ê ÏÓÎÏצ ÂÕÄÅ ÓÔ×ÏÒÅÎÏ\n"
"ÓÅÒÅÄÏ×ÉÝÅ ÒÏÚÒÏÂËÉ ÔÁ ÓÅÒÅÄÏ×ÉÝÅ ÒÏÂÏÞÏÇÏ ÓÔÏÌÕ\n"
"ËÏÒÉÓÔÕ×ÁÞÁ. úÁ ÄÏÄÁÔËÏ×ÉÍÉ ÐÏÄÒÏÂÉÃÑÍÉ ÝÏÄÏ\n"
"GNUstep, ÂÕÄØ ÌÁÓËÁ, צÄצÄÁÊÔÅ: www.gnustep.org"

#: ../src/dialog.c:2006
msgid "About GNUstep"
msgstr "ðÒÏ GNUstep"

#: ../src/dock.c:213
#, c-format
msgid "Type the name for workspace %i:"
msgstr "÷×ÅĦÔØ ¦Í'Ñ ÄÌÑ %i-ÇÏ ÒÏÂÏÞÏÇÏ ÓÔÏÌÕ:"

#
#: ../src/dock.c:214 ../src/dock.c:1141 ../src/dock.c:1144 ../src/dock.c:3409
msgid "Rename Workspace"
msgstr "ðÅÒÅÊÍÅÎÕ×ÁÔÉ ÓÔ¦Ì"

#: ../src/dock.c:520 ../src/dock.c:528
msgid "Warning"
msgstr "ðÏÐÅÒÅÄÖÅÎÎÑ"

#: ../src/dock.c:521
msgid ""
"Some icons cannot be made omnipresent. Please make sure that no other icon "
"is docked in the same positions on the other workspaces and the Clip is not "
"full in some workspace."
msgstr ""
"äÅÑ˦ ¦ËÏÎËÉ ÎÅÍÏÖÌÉ×Ï ÚÒÏÂÉÔÉ ÐÒÉÓÕÔΦÍÉ ÎÁ ×Ó¦È ÒÏÂÏÞÉÈ ÓÔÏÌÁÈ. "
"÷ÐÅ×ΦÔØÓÑ, ÝÏ ÎÁ Ã¦Ê ÖÅ ÐÏÚÉæ§ ÎÁ ¦ÎÛÉÈ ÒÏÂÏÞÉÈ ÓÔÏÌÁÈ ÎÅ ÐÒÉËÒ¦ÐÌÅÎÁ ¦ÎÛÁ "
"¦ËÏÎËÁ ¦ ÝÏ × óËÒ¦Ðæ ¤ ͦÓÃÅ ÄÌÑ ÎÏ×ÉÈ ¦ËÏÎÏË ÎÁ ×Ó¦È ÒÏÂÏÞÉÈ ÓÔÏÌÁÈ."

#: ../src/dock.c:529
msgid ""
"Icon cannot be made omnipresent. Please make sure that no other icon is "
"docked in the same position on the other workspaces and the Clip is not full "
"in some workspace."
msgstr ""
"¶ËÏÎËÕ ÎÅÍÏÖÌÉ×Ï ÚÒÏÂÉÔÉ ÐÒÉÓÕÔÎØÏÀ ÎÁ ×Ó¦È ÒÏÂÏÞÉÈ ÓÔÏÌÁÈ. ÷ÐÅ×ΦÔØÓÑ, ÝÏ "
"ÎÁ Ã¦Ê ÖÅ ÐÏÚÉæ§ ÎÁ ¦ÎÛÉÈ ÒÏÂÏÞÉÈ ÓÔÏÌÁÈ ÎÅ ÐÒÉËÒ¦ÐÌÅÎÁ ¦ÎÛÁ ¦ËÏÎËÁ ¦ ÝÏ × "
"óËÒ¦Ðæ ¤ ͦÓÃÅ ÄÌÑ ÎÏ×ÉÈ ¦ËÏÎÏË ÎÁ ×Ó¦È ÒÏÂÏÞÉÈ ÓÔÏÌÁÈ."

#: ../src/dock.c:556
msgid "Workspace Clip"
msgstr "óËÒ¦ÐËÁ òÏÂÏÞÏÇÏ ÓÔÏÌÕ"

#: ../src/dock.c:557
msgid "All selected icons will be removed!"
msgstr "÷Ó¦ ×ÉÂÒÁΦ ¦ËÏÎËÉ ÂÕÄÕÔØ ×ÉÄÁÌÅΦ!"

#: ../src/dock.c:608 ../src/dock.c:1156 ../src/dock.c:1158 ../src/dock.c:3445
msgid "Keep Icon"
msgstr "õÔÒÉÍÕ×ÁÔÉ ¦ËÏÎËÕ"

#
#: ../src/dock.c:609 ../src/dock.c:2137 ../src/dock.c:2278
msgid "Type the command used to launch the application"
msgstr "÷×ÅĦÔØ ËÏÍÁÎÄÕ, ÝÏ ×ÉËÏÒÉÓÔÏ×Õ¤ÔØÓÑ ÄÌÑ ÚÁÐÕÓËÕ ÐÒÏÇÒÁÍÉ"

#
#: ../src/dock.c:965
#, c-format
msgid "could not launch application %s\n"
msgstr "ÎÅ ×ÄÁÌÏÓØ ÚÁÐÕÓÔÉÔÉ ÐÒÏÇÒÁÍÕ %s\n"

#: ../src/dock.c:1020
msgid "could not create workspace submenu for Clip menu"
msgstr "ÎÅ ×ÄÁÌÏÓØ ÓÔ×ÏÒÉÔÉ Ð¦ÄÍÅÎÀ ÒÏÂÏÞÉÈ Í¦ÓÃØ ÄÌÑ ÍÅÎÀ óËÒ¦ÐËÉ"

#: ../src/dock.c:1078
msgid "could not create options submenu for Clip menu"
msgstr "ÎÅ ×ÄÁÌÏÓØ ÓÔ×ÏÒÉÔÉ Ð¦ÄÍÅÎÀ ÐÁÒÁÍÅÔÒ¦× ÄÌÑ ÍÅÎÀ óËÒ¦ÐËÉ"

#: ../src/dock.c:1082 ../src/dock.c:1130
msgid "Keep on Top"
msgstr "úÁ×ÖÄÉ ÎÁ ÐÌÁ×Õ"

#: ../src/dock.c:1088
msgid "Collapsed"
msgstr "ú×ÅÒÎÕÔÏ"

#: ../src/dock.c:1094
msgid "Autocollapse"
msgstr "á×ÔÏÚ×ÅÒÔÁÔÉ"

#: ../src/dock.c:1100
msgid "Autoraise"
msgstr "á×ÔÏЦÄΦÍÁÔÉ"

#: ../src/dock.c:1106
msgid "Autoattract Icons"
msgstr "á×ÔÏÐÒÉÔÑÇÁÔÉ ¦ËÏÎËÉ"

#: ../src/dock.c:1136
msgid "Clip Options"
msgstr "ðÁÒÁÍÅÔÒÉ óËÒ¦ÐËÉ"

#: ../src/dock.c:1146
msgid "Selected"
msgstr "÷ÉÂÒÁÎÅ"

#: ../src/dock.c:1151 ../src/dock.c:1154 ../src/dock.c:3436
msgid "Select All Icons"
msgstr "÷ÉÂ¦Ò ×Ó¦È ¦ËÏÎÏË"

#: ../src/dock.c:1160 ../src/dock.c:1162 ../src/dock.c:3453
msgid "Move Icon To"
msgstr "ðÅÒÅͦÓÔÉÔÉ ¦ËÏÎËÕ ÎÁ..."

#: ../src/dock.c:1167 ../src/dock.c:1170 ../src/dock.c:3464
msgid "Remove Icon"
msgstr "÷ÉÄÁÌÉÔÉ ¦ËÏÎËÕ"

#: ../src/dock.c:1172
msgid "Attract Icons"
msgstr "ðÒÉÔÑÇÁÔÉ ¦ËÏÎËÉ"

#: ../src/dock.c:1175
msgid "Launch"
msgstr "úÁÐÕÓË"

#: ../src/dock.c:1183
msgid "Settings..."
msgstr "õÓÔÁÎÏ×ËÉ..."

#: ../src/dock.c:1548 ../src/dock.c:1655
#, c-format
msgid "bad value in docked icon state info %s"
msgstr "ÐÏÍÉÌËÏ×Å ÚÎÁÞÅÎÎÑ × ÓÔÁΦ ÐÒÉËÒ¦ÐÌÅÎϧ ¦ËÏÎËÉ -- %s"

#: ../src/dock.c:1663
#, c-format
msgid "bad value in docked icon position %i,%i"
msgstr "ÐÏÍÉÌËÏ×Å ÚÎÁÞÅÎÎÑ × ÐÏÚÉæ§ ÐÒÉËÒ¦ÐÌÅÎϧ ¦ËÏÎËÉ %i,%i"

#: ../src/dock.c:1919
msgid "there are too many icons stored in dock. Ignoring what doesn't fit"
msgstr "ÐÒÉËÒ¦ÐÌÅÎÏ ÎÁÄÔÏ ÂÁÇÁÔÏ ¦ËÏÎÏË. úÁÊצ ÂÕÄÕÔØ ÐÒϦÇÎÏÒÏ×ÁΦ"

#. icon->forced_dock = 1;
#: ../src/dock.c:2136 ../src/dock.c:2277
msgid "Dock Icon"
msgstr "¶ËÏÎËÁ äÏËÕ"

#: ../src/dock.c:3323
#, c-format
msgid "Could not execute command \"%s\""
msgstr "îÅÍÏÖÌÉ×Ï ×ÉËÏÎÁÔÉ ËÏÍÁÎÄÕ \"%s\""

#: ../src/dock.c:3415
msgid "Toggle Omnipresent"
msgstr "ðÒÉÓÕÔΦÓÔØ ÎÁ ×Ó¦È ÓÔÏÌÁÈ"

#: ../src/dock.c:3420 ../src/kwm.c:637 ../src/winmenu.c:418
#: ../src/winspector.c:1377
msgid "Omnipresent"
msgstr "îÁ ×Ó¦È ÓÔÏÌÁÈ"

#: ../src/dock.c:3434
msgid "Unselect All Icons"
msgstr "úÎÑÔÔÑ ×ÉÂÏÒÕ ×Ó¦È ¦ËÏÎÏË"

#: ../src/dock.c:3443
msgid "Keep Icons"
msgstr "õÔÒÉÍÕ×ÁÔÉ ¦ËÏÎËÉ"

#: ../src/dock.c:3451
msgid "Move Icons To"
msgstr "ðÅÒÅͦÓÔÉÔÉ ¦ËÏÎËÉ ÎÁ..."

#: ../src/dock.c:3462
msgid "Remove Icons"
msgstr "÷ÉÄÁÌÉÔÉ ¦ËÏÎËÉ"

#: ../src/dock.c:3493 ../src/kwm.c:643
msgid "Bring Here"
msgstr "ðÒÉÎÅÓÔÉ ÓÀÄÉ"

#: ../src/dockedapp.c:149
#, c-format
msgid "could not find icon %s, used in a docked application"
msgstr "ÎÅ ×ÄÁÌÏÓØ ÚÎÁÊÔÉ ¦ËÏÎËÕ %s, ×ÉËÏÒÉÓÔÁÎÕ × ÐÒÉÛ×ÁÒÔÏ×ÁÎ¦Ê ÐÒÏÇÒÁͦ"

#
#: ../src/dockedapp.c:229
#, c-format
msgid "Could not open specified icon file: %s"
msgstr "îÅ ×ÄÁÌÏÓØ ×¦ÄËÒÉÔÉ ×ËÁÚÁÎÉÊ ÆÁÊÌ ¦ËÏÎËÉ: %s"

#: ../src/dockedapp.c:231
msgid "Ignore"
msgstr "¶ÇÎÏÒÕ×ÁÔÉ"

#: ../src/dockedapp.c:333
msgid "Start when Window Maker is started"
msgstr "úÁÐÕÓÔÉÔÉ ÐÒÉ ÚÁÐÕÓËÕ WindowMaker'Á"

#: ../src/dockedapp.c:340
msgid "Lock (prevent accidental removal)"
msgstr "úÁƦËÓÕ×ÁÔÉ (ÐÅÒÅÛËÏÄÉÔÉ ×ÉÐÁÄËÏ×ÏÍÕ ×ÉÄÁÌÅÎÎÀ)"

#
#: ../src/dockedapp.c:344
msgid "Application path and arguments"
msgstr "ûÌÑÈ ÄÏ ÐÒÏÇÒÁÍÉ ¦ ÁÒÇÕÍÅÎÔÉ"

#: ../src/dockedapp.c:357
msgid "Command for middle-click launch"
msgstr "ëÏÍÁÎÄÁ ÄÌÑ ÚÁÐÕÓËÕ ÐÏ ÓÅÒÅÄÎ¦Ê ËÎÏÐæ ÍÉÛ¦"

#: ../src/dockedapp.c:371
#, c-format
msgid "%s will be replaced with current selection"
msgstr "%s ÂÕÄÅ ÚÁͦÎÅÎÏ ÎÁ ÐÏÔÏÞÎÅ ×ÉĦÌÅÎÎÑ"

#: ../src/dockedapp.c:376
msgid "Command for files dropped with DND"
msgstr "ëÏÍÁÎÄÁ ÄÌÑ \"ÐÅÒÅÔÑÇÎÕÔÉÈ\" ÆÁÊ̦×"

#: ../src/dockedapp.c:390
#, c-format
msgid "%d will be replaced with the file name"
msgstr "%d ÂÕÄÅ ÚÁͦÎÅÎÏ ÎÁ ¦Í'Ñ ÆÁÊÌÁ"

#: ../src/dockedapp.c:394
msgid "DND support was not compiled in"
msgstr "ð¦ÄÔÒÉÍËÁ ÐÅÒÅÔÑÇÕ×ÁÎÎÑ ÄÁÎÉÈ ÎÅ ÂÕÌÁ ×ËÌÀÞÅÎÁ ÐÒÉ ËÏÍЦÌÑæ§"

#: ../src/dockedapp.c:399
msgid "Icon Image"
msgstr "úÏÂÒÁÖÅÎÎÑ ¦ËÏÎËÉ"

#: ../src/dockedapp.c:413 ../src/winspector.c:1515
msgid "Browse..."
msgstr "÷ÉÂÒÁÔÉ..."

#
#: ../src/dockedapp.c:466
msgid "Docked Application Settings"
msgstr "ðÁÒÁÍÅÔÒÉ ÐÒÉÛ×ÁÒÔÏ×ÁÎϧ ÐÒÏÇÒÁÍÉ"

#: ../src/framewin.c:649 ../src/framewin.c:744 ../src/menu.c:456
#: ../src/texture.c:594
#, c-format
msgid "could not render texture: %s"
msgstr "ÎÅ ×ÄÁÌÏÓØ Ð¦ÄÇÏÔÕ×ÁÔÉ ÔÅËÓÔÕÒÕ: %s"

#: ../src/framewin.c:672 ../src/framewin.c:683 ../src/framewin.c:699
#: ../src/framewin.c:710 ../src/framewin.c:717 ../src/framewin.c:724
#: ../src/icon.c:350 ../src/menu.c:485
#, c-format
msgid "error rendering image:%s"
msgstr "ÐÏÍÉÌËÁ ÐÒÉ Ð¦ÄÇÏÔÏ×æ ÚÏÂÒÁÖÅÎÎÑ:%s"

#: ../src/framewin.c:777
#, c-format
msgid "error rendering image: %s"
msgstr "ÐÏÍÉÌËÁ ÐÒÉ Ð¦ÄÇÏÔÏ×æ ÚÏÂÒÁÖÅÎÎÑ: %s"

#: ../src/gnome.c:216 ../src/gnome.c:343 ../src/gnome.c:401
msgid "out of memory while updating GNOME hints"
msgstr "×ÉÞÅÒÐÁÎÁ ÐÁÍ'ÑÔØ ÐÒÉ ÏÎÏ×ÌÅÎΦ GNOME hints"

#: ../src/icon.c:229 ../src/wdefaults.c:443
#, c-format
msgid "error loading image file \"%s\""
msgstr "ÐÏÍÉÌËÁ ÚÁ×ÁÎÔÁÖÅÎÎÑ ÆÁÊÌÕ ÚÏÂÒÁÖÅÎÎÑ \"%s\""

#
#: ../src/icon.c:491 ../src/icon.c:500
#, c-format
msgid "could not create directory %s"
msgstr "ÎÅ ×ÄÁÌÏÓØ ÓÔ×ÏÒÉÔÉ ËÁÔÁÌÏÇ %s"

#: ../src/icon.c:767
#, c-format
msgid "could not find default icon \"%s\""
msgstr "ÎÅ ×ÄÁÌÏÓØ ÚÎÁÊÔÉ ¦ËÏÎËÕ ÚÁ ÕÍÏ×ÞÁÎÎÑÍ \"%s\""

#: ../src/icon.c:773
#, c-format
msgid "could not load default icon \"%s\":%s"
msgstr "ÎÅ ×ÄÁÌÏÓØ ÚÁ×ÁÎÔÁÖÉÔÉ ¦ËÏÎËÕ ÚÁ ÕÍÏ×ÞÁÎÎÑÍ \"%s\":%s"

#.
#. * Warning: If you make some change that affects the order of the
#. * entries, you must update the command #defines in the top of
#. * this file.
#.
#: ../src/kwm.c:633 ../src/winmenu.c:441 ../src/winmenu.c:583
msgid "Maximize"
msgstr "íÁËÓÉͦÚÕ×ÁÔÉ"

#: ../src/kwm.c:634 ../src/winmenu.c:578
msgid "Unmaximize"
msgstr "äÅÍÁËÓÉͦÚÕ×ÁÔÉ"

#: ../src/kwm.c:635 ../src/winmenu.c:449 ../src/winmenu.c:569
msgid "Miniaturize"
msgstr "í¦Î¦Í¦ÚÕ×ÁÔÉ"

#: ../src/kwm.c:636 ../src/winmenu.c:564
msgid "Deminiaturize"
msgstr "äÅͦΦͦÚÕ×ÁÔÉ"

#: ../src/kwm.c:638
msgid "Not Omnipresent"
msgstr "îÅ ÎÁ ×Ó¦È ÓÔÏÌÁÈ"

#: ../src/kwm.c:639
msgid "Move"
msgstr "ðÅÒÅͦÓÔÉÔÉ"

#: ../src/kwm.c:640
msgid "Resize"
msgstr "úͦÎÉÔÉ ÒÏÚͦÒ"

#.
#. entry = wMenuAddCallback(menu, _("Select Shortcut"), NULL, NULL);
#. wMenuEntrySetCascade(menu, entry, makeMakeShortcutMenu(scr));
#.
#: ../src/kwm.c:641 ../src/rootmenu.c:248 ../src/winmenu.c:513
msgid "Close"
msgstr "úÁËÒÉÔÉ"

#: ../src/kwm.c:642 ../src/winmenu.c:497
msgid "Move To"
msgstr "ðÅÒÅͦÓÔÉÔÉ ÎÁ..."

#: ../src/kwm.c:1096
msgid "%a(Run Command,Type the command to run:)"
msgstr "%a(úÁÐÕÓÔÉÔÉ ËÏÍÁÎÄÕ,÷×ÅĦÔØ ËÏÍÁÎÄÕ:)"

#: ../src/main.c:222
msgid "failed to restart Window Maker."
msgstr "ÎÅ ×ÄÁÌÏÓØ ÐÅÒÅÚÁÐÕÓÔÉÔÉ Window Maker."

#: ../src/main.c:225
#, c-format
msgid "could not exec %s"
msgstr "ÎÅ ×ÄÁÌÏÓØ ×ÉËÏÎÁÔÉ %s"

#: ../src/main.c:271
msgid "Could not execute command: "
msgstr "îÅÍÏÖÌÉ×Ï ×ÉËÏÎÁÔÉ ËÏÍÁÎÄÕ: "

#: ../src/main.c:428
#, c-format
msgid "%s aborted.\n"
msgstr "%s ÐÅÒÅÒ×ÁÎÏ.\n"

#: ../src/main.c:439
#, c-format
msgid "Usage: %s [options]\n"
msgstr "úÁÐÕÓË: %s [ÐÁÒÁÍÅÔÒÉ]\n"

#: ../src/main.c:440
msgid "The Window Maker window manager for the X window system"
msgstr "íÅÎÅÄÖÅÒ ×¦ËÏÎ Window Maker ÄÌÑ ×¦ËÏÎÎϧ ÓÉÓÔÅÍÉ X Window"

#: ../src/main.c:442
msgid " -display host:dpy\tdisplay to use"
msgstr " -display ÈÏÓÔ:ÄÉÓÐÌÅÊ\t×ÉËÏÒÉÓÔÏ×Õ×ÁÔÉ ×ËÁÚÁÎÉÊ ÄÉÓÐÌÅÊ"

#: ../src/main.c:444
msgid " --no-cpp \t\tdisable preprocessing of configuration files"
msgstr " --no-cpp \t\tÚÁÂÏÒÏÎÉÔÉ ÐÏÐÅÒÅÄÎÀ ÏÂÒÏÂËÕ ÆÁÊÌ¦× ËÏÎƦÇÕÒÁæ§"

#: ../src/main.c:446
msgid " --no-dock\t\tdo not open the application Dock"
msgstr " --no-dock\t\tΊצÄËÒÉ×ÁÔÉ äÏË ÐÒÏÇÒÁÍ"

#: ../src/main.c:447
msgid " --no-clip\t\tdo not open the workspace Clip"
msgstr " --no-clip\t\tΊצÄËÒÉ×ÁÔÉ óËÒ¦ÐËÕ"

#
#: ../src/main.c:448
msgid " --no-autolaunch\tdo not autolaunch applications"
msgstr " --no-autolaunch\tÎÅ ×ÉËÏÎÕ×ÁÔÉ Á×ÔÏÚÁÐÕÓË ÐÒÏÇÒÁÍ"

#: ../src/main.c:449
msgid " --dont-restore\t\tdo not restore saved session"
msgstr " --dont-restore\t\tΊצÄÔ×ÏÒÀ×ÁÔÉ ÚÂÅÒÅÖÅΦ ÓÅÁÎÓÉ"

#: ../src/main.c:451
msgid " --locale locale\tlocale to use"
msgstr " --locale locale\t×ÉËÏÒÉÓÔÏ×Õ×ÁÔÉ ÌÏËÁÌØ locale"

#: ../src/main.c:453
msgid ""
" --create-stdcmap\tcreate the standard colormap hint in PseudoColor visuals"
msgstr ""
" --create-stdcmap\tcreate the standard colormap hint in PseudoColor visuals"

#: ../src/main.c:454
msgid " --visual-id visualid\tvisual id of visual to use"
msgstr ""
" --visual-id visualid\t×ÉËÏÒÉÓÔÏ×Õ×ÁÔÉ ×ËÁÚÁÎÉÊ ËÏÌØÏÒÏ×ÉÊ ËÌÁÓ ×¦ÄÏÂÒÁÖÅÎÎÑ"

#: ../src/main.c:455
msgid " --static\t\tdo not update or save configurations"
msgstr " --static\t\tÎÅ ÐÒÏ×ÏÄÉÔÉ ÏÎÏ×ÌÅÎÎÑ ÞÉ ÚÂÅÒÅÖÅÎÎÑ ËÏÎƦÇÕÒÁæÊ"

#: ../src/main.c:456
msgid " --no-polling\t\tdo not periodically check for configuration updates"
msgstr " --no-polling\t\tÎÅ ÒÏÂÉÔÉ ÐÅÒ¦ÏÄÉÞÎÉÈ ÐÅÒÅצÒÏË ÚͦΠËÏÎƦÇÕÒÁæ§"

#: ../src/main.c:458
msgid " --synchronous\t\tturn on synchronous display mode"
msgstr " --synchronous\t\t×ËÌÀÞÉÔÉ ÓÉÎÈÒÏÎÎÉÊ ÒÅÖÉÍ ÐÏËÁÚÕ"

#: ../src/main.c:460
msgid " --version\t\tprint version and exit"
msgstr " --version\t\t×É×ÅÓÔÉ ÎÏÍÅÒ ×ÅÒÓ¦§ ÔÁ ×ÉÊÔÉ"

#: ../src/main.c:461
msgid " --help\t\t\tshow this message"
msgstr " --help\t\t\t×É×ÅÓÔÉ ÃÅÊ ÔÅËÓÔ"

#: ../src/main.c:474
#, c-format
msgid ""
"could not find user GNUstep directory (%s).\n"
"Make sure you have installed Window Maker correctly and run wmaker.inst"
msgstr ""
"ÎÅ ×ÄÁÌÏÓØ ÚÎÁÊÔÉ ËÁÔÁÌÏÇ GNUstep ËÏÒÉÓÔÕ×ÁÞÁ (%s).\n"
"÷ÐÅ×ΦÔØÓÑ, ÝÏ WindowMaker ×ÓÔÁÎÏ×ÌÅÎÏ ÐÒÁ×ÉÌØÎÏ ¦ ÚÁÐÕÓÔ¦ÔØ wmaker.inst"

#
#: ../src/main.c:479
#, c-format
msgid "could not find user GNUstep directory (%s)."
msgstr "ÎÅ ×ÄÁÌÏÓØ ÚÎÁÊÔÉ ËÁÔÁÌÏÇ GNUstep ËÏÒÉÓÔÕ×ÁÞÁ (%s)."

#: ../src/main.c:482
msgid ""
"There was an error while creating GNUstep directory, please make sure you "
"have installed Window Maker correctly and run wmaker.inst"
msgstr ""
"îÅ×ÄÁÞÁ ÐÒÉ ÓÔ×ÏÒÅÎΦ ËÁÔÁÌÏÇÕ GNUstep, ×ÐÅ×ΦÔØÓÑ, ÝÏ WindowMaker "
"×ÓÔÁÎÏ×ÌÅÎÏ ÐÒÁ×ÉÌØÎÏ ¦ ÚÁÐÕÓÔ¦ÔØ wmaker.inst"

#: ../src/main.c:485
#, c-format
msgid "%s directory created with default configuration."
msgstr "ëÁÔÁÌÏÇ %s ÓÔ×ÏÒÅÎÏ Ú ËÏÎƦÇÕÒÁæ¤À ÚÁ ÕÍÏ×ÞÁÎÎÑÍ."

#: ../src/main.c:505 ../src/main.c:510
#, c-format
msgid "%s:could not execute initialization script"
msgstr "%s:ÎÅ ×ÄÁÌÏÓØ ×ÉËÏÎÁÔÉ ÓÃÅÎÁÒ¦Ê ¦Î¦Ã¦Á̦ÚÁæ§"

#: ../src/main.c:530 ../src/main.c:535
#, c-format
msgid "%s:could not execute exit script"
msgstr "%s:ÎÅ ×ÄÁÌÏÓØ ×ÉËÏÎÁÔÉ ÓÃÅÎÁÒ¦Ê ÚÁ×ÅÒÛÅÎÎÑ ÒÏÂÏÔÉ"

#: ../src/main.c:663 ../src/main.c:671 ../src/main.c:679 ../src/main.c:699
#, c-format
msgid "too few arguments for %s"
msgstr "ÎÁÄÔÏ ÍÁÌÏ ÁÒÇÕÍÅÎÔ¦× ÄÌÑ %s"

#: ../src/main.c:683
#, c-format
msgid "bad value for visualid: \"%s\""
msgstr "ÐÏÍÉÌËÏ×Å ÚÎÁÞÅÎÎÑ ÄÌÑ visualid: \"%s\""

#
#: ../src/main.c:707
#, c-format
msgid "%s: invalid argument '%s'\n"
msgstr "%s: ÎÅÐÒÁ×ÉÌØÎÉÊ ÁÒÇÕÍÅÎÔ '%s'\n"

#: ../src/main.c:708
#, c-format
msgid "Try '%s --help' for more information\n"
msgstr "óÐÒÏÂÕÊÔÅ '%s --help' ÄÌÑ ÏÔÒÉÍÁÎÎÑ ÄÏÄÁÔËÏ×ϧ ¦ÎÆÏÒÍÁæ§\n"

#: ../src/main.c:736
msgid "X server does not support locale"
msgstr "X ÓÅÒ×ÅÒ ÎŠЦÄÔÒÉÍÕ¤ ÌÏËÁ̦ÚÁæÀ"

#: ../src/main.c:740
msgid "cannot set locale modifiers"
msgstr "ÎÅ ×ÄÁÌÏÓØ ×ÓÔÁÎÏ×ÉÔÉ ÐÁÒÁÍÅÔÒÉ ÌÏËÁ̦ÚÁæ§"

#: ../src/main.c:756
#, c-format
msgid "could not open display \"%s\""
msgstr "ÎÅ ×ÄÁÌÏÓØ ×¦ÄËÒÉÔÉ ÄÉÓÐÌÅÊ \"%s\""

#
#: ../src/menu.c:1255
msgid "could not grab keyboard"
msgstr "ÎÅ ×ÄÁÌÏÓØ ÚÁÈÏÐÉÔÉ ËÌÁצÁÔÕÒÕ"

#: ../src/menureader.c:264 ../src/rootmenu.c:733
#, c-format
msgid "%s:could not stat menu"
msgstr "%s:ÎÅ ×ÄÁÌÏÓØ ÏÔÒÉÍÁÔÉ ÍÅÎÀ"

#: ../src/menureader.c:341 ../src/menureader.c:380
#, c-format
msgid "could not stat() menu file '%s'"
msgstr "ÎÅ ×ÄÁÌÏÓØ ÏÔÒÉÍÁÔÉ ÆÁÊÌ ÍÅÎÀ '%s'"

#: ../src/menureader.c:416
#, c-format
msgid "could not find menu file '%s' referenced in WMRootMenu"
msgstr "ÎÅ ×ÄÁÌÏÓØ ÚÎÁÊÔÉ ÆÁÊÌ ÍÅÎÀ '%s' ×ËÁÚÁÎÉÊ × WMRootMenu"

#: ../src/menureader.c:423
#, c-format
msgid "could not find any usable menu files. Please check '%s'"
msgstr "ÎÅ ×ÄÁÌÏÓØ ÚÎÁÊÔÉ ÆÁÊÌ¦× ÍÅÎÀ. âÕÄØ ÌÁÓËÁ, ÐÅÒÅצÒÔÅ '%s'"

#: ../src/menureader.c:438 ../src/rootmenu.c:1667
#, c-format
msgid ""
"using default menu file \"%s\" as the menu referenced in WMRootMenu could "
"not be found "
msgstr ""
"×ÉËÏÒÉÓÔÏ×Õ¤ÔØÓÑ ÍÅÎÀ ÚÁ ÕÍÏ×ÞÁÎÎÑÍ \"%s\", ÔÏÍÕ ÝÏ ÍÅÎÀ, ×ËÁÚÁÎÅ × ÆÁÊ̦ "
"WMRootMenu, ÎÅ ×ÄÁÌÏÓØ ÚÎÁÊÔÉ "

#: ../src/menureader.c:457
#, c-format
msgid ""
"invalid content in menu file '%s'.\n"
"It should either be a property list menu or the path to the file, enclosed "
"in \"."
msgstr ""
"ÎÅËÏÒÅËÔÎÁ ¦ÎÆÏÒÍÁÃ¦Ñ × ÆÁÊ̦ ÍÅÎÀ '%s'.\n"
"ãÅ ÍÁ¤ ÂÕÔÉ ÁÂÏ ÍÅÎÀ × ÆÏÒÍÁÔ¦ property list, ÁÂÏ ÛÌÑÈ ÄÏ ÆÁÊÌÕ, ×ÚÑÔÉÊ "
"× \"."

#: ../src/misc.c:71
#, c-format
msgid "could not define value for %s for cpp"
msgstr "ÎÅ ×ÄÁÌÏÓØ ×ÉÚÎÁÞÉÔÉ ÚÎÁÞÅÎÎÑ ÄÌÑ %s ÄÌÑ cpp"

#: ../src/misc.c:101
#, c-format
msgid "could not get password entry for UID %i"
msgstr "ÎÅ ×ÄÁÌÏÓØ ÏÔÒÉÍÁÔÉ ¦ÎÆÏÒÍÁæÀ ÐÒÏ ËÏÒÉÓÔÕ×ÁÞÁ ÄÌÑ UID %i"

#: ../src/misc.c:126
#, c-format
msgid "your machine is misconfigured. HOSTNAME is set to %s"
msgstr "÷ÁÛÁ ÓÉÓÔÅÍÁ ÐÏÇÁÎÏ ÚËÏÎƦÇÕÒÏ×ÁÎÁ. úͦÎÎÁ HOSTNAME ×ÓÔÁÎÏ×ÌÅÎÁ × %s"

#: ../src/misc.c:132
#, c-format
msgid "your machine is misconfigured. HOST is set to %s"
msgstr "÷ÁÛÁ ÓÉÓÔÅÍÁ ÐÏÇÁÎÏ ÚËÏÎƦÇÕÒÏ×ÁÎÁ. úͦÎÎÁ HOST ×ÓÔÁÎÏ×ÌÅÎÁ × %s"

#: ../src/misc.c:630
msgid "Program Arguments"
msgstr "áÒÇÕÍÅÎÔÉ ÐÒÏÇÒÁÍÉ"

#: ../src/misc.c:631
msgid "Enter command arguments:"
msgstr "÷×ÅĦÔØ ÁÒÇÕÍÅÎÔÉ ËÏÍÁÎÄÉ:"

#: ../src/misc.c:724
msgid "unable to get dropped data from DND drop"
msgstr "ÎÅ ×ÄÁÌÏÓØ ÏÔÒÉÍÁÔÉ ×¦Ä DND drop ÐÅÒÅÔÑÇÎÕÔ¦ ÄÁΦ"

#: ../src/misc.c:732
msgid "error getting dropped data from DND drop"
msgstr "ÐÏÍÉÌËÁ ÐÒÉ ÏÔÒÉÍÁÎΦ ÄÁÎÉÈ ×¦Ä DND drop"

#: ../src/misc.c:738
msgid "out of memory while getting data from DND drop"
msgstr "×ÉÞÅÒÐÁÎÁ ÐÁÍ'ÑÔØ ÐÒÉ ÏÔÒÉÍÁÎΦ ÄÁÎÉÈ ×¦Ä DND drop"

#: ../src/misc.c:783 ../src/misc.c:923
#, c-format
msgid "out of memory during expansion of \"%s\""
msgstr "×ÉÞÅÒÐÁÎÁ ÐÁÍ'ÑÔØ Ð¦Ä ÞÁÓ ÒÏÚÛÉÒÅÎÎÑ \"%s\""

#: ../src/misc.c:837
msgid "out of memory during expansion of \"%w\""
msgstr "×ÉÞÅÒÐÁÎÁ ÐÁÍ'ÑÔØ Ð¦Ä ÞÁÓ ÒÏÚÛÉÒÅÎÎÑ \"%w\""

#: ../src/misc.c:855
msgid "out of memory during expansion of \"%W\""
msgstr "×ÉÞÅÒÐÁÎÁ ÐÁÍ'ÑÔØ Ð¦Ä ÞÁÓ ÒÏÚÛÉÒÅÎÎÑ \"%W\""

#: ../src/misc.c:871
msgid "out of memory during expansion of \"%a\""
msgstr "×ÉÞÅÒÐÁÎÁ ÐÁÍ'ÑÔØ Ð¦Ä ÞÁÓ ÒÏÚÛÉÒÅÎÎÑ \"%a\""

#: ../src/misc.c:902
#, c-format
msgid "out of memory during expansion of \"%d\""
msgstr "×ÉÞÅÒÐÁÎÁ ÐÁÍ'ÑÔØ Ð¦Ä ÞÁÓ ÒÏÚÛÉÒÅÎÎÑ \"%d\""

#: ../src/misc.c:916
msgid "selection not available"
msgstr "ÎÅÄÏÓÔÕÐÎÏ ×ÉĦÌÅÎÎÑ"

#: ../src/misc.c:972 ../src/misc.c:978
#, c-format
msgid "bad window name value in %s state info"
msgstr "ÐÏÍÉÌËÏ×Å ÚÎÁÞÅÎÎÑ ¦ÍÅΦ צËÎÁ × ¦ÎÆÏÒÍÁæ§ ÐÒÏ ÓÔÁÎ ÄÌÑ %s"

#: ../src/misc.c:1235
msgid "could not send message to background image helper"
msgstr "ÎÅ ×ÄÁÌÏÓØ ÐÏÓÌÁÔÉ ÐÏצÄÏÍÌÅÎÎÑ ÐÒÏÇÒÁͦ ÆÏÎÏ×ÏÇÏ ÚÏÂÒÁÖÅÎÎÑ"

#: ../src/pixmap.c:235
#, c-format
msgid "could not load mask bitmap file \"%s\". Won't use mask"
msgstr ""
"ÎÅ ×ÄÁÌÏÓØ ÚÁ×ÁÎÔÁÖÉÔÉ ÒÁÓÔÒÏ×ÉÊ ÆÁÊÌ ÍÁÓËÉ \"%s\". íÁÓËÁ ÎÅ ÂÕÄÅ ×ÉËÏÒÉÓÔÁÎÁ."

#: ../src/resources.c:44
#, c-format
msgid "could not parse color \"%s\""
msgstr "ÎÅ ×ÄÁÌÏÓØ ÒÏÚ¦ÂÒÁÔÉ ËÏÌ¦Ò \"%s\""

#: ../src/resources.c:48
#, c-format
msgid "could not allocate color \"%s\""
msgstr "ÎÅ ×ÄÁÌÏÓØ ÚÁÒÅÚÅÒ×Õ×ÁÔÉ ËÏÌ¦Ò \"%s\""

#: ../src/rootmenu.c:196 ../src/rootmenu.c:198
msgid "Exit"
msgstr "÷ÉȦÄ"

#: ../src/rootmenu.c:197
msgid "Exit window manager?"
msgstr "÷ÉÊÔÉ Ú ÍÅÎÅÄÖÅÒÁ צËÏÎ?"

#: ../src/rootmenu.c:245
msgid "Close X session"
msgstr "úÁ×ÅÒÛÉÔÉ ÓÅÁÎÓ ÒÏÂÏÔÉ"

#: ../src/rootmenu.c:246
msgid ""
"Close Window System session?\n"
"Kill might close applications with unsaved data."
msgstr ""
"úÁËÒÉÔÉ ÓÅÁÎÓ ÷¦ËÏÎÎϧ óÉÓÔÅÍÉ?\n"
"ãÅ ÍÏÖÅ ÚÁ×ÅÒÛÉÔÉ ÐÒÏÇÒÁÍÉ Ú ÎÅÚÂÅÒÅÖÅÎÉÍÉ ÄÁÎÉÍÉ."

#: ../src/rootmenu.c:261
msgid "Kill X session"
msgstr "á×ÁÒ¦ÊÎÅ ÚÁ×ÅÒÛÅÎÎÑ ÓÅÁÎÓÕ ÒÏÂÏÔÉ"

#: ../src/rootmenu.c:262
msgid ""
"Kill Window System session?\n"
"(all applications will be closed)"
msgstr ""
"úÁËÒÉÔÉ ÓÅÁÎÓ ÷¦ËÏÎÎϧ óÉÓÔÅÍÉ?\n"
"(×Ó¦ ÐÒÏÇÒÁÍÉ ÂÕÄÕÔØ ÚÁ×ÅÒÛÅΦ)"

#: ../src/rootmenu.c:539
#, c-format
msgid "%s:invalid kbd shortcut specification \"%s\" for entry %s"
msgstr "%s:ÐÏÍÉÌËÏ×Å ÚÁÄÁÎÎÑ ËÏͦÎÁæ§ ËÌÁ×¦Û \"%s\" ÄÌÑ ÐÕÎËÔÕ %s"

#: ../src/rootmenu.c:547
#, c-format
msgid "%s:invalid key in shortcut \"%s\" for entry %s"
msgstr "%s:ÐÏÍÉÌËÏ×Á ËÌÁצÛÁ × ËÏͦÎÁæ§ \"%s\" ÄÌÑ ÐÕÎËÔÕ %s"

#: ../src/rootmenu.c:600
#, c-format
msgid "%s: unmatched '\"' in menu file"
msgstr "%s: ÎÅÐÁÒÎÁ '\"' × ÆÁÊ̦ ÍÅÎÀ"

#: ../src/rootmenu.c:650
#, c-format
msgid "%s: missing command"
msgstr "%s: צÄÓÕÔÎÑ ËÏÍÁÎÄÁ"

#: ../src/rootmenu.c:682
#, c-format
msgid "invalid OPEN_MENU specification: %s"
msgstr "ÐÏÍÉÌËÏ×Á ÓÐÅÃÉƦËÁÃ¦Ñ OPEN_MENU: %s"

#: ../src/rootmenu.c:741
#, c-format
msgid "%s:could not stat menu:%s"
msgstr "%s:ÎÅ ×ÄÁÌÏÓØ ÏÔÒÉÍÁÔÉ ÍÅÎÀ:%s"

#: ../src/rootmenu.c:759
#, c-format
msgid "too many parameters in OPEN_MENU: %s"
msgstr "ÎÁÄÔÏ ÂÁÇÁÔÏ ÐÁÒÁÍÅÔÒ¦× × OPEN_MENU: %s"

#: ../src/rootmenu.c:803
msgid ""
"There are more than one WORKSPACE_MENU commands in the applications menu. "
"Only one is allowed."
msgstr ""
"÷ ÇÏÌÏ×ÎÏÍÕ ÍÅÎÀ ×ËÁÚÁÎÏ Â¦ÌØÛÅ ÏÄΦ¤§ ËÏÍÁÎÄÉ WORKSPACE_MENU. äÏÚ×ÏÌÅÎÁ "
"ÌÉÛÅ ÏÄÎÁ"

#: ../src/rootmenu.c:837
msgid ""
"There are more than one WINDOWS_MENU commands in the applications menu. Only "
"one is allowed."
msgstr ""
"÷ ÇÏÌÏ×ÎÏÍÕ ÍÅÎÀ ×ËÁÚÁÎÏ Â¦ÌØÛÅ ÏÄΦ¤§ ËÏÍÁÎÄÉ WINDOWS_MENU. äÏÚ×ÏÌÅÎÁ "
"ÌÉÛÅ ÏÄÎÁ"

#: ../src/rootmenu.c:842
msgid "Window List"
msgstr "óÐÉÓÏË ×¦ËÏÎ"

#: ../src/rootmenu.c:871 ../src/rootmenu.c:889 ../src/rootmenu.c:899
#, c-format
msgid "%s:missing parameter for menu command \"%s\""
msgstr "%s:צÄÓÕÔÎ¦Ê ÐÁÒÁÍÅÔÒ ÄÌÑ ËÏÍÁÎÄÉ ÍÅÎÀ \"%s\""

#: ../src/rootmenu.c:967
#, c-format
msgid "%s:unknown command \"%s\" in menu config."
msgstr "%s:ÎÅצÄÏÍÁ ËÏÍÁÎÄÁ \"%s\" × ËÏÎƦÇÕÒÁæ§ ÍÅÎÀ"

#: ../src/rootmenu.c:975
#, c-format
msgid "%s:can't add shortcut for entry \"%s\""
msgstr "%s:ÎÅ ×ÄÁÌÏÓØ ÄÏÄÁÔÉ ËÏͦÎÁæÀ ËÌÁ×¦Û ÄÌÑ ËÏÍÁÎÄÉ \"%s\""

#: ../src/rootmenu.c:1112
#, c-format
msgid "%s:maximal line size exceeded in menu config: %s"
msgstr "%s:ÐÅÒÅ×ÉÝÅÎÏ ÍÁËÓÉÍÁÌØÎÙÊ ÒÏÚÍ¦Ò ÒÑÄËÁ × ËÏÎƦÇÕÒÁæ§ ÍÅÎÀ: %s"

#: ../src/rootmenu.c:1134 ../src/rootmenu.c:1227 ../src/rootmenu.c:1329
#, c-format
msgid "%s:missing command in menu config: %s"
msgstr "%s:צÄÓÕÔÎÑ ËÏÍÁÎÄÁ × ËÏÎƦÇÕÒÁæ§ ÍÅÎÀ: %s"

#: ../src/rootmenu.c:1164
#, c-format
msgid "%s:syntax error in menu file:END declaration missing"
msgstr "%s:ÓÉÎÔÁËÓÉÞÎÁ ÐÏÍÉÌËÁ × ÆÁÊ̦ ÍÅÎÀ: צÄÓÕÔÎÑ END"

#: ../src/rootmenu.c:1193 ../src/rootmenu.c:1293
msgid "could not make arguments for menu file preprocessor"
msgstr "ÎÅ ×ÄÁÌÏÓØ Ð¦ÄÓÔÁ×ÉÔÉ ÁÒÇÕÍÅÎÔÉ ÄÌÑ ÐÒÅÐÒÏÃÅÓÏÒÁ ÆÁÊÌÕ ÍÅÎÀ"

#: ../src/rootmenu.c:1200 ../src/rootmenu.c:1301
#, c-format
msgid "%s:could not open/preprocess menu file"
msgstr "%s:ÎÅ ×ÄÁÌÏÓØ ×¦ÄËÒÉÔÉ/ÏÂÒÏÂÉÔÉ ÆÁÊÌ ÍÅÎÀ"

#: ../src/rootmenu.c:1212 ../src/rootmenu.c:1314
#, c-format
msgid "%s:could not open menu file"
msgstr "%s:ÎÅ ×ÄÁÌÏÓØ ×¦ÄËÒÉÔÉ ÆÁÊÌ ÍÅÎÀ"

#: ../src/rootmenu.c:1239
#, c-format
msgid "%s:invalid menu file. MENU command is missing"
msgstr "%s:ÆÁÊÌ ÍÅÎÀ ÐÏÍÉÌËÏ×ÉÊ. ÷¦ÄÓÕÔÎÑ ËÏÍÁÎÄÁ MENU"

#: ../src/rootmenu.c:1248
msgid "error reading preprocessed menu data"
msgstr "ÐÏÍÉÌËÁ ÞÉÔÁÎÎÑ ÏÂÒÏÂÌÅÎÉÈ ÄÁÎÉÈ ÍÅÎÀ"

#: ../src/rootmenu.c:1341
#, c-format
msgid "%s:no title given for the root menu"
msgstr "%s: ÎÅ ÚÁÄÁÎÉÊ ÚÁÇÏÌÏ×ÏË ËÏÒÅÎÅ×ÏÇÏ ÍÅÎÀ"

#: ../src/rootmenu.c:1432 ../src/rootmenu.c:1505 ../src/rootmenu.c:1546
#, c-format
msgid "out of memory while constructing directory menu %s"
msgstr "×ÉÞÅÒÐÁÎÁ ÐÁÍ'ÑÔØ ÐÒÉ ÐÏÂÕÄÏצ ÍÅÎÀ ËÁÔÁÌÏÇÁ %s"

#: ../src/rootmenu.c:1442
#, c-format
msgid "%s:could not stat file \"%s\" in menu directory"
msgstr "%s:ÎÅ ÏÔÒÉÍÕ¤ÔØÓÑ ÆÁÊÌ \"%s\" × ËÁÔÁÌÏÚ¦ ÍÅÎÀ"

#: ../src/rootmenu.c:1600
msgid "Commands"
msgstr "ëÏÍÁÎÄÉ"

#: ../src/rootmenu.c:1603
msgid "Restart"
msgstr "ðÅÒÅÚÁÐÕÓË"

#: ../src/rootmenu.c:1604
msgid "Exit..."
msgstr "÷ÉȦÄ..."

#: ../src/rootmenu.c:1649
#, c-format
msgid "could not find menu file \"%s\" referenced in WMRootMenu"
msgstr "ÎÅ ×ÄÁÌÏÓØ ÚÎÁÊÔÉ ÆÁÊÌ ÍÅÎÀ \"%s\", ×ËÁÚÁÎÉÊ × WMRootMenu"

#: ../src/rootmenu.c:1656
#, c-format
msgid "could not access menu \"%s\" referenced in WMRootMenu"
msgstr "ÎÅ ×ÄÁÌÏÓØ ÐÒÏÞÉÔÁÔÉ ÍÅÎÀ \"%s\", ×ËÁÚÁÎÅ × WMRootMenu"

#: ../src/rootmenu.c:1690 ../src/rootmenu.c:1766
#, c-format
msgid "%s:format error in root menu configuration \"%s\""
msgstr "%s:ÐÏÍÉÌËÁ ÆÏÒÍÁÔÕ × ËÏÎƦÇÕÒÁæ§ ËÏÒÅÎÅ×ÏÇÏ ÍÅÎÀ \"%s\""

#: ../src/rootmenu.c:1854
msgid ""
"The applications menu could not be loaded. Look at the console output for a "
"detailed description of the errors."
msgstr ""
"îÅ ×ÄÁÌÏÓØ ÚÁ×ÁÎÔÁÖÉÔÉ ÍÅÎÀ ÐÒÏÇÒÁÍ. ðÏצÄÏÍÌÅÎÎÑ ÎÁ ËÏÎÓÏ̦ ÓÉÓÔÅÍÉ Í¦ÓÔÑÔØ "
"ÄÅÔÁÌØÎÉÊ ÏÐÉÓ ÐÒÏÂÌÅÍÉ."

#: ../src/screen.c:740
#, c-format
msgid "could not initialize graphics library context: %s"
msgstr "ÎÅ ×ÄÁÌÏÓØ ¦Î¦Ã¦Á̦ÚÕ×ÁÔÉ ÇÒÁƦÞÎÕ Â¦Â̦ÏÔÅËÕ: %s"

#: ../src/screen.c:771
msgid "could not do initialization of WINGs widget set"
msgstr "ÎÅ ×ÄÁÌÏÓØ ¦Î¦Ã¦Á̦ÚÕ×ÁÔÉ ÎÁÂ¦Ò ×¦ÄÖÅÔ¦× WINGs"

#: ../src/screen.c:1137
#, c-format
msgid "could not save session state in %s"
msgstr "ÎÅ ×ÄÁÌÏÓØ ÚÂÅÒÅÇÔÉ ÓÔÁÎ ÓÅÁÎÓÕ × %s"

#: ../src/session.c:183 ../src/wdefaults.c:589 ../src/winspector.c:454
#, c-format
msgid "can't convert \"%s\" to boolean"
msgstr "ÎÅ ×ÄÁÌÏÓØ ÐÅÒÅÔ×ÏÒÉÔÉ \"%s\" × ÂÕ̦×ÓØËÅ ÚÎÁÞÅÎÎÑ"

#: ../src/session.c:1023
msgid "out of memory while saving session state"
msgstr "×ÉÞÅÒÐÁÎÁ ÐÁÍ'ÑÔØ ÐÒÉ ÚÂÅÒÅÖÅÎΦ ÓÔÁÎÕ ÓÅÁÎÓÕ"

#: ../src/session.c:1106
msgid "end of memory while saving session state"
msgstr "×ÉÞÅÒÐÁÎÁ ÐÁÍ'ÑÔØ ÐÒÉ ÚÂÅÒÅÖÅÎΦ ÓÔÁÎÕ ÓÅÁÎÓÕ"

#. This is not fatal but can mean the session manager exited.
#. * If the session manager exited normally we would get a
#. * Die message, so this probably means an abnormal exit.
#. * If the sm was the last client of session, then we'll die
#. * anyway, otherwise we can continue doing our stuff.
#.
#: ../src/session.c:1244
msgid "connection to the session manager was lost"
msgstr "×ÔÒÁÞÅÎÏ Ú'¤ÄÎÁÎÎÑ Ú ÍÅÎÅÄÖÅÒÏÍ ÓÅÁÎÓ¦×"

#: ../src/stacking.c:79
msgid "could not get window list!!"
msgstr "ÎÅ ×ÄÁÌÏÓØ ÏÔÒÉÍÁÔÉ ÓÐÉÓÏË ×¦ËÏÎ!!"

#: ../src/startup.c:202
#, c-format
msgid "internal X error: %s\n"
msgstr "×ÎÕÔÒ¦ÛÎÑ ÐÏÍÉÌËÁ X ÓÅÒ×ÅÒÁ: %s\n"

#: ../src/startup.c:260
#, c-format
msgid "got signal %i (%s) - restarting\n"
msgstr "ÏÔÒÉÍÁÎÏ ÓÉÇÎÁÌ %i (%s) -- ÐÅÒÅÚÁÐÕÓË\n"

#: ../src/startup.c:262
#, c-format
msgid "got signal %i - restarting\n"
msgstr "ÏÔÒÉÍÁÎÏ ÓÉÇÎÁÌ %i - ÐÅÒÅÚÁÐÕÓË\n"

#: ../src/startup.c:272
#, c-format
msgid "got signal %i (%s) - rereading defaults\n"
msgstr "ÏÔÒÉÍÁÎÏ ÓÉÇÎÁÌ %i (%s) -- ÐÅÒÅÞÉÔÕ×ÁÎÎÑ ÕÍÏ×ÞÁÎØ\n"

#: ../src/startup.c:274
#, c-format
msgid "got signal %i - rereading defaults\n"
msgstr "ÏÔÒÉÍÁÎÏ ÓÉÇÎÁÌ %i - ÐÅÒÅÞÉÔÕ×ÁÎÎÑ ÕÍÏ×ÞÁÎØ\n"

#: ../src/startup.c:284
#, c-format
msgid "got signal %i (%s) - exiting...\n"
msgstr "ÏÔÒÉÍÁÎÏ ÓÉÇÎÁÌ %i (%s) -- ÚÁ×ÅÒÛÅÎÎÑ ÒÏÂÏÔÉ...\n"

#: ../src/startup.c:286
#, c-format
msgid "got signal %i - exiting...\n"
msgstr "ÏÔÒÉÍÁÎÏ ÓÉÇÎÁÌ %i -- ÚÁ×ÅÒÛÅÎÎÑ ÒÏÂÏÔÉ...\n"

#: ../src/startup.c:329
#, c-format
msgid "got signal %i (%s)\n"
msgstr "ÏÔÒÉÍÁÎÏ ÓÉÇÎÁÌ %i (%s)\n"

#: ../src/startup.c:331
#, c-format
msgid "got signal %i\n"
msgstr "ÏÔÒÉÍÁÎÏ ÓÉÇÎÁÌ %i\n"

#: ../src/startup.c:342
msgid ""
"crashed while trying to do some post-crash cleanup. Aborting immediatelly."
msgstr ""
"ËÒÉÔÉÞÎÁ ÐÏÍÉÌËÁ Ð¦Ä ÞÁÓ ×¦ÄÎÏ×ÌÅÎÎÑ Ð¦ÓÌÑ ÚÂÏÀ. îåçáêîå ÚÁ×ÅÒÛÅÎÎÑ ÒÏÂÏÔÉ."

#. we try to restart Window Maker
#: ../src/startup.c:406
msgid "trying to restart Window Maker..."
msgstr "ÓÐÒÏÂÁ ÐÅÒÅÚÁÐÕÓÔÉÔÉ Window Maker..."

#: ../src/startup.c:411
msgid "trying to start alternate window manager..."
msgstr "ÓÐÒÏÂÁ ÚÁÐÕÓËÕ ÁÌØÔÅÒÎÁÔÉ×ÎÏÇÏ ÍÅÎÅÄÖÅÒÁ צËÏÎ..."

#: ../src/startup.c:417
msgid "failed to start alternate window manager. Aborting."
msgstr "ÎÅ ×ÄÁÌÏÓØ ÚÁÐÕÓÔÉÔÉ ÁÌØÔÅÒÎÁÔÉ×ÎÉÊ ÍÅÎÅÄÖÅÒ ×¦ËÏÎ. úÁ×ÅÒÛÅÎÎÑ."

#: ../src/startup.c:419
msgid ""
"a fatal error has occured, probably due to a bug. Please fill the included "
"BUGFORM and report it."
msgstr ""
"×ÉÎÉËÌÁ ËÒÉÔÉÞÎÁ ÐÏÍÉÌËÁ. íÏÖÌÉ×Ï, ÃÅ ÒÅÚÕÌØÔÁÔ ÐÏÍÉÌËÉ × ÐÒÏÇÒÁͦ. âÕÄØ "
"ÌÁÓËÁ, ÚÁÐÏ×ΦÔØ ÆÏÒÍÕ BUGFORM ¦ צÄÐÒÁ×ÔÅ Á×ÔÏÒÕ."

#: ../src/startup.c:894
#, c-format
msgid "icon size is configured to %i, but it's too small. Using 16, instead\n"
msgstr "ÒÏÚÍ¦Ò ¦ËÏÎËÉ ×ÓÔÁÎÏ×ÌÅÎÏ × %i, ÝÏ ÎÁÄÔÏ ÍÁÌÏ. ÷ÉËÏÒÉÓÔÏ×Õ¤ÔØÓÑ 16.\n"

#: ../src/startup.c:922
msgid "XKB is not supported. KbdModeLock is automatically disabled."
msgstr "XKB ΊЦÄÔÒÉÍÕ¤ÔØÓÑ. KbdModeLock Á×ÔÏÍÁÔÉÞÎÏ ÚÁÂÏÒÏÎÅÎÏ."

#: ../src/startup.c:941
msgid "it seems that there is already a window manager running"
msgstr "ÓÈÏÖÅ, ÝÏ ×ÖÅ ÐÒÁÃÀ¤ ¦ÎÛÉÊ ÍÅÎÅÄÖÅÒ ×¦ËÏÎ"

#: ../src/startup.c:947
#, c-format
msgid "could not manage screen %i"
msgstr "ÎÅ ×ÄÁ¤ÔØÓÑ ËÅÒÕ×ÁÔÉ ÅËÒÁÎÏÍ %i"

#: ../src/startup.c:1015
msgid "could not manage any screen"
msgstr "ÎÅ ×ÄÁ¤ÔØÓÑ ËÅÒÕ×ÁÔÉ ÖÏÄÎÉÍ ÅËÒÁÎÏÍ"

#: ../src/switchmenu.c:137
msgid "Windows"
msgstr "÷¦ËÎÁ"

#: ../src/texture.c:329 ../src/texture.c:371
#, c-format
msgid "image file \"%s\" used as texture could not be found."
msgstr "ÆÁÊÌ ÚÏÂÒÁÖÅÎÎÑ ÔÅËÓÔÕÒÉ \"%s\" ÎÅ ÚÎÁÊÄÅÎÏ."

#: ../src/texture.c:335 ../src/texture.c:377
#, c-format
msgid "could not load texture pixmap \"%s\":%s"
msgstr "ÎÅ ×ÄÁÌÏÓØ ÚÁ×ÁÎÔÁÖÉÔÉ ÒÁÓÔÒÏ×Å ÚÏÂÒÁÖÅÎÎÑ Ú ÔÅËÓÔÕÒÏÀ \"%s\":%s"

#: ../src/texture.c:437
#, c-format
msgid "library \"%s\" cound not be opened."
msgstr "ÎÅ ×ÄÁÌÏÓØ ×¦ÄËÒÉÔÉ Â¦Â̦ÏÔÅËÕ \"%s\"."

#: ../src/texture.c:446
#, c-format
msgid "function \"%s\" not found in library \"%s\""
msgstr "ÆÕÎËÃ¦Ñ \"%s\" ÎÅ ÚÎÁÊÄÅÎÁ × Â¦Â̦ÏÔÅæ \"%s\""

#: ../src/texture.c:453
msgid "function textures not supported on this system, sorry."
msgstr "ÆÕÎËæÏÎÁÌØΦ ÔÅËÓÔÕÒÉ ÎŠЦÄÔÒÉÍÕÀÔØÓÑ Ã¦¤À ÓÉÓÔÅÍÏÀ."

#: ../src/texture.c:598
msgid "could not allocate image buffer"
msgstr "ÎÅ ×ÄÁÌÏÓØ ×ÉĦÌÉÔÉ ÂÕÆÅÒ ÄÌÑ ÚÏÂÒÁÖÅÎÎÑ "

#: ../src/wdefaults.c:437
#, c-format
msgid "could not find icon file \"%s\""
msgstr "ÎÅ ×ÄÁÌÏÓØ ÚÎÁÊÔÉ ÆÁÊÌ ¦ËÏÎËÉ \"%s\""

#: ../src/window.c:2934 ../src/window.c:3073
msgid ""
"the NumLock, ScrollLock or similar key seems to be turned on.\n"
"Turn it off or some mouse actions and keyboard shortcuts will not work."
msgstr ""
"óÈÏÖÅ, ÝÏ NumLock, ScrollLock ÞÉ ÁÎÁÌÏǦÞÎÁ ËÌÁצÛÁ ÕצÍËÎÅÎÁ.\n"
"äÅÁËÔÉ×ÕÊÔÅ §§ ÁÂÏ Ö ÄÅÑ˦ ÏÐÅÒÁæ§ ÍÉÛÏÀ ¦ ËÏͦÎÁæ§ ËÌÁ×¦Û ÎÅ ÂÕÄÕÔØ "
"ÐÒÁÃÀ×ÁÔÉ."

#: ../src/winmenu.c:126
msgid ""
"This will kill the application.\n"
"Any unsaved changes will be lost.\n"
"Please confirm."
msgstr ""
"ãÅ ÐÒÉÍÕÓÏ×Ï ÚÁ×ÅÒÛÉÔØ ÐÒÏÇÒÁÍÕ.\n"
"÷Ó¦ ÎÅÚÂÅÒÅÖÅΦ ÚͦÎÉ ÂÕÄÕÔØ ×ÔÒÁÞÅΦ.\n"
"âÕÄØ ÌÁÓËÁ, ЦÄÔ×ÅÒĦÔØ."

#: ../src/winmenu.c:272 ../src/winmenu.c:281
msgid "Set Shortcut"
msgstr "÷ÓÔÁÎÏ×ÉÔÉ ËÏͦÎÁæÀ ËÌÁצÛ"

#: ../src/winmenu.c:359 ../src/winmenu.c:404
msgid "could not create submenu for window menu"
msgstr "ÎÅ ×ÄÁÌÏÓØ ÓÔ×ÏÒÉÔÉ Ð¦ÄÍÅÎÀ ÄÌÑ ÍÅÎÀ צËÎÁ"

#: ../src/winmenu.c:408
msgid "Keep on top"
msgstr "ôÒÉÍÁÔÉ ÎÁÄ ×¦ËÎÁÍÉ"

#: ../src/winmenu.c:413
msgid "Keep at bottom"
msgstr "ôÒÉÍÁÔÉ Ð¦Ä ×¦ËÎÁÍÉ"

#: ../src/winmenu.c:457 ../src/winmenu.c:600
msgid "Shade"
msgstr "ú×ÅÒÎÕÔÉ × ÓÍÕÖËÕ"

#: ../src/winmenu.c:473
msgid "Hide Others"
msgstr "ðÒÉÈÏ×ÁÔÉ ¦ÎÛ¦"

#: ../src/winmenu.c:481
msgid "Resize/Move"
msgstr "úͦÎÉÔÉ ÒÏÚͦÒ/ÐÅÒÅͦÓÔÉÔÉ"

#: ../src/winmenu.c:489
msgid "Select"
msgstr "÷ÉÂÒÁÔÉ"

#: ../src/winmenu.c:502
msgid "Attributes..."
msgstr "áÔÒÉÂÕÔÉ..."

#: ../src/winmenu.c:504
msgid "Options"
msgstr "ïÐæ§"

#: ../src/winmenu.c:595
msgid "Unshade"
msgstr "÷ÉÔÑÇÔÉ ¦Ú ÓÍÕÖËÉ"

#: ../src/winspector.c:387
#, c-format
msgid "Could not find icon \"%s\" specified for this window"
msgstr "îÅÍÏÖÌÉ×Ï ÚÎÁÊÔÉ ¦ËÏÎËÕ \"%s\", ×ËÁÚÁÎÕ ÄÌÑ ÃØÏÇÏ ×¦ËÎÁ"

#: ../src/winspector.c:404
#, c-format
msgid "Could not open specified icon \"%s\":%s"
msgstr "îÅÍÏÖÌÉ×Ï ×¦ÄËÒÉÔÉ ×ËÁÚÁÎÉÊ ÆÁÊÌ ¦ËÏÎËÉ \"%s\":%s"

#: ../src/winspector.c:1123
#, c-format
msgid "Inspecting  %s.%s"
msgstr "¶ÎÓÐÅËÔÕ¤ÔØÓÑ  %s.%s"

#: ../src/winspector.c:1149
msgid "Click in the window you wish to inspect."
msgstr "îÁÔÉÓΦÔØ ÎÁ צËΦ, ÑËÅ ÈÏÞÅÔÅ ÐÒϦÎÓÐÅËÔÕ×ÁÔÉ."

#: ../src/winspector.c:1188
msgid ""
"The configuration will apply to all\n"
"windows that have their WM_CLASS\n"
"property set to the above selected\n"
"name, when saved."
msgstr ""
"ðÒÉ ÚÂÅÒÅÖÅÎΦ ËÏÎƦÇÕÒÁÃ¦Ñ ÂÕÄÅ ÚÁÓÔÏÓÏ×ÁÎÁ\n"
"ÄÏ ×Ó¦È ×¦ËÏÎ, Õ ÑËÉÈ WM_CLASS ×ÓÔÁÎÏ×ÌÅÎÏ Õ\n"
"×ÉÂÒÁÎÅ ÚÎÁÞÅÎÎÑ."

#: ../src/winspector.c:1217
msgid "Save"
msgstr "úÂÅÒÅÇÔÉ"

#: ../src/winspector.c:1225
msgid "Apply"
msgstr "úÁÓÔÏÓÕ×ÁÔÉ"

#: ../src/winspector.c:1231
msgid "Reload"
msgstr "ðÅÒÅÞÉÔÁÔÉ"

#: ../src/winspector.c:1240 ../src/winspector.c:1250
msgid "Window Specification"
msgstr "óÐÅÃÉƦËÁÃ¦Ñ ×¦ËÎÁ"

#: ../src/winspector.c:1241
msgid "Window Attributes"
msgstr "áÔÒÉÂÕÔÉ ×¦ËÎÁ"

#: ../src/winspector.c:1242
msgid "Advanced Options"
msgstr "äÏÄÁÔËÏצ ÏÐæ§"

#: ../src/winspector.c:1243
msgid "Icon and Initial Workspace"
msgstr "¶ËÏÎËÁ ¦ ÐÏÞÁÔËÏ×ÉÊ ÓÔ¦Ì"

#: ../src/winspector.c:1244
msgid "Application Specific"
msgstr "÷ÌÁÓÔÉ×ÏÓÔ¦ ÐÒÏÇÒÁÍÉ"

#: ../src/winspector.c:1258
msgid "Defaults for all windows"
msgstr "õÍÏ×ÞÁÎÎÑ ÄÌÑ ×Ó¦È ×¦ËÏÎ"

#: ../src/winspector.c:1312
msgid "Select window"
msgstr "÷ÉÂÅÒ¦ÔØ ×¦ËÎÏ"

#: ../src/winspector.c:1326
msgid "Attributes"
msgstr "áÔÒÉÂÕÔÉ"

#: ../src/winspector.c:1337
msgid "Disable titlebar"
msgstr "ðÒÉÂÒÁÔÉ ÛÁÐËÕ ×¦ËÎÁ"

#: ../src/winspector.c:1339
msgid ""
"Remove the titlebar of this window.\n"
"To access the window commands menu of a window\n"
"without it's titlebar, press Control+Esc (or the\n"
"equivalent shortcut, if you changed the default\n"
"settings)."
msgstr ""
"ðÒÉÂÒÁÔÉ ÓÍÕÖËÕ ÚÁÇÏÌÏ×ËÁ ÃØÏÇÏ ×¦ËÎÁ.\n"
"äÌÑ ÄÏÓÔÕÐÕ ÄÏ ÍÅÎÀ ËÏÍÁÎÄ ×¦ËÎÁ ÐÒÉ ×¦ÄÓÕÔÎÏÓÔ¦\n"
"ÊÏÇÏ ÛÁÐËÉ, ÎÁÔÉÓΦÔØ Control+Esc (ÞÉ ÅËצ×ÁÌÅÎÔÎÕ\n"
"ËÏͦÎÁæÀ, ÑËÝÏ ÷É ÚͦÎÉÌÉ ÕÓÔÁÎÏ×ËÉ ÚÁ\n"
"ÕÍÏ×ÞÁÎÎÑÍ)."

#: ../src/winspector.c:1346
msgid "Disable resizebar"
msgstr "ðÒÉÂÒÁÔÉ ÓÍÕÖËÕ ÚͦÎÉ ÒÏÚͦÒÕ"

#: ../src/winspector.c:1348
msgid "Remove the resizebar of this window."
msgstr "ðÒÉÂÒÁÔÉ ÓÍÕÖËÕ ÚͦÎÉ ÒÏÚͦÒÕ ÃØÏÇÏ ×¦ËÎÁ."

#: ../src/winspector.c:1351
msgid "Disable close button"
msgstr "ðÒÉÂÒÁÔÉ ËÎÏÐËÕ ÚÁËÒÉÔÔÑ"

#: ../src/winspector.c:1353
msgid "Remove the `close window' button of this window."
msgstr "ðÒÉÂÒÁÔÉ ËÎÏÐËÕ ÚÁËÒÉÔÔÑ ÄÌÑ ÃØÏÇÏ ×¦ËÎÁ."

#: ../src/winspector.c:1356
msgid "Disable miniaturize button"
msgstr "ðÒÉÂÒÁÔÉ ËÎÏÐËÕ Í¦Î¦Í¦ÚÁæ§"

#: ../src/winspector.c:1358
msgid "Remove the `miniaturize window' button of the window."
msgstr "ðÒÉÂÒÁÔÉ ËÎÏÐËÕ Í¦Î¦Í¦ÚÁæ§ ÄÌÑ ÃØÏÇÏ ×¦ËÎÁ."

#: ../src/winspector.c:1361
msgid "Disable border"
msgstr "ðÒÉÂÒÁÔÉ ÂÏÒÄÀÒ ×¦ËÎÁ"

#: ../src/winspector.c:1363
msgid "Remove the 1 pixel black border around the window."
msgstr "ðÒÉÂÒÁÔÉ 1-ЦËÓÅÌØÎÉÊ ÞÏÒÎÉÊ ÂÏÒÄÀÒ ÎÁ×ËÏÌÏ ×¦ËÎÁ."

#: ../src/winspector.c:1366
msgid "Keep on top (floating)"
msgstr "úÁ×ÖÄÉ Ú×ÅÒÈÕ (ÐÌÁ×ÁÀÞÅ)"

#: ../src/winspector.c:1368
msgid ""
"Keep the window over other windows, not allowing\n"
"them to cover it."
msgstr ""
"õÔÒÉÍÕ×ÁÔÉ ×¦ËÎÏ ÐÏ×ÅÒÈ ¦ÎÛÉÈ ×¦ËÏÎ, ÎÅ ÄÏÚ×ÏÌÑÀÞÉ\n"
"§Í ÐÏËÒÉ×ÁÔÉ ÃŠצËÎÏ."

#: ../src/winspector.c:1372
msgid "Keep at bottom (sunken)"
msgstr "úÁ×ÖÄÉ ÚÎÉÚÕ (×ÔÏÐÌÅÎÅ)"

#: ../src/winspector.c:1374
msgid "Keep the window under all other windows."
msgstr "õÔÒÉÍÕ×ÁÔÉ ×¦ËÎÏ ÐÏËÒÉÔÉÍ ¦ÎÛÉÍÉ ÐÅÒÅËÒÉ×ÁÀÞÉÍÉ ×¦ËÎÁÍÉ."

#: ../src/winspector.c:1379
msgid "Make window present in all workspaces."
msgstr "úÒÏÂÉÔÉ ×¦ËÎÏ ÐÒÉÓÕÔÎ¦Í ÎÁ ×Ó¦È ÒÏÂÏÞÉÈ ÓÔÏÌÁÈ."

#: ../src/winspector.c:1382
msgid "Start miniaturized"
msgstr "úÁÐÕÓË Í¦Î¦Í¦ÚÏ×ÁÎÉÍ"

#: ../src/winspector.c:1384
msgid ""
"Make the window be automatically miniaturized when it's\n"
"first shown."
msgstr ""
"úÒÏÂÉÔÉ ×¦ËÎÏ Á×ÔÏÍÁÔÉÞÎÏ Í¦Î¦Í¦ÚÕÀÞÉÍÓÑ ÐÒÉ\n"
"ÐÏÞÁÔËÏ×ÏÍÕ ÒÏÚͦÝÅÎΦ."

#: ../src/winspector.c:1388
msgid "Start maximized"
msgstr "úÁÐÕÓË ÍÁËÓÉͦÚÏ×ÁÎÉÍ"

#: ../src/winspector.c:1390
msgid ""
"Make the window be automatically maximized when it's\n"
"first shown."
msgstr ""
"úÒÏÂÉÔÉ ×¦ËÎÏ Á×ÔÏÍÁÔÉÞÎÏ ÍÁËÓÉͦÚÕÀÞÉÍÓÑ ÐÒÉ\n"
"ÐÏÞÁÔËÏ×ÏÍÕ ÒÏÚͦÝÅÎΦ."

#: ../src/winspector.c:1394
msgid "Full screen maximization"
msgstr "íÁËÓÉͦÚÕ×ÁÔÉ ÎÁ ×ÅÓØ ÜËÒÁÎ"

#: ../src/winspector.c:1396
msgid ""
"Make the window use the whole screen space when it's\n"
"maximized. The titlebar and resizebar will be moved\n"
"to outside the screen."
msgstr ""
"úÒÏÂÉÔÉ ÃŠצËÎÏ ÚÁÊÍÁÀÞÉÍ Õ×ÅÓØ ÐÒÏÓÔ¦Ò ÅËÒÁÎÕ ÐÒÉ\n"
"ÍÁËÓÉͦÚÁæ§. óÍÕÖËÉ ÚÁÇÏÌÏ×ËÕ ¦ ÚͦÎÉ ÒÏÚͦÒÕ ÂÕÄÕÔØ\n"
"ÚͦÝÅΦ ÚÁ ÍÅÖ¦ ÅËÒÁÎÕ."

#: ../src/winspector.c:1413
msgid "Advanced"
msgstr "äÏÄÁÔËÏ×Ï"

#: ../src/winspector.c:1430
msgid "Do not bind keyboard shortcuts"
msgstr "îÅ ÐÒÉ×'ÑÚÕ×ÁÔÉ ËÏͦÎÁæ§ ËÌÁצÛ"

#: ../src/winspector.c:1432
msgid ""
"Do not bind keyboard shortcuts from Window Maker\n"
"when this window is focused. This will allow the\n"
"window to receive all key combinations regardless\n"
"of your shortcut configuration."
msgstr ""
"îÅ ÐÒÉ×'ÑÚÕ×ÁÔÉ ËÏͦÎÁæ§ ËÌÁ×¦Û Window Maker'Á\n"
"ÐÒÉ ÏÔÒÉÍÁÎΦ ÃÉÍ ×¦ËÎÏÍ ÆÏËÕÓÕ ××ÏÄÕ. ãÅ ÄÏÚ×ÏÌÉÔØ\n"
"צËÎÕ ÏÔÒÉÍÕ×ÁÔÉ ×Ó¦ ËÏͦÎÁæ§ ËÌÁצÛ, ÎÅÚÁÌÅÖÎÏ\n"
"×¦Ä ËÏÎƦÇÕÒÁæ§ §È ÐÒÉ×'ÑÚËÉ."

#: ../src/winspector.c:1438
msgid "Do not bind mouse clicks"
msgstr "îÅ ÐÒÉ×'ÑÚÕ×ÁÔÉ ÎÁÔÉÓËÁÎÎÑ ÍÉÛ¦"

#: ../src/winspector.c:1440
msgid ""
"Do not bind mouse actions, such as `Alt'+drag\n"
"in the window (when alt is the modifier you haveconfigured)."
msgstr ""
"îÅ ÐÒÉ×'ÑÚÕ×ÁÔÉ Ä¦§ ÍÉÛ¦, ÔÁ˦ ÑË `Alt'+ÂÕËÓÉÒÕ×ÁÎÎÑ\n"
"Õ ×¦ËΦ (ÐÒÉ ×ÓÔÁÎÏ×ÌÅÎÏÍÕ ÍÏÄÉƦËÁÔÏÒ¦ `Alt')."

#: ../src/winspector.c:1445
msgid "Do not show in the window list"
msgstr "îÅ ÐÏËÁÚÕ×ÁÔÉ ×¦ËÎÏ × ÓÐÉÓËÕ ×¦ËÏÎ."

#: ../src/winspector.c:1447
msgid "Do not list the window in the window list menu."
msgstr "îÅ ÐÏËÁÚÕ×ÁÔÉ ÃŠצËÎÏ × ÍÅÎÀ ÓÐÉÓËÕ ×¦ËÏÎ."

#: ../src/winspector.c:1450
msgid "Do not let it take focus"
msgstr "îÅ ÐÅÒÅÄÁ×ÁÔÉ ÆÏËÕÓ ××ÏÄÕ"

#: ../src/winspector.c:1452
msgid ""
"Do not let the window take keyboard focus when you\n"
"click on it."
msgstr ""
"îÅ ÄÁ×ÁÔÉ ×¦ËÎÕ ÏÔÒÉÍÕ×ÁÔÉ ÆÏËÕÓ ××ÏÄÕ Ú ËÌÁצÁÔÕÒÉ\n"
"ÐÒÉ ÎÁÔÉÓËÁÎΦ ÎÁ ÎØÏÍÕ ÍÉÛÏÀ."

#: ../src/winspector.c:1456
msgid "Keep inside screen"
msgstr "úÁ×ÖÄÉ ÕÓÅÒÅÄÉΦ ÅËÒÁÎÕ"

#: ../src/winspector.c:1458
msgid ""
"Do not allow the window to move itself completely\n"
"outside the screen. For bug compatibility.\n"
msgstr ""
"îÅ ÄÏÚ×ÏÌÑÔÉ ×¦ËÎÕ ÐÏ×ΦÓÔÀ ÐÅÒÅͦÓÔÉÔÉÓÑ\n"
"ÚÁ ÍÅÖ¦ ÅËÒÁÎÕ.\n"

#: ../src/winspector.c:1462
msgid "Ignore 'Hide Others'"
msgstr "¶ÇÎÏÒÕ×ÁÔÉ 'ðÒÉÈÏ×ÁÔÉ ¦ÎÛ¦'"

#: ../src/winspector.c:1464
msgid ""
"Do not hide the window when issuing the\n"
"`HideOthers' command."
msgstr ""
"îÅ ÐÒÉÈÏ×Õ×ÁÔÉ ÃŠצËÎÏ ÐÒÉ ×ÉËÏÎÁÎΦ\n"
"ËÏÍÁÎÄÉ `ðÒÉÈÏ×ÁÔÉ ¦ÎÛ¦'."

#: ../src/winspector.c:1468
msgid "Ignore 'Save Session'"
msgstr "¶ÇÎÏÒÕ×ÁÔÉ 'úÂÅÒÅÇÔÉ ÓÅÁÎÓ'"

#: ../src/winspector.c:1470
msgid ""
"Do not save the associated application in the\n"
"session's state, so that it won't be restarted\n"
"together with other applications when Window Maker\n"
"starts."
msgstr ""
"îÅ ÚÂÅÒ¦ÇÁÔÉ ÁÓÏæÊÏ×ÁÎÕ ÐÒÏÇÒÁÍÕ ×\n"
"ÓÔÁΦ ÓÅÁÎÓÕ, ÔÁË ÝÏ ×ÏÎÁ ÎÅ ÂÕÄÅ\n"
"ÐÅÒÅÚÁÐÕÝÅÎÁ ÒÁÚÏÍ Ú ¦ÎÛÉÍÉ ÐÒÏÇÒÁÍÁÍÉ\n"
"ÐÒÉ ÚÁÐÕÓËÕ Window Maker'Á."

#
#: ../src/winspector.c:1476
msgid "Emulate application icon"
msgstr "åÍÕÌÀ×ÁÔÉ ¦ËÏÎËÕ ÐÒÏÇÒÁÍÉ"

#: ../src/winspector.c:1478
msgid ""
"Make this window act as an application that provides\n"
"enough information to Window Maker for a dockable\n"
"application icon to be created."
msgstr ""
"úÒÏÂÉÔÉ ÃŠצËÎÏ ×ÅÄÕÞÉÍ ÓÅÂÅ ÑË ÐÒÏÇÒÁÍÁ, ÝÏ\n"
"ÎÁÄÁ¤ ÄÏÓÔÁÔÎØÏ ¦ÎÆÏÒÍÁæ§ Window Maker'Õ ÄÌÑ\n"
"ÓÔ×ÏÒÅÎÎÑ ¦ËÏÎËÉ ÐÒÏÇÒÁÍÉ, ÑËÁ ÚÁÎÏÓÉÔØÓÑ × äÏË."

#: ../src/winspector.c:1484
msgid "Disable language button"
msgstr "ðÒÉÂÒÁÔÉ ËÎÏÐËÕ ÍÏ×É"

#: ../src/winspector.c:1486
msgid "Remove the `toggle language' button of the window."
msgstr "ðÒÉÂÒÁÔÉ ËÎÏÐËÕ ÐÅÒÅÍÉËÁÎÎÑ ÍÏ×É ËÌÁצÁÔÕÒÉ ÄÌÑ ×¦ËÎÁ."

#: ../src/winspector.c:1503
msgid "Miniwindow Image"
msgstr "í¦Î¦ÁÔÀÒÎÅ úÏÂÒÁÖÅÎÎÑ"

#: ../src/winspector.c:1530
msgid "Icon filename:"
msgstr "¶Í'Ñ ÆÁÊÌÕ ¦ËÏÎËÉ:"

#: ../src/winspector.c:1543
msgid "Ignore client supplied icon"
msgstr "¶ÇÎÏÒÕ×ÁÔÉ ¦ËÏÎËÕ Ë̦¤ÎÔÁ"

#: ../src/winspector.c:1550
msgid "Initial Workspace"
msgstr "ðÏÞÁÔËÏ×ÉÊ òÏÂÏÞÉÊ ÓÔ¦Ì"

#: ../src/winspector.c:1552
msgid "The workspace to place the window when it'sfirst shown."
msgstr "òÏÂÏÞÉÊ ÓÔ¦Ì, ËÕÄÉ ÐÏͦÓÔÉÔÉ ×¦ËÎÏ ÐÒÉ ÐÏÞÁÔËÏ×¦Ê ÊÏÇÏ ÐÏÑצ."

#: ../src/winspector.c:1558
msgid "Nowhere in particular"
msgstr "îÅ ÚÁÄÁ¤ÔØÓÑ"

#: ../src/winspector.c:1576
msgid "Application Attributes"
msgstr "÷¦ÄÎÏÓÉÔØÓÑ ÄÏ ÐÒÏÇÒÁÍÉ"

#: ../src/winspector.c:1587
msgid "Start hidden"
msgstr "úÁÐÕÓËÁÔÉ ÐÒÉÈÏ×ÁÎÏÀ"

#: ../src/winspector.c:1589
msgid "Automatically hide application when it's started."
msgstr "á×ÔÏÍÁÔÉÞÎÏ ÐÒÉÈÏ×Õ×ÁÔÉ ÐÒÏÇÒÁÍÕ ÐÒÉ §§ ÚÁÐÕÓËÕ."

#: ../src/winspector.c:1592
msgid "No application icon"
msgstr "îÅ ÐÏËÁÚÕ×ÁÔÉ ¦ËÏÎËÕ"

#: ../src/winspector.c:1594
msgid ""
"Disable the application icon for the application.\n"
"Note that you won't be able to dock it anymore,\n"
"and any icons that are already docked will stop\n"
"working correctly."
msgstr ""
"úÁÂÏÒÏÎÉÔÉ ¦ËÏÎËÕ ÐÒÏÇÒÁÍÉ ÄÌÑ Ã¦¤§ ÐÒÏÇÒÁÍÉ.\n"
"õ×ÁÇÁ: ×É ÎÅ ÚÍÏÖÅÔŠЦÓÌÑ ÃØÏÇÏ ÐÏͦÓÔÉÔÉ §§ × äÏË,\n"
"¦ ×Ó¦ §§ ¦ËÏÎËÉ, ÝÏ ×ÖÅ × ÎØÏÍÕ ÚÎÁÈÏÄÑÔØÓÑ, ÐÒÉÐÉÎÑÔØ\n"
"ËÏÒÅËÔÎÏ ÐÒÁÃÀ×ÁÔÉ."

#
#: ../src/winspector.c:1600
msgid "Shared application icon"
msgstr "óЦÌØÎÁ ¦ËÏÎËÁ ÐÒÏÇÒÁÍÉ"

#: ../src/winspector.c:1602
msgid ""
"Use a single shared application icon for all of\n"
"the instances of this application.\n"
msgstr ""
"÷ÉËÏÒÉÓÔÏ×Õ×ÁÔÉ ¤ÄÉÎÕ ÓЦÌØÎÕ ¦ËÏÎËÕ ÐÒÏÇÒÁÍÉ ÄÌÑ\n"
"×Ó¦È ÅËÚÅÍÐÌÑÒ¦× Ã¦¤§ ÐÒÏÇÒÁÍÉ.\n"

#: ../src/wmspec.c:277
msgid "out of memory while updating wm hints"
msgstr "×ÉÞÅÒÐÁÎÁ ÐÁÍ'ÑÔØ ÐÒÉ ÏÎÏ×ÌÅÎΦ wm hints"

#: ../src/workspace.c:107 ../src/workspace.c:108 ../src/workspace.c:893
#, c-format
msgid "Workspace %i"
msgstr "òÏÂÏÞÉÊ ÓÔ¦Ì %i"

#: ../src/workspace.c:943
msgid "Workspaces"
msgstr "òÏÂÏÞ¦ ÓÔÏÌÉ"

#: ../src/workspace.c:945
msgid "could not create Workspace menu"
msgstr "ÎÅ ×ÄÁ¤ÔØÓÑ ÓÔ×ÏÒÉÔÉ ÍÅÎÀ òÏÂÏÞÉÈ ÓÔÏ̦×"

#: ../src/workspace.c:952
msgid "New"
msgstr "óÔ×ÏÒÉÔÉ"

#: ../src/workspace.c:953
msgid "Destroy Last"
msgstr "úÎÉÝÉÔÉ ÏÓÔÁÎΦÊ"



Index: .cvsignore
===================================================================
RCS file: /cvs/extras/rpms/WindowMaker/devel/.cvsignore,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- .cvsignore	9 Aug 2005 01:29:26 -0000	1.4
+++ .cvsignore	2 Mar 2006 14:16:26 -0000	1.5
@@ -1 +1,2 @@
 WindowMaker-0.92.0.tar.bz2
+WindowMaker-extra-0.1.tar.gz


Index: WindowMaker.spec
===================================================================
RCS file: /cvs/extras/rpms/WindowMaker/devel/WindowMaker.spec,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- WindowMaker.spec	16 Feb 2006 23:09:01 -0000	1.16
+++ WindowMaker.spec	2 Mar 2006 14:16:26 -0000	1.17
@@ -1,7 +1,7 @@
 Summary:	A fast, feature rich Window Manager
 Name:		WindowMaker
 Version:	0.92.0
-Release:	6%{?dist}
+Release:	7%{?dist}
 
 License:	GPL
 Group:		User Interface/Desktops
@@ -9,7 +9,45 @@
 Source0:	ftp://windowmaker.org/pub/source/release/WindowMaker-0.92.0.tar.bz2
 Source1:        WindowMaker.xsession
 Source2:        WindowMaker.desktop
-Patch0:         windowmaker-gcc4-x86_64.patch
+Source3:	WindowMaker-uk.po
+Source4:	WPrefs-uk.po
+Source5:	WindowMaker-README.newbuttons
+Source6:	WindowMaker-newbuttons.nextstyle.tiff
+Source7:	WindowMaker-newbuttons.nextstyle.xpm
+Source8:	WindowMaker-newbuttons.oldstyle.tiff
+
+Source10:       ftp://windowmaker.org/pub/source/release/WindowMaker-extra-0.1.tar.gz
+
+# cvs snapshot
+Patch0:         WindowMaker-0.92.0-cvs20060123.patch
+Patch1:         WindowMaker-gcc41.patch
+
+#patches from altlinux
+Patch101:       WindowMaker-0.91.0-alt-sowings.patch
+Patch102:       WindowMaker-0.91.0-alt-session.patch
+Patch103:       WindowMaker-0.91.0-alt-restartscrpt.patch
+Patch104:       WindowMaker-0.91.0-alt-menutrans.patch
+Patch105:       WindowMaker-0.91.0-alt-titlebar.patch
+Patch106:       WindowMaker-0.91.0-alt-clipnotext.patch
+Patch107:       WindowMaker-0.91.0-alt-mmx.patch
+Patch108:       WindowMaker-0.80.2-cvs-alt-textfield.patch
+Patch109:       WindowMaker-0.91.0-alt-focus.patch
+
+#add new features as well (sound good)
+Patch200:	WindowMaker-0.91.0-wmcontrib-singleclick.patch
+Patch201:	WindowMaker-0.91.0-alt-dockhotkeys.patch
+Patch202:	WindowMaker-0.91.0-alt-vlaad-trance.patch
+Patch203:	WindowMaker-0.91.0-alt-vlaad-newbuttons.patch
+Patch204:	WindowMaker-0.91.0-alt-adialog.patch
+Patch205:	WindowMaker-0.91.0-hmepas-minimizeall.patch
+Patch206:	WindowMaker-0.91.0-hmepas-swmenu_rclick.patch
+Patch207:	WindowMaker-0.91.0-sga-moving-add.patch
+Patch208:	WindowMaker-0.91.0-peter-newappicon.patch
+Patch209:	WindowMaker-0.91.0-peter-mouse-placement.patch
+Patch210:	WindowMaker-0.91.0-peter-appicon-bouncer2.patch
+Patch211:       WindowMaker-0.91.0-sga-swpanel-customization.patch
+Patch212:       WindowMaker-0.92.0-alt-newpo.patch
+
 BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-buildroot
 BuildRequires:	libpng-devel libjpeg-devel libungif-devel
 BuildRequires:	libtiff-devel zlib-devel gettext-devel
@@ -47,8 +85,41 @@
 
 
 %prep
-%setup -q
-%patch0
+%setup -q -a10
+
+%patch0 -p1
+%patch1
+%patch101 -p1
+%patch102 -p1
+%patch103 -p1
+%patch104 -p1
+%patch105 -p1
+%patch106 -p1
+%patch107 -p1
+%patch108 -p1
+%patch109 -p1
+%patch200 -p1
+%patch201 -p1
+%patch202 -p1
+%patch203 -p1 
+%patch204 -p1 
+%patch205 -p1
+%patch206 -p1 
+%patch207 -p1 
+%patch208 -p1 
+%patch209 -p1 
+%patch210 -p1 
+%patch211 -p1
+%patch212 -p1 -b .vns
+
+cp %{SOURCE3} po/uk.po
+cp %{SOURCE4} WPrefs.app/po/uk.po
+cp %{SOURCE5} README.newbuttons
+
+cp %{SOURCE6} WPrefs.app/tiff/nextstyle.tiff
+cp %{SOURCE7} WPrefs.app/xpm/nextstyle.xpm
+cp %{SOURCE8} WPrefs.app/tiff/oldstyle.tiff
+
 ###### menu fix from Rudolf Kastel
 for i in WindowMaker/*menu* ; do
 echo $i
@@ -58,17 +129,25 @@
 sed -e 's/\/home\/mawa/$(HOME)/g' $i.old >$i
 done
 
+autoreconf -sif
+
 %build
+# enable new features
+CFLAGS="$RPM_OPT_FLAGS -DBOUNCE_APP -DNEWAPPICON -DVIRTUAL_DESKTOP"
 LINGUAS=`(cd po ; echo *.po|sed 's/zh_TW.Big5.po//g;s/.po//g')`
 GNUSTEP_LOCAL_ROOT='%{_libdir}/GNUstep'
 NLSDIR="%{_datadir}/locale"
-export LINGUAS NLSDIR GNUSTEP_LOCAL_ROOT
+export CFLAGS LINGUAS NLSDIR GNUSTEP_LOCAL_ROOT
 %configure --enable-gnome --enable-kde --enable-usermenu --enable-xinerama \
 --enable-fast-install --enable-modelock --x-includes=%{_includedir} \
---x-libraries=%{_libdir}
-
-make %{?_smp_mflags}
-
+--x-libraries=%{_libdir} --disable-mmx --disable-static --enable-shared
+#smp_mflags are broken atm
+make #%{?_smp_mflags}
+
+# do extras stuff
+cd WindowMaker-extra-0.1
+%configure --x-libraries=%{_libdir} --x-includes=%{_includedir}
+cd ..
 
 %install
 rm -rf $RPM_BUILD_ROOT
@@ -76,13 +155,16 @@
 
 %find_lang '\(WPrefs\|%{name}\|WINGs\)'
 
-rm -f $RPM_BUILD_ROOT%{_libdir}/libwraster.la
-
 install -D -m0755 %{SOURCE1} \
 %{buildroot}%{_sysconfdir}/X11/gdm/Sessions/WindowMaker
 install -D -m0644 %{SOURCE2} \
 %{buildroot}%{_sysconfdir}/X11/dm/Sessions/WindowMaker.desktop
 
+find %{buildroot} -type f -name "*.la" -exec rm -f {} ';'
+
+# now install extras stuff
+make -C WindowMaker-extra-0.1 install DESTDIR=$RPM_BUILD_ROOT
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
@@ -97,7 +179,7 @@
 %{_datadir}/%{name}
 %{_datadir}/WINGs
 %{_libdir}/GNUstep
-%{_libdir}/libwraster.so.*
+%{_libdir}/*.so.*
 %{_mandir}/man1/*.1x*
 %{_mandir}/sk/man1/*.1x*
 %exclude %{_bindir}/get-*-flags
@@ -110,12 +192,22 @@
 %{_includedir}/WINGs
 %{_includedir}/WMaker.h
 %{_includedir}/wraster.h
-%{_libdir}/lib*.a
-%{_libdir}/libwraster.so
+%{_libdir}/*.so
 %{_libdir}/pkgconfig/*.pc
 
 
 %changelog
+* Sun Feb 26 2006 Andreas Bierfert <andreas.bierfert[AT]lowlatency.de>
+0.92.0-7
+- fix #181981
+- go to new cvs snapshot (which includes qt fix)
+- add patches from altlinuxs rpm (suggested by Andrew Zabolotny)
+- get rid of static libs (finally)
+- tune configure
+- add uk translation
+- finally add extras source
+- fix stack-smash while reading workspace names
+
 * Thu Feb 16 2006 Andreas Bierfert <andreas.bierfert[AT]lowlatency.de>
 0.92.0-6
 - Rebuild for Fedora Extras 5


Index: sources
===================================================================
RCS file: /cvs/extras/rpms/WindowMaker/devel/sources,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- sources	9 Aug 2005 01:29:26 -0000	1.4
+++ sources	2 Mar 2006 14:16:26 -0000	1.5
@@ -1 +1,2 @@
 aaac5421b686ed2d3e6ab65229c98097  WindowMaker-0.92.0.tar.bz2
+07c7700daaaf232bc490f5abaabef085  WindowMaker-extra-0.1.tar.gz


--- windowmaker-gcc4-x86_64.patch DELETED ---




More information about the fedora-extras-commits mailing list