Inspired by zedd151, I wrote a little plugin that adds a Most Recently Used list to qEditor's File menu.
Simply run the executable in the attached MruInsertV6.zip archive and follow the instructions.
Tested on Win7-64 and Win10. Please give me feedback on problems and missing features :thumbsup:
The files are stored in \Masm32\Plugins\QeMru.ini (nothing is written to the registry). Note that in order to enable the MRU feature, you must click once on Tools/Recent files every time you start qEditor.
Version 6 of 30 December 22 features a cfg file where you can decide if you want:
- once per launch an adjustment of the QE window to the characteristics of assembler code :cool:
- use the *.asm filter for the Open menu (strongly recommended for assembly coders)
- see a little menu for editing settings and MRU list, and for launching the WM_* messages watcher
Note the attached sources can be opened in MS Word, Wordpad and RichMasm (http://masm32.com/board/index.php?topic=5314.0).
The third archive, QeMruWatch, contains a tool that activates the plugin whenever you launch a new instance of QEditor. Memory footprint is around 1MB, cpu usage is 0% (after one hour, I still see cpu time 00:00:00).
The fineprint: Use at your own risk.
Quote from: jj2007 on December 29, 2022, 11:08:55 AM
Inspired by zedd151, I wrote a little plugin that adds a Most Recently Used list to qEditor's File menu.
:tongue: Glad to see that you were inspired. :tongue:
Whoops! :sad:
Any requirements that you forgot to mention? Does the executable have to be in Masm32 directory? Does qEditor have to be open? I have tried a couple things but no avail... :sad:
My masm32 is in C:\masm32\
Using Masm32 SDK version 11 with the version of qEditor included there. Any suggestions to help find why I have gotten the setup error message?
attached image removed as it has served its purpose
Quote from: zedd151 on December 29, 2022, 12:22:29 PMDoes the executable have to be in Masm32 directory?
The only requirement should be that the MruInsert.exe must be launched in the drive that hosts \Masm32
Assuming that you launched it from C:, and that C:\Masm32 exists - which of these files do exist?
C:\Masm32\QeMru.ini
C:\Masm32\menus.ini
C:\Masm32\plugins\MostRecentUsed.dll
Quote from: jj2007 on December 29, 2022, 12:29:47 PM
The only requirement should be that the MruInsert.exe must be launched in the drive that hosts \Masm32
Okay and yes did that, but message box appears.
Even on a drive where there is a
pristine Masm32 SDK installation (no additions to menus.ini). Still the same message box appears.
strikeout = that installation had a modified menus.ini, whoops.
Quote from: jj2007 on December 29, 2022, 12:29:47 PM
C:\Masm32\menus.ini
Only menus.ini; that is of course, part of the Masm32 SDK
my install is "masm32" yours specifies "Masm32" let me change it...
Weird. Can you try the attached debug version please?
Quote from: zedd151 on December 29, 2022, 12:37:36 PM
my install is "masm32" yours specifies "Masm32" let me change it...
Ok, I changed the "masm32" folder name to "Masm32". Same issue...
Well, that didnt go over too well.
I ran it a few more times, always crashes after two passes...
attached image removed as it has served its purpose
Is "Pass2" edx==0, or another value?
Pass 2 edx = 0
void Instr_(esi, "[&Tools]", 1)
deb 4, "Pass2", edx
.if !edx
add eax, 5
.Repeat
inc eax
mov dl, [eax] ; <<<<<<<<<<<<<< crash happens here
.Until dl=="&" || !dl
deb 4, "Pass3", dl
Can you post your \Masm32\menus.ini, please?
[Build]
Compile &Resource File,\MASM32\BIN\Bres.bat "{b}"
&Assemble ASM file,\MASM32\BIN\Assmbl.bat "{b}"
-
&Link OBJ File,\MASM32\BIN\Lnk.bat "{b}"
As&semble && Link,\MASM32\BIN\Build.bat "{b}"
&Build All,\MASM32\BIN\Bldall.bat "{b}"
-
&Makeit.bat,makeit.bat "{b}"
-
Console Link &OBJ File,\MASM32\BIN\Lnkc.bat "{b}"
&Console Assemble && Link,\MASM32\BIN\Buildc.bat "{b}"
Console Build &All,\MASM32\BIN\Bldallc.bat "{b}"
[Text]
[Plugin]
ASM Comment,{e}\plugins\ablockc.dll
-
&Indent .IF Block,{e}\plugins\Indentb.dll
Swap 32 bit registers,{e}\plugins\regswap.dll
Righ Trim Block,{e}\plugins\rtrim.dll
Block Insert,{e}\plugins\blockp.dll
[Conversions]
[Scr&ipt]
[help]
attached image removed as it has served its purpose
So you have no [&Tools entry]... hmmmm... which means I must add another test :rolleyes:
Quote from: jj2007 on December 29, 2022, 12:54:55 PM
So you have no [&Tools entry]... hmmmm... which means I must add another test :rolleyes:
I didn't need it. (sorry hutch)
I had the same sort of issue for my PluginBuilder project. Seems many folks modify their menus.ini file. Making qeditor crash, so for all intents and purposes PluginBuilder is not for public use anymore. I still use it myself though. PluginBuilder searched for [help] but some users did not need that in their masm32 install either. :tongue:
One more try :cool:
.if !Instr_(esi, "MostRecentUsed.dll", 1)
.if !Instr_(esi, "[&Tools]", 1)
.if !Instr_(esi, "[Plugin]", 1)
void Instr_(esi, "[help]", 1)
.endif
.endif
.if edx
add eax, 5
.Repeat
inc eax
mov dl, [eax]
.Until dl=="&" || !dl
.if dl
The MessageBox will be misleading, as the entry is not under "Tools".
Quote from: jj2007 on December 29, 2022, 12:54:55 PM
So you have no [&Tools entry]... hmmmm... which means I must add another test :rolleyes:
It works with a pristine 'menus.ini' file. I did a new install on another drive. And it works so far... :biggrin:
Quote from: zedd151 on December 29, 2022, 01:01:47 PM
Quote from: jj2007 on December 29, 2022, 12:54:55 PM
So you have no [&Tools entry]... hmmmm... which means I must add another test :rolleyes:
It works with a pristine 'menus.ini' file. I did a new install on another drive. And it works so far... :biggrin:
Great, but nonetheless I will replace the first version with one that checks, if [&Tools] is not found, for the presence of other menu entries. Tomorrow - it's 3:03 AM over here. Good night :biggrin:
MruInsertV2 worked okay too under "Plugins". But you can't really rely on any menus.ini entry being present. :undecided: Users routinely modify the menus.ini file, adding to it, removing things they do not need, etc. Even some don't use menus.ini at all. :dazzled: They just use the basic embedded functions of qeditor. I had a lot of phun when attempting to make the PluginBuilder work for everyone even with 'menus.ini' issues in their Masm32 SDK installation. I gave up though making it work for the masses... and keep it for private use.
... Just a couple tips for you.
Possibly pop up a messagebox asking if okay to create a "menus.ini" file if not present, also possibly add a "Tools" or "&Tools" popup menu to "menus.ini" if the tools menu is not present?
After thinking about this for a while ...
Instead of the tips I offered in the last post, maybe it would be better that you stipulate that both 'menus.ini' must be present and the "[&Tools]" submenu must be present in the menus.ini file. (User must add "[&Tools]" submenu theirself if had been removed by them).
This would remove any unnecessary complexity to the program, and it would rest on the user to meet the simple requirement. :icon_idea:
Good that you make a backup of the original menus.ini file in case anything goes sideways during the installation, or the user decides not to use the MRU after all. :thumbsup: One thing I hadn't done with the PluginBuilder. (backup of menus.ini)
Quote from: zedd151 on December 29, 2022, 03:29:15 PMit would be better that you stipulate that both 'menus.ini' must be present and the "[&Tools]" submenu must be present in the menus.ini file.
Thanks, Z. In the end I voted for:
a) assuming that menus.ini is present (it's needed for QE to work) and
b) checking for [&Plugins], [&Tools], [&Help] in that order, and if none of them was found, pick the first [whatever] menu.
It renames now \Masm32\menus.ini to e.g. menus29.old (i.e. today's date=29, as an additional safety measure).
If the currently loaded file is modified, the plugin will prompt you "discard changes": yes, no, cancel.
Hope that works for everybody, the new version is attached to the first post (http://masm32.com/board/index.php?topic=10570.0).
Quote from: jj2007 on December 29, 2022, 10:00:16 PM
... it's needed for QE to work ...
That's not entirely true. You just wouldn't have the added functionality.
You are right :thumbsup:
Quote from: jj2007 on December 30, 2022, 01:15:46 AM
You are right :thumbsup:
But it should be fine, whatever you do in the final release. I would check the submenu names with and without the ampersand '&'. Knuckleheads like me generally remove them. I rarely use keyboard combinations, due to issues with dexterity in my left hand.
I will test the latest version a bit later... :biggrin:
Quote from: zedd151 on December 30, 2022, 01:49:12 AMI would check the submenu names with and without the ampersand '&'. Knuckleheads like me generally remove them.
I thought about the ampersands, actually. This is the usage in a very old (October 2011) "official" version of menus.ini:
[&Project]
[&Tools]
[&Code]
[Conversions]
[Scr&ipt]
[help]
probably makes sense to let the current version circulate and gauge any feedback from others. This would help determine if this is just a 'zedd issue' :tongue: or more widespread. :biggrin:
Well under the Tools menu, 'Recent Files' menuitem okay. (1.PNG.zip)
Upon clicking on 'Recent Files' there, the window maximizes to the height of the screen (1280x1024 monitor) and justifies qeditors window to the right. I'll zip a screenshot seperately. (4.zip) <--- definitely an issue that needs looking into
Also, a menu entry on the menubar 'Recent Files'. I assume for verification that the plugin is active? (2.Png.zip)
But yes, the MRU list is where it is expected under the 'File' menu.(3.PNG.zip)
Hope this helps.
Attached images removed as they have served their intended purpose
And clicking on the file in the MRU list does indeed work as expected. :thumbsup: Forgot to mention that above.
added...
Here is a screenshot of how qeditor looks for me when normally opened, for comparison to the 4.zip image from above post
The only issue I see so far is the window resizing. :sad: Everything else seems to work fine. :thumbsup:
Attachment removed as it has served its intended purpose.
Quote from: zedd151 on December 30, 2022, 03:03:23 AMThe only issue I see so far is the window resizing. :sad: Everything else seems to work fine. :thumbsup:
Get used to it, it's a feature :biggrin:
(you can always resize it...)
I posted a new version (http://masm32.com/board/index.php?topic=10570.0) that does no longer add a separate "Most recent" menu. Try it, and tell me if you see any difference when opening a file :cool:
Quote from: jj2007 on December 30, 2022, 03:37:26 AM
Try it, and tell me if you see any difference when opening a file :cool:
Works fine. Of course the window resizing persists.Actually I liked the 'Recent Files' that was on the menu bar. Gives a quick indication that the plugin is active. Maybe put a message on the status bar instead though, to indicate that the plugin is active?If the images I posted are no longer needed jj2007, I will remove them. So if you need em, keep a copy.
Quote from: zedd151 on December 30, 2022, 03:43:54 AMActually I liked the 'Recent Files' that was on the menu bar. Gives a quick indication that the plugin is active.
If you used it once, a quick look into the
Files menu tells you if it is active... either you see your files (it's active), or you don't. Now in theory you could modify the Run entry of the registry and add a watchdog there that controls if QEditor is active, and if yes, make sure the plugin is loaded by sending some dedicated keystrokes. Hutch will kill you if you try that :badgrin:
Quote from: jj2007 on December 30, 2022, 03:50:30 AM
If you used it once, a quick look into the Files menu tells you if it is active
Um, yeah. But I'm lazy like that.
QuoteNow in theory you could modify the Run entry of the registry and add a watchdog there that controls if QEditor is active, and if yes, make sure the plugin is loaded by sending some dedicated keystrokes. Hutch will kill you if you try that :badgrin:
:tongue: Seems like too much to fiddle with for this purpose though.
Now just sit back and wait for any further feedback from others ...
Quote from: zedd151 on December 30, 2022, 03:56:15 AM:tongue: Seems like too much to fiddle with for this purpose though.
After two, three days you'll have the right reflex - no files, damn,
Tools/Recent :mrgreen:
Quote from: jj2007 on December 30, 2022, 03:59:03 AM
After two, three days you'll have the right reflex ...
It's called muscle memory. :tongue:
Something you need to know about the design of QE, the reason why it will not allow either scripts or DLLs at startup is so it cannot be hacked via scripts or DLLs. Sad to say with something that has been around for such a long time, is that it would be a target if it was easy to do.
Z,
Get a later version of QE, that one with the blue interface is very old.
Quote from: hutch-- on December 30, 2022, 04:13:26 AM
Get a later version of QE, that one with the blue interface is very old.
:tongue: I haven't had any issues with it, so I continue to use it; besides it's already in the SDK, no need to track down updated versions. :biggrin:
Annnd.... at least it's not qe v. 3... :tongue:
Quote from: hutch-- on December 30, 2022, 04:13:26 AMGet a later version of QE, that one with the blue interface is very old.
I've tested the plugin with both of them. Is there any significant difference under the hood?
Quote from: jj2007 on December 30, 2022, 05:58:10 AM
I've tested the plugin with both of them. Is there any significant difference under the hood?
From a longtime user, the only discernible difference is the toolbar image. Everything else
appears to work the same. That is if you are referring to version qe4.0m. (iirc that was the last update) I'll check the last update when I'm back at the 'puter' (iPad post)
Later...
Yup, 4.0m is the latest. It's here in this board. :tongue:
Hmmm. I have not tested if other plugins will work or not while the MRU plugin is active. I will run some tests to see if there are any issues and post any findings.
Jochen, do you unload the plugin or just let it remain open while qeditor is opened? Also have not tested what effect the MRU plugin would have if multiple instances of qeditor are opened. They communicate with each other btw... a feature that I rarely explore. But I will run some tests to see if there are any conflicts between instances... when I'm back inside that is...
Quote from: zedd151 on December 30, 2022, 06:11:49 AM
Also have not tested what effect the MRU plugin would have if multiple instances of qeditor are opened. They communicate with each other btw... a feature that I rarely explore. But I will run some tests to see if there are any conflicts between instances... when I'm back inside that is...
Okay I ran a test with two instances of qeditor opened. The first instance I open the MRU, okay. Open a recent file there and save under a new name, the saved file name gets added to the MRU. Okay.
I open a second instance of qeditor and activate the MRU list. Okay everything shows including the recent addition. I open a rececnt file and save to another name. In the second instance the MRU list gets updated as expected.
Now I close both instances of qeditor and open a single instance of qeditor. Activate the MRU. None of the changes made in the second instance of qeditor persist, but only the changes made in the first instance do persist. I hope this is clear...
I rarely use two instances at a time (very occasionally), but may cause some unforeseen issues for those that routinely have more than one instance opened.
For users that do not have two or more instances opened it should not be a problem though.
Now on to test running
other plugins while the MRU is active...
Quote from: zedd151 on December 30, 2022, 06:27:09 AM
Now on to test running other plugins while the MRU is active...
Preliminary testing shows no ill effects running other plugins while the MRU is active. :thumbsup:
Quote from: zedd151 on December 30, 2022, 06:27:09 AMI rarely use two instances at a time (very occasionally), but may cause some unforeseen issues for those that routinely have more than one instance opened.
Check the attached version (not yet a release), it should behave well with two or more instances.
Btw the most serious "unforeseen issues" in the current release version are that you may not see all the files you've recently opened; that is the default case in QEditor without the plugin ;-)
Okay... Most times it updates the MRU in both instances upon opening a file or saving a file. There was once where one of the files did not both get added to the MRU and be still persistent. I could not duplicate exactly how that happened. And it had not happened again.
So, I rate this change a success :thumbsup: until it happens again :undecided: . Hopefully the next time, I will be able to determine how it happened.
I will play with this some more later... right now I've got two doggies to walk. :biggrin:
Before I go, I have a couple suggestions.
1. An uninstaller to remove all files added during install. Makes installing an updated version easier.
2. Method to clear the MRU, without having to manually remove the entries in the file.
Keep me posted if you can reproduce that effect (it shouldn't happen).
The technique is to use SetMru (http://masm32.com/board/index.php?topic=10401.msg116325#msg116325) every time the menu gets opened:
CASE WM_INITMENU
SetMru MruPath$
I just checked when SetMru (http://masm32.com/board/index.php?topic=6483.msg79557#msg79557) was introduced: more than 4 years ago :rolleyes:
Quote from: jj2007 on December 30, 2022, 07:52:44 AM
Keep me posted if you can reproduce that effect (it shouldn't happen).
:thumbsup: I'll let you know ... It might be from closing one instance while the MRU was updating?? I'll do some tests checking that...
Back in 30 minutes or so...
open instance #1, open and save a file with another name okay, and editor#1 remains open. Not closing it at this time.
open instance #2, open and save a file with another name okay.
immediatley closing both editor windows in rapid succession, the saved file from instance #2 did not get written to file.
Unsure if that is how it happened the first time.. will continue to investigate.
No further issues at this time. :biggrin: Without any 'window closing acrobatics' (closing all instances in rapid succession after saving a file) I cannot find any other issues.
My debugging here is done. I will send you a PM with the bank account # in the Caymans where you can send my generous fee. :tongue:
All in all, Well Done! :thumbsup:
Except for the modified "Open File" filter. (hutch is going to kill you this time) :badgrin:
All that remains is to get qeditors main window to stay where it is supposed to be. i.e., where it was before opening the MRU plugin. :azn:
Quote from: zedd151 on December 30, 2022, 08:32:28 AM
All in all, Well Done! :thumbsup:
Thanks :thup:
QuoteExcept for the modified "Open File" filter. (hutch is going to kill you this time) :badgrin:
:mrgreen:
:biggrin:
case WM_REFRESHMENUS
call reload_menu
Like this from a plugin DLL.
invoke PostMessage,HWND_BROADCAST,WM_REFRESHMENUS,0,0
just note that I do not support the use of a MRU list. QE is a multi-instance editor.
You could also try directly calling "reload_menu" with no arguments.
Quote from: jj2007 on December 30, 2022, 05:58:10 AMQuote from: hutch-- on December 30, 2022, 04:13:26 AMGet a later version of QE, that one with the blue interface is very old.
I've tested the plugin with both of them. Is there any significant difference under the hood?
Word selection when qeditor is run under windows 10... http://masm32.com/board/index.php?topic=8004.0 (http://masm32.com/board/index.php?topic=8004.0)I use windows 7. :tongue: ... usually ... :cool:
Z,
QE will run on 32 bit XP, it was written in 2008 so OS versions don't matter much. I had to tweak a few things when 64 bit Windows was introduced but it was no big deal. The history of tweaks on QE would be bigger than the source code.
If you wanted an editor with a MRU list, you would do it with the recent 64 bit version as its cplugin.dll loads at startup.
Quote from: hutch-- on December 30, 2022, 10:36:54 AM
If you wanted an editor with a MRU list ...
Me, I don't want or need one. Just helping Jochen with the initial debugging of
his plugin, since no one else stepped forward to assist him.
Quote from: zedd151 on December 30, 2022, 10:45:27 AMJust helping Jochen with the initial debugging of his plugin
Thanks a lot for your help, Z :thup:
Quote from: jj2007 on December 30, 2022, 10:54:36 AM
Thanks a lot for your help, Z :thup:
No problem. Just don't forget to send that check to the Caymans ...
Quote from: zedd151 on December 30, 2022, 11:13:06 AM
Quote from: jj2007 on December 30, 2022, 10:54:36 AM
Thanks a lot for your help, Z :thup:
No problem. Just don't forget to send that check to the Caymans ...
Already sent off with my fastest pigeon :thumbsup:
In the meantime, a refined version 5 is online (http://masm32.com/board/index.php?topic=10570.0). The installation is hopefully foolproof now: just launch the exe somewhere on the drive that hosts your \Masm32 folder. Sources are also there, in a separate archive.
To use the plugin,- hit Alt TR when you launch QEditor (->&Tools, &Recent files)
- hit Alt F 1...9 to load the registered files (->&File, &1 ... &9)
Quote from: jj2007 on December 30, 2022, 12:03:55 PM
a refined version 5 is online. The installation is hopefully foolproof now
"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools." ― Douglas Adams :tongue:
Otherwise this version works well. :thumbsup:
Oh, I forgot to mention... since you have inserted a different filter for "Open File", it might be a good idea to do the same for the "Save File As..." filter, if only for uniformity. :icon_idea:
Since the Save File As... dialog still uses the *.* filter, after saving a file as text, I was taken aback when I did not find the .txt file upon opening the Open File dialog until I noticed the change. I was used to all files showing, so I thought the file was not actually saved until I noticed the different filter in Open File... :undecided: Other users might be put off by this discrepancy as well...And really you need to fix the resizing of qEditors main window too. It also resizes even though it was originally maximized. Another reason why some users might be put off by using this plugin. :icon_idea: If you can fix these two issues, then the plugin should be ready for the general public. Or at least Masm32/qEditor users.
jj,
Post this message and it will update every instance of menus in QE.
invoke PostMessage,HWND_BROADCAST,WM_REFRESHMENUS,0,0
Quote from: hutch-- on December 30, 2022, 02:16:03 PM
jj,
Post this message and it will update every instance of menus in QE.
invoke PostMessage,HWND_BROADCAST,WM_REFRESHMENUS,0,0
Hutch,
Thanks, good to know. Have you tested the latest version? I chose a different approach: the plugin intercepts the WM_INITMENU message.
Quote from: zedd151 on December 30, 2022, 01:37:23 PM
Otherwise this version works well. :thumbsup:
Thanks :thup:
QuoteOh, I forgot to mention... since you have inserted a different filter for "Open File", it might be a good idea to do the same for the "Save File As..." filter, if only for uniformity. :icon_idea:
Thanks for your suggestions. I rarely use QEditor, but the most nagging issue for me was always that the Open dialog presented me with loads of irrelevant files of the *.res, *.obj, *.exe, *.qsc, *.txt, *.ini etc types. When I open a file in an Assembly editor, it will be *.asm in 99% of the cases. So I changed the filter, and added a
* category for the old *.* version.
That means that every once in a while you'll have to click into the filter combobox to select *, if you want to open, for example, a resource file. Afterwards, however, your dialog.rc file is accessible with Alt F2 (for example) via the MRU menu.
I could do the same with the Save/Save as... dialogs, but they are less urgent because normally you can just type the extension in a fraction of a second, e.g. MyFile.rc
My second most nagging issue with QE is that it opens as a useless tiny window in the middle of my 1366x768 screen. I thoroughly hate that, in fact
all my windows are always maximized. There is Alt Tab to switch, there is a taskbar to click.
In the case of an Assembly editor, there is a compromise: it's a
vertical language, one short instruction per line, so it makes sense to pick the maximum height but leave space to the left for other programs that the user might wish to see permanently.
However, I'll take your advice seriously and add settings for a) the filter, b) the MoveWindow service and c) the extra menu with the About MessageBox and the extra "see WM_ messages" feature :thumbsup:
Editor's are like girlfriends, I would never use your editor as it is extremely unauthodox, runs in technicolor, weird formatting and in RTF, still, if that is what you like, I am pleased it works for you. I don't live in a redundant world trying to re-live the past, 32 bit works fine and I still write PB in 32 bit but with MASM, its 64 bit to get the full power of the OS, big memory, native 64 bit, all of the advantages that you don't have in 32 bit.
QE is a tool, it is designed to be neutral to as many people as possible, it was never eye candy, it will never have technicolor and while it is designed to add plugins into, it cannot be setup up to start anything as it is a security risk. It has its own scripting engine to address code templates and it has had the guts kicked out of it many time to ensure it is robust and reliable.
As far as file open options, it will open anything, even binary files but you certainly would not try and edit one. Without have to pick you way through extensions, in the same directory it will open asm, txt, rc, def which is far more efficient that picking your way through an open dialog list to try and find the right extension.
I see an MRU as a waste of time, with a multi-instance editor, any recording of files that have been open and closed would end up a confused mess, it has a menu option for all open windows and you can routinely shift from one window to another. I dislike pseudo automated applications, a pure ASCII editor is exactly what I wanted and designed, its easy enough to cook up little personal tricks but its lousy design to embedd them into an app that other people have to use.
You may understand why it will never be released as no-one will ever get the chance to "knife and fork" it.
Quote from: jjI could do the same with the Save/Save as... dialogs
Doesn't look normal that way. Should use the same filters, imo.
QuoteMy second most nagging issue with QE is that it opens as a useless tiny window in the middle of my 1366x768 screen. I thoroughly hate that, in fact all my windows are always maximized.
But qeditor now jumps from the original position to a position that is not properly maximized or centered
after calling the pluigin,
even if it was properly maximized before calling the plugin.
Not everyone has a 1366x768 screen * So it may center on your machine... but ... not on everyone else's.
Well
if you
expect others to use your plugin... Both of these suggestions
might be useful. *
Especially if those qeditor users are used to the way qeditor behaves*.
If you
only coded the plugin
to show that you can do it, then
that is a different story. Do as you may. :biggrin:
That's all I have to say about that. :tongue: Long live qeditor! :biggrin:
Quote from: hutch-- on December 30, 2022, 10:38:52 PMI see an MRU as a waste of time
I know, Hutch. If you find one in this list that does not feature an MRU, I will delete the attachment at the top of this thread and apologise solemnly to all bare metal fans - promised :cool:
QuoteComparison of the best Coding Software (https://www.softwaretestinghelp.com/best-code-editor/)
#1) UltraEdit
#2) Atom
#3) Sublime Text
#4) Notepad++
#5) Brackets
#6) Visual Studio Code
#7) Vim
#8) Bluefish
#9) TextMate
#10) TextWrangler
P.S.: We are at version 6 now (http://masm32.com/board/index.php?topic=10570.0). It is now configurable, see \Masm32\plugins\QeMru.cfg:
useAbout =1 add the MRU menu to the menu bar
useFilter =1 use the *.asm filter for the Open menu
useAdjWin =1 adjust the QE window (once, and only if it's not maximised) to see more code
seeMessages =0 on startup, launch the WM_* messages watcherThe latter is for educational purposes. It might also help in developing own editors or plugins.
When you didn't address in words my suggestion from my last post, I thought that you weren't going to do anything about. I was pleased to see that you did indeed address my concerns in your .cfg file. :thumbsup:
bra·vis·si·mo !
/bräˈvisəmō/
exclamation
used to express great approval ...
Now the plugin is ready for the masses (but not them arses :tongue: ) even some (perhaps not all though) longtime qeditor users will be happy with what you have done here. It's usually better to not alter the original characteristics of a program when adding functionality, imo. This last plugin version is a great improvement in acheiving that goal. :thup:
Plus the added settings editor and MRU editor are good additions. Isn't RichMasm going to get jealous of you spending so much time and effort on another editor (basically cheating on it) especially one that she (RichMasm) doesn't like :tongue: ?
The cfg settings that makes me happy: (less changes to qeditors behaviour) :eusa_dance:
;----------------------------------------------------
useAbout =1 ; for MRU editor and cfg editor
useFilter =0
useAdjWin =0
seeMessages =0
;----------------------------------------------------
If you have your list of editor as you reference, you have my condolences. QE is by design, a MULTI-INSTANCE editor where most of your list are big slow single instance pigs.
#1) UltraEdit
#2) Atom
#3) Sublime Text
#4) Notepad++
#5) Brackets
#6) Visual Studio Code
#7) Vim
#8) Bluefish
#9) TextMate
#10) TextWrangler
Quote from: hutch-- on December 31, 2022, 12:27:09 PMQE is by design, a MULTI-INSTANCE editor
So is RichMasm, but it does have a MRU list.
On top of this thread, I added a tool that activates the MRU list plugin whenever the user starts a new QE instance. You may use regedit to add it manually to HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run (I don't fumble the registry programmatically) :cool:
Let me do the contrast for you, QE has user programmable menus, its own script engine, its small by editor standards, it is genuinely fast, even as a 32 bit app, it will load over 100 meg, it has its own plugin interface, a list of text processing functions etc etc etc ........
I hope you are pleased with your unusual editor but you have nothing to sell me here and I make the point that I am not interested in your suggestions, add to your own, anything you like but forget trying to impose lousy design on me, QE will never have what you are after, no technicolor, no non standard interface, no RTF, no MasmBasic, just a pure ASCII editor to code pure MASM in. :biggrin:
You must be bored at the moment, write a script engine for MasmBasic, do something that will make it better, whatever takes your fancy but forget trying to impose something on me.
Forgive me hutch, if I'm out of line but...
Quote from: hutch-- on December 31, 2022, 01:02:28 PM
... QE has ... its own plugin interface ...
Exactly.
Jochen had created a plugin so that qeditor can have an MRU list. You should applaud his effort in creating a plugin that adds functionality that qeditor does not have on its own.
He merely posted it so anyone can use it if they choose to do so.
I rarely if ever have the need for an MRU list myself, but I was willing to help him in debugging it and get it up and running since no one else offered the help. I also offered tips to make the plugin more attractive to users by minimizing what the plugin changes in qeditors behaviour.
He had done that by including a .cfg file for the user to choose whether to use certain options or not. So I don't see what the problem here is.
If you didn't want users to write and release plugins that add functionality to qeditor, then why does qeditor have the plugin interface? If you don't like an MRU list, don't use one. But you shouldn't knock a feature that many other people might find useful. So I am puzzled by your response. My two cents worth. :toothy: If it helps at all, I love qeditor. It is always my go-to editor. :biggrin:
JJ,As for twiddling with the registry I vote against it myself. Manually activating the plugin works fine as is. :biggrin:
Z,
I am tired of being nagged at over and over again to redesign a tool that I am happy with. Design is by choice and QE will never be modified to suit MasmBasic or its assumptions, its a tool in its own right and you may well understand why it will never be made available as i don't want anyone to knife and fork it. It was written back in 2008 in XP and while it has been updated many times, it is still basically the same tool.
The plugin interface was designed to work with QE, not turn it into a crap heap. Over time many have asked why it not like other editors, make it like the Borland IDE, make it like the old VC IDE, make it like UltraEdit and the list goes on and one, its never going to be a mess like Rich MASM's editor, its like QE.
I am very much, each to his own and this allows anyone to write their own but I am tired of hearing how things should be done like RichMasm, if jj is happy with his own editor, fine but any editor that I write will not be crippled by such assumptions.
Okay. [zedd steps backwards slowly and steps out the door] sorry 'bout that. No further comments from me about this.