Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate
Photo

Fragen zu diesem erweiterten ClipStep Script


  • Please log in to reply
24 replies to this topic
fump2000
  • Members
  • 591 posts
  • Last active: Nov 11 2015 07:52 AM
  • Joined: 01 Nov 2012

Hallo zusammen,

 

es geht um das unten stehende Script. Der Thread dazu ist in der Hilfe zu Clipboard etc. verlinkt. Dieses Script steht auf Seite 3 in besagtem Thread und erweitert das ursprüngliche ClipStep Script.

 

Nun habe ich folgende Fragen dazu:

 

1. Sobald ich es starte wird der aktuelle Inhalt von Clipboard in Var 1 gespeichert. Eigentlich dürfte das doch gar nicht sein oder? Müsste das Script nicht er anfangen was zu machen wenn ich Strg+C oder X drücke?

 

2. Was genau ist da mit GUI gemeint? Was ist der unterschied ob guiActive true oder false ist?

 

3. Wenn man PrintScreen drückt ist die nächste Var mit dem Inhalt von PrintScreen gefüllt, aber im ToolTip steht nichts. Kann man das ändern? Wenn ja wie?

 

Danke im Voraus!

 

MfG
fump2000

#Persistent
MaxClipboards = 6
usedClipboards = 0
ClipIndex = 0
guiActive = false

$^x:: ;CUT/EXIT
if guiActive = true ; if GUI is activated then deactivate it, and send EXIT tooltip
	{
		guiActive = false
		ToolTip, Exit
		gosub, HOLD
	}
else ; if GUI isn't activated then just CUT
	{
		Send ^x
	}
return

$^c:: ;COPY/PREV
if guiActive = true ; if GUI is activated then move to previous clipboard and show it
	{
		if ClipIndex = 0 ; No saved clipboards yet.
			return
			
		ClipIndex -= 1 ; Move backward through the list.
		if ClipIndex <= 0 ; Wrap around to the tail end of list.
			ClipIndex := usedClipboards
			
		gosub, SHOWCLIPBOARD
	}
else ; if GUI isn't activated then just COPY
	{
		Send ^c
	}
return

$^v:: ;PASTE/NEXT
if guiActive = true ; if GUI is activated then move to next clipboard and show it
	{
		if ClipIndex = 0 ; No saved clipboards yet.
			return
			
		ClipIndex += 1 ; Move forward through the list.
		if ClipIndex > %usedClipboards% ; Wrap around to beginning or list.
			ClipIndex := 1
			
		gosub, SHOWCLIPBOARD
	}
else ; if GUI isn't activated then activate GUI and show first element in clipboard
	{
		guiActive = true
		gosub, SHOWCLIPBOARD
	}
return

OnClipboardChange:
if (A_EventInfo = 0 OR NoSaveClipboard)
	return ; Empty or the hotkey told us not to save its own change to the clipboard.
; Check if what's on the clipboard now exactly matches the previously saved item. If it
; does, don't save it. This solves the fact that some apps save each clipboard twice.
if ClipIndex > 0
	{
		ClipSavedTemp := ClipboardAll ; ...because can't compare directly to ClipboardAll.
		if ClipSaved%ClipIndex% = %ClipSavedTemp% ; Must be old-style if-statement.
			return
	}
usedClipboards := (usedClipboards + 1 > MaxClipboards) ? MaxClipboards : usedClipboards+1
ClipIndex += 1 ; Move to the next slot.
if (ClipIndex > MaxClipboards) ; Wrap back around to the beginning.
	ClipIndex = 1

ClipIndex := ClipIndex ; Reset the hotkey's bookmark each time a save occurs.
ClipSaved%ClipIndex% := ClipboardAll ; Save the current contents of the clipboard.
ToolTip, Added %ClipIndex%/%usedClipboards% `n%Clipboard%
gosub, HOLD
return

SHOWCLIPBOARD:
if StrLen(ClipSaved%ClipIndex%) = 0 ; Nothing saved, so don't do it.
	{
		ToolTip, Restored Clipboard #%ClipIndex% is empty.
		gosub, HOLD
		return
	}
NoSaveClipboard := true ; Tell OnClipboardChange not to save our clipboard change.
Clipboard := ClipSaved%ClipIndex%
ToolTip, Restored Clipboard #%ClipIndex%:`n%Clipboard%
gosub, HOLD
Sleep 30 ; This gives the OnClipboardChange subroutine an opportunity to run.
NoSaveClipboard := false
Return

HOLD:
GetKeyState,state,CTRL
if state = d ; While holding CTRL gui won't dissapear
	SetTimer,HOLD,100
else
	{
		ToolTip,
		if guiActive = true ; Only way to activate GUI is put ^v, so after release CTRL we want to deactivate GUI and PASTE
			{
				guiActive = false
				Send ^v
			}
		SetTimer,HOLD,off
	}
Return


fump2000
  • Members
  • 591 posts
  • Last active: Nov 11 2015 07:52 AM
  • Joined: 01 Nov 2012

Okay okay... Frage 1 beantwortet sich durch das Label OnClipboardChange selbst.

 

EDIT:

 

Hier noch der Link zum Thread vom OriginalScript:

http://www.autohotke...rl-x-c-v/page-3



nnnik
  • Members
  • 1625 posts
  • Last active: Jan 24 2019 02:19 PM
  • Joined: 28 Jul 2012

2. GuiActive wird immer dann True, wenn das Tooltip gezeigt wird.

3. Schau dir mal die Folgende Topic an.

http://www.autohotke...pboard-manager/

A v i, on 19 Mar 2013 - 2:37 PM, said:

version 4.5.5

The first reaction of all would be , if there is Clipstep ; why ClipJump ??

and if it's from Step to Jump, whats more in it..

Well, I was a user like many others here of ClipStep, but it had problems; lots of problems.

The Clipboard change via PrintScreen Capture didn't responded positively.The application showed no reaction.

Same happened when the clipboard was changed via an AHK Script or an External program. No Reaction.

The program showed nothing when something such as long codes from this forum (formatting) was copied.

So, I decided to make one particularly for myself. But as the time (hours) progressed, I was able to manage more and more features in the tool and at last , i did manage a good tool good enough to publish publicly.

Lets come to the point.

What it has ---

    A True ClipBoard Manager - Captures Everything
    Supports Preview of Clipboard stored images such as PrintScreen Captures.
    Data-Types are meaningless for Clipjump. It just stores everything.
    Control Clipboards only by using Ctrl+x,Ctrl+c and Ctrl+v.
    Not Mandatory to perform Copy and Cut operations using Ctrl+C and Ctrl+X. Even an application's Copy and Cut will be transferred to Clipjump.
    FIX Clipboards at certain positions via FIXATE Option.(See FIXATE - A Coders Delight)
    Add selective Data to Windows Clipboard if needed.
    Can have as much simultaneous clipboards as possible. (Depends on Disk Space).
    Very fast Clipboard Switching.
    Copy Current Folder path to Clipboard (Ctrl+Alt+X)
    Copy selected files path(s) to Clipboard (Ctrl+Alt+C)
    Idiot-Proof! - Captures Clipboard entries from everywhere, whether it be an external program or PrintScreen Captures.
    Configurable - You can change settings by editing Settings.ini
    Portable - Carry where you go

Changes in version 4.5 ---

    Bugs with certain applications such as HtmlPad,Internet Explorer Fixed and the algorithm has been globalised to include other apps which have the same tendency.
    Now, Clipjump should not store duplicate clipboard entries when the user sends them one after another.
    Lower Overall Memory Consumption

It overcomes the biggest limitation, that is to record clipboard changes from applications and Printscreens (Experienced users will know what is the command behind it). and that what makes me satisfied.

 


Visit the new forum ahkscript.org.

http://ahkscript.org


fump2000
  • Members
  • 591 posts
  • Last active: Nov 11 2015 07:52 AM
  • Joined: 01 Nov 2012

WOW! Wundervoll!

 

In wieweit ist es erlaubt ein solches Script in sein eigenes zu imtegrieren? Auch auf die hinsicht Teile zu verändern.



nnnik
  • Members
  • 1625 posts
  • Last active: Jan 24 2019 02:19 PM
  • Joined: 28 Jul 2012

https://github.com/A...ter/COPYING.txt

Das ganze hat eine GPL Lizenz.

Ist also OpenSource.


Visit the new forum ahkscript.org.

http://ahkscript.org


fump2000
  • Members
  • 591 posts
  • Last active: Nov 11 2015 07:52 AM
  • Joined: 01 Nov 2012

Aber heißt das automatisch man kann mit dem Code machen was man will?!

 

MUSS man ein AHK Script immer unter GPL stellen?



nnnik
  • Members
  • 1625 posts
  • Last active: Jan 24 2019 02:19 PM
  • Joined: 28 Jul 2012

 GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007

Copyright © 2007 Free Software Foundation, Inc.
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.

Preamble

The GNU General Public License is a free, copyleft license for
software and other kinds of works.

The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.

When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.

To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.

For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.

Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.

For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.

Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.

Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.

The precise terms and conditions for copying, distribution and
modification follow.

Mehr Informationen  findest du hier:

 

Die AHK Lizenz ist fast gleich bloß ist die Version von 1991.

 

2: Ich glaube ich sollte mir die Lizenz auch mal durchlesen.


Visit the new forum ahkscript.org.

http://ahkscript.org


SAPlayer
  • Members
  • 403 posts
  • Last active: Apr 11 2014 04:45 PM
  • Joined: 06 Nov 2012

Ich nutze das Programm jetzt auch und bin sehr zufrieden damit.

 

 

that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs
, and that you know you can do these things.


fump2000
  • Members
  • 591 posts
  • Last active: Nov 11 2015 07:52 AM
  • Joined: 01 Nov 2012

Okay, ich darf es also veränderund und quasi damit machen was ich will...

 

Aber ist das bei jedem Script so? Sind meine Scripte automatisch unter dieser Lizenz? Was genau ist eine Lizenz? Was ist ein Copyright? Kann man selber eine Lizenz erstellen die für "mein" Programm gültig sein soll?



nnnik
  • Members
  • 1625 posts
  • Last active: Jan 24 2019 02:19 PM
  • Joined: 28 Jul 2012

Wenn du Source hier postest ist sollte diese unter GPL laufen, da sie sonst von keinem von uns bearbeitet und kopiert werden könnte.

Das wäre in Ich brauche Hilfe nicht grade hilfreich. (Hier ist mein Script aber ihr dürft es nicht kopieren oder verändern, wie muss es richtig geschrieben sein)

 

 

Kann man selber eine Lizenz erstellen die für "mein" Programm gültig sein soll?

Als Urheber hast du das Urheberrecht.

Informationen dazu findest du hier:

 

Und Hier noch etwas zu Lizenzen allgemein:

https://de.wikipedia.org/wiki/Lizenz

 

Und noch etwas zu der OpenSource Lizenz:

Freie Software und Open Source

Bei freier und Open-Source-Software werden einfache Nutzungsrechte pauschal an jedermann eingeräumt. Die Zustimmung des Lizenznehmers wird üblicherweise dadurch signalisiert, dass er die durch die freie Lizenz gewährten Rechte wahrnimmt, die über allgemein gewährte Rechte, wie das Recht auf Zitat, hinausgehen. Insofern der Rechteinhaber keine Gegenleistungen fordert, kann die Lizenz kurz und simpel ausfallen. Ein bekanntes Beispiel lautet: „Do what the **** you want to.“ – ein wenig formlos, doch juristisch gültig. Nach Ansicht des GNU-Projektes ist jedoch bei solchen Lizenzen problematisch, dass veränderte Versionen der Computerprogramme nach geltendem Recht nicht automatisch ebenso freigiebig an jedermann lizenziert sind.

Die GNU General Public License versucht daher, die Freiheiten für den Nutzer zu bewahren und verlangt eine „Gegenleistung“ für die eingeräumten Rechte:

    Dass das Programm nicht allein in seiner in Maschinensprache übersetzten Form, auch Binary genannt, sondern nur zusammen mit einer    für   Menschen verständlichen Version, dem Quellcode weitergegeben wird.
    Dass veränderte Versionen nur dann verbreitet werden dürfen, wenn sie ebenfalls unter die GPL gestellt werden. Wer sich nicht daran hält, verliert seine Rechte wieder.

Diese Verfahrensweise wird Copyleft genannt.

Problematisch beim Copyleft in dieser Form ist, dass zwei verschiedene Copyleft-Lizenzen möglicherweise miteinander inkompatibel sein können. Das heißt, es können zwei Werke unter verschiedenen Copyleft-Lizenzen nicht zu einem einzigen kombiniert werden. Insbesondere die GPL ist inkompatibel zu vielen anderen Softwarelizenzen, da sie ein starkes Copyleft besitzt. Auch für andere freie Inhalte, wie zum Beispiel Literatur (GFDL) und freie Musik (GPL-SFA) lauert hier die Gefahr der Inkompatibilität. Die Creative-Commons-Lizenzen versuchen diesem Problem entgegenzuwirken.

Bei AHK ist es aber anders du erstellst eigenen Content für ein Programm welches unter GPL steht.

Wenn du einen Freeware Text Editor mit einer GPL Lizenz veröffentlichst heißt das noch nicht, das jedes Buch, welches damit geschrieben wird auch unter GPL stehen muss.

Nur Veränderte Versionen des Programmes müssen unter GPL stehen.


Visit the new forum ahkscript.org.

http://ahkscript.org


fump2000
  • Members
  • 591 posts
  • Last active: Nov 11 2015 07:52 AM
  • Joined: 01 Nov 2012

Und wenn ich es Kompiliere? Dann ist doch AHK ansich ein Teil des Programms?



SAPlayer
  • Members
  • 403 posts
  • Last active: Apr 11 2014 04:45 PM
  • Joined: 06 Nov 2012

Trotzdem ist es ein eigenes Programm und nicht eine veränderte Version von AHK.

Aber gut, sofern du irgendeinen Sourcecode hier im Forum postest, ist es automatisch zum Kopieren freigegeben (im Forum was posten, ohne Recht, es zu kopieren, ist schon recht doof ;) ), und normalerweise auch abänderbar.

 

(Das ist nur meine Ansicht)



fump2000
  • Members
  • 591 posts
  • Last active: Nov 11 2015 07:52 AM
  • Joined: 01 Nov 2012

Da hast du natürlich recht :) Würde mir auch nie in den Sinn kommen... Aber wenn ich mein Script komplett habe und es rundherum funktioniert und in der Firma zum Einsatz kommen soll, dann würde ich es gerne auf den Betrieb inder Firma begrenzen und per Lizenz bzwl EULA den betrieb außerhalb der Firma unterbinden.

 

Lässt sich ja im Grunde eh nicht verhindern... Wenn jemand das Programm kopieren will dann macht er das halt...

 

Wozu also eine EULA verfassen? :)



SAPlayer
  • Members
  • 403 posts
  • Last active: Apr 11 2014 04:45 PM
  • Joined: 06 Nov 2012

Man könnte es so regeln, dass beim ersten Start (wie das erkannt wird ist das nächste Problem, wenn keine externen Dateien angelegt werden) eine Lizenz bestätigt werden muss.

Dann müsste man sich theoretisch daran halten.

Praktisch wohl eher nicht, weil wenn es "geklaut" ist, ist die Lizenz wohl auch eher egal (und ganz ehrlich, wer liest sich denn eine Lizenz durch?).

 

Aber: Wie soll dein Script überhaupt außerhalb der Firma an den Mann kommen? Normalerweise gibt das doch keiner weiter, oder?

 

Ansonsten könntest du noch andere Schutzmaßnahmen einbauen, z.B. eine Prüfung der IP oder eine Begrenzung auf ein paar Benutzernamen (Whitelist) bzw. eine Überprüfung des Nutzernamens auf ein bestimmtes Format (z.B. ABC-DEF_001), oder auch einen Registry-Wert prüfen, der auf allen Firmen-PCs gleich ist. Aber durch Decompilen (und davor kannst du das Script nicht so leicht schützen), lassen sich auch diese umgehen.



strobo
  • Members
  • 359 posts
  • Last active: Mar 10 2015 08:13 PM
  • Joined: 19 Jun 2012

Ich weiss gar nicht ob das Forum bestimmte Arten von Lizenzen vorraussetzt/auschliesst (z.B. in AGB). Die Lizenz zu Learning ones Radial Menu Script, beinhaltet(e?) z.B., dass man sich zweinmal im Monat im AutoHotkey community forum über Lizenzänderungen informiert. Und diese ähm... fantasievolle Lizenz wird hier im Forum toleriert.
Wenn du in das Skript viel Freizeit gesteckt hast und es einen gewissen Wert hat, ist es vllt keine schlechte Idee nach einer geeigneten Lizenz zu suchen, um dein Eigentum zu schützen.
Wenn du aber forderst, man solle zweimal im Monat bei dir nach Lizenzänderungen fragen, kommt das vllt nicht so gut an im Betrieb...
Do not distribute without authors' permission, ist ne Floskel die dann vllt (in einer angepassten Form) zu deinem Script passt.
Eine Lizenz legt fest was Missbrauch ist, und ist natürlich kein vollständinger Schutz dagegen.


Regards,
Babba