merge r7212-7239 from trunk
authorDana Jansens <danakj@orodu.net>
Fri, 1 Jun 2007 16:35:32 +0000 (16:35 +0000)
committerDana Jansens <danakj@orodu.net>
Fri, 1 Jun 2007 16:35:32 +0000 (16:35 +0000)
openbox/client.c
openbox/frame.c
po/LINGUAS
po/bn_IN.po [new file with mode: 0644]

index 5a6f443ae82d3b157a136067044b74a6357653bd..7f1765531545c3eb26d802d93f779add9fee0854 100644 (file)
@@ -319,7 +319,7 @@ void client_manage(Window window)
        settings for other uses too. the returned settings is a shallow copy,
        that needs to be freed with g_free(). */
     settings = client_get_settings_state(self);
-    /* the session should get the last say thought */
+    /* the session should get the last say though */
     client_restore_session_state(self);
 
     /* now we have all of the window's information so we can set this up */
@@ -2566,6 +2566,8 @@ static void client_apply_startup_state(ObClient *self,
     gboolean demands_attention = self->demands_attention;
     gboolean max_horz = self->max_horz;
     gboolean max_vert = self->max_vert;
+    Rect oldarea;
+    gint l;
 
     /* turn them all off in the client, so they won't affect the window
        being placed */
@@ -2581,10 +2583,12 @@ static void client_apply_startup_state(ObClient *self,
        do this before applying the states so they have the correct
        pre-max/pre-fullscreen values
     */
-    client_configure(self, x, y, w, h, FALSE, TRUE);
+    client_try_configure(self, &x, &y, &w, &h, &l, &l, FALSE);
     ob_debug("placed window 0x%x at %d, %d with size %d x %d\n",
              self->window, self->area.x, self->area.y,
              self->area.width, self->area.height);
+    oldarea = self->area;              /* save the area */
+    RECT_SET(self->area, x, y, w, h);  /* put where it should be for the premax stuff */
 
     /* apply the states. these are in a carefully crafted order.. */
 
@@ -2606,6 +2610,12 @@ static void client_apply_startup_state(ObClient *self,
     else if (max_horz)
         client_maximize(self, TRUE, 1);
 
+    /* if the window hasn't been configured yet, then do so now */
+    if (!fullscreen && !max_vert && !max_horz) {
+        self->area = oldarea;
+        client_configure(self, x, y, w, h, FALSE, TRUE);
+    }
+
     /* set the desktop hint, to make sure that it always exists */
     PROP_SET32(self->window, net_wm_desktop, cardinal, self->desktop);
 
@@ -2867,7 +2877,9 @@ void client_configure(ObClient *self, gint x, gint y, gint w, gint h,
 
     /* if the client is enlarging, then resize the client before the frame */
     if (send_resize_client && (w > oldw || h > oldh)) {
-        XResizeWindow(ob_display, self->window, MAX(w, oldw), MAX(h, oldh));
+        XMoveResizeWindow(ob_display, self->window,
+                          self->frame->size.left, self->frame->size.top,
+                          MAX(w, oldw), MAX(h, oldh));
         frame_adjust_client_area(self->frame);
     }
 
@@ -2886,7 +2898,20 @@ void client_configure(ObClient *self, gint x, gint y, gint w, gint h,
     if (fmoved || fresized)
         frame_adjust_area(self->frame, fmoved, fresized, FALSE);
 
-    if ((!user || (user && final)) && !resized)
+    /* This is kinda tricky and should not be changed.. let me explain!
+
+       When user = FALSE, then the request is coming from the application
+       itself, and we are more strict about when to send a synthetic
+       ConfigureNotify.  We strictly follow the rules of the ICCCM sec 4.1.5
+       in this case.
+
+       When user = TRUE, then the request is coming from "us", like when we
+       maximize a window or sometihng.  In this case we are more lenient.  We
+       used to follow the same rules as above, but _Java_ Swing can't handle
+       this. So just to appease Swing, when user = TRUE, we always send
+       a synthetic ConfigureNotify to give the window its root coordinates.
+    */
+    if ((!user && !resized) || (user && final))
     {
         XEvent event;
 
@@ -2925,7 +2950,8 @@ void client_configure(ObClient *self, gint x, gint y, gint w, gint h,
      */
     if (send_resize_client && (w <= oldw || h <= oldh)) {
         frame_adjust_client_area(self->frame);
-        XResizeWindow(ob_display, self->window, w, h);
+        XMoveResizeWindow(ob_display, self->window,
+                          self->frame->size.left, self->frame->size.top, w, h);
     }
 
     XFlush(ob_display);
index 58a51d5a35ff4fd061d59741308b3a9041c582c8..01356f3c250215b41292c436b1ad74d952e3ed08 100644 (file)
@@ -764,7 +764,10 @@ void frame_adjust_area(ObFrame *self, gboolean moved,
                               self->area.width,
                               self->area.height);
 
-        /* when the client has StaticGravity, it likes to move around. */
+        /* when the client has StaticGravity, it likes to move around.
+           also this correctly positions the client when it maps.
+           this also needs to be run when the frame's decorations sizes change!
+        */
         XMoveWindow(ob_display, self->client->window,
                     self->size.left, self->size.top);
 
index f229b64f8ecbdd0301273f6daca231a160c0b9d1..58a9e8fd3bfe8bf25ede91d0f3f4b2f437a1e2f8 100644 (file)
@@ -20,3 +20,4 @@ et
 cs
 nl
 ar
+bn_IN
diff --git a/po/bn_IN.po b/po/bn_IN.po
new file mode 100644 (file)
index 0000000..c329b40
--- /dev/null
@@ -0,0 +1,342 @@
+# translation of openbox to Bengali (India)
+# Copyright (C) 2007 Dana Jansens
+# This file is distributed under the same license as the Openbox package.
+#
+# Runa Bhattacharjee <runabh@gmail.com>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: Openbox 3.4\n"
+"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
+"POT-Creation-Date: 2007-06-01 17:07+0200\n"
+"PO-Revision-Date: 2007-06-01 19:02+0530\n"
+"Last-Translator: Runa Bhattacharjee <runabh@gmail.com>\n"
+"Language-Team: Bengali (India) <en@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: openbox/action.c:954
+#, c-format
+msgid "Invalid action '%s' requested. No such action exists."
+msgstr ""
+"অবৈধ কর্ম '%s'-র অনুরোধ জানানো হয়েছে। এই ধরনের কোনো কর্ম বর্তমানে উপস্থিত নেই।"
+
+#: openbox/action.c:957
+#, c-format
+msgid "Invalid use of action '%s'. Action will be ignored."
+msgstr "'%s' কর্মের অবৈধ ব্যবহার। কর্ম উপেক্ষা করা হবে।"
+
+#: openbox/action.c:1224 openbox/action.c:1242 openbox/action.c:1255
+#, c-format
+msgid "Failed to execute '%s': %s"
+msgstr "'%s' সঞ্চালন করতে ব্যর্থ: %s"
+
+#: openbox/action.c:1263
+#, c-format
+msgid "Failed to convert the path '%s' from utf8"
+msgstr "'%s' পাথটি utf8 থেকে রূপান্তর করতে ব্যর্থ"
+
+#: openbox/client_list_combined_menu.c:104 openbox/client_list_menu.c:105
+msgid "Go there..."
+msgstr "চিহ্নিত স্থানে চলুন..."
+
+#: openbox/client_list_combined_menu.c:150
+msgid "Windows"
+msgstr "উইন্ডো"
+
+#: openbox/client_list_menu.c:196
+msgid "Desktops"
+msgstr "ডেস্কটপ"
+
+#: openbox/client_menu.c:246
+msgid "All desktops"
+msgstr "সর্বপ্রকার ডেস্কটপ"
+
+#: openbox/client_menu.c:351
+msgid "&Layer"
+msgstr "স্তর (&L)"
+
+#: openbox/client_menu.c:356
+msgid "Always on &top"
+msgstr "সর্বদা উপরে (&t)"
+
+#: openbox/client_menu.c:357
+msgid "&Normal"
+msgstr "স্বাভাবিক (&N)"
+
+#: openbox/client_menu.c:358
+msgid "Always on &bottom"
+msgstr "সর্বদা নীচে (&b)"
+
+#: openbox/client_menu.c:361
+msgid "&Send to desktop"
+msgstr "ডেস্কটপে পাঠানো হবে (&S)"
+
+#: openbox/client_menu.c:365
+msgid "Client menu"
+msgstr "ক্লায়েন্ট মেনু"
+
+#: openbox/client_menu.c:371
+msgid "R&estore"
+msgstr "পুনরুদ্ধার (&e)"
+
+#: openbox/client_menu.c:379
+msgid "&Move"
+msgstr "স্থানান্তরণ (&M)"
+
+#: openbox/client_menu.c:381
+msgid "Resi&ze"
+msgstr "মাপ পরিবর্তন (&z)"
+
+#: openbox/client_menu.c:383
+msgid "Ico&nify"
+msgstr "আইকন রূপে প্রদর্শন (&n)"
+
+#: openbox/client_menu.c:391
+msgid "Ma&ximize"
+msgstr "বড় করুন (&x)"
+
+#: openbox/client_menu.c:399
+msgid "&Roll up/down"
+msgstr "উপরে/নীচে গুটিয়ে নিন (&R)"
+
+#: openbox/client_menu.c:401
+msgid "Un/&Decorate"
+msgstr "বিন্যাস পরিবর্তন (&D)"
+
+#: openbox/client_menu.c:411
+msgid "&Close"
+msgstr "বন্ধ করুন (&C)"
+
+#: openbox/config.c:701
+#, c-format
+msgid "Invalid button '%s' specified in config file"
+msgstr "কনফিগ ফাইলে অবৈধ বাটন '%s' উল্লিখিত হয়েছে"
+
+#: openbox/keyboard.c:162
+msgid "Conflict with key binding in config file"
+msgstr "কনফিগ ফাইলে কি-বাইন্ডিং সংক্রান্ত দ্বন্দ্ব"
+
+#: openbox/menu.c:98 openbox/menu.c:106
+#, c-format
+msgid "Unable to find a valid menu file '%s'"
+msgstr "বৈধ মেনু ফাইল '%s' সনাক্ত করতে ব্যর্থ"
+
+#: openbox/menu.c:149
+#, c-format
+msgid "Failed to execute command for pipe-menu '%s': %s"
+msgstr "পাইপ-মেনু '%s'-র জন্য কমান্ড সঞ্চালন করতে ব্যর্থ: %s"
+
+#: openbox/menu.c:166
+#, c-format
+msgid "Invalid output from pipe-menu '%s'"
+msgstr "পাইপ-মেনু '%s' থেকে অবৈধ ফলাফল প্রাপ্ত হয়েছে"
+
+#: openbox/menu.c:179
+#, c-format
+msgid "Attempted to access menu '%s' but it does not exist"
+msgstr "অনুপস্থিত মেনু '%s' ব্যবহারের প্রচেষ্টা হয়েছে"
+
+#: openbox/menu.c:340 openbox/menu.c:341
+msgid "More..."
+msgstr "অতিরিক্ত..."
+
+#: openbox/mouse.c:338
+#, c-format
+msgid "Invalid button '%s' in mouse binding"
+msgstr "মাউস বাইন্ডিং সংক্রান্ত অবৈধ বাটন '%s'"
+
+#: openbox/mouse.c:344
+#, c-format
+msgid "Invalid context '%s' in mouse binding"
+msgstr "মাউস বাইন্ডিং সংক্রান্ত অবৈধ কনটেক্সট '%s'"
+
+#: openbox/openbox.c:129
+#, c-format
+msgid "Unable to change to home directory '%s': %s"
+msgstr "ব্যক্তিগত ডিরেক্টরি '%s'-তে পরিবর্তন করতে ব্যর্থ: %s"
+
+#: openbox/openbox.c:149
+msgid "Failed to open the display from the DISPLAY environment variable."
+msgstr "DISPLAY এনভাশরনমেন্ট ভেরিয়েবলের মান প্রয়োগ করে প্রদর্শন আরম্ভ করতে ব্যর্থ।"
+
+#: openbox/openbox.c:180
+msgid "Failed to initialize the obrender library."
+msgstr "obrender লাইব্রেরি আরম্ভ করতে ব্যর্থ।"
+
+#: openbox/openbox.c:186
+msgid "X server does not support locale."
+msgstr "X সার্ভার দ্বারা লোকেইল সমর্থিতত হয় না।"
+
+#: openbox/openbox.c:188
+msgid "Cannot set locale modifiers for the X server."
+msgstr "X সার্ভারের জন্য লোকেইল মডিফায়ার নির্ধারণ করতে ব্যর্থ।"
+
+#: openbox/openbox.c:249
+msgid "Unable to find a valid config file, using some simple defaults"
+msgstr "বৈধ কনফিগ ফাইল সনাক্ত করতে ব্যর্থ, কয়েকটি সাধারণ ডিফল্ট মান প্রয়োগ করা হবে।"
+
+#: openbox/openbox.c:275
+msgid "Unable to load a theme."
+msgstr "থিম লোড করতে ব্যর্থ।"
+
+#: openbox/openbox.c:458
+#, c-format
+msgid "Restart failed to execute new executable '%s': %s"
+msgstr "পুনরাম্ভের পরে নতুন এক্সেকিউটেবল '%s' সঞ্চালন করতে ব্যর্থ: %s"
+
+#: openbox/openbox.c:528 openbox/openbox.c:530
+msgid "Copyright (c)"
+msgstr "স্বত্বাধিকার (c)"
+
+#: openbox/openbox.c:539
+msgid "Syntax: openbox [options]\n"
+msgstr "ব্যবহারপ্রণালী: openbox [বিকল্প]\n"
+
+#: openbox/openbox.c:540
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"বিবিধ বিকল্প:\n"
+
+#: openbox/openbox.c:541
+msgid "  --help              Display this help and exit\n"
+msgstr "  --help              সহায়তা বার্তা প্রদর্শন করে প্রস্থান\n"
+
+#: openbox/openbox.c:542
+msgid "  --version           Display the version and exit\n"
+msgstr "  --version           সংস্করণ প্রদর্শন করে প্রস্থান\n"
+
+#: openbox/openbox.c:543
+msgid "  --replace           Replace the currently running window manager\n"
+msgstr ""
+"  --replace           বর্তমানে চলমান উইন্ডো পরিচালন ব্যবস্থা পরিবর্তন করা হবে\n"
+
+#: openbox/openbox.c:544
+msgid "  --sm-disable        Disable connection to the session manager\n"
+msgstr ""
+"  --sm-disable        সেশান পরিচালন ব্যবস্থার সাথে সংযোগ নিষ্ক্রিয় করা হবে\n"
+
+#: openbox/openbox.c:545
+msgid ""
+"\n"
+"Passing messages to a running Openbox instance:\n"
+msgstr ""
+"\n"
+"চলমান Openbox ইনস্ট্যান্সে বার্তা প্রেরণ:\n"
+
+#: openbox/openbox.c:546
+msgid "  --reconfigure       Reload Openbox's configuration\n"
+msgstr "  --reconfigure       Openbox-র কনফিগারেশন পুনরায় লোড করে\n"
+
+#: openbox/openbox.c:547
+msgid "  --restart           Restart Openbox\n"
+msgstr "  --restart           Openbox পুনরারম্ভ\n"
+
+#: openbox/openbox.c:548
+msgid ""
+"\n"
+"Debugging options:\n"
+msgstr ""
+"\n"
+"ডিবাগ করার বিভিন্ন বিকল্প:\n"
+
+#: openbox/openbox.c:549
+msgid "  --sync              Run in synchronous mode\n"
+msgstr "  --sync              সিঙ্ক্রোনাস মোডে সঞ্চালিত হবে\n"
+
+#: openbox/openbox.c:550
+msgid "  --debug             Display debugging output\n"
+msgstr "  --debug             ডিবাগ-এর ফলাফল প্রদর্শন করে\n"
+
+#: openbox/openbox.c:551
+msgid "  --debug-focus       Display debugging output for focus handling\n"
+msgstr ""
+"  --debug-focus       ফোকাস হ্যান্ডলিং সংক্রান্ত ডিবাগের ফলাফল প্রদর্শন করে\n"
+
+#: openbox/openbox.c:552
+msgid "  --debug-xinerama    Split the display into fake xinerama screens\n"
+msgstr "  --debug-xinerama    প্রদর্শন ক্ষেত্রটি নকল xinerama পর্দায় ভাগ করা হবে\n"
+
+#: openbox/openbox.c:553
+#, c-format
+msgid ""
+"\n"
+"Please report bugs at %s\n"
+msgstr ""
+"\n"
+"অনুগ্রহ করে %s-এ বাগ সংক্রান্ত সূচনা দায়ের করুন\n"
+
+#: openbox/openbox.c:650
+#, c-format
+msgid "Invalid command line argument '%s'\n"
+msgstr "অবৈধ কমান্ড-লাইন আর্গুমেন্ট '%s'\n"
+
+#: openbox/screen.c:89 openbox/screen.c:190
+#, c-format
+msgid "A window manager is already running on screen %d"
+msgstr "একটি উইন্ডো পরিচালন ব্যবস্থা বর্তমানে %d-এ চলছে"
+
+#: openbox/screen.c:126
+#, c-format
+msgid "Could not acquire window manager selection on screen %d"
+msgstr "পর্দা %d-এ উইন্ডো পরিচালন ব্যবস্থার নির্বাচিত অংশ প্রাপ্ত করতে ব্যর্থ"
+
+#: openbox/screen.c:147
+#, c-format
+msgid "The WM on screen %d is not exiting"
+msgstr "পর্দা %d-র উপর চলমান উইন্ডো পরিচালন ব্যবস্থাটি বন্ধ করতে ব্যর্থ"
+
+#: openbox/screen.c:987
+#, c-format
+msgid "desktop %i"
+msgstr "desktop %i"
+
+#: openbox/session.c:103
+#, c-format
+msgid "Unable to make directory '%s': %s"
+msgstr "'%s' ডিরেক্টরি নির্মাণ করতে ব্যর্থ: %s"
+
+#: openbox/session.c:451
+#, c-format
+msgid "Unable to save the session to '%s': %s"
+msgstr "'%s'-র সেশান সংরক্ষণ করতে ব্যর্থ: %s"
+
+#: openbox/session.c:583
+#, c-format
+msgid "Error while saving the session to '%s': %s"
+msgstr "'%s'-এ সেশান সংরক্ষণকালে সমস্যা: %s"
+
+#: openbox/startupnotify.c:237
+#, c-format
+msgid "Running %s\n"
+msgstr "%s সঞ্চালিত হচ্ছে\n"
+
+#: openbox/translate.c:58
+#, c-format
+msgid "Invalid modifier key '%s' in key/mouse binding"
+msgstr "কি/মাউস বাইন্ডিং-র মধ্যে অবৈধ মডিফায়ার-কি '%s'"
+
+#: openbox/translate.c:135
+#, c-format
+msgid "Invalid key code '%s' in key binding"
+msgstr "কি-বাইন্ডিং-র মধ্যে অবৈধ কি-কোড '%s'"
+
+#: openbox/translate.c:142
+#, c-format
+msgid "Invalid key name '%s' in key binding"
+msgstr "কি-বাইন্ডিং-র মধ্যে অবৈধ কি-র নাম '%s'"
+
+#: openbox/translate.c:148
+#, c-format
+msgid "Requested key '%s' does not exist on the display"
+msgstr "অনুরোধ করা কি '%s', প্রদর্শন ক্ষেত্রে উপস্থিত নেই"
+
+#: openbox/xerror.c:39
+#, c-format
+msgid "X Error: %s"
+msgstr "X সংক্রান্ত ত্রুটি: %s"