Home
Welcome to the changelog (and blog) for Shule.
15 September 2026 (Tuesday)
I'm adding reading navigation options to skip up and down paragraphs with hard returns, so you don't have to remove those to have convenient reading options. Down is done (the most important part). Still working on up. I'm using Alt+Up and Alt+Down for the keyboard shortcuts.
14 September 2026 (Monday)—9:10:07 PM
Well, it looks like Tkinter doesn't make it easy to modify their askcolor dialog (except when/where it comes to the text it returns). I might have to build a new one from scratch, or use another GUI library's tool (I don't really want to do that, though).
I still need to fix the mime type stuff during installation for KDE. (15 September 2026: I decided just to nix the mime type associations for now. You can do that manually if you want.)
14 September 2026 (Monday)—7:25:02 PM
Okay, I abandoned the notion of making the folders bold in the file dialogs, but the folders are now a different color. So, you can tell them apart (and you can customize that color just like all the others). Note that if you change all the foreground colors in one go, you'll probably want to change the folder color manually afterward so it isn't the same as the file color.
Now, I need to make it so the hexadecimal colors in the color dialogs are uppercase, and automatically focused/highlighted.
I need to make sure no showinfo dialogs and such ever start behind the find/replace dialogs in KDE.
I just made it so the folder color matches in the All and Folders tabs of the file dialog.
14 September 2026 (Monday)—4:40:11 PM
Okay, I fixed a bunch more errors (including ones I hadn't mentioned) in my open/save file dialogs. As far as I know (this isn't a guarantee), they're bug-free, now, with the All tab, anyway; the other tabs likely need work. I can't believe I've been using it like that for so long. Shule should be several times more relaxing to use now.
An issue I fixed that I didn't mention was when you try to open a file that doesn't exist, it said you didn't have permission to open it instead of saying that it didn't exist. [14 September 2026: I found out what it was and fixed it. It was for a currently unreleased feature.]
Now, I want to make directories bold, so you know they're not regular files.
14 September 2026 (Monday)—3:26:27 PM
> One of the most annoying longstanding bugs in Shule right now is when you go to open a file, sometimes it complains at you saying you don't have permission to write/open that file when you really do.
This is fixed, as of today. Apparently, the problem was that I got the current working directory twice, at different times, instead of just once (so, it wasn't current in some contexts). It was a pretty simple fix for such a longstanding bug (I just have it refer to the dialog's path the second time, now). I'm grateful open and save dialogs should work as intended there, now.
I plan to improve more stuff about them (when you create a new folder, I want to have it focus the insert in the place to name the file instead of keeping it where the folder-naming input box is).
This looks a lot easier to edit now than the last time I tried to edit it many years ago.
I also need to change it so when you do something or other and cancel, it doesn't interrupt you by notifying you of the fact that you canceled. I need to remember what 'something or other' was, though.
I also need to make it so showinfo message boxes don't appear behind your app (instead of on top) in KDE.
10 September 2026 (Thursday)—7:01:09 PM
I fixed an unhandled PermissionError in `Open/create path` (Ctrl+Shift+i). I also made it so it prompts you to create them if there are missing directories in a file path (instead of silently creating both them and the file).
Note that while you can't currently open files from the command-line before you save them like you can with Nano, you can use `Open`create path` to do essentially the same thing (and create missing directories in the process) inside of Shule.
I changed some of the dependencies. Apparently, you need more stuff for dict to work offline; so, I added more dict-related dependencies. I also added noto-mono and firefox back just in case your default fonts are problematic and for reasons to do with mimetypes (but if you don't like that, you can comment those out). I didn't include the other fonts, though (because there's not a big reason to include those by default).
I fully got rid of keccak hash support (even were pysha3 to work in your version of Python). You won't see it mentioned in Shule, now, nor will you see pysha3 mentioned.
I'm realizing I don't have any command-line options whatsoever for Shule (remember, I did start this app in 2014, and I didn't routinely add command-line options then). One of these days I'll probably add --help, --version, --open-named (for opening a file with a name and a filepath before it is saved like nano does), and maybe other stuff.
If you want any particular features in Shule, let me know and I'll consider them when I check the Discord server again. This isn't a promise that I'll add them, though! (Especially if it's syntax highlighting, line numbers, or parentheses matching that you want.)
One of the most annoying longstanding bugs in Shule right now is when you go to open a file, sometimes it complains at you saying you don't have permission to write/open that file when you really do [fixed on 14 September 2026]. The workaround is to select the path in the dialog and press enter. Then try again. I'm not sure what's causing the issue, yet, because I wrote the code probably about twelve years ago, and I need to refamiliarize myself with it. This bug is one of the reasons I made other cool ways to open files, like Ctrl+Shift+i and Ctrl+m. So, you can thank the bug for its contribution to those. This reminds me of how pearls are made.
Speaking of bugs, there's a bug in Ctrl+Shift+o that makes it so when you select multiple URLs and launch them, sometimes (not all the time) it opens all of them but one (and it's not consistent which one it doesn't open). I re-did that code recently, but I'm still unaware of the cause of the problem.
I've decided against adding uget/kget support to Shule. However, I am working on making it so you can highlight text and launch it in a terminal emulator as a temporary Bash script (so you could launch uget or kget that way—or even nano for that matter). I do plan to make it require you to enter a starting directory, though (and to remember the last one entered), to avoid issues.
I need to add more Ki-like powers to Shule. For instance, I want to make it so you can put a file in a directory that shule can automatically recognize so it will treat it as a base directory. Then we can treat the current method as a default directory, and use base-directories, too, to make it easier to have multiple Ki-style projects (instead of requiring you to remember your project names and requiring you to switch between them to do multiple).
10 September 2026 (Thursday)
I wasn't expecting this, but I integrated an offline dictionary (using dict) into Shule. Now all you have to do is hold Alt and left-click on a word and it will define it in a new temporary tab for you (if it has a definition for you), which is very handy for reading (and it's super easy to look up words within definitions that you don't know, too, since you can just Alt-click on them, and keep doing that)! If the word contains spaces, you need to select the word, but otherwise, no. You can also do Menu+def to manually type in a word to define. The heavy-lifting for this functionality was already completed with previous features (for right-clicking and the mousewheel click). I also added dict as a dependency. This feature should be released with Shule 0.6.0.
Before I did that, I made it so it should automatically detect your default file manager on the first run, so you aren't stuck with having to redefine it from Thunar, if you don't have/use Thunar. Same for the LilyPond PDF viewer.
9 September 2026 (Wednesday)—6:50:55 PM
Hrmm. If you're installing on KDE, be sure to edit thunar out of Shule/installation_files/DEPEND before you install, or it might make it so your computer doesn't shutdown properly (probably because of conflicts with Thunar and Dolphin related to unmounting at shutdown). If you've already installed Thunar, then purging it (`sudo apt purge thunar thunar*`) will probably help (it did for me) If you installed the recommended packages for Thunar, you may have to purge those, too (I did that, too). Be sure to manually set your file manager path inside of Shule, too, if you purge Thunar (Tools->Paths->File Manager Path Then type `dolphin` or whatever). [Edit on 14 September 2026: While what I said in this entry is good advice, it didn't really help all that much for my use-case, actually; I think my USB hubs were related to the problem; I'm guessing it does unmount, but it just shuts down without powering down, somehow, since I haven't been triggering disk repairs at startup].
For the uninitiated, Thunar is the file manager that XFCE uses by default. Dolphin is the file manager that KDE uses by default. I like the latest Ubuntu's version of Thunar because it lets you queue, pause, and unpause files that you're copying, and the integrated archive extraction is nice. So, I might test to see if I can use it instead of Dolphin, and purge Dolphin instead, but I'm not sure if that works. I'm on a fresh install of Kubuntu 26.04.1, now (not Xubuntu); I reinstalled my system in an attempt to try to fix the shutdown issue (which didn't work) and to stop getting a bunch of crash reports (which seems to have worked), which crash reports were probably caused by installing too many desktop environments. On the fresh install of KDE (the full installation), I didn't install XFCE; I just installed Thunar and the recommended packages to go with it, and that still caused the shutdown issue even with just that.
I also found out that mime types don't register properly for Shule on KDE in Kubuntu 26.04.1 (but Shule otherwise installs fine). I need to update that. Manually fixing mimetypes isn't the end of the world, though, especially if you don't even want Shule to run them by default (I personally like Shule to open most plaintext file extensions, but maybe you don't).
The reason I didn't catch these things in KDE before was because I installed it in XFCE and just used it in KDE before (but you only see it when installing), and XFCE didn't trigger the issues when installing there. But then I installed it fresh in Kubuntu 26.04.1 after I reinstalled my operating system—and I found the issues.
This isn't KDE-related, but I also found out that some of those font dependencies take a long time to download. They aren't 100% necessary, as long as you set a good font manually in Shule, or if your default font is good. So, you can remove those, too, if you want.
I hope to have these issues fixed by the next release.
Oh, and I'm adding something like this to the help file documentation (but it can help you now if you use KDE 26.04.1):
In KDE (in Kubuntu 26.04.1), here are instructions on how to free up your compose keys to be properly usable in Shule:
To change the Windows/meta key shortcuts, do this, go to settings->Keyboard->Shortcuts->Plasma Workspace and configure `Activate Application Launcher` (be sure to uncheck `Meta` as one of its keyboard shortcuts). Then click Apply, or it won't work.
To make it so you can properly do Ctrl+Meta in Shule (to add/edit/delete compose key codes), do this:
Go to System Settings->Keyboard->Shortcuts->Window Management and reconfigure these settings so Ctrl+Meta+arrow keys doesn't activate them (I advise changing them to Ctrl+Alt+left/right/up/down instead):
• Switch One Desktop Down
• Switch One Desktop to the Left
• Switch One Desktop to the Right
• Switch One Desktop Up
Then click Apply.
Tangent (not about Shule): Note that in Kubuntu 26.04.1, to give yourself more desktops in the workspace switcher (AKA pager) so you can actually use those shortcuts for something useful, and if you want to know my preferred settings for them, do this: go to System Settings->Window Management->Virtual Desktops and then in the upper right corner give yourself six desktops and two rows. Then click Apply. Then right-click on the pager widget in the lower left corner to the right of the start menu type thing (you might not have realized it was there until now). Select Configure Pager. Check `Show application icons on window outlines`, and `Navigation wraps around`; select `No text`. Click apply. Now try holding Ctrl+Alt and moving the arrow keys. You'll have a unique taskbar on each workspace (unless you configure it differently, because there are other options).
Also (still tangential), if you want to set up KDE's native compose key instead of or in addition to using Shule's (I like to set my Caps Lock to be it, which is still useful in Shule because it means I can't accidentally trigger the Caps Lock), then do this: System Settings->Keyboard->Keyboard->Keybindings->Position of Compose key (then check Caps Lock or whatever). And click Apply!
The reason for those tangents above is because it took me a really long time to figure out how to do those things in KDE, even in this age of AI chatbots (which evidently aren't trained on the latest Ubuntu versions fully or else they didn't understand the way I talk). So, I thought I would pass along how to do them, especially since they coincide with keys you need to configure for Shule.
Also, in KDE, if you want to add gnome-terminal as your default terminal, go to System Settings->Default Applications->Terminal emulator. Then click on Other. Then click the button to the right of the input box with the `Open file dialog` tooltip (don't type anything in that input box first). Then navigate to `/usr/bin/gnome-terminal` (or type `which gnome-terminal` to find out where it is first and use that path). And away you go.
While I'm handing out tangential lifehacks for your computer, if you want to get rid of the new panel to the left of your sidebar in Firefox 155.0.1, go to about:config and type sidebar.revamp and set it to false. That also took a very long time to figure out. The AI didn't know the true answer until I used words like 'panel to the left of the sidebar' specifically (instead of some other description). That panel is kind of useful for the password access, but it takes up real estate, and I primarily use a 19-inch computer monitor, currently.
I'm thinking about porting shule to latest version of Qt on Python to see what it has to offer (and about revamping Shule in the process). Don't hold your breath, but I might do it. If I do, though, that means I'll probably add syntax highlighting (but I very much plan not to let it dominate the color schemes when it comes to non-programming usage). Also, if I do that, I still plan to keep and maintain the Tkinter version either way.
Anyway, I tried out the Kate text editor recently, and it's pretty cool. It's KDE's text editor. Shule is not planned to emulate Kate in the future; they have very different goals and design paradigms, even if they do have some similar uses, as most text editors do. But, Kate is still cool (I like how it's fast, highly configurable, and so on).
I'm thinking about switching Shule's built-in download manager with uget (uget-gtk) and/or kget integration.
7 September 2026 (Monday)—12:26:12 PM
If you want the hash for shule_0.5.0.tar.bz2, here's the sha256 checksum:
b242d185960aa633ef9a832ac7629d31dfb890628cc232571370ec124c11549a
To use it, go to the command-line in whatever directory you have shule_0.5.0.tar.bz2 and type `sha256sum shule_0.5.0.tar.bz2`. The hash that appears should be the same as the checksum above. If you downloaded it before I wrote this entry, the hash won't match; it looks like the initial upload had issues (but this time I checked it before the upload and after a download and it matched).
5 September 2026 (Saturday)—10:42:02 PM
I released Shule 0.5.0, today! I'm excited about this release. Please try the reading features and using mouse buttons on plaintext as if you were clicking on hyperlinks. So far, I've only tested it on Xubuntu 26.04 on KDE, Gnome, and XFCE, with Python 3.14.7 (compiled myself), but it should work with everything the previous released worked with (in theory). This is the first release to have been tested on KDE and found to work well on KDE (I don't remember if I ever tried it on KDE before, but if I did, it was a really long time ago when KDE was very blue in color).
Did I mention already that you can now close tabs by clicking the mousewheel on them?
So, the major changes here are bugfixes (notably with the various mouse button clicks), the ability to open/create files/directories via a filepath with Ctrl+Shift+i, redoing keyboard shortcuts for the reading-mode paragraph scrolling (You can use either `Alt+`, and `Alt+.`, or `Alt+left` and `Alt+right`), bringing back the regular Ctrl+up and Ctrl+down, remapping some other keyboard shortcuts, and some documentation updates. Also, when you Alt+backspace/delete it deletes the previous word, but it treats hyphens, quotes, parentheses, brackets, and number signs as word characters (you can modify what characters it counts in the regular expression in pretext.py on line 889, which line is where the definition for the alt_backspace method is [I'm considering removing number signs from that, since it would delete Python comment markers, too, but it's nice for deleting the number signs in hexadecimal color codes and hashtags]), while Ctrl+Shift+backspace/delete treats all non-whitespace characters as word characters when deleting the previous/next word.
Oh, also, the pickled persistent data uses the same pickling protocol (5) every time instead of the latest one, now, for the sake of compatibility.
I'm probably going to rename Ki indexes just plain indexes, so people don't get too confused.
5 September 2026 (Saturday)—8:35:26 PM
Okay, I polished up the left mouseclick and the wheel mouseclick and removed some bugs. Now you don't have to worry about ending punctuation causing issues, nor about ASCII versions of em dashes causing issues. Shule 0.5.0 is almost ready for release.
5 September 2026 (Saturday)—1:03:46 AM
Okay, I did a little more programming and fixed the right-click and mousewheel click so they handle multiple periods, multiple hyphens, and multiple plusses correctly; I also made it so it catches exclamation marks and question marks [I got later made it so it didn't]. You can change what it catches in shule.py in Editor.get_filename_with_mouse() in the regular expression there.
I fixed it so the right-click and the mousewheel click both get the selected text if something is already selected.
4 September 2026 (Friday)—10:33:38 PM
I changed the keyboard shortcuts I made yesterday from Shift+Backspace and Shift+Delete to Control+Shift+Backspace and Control+Shift+Delete (because it's too easy to accidentally trigger it when doing something unrelated without the Control. We'll see if this helps.
Also, where I wrote this, ‘While writing this entry, I just returned the old Control+Up and Control+Down functionality, and put the new reading-mode paragraph skipping functionality under Alt+Left and Alt+Right (as well as Control+Return and Shift+Return, with Control+Shift+Return being the same as Control+Return to make it more likely that you can do it with one hand on more keyboards.’ I changed the shortcuts that involved Return/Enter to Alt+, (up a paragraph) and Alt+. (down a paragraph); I changed the old shortcuts associated with Alt+, and Alt+. to other things (Ctrl+Shift+F9 and Shift+Alt+> respectively).
I added the ability to close tabs by middle-clicking on them. It will necessarily focus on the tab, though (it was a lot easier to program that way, and that way you don't accidentally close a random tab without knowing you did something).
3-4 September 2026 (Thursday and Friday)
I've been making improvements to Shule (not released, yet), adding new features and stuff. I fixed some issues with Control+Delete and Control+Backspace. I added new functionality with Alt+Backspace, Shift+Backspace, Alt+Delete and Shift+Delete for those who get frustrated when Control+Backspace and Control+Delete are too conservative in what they consider a word.
A while back, I added the ability to open and create files and directories with Ctrl+Shift+i from an input box instead of open/save dialogs. You press the aforementioned keys then you enter a path (a file path or a directory path). If it exists, it opens it. If it doesn't exist, it offers to create it. It will create multiple levels of new directories if you let it. By opening a directory, I just mean it opens an open-file dialog there (but it could easily be configured to open a file manager instead). The default path for the input box is that of the current tab if it is saved; otherwise, it remembers the previous one entered, I think.
I've changed the documentation some, but it's far from finished!
I removed file indexes and directory indexes (now we just have key indexes, and the ability to open files in the same directory in an index-like fashion). The reason for removing them is because they detracted from similar features that were preferred for most use-cases. The result of using a Ki-style index is you get directories with plaintext files in them that can be edited in any editor. The removed features required Shule on account of aliases and stuff like that needing to be pickled.
While writing this entry, I just returned the old Control+Up and Control+Down functionality, and put the new reading-mode paragraph skipping functionality under Alt+Left and Alt+Right (as well as Control+Return and Shift+Return, with Control+Shift+Return being the same as Control+Return to make it more likely that you can do it with one hand on more keyboards.
I fixed some issues with fullscreen.
You can now hide and show the menu whenever you want with `Menu+men`, whether or not you're in fullscreen mode.
I've been testing Shule in Gnome (not just XFCE) on Xubuntu 26.04. This isn't part of Shule, but I've found that you can invert the colors nicely in Gnome with the extension-manager app if you install the extension called `Invert Screen Colors` (version 4), by ilijaculap; but Shule's `Menu+inv` feature to invert them in Shule is still helpful if you want to get the inverted color codes for your theme (or if you're not using Gnome). The aforementioned Gnome extension (not part of Shule) currently lets you invert either everything or individual windows (so, it's actually a step up from `xcalib -i -a`), and you can review the source code yourself. One mistake I made with Gnome was binding Gnome's fullscreen to F11 (because that overrides Shule's fullscreen and it won't hide the menu); it's not a bug; it's just a desktop environment configuration. You also have to unbind the windows keys in Gnome (in the keyboard shortcuts), if you want to use them as compose keys.
I may have mentioned this before, but I've updated the mouse buttons, mapping the right click to Ki-style indexes and the mouse wheel press to open/create files in the same directory as your open/active tab's. I need to fix a bug there where it has issues if you put multiple periods or hyphens in the same word that you click on (it treats periods and hyphens as word characters in this context, to make it easy to do filenames). You can simulate hypertext fiction in plaintext with this feature, by the way (as long as the reader is reading in Shule or something with the same functionality)! It's cool. Now we just need people to write some hypertext fiction in this format! (Which would be super easy to do, by the way; no markup required.)
22 August 2026 (Saturday)—7:47:37 PM
I released Shule 0.4.1 and then Shule 0.4.2, today. I added a font dependency and updated the `About` file to show that I had tested it on more systems. If you're wondering why the download link was broken for Shule 0.4.1, that's because it was a tar.gz file instead of a tar.bz2 file (but the download link is fixed).
Note that I'm not using pysha3 (and I'm not projected to use it in Shule in the future, unless they update it); so, `keccak_512` and other hashes with keccak in the name aren't available (but there are still plenty of good hashes, like sha3).
If you find any bugs, or even if you use Shule at all, feel free to put a message on the Discord server. Don't wait for me to respond, though; I check it anywhere from a few times a week to once every two months). I haven't advertised Shule a lot, yet.
Oh, I just remembered an oversight. I disabled the Ctrl+b keyboard shortcut and forgot to re-enable it (I did this to retrain my brain into using Ctrl+k for accessing/creating index keys with Ki-style indexes, since it used to be Ctrl+b). However, if you use Ki-style indexes and don't use file-indexes, you might be happy with this oversight, since they were easy to mix up. You can re-enable it in the source code.
22 August 2026 (Saturday)—5:43:14 PM
I released Shule 0.4.0, today. I fixed a major bug with Ki-style indexes that would delete some text under certain circumstances (I think if you tried to make a key and canceled, it would delete like a line of text). I recently got a new computer and put Xubuntu 26.04 LTS on it. I compiled Python 3.14.7 on it. I tested Shule and found some problems, but I fixed the major issues (the buttons in Tkinter no longer worked, but they work again). My new computer with Xubuntu 26.04 LTS doesn't render inverted colors (via xcalib -ia) terribly well. So, I made the default theme of Shule (and this website, too) so it had fonts that rendered well when inverted. Of necessity, I added color the color theme to the find and replace dialogs (since they were hard to read with the xcalib issues). I removed the requirement to install pycurl (e.g. pip3 install pycurl) and replaced it with the requests module (because curl gave me a deprecation warning and the requests module was the simpler solution).
I added the ability to invert colors within Shule itself (so you don't have to use xcalib): use Menu+inv for that (press the menu compose key and type `inv`).
If generating a random e-book didn't work for you before, it should work now, and pull from a larger book of e-books than before. Disclaimer: The ebooks generated are not mine, and they are not saved to disk (unless you personally save them).
I fixed an issue with Shule's version of Ki, which Shule utilizes for ki-style indexes (the independent release of Ki still has the issue). The problem was, I was using multi-line strings as comments, and they had what at least one new version of Python considered to be invalid escape sequences. So, I made them raw f-strings, and now they're good.
I updated the documentation some.
I made it so when you change all the background and foreground colors that it dreams the scrollbars and their troughs as backgrounds. This change was because of light-sensitivity.
I might have fixed some other issues.
There is one new issue on some systems. That is, when you open the find and find and replace dialogs, it prints some message to the terminal—but everything still seems to work. An AI seemed to think the cause of the message was the input method (using XIM instead of ibus or fcitx); XIM uses less RAM, so I'm inclined to leave it as-is until a future release breaks it (if it ever does), but you never know. [EDIT on 22 August 2026 (Saturday)—8:42:20 PM: I discovered that the XFCE compose key doesn't do em dashes properly in Shule in Xubuntu 26.04, for some reason (this might relate to the input method)—but you can type them just fine with the right-windows compose key built-into shule. Edit (25 August 2026): I discovered that ibus, which was apparently installed, was responsible for the Xfce's compose key not outputting em dashes properly. It worked fine after I uninstalled it.]
[Edit: 24 August 2026: I forgot to mention that I changed the way Ctrl+up and Ctrl+down work to make them nicer for reading e-books, so it cleanly skips to the next or previous paragraph, keeping the current paragraph at the very top of the screen, and skipping any extra blank lines between paragraphs. The screen positioning factor is nice in e-books, but it might be weird while programming or something until you get used to it (I was going to add a toggle between the old and new method, or use different keybindings or something, but I forgot about that at the time I released it). If you prefer the old method, the code for it still exists in `pretext.py` if you want to comment out the new and uncomment the old.]
19 June 2026 (Friday)—7:29:45 PM
If you have old download links for Shule that you can't seem to get working, replace the space in each link with an underscore.
19 June 2026 (Friday)—9:23:05 AM
Shule 0.3.1 has been released. I changed the `+` and `-` in the age calculator to `plus` and `minus` for additional clarity, so people don't accidentally think the ages are a year older than they are.
19 June 2026 (Friday)—6:50:49 AM
Shule 0.3.0 has been released. Enjoy. Many longstanding issues have been fixed (detailed in the previous two entries). Most importantly, though, the run (F5) feature works. Also, I changed this:
• The accuracy of the age calculator should be fixed. It no longer attempts to show the format in years, months, weeks, days. Instead, it says a number of years plus or minus a number of days. The accuracy of this was easier to verify, and it's more practical anyway, since that's really what you probably want to know subconsciously.
I tested this release on Python 3.10.12, as well as manually compiled installations of Python 3.13.3 and Python 3.14.6, all on Xubuntu 22.04.5 LTS 64-bit on a desktop computer. It works on all of them, other than that pysha3 is incompatible with Python 3.14.6 (pysha3 is needed to use the keccak hash algorithms, such as `keccak_512`, if you want to use those [if you don't know what they are, you probably don't need them]; hashlib in Python already has the primary sha3 hashes, as of several Python releases ago, fortunately; Shule runs fine without pysha3 installed).
18 June 2026 (Thursday)
I haven't uploaded the changes yet, but I did this, today (for the upcoming Shule 0.3.0--I only increment the version when i upload it, and not as I program it):
• I switched the open/create Ki index shortcut to Ctrl+k, and the open/create file index to Ctrl+b (since the Ki indexes are a much higher priority, and it makes more sense with the k shortcut).
• I switched Alt+n and Ctrl+n (so if you accidentally press Ctrl+n instead of Ctrl+b, you will know that you made a mistake since it will print ♮ to the screen instead of bringing up an input box).
• I made it so the default file extension doesn't change just because you open a ki index with a non-default extension. I had previous made it so it would change hoping for a productivity benefit, but I don't think there was one, since I switch back to the default extension almost immediately after I use any other extension, usually (and there is already a shortcut to change the default extension, if needed [Shift+Alt+k]).
• I made it so when you open a file in the same directory with Ctrl+m or such that it won't tag on the default extension if you specify your own extension.
• I reprogrammed Ctrl+Shift+o; so, those bugs should be gone, now. So, right now the expected behavior for using it when text is selected is, if there is one, and only one valid directory path, in the selection, it will open an open file dialog to that location (and ignore all other URIs); if there are multiple valid directory paths, it ignores them all (but may open other things). If there there are valid filepaths (delimited by new lines) and no web addresses, then, whether or not there is whitespace around the filepaths, then it opens them all, unless there are also web address, in which case it refuses to open anything. If there are web addresses and no filepaths then it opens all the web addresses. Furthermore, it can open web addresses even if there is other text in the selection that isn't URI-related (but this is not true for files and directories, other than surrounding whitespace). If no text is selected, then it only evaluates one URI (whatever you enter, whether it be a file, a directory, or a web address).
[Earlier] 18 June 2026 (Thursday)
No changes uploaded yet, but the following changes are forthcoming in Shule 0.3.0:
• An `F5/run` feature that actually works instead of crashing your program. [Similar functionality such as compiling, compiling all and running the interpreter, also should work, now, for all the programming languages listed, as well as for GNU LilyPond.]
• `menu+pas` pastes with queries removed.
• Some annoying keyboard shortcuts that are easy to accidentally press have been changed or removed. I plan to maybe change a few more shortcuts, though. [I did, later in the day.]
• This feature may or may not have been in 0.2.0, but you can now press Shift+Alt+j to jump to a random line of the current tab. This is a lot more useful than it might at first sound (at least it is for me; when you're dealing with a super long document and want to peruse random parts of it, it's kind of hard to be random if you have to scroll forever to do it).
• Ctrl+shift+o now opens links even if you select non-link text, too. You can also open multiple links in selected text, too, but I need to work out at least one bug there.
• Ctrl+m (Menu+dfo) now lets you open or create a file in the same directory as the current one, without a file dialog (the idea is to make it just as easy as with creating and opening index keys). It uses a default file extension, currently (which might be a little unexpected). I need to fix it so if you specify an extension it will use it instead of always putting the default on the end. Menu+dfe lets you choose the file extension.
• Menu+glp lets you specify a directory and then it outputs all the paths recursively from that directory into the editor.
• Shule also no longer opens emails addresses to compose emails for them—from the command-line—anyway, although I might re-implement that with a flag/option instead of just having it try to figure out if it's an email address.
• The age calculator has at least one bug that needs to be fixed, leading to semi-inaccurate ages in some contexts. I plan to reprogram it instead of fixing it.
23 October 2024 (Wednesday)
Version 0.2.0 released. I added Ki-style indexes, which can make indexes a lot more handy. Related shortcuts include Ctrl+b (open or create a key), middle-clicking selected text (open or create a key naming it after the selected text), Alt+k (set the base directory), Shift+Alt+k (set the file extension), Shift+Alt+colon (name a base directory), and Alt+semicolon (set the base directory by name). These allow you to make independent indexes that won't be messed up if you rename or delete a file manually (as opposed to via Shule). Furthermore, you can make complex sub-directory structures for your base directory and the index is still capable of accessing them just as easily. The version of Ki included in Shule's source code is not separable from Shule. It has been modified for Shule to use it (you should get a new copy of Ki if you want to use Ki separately).
Anyway, if you learn how to use these new features, you might be impressed at what you can do with them. It's basically a lot of the stuff you can do with Ki for the command-line, except it's not for the command-line. Ki does still have additional features that Shule lacks, however, and Shule doesn't work exactly the same. Ki-style directories from Shule are compatible with Ki, if you want to use Ki in them. Shule's version of Ki has settings that are currently at ~/.ki_kumoshk_shule (they shouldn't conflict with your regular Ki installation). I may change this in the future (since I'd like to keep the settings in Shule's settings).
The alterations in this version are all covered by the MIT license.
The index help file has an error in that it says changing file extensions is only a feature of Ki-style directories. They both allow this, and have separate menu items for the purpose. I need to fix that. I also need to differentiate them more.
16 October 2024 (Wednesday)
Version 0.1.2 released. Removed a keyboard shortcut (shift+delete), which was too easy to trigger by accident. Replaced it with Menu-compose+rud.
16 October 2024 (Wednesday)
Version 0.1.1 released. Fixed a bug where F5 caused the program to crash sometimes. Now it uses Gnome-terminal instead of xterm. [EDIT: Actually, not really. The bug was still there. The release of Shule 0.3.0 should have that problem completely fixed--it's already fixed and works so much better (as of some time before June 2026), but I haven't uploaded it, yet, as of 18 June 2026 (Thursday)—1:10:56 AM.]
16 October 2024 (Wednesday)
Version 0.1.0 released online.
28 April 2014 (Monday)
[7 September 2026: I wrote the following in my handwritten journal on 28 April 2014:]
'…
I programmed. I decided I better make my own text editor, because SciTE isn't working properly on Xubuntu 14.04 and I didn't find any other Python editors with the aspects I wanted. I'm using Tkinter for my GUI, since I want something that will work with just about any Python installation, even future versions of Python (since Tkinter is likely to remain supported). I got the ScrolledText widget to resize with the screen. I got a menu up. I'm working on getting a tabbed interface. All of these things, I owe credit to helpful people online [7 September 2026: mostly people on , especially Bryan Oakley, who explained how to use Tkinter] for sharing their knowledge. [7 September 2026: I wrote that I owe them credit for the following sentence, too:] Also, I got the screen to start maximized (properly maximized—not just sized to fill the screen). I'm programming the editor with and for Python 3.4, as well as plain text (UTF-8 only), LilyPond and such. Since CTRL+Shift+u doesn't [7 September 2026: rather, didn't at the time] work in Tkinter to allow Unicode character sequences, I'm planning to have a menu shortcut that allows for it. So, if you press CTRL+Shift+u a prompt will come up asking for a character code sequence. Hit enter after you type it, and it appears. It will remember the last one entered for faster input. Maybe I'll allow for remapping keys, too.' [7 September 2026: I haven't actually made those last two features, yet! I totally should!]