Fatti:
A.
A._ e B._ sono proprietari del fondo part. n. 67 (233 m 2) di Z._, sezione di X._, su cui sorge una casa d'abitazione con giardino. Il fondo confina con la particella n. 68 (137 m 2) di proprietà di C._ SA, su cui è situato uno stabile agricolo che occupa l'intera superficie del terreno. La facciata est di tale stabile agricolo, che dispone di sei aperture, si trova a confine con il giardino di A._ e B._ e la gronda del tetto lungo tale facciata sporge sul loro fondo. La particella n. 67 non è gravata da alcuna servitù in favore della particella n. 68. I due fondi sono ubicati nel nucleo di Y._.
B.
Il 28 febbraio 2007 C._ SA ha ottenuto dall'allora Municipio del Comune di X._ il permesso di riattare il suo stabile agricolo per trasformarlo in una casa di abitazione. A._ e B._, che si erano opposti al rilascio della licenza edilizia, hanno impugnato la decisione municipale davanti al Consiglio di Stato del Cantone Ticino, che con risoluzione del 22 maggio 2007 ha respinto il ricorso. Nel 2008 C._ SA ha così iniziato i lavori di costruzione.
C.
Con decisione del 23 maggio 2014 il Pretore del Distretto di Lugano, che nel frattempo aveva ordinato in via cautelare una parziale sospensione dei lavori edili (e meglio la sospensione dell'esecuzione delle finestre nuove previste sulla facciata est, con l'autorizzazione alla posa provvisoria di serramenti apribili a ribalta sulle aperture già esistenti), ha respinto la petizione 30 dicembre 2008 con cui A._ e B._ hanno segnatamente chiesto di ordinare a C._ SA - sotto comminatoria dell'art. 292 CP - di chiudere le aperture esistenti sulla facciata est dello stabile sito sul fondo n. 68, di non aprire su detta facciata altre nuove finestre (segnatamente quelle previste dal permesso di costruzione), di eseguire il tetto del nuovo edificio in modo che non sporga sulla particella n. 67 e di rimuovere un'eventuale sporgenza del tetto creata pendente causa. Secondo il Giudice di prime cure, l'opposizione di A._ e B._ alle aperture ed alla sporgenza previste dalla licenza edilizia costituiva un abuso di diritto.
Con la medesima decisione il Pretore ha invece parzialmente accolto l'azione riconvenzionale di C._ SA, riconoscendole segnatamente una servitù per mantenere e aprire sulla facciata est le finestre autorizzate dalla licenza edilizia (previo versamento di fr. 67'500.--) ed una servitù per la sporgenza del tetto autorizzata dal permesso di costruzione (senza obbligo di corrispondere alcuna indennità).
D.
Con sentenza del 1° dicembre 2016 la prima Camera civile del Tribunale d'appello del Cantone Ticino ha parzialmente accolto l'appello del 27 giugno 2014 introdotto da A._ e B._ respingendo le domande riconvenzionali di C._ SA intese ad ottenere una servitù di apertura ed una servitù di sporgenza, mentre ha respinto l'appello di medesima data presentato da C._ SA.
E.
Con sentenza 5A_45/2017 del 14 gennaio 2019, il Tribunale federale ha parzialmente accolto, nella misura della sua ammissibilità, un ricorso in materia civile presentato da A._ e B._ contro la sentenza del 1° dicembre 2016 della Corte cantonale, annullandola nella misura in cui respingeva il loro appello relativamente alle nuove aperture sulla facciata est dello stabile sito sul fondo part. n. 68 di Z._ e ripartiva le spese processuali e le ripetibili di prima e seconda istanza. Il Tribunale federale ha sostanzialmente confermato il giudizio della Corte cantonale per quanto concerne il mantenimento delle aperture preesistenti, rinviandole per contro la causa per una nuova decisione riguardo alle nuove aperture.
F.
Statuendo nuovamente sulla causa, con sentenza dell'8 maggio 2020 la prima Camera civile del Tribunale d'appello ha parzialmente accolto l'appello di A._ e B._, vietando alla C._ SA di aprire o ampliare nella facciata est dello stabile situato sul fondo part. n. 68 le finestre indicate nel piano del 17 luglio 2006 oggetto della licenza edilizia rilasciata il 28 febbraio 2007 dall'Esecutivo comunale e contrassegnate con i numeri 1, 5, 6 e 7 sulla planimetria riprodotta nella sentenza medesima. Adita su istanza del 5 giugno 2020 di C._ SA, con sentenza del 29 marzo 2021 la Corte cantonale ha interpretato il dispositivo della sua sentenza, precisando che il divieto concerneva le modifiche colorate in rosso sul citato piano relative alle finestre indicate con i numeri 1, 5, 6 e 7.
G.
C._ SA impugna la sentenza dell'8 maggio 2020 della Corte cantonale con un ricorso in materia civile del 10 giugno 2020 al Tribunale federale, chiedendo in via principale di annullarla e di rinviarle la causa per una nuova decisione limitatamente al tema delle nuove aperture. In via subordinata, chiede che la sentenza impugnata sia riformata nel senso che l'appello di A._ e B._ sia respinto con riferimento alla loro domanda di vietarle l'apertura di nuove finestre nella facciata est dell'edificio sul fondo part. n. 68. Postula di conseguenza una nuova ripartizione delle spese processuali e delle ripetibili per la procedura di appello.
Non sono state chieste determinazioni.
Diritto:
1.
1.1. Il tempestivo (art. 100 cpv. 1 LTF) ricorso in materia civile - interposto dalla parte soccombente in sede cantonale che è particolarmente toccata dalla decisione impugnata e ha un interesse degno di protezione alla modifica della stessa (art. 76 cpv. 1 LTF) - è diretto contro una decisione finale (art. 90 LTF) emanata su ricorso dall'autorità cantonale di ultima istanza (art. 75 cpv. 1 e 2 LTF) in una causa civile (art. 72 cpv. 1 LTF) di natura pecuniaria.
1.2. Giusta l'art. 74 cpv. 1 lett. b LTF, nelle cause a carattere pecuniario il ricorso in materia civile è ammissibile soltanto se il valore litigioso ammonta almeno a fr. 30'000.--. In concreto, la ricorrente sostiene che, sulla base di un'offerta da lei richiesta, il costo preventivato per "la chiusura delle finestre esistenti" sarebbe di fr. 75'000.--, sicché il valore di lite supererebbe i fr. 30'000.--. I costi complessivi preventivati di cui si avvale la ricorrente non contemplano tuttavia una chiara distinzione tra le diverse categorie di finestre. Non è in particolare chiaro se tali costi si riferiscono esclusivamente alle quattro aperture ancora litigiose in questa sede. La dichiarazione della ricorrente riguardo al valore di causa appare pertanto quantomeno opinabile. La questione può tuttavia rimanere indecisa, giacché quando, come in concreto, è impugnata una sentenza emanata a seguito di un parziale rinvio del Tribunale federale, vale il medesimo rimedio giuridico del procedimento di rinvio, anche se il valore litigioso dei nuovi punti decisi dovesse essere inferiore a fr. 30'000.-- (sentenza 5A_539/2017 del 3 aprile 2018 e rinvii). Considerato il rinvio di cui alla sentenza 5A_45/2017 del 14 gennaio 2019, la via del ricorso in materia civile è pertanto aperta anche nella fattispecie.
2.
2.1. Con il ricorso in materia civile può essere fatta valere la violazione del diritto federale (art. 95 lett. a LTF), che include anche i diritti costituzionali (DTF 133 III 446 consid. 3.1). Salvo che per i casi citati dall'art. 95 LTF, non può invece essere censurata la violazione del diritto cantonale; è per contro possibile prevalersi di un'applicazione arbitraria (art. 9 Cost.) o lesiva di altre norme della Costituzione federale di tale diritto (DTF 133 III 462 consid. 2.3).
Il Tribunale federale applica il diritto d'ufficio (art. 106 cpv. 1 LTF). Nondimeno, tenuto conto dell'onere di allegazione e motivazione posto dall'art. 42 cpv. 1 e 2 LTF, la cui mancata ottemperanza conduce all'inammissibilità del gravame, il Tribunale federale esamina di regola solo le censure sollevate (DTF 142 III 364 consid. 2.4 con rinvii). La ricorrente deve pertanto spiegare puntualmente nei motivi del ricorso, confrontandosi con i considerandi della sentenza impugnata, perché quest'ultima viola il diritto (DTF 143 II 283 consid. 1.2.2; 142 III 364 consid. 2.4). Per le violazioni di diritti fondamentali e di disposizioni di diritto cantonale e intercantonale, le esigenze di motivazione sono più severe; la ricorrente deve indicare in modo chiaro e dettagliato i diritti che ritiene violati e spiegare in cosa consiste la violazione (art. 106 cpv. 2 LTF; DTF 146 IV 297 consid. 1.2; 143 II 283 consid. 1.2.2; 142 III 364 consid. 2.4). Critiche appellatorie non sono ammesse (DTF 146 IV 114 consid. 2.1; 142 III 364 consid. 2.4).
2.2. Nella misura in cui la ricorrente si limita ad esporre la propria opinione senza confrontarsi in modo puntuale con i considerandi della sentenza impugnata, spiegando specificatamente per quali ragioni violerebbero il diritto, il gravame non adempie le citate esigenze di motivazione ed è quindi inammissibile. In particolare, il ricorso non soddisfa i requisiti di motivazione dell'art. 106 cpv. 2 LTF laddove la ricorrente si fonda su una propria interpretazione dell'art. 7 n. 7 lett. d delle norme di attuazione del piano particolareggiato del nucleo di Y._, senza sostanziare un'applicazione manifestamente insostenibile, e quindi arbitraria, di questa disposizione del diritto comunale da parte della Corte cantonale.
3.
3.1. La ricorrente rimprovera alla Corte cantonale di essersi scostata dalla sentenza 5A_45/2017 del 14 gennaio 2019, con cui il Tribunale federale le ha rinviato la causa unicamente per statuire sulle nuove aperture nella facciata est dello stabile e per stabilire la conseguente nuova ripartizione delle spese e delle ripetibili della procedura cantonale. La ricorrente sostiene che con il giudizio dell'8 maggio 2020, i giudici cantonali si sarebbero pronunciati a torto anche sulle finestre esistenti, vietandole.
3.2. Una decisione di rinvio del Tribunale federale (art. 107 cpv. 2 LTF) vincola sia l'autorità alla quale la causa è rinviata sia, se deve nuovamente statuire sulla controversia, il Tribunale federale stesso. Riservati eventuali nova che dovessero essere ammissibili, né la precedente istanza né le parti possono fondarsi su una fattispecie diversa o esaminare l'oggetto del litigio basandosi su considerazioni respinte esplicitamente o non prese minimamente in considerazione nella sentenza di rinvio (DTF 143 IV 214 consid. 5.3.3; 135 III 334 consid. 2 e rinvii).
3.3. Contrariamente all'opinione della ricorrente, nella sentenza dell'8 maggio 2020 la Corte cantonale ha statuito unicamente sulle finestre n. 1, 5, 6 e 7 che sarebbero state aperte o ampliate nella facciata est dell'edificio sul fondo part. n. 68 secondo il progetto di costruzione. Il divieto di aprire o di ampliare tali finestre non si estende per contro alle finestre preesistenti, che non erano oggetto della decisione di rinvio del Tribunale federale. La portata del divieto, circoscritto all'esecuzione delle nuove aperture, risulta in modo chiaro dalla lettura della sentenza impugnata ed è inoltre confermata dal giudizio del 29 marzo 2021, in cui la Corte cantonale ha ulteriormente precisato l'interpretazione del termine di "finestre esistenti". I giudici cantonali non hanno pertanto oltrepassato i limiti della sentenza di rinvio, sicché la censura è infondata.
4.
4.1. La ricorrente sostiene che l'art. 7 n. 7 lett. d delle norme di attuazione del piano particolareggiato del nucleo di Y._ non consentirebbe soltanto di mantenere le aperture preesistenti, ma anche di eseguire quelle nuove. Adduce che si tratterebbe di una regolamentazione esaustiva contenuta in uno strumento pianificatorio dettagliato, che non lascerebbe più spazio all'applicazione degli art. 125 segg. della legge del 18 aprile 1911 di applicazione e complemento del Codice civile svizzero (LAC; RL 211.100). La ricorrente ritiene che, in tali circostanze, la giurisdizione civile sarebbe esclusa.
4.2. L'art. 686 CC dispone che i Cantoni hanno facoltà di fissare le distanze da osservarsi negli scavi e costruzioni (cpv. 1) e possono emanare ulteriori norme edilizie (cpv. 2). Il Cantone Ticino ha concretato tale riserva in favore del diritto privato cantonale delle costruzioni agli art. 102 segg. LAC, prevedendo in particolare agli art. 125 segg. LAC delle norme relative alle distanze per le finestre. L'art. 168 LAC stabilisce tuttavia che le disposizioni dei piani regolatori ed ogni altra disposizione di polizia edilizia o sanitaria, contenute nei regolamenti locali, quelle delle leggi e regolamenti speciali sulle foreste, sulle arginature e simili materie di pubblica utilità (art. 702 CC), "prevalgono a qualsiasi disposizione di diritto privato".
4.3. L'art. 7 n. 7 lett. d delle norme di attuazione del piano particolareggiato del nucleo di Y._ disciplina le aperture su edifici e manufatti che rientrano in tale zona. Questa disposizione prevede in particolare che "[è] vietata la formazione di nuove aperture in palese contrasto con i caratteri architettonici delle facciate antiche. Singole aperture che per forma o materiali qualificano il disegno delle facciate non possono essere modificate. Eventuali nuove aperture dovranno essere eseguite nel rispetto delle dimensioni di quelle esistenti e nel rapporto vuoto-pieno delle facciate esistenti e circostanti". La norma prevede altresì che "[n]ella trasformazione di rustici e stalle è ammesso il mantenimento delle aperture esistenti, che possono essere munite di serramenti posati sul filo interno dei muri".
La Corte cantonale ha rilevato che le prescrizioni edilizie relative alla zona del nucleo di Y._, non regolano le distanze minime per aprire finestre verso un fondo altrui. La citata disposizione permette di conservare le aperture esistenti nella trasformazione di rustici e stalle, mentre riguardo alle eventuali nuove aperture si limita a disciplinarne la foggia, prescrivendo ch'esse dovranno essere eseguite nel rispetto delle dimensioni di quelle esistenti e nel rapporto vuoto-pieno delle facciate esistenti e circostanti. La Corte cantonale ha quindi rilevato che, in tali condizioni, le distanze per aprire finestre verso un fondo altrui continuano ad essere disciplinate dagli art. 125 seg. LAC.
4.4. Il Tribunale federale esamina come visto sotto il profilo ristretto dell'arbitrio l'applicazione del diritto cantonale e comunale (DTF 142 V 577 consid. 3.1; 133 II 249 consid. 1.2.1). L'arbitrio non è ravvisabile nella possibilità che anche un'altra soluzione sembri eventualmente sostenibile o addirittura preferibile, occorrendo piuttosto ch'essa risulti manifestamente insostenibile, in contraddizione palese con la situazione effettiva, gravemente lesiva di una norma o di un chiaro principio giuridico, o in contrasto intollerabile con il sentimento di giustizia e di equità (DTF 144 III 145 consid. 2 e rinvii).
La ricorrente adduce sostanzialmente che la regolamentazione delle aperture dell'art. 7 n. 7 lett. d delle norme di attuazione del piano particolareggiato del nucleo di Y._ sarebbe adeguata ed esaustiva. Ritiene che, nella misura in cui il piano particolareggiato del nucleo di Y._ disciplina le modalità di realizzazione di nuove aperture, il Comune avrebbe adottato delle norme di diritto pubblico comunale che derogherebbero agli art. 125 segg. LAC. Con queste argomentazioni, la ricorrente critica la decisione impugnata contrapponendole una versione propria, ma non sostanzia l'arbitrio con una motivazione conforme alle esigenze dell'art. 106 cpv. 2 LTF. La Corte cantonale ha infatti rettamente accertato che l'invocata prescrizione edilizia comunale non regola le distanze minime per aprire nuove finestre. Riguardo alle "eventuali nuove aperture" la disposizione prevede unicamente ch'esse "dovranno essere eseguite nel rispetto delle dimensioni di quelle esistenti e nel rapporto vuoto-pieno delle facciate esistenti e circostanti". Come rilevato in modo sostenibile dalla precedente istanza, per quando concerne le nuove aperture, la norma edilizia comunale disciplina unicamente la loro configurazione, non le distanze che devono rispettare dai fondi contigui. In tali circostanze, poiché le distanze per l'apertura di nuove finestre non sono regolate dal diritto pubblico, è senza incorrere nell'arbitrio che la Corte cantonale ha ritenuto che le relative norme del diritto privato cantonale (art. 125 segg. LAC) rimanevano applicabili e la loro eventuale violazione poteva essere esaminata dal giudice civile nonostante il rilascio della licenza edilizia. Per il resto, non è contestato dalla ricorrente che le nuove aperture previste sulla facciata est dello stabile non rispettano gli art. 125 seg. LAC.
5.
5.1. Secondo la ricorrente, sarebbe accertato che il 3 ottobre 2006, nell'ambito del tentativo di conciliazione tenuto dal Municipio di X._ nel contesto della procedura della domanda di costruzione, i vicini avrebbero rinunciato ad opporsi all'apertura delle finestre litigiose. Rimprovera alla precedente istanza di essere incorsa nell'arbitrio accertando che "a quel momento la misura delle finestre non risultava ancora pienamente definita, il progettista avendo dichiarato che le dimensioni di tutte le aperture sarebbero state indicate nella variante di progetto di successiva pubblicazione".
5.2. Richiamando semplicemente uno stralcio di un considerando del giudizio impugnato, in cui i giudici cantonali non hanno invero accertato i fatti, ma hanno esposto la loro valutazione riguardo alla mancata rinuncia degli opponenti a fare valere il rispetto delle distanze minime dal confine per le nuove aperture, la ricorrente non si confronta puntualmente con l'insieme degli accertamenti eseguiti dalla precedente istanza e non sostanzia quindi arbitrio alcuno. La ricorrente rileva che le misure delle nuove finestre erano indicate sui piani ed erano quindi note agli opponenti al tentativo di conciliazione del 3 ottobre 2006. La Corte cantonale ha tuttavia accertato che, in quell'occasione, il progettista aveva precisato che nella variante di progetto che sarebbe stata presentata per la pubblicazione, sarebbero comunque state indicate le misure di tutte le aperture. La Corte cantonale non ha accertato che gli opponenti hanno aderito al progetto, ma ha rilevato ch'essi non hanno reagito. Contrariamente all'opinione della ricorrente, ciò non costituisce una rinuncia univoca da parte degli opponenti ad opporsi all'apertura delle nuove finestre, ove si consideri che la variante del progetto di costruzione sarebbe in seguito ancora stata oggetto di una pubblicazione, nell'ambito della quale gli opponenti potevano sollevare un'ulteriore opposizione (cfr. art. 8 e 16 della legge edilizia cantonale, del 13 marzo 1991 [RL 705.100]).
6.
6.1. La ricorrente sostiene che gli opponenti avrebbero ad ogni modo rinunciato a contestare le distanze delle nuove aperture nella procedura amministrativa in materia edilizia successiva alla riunione del 3 ottobre 2006, rinunciando ad impugnare dinanzi al Tribunale cantonale amministrativo la risoluzione governativa che confermava il rilascio della licenza edilizia.
6.2. La Corte cantonale ha accertato che il Consiglio di Stato ha respinto con decisione del 22 maggio 2007 il ricorso presentato dagli opponenti contro la licenza edilizia rilasciata il 28 febbraio 2007 dal Municipio di X._. Ha rilevato ch'essi hanno comunicato con lettera dell'8 giugno 2007 alla ricorrente che non avrebbero impugnato la decisione governativa dinanzi al Tribunale cantonale amministrativo. La Corte cantonale ha altresì accertato che la ricorrente ha iniziato i lavori di costruzione nel 2008 e che gli opponenti hanno lamentato l'insufficiente distanza delle nuove aperture a confine con il loro fondo la prima volta il 13 novembre 2008, durante un'udienza in Pretura. Questi accertamenti non sono censurati d'arbitrio con una motivazione conforme alle esigenze dell'art. 106 cpv. 2 LTF e sono quindi vincolanti per il Tribunale federale (art. 105 cpv. 1 LTF). La tesi della ricorrente, secondo cui gli opponenti avrebbero rinunciato, finanche formalmente, a contestare l'insufficiente distanza delle nuove finestre non poggia su accertamenti univoci e vincolanti agli atti. Il fatto ch'essi le abbiano comunicato l'8 giugno 2007 che non avrebbero impugnato la decisione governativa dinanzi al Tribunale cantonale amministrativo non costituisce di per sé una simile rinuncia, ove si consideri che sulla questione del rispetto delle distanze minime per l'apertura delle nuove finestre sussisteva ancora la giurisdizione civile. È pertanto in modo scevro d'arbitrio che la Corte cantonale ha ritenuto il comportamento, semmai poco chiaro, degli opponenti nell'ambito della procedura edilizia, insufficiente per ammettere ch'essi avevano rinunciato per atti espliciti o concludenti a fare valere il mancato rispetto delle distanze minime da confine per le nuove aperture.
6.3. La ricorrente sostiene infine che gli opponenti avrebbero atteso troppo a lungo prima di fare valere il loro diritto al rispetto delle distanze minime dal confine, sicché sarebbero incorsi in un manifesto abuso di diritto ai sensi dell'art. 2 cpv. 2 CC. Fonda tuttavia tale censura partendo da un periodo di attesa superiore ai due anni, adducendo che già il 9 ottobre 2006 gli opponenti sarebbero stati nella condizione di opporsi alle nuove aperture dinanzi al giudice civile e ch'essi avrebbero adito il Pretore soltanto il 30 dicembre 2008. La Corte cantonale ha per contro rilevato che, dalla crescita in giudicato della licenza edilizia (nel giugno del 2007), gli opponenti avevano indugiato "poco meno di un anno e mezzo" prima di lamentare l'insufficiente distanza delle nuove aperture, accertando che la questione era stata da loro sollevata già il 13 novembre 2008. In tali circostanze, la ricorrente fa valere un abuso di diritto, scostandosi dai fatti accertati dalla Corte cantonale senza tuttavia sostanziarli d'arbitrio. Sollevata in questi termini generici, la censura non adempie le citate esigenze di motivazione e non deve quindi essere vagliata oltre.
7.
Ne segue che il ricorso deve essere respinto nella misura della sua ammissibilità. Le spese giudiziarie seguono la soccombenza e sono pertanto poste a carico della ricorrente (art. 66 cpv. 1 LTF). Non si assegnano ripetibili agli opponenti, non invitati a presentare una risposta al ricorso (art. 68 cpv. 1 LTF).
Per questi motivi, il Tribunale federale pronuncia:
1.
Nella misura in cui è ammissibile, il ricorso è respinto.
2.
Le spese giudiziarie di fr. 4'000.-- sono poste a carico della ricorrente.
3.
Comunicazione ai patrocinatori delle parti e alla prima Camera civile del Tribunale d'appello del Cantone Ticino.