Closed xypd closed 2 years ago
Ah, I'm home again. Can get to deal with some of these issues !
Thanks XYPD, yep, it does not support nested bullets. No reason why not apart from me not getting around to do it. Honestly, I am quite unhappy with how bullets work on tomboy-ng anyway and just realised I unconsiously avoid using bullets for that reason ! Long term, its a rewrite of the bullet code, make the inset cnsistent and provide nested bullets. But, no promise its going to happen quickly....
We'll leave this ticket open to remind me of the need to do it.
Davo
Have just improved the look of bullets, so text is all indented now as it should be. But I have not, yet addressed the multilevel bullet question. Looks hard ....
Thanks for the update on the look of the bullets. I have no idea how hard it is, but appreciate you considering tackling it. It something I personally use often. But I have adjust my usage for now. Since it conflict with my mobile version (conflict ... meaning it removes them any sub :( ).
OK. Interesting. Can you tell me more about your "mobile version" ? Application ? Platform ? Sync ?
davo
I use an obscure mobile platform called maemo. It's run debian with a fork on gnome. You can find some info here about Conboy
I sync using owncloud/nextcloud, by choose the same directories on both the desktop and phone. It's been fantastic for getting my notes to the desktop. I might be changing that sync to rsync soon though, since my phone doesn't support newer versions of most stuff now days.
Ah, that makes sense, I used to work with someone who used that, long time ago. It was very unreliable back then...... Hope it works better now.
haha, I love it, both the hardware keyboard and the OS. It's more like a tiny laptop then a phone. It's been great for me so far, issue here and there but like any device I suppose. Some new hardware is coming out Q1 next year so I might actually have something more modern hardware wise :D.
I think I will close this to tidy up a bit. Multilevel bullets are on my (published) ToDo list but its a hard problem, not one I am likely to commit a lot of time to in the immediate future. Davo
Since there is only this request from a single person, I want to chime in and voice that at least for me, this is a crucial feature. Tomboy itself is a surprisingly critical part of my life for going on nearly 20 years now, and without nested bullets, tomboy-ng unfortunately can not be a viable replacement.
I appreciate that others find this type of software as useful as I do, and especially that you took it on yourself to re-implement it as the problems with GTK# and mono etc made getting tomboy working more and more difficult over the years. But still I feel I should voice the perspective on the record so to speak, that for the listmaking, scratch planning, brainstorming of ideas and project architecting that I do in tomboy, makes constant use of organizing items under other items -- multiple levels of bullets -- and without them it just cannot serve the purpose that OG tomboy serves for me.
Here's a snip out of my current todo list Nearly all of my thousands of notes are like this, and if I can't do this it is a vast downgrade -- I cannot use it for the things I have used tomboy for since the early 2000s.
I am always interested in a re-implementation of tomboy, since it's a miracle every time I manage to get old-tomboy installed on a new environment. Getting a working install usually takes 10-12 hours of trial and error over several days, with the old busted dependancies. Once installed, it's buggy with the task tray icon being invisible about 1/2 the time, since one of the last GTK updates around 2016. Since 2016 i've been clicking an invisible space in my task tray to open my notes. In spite of all this, I persist, because tomboy is the most useful thing ever. But I know one day I will have a new environment and tomboy simply will not install anymore, even after the multiple days of trial and error. I honestly don't know what I will do then. For this reason I perpetually have my eye on tomboy-ng, and I check back every year or so to install tomboy-ng and see if nested bullets have been implemented, but as long as they have not, I simply do not have a working path away from geriatric tomboy.
Anyway I don't want to sound whiney or entitled, or throw out the baby with the bathwater of your good work. I just want to put it out there that there are people like me for whom this seemingly small peace of functionality is really a fulcrum of it's viability as a replacement.
OK, I have reopened this issue. Its a maybe. As I have mentioned in the past, I am pretty unhappy with how kmemo handles bullets, I have added some pretty ugly code in there to may them work as I think they should. So, I worry that it means adding more ugly code of mine. If I find myself looking for something to do .... Davo
Not to complicate your life, but this seems a reasonable feature request. I remember noting the lack of nested bullets at some point, but I've not been keeping very complicated notes lately. For project planning tasks and subtasks, outlines for writers or charting Dante's circles of hell this is an important and useful feature. As you have indicated this is not the first limitation you have encountered in kmemo, so maybe you could work with upstream? (Yeah, pretty cheeky comin' from a non-programmer.)
I wish there was something I could do to help. I am inferring that kmemo is the engine of the "rich text box" tomboy-ng displays notes through? And kmemo is one control out of the KControls project here https://github.com/kryslt/KControls This part of their wiki talks about some of their funniness with bullets https://wiki.freepascal.org/KControls/KmemoNotes#Bullets
I tried to look at their source code to get an idea of how it works, if the bulletedness is a bit when it would need to be an integer, or maybe nested bullets are really just indented bullets, and if indents and bulletness are seperate kmemo block properties. Just trying to understand the situation. Sadly my unfamiliarity with any aspect of pascal (I didn't actually realize it was still an active language) is a barrier.
Yes, you have summed it up there GunArm, KMemo does do nested bullets but overall, its bullets lack some of the behaviour we expect bullets to to do so I have added code to make up the difference. Its my code that does no do nested bullets. And of course, this code is called each time the user presses a key so its critical it be fast. So, I have taken the approach that it should do as little as possible. Sounds like I will have to reconsider.
I believe to best approach is going to be to go back and fix the underlying issues in KMemo rather that the pretty ugly wrapper I have used.
pascal (I didn't actually realize it was still an active language)
yes, still quite active. Has quite a large user base. While simple Pascal looks quite similar to simple C, the Object Pascal we use here is more to be compared to C++. And they are somewhat more different. The big advantage is the closely intergrated LCL, Lazarus Component Library and IDE that makes the cross platform GUI very easy.
Davo
OK, yes, its possible. And perhaps not as hard as I decided back in the early stages of this project. But they cannot all be bullets, I must use a different 'character' for each level. I can use things like Bullets, Arabic Numerals, Roman Numerals, Letters. The Roman and Letters can be upper or lower case, this is what I have been playing with -
Your comments welcome !
Davo
Great news. That said I would not mix bullets and letters/numbers if possible. The latter suggest order/priority as well as hierarchy. I recall using bullets, hyphens (-) and then dots (.), even in ancient, pre-word processing days. This could be extended with the em-dash (—), perhaps mathematical signs like =, +, >. The asterisk is also possible, but might best be used at the highest level given its size. Others may have better ideas.
Yep, agree. But to use other than the ones predefined in KMemo, I'll have to patch KMemo. And that causes problems with my Debian and Ubuntu builds, using (eg) KMemo 'out of the box' makes things a lot easier. During both builds, I get a live copy direct from TK's repository. If I want to patch it, its a case of applying that patch, completely hands off, during the remote build process. These builds happen on Debian and Ubuntu remote machines you understand. Davo
Some nice progress here. So you're saying that your dev setup will break or cause issues if you change the KMemo bullets to something none debiab/ubuntu standard?
Cause I would be happy with some of the following, * ° • - — + > » or even a simple "."
So you can't not compile it on your setup?
This too has made it tough to sync all my note without it reformatting. x
Yep, agree. But to use other than the ones predefined in KMemo, I'll have to patch KMemo. And that causes problems with my Debian and Ubuntu builds, using (eg) KMemo 'out of the box' makes things a lot easier.
Understood. I assume from the reply there is no numbered list defined in KMemo, which would be better than mixing.
xypd raises a good question about reformatting, which has a further implication: would KMemo actually reformat, or choke??? I see some nasty testing ahead... :-/
xypd, no, its not a case of using debiab/ubuntu standard. Just of using the characters TK has chosen to use in KMemo. KMemo is an external library linked to tomboy-ng at compile time. The source is readily available and can be patched when I build -ng locally, on my laptop for example.
But when building as part of a Debian or Ubuntu source build, I submit my source code and scripts that know how to do the building. Those scripts go and get KMemo from its 'official' repository and then use it. While I can add patching of kmemo to that process, it increases the risk of a build failure. And all that building happens out of my sight. KMemo is a pretty complicated package, if I hack away at it, I'll need to do a lot of testing !
TK really describes this feature as "paragraph numbering". KMemo allows the use of several 'characters', but only one of them is not sequential, the bullet. I believe I have to use a different character for each level so we can have only one non-sequential level.
I will log an issue with TK and see if I am wrong about each level having to use its own character. He is a pretty busy guy but has helped me in the past.
Davo
OK, like wow ! Less that 24 hours after I logged this, TK has come back with a solution ! I'll have to do some tests and get it lined up for Lazarus's Online Package Manager but right now and it looks pretty good.
Unlike fixes to Lazarus LCL, fixes to KMemo are available to use almost immediately !
I'll need to do those tests ....
https://github.com/kryslt/KControls/issues/35
Davo
Here is a sample. TK has provided us with two extra 'bullets', I have altered the order a bit here and we still have lower case letters as a fourth level. Now, I don't see a case for four levels anyway. But I note that xypd's sample does have four levels. So, xypd, is using sequential lowercase OK at the fourth level ?
Personally, I have only ever used four levels of bullets in legal documents, and I don't think of tomboy-ng as the tool for that sort of work. But I am looking for your thoughts folks !
Davo
This sounds like great news! I would need to look on my other device to see really how many levels I use.
I think however this is very workable for daily use. So if this is what it needs to be I think I can live with that. I'm not sure how possible this requests would be, but could an preference option be added to change the the level order? So meaning I could choose apps wide to have square -> dots -> sequential for example?
I don't have an issue with sequential, since some other might find it useful.
Will response more about details in a few days, when I get to my device.
Been out through the weekend, so I just want to say I'm ecstatic with the progress. I really appreciate your having taken time out of your life to address this. I would have been ok with the original nested things turning in to numbering, although it would not be my first choice, but atleast items could go under other items.
As for the current iteration, having checked over a lot of my notes, I saw a few times where I went out to 4 levels, but it was rare. I'm grateful for the fact it goes out that far regardless of if the sigils turn into ordered letters.
My initial concern about the sequences though, is that I know WYSIWYG editors, even very basic ones, are hard to write and maintain, even google's built into gmail is not always perfect. And autonumbering is weird even in big software like LibreOffice. I find it miraculous when they don't do weird things. For example, what happens if you have two sets of auto numbers, and then you delete the space between them? Or if you have 1-5 (or a-e) and reduce the third one a level back, or put a space after the third one, do 4 and 5 become 1 and 2 like you'd expect, or does it leave you with a sequence starting at 4? OTOH maybe it "just works", but I just know it can be rife with gotchas.
Frankly, even having multiple different character sigils for different bullet-levels isn't completely necessary to me, IE, if it was the same sigil at all levels I'd accept that. It's nice that there are multiple sigils though. But it's certainly not critical that they are fully unique at each level, so depending on code limitations, if it could just go back to bullet style 1 after level 3 that's an option. FWIW, that's how original tomboy works, it has 3 bullet symbols and just repeats the sequence at further levels. But if, for whatever code-wise reason, it's easier to go to an incrementing 4th level that's fine too. Just thinking how even though no-one requested incrementing, if it's in the software, someone will get neurotic about it and file bugs about oddities, which might be harder to fix than the original feature was to create . So just saying looping sigils is another possibility.
Side note: Do you think the migration of notes between old tomboy and ng will be able to convert tomboy bullets to tomboy-ng bullets?
GunArm, I have not tested how well the sequencial numbering works to be honest. I have had to some ubtrusive code around KMemo's "paragraph numbering" system to make it behave as we expect it to, things like backspacing at the beginning of a bullet line. I may need to do more if we have issues with the fourth level. But if thats the case, I think I will keep TK informed, he has been very helpfull here for a guy who said he does not want to work on KControls any more !
The issue is not really about reusing the bullet image itself, the software has a fixed number of 'slots' each has its own image. We could have them all with the same image, the limiting factor is the number of slots or levels defined. But TK has demonstarted that was reasonably easy to add two more....
Migration from Tomboy to tomboy-ng with extended bullets is my problem, should not be too hard. Hardest thing will getting an instance of Tomboy going so I can see what the html looks like. If you have an existing note with multiple levels, posting it here would be a big help !
Davo
could an preference option be added to change the the level order?
@xypd - I would rather not, it would be another thing that needs to be looked up and dealt with on every key press. And that would slow things down. We have some very fast typists out there ...
Better IMHO, to decide on the best order now and 'hard wire' it that way.
Incidentally, the changes being made here (in my code, not TK's) to accommodate multiple levels should be a touch faster now that i understand a bit more about the levels. Thats nice !
Davo
I made a sample OG tomboy note and exported it to html.
Funny thing, github doesn't allow attaching html files So I went to put it on pastebin. And pastebin says it's offensive content lol. I whittled the doc down, and eventually worked out that it's "http://beatniksoftware.com/tomboy" which is offensive, although not ""http://beatniksoftware.com/" or "tomboy". Pastebin literally would not let me paste this content. Never seen that before, anyway I had to find a different pastbin site.
Let me know if this link doesn't work or anything: https://ghostbin.com/paste/GKvZ8
Thanks GunArm, but what I need is the file in .note format, its xml but pretty different to html. So, just the note please. It will still have the content offensive to pastebin (??) so, maybe just zip it up ? There is also an email address in the license file for me.
Davo
My mistake, not sure what I was thinking exporting it. Here's the .note note.zip
Yep, I can read that fine, thanks.
But oh, wow, that is the ugliest syntax ! To get each level they embed a whole new list block inside another list block. I am going to have to think about that. I am pretty sure my existing xml parser will not cope with recursion like that.
Although I would rather not do it, I might end up making a standalone importer and use that to export a more sensible syntax, one with bullet level as an xml attribute. But that will blow my claim to being Tomboy compatible.
Some thinking required.....
Davo
Here is an very old note sample as well:
After looking through it looks like I have gone as far as 5 deep. However I could only find one example of that. It would appear that I mostly use 1 level down, often 2 levels down and occasionally 4 levels down and rarely 5 levels down.
Btw, like was mentioned above at the 5 level it turn back to the first level bullet shape.
hope this helps.
Ah, thanks xypd, thats interesting. Conboy apparently decided the 'official' Tomboy xml was too hard as well. It uses the model I planned to use. The conboy code would be a doddle to parse.
But I have to make the real Tomboy model work too. And I have been working on it most of today and just decided the approach I am using, a state machine, does not work.
I must get it to be able to read the Tomboy standard but will write in the Conboy standard if I can establish that Tomboy will also read it, it heaps easier and quicker. Sigh ....
Davo
Thanks David,
Of course don't kill your self over the conboy compatibility, since I not sure how much more life is in the device I'm using. I just wanted to share an example. I would be upset if it all work out either ... lol
Also want to reiterate that 4 levels would probably be enough for a majority of my needs.
Thanks for continuing to work on this.
Since I have a running instance of tomboy I can test its compat with other formats
On Thu, Aug 26, 2021, 08:57 xypd @.***> wrote:
Thanks David,
Of course don't kill your self over the conboy compatibility, since I not sure how much more life is in the device I'm using. I just wanted to share an example. I would be upset if it all work out either ... lol
Also want to reiterate that 4 levels would probably be enough for a majority of my needs.
Thanks for continuing to work on this.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/tomboy-notes/tomboy-ng/issues/84#issuecomment-906437655, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABQGHBMFRATFFMYZDEWMGK3T6ZB4FANCNFSM4GDIPV2A . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email .
Since I have a running instance of tomboy I can test its compat with other formats
That might be useful. I have attached xypd's test file (as a zip). It is using different xml to store the bullet information, turns out the same as I would prefer. So, GunArm, if you can open and display the bullets that xypd has in there on Tomboy, that would mean I can use that format.
I suggest you make sure Tomboy is not running, unzip the file into where ever Tomboy keeps its notes and then restart Tomboy. And you may find Tomboy does not like it, unfortunatly Tomboy seems to just ignore notes that it believes has bad XML (tomboy-ng yells and screams). So, if you cannot find it, bad news. Title is "UX/Design Resources". I note it also seems to have dropped a few XML tags and uses the Zulu version of the date format. So, either may also break things ...
Anyway, the conboy bullet format is a lot better approach than the one Tomboy uses. And just an extension of what -ng does now.
I have tomboy-ng reading and displaying both the provided test notes, thanks, they were useful indeed. So, now, its about getting -ng to save in one or other of the formats and then allow editing, that last bit will be interesting !
Davo
Seemed to find it ok. This is what it looks like:
Ah, excellent news, I'll run with that then. Been in C19 lockdown here now for a week so I have the time ..... Than GunArm !
Davo
OK, I think I have it working as expected. I say 'think' because there is a a lot of new code in there. Not only new Bullet code but there is also relatively untested new code to do the regular note saves in a separate thread. So, I ask, you want to have a try with it ? I have made packages I will use for my testing and can post them if you want to try. But there is an element of risk.
xypd - MacOS ? GunArm - Windows ?
Davo
Yeah windows here. If you've got a build I'll be happy to beat on it :)
Yeah macOS is fine. I could also try linux in vm or on arm64. But mac would be the easiest at the moment
OK, they are available from -
https://github.com/tomboy-notes/tomboy-ng/releases/tag/v0.33a
Look for the 0.33b in the file names. I have tested superficially but, as I mentioned, some big changes in there.
@xypd, arm64 ? What flavour are you using ? I ship a -ng with armhf, for RasPi on RasPi OS but no 64bit version. I suspect it might be hard to make both because I cross compile and it seems I can have either but not both on the same system. So, interested in how widely used the 64bit OS's are.
Davo
I would try it on my PinePhone which can run multible distros. I actually already have it install on mobian (debian mobile DE), so maybe the .deb will work fine. The device has an Allwinner A64 chip in it. But on linux I would likely bootup my ubuntu virtualbox vm
Look like Libgtk2.0-0, libc6, libcanberra-gtk-module are miss for the arm64 install. Just fyi.
After installing them, I was not able to install tomboy-ng armhf. Will give the mac OS a tried once I get time to backup my notes or maybe I can add it to another user account.
After installing them, I was not able to install tomboy-ng armhf.
No, the armhf is a 32bit system. You might be able to install all the necessary 32bit libraries but it would be pretty ugly !
It 'should' be possible to build a 64bit arm. But I have not tried, mainly because no demand :-)
Allwinner64
Is an arm chip too. So, won't work with the intel targeted packages.
Davo
Ah I see thanks for that info. Never knew that about armhf.
I don't see a windows build for 33b. I'm looking for an exe right? I see rpm, deb, tgz. Only one exe (for 33a)
I don't see a windows build for 33b.
No, I don't know what I did wrong there, maybe i uploaded the 0.33a version again ? Sorry, the one you want is now there, yes, its called 0.33b
Davo
Thanks.
Having the nested bullets is great. Also my notes from tomboy all migrated and look good from a cursory glance.
Here, in no particular order of significance, are some oddities I noticed:
If you bullet something, and then unbullet it, some indent is left over, which goes away when you close/reopen the note
There seems to be slightly more indent on the 8th bullet than the rest of them
Migrating really deep bullets (deeper than I have ever used), the bullet level gets lost past level 6. In this screenshot I went out to 9 only to test, knowing it was one more than supported, but would have expected 7 and 8 to increased and I guess 9 to be on level 8. Here are two .note files related to this one. tomboy00 is the original tomboy note, tomboyng is the note after it was opened in tomboy ng, and then I changed a char and changed it back to force a save. migrate-test.zip
Maybe this is expected and can't be helped, but just to report, it looks like the incrementing numbers are global for the note
If you bullet something, and then unbullet it, some indent is left over,
Yes, it does.I dont know why I did not notice that, I have a fair idea of what causes it.
There seems to be slightly more indent on the 8th bullet than the rest of them
Yep, found it.
the bullet level gets lost past level 6.
That is strange. Calling no bullet level 0, I can go out to 8 and there it stops. I get 7=Uppercase Roman; 8=Number; 9=Is the same numbers
Great feedback GunArm. Sadly it might be a week before I have time to mess around with out changing my live setup.
Accidental close .....
incrementing numbers are global
Yes, thats what made me go back to TK at KControls and request one more (non-sequential) bullet. He has now done that and agrees more work is needed so what we see now is temporary. I have supported all nine levels but think the latter ones are unusable. So, will advertise as having four. After that, its your decision to use them or not. But they will be at least saved as levels.
Hey David,
Will you be adding sub-bullets to tomboy-ng?
I noticed that it was missing and reformatting my notes on my phone (tomboy clone).
I'm running a Mac 10.13.3
Hoping for something like this: