Socket oder FIFO

Dieses Thema im Forum "C/C++" wurde erstellt von oxcinsha, 09.08.2006.

  1. #1 oxcinsha, 09.08.2006
    oxcinsha

    oxcinsha Mitglied

    Dabei seit:
    25.08.2005
    Beiträge:
    44
    Zustimmungen:
    0
    Hi,...

    ...ich moechte mein Clipboard erweitern, im Grunde soll dieses Programm auch solche Funktionalitaeten bieten wie xsel.

    Aber auch die Moeglichkeit die Selektion zu wie in einem Editor zu manipulieren, oder die Selektion in einer Datenbank ablegen/holen...ist verstanden, oder?

    Ich wuerde dabei gerne zwei Dateien verwenden, eine um in sie Daten zu schreiben, eine um in sie Befehle zu schreiben - das Ganze Programm soll auf dem Desktop im Hintergrund ablaufen, und per Tastendruck seinen Editor/UI oeffnen.

    Alles kein wirkliches Problem, bis auf die zwei Dateien.

    Mir ist nicht klar wie diese Handhaben; ich hatte erstmal versucht mit mkfifo() ein FIFO zu oeffnen, und dann daraus zu lesen. Aber das scheint quatsch zu sein.

    Muesste ich das ueber einen Local Socket Raw versuchen?? - ein paar Tips, bzw. Worte der Weisheit??


    thx
    chab
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 hazelnoot, 09.08.2006
    hazelnoot

    hazelnoot www.mywm.dl.am

    Dabei seit:
    13.10.2005
    Beiträge:
    377
    Zustimmungen:
    0
    Ort:
    in Geiersberg
    ich versteh nicht ganz... du willst was in dein clipboard kopieren jetzt mal primitiv gedacht mit str+c und diese clipboarddaten willst du in eine datei schreiben sehe ich das so richtig? und per tastendruck willst du den letzten eintrag bearbeiten und wieder in die datei schreiben... und mit str+v willst du dann den letzten eintrag aus der datei lesen und einfuegen und den letzten eintrag in der datei wieder loeschen! waenn ich das so richtig sehe dann wuerd ich dir einen stack empfehlen denn der tut im endeffekt genau das!

    koenntest dann so machen:

    einer drueckt str+c
    push(clipboarddaten)

    einer bearbeitet:
    pop(clipboarddaten)
    push(bearbeitete clipboarddaten)

    einer drueckt str+v
    pop(clipboarddaten)

    ich hoffe ich konnte dir so helfen... waenn ich dich falsch verstanden habe erklaers mir bidde nochmal :-)

    mfg hazelnoot
     
  4. theton

    theton Bitmuncher

    Dabei seit:
    27.05.2004
    Beiträge:
    4.820
    Zustimmungen:
    0
    Ort:
    Berlin, Germany
    Nein, ist nicht verstanden. Mir ist absolut unklar, was du machen willst. Wie willst du ueber einen Raw-Socket auf dein Clipboard zugreifen, wenn dieses keine Netzwerk-Funktionalitaeten unterstuetzt? Oder willst du einen Raw-Socket ins Clipboard implementieren? Wenn ja, wozu soll das gut sein?
    Ausserdem... von welchem Clipboard redest du? Gibt ja verschiedenste fuer Linux (Klipper fuer KDE, xclipboard fuer reines X usw.).
     
  5. #4 oxcinsha, 10.08.2006
    Zuletzt bearbeitet: 10.08.2006
    oxcinsha

    oxcinsha Mitglied

    Dabei seit:
    25.08.2005
    Beiträge:
    44
    Zustimmungen:
    0
    ...also im eigentlichen Rede ich vom GtkClipboard.

    Dabei gibt es wie unter X11 drei Cipboards, das ist wohl das selbe.

    1. Die Selektion, also das was in einem Text mit z.B. der Maus ausgewaehlt ist.

    2. Das "Clipboard", also die Selektion die mit z.B. Ctrl-X/Ctrl-V indas Clipbard kopiert wurde.

    3. ...faellt mir im Stegreif nicht ein.

    --

    Wenn ich jetzt aber z.B. aus dem Browser etwas kopieren moechte, oder auch sonst woher, bekomm ich die Daten oft nicht so wie gewuenscht.

    Beim Druecken eines Shortcuts soll sich ein Editor oeffnen, der das Clipboard ausliest. Wenn der Editor seinen Focus verliert, und das tut er bevor ich woanders einfuegen kann, soll er diesen Text wieder in das Clipboard kopieren.

    Das funktioniert, no Prob.

    Btw. mir ist noch nicht ganz klar wie jetzt den Inhalt des Clipboard zu PIPE'n/filtern, z.B. mit sed oder auch grep. Aber so halbwegs klappt das auch schon.

    --

    Jetzt wuerd ich nur gern noch haben mit z.B.
    Code:
     cat file > /clip_file_node
    ins clipboard kopieren zu koennen.

    Denkbar waere auch das ich z.B. von einzelnen Instanzen des gleichen Programmes auf verschiedenen Hosts von Host zu Host kopieren koennte.
    Also das ich beim Starten des Programmes einen Broadcast mache der mir alle laufenden Clipboards findet, und auch noch von denen Files anlegt.
    Code:
    cat file > /clip_file_node_host1
    cat file > /clip_file_node_host2
    Waer einfach nicht unpraktisch.
     
  6. #5 hazelnoot, 11.08.2006
    hazelnoot

    hazelnoot www.mywm.dl.am

    Dabei seit:
    13.10.2005
    Beiträge:
    377
    Zustimmungen:
    0
    Ort:
    in Geiersberg
    ich glaub ich verstehe was du meinst!

    machs doch am besten so: immer waenn man ctrl-c drueckt kommt das geschichtl ja ins clipboard. waenn du den editor startes liest einfach deine clipborad datei in den editor ein und fuegst einfach vorne in die datei das aktuelle clipboard an. waenn dann kannst ja editieren was du willst und dann beim schliessen des editors fuegst dann einfach die erste zeile oder so des ediors wieder in das clipboard ein! das programm selbst koenntest du ueber ein trayicon realisieren!

    hoffe ich konnte dir helfen

    mfg hazelnoot
     
  7. #6 oxcinsha, 11.08.2006
    Zuletzt bearbeitet: 11.08.2006
    oxcinsha

    oxcinsha Mitglied

    Dabei seit:
    25.08.2005
    Beiträge:
    44
    Zustimmungen:
    0
    Hier mal die src.

    Wie ihr seht ist das sehr klein, (112 Zeilen) tut aber die Grundlegende Funktion.


    Und mir ist auch wieder eingefallen was die Ursache fuer die Idee mit der Input-Node war.


    Ich muesste jetzt einen Keysnooper fur das Root-Window installieren, um das Editor-Fenster oeffnen zu koennen, und wie das machen ist mir noch nicht ganz klar.

    Darum dachte ich ich setze das Hauptprogramm als Daemon in den Hintergrund, und lass ihn an einem Named-Socket als Control-Input lauschen.
    Dann schreib ich ein Script, oder Prog, das ich bei Metacity (WindowManager) ueber ein Tastaturkuerzel starte, welches mir lediglich ueber echo in diese Nodes den Daemon steuert.

    Das es noch andere Vorzuege haette hatte ich ja schon beschrieben.


    BTW: ...das es mit FIFO nicht so hinhaut lese ich daraus.

    Und noch was...

    ...ich wuerde es auch gern so erweitern, das ich z.B. ueber einen anderen Shortcut eine script einen anderen Befehl in die Node schreiben lasse, welches eine andere Funktion erfuellt.

    Dabei denke ich z.B. an eine Tag-DB oder sowas; mir wird also einen Dialog geoeffnet in dem ich ein Tag ueber Maske leicht kreieren kann, und das mir dann beim Schliessen den Inhalt des Clipboards (->Tag) sofort in den Eingabebereich schreibt...koennte das auch gehen?? - Also das Clipboard updaten, Widget zerstoeren ( Fokus geht zurueck an den zuletzt innehabenden = Eingabebereich ), Windowmanager/X11 merken lassen das es einfuegen soll...e voila.
     
  8. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  9. #7 hazelnoot, 13.08.2006
    hazelnoot

    hazelnoot www.mywm.dl.am

    Dabei seit:
    13.10.2005
    Beiträge:
    377
    Zustimmungen:
    0
    Ort:
    in Geiersberg
    aaaahh ich verstehe schon was du meinst! du willst mit einem programm die shortcuts machen und dann ueber ipc diese mit einem editor auslesen!!!

    aber du brauchst die IPC nicht ueberleg mal: warum machst du nicht den editor und das shortcutprogramm in einem?

    ps: sag naecstes mal namedPipes stat fifo!! dann kenn man sich auch aus!
     
  10. #8 RootUser, 07.09.2006
    RootUser

    RootUser Grünschnabel

    Dabei seit:
    04.09.2006
    Beiträge:
    8
    Zustimmungen:
    0
    mit der fifo wird das wunderbar klappen. nicht umsonst arbeiten wir hier mit einem multittasking/multithreading prozess ;)

    also einfach für die fifo geschichte nen eigenen posix thread stricken und wenn dann was ankommen sollte leitet der das ans hauptprogramm weiter.
     
Thema:

Socket oder FIFO

Die Seite wird geladen...

Socket oder FIFO - Ähnliche Themen

  1. GlassFish Server 4.0 unterstützt Java EE 7 und Websockets

    GlassFish Server 4.0 unterstützt Java EE 7 und Websockets: Oracle hat die Open-Source-Edition des skalierbaren Java-Applikationen-Servers Glassfish in der Version 4.0 fertiggestellt. Glassfish 4...
  2. Icinga 1.9 mit Socket Queue und asynchroner Verarbeitung

    Icinga 1.9 mit Socket Queue und asynchroner Verarbeitung: Der Nagios-Fork Icinga ist in der Version 1.9 erschienen. Mit dieser Veröffentlichung feiert die Icinga-Gemeinde auch das vierte Jubiläum der...
  3. Nginx 1.4.0 mit Websockets und SPDY

    Nginx 1.4.0 mit Websockets und SPDY: Die Entwickler des freien Webservers Nginx haben Version 1.4.0 mit zahlreichen Neuerungen veröffentlicht, wie zum Beispiel die Unterstützung für...
  4. IDS Suricata 1.4 mit Unix-Sockets und IP-Reputation

    IDS Suricata 1.4 mit Unix-Sockets und IP-Reputation: Die Open Information Security Foundation (OISF) hat das netzwerkbasierte Einbruchserkennungssystem (NIDS) Suricata in der Version 1.4...
  5. "send: Cannot determine peer address" nach Timeout mit UDP Server -Perl Socket eval{}

    "send: Cannot determine peer address" nach Timeout mit UDP Server -Perl Socket eval{}: Mahlzeit, ich habe ein kleines Problem und würde mich über eure Mithilfe freuen! Folgender UDP-Server soll nach einem Timeout über eval{}...