Considérant en fait et en droit :
1.
Dans le cadre de la poursuite dirigée à l'encontre de A._, l'Office des poursuites du district de Lausanne a adressé au débiteur et à son employeur, le 18 mars 2019, une décision arrêtant la saisie de salaire à 250 fr. par mois dès le 1er mars 2019. Par courrier du même jour, l'Office a informé l'intéressé qu'il estimait son loyer (2'700 fr.) trop élevé et l'a invité à rechercher un nouvel appartement moins onéreux pour le prochain terme du bail (1er juillet 2019), sous peine de ne tenir compte que d'un loyer de 2'000 fr. par mois dès cette échéance.
Statuant le 8 août 2019, la Présidente du Tribunal d'arrondissement de Lausanne a rejeté, sans frais judiciaires ni dépens, la plainte déposée par le débiteur contre cette décision. Par arrêt du 21 octobre 2019, la Cour des poursuites et faillites du Tribunal cantonal vaudois a réformé d'office ce prononcé, en ce sens que le délai imparti au plaignant pour rechercher un nouvel appartement a été fixé au 1er janvier 2020, date dès laquelle l'Office ne tiendra compte que d'un loyer de 2'000 fr. dans le calcul du minimum vital; elle a rejeté le recours pour le surplus.
2.
Par écriture mise à la poste le 29 octobre 2019, le plaignant exerce un recours au Tribunal fédéral; il conclut au refus de toute saisie.
Des observations n'ont pas été requises.
3.
L'écriture du recourant doit être traitée en tant que recours en matière civile au sens de l'<ref-law>. Il est superflu d'examiner les autres conditions de recevabilité, le procédé étant voué à l'échec.
4.
Le recourant sollicite l'octroi d'un " délai raisonnable " pour détailler son recours. Cette façon de procéder n'est pas admissible. Le recours au Tribunal fédéral doit être entièrement motivé au plus tard dans le délai (péremptoire) de recours, aucun délai supplémentaire n'étant assigné au recourant pour compléter son argumentation (parmi d'autres; arrêts 5A_158/2019 du 26 février 2019 consid. 4; 5D_170/2018 du 30 octobre 2018 consid. 4.2.2, avec la doctrine citée).
5.
5.1. Dans un premier moyen, le recourant soutient ne " pas avoir été entendu par le tribunal Cantonal ".
5.2. Selon les faits constatés dans l'arrêt entrepris (<ref-law>; <ref-ruling> consid. 1.3.1), le recourant a demandé à être entendu en personne par la cour cantonale, sans motiver sa requête. Les juges précédents ont rappelé que, dans le canton de Vaud (<ref-law>), la procédure de recours contre le prononcé d'une autorité inférieure de surveillance est écrite, la Cour des poursuites et faillites statuant à huis clos (art. 32 al. 1 LVLP). Par ailleurs, le droit d'être entendu ne garantit pas le droit de s'exprimer oralement.
5.3. Le mémoire de recours ne comporte pas la moindre réfutation des motifs de l'autorité précédente, de sorte que le grief est manifestement irrecevable (<ref-law>; <ref-ruling> consid. 2.4 et les arrêts cités).
6.
6.1. Sur le fond, l'autorité précédente a constaté que, sur la base des fiches produites par le recourant, celui-ci réalise un salaire mensuel net de 5'666 fr. 80. Quant à ses charges, l'Office n'a comptabilisé aucun montant pour l'entretien de l'enfant majeur qui vit avec l'intéressé et son épouse, puisque cet enfant perçoit des prestations qui laissent un disponible de 852 fr. 65 en sa faveur. Au surplus, l'Office n'a pas tenu compte des frais de déplacement, dès lors que le recourant bénéficie d'un véhicule mis à disposition par son employeur. Enfin, les autres montants admis par l'Office ne sont pas contestés; en particulier, c'est à juste titre que n'ont pas été englobés dans le calcul du minimum vital le remboursement mensuel de frais de justice (20 fr.) et le versement de 800 fr. consacré à l'achat d'un terrain pour la retraite. En définitive, la saisie de salaire de 250 fr. par mois apparaît justifiée.
S'agissant des frais de logement, l'autorité précédente a constaté que le recourant occupe, avec son épouse et son fils, un appartement de 3,5 pièces dont le loyer mensuel net s'élève à 2'700 fr.; or, au regard des statistiques officielles, ce montant excède le " prix moyen " pratiqué dans le canton de Vaud pour un pareil logement. Le montant retenu à ce titre par l'Office (2000 fr.) échappe ainsi à toute critique. Dans ses déterminations, celui-ci a décidé de prolonger jusqu'au 1er janvier 2020 le délai initialement imparti au recourant pour rechercher un nouveau logement conforme aux normes locales; la décision attaquée doit être réformée d'office en ce sens.
6.2. Le recourant n'oppose pas de critiques argumentées aux motifs de l'autorité précédente, mais se contente d'exprimer des reproches tout généraux; une telle manière de procéder ne répond aucunement aux exigences de l'<ref-law> (<ref-ruling> consid. 2 et les arrêts cités). De surcroît, il ne ressort pas de la décision entreprise (<ref-law>) que le recourant a " deux enfants [qu'il] aide financièrement ", comme il le prétend, mais qu'il est le " père d'un enfant "; son allégation s'avère dès lors irrecevable (<ref-law>).
7.
En conclusion, le présent recours doit être déclaré irrecevable par voie de procédure simplifiée (art. 108 al. 1 let. aet b LTF), aux frais de son auteur qui succombe (<ref-law>). Cela étant, la requête d'effet suspensif est devenue sans objet.


Par ces motifs, le Président prononce :
1.
Le recours est irrecevable.
2.
Les frais judiciaires, arrêtés à 750 fr., sont mis à la charge du recourant.
3.
Le présent arrêt est communiqué au recourant, à l'Office des poursuites du district de Lausanne et à la Cour des poursuites et faillites du Tribunal cantonal du canton de Vaud.
Lausanne, le 5 novembre 2019
Au nom de la IIe Cour de droit civil
du Tribunal fédéral suisse
Le Président : Herrmann
Le Greffier : Braconi