Simplifying CleanerML


So, I was reading on how to write CleanerML entries and I have to say, it is a lot more complicated then writing Winapp2 entries. With Winapp2, all you need to do is set a location/file for a detect, set paths to be deleted, and set a section for it to be in (warning is optional). In CleanerML, it seems its over double the work that needs to be done. You need to give it a ID, then label it, then a description, then you need to locate what needs to be deleted, do another ID and description (unless these are just optional?) and then you need to tell it what to do and how it should be done. It would be nice if it was more like Winapp2 where you just set the location, then path, then a section of the program it belongs to.

I was trying to learn how to make CleanerML entries so I can contribute cleaners to BleachBit, such as the abandon Winapp2 entries can be moved to CleanerML instead, but I just cannot understand how to do them.

Yes, CleanerML files are longer and less compact. I think at least some of it is they are more powerful.

Are you starting from scratch? Perhaps you can try copying an existing cleaner.

As far as abandoned Winapp2.ini entries: because they already written, perhaps it is not worth rewriting them. It's the old saying "if it isn't broken don't fix it." :)

Andrew, lead developer


I am guessing that probably isn't going to change much, huh?

Ya I tried starting from scratch while trying to write a few cleaners. Didn't work out on my end. I was looking at some of the existing ones in BleachBit already, but not much help there, either. I think maybe it's also a reason as to why many people aren't writing them themselves either. I only ever see a few contributors, most people have just been suggestion cleaners instead of writing them. I guess others might not be understanding them either?

Also known as Alex.

Moderator for BleachBit and a maintainer for Winapp2.

Check out my open-source group on Steam:

Windows 10 x64 (switching to ReactOS in the future).

Changing CleanerML is not a top priority. What would be more likely is a user-friendly interface---possibly within the application, as a third-party application, or as a web-based tool.

Meanwhile I am glad to assist anyone with specific issues.

Andrew, lead developer