Ikem
Anmeldungsdatum: 13. Januar 2011
Beiträge: Zähle...
|
Ich bin auf ein kleines nettes Programm hingewiesen worden, das Openbox um Aero Snap erweitert. Das Programm heisst passenderweise Opensnap. Ich habe es heruntergeladen, kompiliert und dafür ein Paket gebaut. Ihr findet es im Anhang. Wenn ihr dieses installiert habt, findet ihr das Programm im Menü unter "Systemprogramme". Sobald ihr es gestartet habt, ist es sofort aktiv. Die Funktionsweise ist recht einfach erklärt: Das Fenster an einen der Ränder ziehen, loslassen und es passiert folgendes: oben: Fenster wird maximiert links: Fenster wird am linken Rand in Höhe maximiert, die Breite auf 50% gesetzt rechts: Fenster wird am rechten Rand in Höhe maximiert, die Breite auf 50% gesetzt unten: Fenster wird geschlossen
Wer Opensnap nach jedem Login automatisch starten lassen will: Die Datei "/usr/share/applications/opensnap.desktop" nach "~/.config/autostart" kopieren. Es ist noch anzumerken: Das Programm befindet sich in einer sehr frühen Entwicklungsphase, und kann daher noch Fehler enthalten. Ich bin nicht der Autor des Programmes.
- opensnap_0.8-1_i386.deb (7.8 KiB)
- Download opensnap_0.8-1_i386.deb
|
HaCeMei
Anmeldungsdatum: 2. August 2010
Beiträge: 2260
|
Hallo Ikem, eine gute Idee, anderen zur Verfügung zu stellen, was du erarbeitet hast. Allerdings ist ein Anhang hier im Forum nicht unbedingt der Ort, wo jemand nach einem deb-Paket suchen wird. Schau doch einmal diesen Thread durch meine-software-deb-paket-zur-verfuegung-stellen, um deine Arbeit noch besser zugänglich zu machen. Gruß, HaCeMei
|
Ikem
(Themenstarter)
Anmeldungsdatum: 13. Januar 2011
Beiträge: 38
|
Beim PPA muss ich spezielle Pakete bauen. Dabei hab ich keine Ahnung vom Format. Und bei jeder Änderung darf ich von vorne anfangen. Es gibt ja keinen GitHub zu PPA Konverter. Bei "REVU" und "Debian Mentors", dauert es eine ganze Weile bis das Paket gesichtet wurde. Und solange kann man es nicht installieren und ausprobieren. Das hier ist praktikabel und funktioniert einfach. Das Debian Paket baue ich so oder so, die Frage ist nur, haben auch noch andere was davon.
|
bastel-wastel
Anmeldungsdatum: 13. Oktober 2008
Beiträge: Zähle...
|
Hi, würde opensnap auch gerne ausprobieren und für mein 64 Bit System kompilieren. Allerdings habe ich den Fehler:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 | mkdir -p bin
g++ -Wall -o bin/opensnap -lX11 -lXrandr src/opensnap.c
/tmp/ccMwZHqn.o: In function `xdo_window_find_client(_XDisplay*, unsigned long, unsigned long*, int)':
opensnap.c:(.text+0x31): undefined reference to `XInternAtom'
opensnap.c:(.text+0xab): undefined reference to `XQueryTree'
opensnap.c:(.text+0xc6): undefined reference to `XFree'
opensnap.c:(.text+0x182): undefined reference to `XFree'
opensnap.c:(.text+0x1c0): undefined reference to `XFree'
/tmp/ccMwZHqn.o: In function `xdo_getwinprop(_XDisplay*, unsigned long, unsigned long, long*, unsigned long*, int*)':
opensnap.c:(.text+0x26d): undefined reference to `XGetWindowProperty'
/tmp/ccMwZHqn.o: In function `main':
opensnap.c:(.text+0x3bb): undefined reference to `XOpenDisplay'
/tmp/ccMwZHqn.o: In function `sendMouseUp(_XDisplay*, unsigned long*)':
opensnap.c:(.text+0x905): undefined reference to `XSendEvent'
opensnap.c:(.text+0x914): undefined reference to `XFlush'
/tmp/ccMwZHqn.o: In function `getMousePosition(_XDisplay*, _XEvent*, mousestate*)':
opensnap.c:(.text+0x9b8): undefined reference to `XQueryPointer'
/tmp/ccMwZHqn.o: In function `getScreenSize(_XDisplay*, int&, int&)':
opensnap.c:(.text+0xa21): undefined reference to `XRRSizes'
opensnap.c:(.text+0xa38): undefined reference to `XRRGetScreenInfo'
opensnap.c:(.text+0xa4f): undefined reference to `XRRConfigCurrentConfiguration'
/tmp/ccMwZHqn.o: In function `getFocusedWindow(_XDisplay*, unsigned long*)':
opensnap.c:(.text+0xaa5): undefined reference to `XGetInputFocus'
collect2: ld gab 1 als Ende-Status zurück
make: *** [all] Fehler 1
|
Hast Du eine bestimmte Bibliothek installiert? Gruß
bastel
|
Ikem
(Themenstarter)
Anmeldungsdatum: 13. Januar 2011
Beiträge: 38
|
Du musst vor dem kompilieren die Header-Dateien von X11 und XRandR installieren: sudo apt-get install libc6-dev libx11-dev libxrandr-dev
|
Ikem
(Themenstarter)
Anmeldungsdatum: 13. Januar 2011
Beiträge: 38
|
Vielleicht fängst du ja nochmal von vorne an, und folgst dieser Anleitung. Wenn du mir das Ergebnis zuschickst, mach ich ein Debian-Paket daraus und lad es bei GitHub hoch.
|
bastel-wastel
Anmeldungsdatum: 13. Oktober 2008
Beiträge: 345
|
Hi, nach dieser Anleitung bin ich bereits vorgegangen. Offensichtlich fehlt noch irgendeine andere Bibliothek. Ein Versionskonflikt wird es wohl nicht sein, da ich ebenfalls 12.04 einsetze. Aus dem Fehler werde ich leider nicht schlau 🙄 Gruß bastel
|
Ikem
(Themenstarter)
Anmeldungsdatum: 13. Januar 2011
Beiträge: 38
|
Der Compiler findet irgendwie die Header-Dateien nicht. xdo_window_find_client und xdo_getwinprop sind Funktionen definiert in xdo_functions.h. XInternAtom, XQueryTree, XFree in den X11-Header-Dateien XRRSizes, XRRGetScreenInfo, XRRConfigCurrentConfiguration in den XRandr-Header-Dateien.
|
bliet
Anmeldungsdatum: 10. Januar 2007
Beiträge: 841
|
Wo ist den der Unterschied zwischen Opensnap von lawl und deinem Fork?
|
lawl0r
Anmeldungsdatum: 17. Januar 2013
Beiträge: Zähle...
|
@bastel-wastel Da war ein Problem im Makefile so dass es unter Ubuntu nicht kompilierte. Ich hab das gefixed. Versuchs doch bitte nochmal mit dem neusten source. @bliet Ikem hat ein paar Verbesserungen voergenommen die ich grösstenteils jetzt aber auch so übernommen habe (danke nochmal!).
|
bliet
Anmeldungsdatum: 10. Januar 2007
Beiträge: 841
|
Ok, dann probiere ich gleich mal deine (lawl0r) Variante aus 😉
Denn das deb Paket (Version 0.9) habe ich installiert, aber es hat scheinbar keinen Effekt.
|
lawl0r
Anmeldungsdatum: 17. Januar 2013
Beiträge: 8
|
Hast du opensnap auch gestartet? Ansonsten zeig doch mal den output von opensnap -v während du ein Fenster versuchst an einen Rand zu "snappen".
|
bliet
Anmeldungsdatum: 10. Januar 2007
Beiträge: 841
|
A, ok, er finden eine Datei nicht.
/bin/sh: 0: Can't open /home/benjamin/.config/opensnap//hit_top
Ich dachte, dass bei dem deb von Ikem die benötigten Konfig-Dateien erstellt werden, scheinbar nicht? Oder nur bei mir nicht?
|
lawl0r
Anmeldungsdatum: 17. Januar 2013
Beiträge: 8
|
Ich glaube Ikem hat die files im deb paket unter /etc/opensnap abgelegt. Versuch mal folgendes: opensnap -c /etc/opensnap -d "-c" spezifiziert den Pfad für die configs und -d startet opensnap als daemon. Soweit ich gesehen habe hat er ein .desktop-file mitgeliefert dass man in den autostart ordner von openbox packen können sollte die das erledigen sollte, da wartest du aber besser auf eine Antwort von Ihm.
|
bliet
Anmeldungsdatum: 10. Januar 2007
Beiträge: 841
|
Oh ja, es gibt eine .desktop Datei. Nun geht es. Danke! p.s.: Ikem hat dies ja sogar in Eröffnungs-beitrag geschrieben. Schande über mein Haupt, dass ich es nicht richtig gelesen haben 😀
|