/*
 *  Task Manager
 *
 *  Copyright 1999-2001 Brian Palmer
 *
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library 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
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 */

#include "resource.h"

#pragma code_page(65001)

LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT

/*
 Menus
*/

IDR_TASKMANAGER MENU
BEGIN
    POPUP "&File"
    BEGIN
        MENUITEM "&New Task (Run...)",          ID_FILE_NEW
        MENUITEM SEPARATOR
        MENUITEM "E&xit Task Manager",          ID_FILE_EXIT
    END
    POPUP "&Options"
    BEGIN
        MENUITEM "&Always on Top",              ID_OPTIONS_ALWAYSONTOP
        , CHECKED
        MENUITEM "&Minimize On Use",            ID_OPTIONS_MINIMIZEONUSE
        , CHECKED
        MENUITEM "&Hide When Minimized",        ID_OPTIONS_HIDEWHENMINIMIZED
        , CHECKED
        MENUITEM "&Show 16-bit tasks",          ID_OPTIONS_SHOW16BITTASKS
        , CHECKED
    END
    POPUP "&View"
    BEGIN
        MENUITEM "&Refresh Now",                ID_VIEW_REFRESH
        POPUP "&Update Speed"
        BEGIN
            MENUITEM "&High",                       ID_VIEW_UPDATESPEED_HIGH
            MENUITEM "&Normal",                     ID_VIEW_UPDATESPEED_NORMAL
            , CHECKED
            MENUITEM "&Low",                        ID_VIEW_UPDATESPEED_LOW
            MENUITEM "&Paused",                     ID_VIEW_UPDATESPEED_PAUSED

        END
        MENUITEM SEPARATOR
        MENUITEM "Lar&ge Icons",                ID_VIEW_LARGE
        MENUITEM "S&mall Icons",                ID_VIEW_SMALL
        MENUITEM "&Details",                    ID_VIEW_DETAILS, CHECKED
        MENUITEM "&Select Columns...",          ID_VIEW_SELECTCOLUMNS
        POPUP "&CPU History"
        BEGIN
            MENUITEM "&One Graph, All CPUs",        ID_VIEW_CPUHISTORY_ONEGRAPHALL

            MENUITEM "One Graph &Per CPU",          ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU
            , CHECKED
        END
        MENUITEM "&Show Kernel Times",          ID_VIEW_SHOWKERNELTIMES
    END
    POPUP "&Windows"
    BEGIN
        MENUITEM "Tile &Horizontally",          ID_WINDOWS_TILEHORIZONTALLY
        MENUITEM "Tile &Vertically",            ID_WINDOWS_TILEVERTICALLY
        MENUITEM "&Minimize",                   ID_WINDOWS_MINIMIZE
        MENUITEM "Ma&ximize",                   ID_WINDOWS_MAXIMIZE
        MENUITEM "&Cascade",                    ID_WINDOWS_CASCADE
        MENUITEM "&Bring To Front",             ID_WINDOWS_BRINGTOFRONT
    END
    POPUP "&Help"
    BEGIN
        MENUITEM "&Contents",                   ID_HELP_TOPICS
        MENUITEM "&About Task Manager",         ID_HELP_ABOUT
    END
END

IDR_WINDOWSMENU MENU
BEGIN
    MENUITEM "Tile &Horizontally",          ID_WINDOWS_TILEHORIZONTALLY
    MENUITEM "Tile &Vertically",            ID_WINDOWS_TILEVERTICALLY
    MENUITEM "&Minimize",                   ID_WINDOWS_MINIMIZE
    MENUITEM "Ma&ximize",                   ID_WINDOWS_MAXIMIZE
    MENUITEM "&Cascade",                    ID_WINDOWS_CASCADE
    MENUITEM "&Bring To Front",             ID_WINDOWS_BRINGTOFRONT
END

IDR_APPLICATION_PAGE_CONTEXT1 MENU
BEGIN
    POPUP ""
    BEGIN
        MENUITEM "&New Task (Run...)",          ID_FILE_NEW
        MENUITEM SEPARATOR
        MENUITEM "Lar&ge Icons",                ID_VIEW_LARGE
        MENUITEM "S&mall Icons",                ID_VIEW_SMALL
        MENUITEM "&Details",                    ID_VIEW_DETAILS, CHECKED
    END
END

IDR_APPLICATION_PAGE_CONTEXT2 MENU
BEGIN
    POPUP ""
    BEGIN
        MENUITEM "&Switch To",                  ID_APPLICATION_PAGE_SWITCHTO
        MENUITEM "&Bring To Front",             ID_WINDOWS_BRINGTOFRONT
        MENUITEM SEPARATOR
        MENUITEM "Tile &Horizontally",          ID_WINDOWS_TILEHORIZONTALLY
        MENUITEM "Tile &Vertically",            ID_WINDOWS_TILEVERTICALLY
        MENUITEM "&Minimize",                   ID_WINDOWS_MINIMIZE
        MENUITEM "Ma&ximize",                   ID_WINDOWS_MAXIMIZE
        MENUITEM "&Cascade",                    ID_WINDOWS_CASCADE
        MENUITEM SEPARATOR
        MENUITEM "&End Task",                   ID_APPLICATION_PAGE_ENDTASK
        MENUITEM "&Go To Process",              ID_APPLICATION_PAGE_GOTOPROCESS
    END
END

IDR_TRAY_POPUP MENU
BEGIN
    POPUP ""
    BEGIN
        MENUITEM "#msgctxt#window#&Restore",    ID_RESTORE
        MENUITEM "&Close",                      ID_FILE_EXIT
        MENUITEM SEPARATOR
        MENUITEM "&Always on Top",              ID_OPTIONS_ALWAYSONTOP
    END
END

IDR_PROCESS_PAGE_CONTEXT MENU
BEGIN
    POPUP ""
    BEGIN
        MENUITEM "&End Process",                ID_PROCESS_PAGE_ENDPROCESS
        MENUITEM "End Process &Tree",           ID_PROCESS_PAGE_ENDPROCESSTREE

        MENUITEM "&Debug",                      ID_PROCESS_PAGE_DEBUG
        MENUITEM SEPARATOR
        POPUP "Set &Priority"
        BEGIN
            MENUITEM "&Realtime",                   ID_PROCESS_PAGE_SETPRIORITY_REALTIME

            MENUITEM "&High",                       ID_PROCESS_PAGE_SETPRIORITY_HIGH

            MENUITEM "&Above Normal",               ID_PROCESS_PAGE_SETPRIORITY_ABOVENORMAL

            MENUITEM "&Normal",                     ID_PROCESS_PAGE_SETPRIORITY_NORMAL

            MENUITEM "&Below Normal",               ID_PROCESS_PAGE_SETPRIORITY_BELOWNORMAL

            MENUITEM "&Low",                        ID_PROCESS_PAGE_SETPRIORITY_LOW

        END
        MENUITEM "Set &Affinity...",            ID_PROCESS_PAGE_SETAFFINITY
	MENUITEM "Edit Debug &Channels...",	ID_PROCESS_PAGE_DEBUGCHANNELS
    END
END

/*
 String Tables
*/

STRINGTABLE
BEGIN
    IDS_APP_TITLE           "Task Manager"
    IDC_TASKMGR             "Task Manager"
    IDS_RUNDLG_CAPTION      "Create New Task"
END

STRINGTABLE
BEGIN
    ID_FILE_NEW             "Runs a new program"
    ID_OPTIONS_ALWAYSONTOP  "Task Manager remains in front of all other windows unless minimized"
    ID_OPTIONS_MINIMIZEONUSE
                            "Task Manager is minimized when a SwitchTo operation is performed"
    ID_OPTIONS_HIDEWHENMINIMIZED "Hide the Task Manager when it is minimized"
    ID_VIEW_REFRESH         "Force Task Manager to update now, regardless of Update Speed setting"
    ID_VIEW_LARGE           "Displays tasks by using large icons"
    ID_VIEW_SMALL           "Displays tasks by using small icons"
    ID_VIEW_DETAILS         "Displays information about each task"
    ID_VIEW_UPDATESPEED_HIGH "Updates the display twice per second"
    ID_VIEW_UPDATESPEED_NORMAL "Updates the display every two seconds"
    ID_VIEW_UPDATESPEED_LOW "Updates the display every four seconds"
END

STRINGTABLE
BEGIN
    ID_VIEW_UPDATESPEED_PAUSED "Does not automatically update"
    ID_WINDOWS_TILEHORIZONTALLY
                            "Tiles the windows horizontally on the desktop"
    ID_WINDOWS_TILEVERTICALLY "Tiles the windows vertically on the desktop"
    ID_WINDOWS_MINIMIZE     "Minimizes the windows"
    ID_WINDOWS_MAXIMIZE     "Maximizes the windows"
    ID_WINDOWS_CASCADE      "Cascades the windows diagonally on the desktop"
    ID_WINDOWS_BRINGTOFRONT "Brings the window front, but does not switch to it"
    ID_HELP_TOPICS          "Displays Task Manager help topics"
    ID_HELP_ABOUT           "Displays program information, version number, and copyright"
    ID_FILE_EXIT            "Exits the Task Manager application"
    ID_OPTIONS_SHOW16BITTASKS
                            "Shows 16-bit tasks under the associated ntvdm.exe"
    ID_VIEW_SELECTCOLUMNS   "Select which columns will be visible on the Process page"
    ID_VIEW_SHOWKERNELTIMES "Displays kernel time in the performance graphs"
    ID_VIEW_CPUHISTORY_ONEGRAPHALL
                            "A single history graph shows total CPU usage"
    ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU "Each CPU has its own history graph"
    ID_APPLICATION_PAGE_SWITCHTO
                            "Brings a task to the foreground, switch focus to that task"
END

STRINGTABLE
BEGIN
    ID_ENDTASK              "Tells the selected tasks to close"
    ID_GOTOPROCESS          "Switches the focus to the process of the selected task"
    ID_RESTORE              "Restores the Task Manager from its hidden state"
    ID_PROCESS_PAGE_ENDPROCESS "Removes the process from the system"
    ID_PROCESS_PAGE_ENDPROCESSTREE
                            "Removes this process and all descendants from the system"
    ID_PROCESS_PAGE_DEBUG   "Attaches the debugger to this process"
    ID_PROCESS_PAGE_SETAFFINITY
                            "Controls which processors the process will be allowed to run on"
    ID_PROCESS_PAGE_SETPRIORITY_REALTIME
                            "Sets process to the REALTIME priority class"
    ID_PROCESS_PAGE_SETPRIORITY_HIGH "Sets process to the HIGH priority class"
    ID_PROCESS_PAGE_SETPRIORITY_ABOVENORMAL
                            "Sets process to the ABOVE NORMAL priority class"
    ID_PROCESS_PAGE_SETPRIORITY_NORMAL
                            "Sets process to the NORMAL priority class"
    ID_PROCESS_PAGE_SETPRIORITY_BELOWNORMAL
                            "Sets process to the BELOW NORMAL priority class"
    ID_PROCESS_PAGE_SETPRIORITY_LOW "Sets process to the LOW priority class"
    ID_PROCESS_PAGE_DEBUGCHANNELS
                            "Controls Debug Channels"
END

STRINGTABLE
BEGIN
    IDS_VIEW_LARGE                     "Lar&ge Icons"
    IDS_VIEW_SMALL                     "S&mall Icons"
    IDS_VIEW_DETAILS                   "&Details"
    IDS_WINDOWS                        "&Windows"
    IDS_VIEW_SELECTCOLUMNS             "&Select Columns..."
    IDS_OPTIONS_SHOW16BITTASKS         "&Show 16-bit tasks"
    IDS_VIEW_CPUHISTORY                "&CPU History"
    IDS_VIEW_CPUHISTORY_ONEGRAPHALL    "&One Graph, All CPUs"
    IDS_VIEW_CPUHISTORY_ONEGRAPHPERCPU "One Graph &Per CPU"
    IDS_VIEW_SHOWKERNELTIMES           "&Show Kernel Times"
    IDS_APPLICATIONS                   "Applications"
    IDS_PROCESSES                      "Processes"
    IDS_PERFORMANCE                    "Performance"
    IDS_STATUS_BAR_CPU_USAGE           "CPU Usage: %3d%%"
    IDS_STATUS_BAR_PROCESSES           "Processes: %d"
    IDS_STATUS_BAR_MEMORY_USAGE        "Mem Usage: %dK / %dK"
END

STRINGTABLE
BEGIN
    IDS_IMAGENAME         "Image Name"
    IDS_PID               "PID"
    IDS_CPUUSAGE          "CPU"
    IDS_CPUTIME           "CPU Time"
    IDS_MEMORYUSAGE       "Mem Usage"
    IDS_MEMORYUSAGEDELTA  "Mem Delta"
    IDS_PEAKMEMORYUSAGE   "Peak Mem Usage"
    IDS_PAGEFAULTS        "Page Faults"
    IDS_USEROBJECTS       "USER Objects"
    IDS_IOREADS           "I/O Reads"
    IDS_IOREADBYTES       "I/O Read Bytes"
    IDS_SESSIONID         "Session ID"
    IDS_USERNAME          "Username"
    IDS_PAGEFAULTSDELTA   "PF Delta"
    IDS_VIRTUALMEMORYSIZE "VM Size"
    IDS_PAGEDPOOL         "Paged Pool"
    IDS_NONPAGEDPOOL      "NP Pool"
    IDS_BASEPRIORITY      "Base Pri"
    IDS_HANDLECOUNT       "Handles"
    IDS_THREADCOUNT       "Threads"
    IDS_GDIOBJECTS        "GDI Objects"
    IDS_IOWRITES          "I/O Writes"
    IDS_IOWRITEBYTES      "I/O Write Bytes"
    IDS_IOOTHER           "I/O Other"
    IDS_IOOTHERBYTES      "I/O Other Bytes"
END

STRINGTABLE
BEGIN
    IDS_WARNING_TITLE               "Task Manager Warning"
    IDS_PRIORITY_CHANGE_MESSAGE     "WARNING: Changing the priority class of this process may\n\
                                     cause undesired results including system instability. Are you\n\
                                     sure you want to change the priority class?"
    IDS_PRIORITY_UNABLE2CHANGE      "Unable to Change Priority"
    IDS_TERMINATE_MESSAGE           "WARNING: Terminating a process can cause undesired\n\
                                     results including loss of data and system instability. The\n\
                                     process will not be given the chance to save its state or\n\
                                     data before it is terminated. Are you sure you want to\n\
                                     terminate the process?"
    IDS_TERMINATE_UNABLE2TERMINATE  "Unable to Terminate Process"
    IDS_DEBUG_MESSAGE               "WARNING: Debugging this process may result in loss of data.\n\
                                     Are you sure you wish to attach the debugger?"
    IDS_DEBUG_UNABLE2DEBUG          "Unable to Debug Process"
    IDS_AFFINITY_ERROR_MESSAGE      "The process must have affinity with at least one processor"
    IDS_AFFINITY_ERROR_TITLE        "Invalid Option"
    IDS_AFFINITY_UNABLE2ACCESS      "Unable to Access or Set Process Affinity"
END

STRINGTABLE
BEGIN
    IDS_SYSTEM_IDLE_PROCESS            "System Idle Process"
    IDS_APPLICATION_NOT_RESPONDING     "Not Responding"
    IDS_APPLICATION_RUNNING            "Running"
    IDS_APPLICATION_TASK               "Task"
    IDS_APPLICATION_STATUS             "Status"
    IDS_DEBUG_CHANNEL                  "Debug Channels"
    IDS_DEBUG_CHANNEL_FIXME            "Fixme"
    IDS_DEBUG_CHANNEL_ERR              "Err"
    IDS_DEBUG_CHANNEL_WARN             "Warn"
    IDS_DEBUG_CHANNEL_TRACE            "Trace"
END

LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL

/*
 Icon
*/

/* Icon with lowest ID value placed first to ensure application icon
   remains consistent on all systems. */
/* @makedep: taskmgr.ico */
IDI_TASKMANAGER         ICON taskmgr.ico

/* @makedep: window.ico */
IDI_WINDOW              ICON window.ico

/* @makedep: windowsm.ico */
IDI_WINDOWSM            ICON windowsm.ico

/*
 Version
*/

VS_VERSION_INFO VERSIONINFO
 FILEVERSION 1,0,0,1
 PRODUCTVERSION 1,0,0,1
 FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
 FILEFLAGS 0x1L
#else
 FILEFLAGS 0x0L
#endif
 FILEOS 0x40004L
 FILETYPE 0x1L
 FILESUBTYPE 0x0L
BEGIN
    BLOCK "StringFileInfo"
    BEGIN
        BLOCK "040904b0"
        BEGIN
            VALUE "CompanyName", "Brian Palmer\0"
            VALUE "FileDescription", "Task Manager by Brian Palmer\0"
            VALUE "FileVersion", "1.0.0.1\0"
            VALUE "InternalName", "taskmgr\0"
            VALUE "LegalCopyright", "Copyright © Brian Palmer 2000\0"
            VALUE "OriginalFilename", "taskmgr.exe\0"
            VALUE "ProductName", "Task Manager by Brian Palmer\0"
            VALUE "ProductVersion", "1.0.0.1\0"
        END
    END
    BLOCK "VarFileInfo"
    BEGIN
        VALUE "Translation", 0x409, 1200
    END
END

/*
 Bitmap
*/

/* @makedep: traymask.bmp */
IDB_TRAYMASK            BITMAP traymask.bmp

/* @makedep: trayicon.bmp */
IDB_TRAYICON            BITMAP trayicon.bmp

/* @makedep: font.bmp */
IDB_FONT                BITMAP font.bmp
