From 5f80c1551640092204c02d510ad28764ead7f48c Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Fri, 1 Jun 2007 16:35:32 +0000 Subject: [PATCH] merge r7212-7239 from trunk --- openbox/client.c | 36 ++++- openbox/frame.c | 5 +- po/LINGUAS | 1 + po/bn_IN.po | 342 +++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 378 insertions(+), 6 deletions(-) create mode 100644 po/bn_IN.po diff --git a/openbox/client.c b/openbox/client.c index 5a6f443a..7f176553 100644 --- a/openbox/client.c +++ b/openbox/client.c @@ -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); diff --git a/openbox/frame.c b/openbox/frame.c index 58a51d5a..01356f3c 100644 --- a/openbox/frame.c +++ b/openbox/frame.c @@ -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); diff --git a/po/LINGUAS b/po/LINGUAS index f229b64f..58a9e8fd 100644 --- a/po/LINGUAS +++ b/po/LINGUAS @@ -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 index 00000000..c329b40e --- /dev/null +++ b/po/bn_IN.po @@ -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 , 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 \n" +"Language-Team: Bengali (India) \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" -- 2.34.1