unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* POLL: make C-x o transient
@ 2021-01-24  6:12 Zhiwei Chen
  2021-01-24 11:32 ` Kévin Le Gouguec
                   ` (6 more replies)
  0 siblings, 7 replies; 74+ messages in thread
From: Zhiwei Chen @ 2021-01-24  6:12 UTC (permalink / raw)
  To: emacs-devel; +Cc: condy0919@gmail.com, emacs-devel

[-- Attachment #1: Type: text/plain, Size: 849 bytes --]

Which will make `C-x o` invoke a transient version of `other-window' like `text-scale-adjust’ does.

What benefits from this change:
1. Fewer keystrokes for multi windows navigation
2. Reduce the probability of RSI
3. Able to navigate windows backwards

POC follows:

(defcustom transient-other-window nil)

(defun other-window-backward ()
  (interactive)
  (other-window -1))

(defun transient-other-window ()
  (interactive)
  (let ((echo-keystrokes nil))
    (other-window 1)
    (set-transient-map
     (let ((map (make-sparse-keymap)))
       (define-key map "o" #'other-window)
       (define-key map "O" #'other-window-backward)
       map)
     t)))

(if transient-other-window
    (global-set-key (kbd "C-x o") #'transient-other-window)
  (global-set-key (kbd "C-x o") #'other-window))

--
Zhiwei Chen



[-- Attachment #2: Type: text/html, Size: 2749 bytes --]

^ permalink raw reply	[flat|nested] 74+ messages in thread

end of thread, other threads:[~2021-02-09  6:05 UTC | newest]

Thread overview: 74+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-01-24  6:12 POLL: make C-x o transient Zhiwei Chen
2021-01-24 11:32 ` Kévin Le Gouguec
2021-01-24 14:40   ` andrés ramírez
2021-01-25  5:52 ` Richard Stallman
2021-01-25 12:21   ` Zhiwei Chen
2021-01-26  6:02     ` Richard Stallman
2021-01-25 14:39 ` Stefan Monnier
2021-01-25 15:30   ` aitor
2021-01-25 16:38     ` Philip K.
2021-01-25 17:23     ` Colin Baxter
2021-01-26  5:59     ` Richard Stallman
2021-01-26 10:44       ` Olivier Certner
2021-01-26 23:38         ` Sean Whitton
2021-01-27  6:51           ` Colin Baxter
2021-01-25 15:47   ` [External] : " Drew Adams
2021-01-25 17:01   ` Juri Linkov
2021-01-25 17:21     ` Omar Polo
2021-01-27 17:55     ` Juri Linkov
2021-01-28  7:46       ` Philip K.
2021-01-28  8:50         ` Juri Linkov
2021-01-28  9:40       ` martin rudalics
2021-01-28 18:43         ` Juri Linkov
2021-01-28 19:13           ` Gregory Heytings
2021-01-28 20:34             ` Kévin Le Gouguec
2021-01-28 21:27               ` Gregory Heytings
2021-01-28 21:58             ` Alan Mackenzie
2021-01-28 23:19               ` Philip K.
2021-01-29  0:03                 ` [External] : " Drew Adams
2021-01-29  2:43                   ` chad
2021-01-29 19:11                     ` Drew Adams
2021-01-30  5:58                     ` Richard Stallman
2021-02-01 19:50                       ` chad
2021-02-02 21:11                         ` Gregory Heytings
2021-02-05  5:48                           ` Richard Stallman
2021-02-05  8:37                             ` Gregory Heytings
2021-02-05  8:58                               ` Juri Linkov
2021-02-05  9:34                                 ` Gregory Heytings
2021-02-06 19:25                                   ` Juri Linkov
2021-02-06 20:27                                     ` Gregory Heytings
2021-02-06 21:30                                       ` Stefan Monnier
2021-02-06 23:22                                         ` Ergus via Emacs development discussions.
2021-02-07 18:54                                       ` Juri Linkov
2021-02-03  5:51                         ` [External] : " Richard Stallman
2021-02-03 20:38                           ` chad
2021-02-04  5:44                             ` Richard Stallman
2021-02-04 19:24                               ` chad
2021-01-29  7:54                   ` Gregory Heytings
2021-01-29 13:45                     ` Stefan Monnier
2021-01-29 16:56                       ` Óscar Fuentes
2021-01-29 19:12                       ` Drew Adams
2021-01-30 14:13                         ` Gregory Heytings
2021-01-30 20:47                           ` [External] : " Drew Adams
2021-01-31  1:06                             ` Gregory Heytings
2021-01-31 17:39                               ` Drew Adams
2021-01-31 23:12                                 ` Gregory Heytings
2021-01-31 23:53                                   ` [External] : " Drew Adams
2021-02-01  6:11                                   ` Richard Stallman
2021-01-30 14:13                       ` Gregory Heytings
2021-02-01 17:09               ` Yuan Fu
2021-01-29  2:38             ` chad
2021-01-29  8:44               ` Juri Linkov
2021-01-25 17:27   ` Jose E. Marchesi
2021-01-25 21:12 ` Sean Whitton
2021-01-27 21:46 ` Gregory Heytings
2021-01-31  7:06 ` Teemu Likonen
2021-01-31 17:32   ` [External] : " Drew Adams
2021-01-31 17:49     ` Alan Mackenzie
2021-01-31 18:37       ` Drew Adams
2021-01-31 18:10   ` Howard Melman
2021-02-01 17:21   ` Juri Linkov
2021-02-02 19:44     ` Sean Whitton
2021-02-03 17:20       ` Juri Linkov
2021-02-08  7:13 ` Jefferson Carpenter
2021-02-09  6:05   ` Richard Stallman

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).