From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Mohsen BANAN Newsgroups: gmane.emacs.devel Subject: Proposing Addition of a BIDI SubMenu to "Options" Date: Tue, 02 Aug 2011 20:37:57 -0700 Organization: ByStar Federation of Autonomous Libre Services -- http://www.by-star.net Message-ID: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1312342690 16779 80.91.229.12 (3 Aug 2011 03:38:10 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 3 Aug 2011 03:38:10 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Aug 03 05:38:06 2011 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1QoSHV-0005wY-ME for ged-emacs-devel@m.gmane.org; Wed, 03 Aug 2011 05:38:05 +0200 Original-Received: from localhost ([::1]:51876 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QoSHU-0004WJ-GT for ged-emacs-devel@m.gmane.org; Tue, 02 Aug 2011 23:38:04 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:40353) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QoSHS-0004V2-GO for emacs-devel@gnu.org; Tue, 02 Aug 2011 23:38:03 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QoSHR-0004Qf-Fc for emacs-devel@gnu.org; Tue, 02 Aug 2011 23:38:02 -0400 Original-Received: from 0016.bacs.by-star.net ([198.62.92.166]:50662) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1QoSHR-0004Qb-46 for emacs-devel@gnu.org; Tue, 02 Aug 2011 23:38:01 -0400 Original-Received: (qmail 10977 invoked from network); 2 Aug 2011 20:32:53 -0700 Original-Received: from 192.168.0.181 ([192.168.0.181]) by 0016.bacs.by-star.net ([198.62.92.166]) with ESMTP via TCP; 03 Aug 2011 03:32:53 -0000 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 198.62.92.166 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:142771 Archived-At: Particularly in the beginning (after release of emacs24), I think bidi users would want/need to change reordering and paragraph directionality often in various buffers. I think it is a good idea to make that easy for novice users who may not like (setq) very much. The code below is what I have been using to create a "BIDI" menu for Perso-Arabic BLEE users. (BLEE is ByStar's Emacs User Environment) I am proposing that something like this be added to the Options Menu -- Perhaps right after Mule. In addittion to English, I think it would be kool for the menu items to also be in Hebrew, Arabic and Persian. I have included starting point Persian text below. As a bidi user, I often use these. So, I really think something like this would be useful. If this is a worthwhile suggestion, how will we be making it happen? Thanks. ...Mohsen --- bystar-bidi-menu.el begins: --- ;;; ;;; (require 'easymenu) ;;; ;;; Global BIDI Menu ;;; ;; (blee:blee:menu) ;; (bystar:bidi-global:menu) (defun bystar:bidi-global:menu () (easy-menu-define=20 bidi-menu=20 nil=20 "Global BIDI Menu" '("Bi-Directional -- BIDI" "---" ["=D9=8A=DA=A9 =D8=B7=D8=B1=D9=81=D9=87 -- reordering off" bidi-displ= ay-reordering-off t] ["=D8=AF=D9=88 =D8=B7=D8=B1=D9=81=D9=87 -- reordering on" bidi-displa= y-reordering-on t] ["=DA=A9=D8=AF=D8=A7=D9=85 =D8=B7=D8=B1=D9=81=D8=9F -- current reord= ering show" bidi-display-reordering-show t] "---" ["=DA=86=D9=BE =D8=A8=D9=87 =D8=B1=D8=A7=D8=B3=D8=AA -- paragraph lef= t-to-right" bidi-paragraph-direction-left-to-right t] ["=D8=B1=D8=A7=D8=B3=D8=AA =D8=A8=D9=87 =DA=86=D9=BE -- paragraph rig= ht-to-left" bidi-paragraph-direction-right-to-left t] ["=D8=AE=D9=88=D8=AF=D8=A8=D9=87 =D8=AE=D9=88=D8=AF -- paragraph auto= -detect" bidi-paragraph-direction-auto-detect t] ["=DA=A9=D8=AF=D8=A7=D9=85 =D8=AC=D9=87=D8=AA=D8=9F -- current paragr= aph direction" bidi-paragraph-direction-current t] )) ) ;; (bidi-display-reordering-on) (defun bidi-display-reordering-on () (interactive) (setq bidi-display-reordering t) (recenter) ) ;; (bidi-display-reordering-off) (defun bidi-display-reordering-off () (interactive) (setq bidi-display-reordering nil) (recenter) ) ;; (bidi-display-reordering-show) (defun bidi-display-reordering-show () (interactive) (describe-variable 'bidi-display-reordering) ) ;; (bidi-paragraph-direction-right-to-left) (defun bidi-paragraph-direction-right-to-left () (interactive) (setq bidi-paragraph-direction 'right-to-left) (recenter) ) ;; (bidi-paragraph-direction-left-to-right) (defun bidi-paragraph-direction-left-to-right () (interactive) (setq bidi-paragraph-direction 'left-to-right) (recenter) ) ;; (bidi-paragraph-direction-auto-detect) (defun bidi-paragraph-direction-auto-detect () (interactive) (setq bidi-paragraph-direction nil) (recenter) ) ;; (bidi-paragraph-direction-current) (defun bidi-paragraph-direction-current () (interactive) (describe-variable 'bidi-paragraph-direction) ;;(current-bidi-paragraph-direction) ) (provide 'bystar-bidi-menu) --- bystar-bidi-menu.el ends: ---