
ScreenGrab
Source (link to git-repo or to original if based on someone elses unmodified work):
Features fo current stable version
* grab screenshot of desktop, active window and selection area of destop
* copying screenshot into yhe clipboard
* working on Windows and Linux operating systems
* save screenshots in PNG and JPEG format
* grab screenshot with delay (1 - 90 sec)
* Grab screenshots using global shortcuts
* hide his window
* minimize to system tray and work from at (tray menu)
* automaticaly saving screenshot in grabbing process
0.9.0.85 (1.0-beta)
* Added uploading screenshots on imageshack.us
* Fixed bug with cut button text on mainwindow
* Fixed regression with not capture screenshot when run second instance.
* fixed bug with not create path to autosave screenshots (when it path is
typed manually in configuration dialog)
* added build key SG_GLOBALSHORTCUTS for turn on/off build with global
shortcuts support
* autoincrement filenames when saving screenshots in manual mode (in
current session)
* added the ability to customize shortcut to close the application.
0.9.1
* fixed non-switching combo-box "Type of Screeen" when grab screenshot from signal by another instance application.
* fixed incorect grab active window screens in GNOME (when disabled "Allow multiple copies" option and run another instance of application)
0.9
* added global shortcus.
* added option for enable|disable system tray.
* added switch to the already running instance of an application when you start a second copy (non-operating mode to allow multiple copies).
* added autosave first screenshot which been take in start application (enabled | disabled optional).
* redesign config dialog ui.
0.8.1
* [Linux] fixed incorrect select default saving format in KDE 4.4.x save file dialog
* fixed saving files with empty name (if user canceled save operation)
* add de_DE translation
0.8
* add command line parametrs for grab modes (fullscren, active window, selection area)
* add BMP support
* add pt_BR translation
* add automaticaly hiding main window on grab process
* {linux] fixed grab active window screenshot without decorations
* [linux] add option "no window decoration"
* add shortcuts for main window buttons
Ratings & Comments
26 Comments
Hey, good job! Very nice application!
I'd have one wish: option to grab a screen of a website. BTW is your git repository up-to-date? Just pulled, here these are the last commits: ------------- commit 89357dd795cb947c89b714c87f95f04b921f35ad Author: DOOMer <doomer3d@gmail.com> Date: Mon Aug 8 07:22:14 2011 +0400 small fix ui commit 9ace3c627e4f9cd5b9df113cbf679e52fb24fa61 Author: DOOMer <doomer3d@gmail.com> Date: Tue Jul 26 00:35:45 2011 +0400 v0.9.82 ------------- Or maybe you moved from git://github.com/DOOMer/ScreenGrab.git ?
Thanks :) 1. grab a screen of a website? Hmm... may be, may be.. as a separate plugin in one of the next releases. 2. Repo not moved from github. I'm forgot make "git push" for some last commits into github :( Sory. It's fixed.
1) it's quite useful sometimes. GIMP (2.8pre) has it - it grabs a screen of website of given url. Take a look: https://picasaweb.google.com/lh/photo/2RmOuR7L6SthbkgJGwb_uQ?feat=directlink Also there is another tool called 'screengrab' which is a Firefox addon (http://www.screengrab.org/. This one has it as well but it works differently: you can grab screen of a website you are currently on (of course it shoots the whole website, not just the part visible in the browser, that's the the idea). Now I like GIMP but I don't want to involve it just for making a single website shot. The Firefox addon doesn't work with the newest development FF snapshots and I never use stable software :). So having a smart tool like yours with that functionality included would best for me. 2) I can see the new commits now. Thanks.
I have a compilation problem on mySlackware 13.37 with Qt-4.7.0. [ 21%] Building CXX object src/common/qkeysequencewidget/CMakeFiles/qkeysequencewidget.dir/qrc_qkeysequencewidget.cxx.o Linking CXX shared library libqkeysequencewidget.so CMakeFiles/qkeysequencewidget.dir/src/moc_qkeysequencewidget.cxx.o: In function `QKeySequenceWidget::metaObject() const': moc_qkeysequencewidget.cxx:(.text+0x0): multiple definition of `QKeySequenceWidget::metaObject() const' CMakeFiles/qkeysequencewidget.dir/src/qkeysequencewidget.cpp.o:qkeysequencewidget.cpp:(.text+0x30): first defined here CMakeFiles/qkeysequencewidget.dir/src/moc_qkeysequencewidget.cxx.o:(.data.rel.ro+0x0): multiple definition of `QKeySequenceWidget::staticMetaObject' CMakeFiles/qkeysequencewidget.dir/src/qkeysequencewidget.cpp.o:(.data.rel.ro+0x0): first defined here CMakeFiles/qkeysequencewidget.dir/src/moc_qkeysequencewidget.cxx.o: In function `QKeySequenceWidget::qt_metacast(char const*)': moc_qkeysequencewidget.cxx:(.text+0x30): multiple definition of `QKeySequenceWidget::qt_metacast(char const*)' CMakeFiles/qkeysequencewidget.dir/src/qkeysequencewidget.cpp.o:qkeysequencewidget.cpp:(.text+0x60): first defined here CMakeFiles/qkeysequencewidget.dir/src/moc_qkeysequencewidget.cxx.o: In function `QKeySequenceWidget::keySequenceChanged(QKeySequence const&)': moc_qkeysequencewidget.cxx:(.text+0xb0): multiple definition of `QKeySequenceWidget::keySequenceChanged(QKeySequence const&)' CMakeFiles/qkeysequencewidget.dir/src/qkeysequencewidget.cpp.o:qkeysequencewidget.cpp:(.text+0xe00): first defined here CMakeFiles/qkeysequencewidget.dir/src/moc_qkeysequencewidget.cxx.o: In function `QKeySequenceWidget::keySequenceAccepted(QKeySequence const&)': moc_qkeysequencewidget.cxx:(.text+0xf0): multiple definition of `QKeySequenceWidget::keySequenceAccepted(QKeySequence const&)' CMakeFiles/qkeysequencewidget.dir/src/qkeysequencewidget.cpp.o:qkeysequencewidget.cpp:(.text+0xe40): first defined here CMakeFiles/qkeysequencewidget.dir/src/moc_qkeysequencewidget.cxx.o: In function `QKeySequenceWidget::keySequenceCleared()': moc_qkeysequencewidget.cxx:(.text+0x130): multiple definition of `QKeySequenceWidget::keySequenceCleared()' CMakeFiles/qkeysequencewidget.dir/src/qkeysequencewidget.cpp.o:qkeysequencewidget.cpp:(.text+0x1050): first defined here CMakeFiles/qkeysequencewidget.dir/src/moc_qkeysequencewidget.cxx.o: In function `QKeySequenceWidget::keyNotSupported()': moc_qkeysequencewidget.cxx:(.text+0x160): multiple definition of `QKeySequenceWidget::keyNotSupported()' CMakeFiles/qkeysequencewidget.dir/src/qkeysequencewidget.cpp.o:qkeysequencewidget.cpp:(.text+0x1860): first defined here CMakeFiles/qkeysequencewidget.dir/src/moc_qkeysequencewidget.cxx.o: In function `QKeySequenceWidget::qt_metacall(QMetaObject::Call, int, void**)': moc_qkeysequencewidget.cxx:(.text+0x190): multiple definition of `QKeySequenceWidget::qt_metacall(QMetaObject::Call, int, void**)' CMakeFiles/qkeysequencewidget.dir/src/qkeysequencewidget.cpp.o:qkeysequencewidget.cpp:(.text+0x1890): first defined here CMakeFiles/qkeysequencewidget.dir/qrc_qkeysequencewidget.cxx.o: In function `qInitResources_qkeysequencewidget()': qrc_qkeysequencewidget.cxx:(.text+0x0): multiple definition of `qInitResources_qkeysequencewidget()' CMakeFiles/qkeysequencewidget.dir/src/qkeysequencewidget.cpp.o:qkeysequencewidget.cpp:(.text+0x1f20): first defined here CMakeFiles/qkeysequencewidget.dir/qrc_qkeysequencewidget.cxx.o: In function `qCleanupResources_qkeysequencewidget()': qrc_qkeysequencewidget.cxx:(.text+0x40): multiple definition of `qCleanupResources_qkeysequencewidget()' CMakeFiles/qkeysequencewidget.dir/src/qkeysequencewidget.cpp.o:qkeysequencewidget.cpp:(.text+0x1f60): first defined here CMakeFiles/qkeysequencewidget.dir/qrc_qkeysequencewidget.cxx.o:(.bss+0x0): multiple definition of `qCleanupResources_qkeysequencewidget__dest_instance__' CMakeFiles/qkeysequencewidget.dir/src/qkeysequencewidget.cpp.o:(.bss+0x0): first defined here collect2: ld returned 1 exit status make[2]: *** [src/common/qkeysequencewidget/libqkeysequencewidget.so] Errore 1
Solved it seem that my Cmake option -DBUILD_SHARED_LIBS:BOOL=ON destroy the build. After remove this option, Screengrab compile without problems! :)
Thanks for your info. I'll add note for next releases in README file.
There are several bugs in this app. 1. It overwrites already existing files instead of postfix modification. 2. It crashes on saving file when target directory is opened in Dolphin. 3. Not bug, but wish :-) It would be very nice, if it copy filename to clipboard on saving.
1. Ok, in next release i add auto-adding nimber-postfix to saving filenames. 2. What version of ScreenGrab, KDE and your Linux distro? 3. Needed coyping full path to file or only name of file (e.g screenshot.png)?
2. OpenSUSE 11.3 x86_64, KDE 4.4.4, ScreenGrab 0.9.1 from this package: http://widehat.opensuse.org/repositories/home:/TI_Eugene:/QtDesktop/openSUSE_11.3/x86_64/screengrab-0.9.1-2.1.x86_64.rpm 3. As for me, I'd prefer copying only filename, but copying full path (like in Shutter) is more common. I think, it is better to make a choice of both options.
2. Tomorrow will install p[enSUSE 11.3 in VirtualBox and test this package. 3. Ok,I'll make a choice between a filename and full path.
Love the new Version :-) .. Thanks !
rpm and srpm: http://www.sisyphus.ru/en/srpm/Sisyphus/screengrab git: http://git.altlinux.org/people/drool/packages/?p=screengrab.git
Tnanks. Отпишите мне на почту, когда сделаете пакеты для 0.8 версии -- добавлю сслыки на них на сайт проекта и сюда.
Ссылки те же ;)
Ссылки нужно обновить на 0.8.1 версию, либо просто сделать постоянной ссылку такой: http://sisyphus.ru/en/srpm/Sisyphus/screengrab
Обновил, поставил ссылку на репозиторий. Думаю так будет лучше.
ScreenGrab compiled and sent to ALT Linux branch 5.1!
Thanks p.s. Добавл твой jabber контакт себе в ростер -- doomer@jabber.linux.it
If the license is GPL, you have to upload the source. If it is not, you have to have a non-GPL (commercial) license for Qt.
added link to the source
Qt is also available as LGPL now.
In the case of LGPL you cannot use any static Qt library files like QtCore4.dll without publishing the source code.
> cannot use any static Qt library files like QtCore4.dll without publishing the source code. When using LGPL, you never have to release source code to your own app. The only source you must release: IF you modify the LPGL code, then you must release your modifications. Furthermore, QtCore4.dll is not a static library, it's a dynamic one. If he released binary-only, this means you are still able to use any QtCore4.dll you wish and still use his app with it -- as long as he has not made modifications to the dll that are required for his app to run. This is why he has no compulsion to release his code (again, assuming he has not modified the library -- and then he only must release his library modifications under the LGPL).
My problems were as follows: 1. The license is not LGPL for this application, only GPL. (See the Information window of the application!) The LGPL license is not included in the package. 2. The programme code structure is not according to the LGPL session "4. Combined Works. d) Do one of the following:". It does not use shared library. OR Because of lack of the source code, "recombine or relink the Application with a modified version" is not possible. So, the source code must be included, or the license must be changed to LGPL and use any shared (common with other programmes) Qt4 library.