Hacker News new | ask | show | jobs
by viktorelofsson 2656 days ago
Hi! Author here. The name has been with us since the beginning, and the first few versions were actually quite small. Since then, features and other things have made things grow (mostly in file size). Since I'm a lone developer, the hardships of working with the Win32 API has made me base PicoTorrent on wxWidgets, which is why the file size is what it is.

I still try to keep it slim, fast and clean in overall usage :)

2 comments

If you can elaborate on the nature of hardships, I can try and help working around them, without resorting to wxWidgets.
Sure! Two examples where the Win32 API and/or my knowledge of it falls short,

  * Layout management. There's no "easy" way of managing dialog layouts (letting controls expand/shrink on resize etc).
  * Custom controls (e.g a tree-list-view) are clunky to write.
I'd much rather write PicoTorrent on top of the pure Win32 APIs, which I did in the beginning. It then evolved and when I valued time against frameworks, frameworks won, and saved me time :)

You can hit me up at the email in my profile if you want to discuss further!

Yeah, that's peanuts to be honest.

We wrote a layout manager and it's under 400 lines with very liberal vertical spacing. There's really not much to it - just hook the container window and reshuffle the contents in response to WM_SIZING, WM_SIZE. Handle WM_GETMINMAXINFO too if needed.

Custom controls aren't that much harder, but they do require some work indeed. TreeView and ListView are _really_ well designed in terms of customization support. The documentation is a bit heavy, granted, but once you get a gist of NMCUSTOMDRAW phases it's all pretty trivial from there.

Thanks for the information! It's given me a positive outlook on a second trial for the Win32 API stuff :)
No worries - would have done the same. Just found the naming a bit ironic :)