Göra en Text editor för Linux. [var: GCC och Unicode]

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 6889
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Re: Göra en Text editor för Linux. [var: GCC och Unicode]

Inlägg av Marta »

Hur länge har Xutf8LookupString funnits? Har hittat referenser nästan 10 år tillbaka, så den är väl säker i det avseendet?

Finns det alternativ utan så mycket sk*t runt omkring? Behöver inte någon sträng med utf8, det räcker och är bättre att få en 32-bit teckenkod. Behöver absolut inte all initiering.

Vad är XSetICFocus? Behövs den? Var skall den och dess motpart i så fall finnas? När fönstret erhåller/förlorar focus kanske?
https://www.x.org/releases/X11R7.5/doc/ ... cus.3.html
Ovanstående beskrivning är för mig 100% obegripligt blaj...

Mitt nuvarande hopkok har den inte och tycks fungera, men vill givetvis ha en "ren" implementation.
Det bygger på det "corrected" exemplet här:
https://stackoverflow.com/questions/182 ... 11-display
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 6889
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Re: Göra en Text editor för Linux. [var: GCC och Unicode]

Inlägg av Marta »

Korrekt avslutning...
Är det här resultatet från valgrind OK? Vad innebär "in use at exit" ? Är det något som inte deallokeras korrekt?

==23814==
==23814== HEAP SUMMARY:
==23814== in use at exit: 27,630 bytes in 390 blocks
==23814== total heap usage: 4,783 allocs, 4,393 frees, 2,018,282 bytes allocated
==23814==
==23814== LEAK SUMMARY:
==23814== definitely lost: 0 bytes in 0 blocks
==23814== indirectly lost: 0 bytes in 0 blocks
==23814== possibly lost: 0 bytes in 0 blocks
==23814== still reachable: 27,630 bytes in 390 blocks
==23814== suppressed: 0 bytes in 0 blocks
==23814== Rerun with --leak-check=full to see details of leaked memory
==23814==
==23814== For lists of detected and suppressed errors, rerun with: -s
==23814== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)

Tillägg: Utskriften från valgrind utbytt, en deallokering hade fallit bort...

Tillägg två:
Jämförde med den lilla texteditor som följer med xfce. Mycket oväntat resultat. Mitt hopkok är ju riktigt bra...
==30521==
==30521== HEAP SUMMARY:
==30521== in use at exit: 4,334,029 bytes in 54,113 blocks
==30521== total heap usage: 1,608,671 allocs, 1,554,558 frees, 131,818,463 bytes allocated
==30521==
==30521== LEAK SUMMARY:
==30521== definitely lost: 28,368 bytes in 23 blocks
==30521== indirectly lost: 70,343 bytes in 2,825 blocks
==30521== possibly lost: 8,300 bytes in 91 blocks
==30521== still reachable: 3,990,866 bytes in 49,298 blocks
==30521== of which reachable via heuristic:
==30521== length64 : 13,832 bytes in 203 blocks
==30521== newarray : 2,528 bytes in 78 blocks
==30521== suppressed: 0 bytes in 0 blocks
==30521== Rerun with --leak-check=full to see details of leaked memory
==30521==
==30521== For lists of detected and suppressed errors, rerun with: -s
==30521== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 6889
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Re: Göra en Text editor för Linux. [var: GCC och Unicode]

Inlägg av Marta »

X11 har funktionen XStoreName för att sätta texten som visas i title bar. Jag har använt denna för att visa path/filename och märkte nu att den inte klarar om någon vill använda tecken utöver ISO8859.

Finns det något alternativ som klarar Unicode, eller för att placera en grafiksträng där istället?
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 6889
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Re: Göra en Text editor för Linux. [var: GCC och Unicode]

Inlägg av Marta »

Jag hittade lösningen så småningom, Väldigt enkelt och självklart... :( :( :( :(

Ny fråga: Är detta OK att upprepa gång på gång som det ser ut här, utan att det äter någon form av resurs? Om inte, hur är det rätta sättet?
 uchar title[128];
 XTextProperty T;
 const Atom enc = XInternAtom(S.dpy, "UTF8_STRING", 0);

  strcpy(title, "string of utf-8");    //title contains the chars to display

  T.value=title;                      //setup the XTextProperty
  T.encoding=enc;
  T.format=8;
  T.nitems=strlen(title);
  XSetWMName(S.dpy, S.win, &T);         //view it on title bar
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 6889
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Re: Göra en Text editor för Linux. [var: GCC och Unicode]

Inlägg av Marta »

Har fått svårigheter med utskriftsfunktionen. CUPS kan enligt min dokumentation ta emot data som plaintext, PostScript eller PDF. Mitt krav är långa rader samt Unicode.

Plaintext äär enkelt, klarar UTF-(, men fast 80 tkn/rad. Faller på radlängden.

PostScript är hyfsat enkelt, fin utskrift men måste ha ISO-8859. Finns det verkligen inte möjlighet i PostScript att använda UTF-8, eller vad som helst Unicode?

PDF är jättestökigt, men görbart i enklare form. Tyvärr verkar det om att "enklare form" fäller Unicode.

Nog F*N finns det väl något vettigt sätt att skicka data genom CUPS?
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 6889
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Re: Göra en Text editor för Linux. [var: GCC och Unicode]

Inlägg av Marta »

Betatestare sökes!

Är här någon, helst med viss Linux-vana, som är intresserad av att testa min lilla text editor innan jag lägger upp den för nerladdning på min hemsida?

Den är i första hand tänkt för att redigera källkod i C, eller andra språk. Det är ett XWindows program för vanliga enkla textfiler. Liknar till en del Q-Edit.
Användarvisningsbild
Glenn
Inlägg: 33666
Blev medlem: 24 februari 2006, 12:01:56
Ort: Norr om Sthlm
Kontakt:

Re: Göra en Text editor för Linux. [var: GCC och Unicode]

Inlägg av Glenn »

Jag skulle gärna testa den.

Kör mestadels fedora, men jag antar att den inte är paketerad ?
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 6889
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Re: Göra en Text editor för Linux. [var: GCC och Unicode]

Inlägg av Marta »

Ja, det är opaketerat. Det kommer inte att stöka till något alls. Skall det bort är det bara att radera det så är det bota.
guckrum
Inlägg: 1669
Blev medlem: 19 juni 2012, 09:04:27
Ort: Lund

Re: Göra en Text editor för Linux. [var: GCC och Unicode]

Inlägg av guckrum »

Jag kollar gärna.
SvenW
Inlägg: 1116
Blev medlem: 24 april 2007, 16:23:10
Ort: Göteborg

Re: Göra en Text editor för Linux. [var: GCC och Unicode]

Inlägg av SvenW »

Jag också. Var hittar man den?
Zkronk
Inlägg: 1423
Blev medlem: 23 augusti 2005, 16:44:36
Ort: Uppsala

Re: Göra en Text editor för Linux. [var: GCC och Unicode]

Inlägg av Zkronk »

Jag provkör gärna också.
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 6889
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Re: Göra en Text editor för Linux. [var: GCC och Unicode]

Inlägg av Marta »

Tackar för intresset.
Jag skickar testversionen via email.
Det har redan kommit fram problem som leder till tvärnit med nyare Linux-versioner. Är inte helt trivialt att åtgärda. Kommer ta någon dag att få bort problemet.
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 6889
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Re: Göra en Text editor för Linux. [var: GCC och Unicode]

Inlägg av Marta »

Nu är problemet förhoppningsvis åtgärdat. Skall verifieras så detta verkligen är fallet, sedan är det dags att börja testa lite mer...
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 6889
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Re: Göra en Text editor för Linux. [var: GCC och Unicode]

Inlägg av Marta »

Precis som väntat har en del bugs uppenbarat sig. Värstingarna är delvis åtgärdade, men känns som jag gör grundläggande fel.

Det gäller dynamiskt laddade libs, för att inte skapa hårda dependencies till följd av udda funktionalitet som få är intresserade av. Här brister min erfarenhet och kunnande. Dessa heter t.ex libsomething.so här på min burk och allt funkar fint. Sedan på en installation med Fedora heter det plötsligt libsomethiing.so.0 och det funkar inte.

Känns som om det skulle finnas någon "libmanager" som skall användas här, men hittar inget om något sådant. Ni som kan, hur är det rätta sättet?

Har också sett drösvis med symlinks som gör samma lib tillgängligt under tidigare namn här på min Debian, medan det tycks saknas i Fedora. Skall programmet försöka matcha libsomething.se och sedan ladda vad som hittas med diverse suffix pålagda? I så fall, hur hittar jag aktuellt libdirectory? Detta tycks dlopen redan veta. Jag trodde optionen RTLD_LAZZY till denna betydde att den själv skulle hitta sådana varianter.
Senast redigerad av Marta 5 oktober 2022, 14:17:07, redigerad totalt 1 gång.
SvenW
Inlägg: 1116
Blev medlem: 24 april 2007, 16:23:10
Ort: Göteborg

Re: Göra en Text editor för Linux. [var: GCC och Unicode]

Inlägg av SvenW »

Använder du autoconf och libtool?
Huruvida dessa är det rätta/bästa sättet vill jag inte uttala mig om,
men de är väl avsedda att ta hand om sådana problem.
Har en känsla av att de kräver mycket påläsning emellertid.
Skriv svar