Autohotkey 를 사용하여 툴을 만들어서 사용할 때 일단은 검색을 먼저 해 보는 편입니다. 보통의 경우 제가 필요한 툴들은 누군가가 다 만들어서 사용을 하고 있었고 오늘 소개해 드릴 간단한 타이머도 Autohotkey 포럼에서 찾은 코드입니다.

컴퓨터에서 타이머가 필요해서 Autohotkey 로 어떻게 만들어 볼까 고민하다가 처음 생각은 GUI 를 사용하여 만들어야겠 다고 생각을 했었는데 포럼에서 flyingDman 의 코드를 보니 굉장히 간단하게 Progress 바를 사용하여 타이머를 만들었더군요. 굳이 GUI 를 만드는것 보다 훨씬 더 편한 방법 같아서 소개를 합니다 코드는 아래와 같습니다.




실행 시키면 다음과 같은 Progress 로 구성된 UI가 나오고 설정 하고자 하는 타이머의 분과 초 숫자 4자리를 순서대로 입력해 주면 타이머가 실행됩니다. 타이머가 종료되면 소리가 난 후에 종료 이후 지난 시간이 다시 또 Count UP 됩니다. 처음 실행시킨 후에 시간을 입력하지 않고 그냥 엔터를 치면 바로 Count UP 타이머로 동작하게 됩니다.

코드를 보면 아시겠지만 p 를 누르면 pause 가 toggle 되고 ESC 를 누르면 프로그램이 종료 됩니다. 그리고 s 를 누르면 타이머가 다시 시작합니다. 위 실행 화면에서 보시는 바와 같이 title 바가 없이 표시가 되는데 이는 Progress 코드에서 b 옵션을 줬기 때문입니다. UI 가 모니터 가운데 나와서 옮기고 싶다 하시는 분들은 b 옵션을 제거하고 실행시키시면 아래와 같이 타이틀바가 생기고 UI 를 드래그 해서 이동할 수 있습니다.

Autohotkey 를 사용하지 않는 분들도 사용해 보시라고 b 옵션을 제거하고 p, s 단축키도 Win + P, Win + S 로 변경하여 컴파일한 파일도 올립니다.

flyingDman_Timer.exe

저는 개인적으로는 지금까지 Autohotkey 를 사용하면서 SplashImage 를 종종 사용을 해 봤지만 Progress 를 사용해 본 적이 없었는데 이번 코드를 보면서 Progress 를 이런 식으로도 사용할 수 있구나라는 생각을 하게 되었습니다.

이 글을 보시는 Autohotkey 사용자 분들도 Autohotkey 를 공부하는데 참조하시기 바랍니다.



다음과 같이 간단한 그래프를 하나 그리고 title 을 설정해 보자.

 

x=1:10;

plot(x)

title('X_Y') 

 

위 코드를 실행 시키면 아래와 같은 그래프가 나온다. 그래프에서 확인 할 수 있는 바와 같이 title XY 로 즉 underscore(_) 로 인해 Y 라는 텍스트가 아래 첨자로 된 것을 확인 할 수 있다.

 

 

 

underscore 로 인한 아래첨자 효과를 없애 주려면 underscore 앞에 \ escaping 하면 된다. 다음과 같이 코딩하면

 

title('X\_Y')

 

이런 결과가 나온다. 

 


그런데 이런 식으로 모든 underscore  escaping 을 하는 것도 귀찮은 경우에는 다음과 같이 underscore 와 같은 문자들을 Interpretering 하지 않도록 설정할 수 있다.

 

t=title('X_Y_A_B_C');

set(t,'Interpreter','none');  



+ Recent posts