Or how to get all of it

Dino is a desktop client with great UX. Some advanced configuration options are not there, e.g. for managing chatrooms - check out Gagim for that. Recommended.

Conversations is Android client app which supports all chat sync features, and also supports chat encryption with OpenPGP (but can't send to offline buddy yet), OTR and OMEMO. Recommended.

Gajim is a feature-rich desktop client. Somewhat slow as it's written in Python. Development is not very active. Recommended.

poezio is a terminal-based client app. Feature-rich and actively developed. Recommended.

mcabber is terminal-based client app. Maintained, but not much ongoing feature development. Recommended.

profanity is a terminal-based client app. Actively developed but I never used it personally. Should be good.

Pidgin is a desktop client app. Seems to be sporadically maintained, beware. I don't recommend it.