Henxel

Latest version: v0.3.1

Safety actively analyzes 625010 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 5

0.3.1

- Keywords for syntax highlighting are now from: import keyword.

- 'sel'-tag has now second highest priority only below focus.

- Control-backspace to search again now works again.

- Word-expander works now as Tab-completion, its expands over dot attributes,
like: self.at TAB --> self.attrib1, if self.attrib1 is already somewhere in contents.
It is quite usable.

- Removed binding ctrl_L-super_L-return to run file in return_override().

- Ctrl-q -> Ctrl-Q for del_tab: prevent closing tab without saving by accident.

- Cmd-ae -> goto_linestart/end, when in macOS, this is quite usable.

- Also in macOS: Cmd-(Shift)-Up/Down -> move/select 10 lines up/down. Also usable.
In Linux and Windows this is: Control-(Shift)-Up/Down and bind is to move_many_lines() instead
of mac_cmd_overrides(). Not tested in Windows, but hopes are that the states are right.

- In return_override, if line is empty, rstrip to cursor to fix indent sailing if
in middle of space.


- There were lot of issues with functions like select_by_words(), move_by_words() etc.
which changed selection. First fix was like:
self.contents.event_generate('<<SelectPrevWord>>')

But it was flashy at lineends (because needed to adjust selection later),
so ended up using <<PrevWord>> instead with:
self.contents.mark_set(self.anchor, idx).

It (that is: handling of selection changes) is now done right by setting
selection-start-mark or -anchor with:
self.contents.mark_set('tk::anchor1', '38.6').

The name of anchor changes if editor is launched multiple times in one Python-session,
so the current name is retrieved in init but there is still another problem:
this anchor does not exist if certain event has not occured before.

To get this working, the name of anchor is needed, it is done just before quite
similar fix for Windows, and it is ugly.


- When doing search and replace one can now copy text and select and adjust selection
with many functions like yank line, goto lineend etc.


- When doing search and replace:
space --> exit to focus
esc --> exit to start
double-click --> exit to cursor

- When doing replace: One can continue replacing even if focus is not in contents.
Replacement-string can now be changed in the middle of replacing.

- Status-messages of gotoline, search and replace are now in entry. This was done
for increase fullscreen usability. Git branch-name remains in btn_git and
tab-position remains in title.

- Editor is now aware if it is in fullscreen-mode. It is not used on anything.

- Editor now handles long strings better in entry, like filenames or searches.

- Small but important change in wait_for() to change state so that certain bindings
do not trigger while waiting.

- Added two tkinter-books to dev/books.

- Added screenshots to README, and removed 'more on virtual environments' -section
as potentially dangerous.

- Ctrl-q now quits with save when not in macOS, same way than cmd-q does in macOS.

- Updated helpfile

- Updated links to point to Tcl 9.0

0.3.0

- Fixed win_install_mkvenv
- Small fixes
- Ctrl-ju --> scroll downup without moving cursor, also at the end of the file.
- Walktabs is again alt-wq if not in macOS.

0.2.9

- Added win_install_mkvenv.py to /util which can be run in Windows with
py win_install_mkvenv.py

Running it creates:
create_scripts.bat
launched.bat
mkvenv.bat

in sys.prefix which hopefully is in the PATH.

Then one can do in Windows: mkvenv name_of_env.

That will install possible requirements also.
And mkvenv creates act.bat to root of venv that will activate venv.
And mkvenv creates launch_ed.bat to root of venv that will activate venv
and launch IDLE-shell and launch Henxel-editor if it is installed.
I no longer recommend installing pyreadline3 because it seems to not work
properly in Win10. Instead, using IDLE-shell has tab-completion and multiline
editing etc. Only that one can not change direction of prompt movement after
command execution. It now moves down and will eventually stay at the
bottom line. It would be preferable if prompt would move up instead,
and stay in the first line. One cannot clear screen in Windows so this is quite unfortunate.

- Small looks fixes.

- Alt -leftright now walks tabs in all OS-types. And Alt-wq closes editor
with save. This was done to increase cross-platform consistency in
shortcut-keys. It is also more easy to remember, maybe not so ideal though.

- Fixed move_by_words, select_by_words and yank_line for win10.

0.2.8

- Moved tcl-script, that fixes ctrl-rightleft behaviour for Windows, to better place.
So active tab should be safe now also in Windows.
- Tried 'lsappinfo metainfo' as a way to get terminal app name in macOS but it did not
work much faster so left as it was before: 'lsappinfo front' to get ASN and then
'lsappinfo info -only name'. Giving focus back to python terminal-window is not very
simple task in macOS. Currently tested with Terminal and iTerm2. It works quite ok now.
- OS-type is now determined as does IDLE-editor, copied it from there:

sys.platform == 'darwin'
sys.platform[:3] == 'win':
sys.platform.count('linux'):

This usage of module sys is nice addition, it was used very little before. Also now
there is no need to blindly try to find macOS terminal.
- Fix for: search_next would not work if holding ctrl down and repeatedly pressing backspace.
- Scrollbar is now little thinner if using macOS.
- Yank_line copies now whole line instead of just visible part of line.
- Added functions idx_linestart and -end to get effective indexes of the line.
- Added functions move_by_words and select_by_words which handles ctrl-leftright and
ctrl-shift-leftright behaviour in Linux and Windows and Alt-leftright and
Alt-shift-leftright behaviour in macOS. This was done to fix default handling of related
events near lineends.

0.2.7

- One can now yank line with ctrl- or cmd-y.
- Testing blockcursor -> normal cursor.
- Made padx and pady depend on font.measure instead of hardcoded values. Currently used only in contents and linenumbers.
- Clarified bindings after finding out that one can bind to Cmd with Mod1.
- Fixed goto_linestart -end etc. to make 'select line from' work.
- Not much else but wanted to release a little more working version.

0.2.6

- Added initial support for macOS. Tested to work in macOS 12. Had some major issues with it like
inability to bind. Also, focus it not restored to Python-console after closing editor, so some
trickery is made at import stage. You can find this in the beginning of class Editor.
Coloring with system theme (light/dark) is also difficult and
may require event-loop, if done with tkinter, or tracing in Tcl and is not yet done.
- Both command-w and -q closes editor with save. Cmd-left or right walks tabs. Cmd-n opens new tab
and cmd-return opens filedialog.
- When have selection in contents or entry, pressing arrow left or right
moves cursor to other end clearing selection.
- Ctrl-shift-a or -e does select from line, so does Cmd-shift-left or -right in macOS.
- Made macOS-helptext.
- Added copy of NotoMono v. 1.0 to /font for possible use in future.
- Some improvements in colorchooser.
- Noticed that macOS seems to have some momemtum in scrolling.
- Improvements in fontchoose, like made optionmenu choises bigger etc.
- Removed building part from 'More on virtual environments' -section of Readme.md
- TkDefaulFont is '.AppleSystemUIFont' in macOS and causes troubles
because it is not in font-families. We check for error at closing editor
and when choosing font.

Page 1 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.