summary refs log blame commit diff stats
path: root/.travis.yml
blob: 57fb42169b578818402afbe7347b8014ad09e784 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
           
           
          
               
       
                                                                                
                   
sudo: false
language: c
cache: apt
compiler: clang
script:
    - ./autogen.sh --enable-textfe --with-theme-manager --enable-static-analysis
    - make V=1 -j$(nproc)
notifications:
    irc:
        channels: "chat.freenode.net#hexchat-devel"
        template: "Build %{build_url} (%{commit} in %{branch}) by %{author}: %{message}"
        on_success: change
matrix:
     fast_finish: true
addons:
    apt:
        packages:
            - automake
            - autoconf-archive
            - imagemagick
            - intltool
            - libcanberra-dev
            - libdbus-glib-1-dev
            - libglib2.0-dev
            - libgtk2.0-dev
            - libnotify-dev
            - libpci-dev
            - libperl-dev
            - libproxy-dev
            - libssl-dev
            - libtool
            - monodevelop
            - mono-devel
            - python-dev
/span>[] szTemp; } return Shell_NotifyIcon(NIM_ADD, &nidata); } int RemoveIcon(HWND hwnd, UINT id) { if(hThread != NULL) { TerminateThread(hThread, 0); hThread = NULL; delete tData; } NOTIFYICONDATA nidata; nidata.cbSize = NOTIFYICONDATA_V2_SIZE; nidata.hWnd = hwnd; nidata.uID = id; return Shell_NotifyIcon(NIM_DELETE, &nidata); } int SetIcon(HWND hwnd, UINT id, HICON hicon) { NOTIFYICONDATA nidata; nidata.cbSize = NOTIFYICONDATA_V2_SIZE; nidata.hWnd = hwnd; nidata.uID = id; nidata.hIcon = hicon; nidata.uFlags = NIF_ICON; return Shell_NotifyIcon(NIM_MODIFY, &nidata); } int SetTooltip(HWND hwnd, UINT id, char *szTip) { NOTIFYICONDATA nidata; nidata.cbSize = NOTIFYICONDATA_V2_SIZE; nidata.hWnd = hwnd; nidata.uID = id; nidata.uFlags = NIF_TIP; if(szTip != NULL) { TCHAR *szTemp = new TCHAR[64]; ConvertString(szTip, szTemp, 64); _tcsncpy(nidata.szTip, szTemp, 64); delete[] szTemp; } return Shell_NotifyIcon(NIM_MODIFY, &nidata); } int ShowBalloon(HWND hwnd, UINT id, char *szInfo, char *szTitle, UINT time, UINT infoFlags) { NOTIFYICONDATA nidata; nidata.cbSize = NOTIFYICONDATA_V2_SIZE; nidata.hWnd = hwnd; nidata.uID = id; nidata.uFlags = NIF_INFO; nidata.dwInfoFlags = infoFlags; if(time > 0) nidata.uTimeout = time; else nidata.uTimeout = 500000; if(szInfo != NULL) { TCHAR *szTemp = new TCHAR[255]; ConvertString(szInfo, szTemp, 251); szTemp[250] = 0; if(strlen(szInfo) > 255) { _sntprintf(szTemp, 255, _T("%s..."), szTemp); } _tcsncpy(nidata.szInfo, szTemp, 255); delete[] szTemp; } if(szTitle != NULL) { TCHAR *wszTitle = new TCHAR[64]; ConvertString(szTitle, wszTitle, 64); _tcsncpy(nidata.szInfoTitle, wszTitle, 64); delete[] wszTitle; } return Shell_NotifyIcon(NIM_MODIFY, &nidata); } DWORD WINAPI BlinkThread(LPVOID lpParam) { NOTIFYICONDATA nidata; nidata.cbSize = NOTIFYICONDATA_V2_SIZE; nidata.hWnd = tData->hwnd; nidata.uID = tData->id; nidata.uFlags = NIF_ICON; for(UINT i = 0; i < tData->num; i++) { nidata.hIcon = tData->hBlink; Shell_NotifyIcon(NIM_MODIFY, &nidata); Sleep(tData->time); nidata.hIcon = tData->hBase; Shell_NotifyIcon(NIM_MODIFY, &nidata); Sleep(tData->time); } delete tData; hThread = NULL; return 0; } int BlinkIcon(HWND hwnd, UINT id, HICON hBase, HICON hBlink, UINT time, UINT num) { if(hThread != NULL) { StopBlink(hwnd, id, hBase); } DWORD dwThreadID; tData = new iBlink; tData->hwnd = hwnd; tData->id = id; tData->hBase = hBase; tData->hBlink = hBlink; tData->time = time; tData->num = num; hThread = CreateThread(NULL, 0, BlinkThread, tData, 0, &dwThreadID); return 0; } void StopBlink(HWND hwnd, UINT id, HICON hBase) { if(hThread != NULL) { TerminateThread(hThread, 0); hThread = NULL; delete tData; } SetIcon(hwnd, id, hBase); }