Hi
After noticing the comments about file tabs and the problems with them, I decided it was time to post the code I use as a replacement for file tabs. A single row of filetabs isn't enough for me. I wrote this code for myself and it does what I want, but it may not be what anyone else wants. Anyway here it is. I'm looking for people to beta test it and to get it working on platforms other than Windows. I also want to know if this code is useful to you and any comments or suggestions you have.
This code is very likely to have a performance issue if you have lots of files open at the same time - (not sure how many) due to the one second timer that decides whether to refresh the toolbar by iterating through all open buffers. The refresh itself involves lots of copying and sorting and this is probably noticable with hundreds of files open. I will fix this problem fairly soon if there's enough interest. I usually have approx 40 files or less open at the same time and 2 GHz/3 GHz machines so it hasn't been a problem for me.
This code provides a toolbar that displays a vertical list of open buffers. I have it docked at the right hand side and since I generally have no more than about 40 files open at the same time, I can switch buffers quickly. I currently refer to this toolbar as GFileman, which stands rather loosely for GUI file manager, but it's not currently a file manager, so this name might change one day. Also included is a "goback" mechanism that allows you to retrace where you've been.
Currently the code works on Windows only and in Slick V11, but is likely ok in Slick V10. Slick V9 or earlier will need some changes, notably to the GFM_filename_entry_mode command (due to new toolbars in Slick V10) and to set the vse_v9_mode variable to true.
At this stage, I've included a copyright notice in the code, but this is mainly because I'm not sure how to handle this issue (open to suggestions). I want to encourage contributions but I want them to be organized and I don't necessarily have lots of time to diff/ merge and resolve conflicts, yet I want to keep control of the code. For now, the code is copyright and you can't redistribute this code except as follows.
- You can post snippets of code that fix problems.
- You get the code working on a new platform, in which case you may post a complete set of files, in a zip file with your name, initials or pseudonym in the zip filename. If possible, make changes to the code using #ifdef etc according to the platform
- You get the code working in Version 9 or earlier of slickedit, in which case post a complete set of files.
- You change colours or sizes of any bitmap files, in which case, post a complete set of bitmap files.
- For now, you may not post code that adds or changes functionality, but you can send it to me via a private message (don't send email).
The attached zip file includes documentation on how to install and use. I recommend using a new config folder to try out this code, but I have been using it for quite a while so there shouldn't be much problem, though I have made quite a few changes over the last few days. If you're unfamiliar with Slick C or writing macros, please read the sections in the documentation carefully regarding installing, uninstalling and handling SlickEdit upgrades.
I would like to keep this thread for discussion on how contributions to this code could be handled and other similar issues. I would like to get comments on whether this toolbar is useful and suggestions for new features (I have a list already) or improvements so I will start a new thread for that ("GFileman comments"). If you find a bug, please start a "GFileman bugs" thread! If you port the code to a new platform, maybe start a "GFileman new platforms" thread.
Graeme
[Updated the zip file to Rev2]