; AutoHotkey Version: 1.x ; Language: English/Português ; Platform: Win9x/NT ; Author: Leo ; ; Script Function: ; Template script (you can customize this template by editing "ShellNew\Template.ahk" in your Windows folder) ; #NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. SendMode Input ; Recommended for new scripts due to its superior speed and reliability. SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory. Process, Priority, , High ; ###################################################################################### ; CHANGELOG ; ###################################################################################### ; 22/2/08 às 13:06 - add hk pra gastos do ceub em win+alt+g. ; 21/2/08 às 18:11 - add hs pra down em donw. ; 20/2/08 às 23:45 - mudada hk de selection to google pra win+ctrl+alt+c e bb em ctrl+alt+b. ; 20/2/08 às 15:01 - niftywindows incoroporada com modificações. ; 20/2/08 às 6:25 - add hk pra epstemplate, nvu e prefixo dos eps em rwin+t ; 19/2/08 às 18:54 - add hs pra ...nar em ...arn. ; 19/2/08 às 18:49 - add parte do script para redimensionar com alt+rbutton. removido às 21:10. ; 19/2/08 às 18:30 - add Rctrl+F11 para hs de sair (sign out) da conta do google em português. ; 19/2/08 às 18:11 - mudada hk de data atual simples para ]a. ; 19/2/08 às 13:59 - add hs pra url do tutorial de upload de eps em []2. ; 18/2/08 às 18:56 - mudada hk de salvar e recarregar pra rctrl+numpadenter. ; 16/2/08 às 23:44 - add hk pra OODefrag = win+Ctrl+F1 ; 16/2/08 às 15:34 - add hs pra música em musica. ; 15/2/08 às 16:10 - add hs pra pode em poed e preço em preco e dizem. ; 15/2/08 às 15:33 - atualizada função da hk de episódios diários. ; 15/2/08 às 4:13 - mudada hk de restaurar itens selecionados da lixeira para RShift+BS. ; 14/2/08 às 18:28 - add hk pra hovermixplus em win+alt+h ; 14/2/08 às 18:25 - add hs' pra ...ário e área. ; 14/2/08 às 3:10 - add hk pra ad-aware em win+ctrl+F6 e mudada de cws pra win+ctrl+F3. ; 14/2/08 às 1:57 - add hs' para alguns pronomes, vá, freqüência e derivados e nessa em nesa. ; 14/2/08 às 0:56 - add hs' pra já, tá e lá. ; 14/2/08 às 0:18 - add hs pra SANCC. ; 13/2/08 às 23:38 - add hs pra alguém, ...ável ...endo em enod, então, ...gênio, hein, idéia, mente, série e sério. ; 13/2/08 às 16:42 - add hs pra galera em glr e começo. ; 13/2/08 às 1:42 - add hs' pra é e né. ; 13/2/08 às 1:38 - add hs' pra quanto e quem. ; 13/2/08 às 1:25 - add hk pra notepad++ em Rwin+N ; 13/2/08 às 1:20 - add hs' pra aconteça e preguiça (e derivados). ; 13/2/08 às 0:56 - add hs' para atende e porra. ; 12/2/08 às 2:38 - add hs pra ícone. ; 12/2/08 às 2:02 - add hk pra seek em alt+shift+s. ; 12/2/08 às 1:47 - add hs pra data atual simples sem espaços em ]h. ; 12/2/08 às 1:11 - add hs pra conteúdo e script em scritp, pouco depois add algumas para pergunta.f ; 12/2/08 às 1:05 - add hs pra Firefox em ff. ; 11/2/08 às 20:09 - add hs pra agora em agoar. ; 11/2/08 às 19:40 - add hs pra espaço, café, página e além. ; 11/2/08 às 18:43 - add hs pra história em historia. ; 10/2/08 às 20:39 - add hs para sign out do gmail em ingles em RCtrl+F12. ; 10/2/08 às 6:12 - add hs pra também em tb. ; 10/2/08 às 5:57 - add hs para house em hosue. ; 10/2/08 às 4:58 - add hk para selection to google em win+alt+c (Firefox apenas) ; 10/2/08 às 4:40 - removida info de dopus. ; 10/2/08 às 4:08 - add algumas hs' pra search. ; 10/2/08 às 1:38 - add ks pra você em vc. ; 9/2/08 às 21:56 - mudada hk de BB pra Win+Ctrl+Alt+B ; 9/2/08 às 18:28 - adicionado porquês. ; 9/2/08 às 18:14 - incorporado script de drag2 (do showcase padrão). ; 30/1/08 às 23:57 - add hs pra selecionar critérios de busca para ltv em win+down. ; 30/1/08 às 23:52 - add numpadenter para salvar e recarregar este script. ; 30/1/08 às 22:39 - add hk renomear, copiar/colar, enter em ctrl+alt+z e x respectivamente. ; 30/1/08 às 22:02 - add hs para depois em deopis. ; 30/1/08 às 12:50 - add hs pra -ções em coes e hora em hroa. ; 30/1/08 às 3:26 - adicionada hk pra subir pra este changelog e ainda pôr a data em win+ctrl+up! ; 30/1/08 às 3:22 - mudada hk de copia e cola rapida de win+alt+c pra ctrl+àlt+c. ; 30/1/08 às 2:30 - adicionado comando para ir para hs' em ctrl+alt+pgdn, lembrar de atualizar. ; 29/1/08 às 21:34 - adicionada hs pra mensagem em msg e cadê em kd. ; 29/1/08 às 16:51 - add hs pra que em q e o que em oq. ; 29/1/08 às 16:29 - adicionada hs pra qualquer em qq. ; 28/1/08 às 21:24 - adicionada hs pra episódios de hoje em epss. ; 28/1/08 às 19:17 - adicionada hs pra pra você em poce e adicionada em adicioanda. ; 28/1/08 às 18:36 - adicionada hk pra xaveco em win+ctrl+shift+x ; 28/1/08 às 18:09 - adicionada hs pra pera em epra e será em sera. ; 28/1/08 às 17:22 - adicionada hk simples pra bb em win+b. ; 27/1/08 às 23:11 - adicioada hs pra gente em getne e como em ocmo. ; 27/1/08 às 22:30 - adicioanda hs pra muito em mutio. ; 27/1/08 às 22:14 - adicionada hs pra quando em qdo. ; 27/1/08 às 19:40 - fedorenta pendendo implementação ; 27/1/08 às 4:17 - removido firefox bb code. ; 27/1/08 às 2:35 - removida hs para você. ; 27/1/08 às 2:31 - adicionado comando para organizar icones na dt por data = win+space ; 27/1/08 às 1:40 - adicionada hs pra mas em ams. ; 27/1/08 às 0:06 - velho atalho do bb mudado pra adobe bridge. ; 26/1/08 às 22:59 - adicionadas hs para c = você e donde = de onde. ; 26/1/08 às 22:51 - adicionada hs pessaos para pessoas e para melhor em melhro. ; 26/1/08 às 22:46 - adicionada hs pra hoje em hj. ; 26/1/08 às 21:33 - mudada hk do coelho para -. ; 26/1/08 às 21:31 - mudada hk de copia/cola rápida para rctrl+l. ; 26/1/08 às 14:36 - adicinada win+ctrl+9 pra colete. ; 25/1/08 às 14:17 - adicionada hs prb pra problema. ; 24/1/08 às 23:28 - adicionada hs para não na letra ene. ; 24/1/08 às 18:14 - adicioanda hk rwin+ç pra dopus. ; 24/1/08 às 18:07 - adicionada hs ctz pra certeza. ; 24/1/08 às 15:41 - adicionada hs para procurar

Tonight Shows

na fonte do sa. ; 24/1/08 às 12:51 - mudada hk de clicar anexos no gmail para win+´. ; 24/1/08 às 12:50 - mudada hk de autoscriptwriter para win+ctrl+] ; 24/1/08 às 12:50 - mudada hk para ejetar drives para apeanas win+]ou[ ; 24/1/08 às 10:32 - adicionada win+ctrl+i pra imgburn. ; 24/1/08 às 10:15 - adicionado nvu f&r e atalho pra nvu = win+alt+n ; 22/1/08 às 14:59 - Adicionada Rwin+Rshift+R pra ROR soundtrack. ; 21/1/08 às 8:50 - Adicionada RCtrl+PS pra screenshot rapida para irfanview. ; 21/1/08 às 2:48 - adicionado win+ctrl+alt+shift+f pra fake falacioso. ; 20/1/08 às 12:48 - adicionada win+alt+k pra sam2 do samurize. ; 20/1/08 às 9:35 - Adicionada hs para http://www.darossa.frih.net ; 19/1/08 às 3:08 - adicionada macro de fake profile sem porn. ; 18/1/08 às 4:48 - Remover area de busca no FF = Ctrl+Mouse4=xbutton1 ; 18/1/08 às 4:18 - BBcode for Firefox ; 18/1/08 às 1:36 - Adicionados *'s nas hots do blog, link principal agora é -*-. ; 17/1/08 às 9:01 - implementado comando para mover janelas nas 8 direcoes com ctrl+numpad. ; 17/1/08 às 6:00 - melhorada hs [[s para este changelog. ; 17/1/08 às 5:53 - atalho para RoR = RWin+RCtrl+R ; 17/1/08 às 5:52 - Changelog implementado, tudo que tem abaixo disso tá na ordem inversa. ; WIN+ALT+F11 Cola as configs do sistema terça-feira, 15 de janeiro de 2008 11:33:19 ; www.olavodecarvalho.org em ::olavo2:: quarta-feira, 16 de janeiro de 2008 00:52:57 ; Filezilla autoconnect & select = mudado down 4 pra down 5 quarta-feira, 16 de janeiro de 2008 07:42:05 ; intellisense movido pra area em desuso quarta-feira, 16 de janeiro de 2008 07:44 ; hs para blog do rosseiro em [] quarta-feira, 16 de janeiro de 2008 08:51:30 ; Thanks for this! ;0 :) em win+shift+ç quarta-feira, 16 de janeiro de 2008 23:29:56 ; hs para MSN em []m quinta-feira, 17 de janeiro de 2008 00:08:48 ; ajuda do ahk em RCtrl+Pgdn quinta-feira, 17 de janeiro de 2008 02:25:48 ; temporário de renomear dezenas em numpad5, em desuso quinta-feira, 17 de janeiro de 2008 03:07:20 ; Converter clipboard para capitalização como em prosa em CTRL+ALT+C quinta-feira, 17 de janeiro de 2008 03:26:22 ; Clicar anexos no gmail em Win+[ quinta-feira, 17 de janeiro de 2008 04:48:12 ; copiar texto seleciondo e colar na 2a janela em alt+c quinta-feira, 17 de janeiro de 2008 05:20:14 ; ###################################################################################### ; TECLAS DE ATALHO DE PROGRAMAS ; ###################################################################################### ; ACROBAT ; Win+Shift+8 #+8::Run E:\Adobe\Acrobat 8.0\Acrobat\Acrobat.exe ; AD-AWARE ; Win+Ctrl+F6 #^F6::Run C:\Arquivos de programas\Scanners\Ad-Aware 2007\Ad-Aware2007.exe ; APPRENTICE ; Win+G #g::Run E:\Apprentice\Appr.exe ; AUDITION ; Win+Ctrl+J #^j::Run E:\Adobe\Audition 1.5\Audition.exe ; AUTOSCRIPT WRITER (RECORDER) ; Win+Ctrl+] #^]:: Run C:\Arquivos de programas\AutoHotkey\AutoScriptWriter\AutoScriptWriter.exe ; BLOCO DE NOTAS ; Win+\ #\:: Run C:\Windows\Notepad.exe ; BRIDGE ; Win+Ctrl+Shift+B #^+b::Run E:\Adobe\Adobe Bridge CS3\Bridge.exe ; BSPLAYER ; Win+Ctrl+B #^b::Run C:\Arquivos de Programas\Video Tools\BSPlayerPro\bsplayer.exe ; CCLEANER ; Win+Ctrl+F8 #^F8::Run C:\Arquivos de programas\Scanners\CCleaner\ccleaner.exe ; CMD ; Win+Alt+P #!p::Run C:\WINDOWS\system32\cmd.exe ; COREL 10 ; Win+Shift+0 #+0::RUN E:\Corel 10\Programs\coreldrw.exe ; CORELX3 ; Win+Shift+6 #+6::RUN F:\Appz\5 Outros\Aplicativos-Arte\CorelDraw X3 with SP2 Thinstalled\CorelDRW.exe ; CWS SHREDDER ; Win+Ctrl+F3 #^F3:: Run F:\Appz\2 Segurança\cwshredder.exe ; DAEMON TOOLS ; Win+Alt+D #!d::Run C:\Arquivos de programas\DAEMON Tools\daemon.exe ; DREAMWEAVER CS3 ; Win+Shift+D #+d::Run E:\Adobe\Adobe Dreamweaver CS3\Dreamweaver.exe "D:\site\rossa_root\episodios.html" ; EVEREST ; Win+Ctrl+E #^e::RUN F:\Appz\2 Segurança\EVEREST Ultimate Edition\everest.exe ; EXCEL ; Win+Shift+2 #+2::Run E:\Microsoft Office\Office12\EXCEL.EXE ; BATCH FILENAME EDITOR ; Win+Shift+F #+f::Run C:\Program Files\Batch FileName Editor\Nameditor.exe ; FILEZILLA ; Win+Ctrl+M #^m::Run C:\Arquivos de programas\FileZilla\filezilla.exe ; FIREFOX ; Win+A #a::Run C:\Arquivos de Programas\Mozilla Firefox\Firefox.exe ; FIREWORKS 8 ; Win+Shift+} #+}::Run E:\Fireworks 8\Fireworks.exe ; FLASH ; Win+Shift+5 #+5::Run E:\Adobe\Adobe Flash CS3\Flash.exe ; FONTVIEWER ; Win+Ctrl+F #^f::Run F:\Appz\4 Utilitários\FontViewer\FontViewer.exe ; GRAVADOR DE SOM ; Win+Ctrl+5 #^5::Run C:\WINDOWS\system32\sndrec32.exe ; HIJACKTHIS! ; Win+Ctrl+F5 #^F5:: Run F:\Appz\2 Segurança\HiJackThis_v2.exe ; IMGBURN ; Win+Ctrl+I #^i::Run C:\Arquivos de programas\ImgBurn\ImgBurn.exe ; INTERNET EXPLORER ; Win+Shift+Z #+z::Run C:\Arquivos de programas\Internet Explorer\iexplore.exe ; ILLUSTRATOR ; Win+Shift+9 #+9::Run E:\Adobe\Adobe Illustrator CS3\Support Files\Contents\Windows\Illustrator.exe ; INKSAVER ; Win+I #i::Run C:\Arquivos de programas\InkSaver\InkSaver.exe ; IRFANVIEW ; Win+V #v::Run C:\Arquivos de programas\IrfanView\i_view32.exe ; LIMEWIRE ; Win+W #w::Run C:\Arquivos de programas\LimeWire\LimeWire.exe ; MAPLE ; Win+Shift+M #+m::Run E:\Maple 11\bin.win\maplew.exe ; MEDIA PLAYER CLASSIC ; Win+Ctrl+C #^c::Run C:\Arquivos de programas\Video Tools\mplayerc.exe ; MESSENGER DETECT ; Win+Numpad6 #Numpad6::Run C:\Arquivos de programas\Messenger Detect\MessengerDetect.exe ; MIRC ; Win+6 #6::Run C:\Arquivos de Programas\mIRC\mirc.exe ; MOZBACK ; Win+Alt+B #!b::Run F:\Appz\4 Utilitários\MozBackup 1.4.4\Backup.exe ; MSN MESSENGER ; Win+Numpad4 #Numpad4::Run C:\Arquivos de programas\MSN Messenger\msnmsgr.exe ; MVREGCLEAN ; Win+Ctrl+F11 #^F11::Run C:\Arquivos de programas\Scanners\MV RegClean 5.5\MVREGCLEAN.EXE ; NERO START SMART ; Win+Ctrl+N #^n::Run C:\Arquivos de programas\Nero 6\Nero StartSmart\NeroStartSmart.exe ; NOTEPAD++ ; RWin+N >#n::Run C:\Arquivos de programas\Notepad++\notepad++.exe "D:\Docs\AHK\scripts\script.ahk" ; NVU ; Win+Alt+N #!n::Run F:\Appz\4 Utilitários\nvu-1.0\nvu.exe "D:\site\rossa_root\episodios.html" ; ONE NOTE ; Win+Shift+4 #+4::Run E:\Microsoft Office\Office12\ONENOTE.EXE ; OODEFRAG ; Win+Ctrl+F1 #^F1::Run C:\Arquivos de programas\Scanners\OO Defrag Professional\oodcnt.exe ; OUTLOOK ; Win+2 #2::Run E:\Microsoft Office\Office12\OUTLOOK.EXE ; PAINT ; Win+Shift+V #+v::Run C:\WINDOWS\system32\mspaint.exe ; PHOTOSHOP ; Win+P #p::Run F:\Appz\5 Outros\Aplicativos-Arte\Adobe Portable\Portable Photoshop 8 CS\Portable_PS_8.exe ; PHOTOSHOP CS3 ; Win+Shift+' #+'::Run E:\Adobe\Adobe Photoshop CS3\Photoshop.exe ; PICASA ; Win+Ctrl+P #^p::Run C:\Arquivos de programas\Picasa2\Picasa2.exe ; PIXIE ; Win+Alt+Shift+P #!+p::Run C:\Arquivos de programas\Pixie\pixie.exe ; POWER CALC ; Win+Shift+Q #+q::Run F:\Appz\4 Utilitários\PowerCalc.exe ; POWER POINT ; Win+Shift+3 #+3::Run E:\Microsoft Office\Office12\POWERPNT.EXE ; PREMIERE PRO ; Win+Shift+7 #+7::Run E:\Adobe\Premiere Pro 1.5\Adobe Premiere Pro.exe ; REGISTRY FIX ; Win+Ctrl+F10 #^F10::Run C:\Arquivos de programas\Scanners\RegistryFix\RegistryFix.exe ; RK LAUNCHER ; Win+Shift+L #+l::Run F:\Appz\1 Os Primeiros\RK_Launcher_04_Beta\RKLauncher.exe ; ROR ; RWin+RCtrl+R >#>^r::Run C:\Documents and Settings\All Users\Menu Iniciar\Programas\Jogos\Rise of Rome.lnk ; SAMURIZE 1 ; Win+Shift+K #+k::Run C:\Arquivos de programas\Samurize\Client.exe "C:\Arquivos de programas\Samurize\Configs\sam1.ini" ; SAMURIZE 2 ; Win+Alt+K #!k::Run C:\Arquivos de programas\Samurize\Client.exe "C:\Arquivos de programas\Samurize\Configs\sam2.ini" ; SEEK ; Alt+Shift+S !+s::run D:\Docs\AHK\scripts\seek.ahk ; SKYPE ; RWin+Shift+S >#+s::Run C:\Arquivos de programas\Skype\Phone\Skype.exe ; SPYBOT ; Win+Ctrl+F9 #^F9::Run C:\Arquivos de programas\Scanners\Spybot\SpybotSD.exe ; STEAM ; Win+Ctrl+S #^s::Run E:\Steam\Steam.exe -applaunch 10 ; TEXTPAD ; Win+S #s::Run C:\Arquivos de programas\TextPad 5\TextPad.exe ; UNIT CONVERSION TOOL ; Win+Ctrl+U #^u::Run F:\Appz\4 Utilitários\Unit Conversion Tool v5.1 Portable\UniCon.exe ; UTORRENT ; Win+T #t::Run C:\Arquivos de programas\uTorrent\uTorrent.exe ; VALVE HAMMER EDITOR ; Win+H #h::Run C:\Arquivos de programas\Half-Life Tool Pack\Applications\Valve Hammer Editor\hammer.exe ; WALLY ; Win+Shift+W #+w::Run C:\Arquivos de programas\Half-Life Tool Pack\Applications\Wally\Wally.exe ; WINAMP ; Win+1 #1::run C:\Arquivos de programas\Winamp\winamp.exe "C:\Documents and Settings\New user\Desktop\lista13-11-7.m3u" ; WINDOWS MEDIA PLAYER ; Win+Ctrl+1 #^1::Run C:\Arquivos de programas\Windows Media Player\wmplayer.exe ; WORD ; Win+Shift+1 #+1::Run E:\Microsoft Office\Office12\WINWORD.EXE ; WORLD COMMUNITY GRID ; Win+Ctrl+Alt+X #^!x::Run C:\Arquivos de programas\WorldCommunityGrid\UD.EXE ; XP-ANTISPY ; Win+Ctrl+F4 #^F4:: Run F:\Appz\2 Segurança\xp-AntiSpy.exe ; XPlORER² ; Win+Z #z::run C:\Arquivos de programas\xplorer2\xplorer2_UC.exe ; YOUR! UNINSTALLER ; Win+Shift+R #+r::Run C:\Arquivos de programas\Your Uninstaller 2008\uruninstaller.exe ; ###################################################################################### ; CONFIGURAÇÕES DO SISTEMA ; ###################################################################################### ; CPU-Z ; RWin+RCtrl+Z >#>^z::Run F:\Appz\4 Utilitários\CPU-Z\cpuz.exe ; GERENCIADOR DE TAREFAS ; Win+Q #q::Run C:\WINDOWS\system32\taskmgr.exe ; INFORMAÇÕES DO SISTEMA ; Win+F10 #F10::Run C:\Arquivos de programas\Arquivos comuns\Microsoft Shared\MSInfo\msinfo32.exe ; LIXEIRA ; Win+BS #bs:: Run "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{645FF040-5081-101B-9F08-00AA002F954E}" ; MOUSE ; Win+N #n::Run C:\WINDOWS\system32\main.cpl ; MSCONFIG ; Win+F8 #F8::Run C:\WINDOWS\pchealth\helpctr\binaries\msconfig.exe ; PAINEL DE CONTROLE ; Win+C #c:: Run C:\Documents and Settings\All Users\Menu Iniciar\Programas\Atalhos 2\Painel de Controle.lnk ;PROPRIEDADES DO COMPUTADOR ; Win+F11 #F11::Run C:\Documents and Settings\All Users\Menu Iniciar\Programas\Atalhos 2\Propriedades do Computador.cpl ; REGEDIT ; Win+F7 #F7::Run C:\WINDOWS\regedit.exe ; SERVICES ; Win+F9 #F9::Run C:\WINDOWS\system32\services.msc ; SOM ; Win+5 #5::Run C:\WINDOWS\system32\mmsys.cpl ; TWEAK UI ; Win+F5 #F5:: Run C:\WINDOWS\system32\tweakui.exe ; VÍDEO ; Win+Ctrl+V #^v::Run C:\WINDOWS\system32\desk.cpl ; ###################################################################################### ; DOCUMENTOS E OUTROS ARQUIVOS ; ###################################################################################### ; ABRIR ESTE PRÓPRIO TEXTO (verifique o diretório onde o script está.) ; RWin+Ins >#Ins::Run F:\Appz\4 Utilitários\notepad++ 4.7.5\notepad++.exe "D:\Docs\AHK\scripts\Script.ahk" ; AOE SCRIPT ; Win+Ctrl+Shift+A #^+a:: Run D:\Docs\AHK\aoe.ahk ExitApp ; AUTOHOTKEY HELP FILE ; RCtrl+PgDn >^PgDn::Run C:\Arquivos de programas\AutoHotkey\AutoHotkey.chm ; EPSTEMPLATE, NVU E PREFIXO DOS EPS.AHK ; RWin+T >#t:: run C:\Arquivos de programas\Notepad++\notepad++.exe "D:\site\epstemplate3.txt" "D:\Docs\AHK\scripts\prefixodoseps2.ahk" run D:\Docs\AHK\scripts\prefixodoseps2.ahk run F:\Appz\4 Utilitários\nvu-1.0\nvu.exe return ; GASTOS DO CEUB ; Win+Alt+G #!g::run D:\Docs\Listas\Gastos-CEUB.xlsx ; LISTA DAS MANUTENÇÕES ; Win+X #x::Run D:\Docs\Listas\Lista das Manutenções.xlsx ; HOVER MIX PLUS ; Win+Alt+H #!h::Run D:\Docs\AHK\scripts\hovermixplus.ahk ; MANUAL DE ERROS DO HAMMER.html ; Win+Ctrl+H #^h::Run D:\Docs\Coisas do CS\mapping\Tutoriais\Manual de Erros.pdf ; ROR SOUNDTRACK ; Rwin+RShift+R >#>+R:: Run F:\Appz\6 Patches e Joguinhos\AoE e RoR\Coisas de AoE e RoR\Age of Empires Rise Of Rome OST\RoR Soundtrack.m3u ; SÉRIES ; Win+Alt+S #!s::Run D:\Séries\Series.xlsx ; TOG ; Win+Ctrl+Alt+P #^!p:: Run C:\Arquivos de programas\TextPad 5\TextPad.exe "D:\Docs\Backups\Psicatogue.dec" ; ###################################################################################### ; MACROS DE TECLADO ; ###################################################################################### ; BB ; Ctrl+Alt+B ^!b::send 31291129992 ; BOLD ; Win+Shift+B #+b:: send [b][/b]{space}{left 5} ; CODE ; Win+Shift+C #+c:: send [code][/code]{space}{left 8} ; FAKE PROFILE COM PORN ; Win+Ctrl+Shift+F #^+f::send Fake profile, mass-scrap spammer, porn-oriented. Please do something to block their multi-message scripts.{tab}{enter} ; FAKE PROFILE COM PORN E FALÁCIA ; Win+Ctrl+Alt+Shift+F #^!+f::send Fake profile, mass-scrap spammer, porn-oriented. This kind is using a new 'technique' to lure the men they send mass scraps: they act like they knew the person, with sweet messages of love, peace, etc so the 'victim' becomes curious to see their fake profile. In there, we see the links for porn sites. Please do something to block their multi-message scripts.{tab}{enter} ; FAKE PROFILE SEM PORN ; Win+Alt+Shift+F #!+f::send Fake profile, mass-scrap spammer. Please do something to block their multi-message scripts.{tab}{enter} ; FTP_SYNC NO NPP (1152) ; Win+Alt+F #!f::send !p{down}{right}{enter} Sleep, 2000 MouseClick, left, 901, 118 Sleep, 46 MouseClick, left, 915, 132 Sleep, 46 return ; ITALIC ; Win+Shift+I #+i:: send [i][/i]{space}{left 5} ; MULLIGAN ; Win+Ctrl+\ #^\:: send !a Sleep, 30 send h{enter} Sleep, 30 send !ag Sleep, 30 send {enter} Sleep, 30 send !a{up} Sleep, 30 send {right}{enter} Sleep, 30 send {ctrldown}s{ctrlup} Sleep, 30 send {ctrldown}l{ctrlup} Sleep, 30 send 20{enter} Sleep, 30 send {ctrldown}{d 7}{ctrlup} return ; OBRIGADO ; Win+Shift+O #+o:: send Valeu pelo trabalho, equipe+1{tab}{space}{tab 2}{space} ; QUOTE ; Win+Ctrl+Shift+Q #^+q:: send [quote][/quote]{space}{left 9} ; THANKS ; Win+Shift+T #+t:: Sleep, 20 send Thanks for sharing uploader Sleep, 20 Send {shiftdown}1{shiftup} :){tab}{space} return ; THANKS 2 ; Win+Shift+Ç #+ç:: Sleep, 20 send Thanks for this! Sleep, 20 Send {shiftdown}1{shiftup} :){space}:){tab}{space} return ; UNDERLINE ; Win+Shift+U #+u:: send [u][/u]{left 4} ; UPDATE TRACKER ; Win+Ctrl+Shift+U #^+u::send {ctrldown}a{ctrlup}{appskey}k ; VIRTUA ; Win+Ctrl+Shift+V #^+v::send 0016b54a9786{tab 2}{down 2}{tab}{down 2}{tab}{enter} ; XAVECO ; Win+Ctrl+Shift+X #^+x::send xavecoredshot@yahoo.com.br ; ###################################################################################### ; HOTSTRINGS ; ###################################################################################### ; ACONTEÇA :*:aconteca::aconteça ; ADICIONADA :*:adicioanda::adicionada ; ADICIONADO :*:adicioando::adicionado ; AGORA ::agoar::agora ; ALÉM :*:alem::além ; ALGUÉM :*:alguem::alguém ; ÃO ::ao::ao :?:aõ::ão :?:ao::ão ; ÁREA ::area::área ; ...ÁRIO :*?:ario::ário ; AS FAR AS I KNOW :*:afaik::As far as I know ; AS YOU CAN SEE :*:aucs::As you can see ; ATENDE :*:atnede::atende :*:atnedn::atende :*:atedne::atende :*:atened::atende ; ...ÁVEL :*?:avel::ável ; BLOG ::rosss::http://rosseiro.blogspot.com ; BY THE WAY ::btw::by the way ; CADÊ ::kd::cadê ; CAFÉ ::cafe::café ; CERTEZA :*:ctz::certeza ; COMEÇAR (e derivados) :*:comeco::começo :*:comeca::começa ; COMENTÁRIOS EM SÉRIE :*:cesss::http://www.comentariosemserie.com ; COMO :*:ocmo::como ; CONHEÇO :*:conheco::conheço ; CONTEÚDO ::conteudo::conteúdo ; ÇÃO :*?:cao::ção ; ÇÕES :*?:coes::ções ; DA ROSSA.frih.net :*:drih::http://www.darossa.frih.net ; DATA ATUAL :*:]d:: ; This hotstring replaces "]d" with the current date and time via the commands below. FormatTime, CurrentDateTime,,LongDate ; Vai ficar tipo: Sábado, 29 de dezembro de 2007 às 23:05 SendInput %CurrentDateTime% send {space}às{space} FormatTime, CurrentDateTime,,HH:mm SendInput %CurrentDateTime% return ; DATA ATUAL BY GARRY :*:]t:: FormatTime, CurrentDateTime,, d/M/yy H:mm ; It will look like 9/1/2005 23:53 stringsplit,BX,Currentdatetime,%A_space% ; divide the string at space, in this case divide in 2 parts (index) SendInput %BX1%{Tab}%BX2% ; send index1 TAB index2 Return ; DATA ATUAL SIMPLES :*:]a:: ; This hotstring replaces "]d" with the current date and time via the commands below. FormatTime, CurrentDateTime,,d/M/yy ; Vai ficar tipo: 29/12/07 às 23:05 SendInput %CurrentDateTime% send {space}às{space} FormatTime, CurrentDateTime,,H:mm SendInput %CurrentDateTime% return ; DATA ATUAL PARA PÔR NO EXCEL :*:[d:: ; Esta hotstring substitui "[d" pela data e hora atuais de acordo com os comandos abaixo. FormatTime, CurrentDate,, LongDate ; It will look like 9/1/2005 3:53 PM SendInput %CurrentDate% SendInput, {Tab} FormatTime, CurrentTime,, H:mm:ss ; Vai ficar na forma 5-4-07 às 14:57:01 SendInput %CurrentTime% return ; DATA ATUAL SIMPLES PARA NOMES DE ARQUIVO :*:]s:: ; Esta hotstring substitui "]s" pela data e hora atuais na forma 5-4-07 às 14.57 de acordo com os comandos abaixo. FormatTime, CurrentDate,, d-M-yy ; <-- esta é a data. SendInput %CurrentDate% SendInput, {space}às{space} FormatTime, CurrentTime,, H.mm ; <-- esta é a hora. SendInput %CurrentTime% return ; DATA ATUAL SIMPLES PARA NOMES DE ARQUIVO SEM ESPAÇOS :*:]h:: ; Esta hotstring substitui "]h" pela data e hora atuais na forma 5-4-07__14-57 de acordo com os comandos abaixo. FormatTime, CurrentDate,, d-M-yy ; <-- esta é a data. SendInput %CurrentDate% SendInput, __ FormatTime, CurrentTime,, HH-mm ; <-- esta é a hora. SendInput %CurrentTime% return ; DE ONDE :*:donde::de onde ; DEIXA :*:diexa::deixa ; DEPOIS :*:deopis::depois ; DIRECT ADMIN :*:dadmin::http://216.32.85.170:2222/ ; DIZEM :*:dimze::dizem :*:dizme::dizem ; DOWN :*?:donw::down ; É ::eh::é ; EDIT :*:]e::[b]Edit:[/b]{space} ; EMAIL :*:]/::darossa@gmail.com ; ...ENDO :*?:enod::endo ; ENTÃO :*:etnao::então ; EPISÓDIOS DE HOJE :*:epss::http://www.darossa.frih.net/episodios.html ; ESPAÇO :*:espaco::espaço ; FIREFOX ::ff::Firefox ; FREQÜÊNCIA (e derivados) :*:frq::freqüência :*?:frequ::freqü ; GALERA :*:glr::galera ; ...GÊNIO :*?:genio::gênio ; GENTE ::genet::gente :*:getne::gente ; HEIN :*:hien::hein ; HISTÓRIA :*:historia::história ; HOJE :*:hj::hoje ; HORA :*:hroa::hora ; HOUSE :?*:hosue::house ; ÍCONE ::icone::ícone ; IDÉIA :*:ideia::idéia ; ...ÍVEL :*?:ivel::ível ; JÁ ::ja::já ; LÁ ::la::lá ; LEO :*:lgcp::Leonardo Gomes do Carmo Pereira ; MAS :*:ams::mas ; MELHOR :*:melhro::melhor :*:mlehor::melhor ; MENSAGEM ::msg::mensagem :*:msgs::mensagens ; ...MENTE :*?:metne::mente :*?:menet::mente :*?:mnete::mente ; MSN :*:[]m::darossa@brturbo.com ; MUITO :*:mutio::muito ; MUITO 2 :*:mto::muito ; MÚSICA :*:musica::música ; ...NAR :?:arn::nar ; NÃO ::n::não :*:naõ::não :*:n.:: não. ; NÉ :*:neh::né ; NESSA ::nesa::nessa ; NUMB3RS :*:nm::Numb3rs ; OLAVO DE CARVALHO :*:olavao::http://blogtalkradio.com/olavo ; OLAVO DE CARVALHO 2 :*:olavo2::www.olavodecarvalho.org ; O QUE ::oq::o que ; ORKUT (MEU PROFILE) :*:lorkut::http://www.orkut.com/Profile.aspx?uid=12796900234143758630 ; PÁGINA(S) :*:pagina::página ; PERA :*:epra::pera ; PERGUNTA :*:pergutna::pergunta :*:pregunta::pergunta :*:pergunat::pergunta ; PESSOAS :*:pessaos::pessoas ; PODE :*:poed::pode ; POR QUÊ :*:pq?::por quê? ; POR QUE :*:pqq::por que ; PORQUE ::pq::porque ; PORQUÊ :*:p^q::porquê ; PORRA ::porar::porra ; PRA VOCÊ ::poce::pra você ; PREÇO ::preco::preço ; PREGUIÇA e derivados :*:preguic::preguiç ; PROBLEMA :*:prb::problema ; PRONOMES (ALGUNS) :*?:a-la::á-la :*?:i-la::í-la :*?:a-lo::á-lo :*?:i-lo::í-lo ; QUALQUER ::qq::qualquer ; QUANDO :*:qdo::quando ; QUANTO :*:qto::quanto ; QUE ::q::que ; QUEM ::qm::quem ; SANCC :*:sanccc::Somos Amigos, Não Confunda as Coisas ; SCRIPT :*:scritp::script ; SEARCH :*:serach::search :*:sreach::search :*:seacrh::search :*:saerch::search ; SERÁ ::sera::será ; SÉRIE e SÉRIO :*:serio::sério :*:serie::série ; SPOILER :*:sopielr::spoiler :*:spioler::spoiler ; TÁ ::ta::tá ; TAMBÉM ::tb::também :*:tambem::também ; TONIGHT'S SHOWS, PROCURAR NA FONTE DO SA ; RWin+O >#o:: send ^f Sleep, 7 sendraw width=220>Description return ; Vá ::va::vá ; VOCÊ ::vc::você ; ###################################################################################### ; HOTSTRINGS DO BLOG DO ROSSEIRO ; ###################################################################################### ; LINK PRINCIPAL :*:-*-::http://rosseiro.blogspot.com ; TUTORIAL DE UPLOAD DE EPISÓDIOS :*:[]2::http://rosseiro.blogspot.com/2007/01/tutorial-para-upload-de-episdios-em.html ; ANATOMIA :*:[]3::http://rosseiro.blogspot.com/2007/01/anatomia-de-um-release-de-episdio-de-tv.html ; ASSINTINDO :*:[]5::http://rosseiro.blogspot.com/2007/01/tutorial-para-assistir-episdios-de.html ; CULTIVANDO :*:[]6::http://rosseiro.blogspot.com/2007/01/tutorial-para-cultivar-o-ratio-em.html ; 24 :*:[]7::http://rosseiro.blogspot.com/2007/01/tutorial-para-obteno-de-episdios-de-24.html ; MANEIRAS :*:[]8::http://rosseiro.blogspot.com/2007/01/outras-maneiras-de-se-obter-episdios-de.html ; OUTROS TIPOS :*:[]9::http://rosseiro.blogspot.com/2007/02/outros-tipos-de-releases-de-episdios-de.html ; GLOSSÁRIO :*:[]10::http://rosseiro.blogspot.com/2007/03/glossrio-de-termos-associados.html ; ASSUNTOS DIVERSOS :*:[]11::http://rosseiro.blogspot.com/2007/02/assuntos-diversos_4919.html ; ###################################################################################### ; OUTRAS AÇÕES ; ###################################################################################### ; ABRIR ESTE PRÓPRIO TEXTO (verifique o diretório onde o script está.) ; RCtrl+Ins >^Ins::Run C:\Arquivos de programas\TextPad 5\TextPad.exe "D:\Docs\AHK\scripts\script.ahk" ; ABRIR TODOS OS TRACKERS ; Win+Ctrl+Alt+T #^!t:: MouseClick, right, 680, 99 Sleep, 100 MouseClick, left, 713, 112 Sleep, 100 return ; APPRENTICE DECK ; Win+Ctrl+K #^k:: send !c Sleep, 100 send +terrenos Sleep, 100 send {enter} Sleep, 100 send !c Sleep, 100 send +criaturas Sleep, 100 send {enter} Sleep, 100 send !c Sleep, 100 send +m´agicas Sleep, 100 send {enter} Sleep, 100 send !c Sleep, 100 send +side{enter} Sleep, 100 return ; CAIXA NOVA ; velha = ; #^+c:: send 0674{tab}1780038 ; Win+Ctrl+Shift+C #^+c:: MouseClick, left, 386, 311 Sleep, 20 send k11e5i9t19h8{tab}{space}{tab}{down 2}{enter} Sleep, 250 MouseClick, left, 537, 434 Sleep, 2500 MouseClick, left, 425, 326 Sleep, 100 return #^!b::send 31291129992 ; CLICAR ANEXOS DO GMAIL, 1152x864, Firefox com BTF, 2 tabs na parte superior, sendo uma do Gmail ; Win+´ #´:: WinWait, Gmail - Compose Mail - animantaimgs@gmail.com - Mozilla Firefox, IfWinNotActive, Gmail - Compose Mail - animantaimgs@gmail.com - Mozilla Firefox, , WinActivate, Gmail - Compose Mail - animantaimgs@gmail.com - Mozilla Firefox, WinWaitActive, Gmail - Compose Mail - animantaimgs@gmail.com - Mozilla Firefox, MouseClick, left, 295, 391 Sleep, 100 MouseClick, left, 295, 426 Sleep, 100 MouseClick, left, 295, 447 Sleep, 100 MouseClick, left, 291, 468 Sleep, 100 MouseClick, left, 294, 489 Sleep, 100 MouseClick, left, 301, 514 Sleep, 100 MouseClick, left, 302, 528 Sleep, 100 MouseClick, left, 298, 552 Sleep, 100 MouseClick, left, 298, 577 Sleep, 100 MouseClick, left, 298, 601 Sleep, 100 MouseClick, left, 298, 622 Sleep, 100 MouseClick, left, 301, 644 Sleep, 100 MouseClick, left, 301, 664 Sleep, 100 MouseClick, left, 301, 696 Sleep, 100 MouseClick, left, 301, 686 Sleep, 100 MouseClick, left, 301, 710 Sleep, 100 MouseClick, left, 301, 734 Sleep, 100 MouseClick, left, 298, 752 Sleep, 100 MouseClick, left, 298, 773 Sleep, 100 MouseClick, left, 287, 290 Sleep, 100 MouseClick, left, 291, 290 Sleep, 100 MouseClick, left, 291, 290 Sleep, 100 MouseClick, left, 291, 290 Sleep, 100 MouseClick, left, 291, 290 Sleep, 100 ; COLETE ; RCtrl+PgUp >^PgUp::Run D:\Docs\AHK\x27tN18tm3sob2.ahk ; COLAR CONFIGURAÇÕES DO SISTEMA ; Win+Alt+F11 #!F11:: send Processor: AMD Athlon XP 2800+ Sleep, 25 send {enter} send RAM: 512MB DDR 400 Sleep, 25 send {enter} send Video: GeForce 4 MX 440 64MB Sleep, 25 send {enter} send HD 1: Samsung 80GB 7200 rpm IDE Sleep, 25 send {enter} send HD 2: Seagate 120GB 7200 rpm IDE Sleep, 25 send {enter} send OS: Windows XP Home SP2 Sleep, 25 send {enter} send Monitor: 17" Samsung Syncmaster 753DFX return ; CONVERTER ÁREA DE TRANSFERÊNCIA PARA CAPITALIZAÇÃO COMO EM PROSA ; Exemplo: era uma vEz, Blé. eca. ---> Era uma vez, blé. Eca. ; Ctrl+Alt+K !^k:: StringLower, Clipboard, Clipboard Clipboard := RegExReplace(Clipboard, "((?:^|[.!?]\s+)[a-z])", "$u1") Send %Clipboard% RETURN ; CÓPIA/COLA RÁPIDA <-- Posicionar as duas janelas em primeiro plano. ; Ctrl+Alt+C #!c:: send ^c Sleep, 25 send !{tab} Sleep, 25 send ^v Sleep, 25 send {enter} return ;------------------------------------------------- ; Window dragging via alt+lbutton - ; Author: Lasmori (email AT lasmori D0T com) - ;------------------------------------------------- !LButton:: original_win_delay := A_Win_Delay CoordMode, Mouse, Relative MouseGetPos, cur_win_x, cur_win_y, window_id WinGet, window_minmax, MinMax, ahk_id %window_id% ; Return if the window is maximized or minimized if window_minmax <> 0 { return } CoordMode, Mouse, Screen SetWinDelay, 0 loop { ; exit the loop if the left mouse button was released GetKeyState, lbutton_state, LButton, P if lbutton_state = U { break } MouseGetPos, cur_x, cur_y window_x := cur_x - cur_win_x window_y := cur_y - cur_win_y WinMove, ahk_id %window_id%,, %window_x%, %window_y% } SetWinDelay, %original_win_delay% return ;------------------------------------------------- ; EJETAR / RECOLHER DRIVE H ; Win+[ #[:: Drive, Eject, H: ; If the command completed quickly, the tray was probably already ejected. ; In that case, retract it: if A_TimeSinceThisHotkey < 1000 ; Adjust this time if needed. Drive, Eject,, 1 return ; EJETAR / RECOLHER DRIVE I ; Win+] #]:: Drive, Eject, I: ; If the command completed quickly, the tray was probably already ejected. ; In that case, retract it: if A_TimeSinceThisHotkey < 1000 ; Adjust this time if needed. Drive, Eject, I:, 1 return ; ESVAZIAR LIXEIRA ;Win+RCtrl+Backspace #>^bs:: FileRecycleEmpty Return ; EXTRAÇÃO DE WINRAR RÁPIDA ; RCtrl+Enter >^Enter:: send {AppsKey} Sleep, 100 send x{enter} Sleep, 1200 send o return ; EXTRAÇÃO DE WINRAR RÁPIDA, PARA PASTA ; RCtrl+Enter >^>+Enter:: send {AppsKey} Sleep, 100 send e{enter} Sleep, 1200 send o return ; FILEZILLA: AUTOCONECTAR E SELECIONAR ; Win+Ctrl+Alt+M #^!m:: send ^s Sleep, 250 send {down} Sleep, 250 send !c Sleep, 250 send {tab 9} Sleep, 250 send {down 5} ; IR PARA HOTSTRINGS ; Ctrl+Alt+PgDn ^!PgDn::send {pgdn 17} ; LEGENDAS.TV SELECIONAR RELEASE EM PORTUGUÊS-BR ; Win+Down #down::send {tab 2}{down}{enter}{tab}{enter} ; LOCALIZAR TONIGHT'S SHOWS NO CÓDIGO DO SA ; Win+Alt+U #!u:: send !v Sleep, 9 send o Sleep, 1000 send ^f Sleep, 50 send

Tonight Shows

return ; MOVIMENTOS DA JANELA ATUAL ; 0 ; Ctrl+Numpad6 ^Numpad6:: send!{space}m Sleep, 20 send {right 30} return ; 45 ; Ctrl+Numpad9 ^Numpad9:: send!{space}m Sleep, 20 send {right 2}{up}{right}{up}{right 2}{up}{right}{up}{right 2}{up}{right}{up}{right 2}{up}{right}{up}{right 2}{up}{right}{up}{right 2}{up}{right}{up}{right 2}{up}{right}{up}{right 2}{up}{right}{up}{right 2}{up}{right}{up}{right 2}{up}{right}{up}{enter} return ; 90 ; Ctrl+Numpad8 ^Numpad8:: send!{space}m Sleep, 20 send {up 25}{enter} return ; 135 ; Ctrl+Numpad7 ^Numpad7:: send!{space}m Sleep, 20 send {up}{left 2}{up}{left 2}{up}{left 2}{up}{left 2}{up}{left 2}{up}{left 2}{up}{left 2}{up}{left 2}{up}{left 2}{up}{left 2}{enter} return ; 180 ; Ctrl+Numpad4 ^Numpad4:: send!{space}m Sleep, 20 send {left 30}{enter} return ; 225 ; Ctrl+Numpad1 ^Numpad1:: send!{space}m Sleep, 20 send {down}{left 2}{down}{left 2}{down}{left 2}{down}{left 2}{down}{left 2}{down}{left 2}{down}{left 2}{down}{left 2}{down}{left 2}{down}{left 2} return ; 270 ; Ctrl+Numpad2 ^Numpad2:: send!{space}m Sleep, 20 send {down 25}{enter} return ; 315 ; Ctrl+Numpad3 ^Numpad3:: send!{space}m Sleep, 20 send {down}{right 2}{down}{right 2}{down}{right 2}{down}{right 2}{down}{right 2}{down}{right 2}{down}{right 2}{down}{right 2}{down}{right 2}{down}{right 2} return ; MOZBACK TOTAL --> OS 4 TIPOS ; Win+Alt+Y #!y:: ; primeiro passo - welcome send {enter} Sleep, 100 ; segundo passo -backup or restore send {tab 4} Sleep, 100 send {down 2} Sleep, 100 send {enter} ; terceiro passo - escolher profile Sleep, 100 send {tab 3} Sleep, 100 send {down} Sleep, 100 send {tab} Sleep, 100 send {space} ; quarto passo - salvar o arquivo Sleep, 100 send {right} Sleep, 100 send {left 4} Sleep, 100 send {BS 10} Sleep, 500 FormatTime, CurrentDate,, d-M-yy ; <-- esta é a data. SendInput %CurrentDate% SendInput, {space}às{space} FormatTime, CurrentTime,, H.mm ; <-- esta é a hora. SendInput %CurrentTime% SendInput, {space}-{space}+c+c+e Sleep, 100 send {enter} ; quinto passo - voltar ao passo do profile, arquivo já determinado Sleep, 100 send {tab 2}{enter} ; sexto passo - determinar se é com ou sem senha Sleep, 100 send nnn Sleep, 100 ; sétimo passo - escolher opções de backup send {tab 3} Sleep, 100 send {up}{space} Sleep, 100 ; oitavo passo - lembrete das extensões problemáticas send {enter} Sleep, 100 send {enter} ; nono passo - go! Sleep, 12000 ; FIM DO CCE send !n{tab}{space} Sleep, 100 send {enter} Sleep, 100 send {tab 4}{down 2} Sleep, 100 send {enter} Sleep, 100 send {tab 3}{down}{tab}{space} Sleep, 100 send {right} Sleep, 100 send {left 4} Sleep, 100 send {BS 10} Sleep, 500 FormatTime, CurrentDate,, d-M-yy ; <-- esta é a data. SendInput %CurrentDate% SendInput, {space}às{space} FormatTime, CurrentTime,, H.mm ; <-- esta é a hora. SendInput %CurrentTime% SendInput, {space}-{space}+c+s+e Sleep, 100 send {enter} Sleep, 100 send {tab 2}{space} Sleep, 100 send n Sleep, 100 send {tab 3}{space}{down}{space}{down}{space}{down}{space}{down}{space}{down}{space}{down}{space}{down}{space}{down} Sleep, 100 send {enter} Sleep, 100 send {enter} Sleep, 9000 ; FIM DO CSE send !n{tab}{space} Sleep, 100 send {enter} Sleep, 100 send {tab 4}{down 2} ; cuidado de novo Sleep, 100 send {enter} send {tab 3}{down}{tab}{space} Sleep, 100 send {right} Sleep, 100 send {left 4} Sleep, 100 send {BS 10} Sleep, 500 FormatTime, CurrentDate,, d-M-yy ; <-- esta é a data. SendInput %CurrentDate% SendInput, {space}às{space} FormatTime, CurrentTime,, H.mm ; <-- esta é a hora. SendInput %CurrentTime% SendInput, {space}-{space}+s+c+e Sleep, 100 send {enter} Sleep, 100 send {tab 2}{space} Sleep, 100 send nn Sleep, 100 send {tab 4} Sleep, 100 send {down}{space}{down}{space}{down}{space}{down}{space}{down}{space}{down}{space}{down}{space}{down}{space}{down}{space}{enter} Sleep, 12000 ; FIM DO SCE send !n Sleep, 100 send {tab}{enter} Sleep, 100, send {enter} Sleep, 100, send {tab 4}{down 2} Sleep, 100, send {enter}{tab 3}{down} Sleep, 100, send {tab}{space} Sleep, 100 send {right} Sleep, 100 send {left 4} Sleep, 100 send {BS 10} Sleep, 500 FormatTime, CurrentDate,, d-M-yy ; <-- esta é a data. SendInput %CurrentDate% SendInput, {space}às{space} FormatTime, CurrentTime,, H.mm ; <-- esta é a hora. SendInput %CurrentTime% SendInput, {space}-{space}+s+s+e Sleep, 100 send {enter} Sleep, 100, send {tab 2}{space} Sleep, 100, send nn Sleep, 100 send {tab 3} Sleep, 100 send {space}{down}{space}{down}{space}{down}{space}{down}{space}{down}{space}{down}{space}{down}{tab} Sleep, 100 send {space} Sleep, 4500, send {enter} Sleep, 100 send {enter} return ; END SSE ; MOZBACK TOTAL COM EXECUÇÃO DO PROGRAMA--> OS 4 TIPOS ; Win+Alt+O #!o:: Run F:\Appz\4 Utilitários\MozBackup 1.4.4\Backup.exe Sleep, 500 ; primeiro passo - welcome send {enter} Sleep, 100 ; segundo passo -backup or restore send {tab 4} Sleep, 100 send {down 2} Sleep, 100 send {enter} ; terceiro passo - escolher profile Sleep, 100 send {tab 3} Sleep, 100 send {down} Sleep, 100 send {tab} Sleep, 100 send {space} ; quarto passo - salvar o arquivo Sleep, 100 send {right} Sleep, 100 send {left 4} Sleep, 100 send {BS 10} Sleep, 500 FormatTime, CurrentDate,, d-M-yy ; <-- esta é a data. SendInput %CurrentDate% SendInput, {space}às{space} FormatTime, CurrentTime,, H.mm ; <-- esta é a hora. SendInput %CurrentTime% SendInput, {space}-{space}+c+c+e Sleep, 100 send {enter} ; quinto passo - voltar ao passo do profile, arquivo já determinado Sleep, 100 send {tab 2}{enter} ; sexto passo - determinar se é com ou sem senha Sleep, 100 send nnn Sleep, 100 ; sétimo passo - escolher opções de backup send {tab 3} Sleep, 100 send {up}{space} Sleep, 100 ; oitavo passo - lembrete das extensões problemáticas send {enter} Sleep, 100 send {enter} ; nono passo - go! Sleep, 7000 ; FIM DO CCE send !n{tab}{space} Sleep, 100 send {enter} Sleep, 100 send {tab 4}{down 2} Sleep, 100 send {enter} Sleep, 100 send {tab 3}{down}{tab}{space} Sleep, 100 send {right} Sleep, 100 send {left 4} Sleep, 100 send {BS 10} Sleep, 500 FormatTime, CurrentDate,, d-M-yy ; <-- esta é a data. SendInput %CurrentDate% SendInput, {space}às{space} FormatTime, CurrentTime,, H.mm ; <-- esta é a hora. SendInput %CurrentTime% SendInput, {space}-{space}+c+s+e Sleep, 100 send {enter} Sleep, 100 send {tab 2}{space} Sleep, 100 send n Sleep, 100 send {tab 3}{space}{down}{space}{down}{space}{down}{space}{down}{space}{down}{space}{down}{space}{down}{space}{down} Sleep, 100 send {enter} Sleep, 100 send {enter} Sleep, 6000 ; FIM DO CSE send !n{tab}{space} Sleep, 100 send {enter} Sleep, 100 send {tab 4}{down 2} ; cuidado de novo Sleep, 100 send {enter} send {tab 3}{down}{tab}{space} Sleep, 100 send {right} Sleep, 100 send {left 4} Sleep, 100 send {BS 10} Sleep, 500 FormatTime, CurrentDate,, d-M-yy ; <-- esta é a data. SendInput %CurrentDate% SendInput, {space}às{space} FormatTime, CurrentTime,, H.mm ; <-- esta é a hora. SendInput %CurrentTime% SendInput, {space}-{space}+s+c+e Sleep, 100 send {enter} Sleep, 100 send {tab 2}{space} Sleep, 100 send nn Sleep, 100 send {tab 4} Sleep, 100 send {down}{space}{down}{space}{down}{space}{down}{space}{down}{space}{down}{space}{down}{space}{down}{space}{down}{space}{enter} Sleep, 6000 ; FIM DO SCE send !n Sleep, 100 send {tab}{enter} Sleep, 100, send {enter} Sleep, 100, send {tab 4}{down 2} Sleep, 100, send {enter}{tab 3}{down} Sleep, 100, send {tab}{space} Sleep, 100 send {right} Sleep, 100 send {left 4} Sleep, 100 send {BS 10} Sleep, 500 FormatTime, CurrentDate,, d-M-yy ; <-- esta é a data. SendInput %CurrentDate% SendInput, {space}às{space} FormatTime, CurrentTime,, H.mm ; <-- esta é a hora. SendInput %CurrentTime% SendInput, {space}-{space}+s+s+e Sleep, 100 send {enter} Sleep, 100, send {tab 2}{space} Sleep, 100, send nn Sleep, 100 send {tab 3} Sleep, 100 send {space}{down}{space}{down}{space}{down}{space}{down}{space}{down}{space}{down}{space}{down}{tab} Sleep, 100 send {space} Sleep, 2500, send {enter} Sleep, 100 send {enter} return ; END SSE ; NVU FIND/REPLACE ; Win+Ctrl+Shift+N #^+n:: send ^f Sleep, 50 send 05:00 pm{tab}17:00!a Sleep, 50 send {tab 2} Sleep, 50 send 05:30 pm{tab}17:30!a Sleep, 50 send {tab 2} Sleep, 50 send 06:00 pm{tab}18:00!a Sleep, 50 send {tab 2} Sleep, 50 send 06:30 pm{tab}18:30!a Sleep, 50 send {tab 2} Sleep, 50 send 07:00 pm{tab}19:00!a Sleep, 50 send {tab 2} Sleep, 50 send 07:15 pm{tab}19:15!a Sleep, 50 send {tab 2} Sleep, 50 send 07:30 pm{tab}19:30!a Sleep, 50 send {tab 2} Sleep, 50 send 07:45 pm{tab}19:45!a Sleep, 50 send {tab 2} Sleep, 50 send 08:00 pm{tab}20:00!a Sleep, 50 send {tab 2} Sleep, 50 send 08:15 pm{tab}20:15!a Sleep, 50 send {tab 2} Sleep, 50 send 08:30 pm{tab}20:30!a Sleep, 50 send {tab 2} send 08:45 pm{tab}20:45!a Sleep, 50 send {tab 2} Sleep, 50 send 09:00 pm{tab}21:00!a Sleep, 50 send {tab 2} Sleep, 50 send 09:30 pm{tab}21:30!a Sleep, 50 send {tab 2} Sleep, 50 send 10:00 pm{tab}22:00!a Sleep, 50 send {tab 2} Sleep, 50 send 10:02 pm{tab}22:02!a Sleep, 50 send {tab 2} Sleep, 50 send 10:15 pm{tab}22:15!a Sleep, 50 send {tab 2} Sleep, 50 send 10:30 pm{tab}22:30!a Sleep, 50 send {tab 2} Sleep, 50 send 11:00 pm{tab}23:00!a Sleep, 50 send {tab 2} Sleep, 50 send 11:05 pm{tab}23:05!a Sleep, 50 send {tab 2} Sleep, 50 send 11:30 pm{tab}23:30!a Sleep, 50 send {tab 2} Sleep, 50 send 11:35 pm{tab}23:35!a Sleep, 50 send {tab 2} Sleep, 50 send 11:45 pm{tab}23:45!a Sleep, 50 send {tab 2} Sleep, 50 send 12:00 am{tab}00:00!a Sleep, 50 send {tab 2} Sleep, 50 send 12:05 am{tab}00:05!a Sleep, 50 send {tab 2} Sleep, 50 send 12:15 am{tab}00:15!a Sleep, 50 send {tab 2} Sleep, 50 send 12:30 am{tab}00:30!a Sleep, 50 send {tab 2} Sleep, 50 send 12:35 am{tab}00:35!a Sleep, 50 send {tab 2} Sleep, 50 send 12:45 am{tab}00:45!a Sleep, 50 send {tab 2} Sleep, 50 send 01:00 am{tab}01:00!a Sleep, 50 send {tab 2} Sleep, 50 send 01:05 am{tab}01:05!a Sleep, 50 send {tab 2} Sleep, 50 send 01:15 am{tab}01:15!a Sleep, 50 send {tab 2} Sleep, 50 send 01:30 am{tab}01:30!a Sleep, 50 send {tab 2} Sleep, 50 send 01:35 am{tab}01:35!a Sleep, 50 send {tab 2} Sleep, 50 send 01:45 am{tab}01:45!a Sleep, 50 send {tab 2} Sleep, 50 send 02:00 am{tab}02:00!a Sleep, 50 send {tab 2} Sleep, 50 send 02:05 am{tab}02:05!a Sleep, 50 send {tab 2} Sleep, 50 send 02:15 am{tab}02:15!a Sleep, 50 send {tab 2} Sleep, 50 send 02:30 am{tab}02:30!a Sleep, 50 send {tab 2} Sleep, 50 send 02:35 am{tab}02:35!a Sleep, 50 send {tab 2} Sleep, 50 send 02:45 am{tab}02:45!a Sleep, 50 send {tab 2} Sleep, 50 send 03:00 am{tab}03:00!a Sleep, 50 send {tab 2} Sleep, 50 send 03:30 am{tab}03:30!a Sleep, 50 send {tab 2} Sleep, 50 send 04:00 am{tab}04:00!a Sleep, 50 send {tab}{enter} Sleep, 50 Return ; ORGANIZAR ÍCONES NA ÁREA DE TRABALHO POR DATA DE MODIFICAÇÃO ; Win+Space #space:: send #m WinWait, Program Manager, IfWinNotActive, Program Manager, , WinActivate, Program Manager, WinWaitActive, Program Manager, MouseClick, left, 432, 336 Sleep, 100 MouseClick, right, 432, 336 Sleep, 100 Send, gm return ; PAUSE ; RWin+BS >#BS:: Pause ; RECARREGAR SCRIPT ; Ctrl+num0 ^Numpad0:: Reload ; REMOVER ÁREA DE BUSCA DO FIREFOX ; Ctrl+Xbutton1 = mouse4 ^XButton1:: send ^f Sleep, 23 send {esc} return ; RENOMEAR, COPIAR, ENTER ; Ctrl+Alt+Z ^!z::send {F2}^c{enter} ; RENOMEAR, COLAR, ENTER ; Ctrl+Alt+X ^!x::send {F2}^v{enter} ; RESTAURAR ITENS SELECIONADOS DA LIXEIRA ; RShift+Backspace >+bs::send {appskey}{down}{enter} ; SALVAR E RECARREGAR ; RCtrl+NumpadEnter >^NumpadEnter:: IfWinActive, TextPad - [D:\Docs\AHK\scripts\Script.ahk *] WinActivate ; Automatically uses the window found above. WinMaximize ; same Send, ^s Reload return ; SAMURIZE CONFIG ; Win+RCtrl+S #>^s:: Run C:\Arquivos de programas\Samurize\Config.exe "C:\Arquivos de programas\Samurize\Configs\hdzinho.ini" ; SCREENSHOT RÁPIDA ; RCtrl+PrintScreen >^PrintScreen:: Send,{PrintScreen} Sleep,100 Run, C:\Arquivos de programas\IrfanView\i_view32.exe Sleep,700 send, ^v Sleep, 500 return ; SELECTION TO GOOGLE ; Win+Ctrl+Alt+C #^!c:: send ^c Sleep, 18 send ^k Sleep, 18 send ^v Sleep, 18 send {up} Sleep, 18 send {up} Sleep, 18 send {up} Sleep, 18 send {up} Sleep, 18 send {enter} return ; SIGN OUT NO GMAIL (EM INGLÊS) ; RCtrl+F12 >^F12:: send ' send sig{enter} return >^F11:: send ' send sair{enter} return ; SUBIR PARA O CHANGELOG ; Win+Ctrl+Up #^up:: send ^{home}{down 17}{enter}{;}{space} Sleep, 26 FormatTime, CurrentDate,, d/M/yy ; <-- esta é a data. SendInput %CurrentDate% SendInput, {space}às{space} FormatTime, CurrentTime,, H:mm ; <-- esta é a hora. SendInput %CurrentTime% SendInput, {space}-{space} return ; SUBIR PARA O CHANGELOG, ADICIONAR PEQUENA MODIFICAÇÃO ; Win+Shift+Up #+up::send ^{home}{down 18}{end}{bs}{space} ; URL BB CODE FOR PHPBB ; Win+= #=:: Sleep, 50 send [url=%clipboard%] Sleep, 50 send [/url] Sleep, 50 send {left 6} return ; UTORRENT: REMOVE AND DELETE DATA ; Win+Ctrl+NumpadSub #^NumpadSub:: send {AppsKey}ne{enter} ; ###################################################################################### ; FORA DE USO / TEMPORÁRIOS ; ###################################################################################### /* ; CLIPBOARD TO GOOGLE Alt+F1 !F1:: Var = %Clipboard% StringReplace, Var, Var, %A_Space%, +, All GoogleSearch = http://www.google.com/search?q=`%22%Var%`%22 Run, %GoogleSearch% Return */ /* COLUNAS DA PLANILHA DE SÉRIES Win+Ctrl+R #^r::send +release{tab}+status{tab}+fonte{tab}+legenda{tab}+renomeação{tab}+resultado */ /* HOME, BACK, SPACE F4::send {home}{bs}{space} */ /* LOAD ROR GAME RCtrl+Numpad7 >^Numpad7:: send {F10} Sleep, 150 Send {down 4} Sleep, 150 send {enter 3} return */ /* RENOMEAR DEZENAS Numpad5 Numpad5::send {down}{F2}{left}{right}{bs 2} */ /* INTELLISENSE Win+Ctrl+Num* #^NumpadMult::Run C:\Arquivos de programas\AutoHotkey\Extras\Scripts\IntelliSense.ahk */ /* #^Numpad5:: Send,!{PrintScreen} Sleep,1500 Runwait, D:\Docs\Imagens\Screenshots\kiu-clipsave.exe, , Hide Sleep, 750 KeyWait, LButton, down return */ ; ########################################################################################## ; NIFTYWINDOWS nwd; ########################################################################################## /* * Copyright (c) 2004-2005 by Enovatic-Solutions. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * ---------------------------------------------------------------------- * If you have any suggestions of new features or further questions * feel free to contact the author. * * Company: Enovatic-Solutions (IT Service Provider) * Author: Oliver Pfeiffer, Bremen (GERMANY) * Homepage: http://www.enovatic.org/ * Email: contact@enovatic.org */ ; NiftyWindows Version 0.9.3.1 ; http://www.enovatic.org/products/niftywindows/ ; AutoHotkey Version 1.0.36.01 ; http://www.autohotkey.com/ #SingleInstance force #HotkeyInterval 1000 #MaxHotkeysPerInterval 100 ; #NoTrayIcon ; [SYS] autostart section SplitPath, A_ScriptFullPath, SYS_ScriptNameExt, SYS_ScriptDir, SYS_ScriptExt, SYS_ScriptNameNoExt, SYS_ScriptDrive SYS_ScriptVersion = 0.9.3.1 SYS_ScriptBuild = 20050702195845 SYS_ScriptInfo = %SYS_ScriptNameNoExt% %SYS_ScriptVersion% Process, Priority, , HIGH SetBatchLines, -1 ; TODO : a nulled key delay may produce problems for WinAmp control SetKeyDelay, 0, 0 SetMouseDelay, 0 SetDefaultMouseSpeed, 0 SetWinDelay, 0 SetControlDelay, 0 Gosub, SYS_ParseCommandLine Gosub, CFG_LoadSettings Gosub, CFG_ApplySettings MIR_MirandaFullPath = %ProgramFiles%\Miranda\Miranda32.exe SplitPath, MIR_MirandaFullPath, , MIR_MirandaDir if ( !A_IsCompiled ) SetTimer, REL_ScriptReload, 1000 OnExit, SYS_ExitHandler Gosub, TRY_TrayInit Gosub, SYS_ContextCheck Return ; [SYS] parses command line parameters SYS_ParseCommandLine: Loop %0% If ( (%A_Index% = "/x") or (%A_Index% = "/exit") ) ExitApp Return ; [SYS] exit handler SYS_ExitHandler: Gosub, AOT_ExitHandler Gosub, ROL_ExitHandler Gosub, TRA_ExitHandler Gosub, CFG_SaveSettings ExitApp ; [SYS] context check SYS_ContextCheck: Gosub, SYS_TrayTipBalloonCheck If ( !SYS_TrayTipBalloon ) { Gosub, SUS_SuspendSaveState Suspend, On MsgBox, 4148, Balloon Handler - %SYS_ScriptInfo%, The balloon messages are disabled on your system. These visual messages`nabove the system tray are often used by tools as additional information four`nyour interest.`n`nNiftyWindows uses balloon messages to show you some important operating`ndetails. If you leave the messages disabled NiftyWindows will show some plain`nmessages as tooltips instead (in front of the system tray).`n`nDo you want to enable balloon messages now (highly recommended)? Gosub, SUS_SuspendRestoreState IfMsgBox, Yes { SYS_TrayTipBalloon = 1 RegWrite, REG_DWORD, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced, EnableBalloonTips, %SYS_TrayTipBalloon% RegWrite, REG_DWORD, HKEY_LOCAL_MACHINE, Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced, EnableBalloonTips, %SYS_TrayTipBalloon% SendMessage, 0x001A, , , , ahk_id 0xFFFF ; 0x001A is WM_SETTINGCHANGE ; 0xFFFF is HWND_BROADCAST Sleep, 500 ; lets the other windows relax } } IfNotExist, %A_ScriptDir%\readme.txt { TRY_TrayEvent := "Help" Gosub, TRY_TrayEvent Suspend, On Sleep, 10000 ExitApp, 1 } IfNotExist, %A_ScriptDir%\license.txt { TRY_TrayEvent := "View License" Gosub, TRY_TrayEvent Suspend, On Sleep, 10000 ExitApp, 1 } TRY_TrayEvent := "About" Gosub, TRY_TrayEvent Return ; [SYS] handles tooltips SYS_ToolTipShow: If ( SYS_ToolTipText ) { If ( !SYS_ToolTipSeconds ) SYS_ToolTipSeconds = 2 SYS_ToolTipMillis := SYS_ToolTipSeconds * 1000 CoordMode, Mouse, Screen CoordMode, ToolTip, Screen If ( !SYS_ToolTipX or !SYS_ToolTipY ) { MouseGetPos, SYS_ToolTipX, SYS_ToolTipY SYS_ToolTipX += 16 SYS_ToolTipY += 24 } ToolTip, %SYS_ToolTipText%, %SYS_ToolTipX%, %SYS_ToolTipY% SetTimer, SYS_ToolTipHandler, %SYS_ToolTipMillis% } SYS_ToolTipText = SYS_ToolTipSeconds = SYS_ToolTipX = SYS_ToolTipY = Return SYS_ToolTipFeedbackShow: If ( SYS_ToolTipFeedback ) Gosub, SYS_ToolTipShow SYS_ToolTipText = SYS_ToolTipSeconds = SYS_ToolTipX = SYS_ToolTipY = Return SYS_ToolTipHandler: SetTimer, SYS_ToolTipHandler, Off ToolTip Return ; [SYS] handles balloon messages SYS_TrayTipShow: If ( SYS_TrayTipText ) { If ( !SYS_TrayTipTitle ) SYS_TrayTipTitle = %SYS_ScriptInfo% If ( !SYS_TrayTipSeconds ) SYS_TrayTipSeconds = 10 If ( !SYS_TrayTipOptions ) SYS_TrayTipOptions = 17 SYS_TrayTipMillis := SYS_TrayTipSeconds * 1000 Gosub, SYS_TrayTipBalloonCheck If ( SYS_TrayTipBalloon and !A_IconHidden ) { TrayTip, %SYS_TrayTipTitle%, %SYS_TrayTipText%, %SYS_TrayTipSeconds%, %SYS_TrayTipOptions% SetTimer, SYS_TrayTipHandler, %SYS_TrayTipMillis% } Else { TrayTip SYS_ToolTipText = %SYS_TrayTipTitle%:`n`n%SYS_TrayTipText% SYS_ToolTipSeconds = %SYS_TrayTipSeconds% SysGet, SYS_TrayTipDisplay, Monitor SYS_ToolTipX = %SYS_TrayTipDisplayRight% SYS_ToolTipY = %SYS_TrayTipDisplayBottom% Gosub, SYS_ToolTipShow } } SYS_TrayTipTitle = SYS_TrayTipText = SYS_TrayTipSeconds = SYS_TrayTipOptions = Return SYS_TrayTipHandler: SetTimer, SYS_TrayTipHandler, Off TrayTip Return SYS_TrayTipBalloonCheck: RegRead, SYS_TrayTipBalloonCU, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced, EnableBalloonTips SYS_TrayTipBalloonCU := ErrorLevel or SYS_TrayTipBalloonCU RegRead, SYS_TrayTipBalloonLM, HKEY_LOCAL_MACHINE, Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced, EnableBalloonTips SYS_TrayTipBalloonLM := ErrorLevel or SYS_TrayTipBalloonLM SYS_TrayTipBalloon := SYS_TrayTipBalloonCU and SYS_TrayTipBalloonLM Return ; [SUS] provides suspend services #Esc:: SUS_SuspendToggle: Suspend, Permit If ( !A_IsSuspended ) { Suspend, On SYS_TrayTipText = NiftyWindows is suspended now.`nPress WIN+ESC to resume it again. SYS_TrayTipOptions = 2 } Else { Suspend, Off SYS_TrayTipText = NiftyWindows is resumed now.`nPress WIN+ESC to suspend it again. } Gosub, SYS_TrayTipShow Gosub, TRY_TrayUpdate Return SUS_SuspendSaveState: SUS_Suspended := A_IsSuspended Return SUS_SuspendRestoreState: If ( SUS_Suspended ) Suspend, On Else Suspend, Off Return SUS_SuspendHandler: IfWinActive, A { WinGet, SUS_WinID, ID If ( !SUS_WinID ) Return WinGet, SUS_WinMinMax, MinMax, ahk_id %SUS_WinID% WinGetPos, SUS_WinX, SUS_WinY, SUS_WinW, SUS_WinH, ahk_id %SUS_WinID% If ( (SUS_WinMinMax = 0) and (SUS_WinX = 0) and (SUS_WinY = 0) and (SUS_WinW = A_ScreenWidth) and (SUS_WinH = A_ScreenHeight) ) { WinGetClass, SUS_WinClass, ahk_id %SUS_WinID% WinGet, SUS_ProcessName, ProcessName, ahk_id %SUS_WinID% SplitPath, SUS_ProcessName, , , SUS_ProcessExt If ( (SUS_WinClass != "Progman") and (SUS_ProcessExt != "scr") and !SUS_FullScreenSuspend ) { SUS_FullScreenSuspend = 1 SUS_FullScreenSuspendState := A_IsSuspended If ( !A_IsSuspended ) { Suspend, On SYS_TrayTipText = A full screen window was activated.`nNiftyWindows is suspended now.`nPress WIN+ESC to resume it again. SYS_TrayTipOptions = 2 Gosub, SYS_TrayTipShow Gosub, TRY_TrayUpdate } } } Else { If ( SUS_FullScreenSuspend ) { SUS_FullScreenSuspend = 0 If ( A_IsSuspended and !SUS_FullScreenSuspendState ) { Suspend, Off SYS_TrayTipText = A full screen window was deactivated.`nNiftyWindows is resumed now.`nPress WIN+ESC to suspend it again. Gosub, SYS_TrayTipShow Gosub, TRY_TrayUpdate } } } } Return ; [SYS] provides reversion of all visual effects /** * This powerful hotkey removes all visual effects (like on exit) that have * been made before by NiftyWindows. You can use this action as a fall-back * solution to quickly revert any always-on-top, \ed windows and * transparency features you've set before. */ ^#BS:: ; ^!BS:: SYS_RevertVisualEffects: Gosub, AOT_SetAllOff Gosub, ROL_RollDownAll Gosub, TRA_TransparencyAllOff SYS_TrayTipText = All visual effects (AOT, Roll, Transparency) were reverted. Gosub, SYS_TrayTipShow Return ; [NWD] nifty window dragging /** * This is the most powerful feature of NiftyWindows. The area of every window * is tiled in a virtual 9-cell grid with three columns and rows. The center * cell is the largest one and you can grab and move a window around by clicking * and holding it with the right mouse button. The other eight corner cells are * used to resize a resizable window in the same manner. */ $RButton:: $+RButton:: $+!RButton:: $+^RButton:: $+#RButton:: $+!^RButton:: $+!#RButton:: $+^#RButton:: $+!^#RButton:: $!RButton:: $!^RButton:: $!#RButton:: $!^#RButton:: $^RButton:: $^#RButton:: $#RButton:: NWD_ResizeGrids = 5 CoordMode, Mouse, Screen MouseGetPos, NWD_MouseStartX, NWD_MouseStartY, NWD_WinID If ( !NWD_WinID ) Return WinGetPos, NWD_WinStartX, NWD_WinStartY, NWD_WinStartW, NWD_WinStartH, ahk_id %NWD_WinID% WinGet, NWD_WinMinMax, MinMax, ahk_id %NWD_WinID% WinGet, NWD_WinStyle, Style, ahk_id %NWD_WinID% WinGetClass, NWD_WinClass, ahk_id %NWD_WinID% GetKeyState, NWD_CtrlState, Ctrl, P ; the and'ed condition checks for popup window: ; (WS_POPUP) and !(WS_DLGFRAME | WS_SYSMENU | WS_THICKFRAME) If ( (NWD_WinClass = "Progman") or ((NWD_CtrlState = "U") and (((NWD_WinStyle & 0x80000000) and !(NWD_WinStyle & 0x4C0000)) or (NWD_WinClass = "ExploreWClass") or (NWD_WinClass = "CabinetWClass") or (NWD_WinClass = "IEFrame") or (NWD_WinClass = "MozillaWindowClass") or (NWD_WinClass = "OpWindow") or (NWD_WinClass = "ATL:ExplorerFrame") or (NWD_WinClass = "ATL:ScrapFrame"))) ) { NWD_ImmediateDownRequest = 1 NWD_ImmediateDown = 0 NWD_PermitClick = 1 } Else { NWD_ImmediateDownRequest = 0 NWD_ImmediateDown = 0 NWD_PermitClick = 1 } NWD_Dragging := (NWD_WinClass != "Progman") and ((NWD_CtrlState = "D") or ((NWD_WinMinMax != 1) and !NWD_ImmediateDownRequest)) ; checks wheter the window has a sizing border (WS_THICKFRAME) If ( (NWD_CtrlState = "D") or (NWD_WinStyle & 0x40000) ) { If ( (NWD_MouseStartX >= NWD_WinStartX + NWD_WinStartW / NWD_ResizeGrids) and (NWD_MouseStartX <= NWD_WinStartX + (NWD_ResizeGrids - 1) * NWD_WinStartW / NWD_ResizeGrids) ) NWD_ResizeX = 0 Else If ( NWD_MouseStartX > NWD_WinStartX + NWD_WinStartW / 2 ) NWD_ResizeX := 1 Else NWD_ResizeX := -1 If ( (NWD_MouseStartY >= NWD_WinStartY + NWD_WinStartH / NWD_ResizeGrids) and (NWD_MouseStartY <= NWD_WinStartY + (NWD_ResizeGrids - 1) * NWD_WinStartH / NWD_ResizeGrids) ) NWD_ResizeY = 0 Else If ( NWD_MouseStartY > NWD_WinStartY + NWD_WinStartH / 2 ) NWD_ResizeY := 1 Else NWD_ResizeY := -1 } Else { NWD_ResizeX = 0 NWD_ResizeY = 0 } If ( NWD_WinStartW and NWD_WinStartH ) NWD_WinStartAR := NWD_WinStartW / NWD_WinStartH Else NWD_WinStartAR = 0 ; TODO : this is a workaround (checks for popup window) for the activation ; bug of AutoHotkey -> can be removed as soon as the known bug is fixed If ( !((NWD_WinStyle & 0x80000000) and !(NWD_WinStyle & 0x4C0000)) ) IfWinNotActive, ahk_id %NWD_WinID% WinActivate, ahk_id %NWD_WinID% ; TODO : the hotkeys must be enabled in the 2nd block because the 1st block ; activates them only for the first call (historical problem of AutoHotkey) Hotkey, Shift, NWD_IgnoreKeyHandler Hotkey, Ctrl, NWD_IgnoreKeyHandler Hotkey, Alt, NWD_IgnoreKeyHandler Hotkey, LWin, NWD_IgnoreKeyHandler Hotkey, RWin, NWD_IgnoreKeyHandler Hotkey, Shift, On Hotkey, Ctrl, On Hotkey, Alt, On Hotkey, LWin, On Hotkey, RWin, On SetTimer, NWD_IgnoreKeyHandler, 100 SetTimer, NWD_WindowHandler, 10 Return NWD_SetDraggingOff: NWD_Dragging = 0 Return NWD_SetClickOff: NWD_PermitClick = 0 NWD_ImmediateDownRequest = 0 Return NWD_SetAllOff: Gosub, NWD_SetDraggingOff Gosub, NWD_SetClickOff Return NWD_IgnoreKeyHandler: GetKeyState, NWD_RButtonState, RButton, P GetKeyState, NWD_ShiftState, Shift, P GetKeyState, NWD_CtrlState, Ctrl, P GetKeyState, NWD_AltState, Alt, P ; TODO : unlike the other modifiers, Win does not exist ; as a virtual key (but Ctrl, Alt and Shift do) GetKeyState, NWD_LWinState, LWin, P GetKeyState, NWD_RWinState, RWin, P If ( (NWD_LWinState = "D") or (NWD_RWinState = "D") ) NWD_WinState = D Else NWD_WinState = U If ( (NWD_RButtonState = "U") and (NWD_ShiftState = "U") and (NWD_CtrlState = "U") and (NWD_AltState = "U") and (NWD_WinState = "U") ) { SetTimer, NWD_IgnoreKeyHandler, Off Hotkey, Shift, Off Hotkey, Ctrl, Off Hotkey, Alt, Off Hotkey, LWin, Off Hotkey, RWin, Off } Return NWD_WindowHandler: SetWinDelay, -1 CoordMode, Mouse, Screen MouseGetPos, NWD_MouseX, NWD_MouseY WinGetPos, NWD_WinX, NWD_WinY, NWD_WinW, NWD_WinH, ahk_id %NWD_WinID% GetKeyState, NWD_RButtonState, RButton, P GetKeyState, NWD_ShiftState, Shift, P GetKeyState, NWD_AltState, Alt, P ; TODO : unlike the other modifiers, Win does not exist ; as a virtual key (but Ctrl, Alt and Shift do) GetKeyState, NWD_LWinState, LWin, P GetKeyState, NWD_RWinState, RWin, P If ( (NWD_LWinState = "D") or (NWD_RWinState = "D") ) NWD_WinState = D Else NWD_WinState = U If ( NWD_RButtonState = "U" ) { SetTimer, NWD_WindowHandler, Off If ( NWD_ImmediateDown ) MouseClick, RIGHT, %NWD_MouseX%, %NWD_MouseY%, , , U Else If ( NWD_PermitClick and (!NWD_Dragging or ((NWD_MouseStartX = NWD_MouseX) and (NWD_MouseStartY = NWD_MouseY))) ) { MouseClick, RIGHT, %NWD_MouseStartX%, %NWD_MouseStartY%, , , D MouseClick, RIGHT, %NWD_MouseX%, %NWD_MouseY%, , , U } Gosub, NWD_SetAllOff NWD_ImmediateDown = 0 } Else { NWD_MouseDeltaX := NWD_MouseX - NWD_MouseStartX NWD_MouseDeltaY := NWD_MouseY - NWD_MouseStartY If ( NWD_MouseDeltaX or NWD_MouseDeltaY ) { If ( NWD_ImmediateDownRequest and !NWD_ImmediateDown ) { MouseClick, RIGHT, %NWD_MouseStartX%, %NWD_MouseStartY%, , , D MouseMove, %NWD_MouseX%, %NWD_MouseY% NWD_ImmediateDown = 1 NWD_PermitClick = 0 } If ( NWD_Dragging ) { If ( !NWD_ResizeX and !NWD_ResizeY ) { NWD_WinNewX := NWD_WinStartX + NWD_MouseDeltaX NWD_WinNewY := NWD_WinStartY + NWD_MouseDeltaY NWD_WinNewW := NWD_WinStartW NWD_WinNewH := NWD_WinStartH } Else { NWD_WinDeltaW = 0 NWD_WinDeltaH = 0 If ( NWD_ResizeX ) NWD_WinDeltaW := NWD_ResizeX * NWD_MouseDeltaX If ( NWD_ResizeY ) NWD_WinDeltaH := NWD_ResizeY * NWD_MouseDeltaY If ( NWD_WinState = "D" ) { If ( NWD_ResizeX ) NWD_WinDeltaW *= 2 If ( NWD_ResizeY ) NWD_WinDeltaH *= 2 } NWD_WinNewW := NWD_WinStartW + NWD_WinDeltaW NWD_WinNewH := NWD_WinStartH + NWD_WinDeltaH If ( NWD_WinNewW < 0 ) If ( NWD_WinState = "D" ) NWD_WinNewW *= -1 Else NWD_WinNewW := 0 If ( NWD_WinNewH < 0 ) If ( NWD_WinState = "D" ) NWD_WinNewH *= -1 Else NWD_WinNewH := 0 If ( (NWD_AltState = "D") and NWD_WinStartAR ) { NWD_WinNewARW := NWD_WinNewH * NWD_WinStartAR NWD_WinNewARH := NWD_WinNewW / NWD_WinStartAR If ( NWD_WinNewW < NWD_WinNewARW ) NWD_WinNewW := NWD_WinNewARW If ( NWD_WinNewH < NWD_WinNewARH ) NWD_WinNewH := NWD_WinNewARH } NWD_WinDeltaX = 0 NWD_WinDeltaY = 0 If ( NWD_WinState = "D" ) { NWD_WinDeltaX := NWD_WinStartW / 2 - NWD_WinNewW / 2 NWD_WinDeltaY := NWD_WinStartH / 2 - NWD_WinNewH / 2 } Else { If ( NWD_ResizeX = -1 ) NWD_WinDeltaX := NWD_WinStartW - NWD_WinNewW If ( NWD_ResizeY = -1 ) NWD_WinDeltaY := NWD_WinStartH - NWD_WinNewH } NWD_WinNewX := NWD_WinStartX + NWD_WinDeltaX NWD_WinNewY := NWD_WinStartY + NWD_WinDeltaY } If ( NWD_ShiftState = "D" ) NWD_WinNewRound = -1 Else NWD_WinNewRound = 0 Transform, NWD_WinNewX, Round, %NWD_WinNewX%, %NWD_WinNewRound% Transform, NWD_WinNewY, Round, %NWD_WinNewY%, %NWD_WinNewRound% Transform, NWD_WinNewW, Round, %NWD_WinNewW%, %NWD_WinNewRound% Transform, NWD_WinNewH, Round, %NWD_WinNewH%, %NWD_WinNewRound% If ( (NWD_WinNewX != NWD_WinX) or (NWD_WinNewY != NWD_WinY) or (NWD_WinNewW != NWD_WinW) or (NWD_WinNewH != NWD_WinH) ) { WinMove, ahk_id %NWD_WinID%, , %NWD_WinNewX%, %NWD_WinNewY%, %NWD_WinNewW%, %NWD_WinNewH% If ( SYS_ToolTipFeedback ) { WinGetPos, NWD_ToolTipWinX, NWD_ToolTipWinY, NWD_ToolTipWinW, NWD_ToolTipWinH, ahk_id %NWD_WinID% SYS_ToolTipText = Window Drag: (X:%NWD_ToolTipWinX%, Y:%NWD_ToolTipWinY%, W:%NWD_ToolTipWinW%, H:%NWD_ToolTipWinH%) Gosub, SYS_ToolTipFeedbackShow } } } } } Return ; [MIW {NWD}] minimize/roll on right + left mouse button /** * Minimizes the selected window (if minimizable) to the task bar. If you press * the left button over the titlebar the selected window will be rolled up * instead of being minimized. You have to apply this action again to roll the * window back down. */ $LButton:: $^LButton:: GetKeyState, MIW_RButtonState, RButton, P If ( (MIW_RButtonState = "D") and (!NWD_ImmediateDown) and (NWD_WinClass != "Progman") ) { GetKeyState, MIW_CtrlState, Ctrl, P WinGet, MIW_WinStyle, Style, ahk_id %NWD_WinID% SysGet, MIW_CaptionHeight, 4 ; SM_CYCAPTION SysGet, MIW_BorderHeight, 7 ; SM_CXDLGFRAME MouseGetPos, , MIW_MouseY If ( MIW_MouseY <= MIW_CaptionHeight + MIW_BorderHeight ) { ; checks wheter the window has a sizing border (WS_THICKFRAME) If ( (MIW_CtrlState = "D") or (MIW_WinStyle & 0x40000) ) { Gosub, NWD_SetAllOff ROL_WinID = %NWD_WinID% Gosub, ROL_RollToggle } } Else { ; the second condition checks for minimizable window: ; (WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX) If ( (MIW_CtrlState = "D") or (MIW_WinStyle & 0xCA0000 = 0xCA0000) ) { Gosub, NWD_SetAllOff WinMinimize, ahk_id %NWD_WinID% SYS_ToolTipText = Window Minimize Gosub, SYS_ToolTipFeedbackShow } } } Else { ; this feature should be implemented by using a timer because ; AutoHotkeys threading blocks the first thread if another ; one is started (until the 2nd is stopped) Thread, priority, 1 MouseClick, LEFT, , , , , D KeyWait, LButton MouseClick, LEFT, , , , , U } Return ; [CLW {NWD}] close/send bottom on right + middle mouse button || double click on middle mouse button /** * Closes the selected window (if closeable) as if you click the close button * in the titlebar. If you press the middle button over the titlebar the * selected window will be sent to the bottom of the window stack instead of * being closed. */ $MButton:: $^MButton:: GetKeyState, CLW_RButtonState, RButton, P If ( (CLW_RButtonState = "D") and (!NWD_ImmediateDown) and (NWD_WinClass != "Progman") ) { GetKeyState, CLW_CtrlState, Ctrl, P WinGet, CLW_WinStyle, Style, ahk_id %NWD_WinID% SysGet, CLW_CaptionHeight, 4 ; SM_CYCAPTION SysGet, CLW_BorderHeight, 7 ; SM_CXDLGFRAME MouseGetPos, , CLW_MouseY If ( CLW_MouseY <= CLW_CaptionHeight + CLW_BorderHeight ) { Gosub, NWD_SetAllOff Send, !{Esc} SYS_ToolTipText = Window Bottom Gosub, SYS_ToolTipFeedbackShow } Else { ; the second condition checks for closeable window: ; (WS_CAPTION | WS_SYSMENU) If ( (CLW_CtrlState = "D") or (CLW_WinStyle & 0xC80000 = 0xC80000) ) { Gosub, NWD_SetAllOff WinClose, ahk_id %NWD_WinID% SYS_ToolTipText = Window Close Gosub, SYS_ToolTipFeedbackShow } } } Else { ; TODO : workaround for "MouseClick, LEFT, , , 2" due to inactive titlebar problem Thread, Priority, 1 CoordMode, Mouse, Screen MouseGetPos, CLW_MouseX, CLW_MouseY MouseClick, LEFT, %CLW_MouseX%, %CLW_MouseY% Sleep, 10 MouseGetPos, CLW_MouseNewX, CLW_MouseNewY MouseClick, LEFT, %CLW_MouseX%, %CLW_MouseY% MouseMove, %CLW_MouseNewX%, %CLW_MouseNewY% } Return ; [TSM {NWD}] toggles windows start menu || moves window to previous display || maximize to multiple windows on the left /** * This additional button is used to toggle the windows start menu. */ ; [MAW {NWD}] toggles window maximizing || moves window to next display || maximize to multiple windows on the right /** * This additional button is used to toggle the maximize state of the active * window (if maximizable). */ $XButton2:: $^XButton2:: If ( NWD_ImmediateDown ) Return IfWinActive, A { WinGet, MAW_WinID, ID If ( !MAW_WinID ) Return WinGetClass, MAW_WinClass, ahk_id %MAW_WinID% If ( MAW_WinClass = "Progman" ) Return GetKeyState, MAW_RButtonState, RButton, P If ( MAW_RButtonState = "U" ) { GetKeyState, MAW_CtrlState, Ctrl, P WinGet, MAW_WinStyle, Style ; the second condition checks for maximizable window: ; (WS_CAPTION | WS_SYSMENU | WS_MAXIMIZEBOX) If ( (MAW_CtrlState = "D") or (MAW_WinStyle & 0xC90000 = 0xC90000) ) { WinGet, MAW_MinMax, MinMax If ( MAW_MinMax = 0 ) { WinMaximize SYS_ToolTipText = Window Maximize Gosub, SYS_ToolTipFeedbackShow } Else If ( MAW_MinMax = 1 ) { WinRestore SYS_ToolTipText = Window Restore Gosub, SYS_ToolTipFeedbackShow } } } Else { Gosub, NWD_SetAllOff GetKeyState, MAW_CtrlState, Ctrl, P If ( MAW_CtrlState = "U" ) { Send, ^> SYS_ToolTipText = Window Move: RIGHT Gosub, SYS_ToolTipFeedbackShow } ; Else ; TODO : maximize to multiple displays on the right (planned feature) } } Return ; [TSW {NWD}] provides alt-tab-menu to the right mouse button + mouse wheel /** * Provides a quick task switcher (alt-tab-menu) controlled by the mouse wheel. */ WheelDown:: GetKeyState, TSW_RButtonState, RButton, P If ( (TSW_RButtonState = "D") and (!NWD_ImmediateDown) ) { ; TODO : this is a workaround because the original tabmenu ; code of AutoHotkey is buggy on some systems GetKeyState, TSW_LAltState, LAlt If ( TSW_LAltState = "U" ) { Gosub, NWD_SetAllOff Send, {LAlt down}{Tab} SetTimer, TSW_WheelHandler, 1 } Else Send, {Tab} } Else Send, {WheelDown} Return WheelUp:: GetKeyState, TSW_RButtonState, RButton, P If ( (TSW_RButtonState = "D") and (!NWD_ImmediateDown) ) { ; TODO : this is a workaround because the original tabmenu ; code of AutoHotkey is buggy on some systems GetKeyState, TSW_LAltState, LAlt If ( TSW_LAltState = "U" ) { Gosub, NWD_SetAllOff Send, {LAlt down}+{Tab} SetTimer, TSW_WheelHandler, 1 } Else Send, +{Tab} } Else Send, {WheelUp} Return TSW_WheelHandler: GetKeyState, TSW_RButtonState, RButton, P If ( TSW_RButtonState = "U" ) { SetTimer, TSW_WheelHandler, Off GetKeyState, TSW_LAltState, LAlt If ( TSW_LAltState = "D" ) Send, {LAlt up} } Return ; [AOT] toggles always on top /** * Toggles the always-on-top attribute of the selected/active window. */ #SC029:: #LButton:: AOT_SetToggle: Gosub, AOT_CheckWinIDs SetWinDelay, -1 IfInString, A_ThisHotkey, LButton { MouseGetPos, , , AOT_WinID If ( !AOT_WinID ) Return IfWinNotActive, ahk_id %AOT_WinID% WinActivate, ahk_id %AOT_WinID% } IfWinActive, A { WinGet, AOT_WinID, ID If ( !AOT_WinID ) Return WinGetClass, AOT_WinClass, ahk_id %AOT_WinID% If ( AOT_WinClass = "Progman" ) Return WinGet, AOT_ExStyle, ExStyle, ahk_id %AOT_WinID% If ( AOT_ExStyle & 0x8 ) ; 0x8 is WS_EX_TOPMOST { SYS_ToolTipText = Always on Top: OFF Gosub, AOT_SetOff } Else { SYS_ToolTipText = Always on Top: ON Gosub, AOT_SetOn } Gosub, SYS_ToolTipFeedbackShow } Return AOT_SetOn: Gosub, AOT_CheckWinIDs SetWinDelay, -1 IfWinNotExist, ahk_id %AOT_WinID% Return IfNotInString, AOT_WinIDs, |%AOT_WinID% AOT_WinIDs = %AOT_WinIDs%|%AOT_WinID% WinSet, AlwaysOnTop, On, ahk_id %AOT_WinID% Return AOT_SetOff: Gosub, AOT_CheckWinIDs SetWinDelay, -1 IfWinNotExist, ahk_id %AOT_WinID% Return StringReplace, AOT_WinIDs, AOT_WinIDs, |%A_LoopField%, , All WinSet, AlwaysOnTop, Off, ahk_id %AOT_WinID% Return AOT_SetAllOff: Gosub, AOT_CheckWinIDs Loop, Parse, AOT_WinIDs, | If ( A_LoopField ) { AOT_WinID = %A_LoopField% Gosub, AOT_SetOff } Return #^SC029:: Gosub, AOT_SetAllOff SYS_ToolTipText = Always on Top: ALL OFF Gosub, SYS_ToolTipFeedbackShow Return AOT_CheckWinIDs: DetectHiddenWindows, On Loop, Parse, AOT_WinIDs, | If ( A_LoopField ) IfWinNotExist, ahk_id %A_LoopField% StringReplace, AOT_WinIDs, AOT_WinIDs, |%A_LoopField%, , All Return AOT_ExitHandler: Gosub, AOT_SetAllOff Return ; [ROL] rolls up/down a window to/from its title bar ROL_RollToggle: Gosub, ROL_CheckWinIDs SetWinDelay, -1 IfWinNotExist, ahk_id %ROL_WinID% Return WinGetClass, ROL_WinClass, ahk_id %ROL_WinID% If ( ROL_WinClass = "Progman" ) Return IfNotInString, ROL_WinIDs, |%ROL_WinID% { ; SYS_ToolTipText = Window Roll: UP Gosub, ROL_RollUp } Else { WinGetPos, , , , ROL_WinHeight, ahk_id %ROL_WinID% If ( ROL_WinHeight = ROL_WinRolledHeight%ROL_WinID% ) { ; SYS_ToolTipText = Window Roll: DOWN Gosub, ROL_RollDown } Else { ; SYS_ToolTipText = Window Roll: UP Gosub, ROL_RollUp } } Gosub, SYS_ToolTipFeedbackShow Return ROL_RollUp: Gosub, ROL_CheckWinIDs SetWinDelay, -1 IfWinNotExist, ahk_id %ROL_WinID% Return WinGetClass, ROL_WinClass, ahk_id %ROL_WinID% If ( ROL_WinClass = "Progman" ) Return WinGetPos, , , , ROL_WinHeight, ahk_id %ROL_WinID% IfInString, ROL_WinIDs, |%ROL_WinID% If ( ROL_WinHeight = ROL_WinRolledHeight%ROL_WinID% ) Return SysGet, ROL_CaptionHeight, 4 ; SM_CYCAPTION SysGet, ROL_BorderHeight, 7 ; SM_CXDLGFRAME If ( ROL_WinHeight > (ROL_CaptionHeight + ROL_BorderHeight) ) { IfNotInString, ROL_WinIDs, |%ROL_WinID% ROL_WinIDs = %ROL_WinIDs%|%ROL_WinID% ROL_WinOriginalHeight%ROL_WinID% := ROL_WinHeight WinMove, ahk_id %ROL_WinID%, , , , , (ROL_CaptionHeight + ROL_BorderHeight) WinGetPos, , , , ROL_WinRolledHeight%ROL_WinID%, ahk_id %ROL_WinID% } Return ROL_RollDown: Gosub, ROL_CheckWinIDs SetWinDelay, -1 If ( !ROL_WinID ) Return IfNotInString, ROL_WinIDs, |%ROL_WinID% Return WinGetPos, , , , ROL_WinHeight, ahk_id %ROL_WinID% If( ROL_WinHeight = ROL_WinRolledHeight%ROL_WinID% ) WinMove, ahk_id %ROL_WinID%, , , , , ROL_WinOriginalHeight%ROL_WinID% StringReplace, ROL_WinIDs, ROL_WinIDs, |%ROL_WinID%, , All ROL_WinOriginalHeight%ROL_WinID% = ROL_WinRolledHeight%ROL_WinID% = Return ROL_RollDownAll: Gosub, ROL_CheckWinIDs Loop, Parse, ROL_WinIDs, | If ( A_LoopField ) { ROL_WinID = %A_LoopField% Gosub, ROL_RollDown } Return #^r:: Gosub, ROL_RollDownAll SYS_ToolTipText = Window Roll: ALL DOWN Gosub, SYS_ToolTipFeedbackShow Return ROL_CheckWinIDs: DetectHiddenWindows, On Loop, Parse, ROL_WinIDs, | If ( A_LoopField ) IfWinNotExist, ahk_id %A_LoopField% { StringReplace, ROL_WinIDs, ROL_WinIDs, |%A_LoopField%, , All ROL_WinOriginalHeight%A_LoopField% = ROL_WinRolledHeight%A_LoopField% = } Return ROL_ExitHandler: Gosub, ROL_RollDownAll Return ; [TRA] provides window transparency /** * Adjusts the transparency of the active window in ten percent steps * (opaque = 100%) which allows the contents of the windows behind it to shine * through. If the window is completely transparent (0%) the window is still * there and clickable. If you loose a transparent window it will be extremly * complicated to find it again because it's invisible (see the first hotkey * in this list for emergency help in such situations). */ #WheelUp:: #+WheelUp:: #WheelDown:: #+WheelDown:: Gosub, TRA_CheckWinIDs SetWinDelay, -1 IfWinActive, A { WinGet, TRA_WinID, ID If ( !TRA_WinID ) Return WinGetClass, TRA_WinClass, ahk_id %TRA_WinID% If ( TRA_WinClass = "Progman" ) Return IfNotInString, TRA_WinIDs, |%TRA_WinID% TRA_WinIDs = %TRA_WinIDs%|%TRA_WinID% TRA_WinAlpha := TRA_WinAlpha%TRA_WinID% TRA_PixelColor := TRA_PixelColor%TRA_WinID% IfInString, A_ThisHotkey, + TRA_WinAlphaStep := 255 * 0.01 ; 1 percent steps Else TRA_WinAlphaStep := 255 * 0.1 ; 10 percent steps If ( TRA_WinAlpha = "" ) TRA_WinAlpha = 255 IfInString, A_ThisHotkey, WheelDown TRA_WinAlpha -= TRA_WinAlphaStep Else TRA_WinAlpha += TRA_WinAlphaStep If ( TRA_WinAlpha > 255 ) TRA_WinAlpha = 255 Else If ( TRA_WinAlpha < 0 ) TRA_WinAlpha = 0 If ( !TRA_PixelColor and (TRA_WinAlpha = 255) ) { Gosub, TRA_TransparencyOff SYS_ToolTipText = Transparency: OFF } Else { TRA_WinAlpha%TRA_WinID% = %TRA_WinAlpha% If ( TRA_PixelColor ) WinSet, TransColor, %TRA_PixelColor% %TRA_WinAlpha%, ahk_id %TRA_WinID% Else WinSet, Transparent, %TRA_WinAlpha%, ahk_id %TRA_WinID% TRA_ToolTipAlpha := TRA_WinAlpha * 100 / 255 Transform, TRA_ToolTipAlpha, Round, %TRA_ToolTipAlpha% SYS_ToolTipText = Transparency: %TRA_ToolTipAlpha% `% } Gosub, SYS_ToolTipFeedbackShow } Return ;#^LButton:: ;#^MButton:: ; Gosub, TRA_CheckWinIDs ; SetWinDelay, -1 ; CoordMode, Mouse, Screen ; CoordMode, Pixel, Screen ; MouseGetPos, TRA_MouseX, TRA_MouseY, TRA_WinID ; If ( !TRA_WinID ) ; Return ; WinGetClass, TRA_WinClass, ahk_id %TRA_WinID% ; If ( TRA_WinClass = "Progman" ) ; Return ; IfWinNotActive, ahk_id %TRA_WinID% ; WinActivate, ahk_id %TRA_WinID% ; IfNotInString, TRA_WinIDs, |%TRA_WinID% ; TRA_WinIDs = %TRA_WinIDs%|%TRA_WinID% ; IfInString, A_ThisHotkey, MButton ; { ; AOT_WinID = %TRA_WinID% ; Gosub, AOT_SetOn ; TRA_WinAlpha%TRA_WinID% := 25 * 255 / 100 ; } ; TRA_WinAlpha := TRA_WinAlpha%TRA_WinID% ; TODO : the transparency must be set off first, ; this may be a bug of AutoHotkey WinSet, TransColor, OFF, ahk_id %TRA_WinID% PixelGetColor, TRA_PixelColor, %TRA_MouseX%, %TRA_MouseY%, RGB WinSet, TransColor, %TRA_PixelColor% %TRA_WinAlpha%, ahk_id %TRA_WinID% TRA_PixelColor%TRA_WinID% := TRA_PixelColor IfInString, A_ThisHotkey, MButton SYS_ToolTipText = Transparency: 25 `% + %TRA_PixelColor% color (RGB) + Always on Top Else SYS_ToolTipText = Transparency: %TRA_PixelColor% color (RGB) Gosub, SYS_ToolTipFeedbackShow Return #MButton:: Gosub, TRA_CheckWinIDs SetWinDelay, -1 MouseGetPos, , , TRA_WinID If ( !TRA_WinID ) Return IfWinNotActive, ahk_id %TRA_WinID% WinActivate, ahk_id %TRA_WinID% IfNotInString, TRA_WinIDs, |%TRA_WinID% Return Gosub, TRA_TransparencyOff SYS_ToolTipText = Transparency: OFF Gosub, SYS_ToolTipFeedbackShow Return TRA_TransparencyOff: Gosub, TRA_CheckWinIDs SetWinDelay, -1 If ( !TRA_WinID ) Return IfNotInString, TRA_WinIDs, |%TRA_WinID% Return StringReplace, TRA_WinIDs, TRA_WinIDs, |%TRA_WinID%, , All TRA_WinAlpha%TRA_WinID% = TRA_PixelColor%TRA_WinID% = ; TODO : must be set to 255 first to avoid the black-colored-window problem WinSet, Transparent, 255, ahk_id %TRA_WinID% WinSet, TransColor, OFF, ahk_id %TRA_WinID% WinSet, Transparent, OFF, ahk_id %TRA_WinID% WinSet, Redraw, , ahk_id %TRA_WinID% Return TRA_TransparencyAllOff: Gosub, TRA_CheckWinIDs Loop, Parse, TRA_WinIDs, | If ( A_LoopField ) { TRA_WinID = %A_LoopField% Gosub, TRA_TransparencyOff } Return #^t:: Gosub, TRA_TransparencyAllOff SYS_ToolTipText = Transparency: ALL OFF Gosub, SYS_ToolTipFeedbackShow Return TRA_CheckWinIDs: DetectHiddenWindows, On Loop, Parse, TRA_WinIDs, | If ( A_LoopField ) IfWinNotExist, ahk_id %A_LoopField% { StringReplace, TRA_WinIDs, TRA_WinIDs, |%A_LoopField%, , All TRA_WinAlpha%A_LoopField% = TRA_PixelColor%A_LoopField% = } Return TRA_ExitHandler: Gosub, TRA_TransparencyAllOff Return ; [SCR] starts the user defined screensaver /** * Starts the user defined screensaver (password protection aware). */ #^!s up:: RegRead, SCR_Saver, HKEY_CURRENT_USER, Control Panel\Desktop, SCRNSAVE.EXE If ( !ErrorLevel and SCR_Saver ) { SendMessage, 0x112, 0xF140, 0, , Program Manager ; 0x112 is WM_SYSCOMMAND ; 0xF140 is SC_SCREENSAVE If ( A_ThisHotkey != "^#s up" ) Return SplitPath, SCR_Saver, SCR_SaverFileName Process, Wait, %SCR_SaverFileName%, 5 If ( ErrorLevel ) { Gosub, SUS_SuspendSaveState Suspend, On Sleep, 5000 Gosub, SUS_SuspendRestoreState Process, Exist, %SCR_SaverFileName% If ( ErrorLevel ) SendMessage, 0x112, 0xF170, 2, , Program Manager ; 0x112 is WM_SYSCOMMAND ; 0xF170 is SC_MONITORPOWER ; (2 = off, 1 = standby, -1 = on) } } Else { SYS_TrayTipText = No screensaver specified in display settings (control panel). SYS_TrayTipOptions = 2 Gosub, SYS_TrayTipShow } Return ; [SIZ {NWD}] provides several size adjustments to windows /** * Adjusts the transparency of the active window in ten percent steps * (opaque = 100%) which allows the contents of the windows behind it to shine * through. If the window is completely transparent (0%) the window is still * there and clickable. If you loose a transparent window it will be extremly * complicated to find it again because it's invisible (see the first hotkey in * this list for emergency help in such situations). */ !WheelUp:: !+WheelUp:: !^WheelUp:: !#WheelUp:: !+^WheelUp:: !+#WheelUp:: !^#WheelUp:: !+^#WheelUp:: !WheelDown:: !+WheelDown:: !^WheelDown:: !#WheelDown:: !+^WheelDown:: !+#WheelDown:: !^#WheelDown:: !+^#WheelDown:: ; TODO : the following code block is a workaround to handle ; virtual ALT calls in WheelDown/Up functions GetKeyState, SIZ_AltState, Alt, P If ( SIZ_AltState = "U" ) { IfInString, A_ThisHotkey, WheelDown Gosub, WheelDown Else Gosub, WheelUp Return } If ( NWD_Dragging or NWD_ImmediateDown ) Return SetWinDelay, -1 CoordMode, Mouse, Screen IfWinActive, A { WinGet, SIZ_WinID, ID If ( !SIZ_WinID ) Return WinGetClass, SIZ_WinClass, ahk_id %SIZ_WinID% If ( SIZ_WinClass = "Progman" ) Return GetKeyState, SIZ_CtrlState, Ctrl, P WinGet, SIZ_WinMinMax, MinMax, ahk_id %SIZ_WinID% WinGet, SIZ_WinStyle, Style, ahk_id %SIZ_WinID% ; checks wheter the window isn't maximized and has a sizing border (WS_THICKFRAME) If ( (SIZ_CtrlState = "D") or ((SIZ_WinMinMax != 1) and (SIZ_WinStyle & 0x40000)) ) { WinGetPos, SIZ_WinX, SIZ_WinY, SIZ_WinW, SIZ_WinH, ahk_id %SIZ_WinID% If ( SIZ_WinW and SIZ_WinH ) { SIZ_AspectRatio := SIZ_WinW / SIZ_WinH IfInString, A_ThisHotkey, WheelDown SIZ_Direction = 1 Else SIZ_Direction = -1 IfInString, A_ThisHotkey, + SIZ_Factor = 0.01 Else SIZ_Factor = 0.1 SIZ_WinNewW := SIZ_WinW + SIZ_Direction * SIZ_WinW * SIZ_Factor SIZ_WinNewH := SIZ_WinH + SIZ_Direction * SIZ_WinH * SIZ_Factor IfInString, A_ThisHotkey, # { SIZ_WinNewX := SIZ_WinX + (SIZ_WinW - SIZ_WinNewW) / 2 SIZ_WinNewY := SIZ_WinY + (SIZ_WinH - SIZ_WinNewH) / 2 } Else { SIZ_WinNewX := SIZ_WinX SIZ_WinNewY := SIZ_WinY } If ( SIZ_WinNewW > A_ScreenWidth ) { SIZ_WinNewW := A_ScreenWidth SIZ_WinNewH := SIZ_WinNewW / SIZ_AspectRatio } If ( SIZ_WinNewH > A_ScreenHeight ) { SIZ_WinNewH := A_ScreenHeight SIZ_WinNewW := SIZ_WinNewH * SIZ_AspectRatio } Transform, SIZ_WinNewX, Round, %SIZ_WinNewX% Transform, SIZ_WinNewY, Round, %SIZ_WinNewY% Transform, SIZ_WinNewW, Round, %SIZ_WinNewW% Transform, SIZ_WinNewH, Round, %SIZ_WinNewH% WinMove, ahk_id %SIZ_WinID%, , SIZ_WinNewX, SIZ_WinNewY, SIZ_WinNewW, SIZ_WinNewH If ( SYS_ToolTipFeedback ) { WinGetPos, SIZ_ToolTipWinX, SIZ_ToolTipWinY, SIZ_ToolTipWinW, SIZ_ToolTipWinH, ahk_id %SIZ_WinID% SYS_ToolTipText = Window Size: (X:%SIZ_ToolTipWinX%, Y:%SIZ_ToolTipWinY%, W:%SIZ_ToolTipWinW%, H:%SIZ_ToolTipWinH%) Gosub, SYS_ToolTipFeedbackShow } } } } Return !NumpadAdd:: !^NumpadAdd:: !#NumpadAdd:: !^#NumpadAdd:: !NumpadSub:: !^NumpadSub:: !#NumpadSub:: !^#NumpadSub:: If ( NWD_Dragging or NWD_ImmediateDown ) Return SetWinDelay, -1 CoordMode, Mouse, Screen IfWinActive, A { WinGet, SIZ_WinID, ID If ( !SIZ_WinID ) Return WinGetClass, SIZ_WinClass, ahk_id %SIZ_WinID% If ( SIZ_WinClass = "Progman" ) Return GetKeyState, SIZ_CtrlState, Ctrl, P WinGet, SIZ_WinMinMax, MinMax, ahk_id %SIZ_WinID% WinGet, SIZ_WinStyle, Style, ahk_id %SIZ_WinID% ; checks wheter the window isn't maximized and has a sizing border (WS_THICKFRAME) If ( (SIZ_CtrlState = "D") or ((SIZ_WinMinMax != 1) and (SIZ_WinStyle & 0x40000)) ) { WinGetPos, SIZ_WinX, SIZ_WinY, SIZ_WinW, SIZ_WinH, ahk_id %SIZ_WinID% IfInString, A_ThisHotkey, NumpadAdd If ( SIZ_WinW < 160 ) SIZ_WinNewW = 160 Else If ( SIZ_WinW < 320 ) SIZ_WinNewW = 320 Else If ( SIZ_WinW < 640 ) SIZ_WinNewW = 640 Else If ( SIZ_WinW < 800 ) SIZ_WinNewW = 800 Else If ( SIZ_WinW < 1024 ) SIZ_WinNewW = 1024 Else If ( SIZ_WinW < 1152 ) SIZ_WinNewW = 1152 Else If ( SIZ_WinW < 1280 ) SIZ_WinNewW = 1280 Else If ( SIZ_WinW < 1400 ) SIZ_WinNewW = 1400 Else If ( SIZ_WinW < 1600 ) SIZ_WinNewW = 1600 Else SIZ_WinNewW = 1920 Else If ( SIZ_WinW <= 320 ) SIZ_WinNewW = 160 Else If ( SIZ_WinW <= 640 ) SIZ_WinNewW = 320 Else If ( SIZ_WinW <= 800 ) SIZ_WinNewW = 640 Else If ( SIZ_WinW <= 1024 ) SIZ_WinNewW = 800 Else If ( SIZ_WinW <= 1152 ) SIZ_WinNewW = 1024 Else If ( SIZ_WinW <= 1280 ) SIZ_WinNewW = 1152 Else If ( SIZ_WinW <= 1400 ) SIZ_WinNewW = 1280 Else If ( SIZ_WinW <= 1600 ) SIZ_WinNewW = 1400 Else If ( SIZ_WinW <= 1920 ) SIZ_WinNewW = 1600 Else SIZ_WinNewW = 1920 If ( SIZ_WinNewW > A_ScreenWidth ) SIZ_WinNewW := A_ScreenWidth SIZ_WinNewH := 3 * SIZ_WinNewW / 4 If ( SIZ_WinNewW = 1280 ) SIZ_WinNewH := 1024 IfInString, A_ThisHotkey, # { SIZ_WinNewX := SIZ_WinX + (SIZ_WinW - SIZ_WinNewW) / 2 SIZ_WinNewY := SIZ_WinY + (SIZ_WinH - SIZ_WinNewH) / 2 } Else { SIZ_WinNewX := SIZ_WinX SIZ_WinNewY := SIZ_WinY } Transform, SIZ_WinNewX, Round, %SIZ_WinNewX% Transform, SIZ_WinNewY, Round, %SIZ_WinNewY% Transform, SIZ_WinNewW, Round, %SIZ_WinNewW% Transform, SIZ_WinNewH, Round, %SIZ_WinNewH% WinMove, ahk_id %SIZ_WinID%, , SIZ_WinNewX, SIZ_WinNewY, SIZ_WinNewW, SIZ_WinNewH If ( SYS_ToolTipFeedback ) { WinGetPos, SIZ_ToolTipWinX, SIZ_ToolTipWinY, SIZ_ToolTipWinW, SIZ_ToolTipWinH, ahk_id %SIZ_WinID% SYS_ToolTipText = Window Size: (X:%SIZ_ToolTipWinX%, Y:%SIZ_ToolTipWinY%, W:%SIZ_ToolTipWinW%, H:%SIZ_ToolTipWinH%) Gosub, SYS_ToolTipFeedbackShow } } } Return ; [XWN] provides X Window like focus switching (focus follows mouse) /** * Provided a 'X Window' like focus switching by mouse cursor movement. After * activation of this feature (by using the responsible entry in the tray icon * menu) the focus will follow the mouse cursor with a delayed focus change * (after movement end) of 500 milliseconds (half a second). This feature is * disabled per default to avoid any confusion due to the new user-interface-flow. */ XWN_FocusHandler: CoordMode, Mouse, Screen MouseGetPos, XWN_MouseX, XWN_MouseY, XWN_WinID If ( !XWN_WinID ) Return If ( (XWN_MouseX != XWN_MouseOldX) or (XWN_MouseY != XWN_MouseOldY) ) { IfWinNotActive, ahk_id %XWN_WinID% XWN_FocusRequest = 1 Else XWN_FocusRequest = 0 XWN_MouseOldX := XWN_MouseX XWN_MouseOldY := XWN_MouseY XWN_MouseMovedTickCount := A_TickCount } Else If ( XWN_FocusRequest and (A_TickCount - XWN_MouseMovedTickCount > 500) ) { WinGetClass, XWN_WinClass, ahk_id %XWN_WinID% If ( XWN_WinClass = "Progman" ) Return ; checks wheter the selected window is a popup menu ; (WS_POPUP) and !(WS_DLGFRAME | WS_SYSMENU | WS_THICKFRAME) WinGet, XWN_WinStyle, Style, ahk_id %XWN_WinID% If ( (XWN_WinStyle & 0x80000000) and !(XWN_WinStyle & 0x4C0000) ) Return IfWinNotActive, ahk_id %XWN_WinID% WinActivate, ahk_id %XWN_WinID% XWN_FocusRequest = 0 } Return ; [GRP] groups windows for quick task switching /** * Activates the next window in a process window group that was defined * gradually before with the given CTRL modifier. This feature causes the first * window of the responsible group to be activated. Using it a second time will * activate the next window in the series and so on. By using process window * groups you can organize and access your process windows in semantic groups * quickly. */ #!F1:: #!F2:: #!F3:: #!F4:: IfWinActive, A { WinGet, GRP_WinID, ID If ( !GRP_WinID ) Return WinGetClass, GRP_WinClass, ahk_id %GRP_WinID% If ( GRP_WinClass = "Progman" ) Return WinGet, GRP_WinPID, PID If ( !GRP_WinPID ) Return StringMid, GRP_GroupNumber, A_ThisHotkey, 3, 3 GroupAdd, Group%GRP_GroupNumber%, ahk_PID %GRP_WinPID% SYS_ToolTipText = Active window was added to group %GRP_GroupNumber%. Gosub, SYS_ToolTipFeedbackShow } Return !F1:: !F2:: !F3:: !F4:: StringMid, GRP_GroupNumber, A_ThisHotkey, 2, 3 GroupActivate, Group%GRP_GroupNumber% SYS_ToolTipText = Activated next window in group %GRP_GroupNumber%. Gosub, SYS_ToolTipFeedbackShow Return ;!#F1:: ;!#F2:: ;!#F3:: ;!#F4:: !#F5:: !#F6:: !#F7:: !#F8:: !#F9:: !#F10:: ;!#F11:: !#F12:: !#F13:: !#F14:: !#F15:: !#F16:: !#F17:: !#F18:: !#F19:: !#F20:: !#F21:: !#F22:: !#F23:: !#F24:: StringMid, GRP_GroupNumber, A_ThisHotkey, 3, 3 GroupClose, Group%GRP_GroupNumber%, A SYS_ToolTipText = Closed all windows in group %GRP_GroupNumber%. Gosub, SYS_ToolTipFeedbackShow Return ; [TRY] handles the tray icon/menu TRY_TrayInit: Menu, TRAY, NoStandard Menu, TRAY, Tip, %SYS_ScriptInfo% If ( !A_IsCompiled ) { Menu, AutoHotkey, Standard Menu, TRAY, Add, AutoHotkey, :AutoHotkey Menu, TRAY, Add } Menu, TRAY, Add, Help, TRY_TrayEvent Menu, TRAY, Default, Help Menu, TRAY, Add Menu, TRAY, Add, About, TRY_TrayEvent Menu, TRAY, Add Menu, TRAY, Add, Mail Author, TRY_TrayEvent Menu, TRAY, Add, View License, TRY_TrayEvent Menu, TRAY, Add, Visit Website, TRY_TrayEvent Menu, TRAY, Add, Check For Update, TRY_TrayEvent Menu, TRAY, Add Menu, MouseHooks, Add, Left Mouse Button, TRY_TrayEvent Menu, MouseHooks, Add, Middle Mouse Button, TRY_TrayEvent Menu, MouseHooks, Add, Right Mouse Button, TRY_TrayEvent Menu, MouseHooks, Add, Fourth Mouse Button, TRY_TrayEvent Menu, MouseHooks, Add, Fifth Mouse Button, TRY_TrayEvent Menu, TRAY, Add, Mouse Hooks, :MouseHooks Menu, TRAY, Add, ToolTip Feedback, TRY_TrayEvent Menu, TRAY, Add, Auto Suspend, TRY_TrayEvent Menu, TRAY, Add, Focus Follows Mouse, TRY_TrayEvent Menu, TRAY, Add, Suspend All Hooks, TRY_TrayEvent Menu, TRAY, Add, Revert Visual Effects, TRY_TrayEvent Menu, TRAY, Add, Hide Tray Icon, TRY_TrayEvent Menu, TRAY, Add Menu, TRAY, Add, Exit, TRY_TrayEvent Gosub, TRY_TrayUpdate If ( A_IconHidden ) Menu, TRAY, Icon Return TRY_TrayUpdate: If ( CFG_LeftMouseButtonHook ) Menu, MouseHooks, Check, Left Mouse Button Else Menu, MouseHooks, UnCheck, Left Mouse Button If ( CFG_MiddleMouseButtonHook ) Menu, MouseHooks, Check, Middle Mouse Button Else Menu, MouseHooks, UnCheck, Middle Mouse Button If ( CFG_RightMouseButtonHook ) Menu, MouseHooks, Check, Right Mouse Button Else Menu, MouseHooks, UnCheck, Right Mouse Button If ( CFG_FourthMouseButtonHook ) Menu, MouseHooks, Check, Fourth Mouse Button Else Menu, MouseHooks, UnCheck, Fourth Mouse Button If ( CFG_FifthMouseButtonHook ) Menu, MouseHooks, Check, Fifth Mouse Button Else Menu, MouseHooks, UnCheck, Fifth Mouse Button If ( SYS_ToolTipFeedback ) Menu, TRAY, Check, ToolTip Feedback Else Menu, TRAY, UnCheck, ToolTip Feedback If ( SUS_AutoSuspend ) Menu, TRAY, Check, Auto Suspend Else Menu, TRAY, UnCheck, Auto Suspend If ( XWN_FocusFollowsMouse ) Menu, TRAY, Check, Focus Follows Mouse Else Menu, TRAY, UnCheck, Focus Follows Mouse If ( A_IsSuspended ) Menu, TRAY, Check, Suspend All Hooks Else Menu, TRAY, UnCheck, Suspend All Hooks Return TRY_TrayEvent: If ( !TRY_TrayEvent ) TRY_TrayEvent = %A_ThisMenuItem% If ( TRY_TrayEvent = "Help" ) IfExist, %A_ScriptDir%\readme.txt Run, "%A_ScriptDir%\readme.txt" Else { SYS_TrayTipText = File couldn't be accessed:`n%A_ScriptDir%\readme.txt SYS_TrayTipOptions = 3 Gosub, SYS_TrayTipShow } If ( TRY_TrayEvent = "About" ) { SYS_TrayTipText = Copyright (c) 2004-2005 by Enovatic-Solutions.`nAll rights reserved. Use is subject to license terms.`n`nCompany:`tEnovatic-Solutions (IT Service Provider)`nAuthor:`t`tOliver Pfeiffer`, Bremen (GERMANY)`nEmail:`t`tniftywindows@enovatic.org Gosub, SYS_TrayTipShow } If ( TRY_TrayEvent = "Mail Author" ) Run, mailto:niftywindows@enovatic.org?subject=%SYS_ScriptInfo% (build %SYS_ScriptBuild%) If ( TRY_TrayEvent = "View License" ) IfExist, %A_ScriptDir%\license.txt Run, "%A_ScriptDir%\license.txt" Else { SYS_TrayTipText = File couldn't be accessed:`n%A_ScriptDir%\license.txt SYS_TrayTipOptions = 3 Gosub, SYS_TrayTipShow } If ( TRY_TrayEvent = "Visit Website" ) Run, http://www.enovatic.org/products/niftywindows/ If ( TRY_TrayEvent = "ToolTip Feedback" ) SYS_ToolTipFeedback := !SYS_ToolTipFeedback If ( TRY_TrayEvent = "Auto Suspend" ) { SUS_AutoSuspend := !SUS_AutoSuspend Gosub, CFG_ApplySettings } If ( TRY_TrayEvent = "Focus Follows Mouse" ) { XWN_FocusFollowsMouse := !XWN_FocusFollowsMouse Gosub, CFG_ApplySettings } If ( TRY_TrayEvent = "Suspend All Hooks" ) Gosub, SUS_SuspendToggle If ( TRY_TrayEvent = "Revert Visual Effects" ) Gosub, SYS_RevertVisualEffects If ( TRY_TrayEvent = "Hide Tray Icon" ) { SYS_TrayTipText = Tray icon will be hidden now.`nPress WIN+X to show it again. SYS_TrayTipOptions = 2 SYS_TrayTipSeconds = 5 Gosub, SYS_TrayTipShow SetTimer, TRY_TrayHide, 5000 } If ( TRY_TrayEvent = "Exit" ) ExitApp If ( TRY_TrayEvent = "Left Mouse Button" ) { CFG_LeftMouseButtonHook := !CFG_LeftMouseButtonHook Gosub, CFG_ApplySettings } If ( TRY_TrayEvent = "Middle Mouse Button" ) { CFG_MiddleMouseButtonHook := !CFG_MiddleMouseButtonHook Gosub, CFG_ApplySettings } If ( TRY_TrayEvent = "Right Mouse Button" ) { CFG_RightMouseButtonHook := !CFG_RightMouseButtonHook Gosub, CFG_ApplySettings } If ( TRY_TrayEvent = "Fourth Mouse Button" ) { CFG_FourthMouseButtonHook := !CFG_FourthMouseButtonHook Gosub, CFG_ApplySettings } If ( TRY_TrayEvent = "Fifth Mouse Button" ) { CFG_FifthMouseButtonHook := !CFG_FifthMouseButtonHook Gosub, CFG_ApplySettings } Gosub, TRY_TrayUpdate TRY_TrayEvent = Return TRY_TrayHide: SetTimer, TRY_TrayHide, Off Menu, TRAY, NoIcon Return ; [EDT] edits this script in notepad ^#!F9:: If ( A_IsCompiled ) Return Gosub, SUS_SuspendSaveState Suspend, On MsgBox, 4129, Edit Handler - %SYS_ScriptInfo%, You pressed the hotkey for editing this script:`n`n%A_ScriptFullPath%`n`nDo you really want to edit? Gosub, SUS_SuspendRestoreState IfMsgBox, OK Run, notepad.exe %A_ScriptFullPath% Return ; [REL] reloads this script on change REL_ScriptReload: If ( A_IsCompiled ) Return FileGetAttrib, REL_Attribs, %A_ScriptFullPath% IfInString, REL_Attribs, A { FileSetAttrib, -A, %A_ScriptFullPath% If ( REL_InitDone ) { Gosub, SUS_SuspendSaveState Suspend, On MsgBox, 4145, Update Handler - %SYS_ScriptInfo%, The following script has changed:`n`n%A_ScriptFullPath%`n`nReload and activate this script? Gosub, SUS_SuspendRestoreState IfMsgBox, OK Reload } } REL_InitDone = 1 Return ; [CFG] handles the persistent configuration CFG_LoadSettings: CFG_IniFile = %A_ScriptDir%\%SYS_ScriptNameNoExt%.ini IniRead, SUS_AutoSuspend, %CFG_IniFile%, Main, AutoSuspend, 1 IniRead, XWN_FocusFollowsMouse, %CFG_IniFile%, WindowHandling, FocusFollowsMouse, 0 IniRead, SYS_ToolTipFeedback, %CFG_IniFile%, Visual, ToolTipFeedback, 1 IniRead, UPD_LastUpdateCheck, %CFG_IniFile%, UpdateCheck, LastUpdateCheck, %A_MM% IniRead, CFG_LeftMouseButtonHook, %CFG_IniFile%, MouseHooks, LeftMouseButton, 1 IniRead, CFG_MiddleMouseButtonHook, %CFG_IniFile%, MouseHooks, MiddleMouseButton, 1 IniRead, CFG_RightMouseButtonHook, %CFG_IniFile%, MouseHooks, RightMouseButton, 1 IniRead, CFG_FourthMouseButtonHook, %CFG_IniFile%, MouseHooks, FourthMouseButton, 1 IniRead, CFG_FifthMouseButtonHook, %CFG_IniFile%, MouseHooks, FifthMouseButton, 1 Return CFG_SaveSettings: CFG_IniFile = %A_ScriptDir%\%SYS_ScriptNameNoExt%.ini IniWrite, %SUS_AutoSuspend%, %CFG_IniFile%, Main, AutoSuspend IniWrite, %XWN_FocusFollowsMouse%, %CFG_IniFile%, WindowHandling, FocusFollowsMouse IniWrite, %SYS_ToolTipFeedback%, %CFG_IniFile%, Visual, ToolTipFeedback IniWrite, %UPD_LastUpdateCheck%, %CFG_IniFile%, UpdateCheck, LastUpdateCheck IniWrite, %CFG_LeftMouseButtonHook%, %CFG_IniFile%, MouseHooks, LeftMouseButton IniWrite, %CFG_MiddleMouseButtonHook%, %CFG_IniFile%, MouseHooks, MiddleMouseButton IniWrite, %CFG_RightMouseButtonHook%, %CFG_IniFile%, MouseHooks, RightMouseButton IniWrite, %CFG_FourthMouseButtonHook%, %CFG_IniFile%, MouseHooks, FourthMouseButton IniWrite, %CFG_FifthMouseButtonHook%, %CFG_IniFile%, MouseHooks, FifthMouseButton Return CFG_ApplySettings: If ( SUS_AutoSuspend ) SetTimer, SUS_SuspendHandler, 1000 Else SetTimer, SUS_SuspendHandler, Off If ( XWN_FocusFollowsMouse ) SetTimer, XWN_FocusHandler, 100 Else SetTimer, XWN_FocusHandler, Off If ( CFG_LeftMouseButtonHook ) CFG_LeftMouseButtonHookStr = On Else CFG_LeftMouseButtonHookStr = Off If ( CFG_MiddleMouseButtonHook ) CFG_MiddleMouseButtonHookStr = On Else CFG_MiddleMouseButtonHookStr = Off If ( CFG_RightMouseButtonHook ) CFG_RightMouseButtonHookStr = On Else CFG_RightMouseButtonHookStr = Off If ( CFG_FourthMouseButtonHook ) CFG_FourthMouseButtonHookStr = On Else CFG_FourthMouseButtonHookStr = Off If ( CFG_FifthMouseButtonHook ) CFG_FifthMouseButtonHookStr = On Else CFG_FifthMouseButtonHookStr = Off Hotkey, $LButton, %CFG_LeftMouseButtonHookStr% Hotkey, $^LButton, %CFG_LeftMouseButtonHookStr% Hotkey, #LButton, %CFG_LeftMouseButtonHookStr% Hotkey, #MButton, %CFG_MiddleMouseButtonHookStr% Hotkey, $MButton, %CFG_MiddleMouseButtonHookStr% Hotkey, $^MButton, %CFG_MiddleMouseButtonHookStr% Hotkey, $RButton, %CFG_RightMouseButtonHookStr% Hotkey, $+RButton, %CFG_RightMouseButtonHookStr% Hotkey, $+!RButton, %CFG_RightMouseButtonHookStr% Hotkey, $+^RButton, %CFG_RightMouseButtonHookStr% Hotkey, $+#RButton, %CFG_RightMouseButtonHookStr% Hotkey, $+!^RButton, %CFG_RightMouseButtonHookStr% Hotkey, $+!#RButton, %CFG_RightMouseButtonHookStr% Hotkey, $+^#RButton, %CFG_RightMouseButtonHookStr% Hotkey, $+!^#RButton, %CFG_RightMouseButtonHookStr% Hotkey, $!RButton, %CFG_RightMouseButtonHookStr% Hotkey, $!^RButton, %CFG_RightMouseButtonHookStr% Hotkey, $!#RButton, %CFG_RightMouseButtonHookStr% Hotkey, $!^#RButton, %CFG_RightMouseButtonHookStr% Hotkey, $^RButton, %CFG_RightMouseButtonHookStr% Hotkey, $^#RButton, %CFG_RightMouseButtonHookStr% Hotkey, $#RButton, %CFG_RightMouseButtonHookStr% ; Hotkey, $^XButton1, %CFG_FourthMouseButtonHookStr% Hotkey, $XButton2, %CFG_FifthMouseButtonHookStr% Hotkey, $^XButton2, %CFG_FifthMouseButtonHookStr% Return ; ###################################################################################### ; ÁREA DE TESTES ; ###################################################################################### ; NVIDIA - MUDAR DISPLAY PRIMÁRIO <-- complicado ; Win+Shift+N #+n:: send {tab 4}{right 4} Sleep, 100 send !n Sleep, 1500 send {tab 5}{right 5} Sleep, 5000 send {tab 4}{up} Sleep, 100 send !l Sleep, 7000 send s return ; TENTATIVA DE CÓPIA/COLA RÁPIDA PARA BARRA DE END DO FIREFOX <-- Posicionar as duas janelas em primeiro plano. ; RCtrl+L >^l:: send ^c Sleep, 250 send !{tab} Sleep, 250 send ^l Sleep, 250 send ^v Sleep, 250 send {enter 2} Sleep, 250 send !{tab} return RAlt & d::AltTab RAlt & s::ShiftAltTab ; ###################################################################################### ; FALTANDO DESCOBRIR/IMPLEMENTAR: ; ###################################################################################### /* como fechar os itens da barra de tarefas simplesmente segurando alt+click como agilizar o processo de copiar um texto no Firefox e colar na janela do Word. hotkey para documento que tá sempre mudando de nome manuseando 2 diferentes teclados mapa visual de teclas em GUI como no comfortkeys fazer com que Alt+Q seja = Ctrl+W e evitar a aparição dos ?. multiple filecopy dos arquivos de backup, cruzar com data atual na criação do novo. */ /* como fechar um outro script aberto /* como substituir parte de uma palavra que está escrita errada como depressaõ para depressão configurando somente para a terminação. */ /* perguntar como que faz pra isso aqui só valer quando esta janela está ativa. ; SALVAR E RECARREGAR NumpadEnter:: IfWinExist, D:\Docs\AHK\scripts\script.ahk - Notepad++ WinActivate ; Automatically uses the window found above. WinMaximize ; same Send, ^s Reload return */ ; ctrl+w=alt+q /* ; SOBRE NOTEPAD++: solicitar implementação de tecla de atalho com alt no find-replace solicitar poder fechar o documento com alt+q perguntar se tem como implementarem a descida de cursor inteligente que tem no textpad. solicitar implementação de atalhos pra ftp_sync perguntar se tem como fazer com que arquivos.ahk sempre ativem a linguagem autoit automaticamente */ ; ########################################################################################## ; COM PROBLEMAS:; ########################################################################################## ; FECHAR JANELA MAIS CONFORTAVELMENTE ; Alt+W !w::!F4 ; MINIMIZAR TUDO COMO COM WIN+M ; Win+' #'::WinMinimizeAll */