profile
viewpoint

xahlee/lookup-word-on-internet 14

emacs package to jump to lang function doc or Wikipedia or Google or word definition.

xahlee/xah-css-mode 10

emacs major mode for css

xahlee/count_lang_chars 5

find out which char is used more frequently in what lang

xahlee/vmmjs 3

virtual math museum in JavaScript

xahlee/emacs-chats 2

Getting to know people who use Emacs

xahlee/emacs-web-server 1

Extensible Emacs HTTP 1.1 server

xahlee/emacsql 1

A high-level Emacs Lisp RDBMS front-end

xahlee/ergoemacs 1

Automatically exported from code.google.com/p/ergoemacs

xahlee/linum-off 1

Provides an interface for turning line-numbering off

push eventxahlee/xah_emacs_init

Xah Lee

commit sha f38315789aa8c40e37e377d3fb7a874bcd5ad8e2

uhmm

view details

push time in 12 hours

CommitCommentEvent

push eventxahlee/xah-fly-keys

Xah Lee

commit sha ee36f41a9754a0a489d282d6f58587b10f6b8d57

fixed keys delete-other-windows, delete-window from last commit. delete-other-windows is 3, delete-window is space 3

view details

push time in 17 hours

push eventxahlee/xah-fly-keys

Xah Lee

commit sha d74eac6309f9ac0a5a1963891c479bc0bbaade70

fixed 【space 3】 from delete-other-windows to delete-window

view details

push time in 4 days

push eventxahlee/xah-html-mode.el

Xah Lee

commit sha aebc84baab9375148bab9f0b24934e967e2743bc

changed the class name for xah-html-wikipedia-url-linkify

view details

push time in 6 days

push eventxahlee/xah_emacs_init

Xah Lee

commit sha ebfa1338cd53ce2bc52b3c0fe665409001199f15

ban all formfeed char by ;; HHH_____________

view details

push time in 7 days

push eventxahlee/xah-css-mode

Xah Lee

commit sha 98e550db52865d6de141d5bbb85f8b4e68b56b39

added value keyword “anywhere”

view details

push time in 8 days

push eventxahlee/xah-fly-keys

Xah Lee

commit sha fd31ab5686cfe833763d20b8ab4b6e57b1349ed4

xah-quote-lines now add comma to last line. xah-toggle-letter-case now also do greek etc.

view details

push time in 9 days

push eventxahlee/xah_emacs_init

Xah Lee

commit sha c1ed1b82e9dea084e4f24a332142ca4ef05e8c1e

worry

view details

push time in 10 days

push eventxahlee/xah-fly-keys

Xah Lee

commit sha 2f06e1c83b097ed436f7fd12490f540f6ad6e6e1

fixed date in comment

view details

Xah Lee

commit sha 9d04f74b05094a898bf2ed7e4c76dbbac420ffae

now delete-other-windows is 3 and delete-window is space 3. swapped. They were like this, and is more efficient. i don't remember why i swapped them. possibley because delete-window is a repeatable command thus better with single key, but, delete-other-windows is far more frequently used.

view details

push time in 10 days

push eventxahlee/xah_emacs_init

Xah Lee

commit sha 5dc394b3a82427991ba48f9a9a9133c3a7f5ff85

endless fuzz

view details

push time in 12 days

push eventxahlee/xah-html-mode.el

Xah Lee

commit sha c58d7da36380f51092dacc727f6f208a4d16cfc8

xah-html-htmlize-keyboard-shortcut-notation now ⌘ ⌥ are back

view details

push time in 16 days

push eventxahlee/xah_emacs_init

Xah Lee

commit sha 01992a16c1e498f8120baae5b365d437e274da2c

spam github with code

view details

push time in 17 days

push eventxahlee/xah-html-mode.el

Xah Lee

commit sha a10f1caff064bf4896a11819fb4fbbc5c43f21fa

rewrote xah-html-remove-wikipedia-link, xah-html-remove-all-wikipedia-link

view details

push time in 17 days

push eventxahlee/xah_emacs_init

Xah Lee

commit sha b58320af0672271e3204acf8db38ffe679f7fdb3

omg fire

view details

push time in 18 days

push eventxahlee/xah_emacs_init

Xah Lee

commit sha 49df5ebc3fb5e76b83e47421fe0edeabac9ec78d

significance

view details

push time in 19 days

push eventxahlee/xah-insert-random-id.el

Xah Lee

commit sha 0aff3eb67526ab6892abb030730972ea3340426f

corrected minor docstring grammar

view details

push time in a month

push eventxahlee/xah-insert-random-id.el

Xah Lee

commit sha 5a5678de9fe08ca1528ea1e5543d145076cf7011

more better xah-insert-random-uuid

view details

push time in a month

push eventxahlee/xah-insert-random-id.el

Xah Lee

commit sha aa83d30f8f880837ed86a01963745525c638dd82

removed old xah-insert-random-uuid in prev commit.

view details

Xah Lee

commit sha 0072771681019c6bfad4a7b2b033270d93e825ca

updated version stamp

view details

push time in a month

push eventxahlee/xah-insert-random-id.el

Xah Lee

commit sha 7e875493a41206beae4384e2d77a0fc284bf4a8b

xah-insert-random-uuid now call shell command. slight rewrite other commands.

view details

push time in a month

push eventxahlee/xah_emacs_init

Xah Lee

commit sha 870e8e9014888435521b60a37c2c0e612bc92049

my hand is faaked. end of career.

view details

push time in a month

push eventxahlee/xah-html-mode.el

Xah Lee

commit sha 90665eb0e5301dd36b70eeab1834285bd099570f

removed non-breaking-whitespace in key notation in xah-html-htmlize-keyboard-shortcut-notation, and browse-url-of-buffer is now xah-html-browse-url-of-buffer

view details

push time in a month

PR closed xahlee/xah-fly-keys

Replace nested if's and when's with cond's; shorten one funcall

Nested ifs and whens is certainly not a good style.

+40 -42

2 comments

1 changed file

akater

pr closed time in a month

pull request commentxahlee/xah-fly-keys

Replace nested if's and when's with cond's; shorten one funcall

sorry have to reject.

akater

comment created time in a month

pull request commentxahlee/xah-fly-keys

Replace nested if's and when's with cond's; shorten one funcall

thanks for the code. I'd prefer nested if, because they are binary tree logic. Unless the tree is one sided (like all if is on the tail), i'd think condition is better.

akater

comment created time in a month

push eventxahlee/xah_emacs_init

Xah Lee

commit sha bc12b1ea18829d05186d779025389c1ecad4ee6f

pain

view details

push time in a month

push eventxahlee/xah_emacs_init

Xah Lee

commit sha 4e61e6f0c3950bb235f2fd287d547447fb5794f0

pain

view details

push time in a month

pull request commentxahlee/xah-fly-keys

Integration mechanism for other major modes

not sure about this. seems to me, it adds one complexity to the whole system and doesn't do much. also, it requires a easy key spot for this to have reasonable power but keyspots are already rare. For example, a keyspot can be used as a leader key to invoke current major mode commands, always. (my forward del key does this. but i also need to custom change major mode keys, so there's no C-c C-key stuff.)

wi11dey

comment created time in a month

push eventxahlee/xah_emacs_init

Xah Lee

commit sha e63027db240746cd0a1a4a4fe11a88c77ec01a52

work

view details

push time in a month

push eventxahlee/xah_emacs_init

Xah Lee

commit sha 126a412277832452ce24c07a2cadb8e22a98a745

good boy, good boy

view details

push time in a month

push eventxahlee/xah_emacs_init

Xah Lee

commit sha 9990528d94c42f8b8fc1e60e43d993d922ee184a

mod world

view details

push time in 2 months

push eventxahlee/xah_emacs_init

Xah Lee

commit sha ebbe92d074357590666a89c542b3b1e753375ef7

human relations

view details

push time in 2 months

push eventxahlee/xah_emacs_init

Xah Lee

commit sha 24093b40cfd944979ade5e2f9ae36fae6264a07b

reformat code

view details

push time in 2 months

push eventxahlee/xah_emacs_init

Xah Lee

commit sha 47ce332e44454c8492caaf7d5988ccada8008a2a

xah-move-image-file

view details

Xah Lee

commit sha 9111e142e916784d89e768f2c799ff0ebafee53b

stuff

view details

push time in 2 months

push eventxahlee/xah-js-mode.el

Xah Lee

commit sha 8cc61e6c7c8bd4bc613749de6edc40c30d087dd0

added coloring for writable

view details

push time in 2 months

push eventxahlee/xah_emacs_init

Xah Lee

commit sha dc26c1e968e3f5050c10a165241e12cfa0481da4

betterment

view details

push time in 2 months

push eventxahlee/xah-js-mode.el

Xah Lee

commit sha 2986d7d4c1301bdb5322627561fc13dddce12d8d

minor template change

view details

push time in 2 months

push eventxahlee/xah_emacs_init

Xah Lee

commit sha 5d5e8b480920d08c3850d68f70a544379baaa081

on the road 🛤 of AI 🤖 age, cometh the Wuhan 🇨🇳 bat 🦇 death 💀, U.S. 🇺🇸 raging bull 🐂 gallops, to one mega leaps of faith 🙏.

view details

push time in 2 months

push eventxahlee/xah-fly-keys

Xah Lee

commit sha 17319a5e5514a61564c7314cb65b7d825ca0bb0f

added support for 'qwerty-no (qwerty Norwegian), thanks to dxlr8r

view details

push time in 2 months

push eventxahlee/xah-fly-keys

Simen Strange Øya

commit sha c663a1f60e9ac4dcde2f7f51cadfd2be9831225f

added support for qwerty-no

view details

Simen Strange Øya

commit sha 2a76c408b288d73d92f157878da6a29d879be062

added support for qwerty-no

view details

Xah Lee

commit sha 455ddc04ff8f68c10337092506631f98dbfce360

Merge pull request #95 from dxlr8r/master add support for qwerty-no

view details

push time in 2 months

PR merged xahlee/xah-fly-keys

add support for qwerty-no

Simple copy paste of xah--dvorak-to-qwerty-kmap with small changes to allow for qwerty-no

+38 -0

0 comment

1 changed file

dxlr8r

pr closed time in 2 months

push eventxahlee/xah-fly-keys

Will Dey

commit sha 2594e560f16030b3c50c90b6d107af90a00c3822

Re-add M-SPC binding Realized I had forgotten to add back the meta key using the new `xah-fly--define-keys`; added it back now

view details

Xah Lee

commit sha 3e5368ec13cc92e2e0ceedc8efcfd0504f1237bb

Merge pull request #94 from wi11dey/re-add-m-spc Re-add M-SPC binding

view details

push time in 2 months

PR merged xahlee/xah-fly-keys

Re-add M-SPC binding

Realized I had forgotten to add back the meta key using the new xah-fly--define-keys; added it back now

+6 -0

0 comment

1 changed file

wi11dey

pr closed time in 2 months

push eventxahlee/xah-fly-keys

Will Dey

commit sha af8775a6c9d1a67b14ecfd4b015922bb9647adff

Put bindings made before xfk is enabled in shared map In the discord @dxlr8r was expecting the binding he made before enabling xfk to be available in both insert and command modes, which seems like the intuitive behavior, so I've updated the code to put such bindings in the shared map

view details

Xah Lee

commit sha 9b0a4277ee6fcbca0ed0b6530826dd821d69e9ec

Merge pull request #93 from wi11dey/patch-1 Put bindings made before xfk is enabled in shared map

view details

push time in 2 months

PR merged xahlee/xah-fly-keys

Put bindings made before xfk is enabled in shared map

In the discord dxlr8r was expecting the binding he made before enabling xfk to be available in both insert and command modes, which seems like the intuitive behavior, so I've updated the code to put such bindings in the shared map

+2 -2

0 comment

1 changed file

wi11dey

pr closed time in 2 months

push eventxahlee/xah_emacs_init

Xah Lee

commit sha 443e8bd6aa1b7650382b8d46c6df1e94dba286e8

bat death vs democracy

view details

push time in 2 months

push eventxahlee/xah-fly-keys

Xah Lee

commit sha b0d87ab312a51ab8484deb8994e4effb3112d516

removed xah-fly-use-esc-c-g. because: • customize-group on it does not work. require restart. • esc is not in a good position on normal PC. • When in terminal, esc is critical for Meta, when the terminal does not have proper setup for meta key.

view details

push time in 2 months

issue openedxahlee/xah-fly-keys

maybe remove xah-fly-use-esc-c-g

hi @wi11dey , i think i like to remove xah-fly-use-esc-c-g. because:

1 customize-group on it does not work. require restart. 2 esc is not in a bad position on normal PC. 3 When in terminal, esc is critical for Meta, when the terminal does not have proper setup for meta key. 4 possible, but not likely, i'd originally like esc to be HOME, as the default key to switch to command mode. But because esc is in bad position, and critical in emacs run in terminal, so i haven't done so. 5 esc as C-g does not work 100% of the time.

i the reasons above may be lame. But i feel it's better that way. Am gonna do a commit. but if you feel otherwise, please let me know!

created time in 2 months

push eventxahlee/xah_emacs_init

Xah Lee

commit sha a47274856ccff0f1a9763336b67e30153b5f788b

Library of Congress has a copy of your twitter posts

view details

push time in 2 months

issue closedxahlee/xah-fly-keys

xah-fly-use-esc-c-g does not work

@wi11dey do you know why xah-fly-use-esc-c-g does not seem to work? however, if i set it to nil, but in my init file after loading xah fly keys, i have

(define-key key-translation-map (kbd "ESC") (kbd "C-g"))
(define-key key-translation-map (kbd "<escape>") (kbd "C-g"))

then it works. i haven't looked into why. i remember i tried to put in xah fly keys before and didn't work. maybe it needs to be loaded near the bottom, or, if xfk needs to be activated first...

closed time in 2 months

xahlee

issue commentxahlee/xah-fly-keys

xah-fly-use-esc-c-g does not work

you are right. it needs to be set before loading xfk. doh, am getting old. thx.

xahlee

comment created time in 2 months

push eventxahlee/xah_emacs_init

Xah Lee

commit sha c763e8c15ba86ec6b8fd2f8f6230df0866ec79ab

wake, i see zombie death

view details

push time in 2 months

issue openedxahlee/xah-fly-keys

xah-fly-use-esc-c-g does not work

@wi11dey the xah-fly-use-esc-c-g does not seem to work? however, if i set it to nil, but in my init file after loading xah fly keys, i have (define-key key-translation-map (kbd "ESC") (kbd "C-g")) (define-key key-translation-map (kbd "<escape>") (kbd "C-g")) then it works. i haven't looked into why. i remember i tried to put in xah fly keys before and didn't work.

created time in 2 months

push eventxahlee/xah-fly-keys

Xah Lee

commit sha d50c2d756d001098f72c9ba5ccddce3271098567

removed redundant 【space u】 for isearch-forward. in command mode, just press n. Now 【space u】 is xah-close-current-buffer. Remove 【space k j】 for xah-close-current-buffer. All qwerty notation in this log.

view details

push time in 2 months

push eventxahlee/xahscripts

Xah Lee

commit sha bfed12768d3fe3e3ef52fe694d275677327f82a1

wake, i see zombie death

view details

push time in 2 months

push eventxahlee/xah-js-mode.el

Xah Lee

commit sha ef2948620f4861900553ae54bf4f97f722ad47d5

modified a abbrev

view details

push time in 2 months

push eventxahlee/lookup-word-on-internet

Xah Lee

commit sha c97a43dc0cebbfc519d0cce5b547dcc5e22b2085

updated some url to https

view details

push time in 2 months

push eventxahlee/lookup-word-on-internet

GrinDeg

commit sha 07fc880d3aa36f2a673784cc30667d1155fe6b7e

Fixed wiktionary url There was wikipedia url instead

view details

Xah Lee

commit sha f9a914723bb781dfbafd2539fc9833b7ef3b6962

Merge pull request #2 from GrinDeg/patch-1 Fixed wiktionary url

view details

push time in 2 months

PR merged xahlee/lookup-word-on-internet

Fixed wiktionary url

There was wikipedia url instead

+1 -1

0 comment

1 changed file

GrinDeg

pr closed time in 2 months

push eventxahlee/xah_emacs_init

Xah Lee

commit sha f21270da9949d08d0668b5e34bca84bfd472da6f

i goto fridge make sandwich , opened the door and saw virus, six feet backing off dreariness , into the chaos of bat death

view details

push time in 3 months

push eventxahlee/xah-fly-keys

Xah Lee

commit sha 63aa1d2cff560cad4fb4d6b53da02d4f404b9ef9

change indentation tab to spaces

view details

push time in 3 months

push eventxahlee/xah-fly-keys

Will Dey

commit sha 7da3bcb3ea71d2ce831779bdcfb209f32c5d72c2

Some doc on what (cons 'keymap xah-fly-shared-map) means

view details

Will Dey

commit sha 89a504b4984b86add644fabbfe622d5c870b057a

Permanent recursive-load fix

view details

Xah Lee

commit sha 4db50a89e6bba13b0b7b1df1b6fd5bcef3be4fb9

Merge pull request #90 from wi11dey/master Permanent recursive-load fix

view details

push time in 3 months

PR merged xahlee/xah-fly-keys

Permanent recursive-load fix

Hey Xah,

Saw your notes in your blog and think I figured out why the recursive-load was happening: because of the way the Customize interface works, it tries to use the setter (same as the custom-set property) to set the default value. However, the setter is xah-fly-keys-set-layout, which reloads the file to update the keybindings to the new layout. Loading the file again calls the setter again which reloads the file, etc which causes the recursive load.

I've fixed this by not making the Customize interface dependent on xah-fly-keys-set-layout and only have it reload the file if it was already loaded and the new value is different than the old one. Otherwise, the bindings will not be updated to use the new layout when people set the layout through Customize. (Also removed the extra quote I added for the Customize choices)

xah-fly-keys-set-layout just calls the same function that Customize would have, for people who don’t like the Customize interface or just want to do it lisp-only. The widget-prompt-value just asks the human-friendly names for the keyboard layouts during completion, but it will never be called for users who don’t call xah-fly-keys-set-layout interactively.

Note: doing (setq xah-fly-key-current-layout 'qwerty) before it is loaded is the same as calling xah-fly-keys-set-layout after it is loaded, and will speed up your init slightly since the file will only be loaded once.


As for the isearch: I think your solution with the isearch hooks is a good one, since isearch only tries to be careful if a transient map is started during isearch, but it replaces any maps that were there before it. This is bad behavior on the part of isearch (and I might try to make a change to upstream Emacs to convert it to set-transient-keymap too :smile:), but for now it is ok to use the hooks since isearch is an exception to how modes should interact.

+25 -19

0 comment

1 changed file

wi11dey

pr closed time in 3 months

push eventxahlee/xah-fly-keys

Xah Lee

commit sha 7b74281f0b6809d57a8169b64e100d55d717c848

fixed link in readme.

view details

push time in 3 months

push eventxahlee/xah-fly-keys

Xah Lee

commit sha 7a4708af08c4b23ce19512faa047ba097f1d99fe

minor update readme. added link to contributors.

view details

push time in 3 months

push eventxahlee/xah-fly-keys

Xah Lee

commit sha 5862335f315e3676e32776588aa064e5db0d2fdc

removed the svg layout diagrams. you can get them at http://ergoemacs.org/misc/ergoemacs_vi_mode.html in the html source code.

view details

push time in 3 months

issue closedxahlee/xah-fly-keys

Force insert mode in all magit buffers

Hi! Love xah-fly-keys!

Using with magit is very tough. One has to activate insert mode in every new popup buffer. One way to fix would be to force insert mode for all magit buffers...

closed time in 3 months

pierwill

issue commentxahlee/xah-fly-keys

Force insert mode in all magit buffers

fixed by @DanLanglois and @wi11dey commit #89

pierwill

comment created time in 3 months

issue closedxahlee/xah-fly-keys

Refactoring to use multiple minor-mode keymaps

[https://github.com/DanLanglois/xah-fly-keys/blob/master/xah-fly-keys.el]

Note for Xah Lee -- the basic way that xah-fly-keys currently is implemented, is that it creates a minor mode, and uses one keymap, and changes from 'insert' to 'command' mode by doing a bunch of changes to that mutable keymap, every time the user switches modes.

Your nit was that it's workable, though it seems like there is a better way. Why not just store two keymaps in memory, and switch between them?

Indeed, there is this variable (provided by emacs), 'emulation-mode-map-alists', which holds a list of keymap alists to use for emulation modes. It is intended for modes or packages using multiple minor-mode keymaps. Such as our 'control mode' vs. 'insert mode' issue, where you want to swap between two keymaps, a 'control' keymap and an 'insert' keymap.

I've forked 'xah-fly-keys' and changed xah-fly-keys.el, with some stuff like this:


  (setq xah-fly-insert-state nil)
  (setq xah-fly-command-state t)

(defconst xah-fly--states
  '(xah-fly-command-state
    xah-fly-insert-state))   

(defvar xah-fly-mode-map-alist
  (list
   (cons 'xah-fly-command-state xah-fly-manage-command-mode-map)
   (cons 'xah-fly-insert-state xah-fly-manage-insert-mode-map)))  
	
  (setq _emulation-mode-map-alists_
        (cons xah-fly-mode-map-alist _emulation-mode-map-alists_))	

I didn't think I'd get it working while it was raining outside, but it tests successfullly. I've commented out your mutable xah-fly-key-map, and am switching between two immutable keymaps instead: xah-fly-manage-insert-mode-map and xah-fly-manage-command-mode-map.

It's kind of in a 'scratch buffer' state, in terms of code formatting. So I am shy, but heck I'll wrap it up with a pull request..

closed time in 3 months

DanLanglois

issue commentxahlee/xah-fly-keys

Refactoring to use multiple minor-mode keymaps

fixed by @DanLanglois and @wi11dey commit #89

DanLanglois

comment created time in 3 months

issue closedxahlee/xah-fly-keys

(require 'xah-fly-keys) shouldn't enable xah-fly-keys

I followed the manual install instructions and had this in my .emacs:

(require 'xah-fly-keys)
(xah-fly-keys-set-layout "qwerty")
(xah-fly-keys 1)

Then I ran eval-last-sexp on (require 'xah-fly-keys) and had a broken Emacs. The mode seemed to be partially enabled:

  1. I saw "flykeys" in the mode line
  2. I did not see the leading C or I indicating modality
  3. I was in fact in command mode, with Dvorak keys bound. I use Qwerty.

The elisp coding conventions request that

Simply loading a package should not change Emacs's editing behavior

See https://www.gnu.org/software/emacs/manual/html_node/elisp/Coding-Conventions.html

I found it pretty confusing. It'd be great if the package didn't do this.

closed time in 3 months

matta

issue commentxahlee/xah-fly-keys

(require 'xah-fly-keys) shouldn't enable xah-fly-keys

fixed by @DanLanglois and @wi11dey commit #89

matta

comment created time in 3 months

issue closedxahlee/xah-fly-keys

The mode does not turn off

When I switch the mode off with xah-fly-keys-off function it turns back on each time I use minibuffer. I suppose all hooks should be canceled within this function.

closed time in 3 months

stasvlasov

issue commentxahlee/xah-fly-keys

The mode does not turn off

fixed by DanLanglois and wi11dey commit #89

stasvlasov

comment created time in 3 months

issue closedxahlee/xah-fly-keys

Merging DanLanglois code

Thanks for writing these keybindings.

I looked over the Dan Langlois code and it makes maintenance and customization quite a bit easier because of the separate keymaps. It is also faster because every change between command/insert mode only changes one variable rather than redefining all the keys in xah-fly-map every time.

The only problem I see with it right now is it breaks existing customizations. However, with composed keymaps, I can write an implementation that keeps code that modifies xah-fly-map in activation hooks working.

Are there any other reasons you are waiting on merging Dan's code @xahlee ? If not, I can help you merge and test in a backward-compatible way. Let me know your thoughts

closed time in 3 months

wi11dey

push eventxahlee/xah-fly-keys

Xah Lee

commit sha d4b3c2428035cb93f2b6288739afd56a7ddcc0a7

fixed the new layout diagram in README

view details

push time in 3 months

push eventxahlee/xah-fly-keys

Xah Lee

commit sha eb1a306cc0e917bf0041bedad71faa1aa545d5e6

new layout diagrams

view details

push time in 3 months

push eventxahlee/xah-fly-keys

Xah Lee

commit sha 5570b8f66de2a8019cac74359011f8957bbd2ce8

new layout diagrams in README file

view details

push time in 3 months

push eventxahlee/xah-fly-keys

Xah Lee

commit sha 1046bb1902a4939cec3769b8e18b9a0d327c4816

renamed xah-select-M-x to xah-fly-M-x

view details

push time in 3 months

push eventxahlee/xah-fly-keys

Xah Lee

commit sha c31773ab4ebed95f28bc21bdad7779ee72e0973b

better doc for xah-fly--define-keys and xah-fly--key-char

view details

push time in 3 months

push eventxahlee/xah-fly-keys

Xah Lee

commit sha 3c404419bb889e26b9d3206bb590416a81ed0030

Fixed recursive loading error when setting a layout, and fixed exit isearch error that stays in insert mode. Updated the readme, temporarily.

view details

push time in 3 months

pull request commentxahlee/xah-fly-keys

Separate keymaps and some cleanup (including merging DanLanglois code)

am working thru the code. Big thank you for the work. I also need to change my page about customization and how the mode works. Will add credit to my main page when done. Thanks.

wi11dey

comment created time in 3 months

push eventxahlee/xah-fly-keys

Xah Lee

commit sha e668ef2e07f96c2d2487f308195c482ef9f36528

Major engine rewrite, by Dan Langlois and Will Dey (wi11dey). Thank you! Major work. There's still some minor glitches. And the doc on my site (for customization etc) needs to be updated. I (xah lee) am going thru them and the code. In the mean time, the older version is at xah-fly-keys_old_2020-04-18.el for backup and archive purposes.

view details

push time in 3 months

pull request commentxahlee/xah-fly-keys

Separate keymaps and some cleanup (including merging DanLanglois code)

the recursive load error is due to

(xah-fly-keys-set-layout "dvorak")

in

;; (add-to-list 'load-path "~/git/xah-fly-keys/") ;; (require 'xah-fly-keys) ;; (xah-fly-keys-set-layout "dvorak") ;; (xah-fly-keys 1)

wi11dey

comment created time in 3 months

pull request commentxahlee/xah-fly-keys

Separate keymaps and some cleanup (including merging DanLanglois code)

another problem now is, after existing isearch, it becomes insert mode, yet the cursor isn't changed to i beam. (sorry am just writing out my stream of conscious now. partly for my own log of things to fix.)

wi11dey

comment created time in 3 months

pull request commentxahlee/xah-fly-keys

Separate keymaps and some cleanup (including merging DanLanglois code)

hi, could you join my discord for some discussion? (xah lee discord, just search for it) am getting recursive load error. but i eval'd it and it seems works fine except some glitches.

wi11dey

comment created time in 3 months

push eventxahlee/xah-fly-keys

Will Dey

commit sha bdfb82b9f5137fa49d84e8afc2ad18055296f905

Rebased squashed commit of the following (DanLanglois code): commit 77f89eb6ee2ade365b17b33ac2e39b6b8cd5e43d Author: DanLanglois <DanLanglois@yahoo.com> Date: Wed Mar 20 03:37:00 2019 -0700 made a globalized minor mode I reference my notes on my previous commit -- about trying to write a global minor mode. I want to understand exactly how, for example, define-minor-mode is a macro. And there is a difference between a minor-mode, and a globalized minor mode. Previously, xah-fly-keys was using the 'regular' (local) minor mode. I'd like to use the globalized minor mode, and have made that change. I think it does work perfectly, but still, it didn't necessarily have to be changed. Is there a 'right way'? A kind of complicated question (at least for me). I don't know exactly what one will want, if there are changes in behavior because I have configured a globalized minor mode that I use everywhere (it has a high precedence). I am sure something will come up, but in the meantime, I have concentrated on testing how you can interactively turn xah-fly-keys on and off, using 'xah-fly-keys-mode-on', and 'xah-fly-keys-mode-off'. It seems to work perfectly for me. I have actually changed the way the minibuffer is handled, too. It does not have an 'insert' or 'command' mode. Previous behavior of xah-fly-keys was to put the minibuffer in 'insert' mode, but I'm just not enabling 'xah-fly-keys' for the minibuffer at all. This helps with cleanly turning xah-fly-keys on and off cleanly, and updating the minibuffer cleanly as to what mode we are in, 'command' or 'insert'. The minibuffer itself is not in either mode. This is an 'obvious' change, I think, in retrospect. Logical. Also, it proves that I can proceed to include logic to decide whether xah-fly-keys should be enabled for different major modes. commit dd79cf6781813aeb3f076588b594444a93a7a781 Author: DanLanglois <DanLanglois@yahoo.com> Date: Wed Mar 20 02:10:44 2019 -0700 updated to turn off those I/C hints if 'mode off' My previous commit said 'status: working'. A large claim. I add a further commit here, because I see this: 'the modeline still has I/C hints' if you disable the xah-fly-keys-mode. Therefore, I have included just a line to turn off those I/C hints. More generally, see the whole state of the past discussion about 'why it's not turning off', and when/if the mode should turn off automatically. I have made changes here. The whole issue of 'fixing the mode on/off...' has a few aspects. In other words, how to 'turn xfk on/off properly'. I am currently happy but I've made multiple changes related to this one issue, and it may well be that something in the new behavior is a surprise. If we just step back and list what we want, we want to turn the mode on and off cleanly. No error messages, no incorrect minibuffer messages. I have to admit I've made multiple changes here.. one may well debate some decisions. One change that I experimented with, but will only mention, is that a globalized minor mode is a global minor mode that is created from an existing (non-global) minor mode. This idea caught my attention. Vaguely, my impression is that if something is not a global minor mode, then it needs to be enabled on a per-buffer basis. If you *genuinely* want it to be global, everywhere, you can easily define a global minor mode yourself. It's simple, I mean, there is this idea of a global minor mode. And if this is a good approach, then this is because you can toggle it on and off globally. Just something that I came across, but it wasn't being used and I haven't added it. commit 158fabf5535e45a73d06e11bfbecba84303b7c03 Author: DanLanglois <DanLanglois@yahoo.com> Date: Mon Mar 18 04:16:31 2019 -0700 status -- working debugged re: issues mentioned in last commit. I titled that commit like this: 'there is a subtle issue local vs. global state', and said 'if I enter the minibuffer interactively, things go into 'insert' mode'. Probably shouldn't be a 'global' state'..' etc. What I have done, is incorporated used of 'make-local-variable' command, to manipulate the command and insert keymaps to be associated with local buffers. This means that when you interactively go into the minibuffer, you can cleanly return to the buffer you were in, and it's still in the 'command' or 'insert' state that it was in. commit 46e84cf657fbf070c60066d5a159a0f35cc893ee Author: DanLanglois <DanLanglois@yahoo.com> Date: Sun Mar 17 22:48:25 2019 -0700 there is a subtle issue local vs. global state if I switch from 'insert' mode to 'command' mode, and vice versa, things seem to be working. But if I enter the minibuffer interactively, things go into 'insert' mode'. Probably shouldn't be a 'global' state', of being in 'insert' or 'command' mode, and shouldn't switch just because I go into the minibuffer interatively (which is always in 'insert' mode, but shouldn't affect mode of other buffers). This isn't quite perfect. The specific issue that I notice is if I am in 'command' mode, and then co into the minibuffer interatively. This switches me to 'insert' mode. Then I leave the minibuffer. I seem to revert to 'command' mode, which is correct, but the modeline isn't updated to 'command' mode flag. This is subtle, the description of the issue is confusing here -- it seems like the keybindings of 'insert' mode and 'command' mode are always correct, but the mode is not correct about what mode I am in. Reproduce by going into 'command' mode, and then going into the minibuffer interactively, by hitting 'M-x', and then just going 'C-g' to exit the minibuffer again. This puts me in command mode, but the modeline incorrectly shows me as being in 'insert' mode. commit 0aef21f13f13a0847f1c0d2b94df3ccb701f4104 Author: DanLanglois <DanLanglois@yahoo.com> Date: Fri Mar 15 03:13:15 2019 -0700 fix for 'The mode does not turn off #18' https://github.com/xahlee/xah-fly-keys/issues/18 commit 39449415f46c84ee2b2bad1b3f8431c25288d564 Author: DanLanglois <DanLanglois@yahoo.com> Date: Thu Mar 14 16:19:05 2019 -0700 turning xah-fly-keys off I have rolled back little changes of today, trying to get this 'turn off' functionality working. I don't think it ever quite worked, I just hadn't noticed what happens when you turn off. The mode line doesn't go back to 'normal', etc. Subtle, weird. It's currently working as it ever was, I think, which is wrong, I think, doesn't cleanly turn off. Notice the 'C' and the 'I' in the modeline, there is no code to make it disappear if you turn the minor mode off. Also some hooks may still be there? commit c76daaaa332af7e143c88f5a4c027b709dfe50e6 Author: DanLanglois <DanLanglois@yahoo.com> Date: Thu Mar 14 15:19:22 2019 -0700 "Turn off xah-fly-keys minor mode." (setq xah-fly-key-map nil) (setq xah-fly-manage-command-mode-map nil) (setq xah-fly-manage-insert-mode-map nil) commit 1168a87384f5a631596fda3db6c87f3cc9ae95a7 Author: DanLanglois <DanLanglois@yahoo.com> Date: Thu Mar 14 14:09:48 2019 -0700 added new keymaps to 'xah-fly-keys-off-off' Turn off xah-fly-keys minor mode, must delete the new keymaps too. commit 2a7d1fb55b16f4038f6a93a0787227e9f4215d7b Author: DanLanglois <DanLanglois@yahoo.com> Date: Sun Mar 10 10:57:47 2019 -0700 my added windows-ace dependency-- add/removed it I've removed ace-window so as not to introduce a dependency. commit 1c2393c01b2678ea7a62fa2ea287d342ac807b89 Author: DanLanglois <DanLanglois@yahoo.com> Date: Sat Mar 9 05:25:11 2019 -0800 SPC h is , basically,help?-- calling it 'help' I notice that SPC h is , basically,help. But the function call is 'xah-fly-h-keymap', which is what comes up in the minibuffer. I've changed this to 'help'. There are a number of other similar changes that can be contemplated. My guess is that indeed, these function have names that are just temporary placeholders. The idea would be to use some organizing principles for superficial discoverability. Yet I don't think I can discern the patters of 'xah-fly-w-keymap, and 'xah-fly-n-keymap', and so forth. xah-fly-w-keymap and then a 'p', for example, is eval-expression. So, SPC-w-p is eval-expression. While SPC-w-w is 'delete frame'. I don't see what these have to do with each other, or what they have to do with 'w'. I am not, I suppose, mincing words, here, but is this supposed to make some sort of sense? Does it seem important to hot-key 'delete frame' at all? Maybe, but less, do I need to be able to hot-key 'eval expression'. Also, goto-line is SPC-t-f. It so happens I was just looking at avi line, and there is also an avi word, avi-pop-mark, avi-timer, avi-goto-url. So I think of grouping them together, mapping them to a leader prefix. Somewhere. I don't mean to be peremptory, here, or at least, not brusquely imperious. I'm just sharing the thinking rattling around in my head.. commit 35dec47c5756f393b8cb16d6b9a13d542273a9b1 Author: DanLanglois <DanLanglois@yahoo.com> Date: Sat Mar 9 00:50:09 2019 -0800 typo/buxfix now using my new xah-fly--define-keys-for-local-keyboard-layout function, but it needs to be in two places, both command and insert keymaps. Just, it has to be in the right places. Also I simply have now stripped out (commented out) old 'xah-fly-key-map' stuff. commit 856893dc2e38b247462891f3ee5521846dda768c Author: DanLanglois <DanLanglois@yahoo.com> Date: Fri Mar 8 09:20:43 2019 -0800 solution for mnemonics bug keyboard layout localization was too aggresive, breaking leader and prefix mnemonics. Such that for example, xha-fly-w-keymap was SPC-, bug fixed, tested working. commit ca6640a508889ba370e776df160e26f32c5f5f32 Author: DanLanglois <DanLanglois@yahoo.com> Date: Thu Mar 7 01:44:46 2019 -0800 stripped out reformatting commit 7bcf2397be4a6a473379809aa8484a92fb762b2c Author: DanLanglois <DanLanglois@yahoo.com> Date: Thu Mar 7 00:59:31 2019 -0800 formatted A fair bit longer due to whitespace added, etc. commit 71e61380ee35ef484035a5e3f21580784002b1fc Author: DanLanglois <DanLanglois@yahoo.com> Date: Wed Mar 6 23:37:25 2019 -0800 Update xah-fly-keys.el fixed bug with 'a' key in insert mode was calling 'helm'. Thus this functionality is currently stripped out: (if (fboundp 'smex) 'smex (if (fboundp 'helm-M-x) 'helm-M-x 'execute-extended-command) commit a17065245aea5c3eb9e1b87b7058430c3ccede85 Author: DanLanglois <DanLanglois@yahoo.com> Date: Wed Mar 6 07:09:08 2019 -0800 Refactoring to use multiple minor-mode keymaps I've commented out the mutable xah-fly-key-map, and am switching between two immutable keymaps instead: xah-fly-manage-insert-mode-map and xah-fly-manage-command-mode-map.

view details

Will Dey

commit sha 299482c3647c0e99c38fc2ecb6cc6498d290740d

Revert the nbsp->space change Don’t know why this change was made. It defeats the purpose of the abbrev.

view details

Will Dey

commit sha 84ff3e8084aa47e08207a3210d208db3947e23c5

Remove his ace-window testing comments

view details

Will Dey

commit sha af1c7ca598c6f3608fc8ad1db4daa06e42f9a2e0

Linting

view details

Will Dey

commit sha fcfd92490aac5e0bf75f2c5a902337c3c6e25710

Enable byte-compile-dynamic since there are a lot of disparate funcs

view details

Will Dey

commit sha 86de18aaa7aa2b1321eea7ca099b6d01b9411774

Change global alias to one in the xah- namespace

view details

Will Dey

commit sha a5db9ece70cff0f4aeb2d1918836924a6278d351

Merge branch 'master' of https://github.com/xahlee/xah-fly-keys

view details

Will Dey

commit sha 2f4436c9405dc614b6b266e467f1550c6ac3f5b5

Separate keymap merging completed

view details

Will Dey

commit sha 01119f3ce736ed36910078489d4ef4720a080f7c

Add date for `make-obsolete-variable`

view details

Will Dey

commit sha 7fcb0b864119a85685e26fe982da7a27458df60f

Update version number

view details

Will Dey

commit sha 31ce7c3f95d31195ff3bd560a6f8b35b48bdaeab

Indentation

view details

Xah Lee

commit sha ed94d6b43af4e23127e11f906b760e0a924be030

Merge pull request #89 from wi11dey/master Separate keymaps and some cleanup (including merging DanLanglois code)

view details

push time in 3 months

PR merged xahlee/xah-fly-keys

Separate keymaps and some cleanup (including merging DanLanglois code)

Hi Xah,

Following up on #88, I have finished merging the DanLanglois code and rewritten a large portion of it to a backwards-compatible implementation and which I believe is cleaner.

As you requested, the changes do not break anything for the user. Specifically, all the instructions on your website will continue to work.

The major changes are:

  • xah-fly-key-map is split into xah-fly-command-map and xah-fly-insert-map, so keys only need to be set once after load in the proper map, rather than every mode change in the hooks. xah-fly-key-map continues to exist and points to the correct command/insert map depending on the current mode, so code which uses xah-fly-key-map and hooks will continue to work.
  • xah-fly-keys is refactored into a global minor mode so it does not automatically enable itself on load (the issue in #39). Emacs behavior only changes after (xah-fly-keys 1), which is more in-line with the conventions of other packages.
  • The built-in set-transient-map is used to implement command-mode, so switching between command/insert modes and interacting with other modes which use transient maps is more reliable. This means that command-mode bindings will take precedence even over text-properties so Xah Fly Keys won't clash with things like Magit. Magit keybindings will only take precedence in insert-mode.
    • A note: if a binding is not found in xah-fly-command-map, then the text-properties and all other maps will be looked up, which keeps things like Dired working nicely.
  • xah-fly--define-keys is changed to a macro which helps unroll the loop and let the byte compiler precompute the results of kbd.
  • xah-fly--define-keys also has another optional arg, :direct, which means to set a key without trying to remap it based on keyboard layout. Now, everything can be done through xah-fly--define-keys and there is no need for many lines of define-key
  • A Customize interface has been made for the most common options.
  • The command mode bindings have been moved to right after the ;; setting keys heading in the code so they are with all the other keybinding code.

I have also added a couple sections in the readme to show how to customize in the new way (old way continues to work). You can move these sections to your website too if you would like.

This PR resolves a number of old issues:

  • [X] #18
  • [X] #39
  • [X] https://github.com/xahlee/xah-fly-keys/issues/49#issuecomment-411139637 (command mode now always takes precedence over keymaps in text properties, using set-transient-map, so all of #49 isn't fixed, but that comment is)
  • [X] #64
  • [X] #88

There is a lot of merging going on in the commits so it is probably best to look at the final code in the "Files changed" tab. The main style of your code is intact so it should be easy to continue developing it. I have also been using this version for the past week and it's been working well

I will be around to help other users, maintain these changes and answer any questions, just ping me at @wi11dey

+486 -8387

0 comment

4 changed files

wi11dey

pr closed time in 3 months

push eventxahlee/xah_emacs_init

Xah Lee

commit sha d8fe54afc3b99e9cf6688d65a0f95dcaeb31399c

xah-get-matching-bracket. bat death is important

view details

push time in 3 months

push eventxahlee/xah_emacs_init

Xah Lee

commit sha 90833f326fb94b28911c55c70e2eef79674697b1

bat death usa, 612k and 25k dead

view details

push time in 3 months

push eventxahlee/xah-fly-keys

Xah Lee

commit sha 80648643f1a0f925c2606ba441e1b32d4791e738

removed a redundant key C-t for 'xah-pop-local-mark-ring

view details

push time in 3 months

push eventxahlee/xah_emacs_init

Xah Lee

commit sha f6a6c411610f0131cc88c0eb1760d7598f3de361

bat death continues. usa 504k, 18k dead

view details

push time in 3 months

push eventxahlee/xah_emacs_init

Xah Lee

commit sha 707c4b7cc39e403fa619d774305b3d26843fec22

wuhan bat death. usa 434k. 14.7 dead

view details

push time in 3 months

more