├── .clang-format ├── .gitignore ├── .gitlab-ci.yml ├── .gitmodules ├── AUTHORS ├── COPYING ├── Makefile.am ├── NEWS ├── README.OS-implementation ├── README.md ├── THANKS ├── autogen.sh ├── configure.ac ├── data ├── Makefile.am └── icons │ ├── 128x128 │ ├── Makefile.am │ └── org.xfce.taskmanager.png │ ├── 16x16 │ ├── Makefile.am │ ├── org.xfce.taskmanager.png │ └── org.xfce.taskmanager.svg │ ├── 24x24 │ ├── Makefile.am │ ├── org.xfce.taskmanager.png │ └── org.xfce.taskmanager.svg │ ├── 32x32 │ ├── Makefile.am │ ├── org.xfce.taskmanager.png │ └── org.xfce.taskmanager.svg │ ├── 48x48 │ ├── Makefile.am │ ├── org.xfce.taskmanager.png │ └── org.xfce.taskmanager.svg │ ├── 64x64 │ ├── Makefile.am │ ├── org.xfce.taskmanager.png │ └── org.xfce.taskmanager.svg │ ├── 96x96 │ ├── Makefile.am │ ├── org.xfce.taskmanager.png │ └── org.xfce.taskmanager.svg │ ├── Makefile.am │ ├── meson.build │ └── scalable │ ├── Makefile.am │ ├── org.xfce.taskmanager.svg │ └── xc_crosshair-symbolic.svg ├── meson.build ├── meson_options.txt ├── po ├── LINGUAS ├── Makevars ├── POTFILES.in ├── POTFILES.skip ├── ar.po ├── ast.po ├── az.po ├── be.po ├── bg.po ├── ca.po ├── cs.po ├── da.po ├── de.po ├── el.po ├── en_AU.po ├── en_GB.po ├── es.po ├── et.po ├── eu.po ├── fa_IR.po ├── fi.po ├── fr.po ├── gl.po ├── he.po ├── hr.po ├── hu.po ├── hy_AM.po ├── hye.po ├── id.po ├── ie.po ├── is.po ├── it.po ├── ja.po ├── kk.po ├── ko.po ├── lt.po ├── lv.po ├── meson.build ├── ms.po ├── nb.po ├── nl.po ├── oc.po ├── pa.po ├── pl.po ├── pt.po ├── pt_BR.po ├── ro.po ├── ru.po ├── si.po ├── sk.po ├── sl.po ├── sq.po ├── sr.po ├── sv.po ├── te.po ├── th.po ├── tr.po ├── ug.po ├── uk.po ├── ur.po ├── ur_PK.po ├── vi.po ├── zh_CN.po ├── zh_HK.po └── zh_TW.po ├── src ├── Makefile.am ├── app-manager.c ├── app-manager.h ├── main.c ├── meson.build ├── process-monitor.c ├── process-monitor.h ├── process-statusbar.c ├── process-statusbar.h ├── process-tree-model.c ├── process-tree-model.h ├── process-tree-view.c ├── process-tree-view.h ├── process-window.c ├── process-window.h ├── process-window.ui ├── settings-dialog.c ├── settings-dialog.h ├── settings-dialog.ui ├── settings.c ├── settings.h ├── task-manager-bsd.c ├── task-manager-darwin.c ├── task-manager-freebsd.c ├── task-manager-linux.c ├── task-manager-skel.c ├── task-manager-solaris.c ├── task-manager.c ├── task-manager.gresource.xml └── task-manager.h ├── xfce-revision.h.in └── xfce4-taskmanager.desktop.in /.clang-format: -------------------------------------------------------------------------------- 1 | --- 2 | Language: Cpp 3 | BasedOnStyle: LLVM 4 | 5 | AlignAfterOpenBracket: DontAlign 6 | AlignEscapedNewlines: DontAlign 7 | AlignOperands: Align 8 | AlignTrailingComments: Never 9 | AllowAllParametersOfDeclarationOnNextLine: false 10 | AlwaysBreakAfterDefinitionReturnType: All 11 | BreakBeforeBraces: Allman 12 | ColumnLimit: 0 13 | ContinuationIndentWidth: 2 14 | Cpp11BracedListStyle: false 15 | IncludeBlocks: Regroup 16 | IncludeCategories: 17 | - Regex: '"config\.h"' 18 | Priority: -1 19 | CaseSensitive: true 20 | - Regex: '"[^/]*"' 21 | Priority: 0 22 | SortPriority: 1 23 | CaseSensitive: true 24 | - Regex: '".*"' 25 | Priority: 2 26 | CaseSensitive: true 27 | - Regex: '<.*>' 28 | Priority: 3 29 | CaseSensitive: true 30 | IndentCaseLabels: true 31 | InsertNewlineAtEOF: true 32 | KeepEmptyLinesAtTheStartOfBlocks: false 33 | MaxEmptyLinesToKeep: 3 34 | SpaceBeforeParens: Always 35 | TabWidth: 2 36 | UseTab: Always 37 | # Buggy workaround to add exceptions to 'SpaceBeforeParens: Always' (see below) 38 | WhitespaceSensitiveMacros: 39 | - _ 40 | # Workaround to avoid some alignment bugs when adding a macro to WhitespaceSensitiveMacros, 41 | # see https://github.com/llvm/llvm-project/issues/55443#issuecomment-1953268337 42 | # This doesn't fix all alignment bugs though, so I'd rather make an exception only for '_', 43 | # and not also for 'N_' or 'I_' for example. 44 | # See also https://github.com/llvm/llvm-project/issues/82288 45 | Macros: 46 | - _(x)=x 47 | ... 48 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | po/*.gmo 2 | *Makefile 3 | *Makefile.in 4 | po/Makefile.in.in 5 | ABOUT-NLS 6 | ChangeLog 7 | POTFILES 8 | stamp* 9 | */.deps 10 | .libs 11 | *~ 12 | *.bz2 13 | *.orig 14 | *.o 15 | *.lo 16 | *.la 17 | \[config.h\].in 18 | *,orig 19 | configure 20 | config.* 21 | mkinstalldirs 22 | missing 23 | compile 24 | install-sh 25 | ltmain.sh 26 | libtool 27 | depcomp 28 | aclocal.m4 29 | m4/ 30 | po/Makevars.template 31 | po/Rules-quot 32 | po/boldquot.sed 33 | po/en@boldquot.header 34 | po/en@quot.header 35 | po/insert-header.sin 36 | po/quot.sed 37 | po/remove-potcdate.sed 38 | po/remove-potcdate.sin 39 | po/xfce4-taskmanager.pot 40 | autom4te.cache 41 | *.desktop 42 | INSTALL 43 | src/task-manager-resources.c 44 | src/xfce4-taskmanager 45 | -------------------------------------------------------------------------------- /.gitlab-ci.yml: -------------------------------------------------------------------------------- 1 | include: 2 | - project: 'xfce/xfce4-dev-tools' 3 | file: '/ci/build_project.yml' 4 | 5 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfce-mirror/xfce4-taskmanager/20fde0bf92bdbd14198c60da3b501fee064de130/.gitmodules -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- 1 | Johannes Zellner 2 | Mike Massonnet 3 | -------------------------------------------------------------------------------- /Makefile.am: -------------------------------------------------------------------------------- 1 | ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} 2 | 3 | SUBDIRS = \ 4 | data \ 5 | po \ 6 | src 7 | 8 | desktopdir = $(datadir)/applications 9 | desktop_in_files = xfce4-taskmanager.desktop.in 10 | desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) 11 | 12 | xfce4-taskmanager.desktop: xfce4-taskmanager.desktop.in 13 | $(AM_V_GEN)$(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@ 14 | 15 | ChangeLog: Makefile 16 | ChangeLog-git.sh > $(srcdir)/ChangeLog || touch $(srcdir)/ChangeLog 17 | 18 | EXTRA_DIST = \ 19 | $(desktop_in_files) \ 20 | xfce-revision.h.in \ 21 | meson.build \ 22 | meson_options.txt 23 | 24 | DISTCLEANFILES = \ 25 | $(desktop_DATA) 26 | 27 | # vi:set ts=8 sw=8 noet ai nocindent syntax=automake: 28 | -------------------------------------------------------------------------------- /README.OS-implementation: -------------------------------------------------------------------------------- 1 | If you are reading this file it's good news, it may imply you are interested in coding, but 2 | maybe even into adding support for a new operating system. 3 | 4 | The bare minimum to implement can be copied from the file src/task-manager-skel.c, knowing 5 | the existing implementations can serve as good examples. The src/task-manager.h file 6 | contains the declaration of the Task structure and the four functions that must be 7 | implemented. 8 | 9 | If you have trouble to add compilation to the build-env (autotools) you can run the 10 | configure script (./autogen.sh or ./configure) with the flag --with-skel and put your 11 | modifications inside the task-manager-skel.c file directly. 12 | 13 | When done, send a patch to Bugzilla (bugzilla.xfce.org). 14 | 15 | Some tips 16 | --------- 17 | 18 | You may cache values, declare 'static ' under the includes for global 19 | access, or inside functions for local access. 20 | 21 | You may need a local function to calculate the CPU usage in percent for the system and/or 22 | the processes (usually OSes that report the usage with an incrementing time-like value), for 23 | this have a look at the function get_cpu_percent() from the linux and solaris files. 24 | 25 | The refresh rate can be different than one second, make sure the CPU keeps correct by 26 | changing it or the algorithm may simply be wrong. 27 | 28 | Implementing the function pid_is_sleeping() is needed to show either the signal Stop or 29 | Continue inside the graphical interface. 30 | 31 | The function get_task_list() provides an empty but initialized GArray pointer as argument 32 | that just has to be filled in with the current list of tasks. Note that GArray makes a copy 33 | of the data type that it is passed to, don't allocate or free memory instead declare a Task 34 | structure and pass it as is/as a copy to g_array_append_value(). 35 | 36 | If there are information you are unable to provide because unexistent on the system, fill in 37 | these values with 0. A good example is the swap, when the total equals to zero it is hidden 38 | from the interface. This can be applied to the CPU (system may be useless) and the memory 39 | information (buffer and/or cache may be left out). 40 | 41 | That's it! 42 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![License](https://img.shields.io/badge/License-GPL%20v2-blue.svg)](https://gitlab.xfce.org/apps/xfce4-taskmanager/-/blob/master/COPYING) 2 | 3 | # xfce4-taskmanager 4 | 5 | The xfce4-taskmanager component is an easy to use graphical task manager. 6 | 7 | ---- 8 | 9 | ### Homepage 10 | 11 | [Xfce4-taskmanager documentation](https://docs.xfce.org/apps/xfce4-taskmanager/start) 12 | 13 | ### Changelog 14 | 15 | See [NEWS](https://gitlab.xfce.org/apps/xfce4-taskmanager/-/blob/master/NEWS) for details on changes and fixes made in the current release. 16 | 17 | ### Source Code Repository 18 | 19 | [Xfce4-taskmanager source code](https://gitlab.xfce.org/apps/xfce4-taskmanager) 20 | 21 | ### Download a Release Tarball 22 | 23 | [Xfce4-taskmanager archive](https://archive.xfce.org/src/apps/xfce4-taskmanager) 24 | or 25 | [Xfce4-taskmanager tags](https://gitlab.xfce.org/apps/xfce4-taskmanager/-/tags) 26 | 27 | ### Installation 28 | 29 | From source code repository: 30 | 31 | % cd xfce4-taskmanager 32 | % meson setup build 33 | % meson compile -C build 34 | % meson install -C build 35 | 36 | From release tarball: 37 | 38 | % tar xf xfce4-taskmanager-.tar.xz 39 | % cd xfce4-taskmanager- 40 | % meson setup build 41 | % meson compile -C build 42 | % meson install -C build 43 | 44 | ### Reporting Bugs 45 | 46 | Visit the [reporting bugs](https://docs.xfce.org/apps/xfce4-taskmanager/bugs) page to view currently open bug reports and instructions on reporting new bugs or submitting bugfixes. 47 | 48 | -------------------------------------------------------------------------------- /THANKS: -------------------------------------------------------------------------------- 1 | FreeBSD 2 | - Oliver Lehmann 3 | 4 | OpenBSD 5 | - Landry Breuil 6 | 7 | OpenSolaris 8 | - Peter Tribble 9 | 10 | 11 | 12 | Patches 13 | - Álvaro Lopes 14 | 15 | -------------------------------------------------------------------------------- /autogen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | (type xdt-autogen) >/dev/null 2>&1 || { 4 | cat >&2 < 10 | dnl 2005-2008 Johannes Zellner 11 | 12 | dnl *************************** 13 | dnl *** Version information *** 14 | dnl *************************** 15 | XDT_VERSION_INIT([1.6.0], [git]) 16 | m4_define([copyright_year], [2025]) 17 | 18 | dnl *************************** 19 | dnl *** Initialize autoconf *** 20 | dnl *************************** 21 | AC_COPYRIGHT([Copyright (c) 2005-copyright_year() The Xfce development team. All rights reserved.]) 22 | AC_INIT([Xfce4 Taskmanager], [xdt_version], [https://gitlab.xfce.org/apps/xfce4-taskmanager/], [xfce4-taskmanager], 23 | [https://docs.xfce.org/apps/xfce4-taskmanager/start]) 24 | AC_PREREQ([2.69]) 25 | AC_CONFIG_MACRO_DIRS([m4]) 26 | AC_CANONICAL_TARGET() 27 | AC_REVISION([xdt_version_build]) 28 | AC_DEFINE([VERSION_FULL], [PACKAGE_VERSION], [Alias for VERSION and PACKAGE_VERSION for meson compatibility]) 29 | COPYRIGHT_YEAR=copyright_year() 30 | AC_DEFINE_UNQUOTED([COPYRIGHT_YEAR], ["$COPYRIGHT_YEAR"], [Copyright year]) 31 | AC_SUBST([COPYRIGHT_YEAR]) 32 | 33 | dnl *************************** 34 | dnl *** Initialize automake *** 35 | dnl *************************** 36 | AM_INIT_AUTOMAKE([1.8 no-dist-gzip dist-bzip2 foreign]) 37 | AC_CONFIG_HEADERS([config.h]) 38 | AM_MAINTAINER_MODE() 39 | m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) 40 | 41 | LT_PREREQ([2.2.6]) 42 | LT_INIT([disable-static]) 43 | 44 | dnl ******************************** 45 | dnl *** Check for basic programs *** 46 | dnl ******************************** 47 | AC_PROG_CC() 48 | AM_PROG_CC_C_O() 49 | LT_PATH_LD([]) 50 | AC_PROG_INSTALL() 51 | 52 | dnl ************************************ 53 | dnl *** Checks for library functions *** 54 | dnl ************************************ 55 | AC_C_CONST() 56 | 57 | dnl ********************************** 58 | dnl *** Check for standard headers *** 59 | dnl ********************************** 60 | AC_CHECK_HEADERS([stdlib.h string.h]) 61 | 62 | dnl ****************************** 63 | dnl *** Check for i18n support *** 64 | dnl ****************************** 65 | GETTEXT_PACKAGE="$PACKAGE" 66 | AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], ["$GETTEXT_PACKAGE"], [Name of default gettext domain]) 67 | AC_SUBST([GETTEXT_PACKAGE]) 68 | 69 | AM_GNU_GETTEXT([external]) 70 | AM_GNU_GETTEXT_VERSION([0.19.8]) 71 | 72 | dnl *********************************** 73 | dnl *** Check for required packages *** 74 | dnl *********************************** 75 | XDT_CHECK_PACKAGE([LIBXMU], [xmu], [1.1.2]) 76 | XDT_CHECK_PACKAGE([GLIB], [glib-2.0], [2.66.0]) 77 | XDT_CHECK_PACKAGE([GTK3], [gtk+-3.0], [3.24.0]) 78 | XDT_CHECK_PACKAGE([CAIRO], [cairo], [1.5.0]) 79 | XDT_CHECK_PACKAGE([LIBXFCE4UI], [libxfce4ui-2], [4.18.0]) 80 | XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [4.18.0]) 81 | XDT_CHECK_PACKAGE([XFCONF], [libxfconf-0], [4.18.0]) 82 | 83 | XDT_CHECK_PACKAGE_BINARY([GLIB_COMPILE_RESOURCES], [gio-2.0], [glib_compile_resources], [glib-compile-resources]) 84 | 85 | dnl *********************************** 86 | dnl *** Check for optional packages *** 87 | dnl *********************************** 88 | XDT_CHECK_OPTIONAL_PACKAGE([LIBX11], [x11], [1.6.7], [libx11], [Libx11 support]) 89 | XDT_CHECK_OPTIONAL_PACKAGE([WNCK], [libwnck-3.0], [3.2], [wnck3], [building with libwnck3 for window icons/names], [yes]) 90 | 91 | dnl *********************************** 92 | dnl ********** Check for skel ********* 93 | dnl *********************************** 94 | AC_ARG_WITH([skel], 95 | AS_HELP_STRING([--with-skel],[build with task-manager-skel.c]), 96 | [ac_skel="$withval"], 97 | [ac_skel=no]) 98 | 99 | dnl *********************************** 100 | dnl ******* Check for OS family ******* 101 | dnl *********************************** 102 | if test x"$ac_skel" = x"yes"; then 103 | ac_os_implementation="skel" 104 | else 105 | case "$target_os" in 106 | freebsd*) 107 | ac_os_implementation="freebsd" 108 | AC_CHECK_LIB([kvm], [kvm_openfiles]) 109 | AC_CHECK_HEADERS([fcntl.h kvm.h paths.h pwd.h sys/param.h sys/proc.h \ 110 | sys/sysctl.h sys/types.h sys/user.h unistd.h]) 111 | ;; 112 | dragonfly*|netbsd*|openbsd*) 113 | ac_os_implementation="bsd" 114 | AC_CHECK_HEADERS([err.h pwd.h stdlib.h string.h sys/param.h sys/sched.h \ 115 | sys/swap.h sys/sysctl.h sys/types.h unistd.h]) 116 | ;; 117 | solaris*) 118 | ac_os_implementation="solaris" 119 | AC_CHECK_LIB([kstat], [kstat_open]) 120 | AC_CHECK_HEADERS([fcntl.h kstat.h procfs.h pwd.h stdlib.h string.h \ 121 | sys/procfs.h sys/stat.h sys/swap.h sys/types.h]) 122 | ;; 123 | linux*) 124 | ac_os_implementation="linux" 125 | AC_CHECK_HEADERS([pwd.h signal.h stdio.h string.h sys/resource.h \ 126 | sys/stat.h sys/types.h unistd.h]) 127 | ;; 128 | darwin*) 129 | ac_os_implementation="darwin" 130 | AC_CHECK_HEADERS([err.h mach/mach.h stdlib.h string.h sys/param.h sys/proc.h \ 131 | sys/sysctl.h sys/types.h unistd.h Availability.h TargetConditionals.h]) 132 | ;; 133 | *) 134 | AC_MSG_CHECKING([for OS implementation]) 135 | AC_MSG_ERROR([no OS implementation for $target_os is available]) 136 | ;; 137 | esac 138 | fi 139 | AC_MSG_CHECKING([for OS implementation]) 140 | AC_MSG_RESULT([$ac_os_implementation]) 141 | 142 | AM_CONDITIONAL([OS_FREEBSD], [test x"$ac_os_implementation" = x"freebsd"]) 143 | AM_CONDITIONAL([OS_BSD], [test x"$ac_os_implementation" = x"bsd"]) 144 | AM_CONDITIONAL([OS_SOLARIS], [test x"$ac_os_implementation" = x"solaris"]) 145 | AM_CONDITIONAL([OS_LINUX], [test x"$ac_os_implementation" = x"linux"]) 146 | AM_CONDITIONAL([OS_DARWIN], [test x"$ac_os_implementation" = x"darwin"]) 147 | AM_CONDITIONAL([OS_SKEL], [test x"$ac_os_implementation" = x"skel"]) 148 | 149 | dnl *********************************** 150 | dnl *** Check for debugging support *** 151 | dnl *********************************** 152 | XDT_FEATURE_DEBUG([xdt_debug_default]) 153 | 154 | dnl *************** 155 | dnl *** Outputs *** 156 | dnl *************** 157 | AC_CONFIG_FILES([ 158 | Makefile 159 | src/Makefile 160 | data/Makefile 161 | data/icons/Makefile 162 | data/icons/16x16/Makefile 163 | data/icons/24x24/Makefile 164 | data/icons/32x32/Makefile 165 | data/icons/48x48/Makefile 166 | data/icons/64x64/Makefile 167 | data/icons/96x96/Makefile 168 | data/icons/128x128/Makefile 169 | data/icons/scalable/Makefile 170 | po/Makefile.in 171 | ]) 172 | AC_OUTPUT 173 | 174 | dnl *************************** 175 | dnl *** Print configuration *** 176 | dnl *************************** 177 | echo 178 | echo "Build Configuration:" 179 | echo 180 | echo "* Libx11: ${LIBX11_VERSION:-no}" 181 | echo "* Wnck: ${WNCK_VERSION:-no}" 182 | echo "* Cairo: ${CAIRO_VERSION}" 183 | echo "* GTK+: ${GTK3_VERSION}" 184 | echo "* Target OS: $target_os ($ac_os_implementation)" 185 | echo "* Debug: $enable_debug" 186 | echo 187 | -------------------------------------------------------------------------------- /data/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = icons 2 | 3 | -------------------------------------------------------------------------------- /data/icons/128x128/Makefile.am: -------------------------------------------------------------------------------- 1 | iconsdir = $(datadir)/icons/hicolor/128x128/apps 2 | icons_DATA = org.xfce.taskmanager.png 3 | EXTRA_DIST = $(icons_DATA) 4 | -------------------------------------------------------------------------------- /data/icons/128x128/org.xfce.taskmanager.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfce-mirror/xfce4-taskmanager/20fde0bf92bdbd14198c60da3b501fee064de130/data/icons/128x128/org.xfce.taskmanager.png -------------------------------------------------------------------------------- /data/icons/16x16/Makefile.am: -------------------------------------------------------------------------------- 1 | iconsdir = $(datadir)/icons/hicolor/16x16/apps 2 | icons_DATA = org.xfce.taskmanager.png 3 | EXTRA_DIST = $(icons_DATA) 4 | -------------------------------------------------------------------------------- /data/icons/16x16/org.xfce.taskmanager.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfce-mirror/xfce4-taskmanager/20fde0bf92bdbd14198c60da3b501fee064de130/data/icons/16x16/org.xfce.taskmanager.png -------------------------------------------------------------------------------- /data/icons/16x16/org.xfce.taskmanager.svg: -------------------------------------------------------------------------------- 1 | 2 | 21 | 47 | 51 | 52 | Adwaita Icon Template 54 | 56 | 59 | 63 | 67 | 68 | 69 | 71 | 72 | 74 | Adwaita Icon Template 75 | 76 | 77 | 78 | 87 | 97 | 103 | 104 | -------------------------------------------------------------------------------- /data/icons/24x24/Makefile.am: -------------------------------------------------------------------------------- 1 | iconsdir = $(datadir)/icons/hicolor/24x24/apps 2 | icons_DATA = org.xfce.taskmanager.png 3 | EXTRA_DIST = $(icons_DATA) 4 | -------------------------------------------------------------------------------- /data/icons/24x24/org.xfce.taskmanager.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfce-mirror/xfce4-taskmanager/20fde0bf92bdbd14198c60da3b501fee064de130/data/icons/24x24/org.xfce.taskmanager.png -------------------------------------------------------------------------------- /data/icons/24x24/org.xfce.taskmanager.svg: -------------------------------------------------------------------------------- 1 | 2 | 21 | 47 | 53 | 60 | 61 | Adwaita Icon Template 63 | 65 | 68 | 72 | 76 | 77 | 78 | 80 | 81 | 83 | Adwaita Icon Template 84 | 85 | 86 | 87 | 96 | 105 | 111 | 112 | -------------------------------------------------------------------------------- /data/icons/32x32/Makefile.am: -------------------------------------------------------------------------------- 1 | iconsdir = $(datadir)/icons/hicolor/32x32/apps 2 | icons_DATA = org.xfce.taskmanager.png 3 | EXTRA_DIST = $(icons_DATA) 4 | -------------------------------------------------------------------------------- /data/icons/32x32/org.xfce.taskmanager.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfce-mirror/xfce4-taskmanager/20fde0bf92bdbd14198c60da3b501fee064de130/data/icons/32x32/org.xfce.taskmanager.png -------------------------------------------------------------------------------- /data/icons/32x32/org.xfce.taskmanager.svg: -------------------------------------------------------------------------------- 1 | 2 | 21 | 47 | 53 | 60 | 61 | Adwaita Icon Template 63 | 65 | 68 | 72 | 76 | 77 | 78 | 80 | 81 | 83 | Adwaita Icon Template 84 | 85 | 86 | 87 | 96 | 105 | 111 | 117 | 118 | -------------------------------------------------------------------------------- /data/icons/48x48/Makefile.am: -------------------------------------------------------------------------------- 1 | iconsdir = $(datadir)/icons/hicolor/48x48/apps 2 | icons_DATA = org.xfce.taskmanager.png 3 | EXTRA_DIST = $(icons_DATA) 4 | -------------------------------------------------------------------------------- /data/icons/48x48/org.xfce.taskmanager.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfce-mirror/xfce4-taskmanager/20fde0bf92bdbd14198c60da3b501fee064de130/data/icons/48x48/org.xfce.taskmanager.png -------------------------------------------------------------------------------- /data/icons/48x48/org.xfce.taskmanager.svg: -------------------------------------------------------------------------------- 1 | 2 | 22 | 48 | 52 | 59 | 60 | Adwaita Icon Template 62 | 64 | 66 | 70 | 74 | 75 | 78 | 82 | 86 | 87 | 96 | 97 | 99 | 100 | 102 | image/svg+xml 103 | 105 | 106 | 107 | GNOME Design Team 108 | 109 | 110 | 111 | 113 | Adwaita Icon Template 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 141 | 143 | 145 | 147 | 149 | 151 | 153 | 154 | 155 | 156 | 165 | 174 | 180 | 190 | 196 | 202 | 203 | -------------------------------------------------------------------------------- /data/icons/64x64/Makefile.am: -------------------------------------------------------------------------------- 1 | iconsdir = $(datadir)/icons/hicolor/64x64/apps 2 | icons_DATA = org.xfce.taskmanager.png 3 | EXTRA_DIST = $(icons_DATA) 4 | -------------------------------------------------------------------------------- /data/icons/64x64/org.xfce.taskmanager.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfce-mirror/xfce4-taskmanager/20fde0bf92bdbd14198c60da3b501fee064de130/data/icons/64x64/org.xfce.taskmanager.png -------------------------------------------------------------------------------- /data/icons/64x64/org.xfce.taskmanager.svg: -------------------------------------------------------------------------------- 1 | 2 | 22 | 48 | 54 | 61 | 62 | Adwaita Icon Template 64 | 66 | 69 | 73 | 77 | 78 | 81 | 85 | 89 | 90 | 100 | 101 | 103 | 104 | 106 | Adwaita Icon Template 107 | 108 | 109 | 110 | 119 | 128 | 134 | 140 | 146 | 156 | 157 | -------------------------------------------------------------------------------- /data/icons/96x96/Makefile.am: -------------------------------------------------------------------------------- 1 | iconsdir = $(datadir)/icons/hicolor/96x96/apps 2 | icons_DATA = org.xfce.taskmanager.png 3 | EXTRA_DIST = $(icons_DATA) 4 | -------------------------------------------------------------------------------- /data/icons/96x96/org.xfce.taskmanager.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfce-mirror/xfce4-taskmanager/20fde0bf92bdbd14198c60da3b501fee064de130/data/icons/96x96/org.xfce.taskmanager.png -------------------------------------------------------------------------------- /data/icons/96x96/org.xfce.taskmanager.svg: -------------------------------------------------------------------------------- 1 | 2 | 22 | 48 | 54 | 61 | 62 | Adwaita Icon Template 64 | 66 | 68 | 72 | 76 | 77 | 80 | 84 | 88 | 89 | 98 | 99 | 101 | 102 | 104 | image/svg+xml 105 | 107 | 108 | 109 | GNOME Design Team 110 | 111 | 112 | 113 | 115 | Adwaita Icon Template 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 143 | 145 | 147 | 149 | 151 | 153 | 155 | 156 | 157 | 158 | 167 | 176 | 182 | 188 | 194 | 204 | 205 | -------------------------------------------------------------------------------- /data/icons/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = 16x16 24x24 32x32 48x48 64x64 96x96 128x128 scalable 2 | 3 | gtk_update_icon_cache = gtk-update-icon-cache -f -t $(datadir)/icons/hicolor 4 | 5 | install-data-hook: 6 | @-if test -z "$(DESTDIR)"; then \ 7 | echo "Updating Gtk icon cache."; \ 8 | $(gtk_update_icon_cache); \ 9 | else \ 10 | echo "*** Icon cache not updated. Remember to run:"; \ 11 | echo "***"; \ 12 | echo "*** $(gtk_update_icon_cache)"; \ 13 | echo "***"; \ 14 | fi 15 | 16 | uninstall-local: 17 | -rm $(datadir)/icons/hicolor/icon-theme.cache 18 | 19 | EXTRA_DIST = \ 20 | meson.build 21 | -------------------------------------------------------------------------------- /data/icons/meson.build: -------------------------------------------------------------------------------- 1 | sizes = [16, 24, 32, 48, 64, 96, 128] 2 | 3 | foreach size : sizes 4 | install_data( 5 | '@0@x@0@'.format(size) / 'org.xfce.taskmanager.png', 6 | install_dir: get_option('prefix') / get_option('datadir') / 'icons' / 'hicolor' / '@0@x@0@'.format(size) / 'apps', 7 | ) 8 | endforeach 9 | 10 | install_data( 11 | 'scalable' / 'org.xfce.taskmanager.svg', 12 | install_dir: get_option('prefix') / get_option('datadir') / 'icons' / 'hicolor' / 'scalable' / 'apps', 13 | ) 14 | 15 | install_data( 16 | 'scalable' / 'xc_crosshair-symbolic.svg', 17 | install_dir: get_option('prefix') / get_option('datadir') / 'icons' / 'hicolor' / 'scalable' / 'actions', 18 | ) 19 | -------------------------------------------------------------------------------- /data/icons/scalable/Makefile.am: -------------------------------------------------------------------------------- 1 | iconsdir = $(datadir)/icons/hicolor/scalable/actions 2 | icons_DATA = xc_crosshair-symbolic.svg 3 | 4 | appicondir = $(datadir)/icons/hicolor/scalable/apps 5 | appicon_DATA = org.xfce.taskmanager.svg 6 | 7 | EXTRA_DIST = $(icons_DATA) $(appicon_DATA) 8 | -------------------------------------------------------------------------------- /data/icons/scalable/xc_crosshair-symbolic.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 16 | 18 | 42 | 51 | 60 | 70 | 80 | 86 | 90 | 91 | -------------------------------------------------------------------------------- /meson.build: -------------------------------------------------------------------------------- 1 | project( 2 | 'xfce4-taskmanager', 3 | 'c', 4 | version : '1.6.0-dev', 5 | license : 'GPL-2.0-or-later', 6 | meson_version : '>= 0.54.0', 7 | default_options : ['c_std=gnu11', 'buildtype=debugoptimized', 'warning_level=2'] 8 | ) 9 | 10 | project_namespace = 'apps' 11 | pkgdatadir = get_option('prefix') / get_option('datadir') / meson.project_name() 12 | copyright_year = '2025' 13 | 14 | cc = meson.get_compiler('c') 15 | gnome = import('gnome') 16 | i18n = import('i18n') 17 | 18 | dependency_versions = { 19 | 'glib': '>= 2.66.0', 20 | 'gtk': '>= 3.24.0', 21 | 'cairo': '>= 1.5.0', 22 | 'libx11': '>= 1.6.7', 23 | 'libxmu': '>= 1.1.2', 24 | 'wnck': '>= 3.2', 25 | 'xfce4': '>= 4.18.0', 26 | } 27 | 28 | glib = dependency('glib-2.0', version: dependency_versions['glib']) 29 | gtk = dependency('gtk+-3.0', version: dependency_versions['gtk']) 30 | cairo = dependency('cairo', version: dependency_versions['cairo']) 31 | libxmu = dependency('xmu', version: dependency_versions['libxmu']) 32 | libxfce4ui = dependency('libxfce4ui-2', version: dependency_versions['xfce4']) 33 | libxfce4util = dependency('libxfce4util-1.0', version: dependency_versions['xfce4']) 34 | xfconf = dependency('libxfconf-0', version: dependency_versions['xfce4']) 35 | 36 | feature_cflags = [] 37 | headers = [] 38 | 39 | # Optional dependencies 40 | libx11 = dependency('x11', version: dependency_versions['libx11'], required: get_option('x11')) 41 | if libx11.found() 42 | feature_cflags += '-DHAVE_LIBX11=1' 43 | endif 44 | 45 | libwnck = dependency('libwnck-3.0', version: dependency_versions['wnck'], required: get_option('wnck')) 46 | if libwnck.found() 47 | feature_cflags += '-DHAVE_WNCK=1' 48 | endif 49 | 50 | # Check the OS Family 51 | target_os = host_machine.system() 52 | libkvm = dependency('', required: false) 53 | libkstat = dependency('', required: false) 54 | if get_option('skel') 55 | os_implementation = 'skel' 56 | else 57 | if target_os == 'freebsd' 58 | os_implementation = 'freebsd' 59 | libkvm = cc.find_library('kvm') 60 | headers += [ 61 | 'sys/param.h', 62 | 'sys/proc.h', 63 | 'sys/sysctl.h', 64 | 'sys/types.h', 65 | 'sys/user.h', 66 | 'fcntl.h', 67 | 'kvm.h', 68 | 'paths.h', 69 | 'pwd.h', 70 | 'unistd.h', 71 | ] 72 | elif ['dragonfly', 'netbsd', 'openbsd'].contains(target_os) 73 | os_implementation = 'bsd' 74 | headers += [ 75 | 'sys/param.h', 76 | 'sys/sched.h', 77 | 'sys/swap.h', 78 | 'sys/sysctl.h', 79 | 'sys/types.h', 80 | 'err.h', 81 | 'pwd.h', 82 | 'stdlib.h', 83 | 'string.h', 84 | 'unistd.h', 85 | ] 86 | elif target_os == 'sunos' 87 | os_implementation = 'solaris' 88 | libkstat = cc.find_library('kstat') 89 | headers += [ 90 | 'sys/procfs.h', 91 | 'sys/stat.h', 92 | 'sys/swap.h', 93 | 'sys/types.h', 94 | 'fcntl.h', 95 | 'kstat.h', 96 | 'procfs.h', 97 | 'pwd.h', 98 | 'stdlib.h', 99 | 'string.h', 100 | ] 101 | elif target_os == 'linux' 102 | os_implementation = 'linux' 103 | headers += [ 104 | 'sys/resource.h', 105 | 'sys/stat.h', 106 | 'sys/types.h', 107 | 'pwd.h', 108 | 'signal.h', 109 | 'stdio.h', 110 | 'string.h', 111 | 'unistd.h', 112 | ] 113 | elif target_os == 'darwin' 114 | os_implementation = 'darwin' 115 | headers += [ 116 | 'mach/mach.h', 117 | 'sys/param.h', 118 | 'sys/proc.h', 119 | 'sys/sysctl.h', 120 | 'sys/types.h', 121 | 'Availability.h', 122 | 'err.h', 123 | 'stdlib.h', 124 | 'string.h', 125 | 'TargetConditionals.h', 126 | 'unistd.h', 127 | ] 128 | else 129 | error('no OS implementation is available for target:', target_os) 130 | endif 131 | endif 132 | 133 | message('OS implementation:', os_implementation) 134 | 135 | extra_cflags = [] 136 | extra_cflags_check = [ 137 | '-Wmissing-declarations', 138 | '-Wmissing-noreturn', 139 | '-Wold-style-definition', 140 | '-Wredundant-decls', 141 | '-Wpointer-arith', 142 | '-Wcast-align', 143 | '-Winit-self', 144 | '-Wshadow', 145 | '-Wmissing-include-dirs', 146 | '-Wundef', 147 | '-Wformat', 148 | '-Wformat-security', 149 | '-Wformat-y2k', 150 | '-Wnested-externs', 151 | '-Wno-unused-parameter', 152 | '-Wno-declaration-after-statement', 153 | '-Wno-missing-field-initializers', 154 | '-Werror=implicit-function-declaration', 155 | '-Wno-error=deprecated-declarations', 156 | ] 157 | 158 | foreach header : headers 159 | if cc.check_header(header) 160 | extra_cflags += '-DHAVE_@0@=1'.format(header.underscorify().to_upper()) 161 | endif 162 | endforeach 163 | 164 | optimization = get_option('optimization') 165 | if get_option('debug') and optimization in ['0', 'g'] 166 | extra_cflags_check += '-fstack-protector-strong' 167 | extra_cflags += [ 168 | '-DDEBUG=1', 169 | '-DDEBUG_TRACE=1', 170 | '-DG_ENABLE_DEBUG', 171 | ] 172 | elif optimization in ['3', 'minsize'] 173 | extra_cflags += [ 174 | '-DNDEBUG', 175 | '-DG_DISABLE_CAST_CHECKS', 176 | '-DG_DISABLE_ASSERT', 177 | ] 178 | endif 179 | 180 | if dependency_versions.has_key('glib') 181 | glib_version_parts = dependency_versions['glib'].split(' ') 182 | glib_min_version_parts = glib_version_parts[1].split('.') 183 | glib_min_version_define = 'GLIB_VERSION_@0@_@1@'.format(glib_min_version_parts[0], glib_min_version_parts[1]) 184 | extra_cflags += [ 185 | '-DGLIB_VERSION_MIN_REQUIRED=@0@'.format(glib_min_version_define), 186 | '-DGLIB_VERSION_MAX_ALLOWED=@0@'.format(glib_min_version_define), 187 | '-DG_LOG_DOMAIN="@0@"'.format(meson.project_name()), 188 | '-DG_LOG_USE_STRUCTURED=1', 189 | ] 190 | endif 191 | 192 | version_parts = meson.project_version().split('-dev')[0].split('.') 193 | version_short = '@0@.@1@'.format(version_parts[0], version_parts[1]) 194 | 195 | extra_cflags += [ 196 | '-DPACKAGE="@0@"'.format(meson.project_name()), 197 | '-DPACKAGE_NAME="@0@"'.format(meson.project_name()), 198 | '-DPACKAGE_VERSION="@0@"'.format(meson.project_version()), 199 | '-DVERSION="@0@"'.format(meson.project_version()), 200 | '-DVERSION_SHORT="@0@"'.format(version_short), 201 | '-DTVM_VERSION_HELP="@0@"'.format(version_short), 202 | '-DPACKAGE_STRING="@0@ @1@"'.format(meson.project_name(), meson.project_version()), 203 | '-DPACKAGE_DATADIR="@0@"'.format(pkgdatadir), 204 | '-DCOPYRIGHT_YEAR="@0@"'.format(copyright_year), 205 | '-DPACKAGE_LOCALE_DIR="@0@"'.format(get_option('prefix') / get_option('localedir')), 206 | '-DPACKAGE_BUGREPORT="https://gitlab.xfce.org/@0@/@1@/-/issues"'.format(project_namespace, meson.project_name()), 207 | '-DGETTEXT_PACKAGE="@0@"'.format(meson.project_name()), 208 | '-DPREFIX="@0@"'.format(get_option('prefix')), 209 | '-DBINDIR="@0@"'.format(get_option('prefix') / get_option('bindir')), 210 | '-DDATADIR="@0@"'.format(get_option('prefix') / get_option('datadir')), 211 | '-DINCLUDEDIR="@0@"'.format(get_option('prefix') / get_option('includedir')), 212 | '-DLIBDIR="@0@"'.format(get_option('prefix') / get_option('libdir')), 213 | '-DLIBEXECDIR="@0@"'.format(get_option('prefix') / get_option('libexecdir')), 214 | '-DLOCALEDIR="@0@"'.format(get_option('prefix') / get_option('localedir')), 215 | '-DLOCALSTATEDIR="@0@"'.format(get_option('prefix') / get_option('localstatedir')), 216 | '-DSBINDIR="@0@"'.format(get_option('prefix') / get_option('sbindir')), 217 | '-DSYSCONFDIR="@0@"'.format(get_option('prefix') / get_option('sysconfdir')), 218 | '-DHAVE_XFCE_REVISION_H=1', 219 | ] 220 | 221 | add_project_arguments(cc.get_supported_arguments(extra_cflags_check), language: 'c') 222 | add_project_arguments(extra_cflags, language: 'c') 223 | add_project_arguments(feature_cflags, language: 'c') 224 | 225 | xfce_revision_h = vcs_tag( 226 | command: ['git', 'rev-parse', '--short', 'HEAD'], 227 | fallback: 'UNKNOWN', 228 | input: 'xfce-revision.h.in', 229 | output: 'xfce-revision.h', 230 | replace_string: '@REVISION@', 231 | ) 232 | 233 | i18n.merge_file( 234 | input: 'xfce4-taskmanager.desktop.in', 235 | output: 'xfce4-taskmanager.desktop', 236 | po_dir: 'po', 237 | type: 'desktop', 238 | install: true, 239 | install_dir: get_option('prefix') / get_option('datadir') / 'applications', 240 | ) 241 | 242 | subdir('po') 243 | subdir('data' / 'icons') 244 | subdir('src') 245 | -------------------------------------------------------------------------------- /meson_options.txt: -------------------------------------------------------------------------------- 1 | option( 2 | 'x11', 3 | type: 'feature', 4 | value: 'auto', 5 | description: 'Support for the X11 windowing system', 6 | ) 7 | 8 | option( 9 | 'wnck', 10 | type: 'feature', 11 | value: 'auto', 12 | description: 'Support for libwnck3 to display window icons/names', 13 | ) 14 | 15 | option( 16 | 'skel', 17 | type: 'boolean', 18 | value: false, 19 | description: 'Build with task-manager-skel.c', 20 | ) 21 | -------------------------------------------------------------------------------- /po/LINGUAS: -------------------------------------------------------------------------------- 1 | # Generated by https://gitlab.xfce.org/infra/transifex 2 | ar 3 | ast 4 | az 5 | be 6 | bg 7 | ca 8 | cs 9 | da 10 | de 11 | el 12 | en_AU 13 | en_GB 14 | es 15 | et 16 | eu 17 | fa_IR 18 | fi 19 | fr 20 | gl 21 | he 22 | hr 23 | hu 24 | hy_AM 25 | hye 26 | id 27 | ie 28 | is 29 | it 30 | ja 31 | kk 32 | ko 33 | lt 34 | lv 35 | ms 36 | nb 37 | nl 38 | oc 39 | pa 40 | pl 41 | pt_BR 42 | pt 43 | ro 44 | ru 45 | si 46 | sk 47 | sl 48 | sq 49 | sr 50 | sv 51 | te 52 | th 53 | tr 54 | ug 55 | uk 56 | ur_PK 57 | ur 58 | vi 59 | zh_CN 60 | zh_HK 61 | zh_TW 62 | -------------------------------------------------------------------------------- /po/Makevars: -------------------------------------------------------------------------------- 1 | # Makefile variables for PO directory in any package using GNU gettext. 2 | 3 | # Usually the message domain is the same as the package name. 4 | DOMAIN = $(PACKAGE) 5 | 6 | # These two variables depend on the location of this directory. 7 | subdir = po 8 | top_builddir = .. 9 | 10 | # These options get passed to xgettext. 11 | XGETTEXT_OPTIONS = --from-code=UTF-8 --keyword=_ --keyword=N_ \ 12 | --keyword=C_:1c,2 --keyword=NC_:1c,2 --keyword=g_dngettext:2,3 \ 13 | --add-comments 14 | 15 | # This is the copyright holder that gets inserted into the header of the 16 | # $(DOMAIN).pot file. Set this to the copyright holder of the surrounding 17 | # package. (Note that the msgstr strings, extracted from the package's 18 | # sources, belong to the copyright holder of the package.) Translators are 19 | # expected to transfer the copyright for their translations to this person 20 | # or entity, or to disclaim their copyright. The empty string stands for 21 | # the public domain; in this case the translators are expected to disclaim 22 | # their copyright. 23 | COPYRIGHT_HOLDER = The Xfce development team. 24 | 25 | # This tells whether or not to prepend "GNU " prefix to the package 26 | # name that gets inserted into the header of the $(DOMAIN).pot file. 27 | # Possible values are "yes", "no", or empty. If it is empty, try to 28 | # detect it automatically by scanning the files in $(top_srcdir) for 29 | # "GNU packagename" string. 30 | PACKAGE_GNU = no 31 | 32 | # This is the email address or URL to which the translators shall report 33 | # bugs in the untranslated strings: 34 | # - Strings which are not entire sentences, see the maintainer guidelines 35 | # in the GNU gettext documentation, section 'Preparing Strings'. 36 | # - Strings which use unclear terms or require additional context to be 37 | # understood. 38 | # - Strings which make invalid assumptions about notation of date, time or 39 | # money. 40 | # - Pluralisation problems. 41 | # - Incorrect English spelling. 42 | # - Incorrect formatting. 43 | # It can be your email address, or a mailing list address where translators 44 | # can write to without being subscribed, or the URL of a web page through 45 | # which the translators can contact you. 46 | MSGID_BUGS_ADDRESS = 47 | 48 | # This is the list of locale categories, beyond LC_MESSAGES, for which the 49 | # message catalogs shall be used. It is usually empty. 50 | EXTRA_LOCALE_CATEGORIES = 51 | 52 | # This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt' 53 | # context. Possible values are "yes" and "no". Set this to yes if the 54 | # package uses functions taking also a message context, like pgettext(), or 55 | # if in $(XGETTEXT_OPTIONS) you define keywords with a context argument. 56 | USE_MSGCTXT = no 57 | 58 | # These options get passed to msgmerge. 59 | # Useful options are in particular: 60 | # --previous to keep previous msgids of translated messages, 61 | # --quiet to reduce the verbosity. 62 | MSGMERGE_OPTIONS = 63 | 64 | # These options get passed to msginit. 65 | # If you want to disable line wrapping when writing PO files, add 66 | # --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and 67 | # MSGINIT_OPTIONS. 68 | MSGINIT_OPTIONS = 69 | 70 | # This tells whether or not to regenerate a PO file when $(DOMAIN).pot 71 | # has changed. Possible values are "yes" and "no". Set this to no if 72 | # the POT file is checked in the repository and the version control 73 | # program ignores timestamps. 74 | PO_DEPENDS_ON_POT = no 75 | 76 | # This tells whether or not to forcibly update $(DOMAIN).pot and 77 | # regenerate PO files on "make dist". Possible values are "yes" and 78 | # "no". Set this to no if the POT file and PO files are maintained 79 | # externally. 80 | DIST_DEPENDS_ON_UPDATE_PO = no 81 | 82 | DISTFILES += meson.build 83 | -------------------------------------------------------------------------------- /po/POTFILES.in: -------------------------------------------------------------------------------- 1 | xfce4-taskmanager.desktop.in 2 | src/app-manager.c 3 | src/main.c 4 | src/process-monitor.c 5 | src/process-statusbar.c 6 | src/process-tree-view.c 7 | src/process-window.c 8 | src/process-window.ui 9 | src/settings.c 10 | src/settings-dialog.c 11 | src/settings-dialog.ui 12 | src/task-manager.c 13 | -------------------------------------------------------------------------------- /po/POTFILES.skip: -------------------------------------------------------------------------------- 1 | src/task-manager-bsd.c 2 | src/task-manager-freebsd.c 3 | src/task-manager-linux.c 4 | src/task-manager-skel.c 5 | src/task-manager-solaris.c 6 | -------------------------------------------------------------------------------- /po/ar.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR Xfce 3 | # This file is distributed under the same license as the xfce-apps.xfce4-taskmanager package. 4 | # 5 | # Translators: 6 | # محمد الحرقان , 2012 7 | # محمد الحرقان , 2012 8 | # وجدي أبو سلطان, 2017 9 | msgid "" 10 | msgstr "" 11 | "Project-Id-Version: Xfce Apps\n" 12 | "Report-Msgid-Bugs-To: https://gitlab.xfce.org/\n" 13 | "POT-Creation-Date: 2024-04-07 12:50+0200\n" 14 | "PO-Revision-Date: 2013-07-03 18:41+0000\n" 15 | "Last-Translator: وجدي أبو سلطان, 2017\n" 16 | "Language-Team: Arabic (http://app.transifex.com/xfce/xfce-apps/language/ar/)\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=UTF-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Language: ar\n" 21 | "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" 22 | 23 | #: xfce4-taskmanager.desktop.in:3 xfce4-taskmanager.desktop.in:5 24 | #: src/main.c:222 src/process-tree-view.c:379 src/process-tree-view.c:394 25 | #: src/process-tree-view.c:424 src/process-window.ui:7 26 | #: src/settings-dialog.c:147 27 | msgid "Task Manager" 28 | msgstr "مدير المهام" 29 | 30 | #: xfce4-taskmanager.desktop.in:4 31 | msgid "Easy to use application to monitor system resources" 32 | msgstr "" 33 | 34 | #: src/main.c:61 35 | msgid "Quit" 36 | msgstr "خروج" 37 | 38 | #: src/main.c:171 39 | #, c-format 40 | msgid "" 41 | "Processes: %u\n" 42 | "CPU: %.0f%%\n" 43 | "Memory: %s\n" 44 | "Swap: %s" 45 | msgstr "المعالج: %u\nوحدة المعالجة المركزية: %.0f%%\nالذاكرة: %s\nمساحة الإبدال: %s" 46 | 47 | #: src/main.c:255 48 | msgid "Xfce Notify Daemon" 49 | msgstr "برنامج إشعارات إكسفس الخفي" 50 | 51 | #: src/main.c:257 52 | msgid "Settings daemon is unavailable" 53 | msgstr "إعدادات التطبيق غير متوفرة" 54 | 55 | #: src/process-statusbar.c:193 src/process-window.c:549 56 | #, c-format 57 | msgid "CPU: %s%%" 58 | msgstr "CPU: %s%%" 59 | 60 | #: src/process-statusbar.c:201 src/process-window.c:553 61 | #, c-format 62 | msgid "Memory: %s" 63 | msgstr "الذاكرة: %s" 64 | 65 | #: src/process-statusbar.c:209 66 | #, c-format 67 | msgid "Swap: %s" 68 | msgstr "مساحة الإبدال: %s" 69 | 70 | #: src/process-statusbar.c:224 71 | #, c-format 72 | msgid "Processes: %d" 73 | msgstr "العمليات: %d" 74 | 75 | #: src/process-tree-view.c:136 76 | msgid "Task" 77 | msgstr "مهام" 78 | 79 | #: src/process-tree-view.c:147 src/settings-dialog.ui:359 80 | msgid "PID" 81 | msgstr "PID" 82 | 83 | #: src/process-tree-view.c:155 src/settings-dialog.ui:373 84 | msgid "PPID" 85 | msgstr "PPID" 86 | 87 | #: src/process-tree-view.c:163 src/settings-dialog.ui:387 88 | msgid "State" 89 | msgstr "الحالة" 90 | 91 | #: src/process-tree-view.c:172 92 | msgid "VSZ" 93 | msgstr "VSZ" 94 | 95 | #: src/process-tree-view.c:180 96 | msgid "RSS" 97 | msgstr "RSS" 98 | 99 | #: src/process-tree-view.c:188 src/settings-dialog.ui:429 100 | msgid "UID" 101 | msgstr "UID" 102 | 103 | #: src/process-tree-view.c:196 src/settings-dialog.ui:443 104 | msgid "CPU" 105 | msgstr "CPU" 106 | 107 | #. TRANSLATORS: “Prio.” is short for Priority, it appears in the tree view 108 | #. header. 109 | #: src/process-tree-view.c:205 110 | msgid "Prio." 111 | msgstr "Prio." 112 | 113 | #: src/process-tree-view.c:375 114 | msgid "Terminate task" 115 | msgstr "إنهاء المهام" 116 | 117 | #: src/process-tree-view.c:375 118 | msgid "Kill task" 119 | msgstr "قتل المهمة" 120 | 121 | #: src/process-tree-view.c:377 122 | #, c-format 123 | msgid "Are you sure you want to send the %s signal to the PID %d?" 124 | msgstr "أمتأكد أنك تريد إرسال إشعار %s إلى PID %d؟" 125 | 126 | #: src/process-tree-view.c:378 127 | msgid "terminate" 128 | msgstr "إنهاء" 129 | 130 | #: src/process-tree-view.c:378 131 | msgid "kill" 132 | msgstr "قتل" 133 | 134 | #: src/process-tree-view.c:390 135 | msgid "Error sending signal" 136 | msgstr "خطأ أتناء إرسال الإشعار" 137 | 138 | #: src/process-tree-view.c:392 139 | #, c-format 140 | msgid "" 141 | "An error was encountered by sending a signal to the PID %d. It is likely you" 142 | " don't have the required privileges." 143 | msgstr "حدث خطأ أثناء إرسال الإشعار إلى PID %d. يبدو انك لا تملك صلاحيات كافية." 144 | 145 | #: src/process-tree-view.c:421 146 | msgid "Error setting priority" 147 | msgstr "خطأ في إعداد الأولويات" 148 | 149 | #: src/process-tree-view.c:422 150 | #, c-format 151 | msgid "" 152 | "An error was encountered by setting a priority to the PID %d. It is likely " 153 | "you don't have the required privileges." 154 | msgstr "حدث خطأ أثناء إعداد الاولويات PID %d. يبدو انك لا تملك صلاحيات كافية." 155 | 156 | #: src/process-tree-view.c:485 src/process-tree-view.c:628 157 | msgid "Stop" 158 | msgstr "إقاف" 159 | 160 | #: src/process-tree-view.c:492 161 | msgid "Continue" 162 | msgstr "إستمرار" 163 | 164 | #: src/process-tree-view.c:498 165 | msgid "Terminate" 166 | msgstr "إنهاء" 167 | 168 | #: src/process-tree-view.c:504 169 | msgid "Kill" 170 | msgstr "قتل" 171 | 172 | #: src/process-tree-view.c:511 173 | msgid "Very low" 174 | msgstr "منخفض جدا" 175 | 176 | #: src/process-tree-view.c:516 177 | msgid "Low" 178 | msgstr "منخفض" 179 | 180 | #: src/process-tree-view.c:521 181 | msgid "Normal" 182 | msgstr "عادي" 183 | 184 | #: src/process-tree-view.c:526 185 | msgid "High" 186 | msgstr "مرتفع" 187 | 188 | #: src/process-tree-view.c:531 189 | msgid "Very high" 190 | msgstr "مرتفع جدا" 191 | 192 | #: src/process-tree-view.c:536 src/settings-dialog.ui:457 193 | msgid "Priority" 194 | msgstr "أولوية" 195 | 196 | #. Same trick as above 197 | #: src/process-tree-view.c:540 src/process-tree-view.c:639 198 | msgid "Copy command line" 199 | msgstr "" 200 | 201 | #: src/process-window.c:171 202 | msgid "Bad Window" 203 | msgstr "" 204 | 205 | #: src/process-window.c:171 206 | #, c-format 207 | msgid "Window id 0x%lx does not exist!" 208 | msgstr "" 209 | 210 | #: src/process-window.c:174 211 | msgid "XGetWindowProperty failed" 212 | msgstr "" 213 | 214 | #: src/process-window.c:174 215 | msgid "XGetWindowProperty failed!" 216 | msgstr "" 217 | 218 | #: src/process-window.c:181 219 | msgid "No PID found" 220 | msgstr "" 221 | 222 | #: src/process-window.c:181 223 | #, c-format 224 | msgid "No PID found for window 0x%lx." 225 | msgstr "" 226 | 227 | #: src/process-window.c:383 228 | msgid "Filter on process name" 229 | msgstr "التصفية على اسم العملية" 230 | 231 | #: src/process-window.c:387 232 | msgid "Starting task" 233 | msgstr "" 234 | 235 | #: src/process-window.c:387 236 | msgid "Changing task" 237 | msgstr "" 238 | 239 | #: src/process-window.c:387 240 | msgid "Terminating task" 241 | msgstr "" 242 | 243 | #: src/process-window.ui:26 244 | msgid "Settings" 245 | msgstr "إعدادات" 246 | 247 | #: src/process-window.ui:35 248 | msgid "Identify an open window by clicking on it." 249 | msgstr "" 250 | 251 | #: src/process-window.ui:127 252 | msgid "You are using the root account, you may harm your system." 253 | msgstr "" 254 | 255 | #: src/settings-dialog.c:151 256 | msgid "Easy to use task manager" 257 | msgstr "من السهل إستخدام مدير المهام" 258 | 259 | #: src/settings-dialog.c:154 260 | msgid "translator-credits" 261 | msgstr "Karim Oulad Chalha محمد الحرقان" 262 | 263 | #: src/settings-dialog.ui:49 264 | msgid "Task Manager Settings" 265 | msgstr "" 266 | 267 | #: src/settings-dialog.ui:63 268 | msgid "_Help" 269 | msgstr "_المساعدة" 270 | 271 | #: src/settings-dialog.ui:78 272 | msgid "About" 273 | msgstr "حول" 274 | 275 | #: src/settings-dialog.ui:92 276 | msgid "_Close" 277 | msgstr "_غلق" 278 | 279 | #: src/settings-dialog.ui:139 280 | msgid "Show all processes" 281 | msgstr "عرض عل العمليات" 282 | 283 | #: src/settings-dialog.ui:153 284 | msgid "Show application icons" 285 | msgstr "عرض أيقونات التطبيق" 286 | 287 | #: src/settings-dialog.ui:167 288 | msgid "Show full command lines" 289 | msgstr "عرض كامل سطور الأمر" 290 | 291 | #: src/settings-dialog.ui:181 292 | msgid "Show processes as tree" 293 | msgstr "إظهار موجز العمليات" 294 | 295 | #: src/settings-dialog.ui:195 296 | msgid "Show legend" 297 | msgstr "" 298 | 299 | #: src/settings-dialog.ui:209 300 | msgid "Show values with more precision" 301 | msgstr "عرض القيمة مع المزيد من الدقة" 302 | 303 | #: src/settings-dialog.ui:230 304 | msgid "Refresh rate (ms):" 305 | msgstr "" 306 | 307 | #: src/settings-dialog.ui:269 308 | msgid "Interface" 309 | msgstr "" 310 | 311 | #: src/settings-dialog.ui:296 312 | msgid "Prompt for terminating tasks" 313 | msgstr "تعجيل إنهاء المهام" 314 | 315 | #: src/settings-dialog.ui:310 316 | msgid "Keep in the notification area" 317 | msgstr "" 318 | 319 | #: src/settings-dialog.ui:328 320 | msgid "Miscellaneous" 321 | msgstr "منوعات" 322 | 323 | #: src/settings-dialog.ui:345 324 | msgid "General" 325 | msgstr "عام" 326 | 327 | #: src/settings-dialog.ui:401 328 | msgid "Virtual Bytes" 329 | msgstr "بايت الإفتراضي" 330 | 331 | #: src/settings-dialog.ui:415 332 | msgid "Resident Bytes" 333 | msgstr "" 334 | 335 | #: src/settings-dialog.ui:478 336 | msgid "Columns" 337 | msgstr "" 338 | 339 | #: src/task-manager.c:253 340 | #, c-format 341 | msgid "%s%%" 342 | msgstr "%s%%" 343 | -------------------------------------------------------------------------------- /po/fa_IR.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR Xfce 3 | # This file is distributed under the same license as the xfce-apps.xfce4-taskmanager package. 4 | # 5 | # Translators: 6 | # Goudarz Jafari , 2020 7 | # Behzad A , 2021 8 | msgid "" 9 | msgstr "" 10 | "Project-Id-Version: Xfce Apps\n" 11 | "Report-Msgid-Bugs-To: https://gitlab.xfce.org/\n" 12 | "POT-Creation-Date: 2024-04-07 12:50+0200\n" 13 | "PO-Revision-Date: 2013-07-03 18:41+0000\n" 14 | "Last-Translator: Behzad A , 2021\n" 15 | "Language-Team: Persian (Iran) (http://app.transifex.com/xfce/xfce-apps/language/fa_IR/)\n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=UTF-8\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | "Language: fa_IR\n" 20 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 21 | 22 | #: xfce4-taskmanager.desktop.in:3 xfce4-taskmanager.desktop.in:5 23 | #: src/main.c:222 src/process-tree-view.c:379 src/process-tree-view.c:394 24 | #: src/process-tree-view.c:424 src/process-window.ui:7 25 | #: src/settings-dialog.c:147 26 | msgid "Task Manager" 27 | msgstr "تسک‌منیجر" 28 | 29 | #: xfce4-taskmanager.desktop.in:4 30 | msgid "Easy to use application to monitor system resources" 31 | msgstr "برنامه‌ای آسان در استفاده جهت نظارت بر منابع سیستم" 32 | 33 | #: src/main.c:61 34 | msgid "Quit" 35 | msgstr "خروج" 36 | 37 | #: src/main.c:171 38 | #, c-format 39 | msgid "" 40 | "Processes: %u\n" 41 | "CPU: %.0f%%\n" 42 | "Memory: %s\n" 43 | "Swap: %s" 44 | msgstr "فرایندها: %u\nپردازنده: %.0f%%\nحافظه: %s\nSwap: %s" 45 | 46 | #: src/main.c:255 47 | msgid "Xfce Notify Daemon" 48 | msgstr "" 49 | 50 | #: src/main.c:257 51 | msgid "Settings daemon is unavailable" 52 | msgstr "" 53 | 54 | #: src/process-statusbar.c:193 src/process-window.c:549 55 | #, c-format 56 | msgid "CPU: %s%%" 57 | msgstr "پردازنده: %s%%" 58 | 59 | #: src/process-statusbar.c:201 src/process-window.c:553 60 | #, c-format 61 | msgid "Memory: %s" 62 | msgstr "حافظه: %s" 63 | 64 | #: src/process-statusbar.c:209 65 | #, c-format 66 | msgid "Swap: %s" 67 | msgstr "" 68 | 69 | #: src/process-statusbar.c:224 70 | #, c-format 71 | msgid "Processes: %d" 72 | msgstr "فرایندها: %d" 73 | 74 | #: src/process-tree-view.c:136 75 | msgid "Task" 76 | msgstr "وظیفه" 77 | 78 | #: src/process-tree-view.c:147 src/settings-dialog.ui:359 79 | msgid "PID" 80 | msgstr "" 81 | 82 | #: src/process-tree-view.c:155 src/settings-dialog.ui:373 83 | msgid "PPID" 84 | msgstr "" 85 | 86 | #: src/process-tree-view.c:163 src/settings-dialog.ui:387 87 | msgid "State" 88 | msgstr "وضعیت" 89 | 90 | #: src/process-tree-view.c:172 91 | msgid "VSZ" 92 | msgstr "" 93 | 94 | #: src/process-tree-view.c:180 95 | msgid "RSS" 96 | msgstr "" 97 | 98 | #: src/process-tree-view.c:188 src/settings-dialog.ui:429 99 | msgid "UID" 100 | msgstr "" 101 | 102 | #: src/process-tree-view.c:196 src/settings-dialog.ui:443 103 | msgid "CPU" 104 | msgstr "پردازنده" 105 | 106 | #. TRANSLATORS: “Prio.” is short for Priority, it appears in the tree view 107 | #. header. 108 | #: src/process-tree-view.c:205 109 | msgid "Prio." 110 | msgstr "" 111 | 112 | #: src/process-tree-view.c:375 113 | msgid "Terminate task" 114 | msgstr "" 115 | 116 | #: src/process-tree-view.c:375 117 | msgid "Kill task" 118 | msgstr "" 119 | 120 | #: src/process-tree-view.c:377 121 | #, c-format 122 | msgid "Are you sure you want to send the %s signal to the PID %d?" 123 | msgstr "آیا شما مطمئن هستید که می‌خواهید سیگنال %s را برای PID %d ارسال کنید؟" 124 | 125 | #: src/process-tree-view.c:378 126 | msgid "terminate" 127 | msgstr "" 128 | 129 | #: src/process-tree-view.c:378 130 | msgid "kill" 131 | msgstr "" 132 | 133 | #: src/process-tree-view.c:390 134 | msgid "Error sending signal" 135 | msgstr "خطا در ارسال سیگنال" 136 | 137 | #: src/process-tree-view.c:392 138 | #, c-format 139 | msgid "" 140 | "An error was encountered by sending a signal to the PID %d. It is likely you" 141 | " don't have the required privileges." 142 | msgstr "حطایی در ازسال سیگنال برای PID %d روی داده است. به نظر می‌رسد که شما دسترسی‌های مورد نیاز را ندارید." 143 | 144 | #: src/process-tree-view.c:421 145 | msgid "Error setting priority" 146 | msgstr "خطا در تنظیم اولویت" 147 | 148 | #: src/process-tree-view.c:422 149 | #, c-format 150 | msgid "" 151 | "An error was encountered by setting a priority to the PID %d. It is likely " 152 | "you don't have the required privileges." 153 | msgstr "خطایی در تنظیم اولویت برای PID %d روی داده است. به نظر می‌رسد که شما دسترسی‌های مورد نیاز را ندارید." 154 | 155 | #: src/process-tree-view.c:485 src/process-tree-view.c:628 156 | msgid "Stop" 157 | msgstr "توقف" 158 | 159 | #: src/process-tree-view.c:492 160 | msgid "Continue" 161 | msgstr "ادامه" 162 | 163 | #: src/process-tree-view.c:498 164 | msgid "Terminate" 165 | msgstr "" 166 | 167 | #: src/process-tree-view.c:504 168 | msgid "Kill" 169 | msgstr "" 170 | 171 | #: src/process-tree-view.c:511 172 | msgid "Very low" 173 | msgstr "بسیار کم" 174 | 175 | #: src/process-tree-view.c:516 176 | msgid "Low" 177 | msgstr "کم" 178 | 179 | #: src/process-tree-view.c:521 180 | msgid "Normal" 181 | msgstr "عادی" 182 | 183 | #: src/process-tree-view.c:526 184 | msgid "High" 185 | msgstr "بالا" 186 | 187 | #: src/process-tree-view.c:531 188 | msgid "Very high" 189 | msgstr "بسیار بالا" 190 | 191 | #: src/process-tree-view.c:536 src/settings-dialog.ui:457 192 | msgid "Priority" 193 | msgstr "اولویت" 194 | 195 | #. Same trick as above 196 | #: src/process-tree-view.c:540 src/process-tree-view.c:639 197 | msgid "Copy command line" 198 | msgstr "" 199 | 200 | #: src/process-window.c:171 201 | msgid "Bad Window" 202 | msgstr "" 203 | 204 | #: src/process-window.c:171 205 | #, c-format 206 | msgid "Window id 0x%lx does not exist!" 207 | msgstr "" 208 | 209 | #: src/process-window.c:174 210 | msgid "XGetWindowProperty failed" 211 | msgstr "" 212 | 213 | #: src/process-window.c:174 214 | msgid "XGetWindowProperty failed!" 215 | msgstr "" 216 | 217 | #: src/process-window.c:181 218 | msgid "No PID found" 219 | msgstr "PID پیدا نشد" 220 | 221 | #: src/process-window.c:181 222 | #, c-format 223 | msgid "No PID found for window 0x%lx." 224 | msgstr "" 225 | 226 | #: src/process-window.c:383 227 | msgid "Filter on process name" 228 | msgstr "فیلنر بر روی نام فرایند" 229 | 230 | #: src/process-window.c:387 231 | msgid "Starting task" 232 | msgstr "" 233 | 234 | #: src/process-window.c:387 235 | msgid "Changing task" 236 | msgstr "" 237 | 238 | #: src/process-window.c:387 239 | msgid "Terminating task" 240 | msgstr "" 241 | 242 | #: src/process-window.ui:26 243 | msgid "Settings" 244 | msgstr "تنظیمات" 245 | 246 | #: src/process-window.ui:35 247 | msgid "Identify an open window by clicking on it." 248 | msgstr "شناسایی یک پنجره باز بوسیله کلیک کردن بر روی آن." 249 | 250 | #: src/process-window.ui:127 251 | msgid "You are using the root account, you may harm your system." 252 | msgstr "" 253 | 254 | #: src/settings-dialog.c:151 255 | msgid "Easy to use task manager" 256 | msgstr "تسک‌منیجر آسان در استفاده" 257 | 258 | #: src/settings-dialog.c:154 259 | msgid "translator-credits" 260 | msgstr "Goudarz Jafari \nK2latmanesh " 261 | 262 | #: src/settings-dialog.ui:49 263 | msgid "Task Manager Settings" 264 | msgstr "تنظیمات تسک‌منیجر" 265 | 266 | #: src/settings-dialog.ui:63 267 | msgid "_Help" 268 | msgstr "_راهنما" 269 | 270 | #: src/settings-dialog.ui:78 271 | msgid "About" 272 | msgstr "درباره" 273 | 274 | #: src/settings-dialog.ui:92 275 | msgid "_Close" 276 | msgstr "_بستن" 277 | 278 | #: src/settings-dialog.ui:139 279 | msgid "Show all processes" 280 | msgstr "نمایش تمام فرایندها" 281 | 282 | #: src/settings-dialog.ui:153 283 | msgid "Show application icons" 284 | msgstr "نمایش آیکون برنامه‌ها" 285 | 286 | #: src/settings-dialog.ui:167 287 | msgid "Show full command lines" 288 | msgstr "" 289 | 290 | #: src/settings-dialog.ui:181 291 | msgid "Show processes as tree" 292 | msgstr "نمایش فرایندها به صورت درختی" 293 | 294 | #: src/settings-dialog.ui:195 295 | msgid "Show legend" 296 | msgstr "نمایش شرح" 297 | 298 | #: src/settings-dialog.ui:209 299 | msgid "Show values with more precision" 300 | msgstr "نمایش مقادیر با دقت بیشتر" 301 | 302 | #: src/settings-dialog.ui:230 303 | msgid "Refresh rate (ms):" 304 | msgstr "نرخ نوسازی (ms):" 305 | 306 | #: src/settings-dialog.ui:269 307 | msgid "Interface" 308 | msgstr "" 309 | 310 | #: src/settings-dialog.ui:296 311 | msgid "Prompt for terminating tasks" 312 | msgstr "" 313 | 314 | #: src/settings-dialog.ui:310 315 | msgid "Keep in the notification area" 316 | msgstr "" 317 | 318 | #: src/settings-dialog.ui:328 319 | msgid "Miscellaneous" 320 | msgstr "" 321 | 322 | #: src/settings-dialog.ui:345 323 | msgid "General" 324 | msgstr "عمومی" 325 | 326 | #: src/settings-dialog.ui:401 327 | msgid "Virtual Bytes" 328 | msgstr "" 329 | 330 | #: src/settings-dialog.ui:415 331 | msgid "Resident Bytes" 332 | msgstr "" 333 | 334 | #: src/settings-dialog.ui:478 335 | msgid "Columns" 336 | msgstr "ستون‌ها" 337 | 338 | #: src/task-manager.c:253 339 | #, c-format 340 | msgid "%s%%" 341 | msgstr "" 342 | -------------------------------------------------------------------------------- /po/ie.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR Xfce 3 | # This file is distributed under the same license as the xfce-apps.xfce4-taskmanager package. 4 | # 5 | # Translators: 6 | # Danishka Navin, 2010 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: Xfce Apps\n" 10 | "Report-Msgid-Bugs-To: https://gitlab.xfce.org/\n" 11 | "POT-Creation-Date: 2024-04-07 12:50+0200\n" 12 | "PO-Revision-Date: 2013-07-03 18:41+0000\n" 13 | "Last-Translator: Danishka Navin, 2010\n" 14 | "Language-Team: Interlingue (http://app.transifex.com/xfce/xfce-apps/language/ie/)\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Language: ie\n" 19 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 20 | 21 | #: xfce4-taskmanager.desktop.in:3 xfce4-taskmanager.desktop.in:5 22 | #: src/main.c:222 src/process-tree-view.c:379 src/process-tree-view.c:394 23 | #: src/process-tree-view.c:424 src/process-window.ui:7 24 | #: src/settings-dialog.c:147 25 | msgid "Task Manager" 26 | msgstr "Gerente de taches" 27 | 28 | #: xfce4-taskmanager.desktop.in:4 29 | msgid "Easy to use application to monitor system resources" 30 | msgstr "" 31 | 32 | #: src/main.c:61 33 | msgid "Quit" 34 | msgstr "Surtir" 35 | 36 | #: src/main.c:171 37 | #, c-format 38 | msgid "" 39 | "Processes: %u\n" 40 | "CPU: %.0f%%\n" 41 | "Memory: %s\n" 42 | "Swap: %s" 43 | msgstr "Processus: %u\nCPU: %.0f%%\nMemorie: %s\nSwap: %s" 44 | 45 | #: src/main.c:255 46 | msgid "Xfce Notify Daemon" 47 | msgstr "Daemon de notificationes Xfce" 48 | 49 | #: src/main.c:257 50 | msgid "Settings daemon is unavailable" 51 | msgstr "Daemon de parametres es índisponibil" 52 | 53 | #: src/process-statusbar.c:193 src/process-window.c:549 54 | #, c-format 55 | msgid "CPU: %s%%" 56 | msgstr "CPU: %s%%" 57 | 58 | #: src/process-statusbar.c:201 src/process-window.c:553 59 | #, c-format 60 | msgid "Memory: %s" 61 | msgstr "Memorie: %s" 62 | 63 | #: src/process-statusbar.c:209 64 | #, c-format 65 | msgid "Swap: %s" 66 | msgstr "Swap: %s" 67 | 68 | #: src/process-statusbar.c:224 69 | #, c-format 70 | msgid "Processes: %d" 71 | msgstr "Processus: %d" 72 | 73 | #: src/process-tree-view.c:136 74 | msgid "Task" 75 | msgstr "Tache" 76 | 77 | #: src/process-tree-view.c:147 src/settings-dialog.ui:359 78 | msgid "PID" 79 | msgstr "PID" 80 | 81 | #: src/process-tree-view.c:155 src/settings-dialog.ui:373 82 | msgid "PPID" 83 | msgstr "PPID" 84 | 85 | #: src/process-tree-view.c:163 src/settings-dialog.ui:387 86 | msgid "State" 87 | msgstr "Statu" 88 | 89 | #: src/process-tree-view.c:172 90 | msgid "VSZ" 91 | msgstr "VGD" 92 | 93 | #: src/process-tree-view.c:180 94 | msgid "RSS" 95 | msgstr "RSS" 96 | 97 | #: src/process-tree-view.c:188 src/settings-dialog.ui:429 98 | msgid "UID" 99 | msgstr "UID" 100 | 101 | #: src/process-tree-view.c:196 src/settings-dialog.ui:443 102 | msgid "CPU" 103 | msgstr "CPU" 104 | 105 | #. TRANSLATORS: “Prio.” is short for Priority, it appears in the tree view 106 | #. header. 107 | #: src/process-tree-view.c:205 108 | msgid "Prio." 109 | msgstr "Prio." 110 | 111 | #: src/process-tree-view.c:375 112 | msgid "Terminate task" 113 | msgstr "Finir li tache" 114 | 115 | #: src/process-tree-view.c:375 116 | msgid "Kill task" 117 | msgstr "Terminar li tache" 118 | 119 | #: src/process-tree-view.c:377 120 | #, c-format 121 | msgid "Are you sure you want to send the %s signal to the PID %d?" 122 | msgstr "Esque vu vole inviar li signal «%s» al PID %d?" 123 | 124 | #: src/process-tree-view.c:378 125 | msgid "terminate" 126 | msgstr "finir" 127 | 128 | #: src/process-tree-view.c:378 129 | msgid "kill" 130 | msgstr "terminar" 131 | 132 | #: src/process-tree-view.c:390 133 | msgid "Error sending signal" 134 | msgstr "Un errore evenit inviante li signale" 135 | 136 | #: src/process-tree-view.c:392 137 | #, c-format 138 | msgid "" 139 | "An error was encountered by sending a signal to the PID %d. It is likely you" 140 | " don't have the required privileges." 141 | msgstr "Un errore evenit inviante un signal al PID %d. Forsan vu ne have li besonat privilegies." 142 | 143 | #: src/process-tree-view.c:421 144 | msgid "Error setting priority" 145 | msgstr "Un errore evenit assignante li prioritá" 146 | 147 | #: src/process-tree-view.c:422 148 | #, c-format 149 | msgid "" 150 | "An error was encountered by setting a priority to the PID %d. It is likely " 151 | "you don't have the required privileges." 152 | msgstr "Un errore evenit assignante un prioritá del PID %d. Forsan vu ne have li besonat privilegies." 153 | 154 | #: src/process-tree-view.c:485 src/process-tree-view.c:628 155 | msgid "Stop" 156 | msgstr "Stoppar" 157 | 158 | #: src/process-tree-view.c:492 159 | msgid "Continue" 160 | msgstr "Continuar" 161 | 162 | #: src/process-tree-view.c:498 163 | msgid "Terminate" 164 | msgstr "Finir" 165 | 166 | #: src/process-tree-view.c:504 167 | msgid "Kill" 168 | msgstr "Terminar" 169 | 170 | #: src/process-tree-view.c:511 171 | msgid "Very low" 172 | msgstr "Bassissim" 173 | 174 | #: src/process-tree-view.c:516 175 | msgid "Low" 176 | msgstr "Bass" 177 | 178 | #: src/process-tree-view.c:521 179 | msgid "Normal" 180 | msgstr "Normal" 181 | 182 | #: src/process-tree-view.c:526 183 | msgid "High" 184 | msgstr "Alt" 185 | 186 | #: src/process-tree-view.c:531 187 | msgid "Very high" 188 | msgstr "Altissim" 189 | 190 | #: src/process-tree-view.c:536 src/settings-dialog.ui:457 191 | msgid "Priority" 192 | msgstr "Prioritá" 193 | 194 | #. Same trick as above 195 | #: src/process-tree-view.c:540 src/process-tree-view.c:639 196 | msgid "Copy command line" 197 | msgstr "" 198 | 199 | #: src/process-window.c:171 200 | msgid "Bad Window" 201 | msgstr "Ínvalid fenestre" 202 | 203 | #: src/process-window.c:171 204 | #, c-format 205 | msgid "Window id 0x%lx does not exist!" 206 | msgstr "Un fenestre con id 0x%lx ne existe!" 207 | 208 | #: src/process-window.c:174 209 | msgid "XGetWindowProperty failed" 210 | msgstr "XGetWindowProperty ne successat" 211 | 212 | #: src/process-window.c:174 213 | msgid "XGetWindowProperty failed!" 214 | msgstr "XGetWindowProperty ne successat!" 215 | 216 | #: src/process-window.c:181 217 | msgid "No PID found" 218 | msgstr "Null PID trovat" 219 | 220 | #: src/process-window.c:181 221 | #, c-format 222 | msgid "No PID found for window 0x%lx." 223 | msgstr "Null pid trovat por li fenestre 0x%lx." 224 | 225 | #: src/process-window.c:383 226 | msgid "Filter on process name" 227 | msgstr "Filtrar li nómine de processu" 228 | 229 | #: src/process-window.c:387 230 | msgid "Starting task" 231 | msgstr "" 232 | 233 | #: src/process-window.c:387 234 | msgid "Changing task" 235 | msgstr "" 236 | 237 | #: src/process-window.c:387 238 | msgid "Terminating task" 239 | msgstr "" 240 | 241 | #: src/process-window.ui:26 242 | msgid "Settings" 243 | msgstr "Parametres" 244 | 245 | #: src/process-window.ui:35 246 | msgid "Identify an open window by clicking on it." 247 | msgstr "Identificar un apertet fenestre per un clic sur it." 248 | 249 | #: src/process-window.ui:127 250 | msgid "You are using the root account, you may harm your system." 251 | msgstr "" 252 | 253 | #: src/settings-dialog.c:151 254 | msgid "Easy to use task manager" 255 | msgstr "Un facil gerente de taches" 256 | 257 | #: src/settings-dialog.c:154 258 | msgid "translator-credits" 259 | msgstr "OIS , 2017-2019" 260 | 261 | #: src/settings-dialog.ui:49 262 | msgid "Task Manager Settings" 263 | msgstr "" 264 | 265 | #: src/settings-dialog.ui:63 266 | msgid "_Help" 267 | msgstr "Au_xilie" 268 | 269 | #: src/settings-dialog.ui:78 270 | msgid "About" 271 | msgstr "" 272 | 273 | #: src/settings-dialog.ui:92 274 | msgid "_Close" 275 | msgstr "_Clúder" 276 | 277 | #: src/settings-dialog.ui:139 278 | msgid "Show all processes" 279 | msgstr "Monstrar omni processus" 280 | 281 | #: src/settings-dialog.ui:153 282 | msgid "Show application icons" 283 | msgstr "Monstrar icones de application" 284 | 285 | #: src/settings-dialog.ui:167 286 | msgid "Show full command lines" 287 | msgstr "Monstrar complet lineas de comandes" 288 | 289 | #: src/settings-dialog.ui:181 290 | msgid "Show processes as tree" 291 | msgstr "Monstrar processus quam un árbor" 292 | 293 | #: src/settings-dialog.ui:195 294 | msgid "Show legend" 295 | msgstr "" 296 | 297 | #: src/settings-dialog.ui:209 298 | msgid "Show values with more precision" 299 | msgstr "Monstrar plu precis valores" 300 | 301 | #: src/settings-dialog.ui:230 302 | msgid "Refresh rate (ms):" 303 | msgstr "" 304 | 305 | #: src/settings-dialog.ui:269 306 | msgid "Interface" 307 | msgstr "" 308 | 309 | #: src/settings-dialog.ui:296 310 | msgid "Prompt for terminating tasks" 311 | msgstr "Confirmar termination de taches" 312 | 313 | #: src/settings-dialog.ui:310 314 | msgid "Keep in the notification area" 315 | msgstr "" 316 | 317 | #: src/settings-dialog.ui:328 318 | msgid "Miscellaneous" 319 | msgstr "Diversi" 320 | 321 | #: src/settings-dialog.ui:345 322 | msgid "General" 323 | msgstr "General" 324 | 325 | #: src/settings-dialog.ui:401 326 | msgid "Virtual Bytes" 327 | msgstr "Octetes virtual" 328 | 329 | #: src/settings-dialog.ui:415 330 | msgid "Resident Bytes" 331 | msgstr "" 332 | 333 | #: src/settings-dialog.ui:478 334 | msgid "Columns" 335 | msgstr "Columnes" 336 | 337 | #: src/task-manager.c:253 338 | #, c-format 339 | msgid "%s%%" 340 | msgstr "%s%%" 341 | -------------------------------------------------------------------------------- /po/lv.po: -------------------------------------------------------------------------------- 1 | # Latvian translations for xfce4-taskmanager package. 2 | # Copyright (C) 2006 THE xfce4-taskmanager'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the xfce4-taskmanager package.. 4 | # 5 | # Rihards Prieditis , 2007. 6 | # Rihards Prieditis , 2009. 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: xfce4-taskmanager 0.4.0-rc2\n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2010-05-10 23:04+0200\n" 12 | "PO-Revision-Date: 2009-10-16 15:21+0100\n" 13 | "Last-Translator: Rihards Prieditis \n" 14 | "Language-Team: Latvian \n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "X-Generator: Lokalize 1.0\n" 19 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " 20 | "2);\n" 21 | 22 | #: ../xfce4-taskmanager.desktop.in.h:1 ../src/process-window.c:326 23 | #, fuzzy 24 | msgid "Easy to use task manager" 25 | msgstr "Xfce4-taskmanager ir viegli lietojams uzdevumu pārvaldnieks" 26 | 27 | #: ../xfce4-taskmanager.desktop.in.h:2 ../src/process-tree-view.c:215 28 | #: ../src/process-tree-view.c:229 ../src/process-tree-view.c:247 29 | #: ../src/process-window.c:199 ../src/process-window.c:321 30 | #, fuzzy 31 | msgid "Task Manager" 32 | msgstr "Xfce4 uzdevumu pārvaldnieks" 33 | 34 | #: ../src/process-statusbar.c:121 35 | #, c-format 36 | msgid "CPU: %.2f%%" 37 | msgstr "" 38 | 39 | #: ../src/process-statusbar.c:128 40 | #, c-format 41 | msgid "Memory: %.2f%%" 42 | msgstr "" 43 | 44 | #: ../src/process-statusbar.c:135 45 | #, c-format 46 | msgid "Swap: %.2f%%" 47 | msgstr "" 48 | 49 | #: ../src/process-statusbar.c:142 50 | #, c-format 51 | msgid "Processes: %d" 52 | msgstr "" 53 | 54 | #: ../src/process-tree-view.c:106 55 | msgid "Task" 56 | msgstr "" 57 | 58 | #: ../src/process-tree-view.c:116 ../src/process-window.c:276 59 | msgid "PID" 60 | msgstr "PID" 61 | 62 | #: ../src/process-tree-view.c:124 ../src/process-window.c:277 63 | msgid "PPID" 64 | msgstr "PPID" 65 | 66 | #: ../src/process-tree-view.c:132 ../src/process-window.c:278 67 | msgid "State" 68 | msgstr "Stāvoklis" 69 | 70 | #: ../src/process-tree-view.c:141 71 | msgid "VSZ" 72 | msgstr "" 73 | 74 | #: ../src/process-tree-view.c:149 75 | msgid "RSS" 76 | msgstr "RSS" 77 | 78 | #: ../src/process-tree-view.c:157 ../src/process-window.c:281 79 | #, fuzzy 80 | msgid "UID" 81 | msgstr "PID" 82 | 83 | #: ../src/process-tree-view.c:165 ../src/process-window.c:282 84 | #, fuzzy 85 | msgid "CPU" 86 | msgstr "CPU%" 87 | 88 | #. TRANSLATORS: “Prio.” is short for Priority, it appears in the tree view header. 89 | #: ../src/process-tree-view.c:174 90 | #, fuzzy 91 | msgid "Prio." 92 | msgstr "Prio" 93 | 94 | #: ../src/process-tree-view.c:212 95 | #, fuzzy 96 | msgid "Terminate task" 97 | msgstr "Patiesi terminēt uzdevumu?" 98 | 99 | #: ../src/process-tree-view.c:212 100 | #, fuzzy 101 | msgid "Kill task" 102 | msgstr "Nokaut" 103 | 104 | #: ../src/process-tree-view.c:214 105 | #, c-format 106 | msgid "Are you sure you want to send a signal to the PID %d?" 107 | msgstr "" 108 | 109 | #: ../src/process-tree-view.c:225 110 | msgid "Error sending signal" 111 | msgstr "" 112 | 113 | #: ../src/process-tree-view.c:227 114 | #, c-format 115 | msgid "" 116 | "An error was encountered by sending a signal to the PID %d. It is likely you " 117 | "don't have the required privileges." 118 | msgstr "" 119 | 120 | #: ../src/process-tree-view.c:244 121 | msgid "Error setting priority" 122 | msgstr "" 123 | 124 | #: ../src/process-tree-view.c:245 125 | #, c-format 126 | msgid "" 127 | "An error was encountered by setting a priority to the PID %d. It is likely " 128 | "you don't have the required privileges." 129 | msgstr "" 130 | 131 | #: ../src/process-tree-view.c:260 132 | #, fuzzy 133 | msgid "Terminate" 134 | msgstr "Terminēt" 135 | 136 | #: ../src/process-tree-view.c:267 137 | msgid "Stop" 138 | msgstr "Apturēt" 139 | 140 | #: ../src/process-tree-view.c:274 141 | msgid "Continue" 142 | msgstr "Turpināt" 143 | 144 | #: ../src/process-tree-view.c:280 145 | msgid "Kill" 146 | msgstr "Nokaut" 147 | 148 | #: ../src/process-tree-view.c:287 149 | msgid "Very low" 150 | msgstr "" 151 | 152 | #: ../src/process-tree-view.c:292 153 | msgid "Low" 154 | msgstr "" 155 | 156 | #: ../src/process-tree-view.c:297 157 | msgid "Normal" 158 | msgstr "" 159 | 160 | #: ../src/process-tree-view.c:302 161 | msgid "High" 162 | msgstr "" 163 | 164 | #: ../src/process-tree-view.c:307 165 | msgid "Very high" 166 | msgstr "" 167 | 168 | #: ../src/process-tree-view.c:312 ../src/process-window.c:283 169 | msgid "Priority" 170 | msgstr "Prioritāte" 171 | 172 | #: ../src/process-window.c:197 173 | msgid "Execution error" 174 | msgstr "" 175 | 176 | #: ../src/process-window.c:226 177 | msgid "Run Program..." 178 | msgstr "" 179 | 180 | #: ../src/process-window.c:227 181 | msgid "Application Finder" 182 | msgstr "" 183 | 184 | #: ../src/process-window.c:228 185 | #, fuzzy 186 | msgid "Terminal emulator" 187 | msgstr "Sākotnējais autors:" 188 | 189 | #: ../src/process-window.c:229 190 | #, fuzzy 191 | msgid "XTerm" 192 | msgstr "Terminēt" 193 | 194 | #: ../src/process-window.c:271 195 | #, fuzzy 196 | msgid "Show all processes" 197 | msgstr "Kontrolējiet savus procesus" 198 | 199 | #: ../src/process-window.c:279 200 | msgid "Virtual Bytes" 201 | msgstr "" 202 | 203 | #: ../src/process-window.c:280 204 | msgid "Private Bytes" 205 | msgstr "" 206 | 207 | #: ../src/process-window.c:329 208 | msgid "translator-credits" 209 | msgstr "Rihards Priedītis" 210 | 211 | #: ../src/task-manager.c:146 212 | #, c-format 213 | msgid "%lu MiB" 214 | msgstr "" 215 | 216 | #: ../src/task-manager.c:153 217 | #, c-format 218 | msgid "%lu KiB" 219 | msgstr "" 220 | 221 | #: ../src/task-manager.c:157 222 | #, c-format 223 | msgid "%lu B" 224 | msgstr "" 225 | 226 | #. TODO make precision optional 227 | #: ../src/task-manager.c:168 228 | #, fuzzy, c-format 229 | msgid "%.2f%%" 230 | msgstr "%0.0f %%" 231 | 232 | #~ msgid "Control your processes" 233 | #~ msgstr "Kontrolējiet savus procesus" 234 | 235 | #~ msgid "Process manager" 236 | #~ msgstr "Procesu pārvaldnieks" 237 | 238 | #~ msgid "Xfce4 Taskmanager" 239 | #~ msgstr "Xfce4 uzdevumu pārvaldnieks" 240 | 241 | #~ msgid "Really kill the task?" 242 | #~ msgstr "Patiešām nobeidzēt uzdevumu?" 243 | 244 | #~ msgid "%d MB of %d MB used" 245 | #~ msgstr "%d MB no %d MB izmantoti" 246 | 247 | #~ msgid "Cpu usage" 248 | #~ msgstr "Cpu noslodze" 249 | 250 | #~ msgid "Memory usage" 251 | #~ msgstr "Atmiņas noslodze" 252 | 253 | #~ msgid "Command" 254 | #~ msgstr "Komanda" 255 | 256 | #~ msgid "VM-Size" 257 | #~ msgstr "VM-Izmērs" 258 | 259 | #~ msgid "User" 260 | #~ msgstr "Lietotājs" 261 | 262 | #~ msgid "Show user tasks" 263 | #~ msgstr "Rādīt lietotāja uzdevumus" 264 | 265 | #~ msgid "Show root tasks" 266 | #~ msgstr "Rādīt root uzdevumus" 267 | 268 | #~ msgid "Show other tasks" 269 | #~ msgstr "Rādīt citus uzdevumus" 270 | 271 | #~ msgid "Show memory used by cache as free" 272 | #~ msgstr "Rādīt atmiņu, kuru izmanto kešs, kā brīvu" 273 | 274 | #~ msgid "Contributors:" 275 | #~ msgstr "Izstrādātāji:" 276 | 277 | #~ msgid "xfce4-taskmanager" 278 | #~ msgstr "xfce4-taskmanager" 279 | 280 | #~ msgid "more details" 281 | #~ msgstr "detalizētāk" 282 | -------------------------------------------------------------------------------- /po/meson.build: -------------------------------------------------------------------------------- 1 | i18n.gettext(meson.project_name(), preset: 'glib') 2 | -------------------------------------------------------------------------------- /po/pa.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 2 | # This file is distributed under the same license as the PACKAGE package. 3 | # 4 | # A S Alam , 2010. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: \n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2010-05-10 23:04+0200\n" 10 | "PO-Revision-Date: 2010-04-06 07:31+0530\n" 11 | "Last-Translator: A S Alam \n" 12 | "Language-Team: Punjabi/Panjabi \n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "X-Generator: Lokalize 1.0\n" 17 | "Plural-Forms: nplurals=2; plural=n != 1;\n" 18 | 19 | #: ../xfce4-taskmanager.desktop.in.h:1 ../src/process-window.c:326 20 | #, fuzzy 21 | msgid "Easy to use task manager" 22 | msgstr "Xfce4-ਟਾਸਕਮੈਨੇਜਰ ਵਰਤਣ ਲਈ ਸੌਖਾ ਟਾਸਕ-ਮੈਨੇਜਰ ਹੈ" 23 | 24 | #: ../xfce4-taskmanager.desktop.in.h:2 ../src/process-tree-view.c:215 25 | #: ../src/process-tree-view.c:229 ../src/process-tree-view.c:247 26 | #: ../src/process-window.c:199 ../src/process-window.c:321 27 | #, fuzzy 28 | msgid "Task Manager" 29 | msgstr "Xfce4 ਟਾਸਕਮੈਨੇਜਰ" 30 | 31 | #: ../src/process-statusbar.c:121 32 | #, c-format 33 | msgid "CPU: %.2f%%" 34 | msgstr "" 35 | 36 | #: ../src/process-statusbar.c:128 37 | #, c-format 38 | msgid "Memory: %.2f%%" 39 | msgstr "" 40 | 41 | #: ../src/process-statusbar.c:135 42 | #, c-format 43 | msgid "Swap: %.2f%%" 44 | msgstr "" 45 | 46 | #: ../src/process-statusbar.c:142 47 | #, c-format 48 | msgid "Processes: %d" 49 | msgstr "" 50 | 51 | #: ../src/process-tree-view.c:106 52 | msgid "Task" 53 | msgstr "" 54 | 55 | #: ../src/process-tree-view.c:116 ../src/process-window.c:276 56 | msgid "PID" 57 | msgstr "PID" 58 | 59 | #: ../src/process-tree-view.c:124 ../src/process-window.c:277 60 | msgid "PPID" 61 | msgstr "PPID" 62 | 63 | #: ../src/process-tree-view.c:132 ../src/process-window.c:278 64 | msgid "State" 65 | msgstr "ਹਾਲਤ" 66 | 67 | #: ../src/process-tree-view.c:141 68 | msgid "VSZ" 69 | msgstr "" 70 | 71 | #: ../src/process-tree-view.c:149 72 | msgid "RSS" 73 | msgstr "RSS" 74 | 75 | #: ../src/process-tree-view.c:157 ../src/process-window.c:281 76 | #, fuzzy 77 | msgid "UID" 78 | msgstr "PID" 79 | 80 | #: ../src/process-tree-view.c:165 ../src/process-window.c:282 81 | #, fuzzy 82 | msgid "CPU" 83 | msgstr "CPU%" 84 | 85 | #. TRANSLATORS: “Prio.” is short for Priority, it appears in the tree view header. 86 | #: ../src/process-tree-view.c:174 87 | #, fuzzy 88 | msgid "Prio." 89 | msgstr "Prio" 90 | 91 | #: ../src/process-tree-view.c:212 92 | #, fuzzy 93 | msgid "Terminate task" 94 | msgstr "ਟਾਸਕ ਟਰਮੀਨੇਟ ਕਰਨੀ ਹੈ?" 95 | 96 | #: ../src/process-tree-view.c:212 97 | #, fuzzy 98 | msgid "Kill task" 99 | msgstr "ਕਿੱਲ" 100 | 101 | #: ../src/process-tree-view.c:214 102 | #, c-format 103 | msgid "Are you sure you want to send a signal to the PID %d?" 104 | msgstr "" 105 | 106 | #: ../src/process-tree-view.c:225 107 | msgid "Error sending signal" 108 | msgstr "" 109 | 110 | #: ../src/process-tree-view.c:227 111 | #, c-format 112 | msgid "" 113 | "An error was encountered by sending a signal to the PID %d. It is likely you " 114 | "don't have the required privileges." 115 | msgstr "" 116 | 117 | #: ../src/process-tree-view.c:244 118 | msgid "Error setting priority" 119 | msgstr "" 120 | 121 | #: ../src/process-tree-view.c:245 122 | #, c-format 123 | msgid "" 124 | "An error was encountered by setting a priority to the PID %d. It is likely " 125 | "you don't have the required privileges." 126 | msgstr "" 127 | 128 | #: ../src/process-tree-view.c:260 129 | #, fuzzy 130 | msgid "Terminate" 131 | msgstr "ਟਰਮ" 132 | 133 | #: ../src/process-tree-view.c:267 134 | msgid "Stop" 135 | msgstr "ਰੋਕੋ" 136 | 137 | #: ../src/process-tree-view.c:274 138 | msgid "Continue" 139 | msgstr "ਜਾਰੀ ਰੱਖੋ" 140 | 141 | #: ../src/process-tree-view.c:280 142 | msgid "Kill" 143 | msgstr "ਕਿੱਲ" 144 | 145 | #: ../src/process-tree-view.c:287 146 | msgid "Very low" 147 | msgstr "" 148 | 149 | #: ../src/process-tree-view.c:292 150 | msgid "Low" 151 | msgstr "" 152 | 153 | #: ../src/process-tree-view.c:297 154 | msgid "Normal" 155 | msgstr "" 156 | 157 | #: ../src/process-tree-view.c:302 158 | msgid "High" 159 | msgstr "" 160 | 161 | #: ../src/process-tree-view.c:307 162 | msgid "Very high" 163 | msgstr "" 164 | 165 | #: ../src/process-tree-view.c:312 ../src/process-window.c:283 166 | msgid "Priority" 167 | msgstr "ਤਰਜੀਹ" 168 | 169 | #: ../src/process-window.c:197 170 | msgid "Execution error" 171 | msgstr "" 172 | 173 | #: ../src/process-window.c:226 174 | msgid "Run Program..." 175 | msgstr "" 176 | 177 | #: ../src/process-window.c:227 178 | msgid "Application Finder" 179 | msgstr "" 180 | 181 | #: ../src/process-window.c:228 182 | #, fuzzy 183 | msgid "Terminal emulator" 184 | msgstr "ਅਸਲੀ ਲੇਖਕ:" 185 | 186 | #: ../src/process-window.c:229 187 | #, fuzzy 188 | msgid "XTerm" 189 | msgstr "ਟਰਮ" 190 | 191 | #: ../src/process-window.c:271 192 | #, fuzzy 193 | msgid "Show all processes" 194 | msgstr "ਆਪਣੇ ਪਰੋਸੈਸ ਕੰਟਰੋਲ ਕਰੋ" 195 | 196 | #: ../src/process-window.c:279 197 | msgid "Virtual Bytes" 198 | msgstr "" 199 | 200 | #: ../src/process-window.c:280 201 | msgid "Private Bytes" 202 | msgstr "" 203 | 204 | #: ../src/process-window.c:329 205 | msgid "translator-credits" 206 | msgstr "" 207 | "ਅਮਨਪਰੀਤ ਸਿੰਘ ਆਲਮ\n" 208 | "ਪੰਜਾਬੀ ਓਪਨਸੋਰਸ ਟੀਮ (POST)\n" 209 | "http://www.satuj.com" 210 | 211 | #: ../src/task-manager.c:146 212 | #, c-format 213 | msgid "%lu MiB" 214 | msgstr "" 215 | 216 | #: ../src/task-manager.c:153 217 | #, c-format 218 | msgid "%lu KiB" 219 | msgstr "" 220 | 221 | #: ../src/task-manager.c:157 222 | #, c-format 223 | msgid "%lu B" 224 | msgstr "" 225 | 226 | #. TODO make precision optional 227 | #: ../src/task-manager.c:168 228 | #, fuzzy, c-format 229 | msgid "%.2f%%" 230 | msgstr "%0.0f %%" 231 | 232 | #~ msgid "Control your processes" 233 | #~ msgstr "ਆਪਣੇ ਪਰੋਸੈਸ ਕੰਟਰੋਲ ਕਰੋ" 234 | 235 | #~ msgid "Process manager" 236 | #~ msgstr "ਪਰੋਸੈਸ ਮੈਨੇਜਰ" 237 | 238 | #~ msgid "Xfce4 Taskmanager" 239 | #~ msgstr "Xfce4 ਟਾਸਕਮੈਨੇਜਰ" 240 | 241 | #~ msgid "Really kill the task?" 242 | #~ msgstr "ਕੀ ਇਹ ਟਾਸਕ ਕਿੱਲ ਕਰਨੀ ਹੈ?" 243 | 244 | #~ msgid "%d MB of %d MB used" 245 | #~ msgstr "%2$d MB ਵਿੱਚੋਂ %1$d MB ਵਰਤੀ" 246 | 247 | #~ msgid "Cpu usage" 248 | #~ msgstr "Cpu ਵਰਤੋਂ" 249 | 250 | #~ msgid "Memory usage" 251 | #~ msgstr "ਮੈਮੋਰੀ ਵਰਤੋਂ" 252 | 253 | #~ msgid "Command" 254 | #~ msgstr "ਕਮਾਂਡ" 255 | 256 | #~ msgid "VM-Size" 257 | #~ msgstr "VM-ਸਾਈਜ਼" 258 | 259 | #~ msgid "User" 260 | #~ msgstr "ਯੂਜ਼ਰ" 261 | 262 | #~ msgid "Show user tasks" 263 | #~ msgstr "ਯੂਜ਼ਰ ਟਾਸਕ ਵੇਖੋ" 264 | 265 | #~ msgid "Show root tasks" 266 | #~ msgstr "ਰੂਟ ਟਾਸਕ ਵੇਖੋ" 267 | 268 | #~ msgid "Show other tasks" 269 | #~ msgstr "ਹੋਰ ਟਾਸਕ ਵੇਖੋ" 270 | 271 | #~ msgid "Show memory used by cache as free" 272 | #~ msgstr "ਕੈਸ਼ ਵਜੋਂ ਵਰਤੀ ਮੈਮੋਰੀ ਖਾਲੀ ਵਜੋਂ ਵੇਖੋ" 273 | 274 | #~ msgid "Contributors:" 275 | #~ msgstr "ਯੋਗਦਾਨੀ:" 276 | -------------------------------------------------------------------------------- /po/si.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 2 | # This file is distributed under the same license as the PACKAGE package. 3 | # 4 | # Danishka Navin, 2010. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: \n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2010-05-10 23:04+0200\n" 10 | "PO-Revision-Date: 2010-03-13 18:25+0530\n" 11 | "Last-Translator: Danishka Navin\n" 12 | "Language-Team: American English \n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 17 | "X-Generator: Lokalize 1.0\n" 18 | 19 | #: ../xfce4-taskmanager.desktop.in.h:1 ../src/process-window.c:326 20 | #, fuzzy 21 | msgid "Easy to use task manager" 22 | msgstr "Xfce4-කාර්ය කළමනාකරු භාවිතය පහසු කාර්ය කළමනාකරුවෙකි" 23 | 24 | #: ../xfce4-taskmanager.desktop.in.h:2 ../src/process-tree-view.c:215 25 | #: ../src/process-tree-view.c:229 ../src/process-tree-view.c:247 26 | #: ../src/process-window.c:199 ../src/process-window.c:321 27 | #, fuzzy 28 | msgid "Task Manager" 29 | msgstr "Xfce4 කාර්ය කළමනාකරු" 30 | 31 | #: ../src/process-statusbar.c:121 32 | #, c-format 33 | msgid "CPU: %.2f%%" 34 | msgstr "" 35 | 36 | #: ../src/process-statusbar.c:128 37 | #, c-format 38 | msgid "Memory: %.2f%%" 39 | msgstr "" 40 | 41 | #: ../src/process-statusbar.c:135 42 | #, c-format 43 | msgid "Swap: %.2f%%" 44 | msgstr "" 45 | 46 | #: ../src/process-statusbar.c:142 47 | #, c-format 48 | msgid "Processes: %d" 49 | msgstr "" 50 | 51 | #: ../src/process-tree-view.c:106 52 | msgid "Task" 53 | msgstr "" 54 | 55 | #: ../src/process-tree-view.c:116 ../src/process-window.c:276 56 | msgid "PID" 57 | msgstr "PID" 58 | 59 | #: ../src/process-tree-view.c:124 ../src/process-window.c:277 60 | msgid "PPID" 61 | msgstr "PPID" 62 | 63 | #: ../src/process-tree-view.c:132 ../src/process-window.c:278 64 | msgid "State" 65 | msgstr "තත්වය" 66 | 67 | #: ../src/process-tree-view.c:141 68 | msgid "VSZ" 69 | msgstr "" 70 | 71 | #: ../src/process-tree-view.c:149 72 | msgid "RSS" 73 | msgstr "RSS" 74 | 75 | #: ../src/process-tree-view.c:157 ../src/process-window.c:281 76 | #, fuzzy 77 | msgid "UID" 78 | msgstr "PID" 79 | 80 | #: ../src/process-tree-view.c:165 ../src/process-window.c:282 81 | #, fuzzy 82 | msgid "CPU" 83 | msgstr "CPU%" 84 | 85 | #. TRANSLATORS: “Prio.” is short for Priority, it appears in the tree view header. 86 | #: ../src/process-tree-view.c:174 87 | #, fuzzy 88 | msgid "Prio." 89 | msgstr "Prio" 90 | 91 | #: ../src/process-tree-view.c:212 92 | #, fuzzy 93 | msgid "Terminate task" 94 | msgstr "ඇත්තටම කාර්යය අවසාන කරනන්නද?" 95 | 96 | #: ../src/process-tree-view.c:212 97 | #, fuzzy 98 | msgid "Kill task" 99 | msgstr "මරන්න" 100 | 101 | #: ../src/process-tree-view.c:214 102 | #, c-format 103 | msgid "Are you sure you want to send a signal to the PID %d?" 104 | msgstr "" 105 | 106 | #: ../src/process-tree-view.c:225 107 | msgid "Error sending signal" 108 | msgstr "" 109 | 110 | #: ../src/process-tree-view.c:227 111 | #, c-format 112 | msgid "" 113 | "An error was encountered by sending a signal to the PID %d. It is likely you " 114 | "don't have the required privileges." 115 | msgstr "" 116 | 117 | #: ../src/process-tree-view.c:244 118 | msgid "Error setting priority" 119 | msgstr "" 120 | 121 | #: ../src/process-tree-view.c:245 122 | #, c-format 123 | msgid "" 124 | "An error was encountered by setting a priority to the PID %d. It is likely " 125 | "you don't have the required privileges." 126 | msgstr "" 127 | 128 | #: ../src/process-tree-view.c:260 129 | #, fuzzy 130 | msgid "Terminate" 131 | msgstr "නවත්වන්න" 132 | 133 | #: ../src/process-tree-view.c:267 134 | msgid "Stop" 135 | msgstr "නවත්වන්න" 136 | 137 | #: ../src/process-tree-view.c:274 138 | msgid "Continue" 139 | msgstr "කරගෙන යන්න" 140 | 141 | #: ../src/process-tree-view.c:280 142 | #, fuzzy 143 | msgid "Kill" 144 | msgstr "මරන්න" 145 | 146 | #: ../src/process-tree-view.c:287 147 | msgid "Very low" 148 | msgstr "" 149 | 150 | #: ../src/process-tree-view.c:292 151 | msgid "Low" 152 | msgstr "" 153 | 154 | #: ../src/process-tree-view.c:297 155 | msgid "Normal" 156 | msgstr "" 157 | 158 | #: ../src/process-tree-view.c:302 159 | msgid "High" 160 | msgstr "" 161 | 162 | #: ../src/process-tree-view.c:307 163 | msgid "Very high" 164 | msgstr "" 165 | 166 | #: ../src/process-tree-view.c:312 ../src/process-window.c:283 167 | msgid "Priority" 168 | msgstr "ප්‍රමුඛතාව" 169 | 170 | #: ../src/process-window.c:197 171 | msgid "Execution error" 172 | msgstr "" 173 | 174 | #: ../src/process-window.c:226 175 | msgid "Run Program..." 176 | msgstr "" 177 | 178 | #: ../src/process-window.c:227 179 | msgid "Application Finder" 180 | msgstr "" 181 | 182 | #: ../src/process-window.c:228 183 | #, fuzzy 184 | msgid "Terminal emulator" 185 | msgstr "මුල් කර්තෘ:" 186 | 187 | #: ../src/process-window.c:229 188 | #, fuzzy 189 | msgid "XTerm" 190 | msgstr "නවත්වන්න" 191 | 192 | #: ../src/process-window.c:271 193 | #, fuzzy 194 | msgid "Show all processes" 195 | msgstr "ඔබගේ ක්‍රියාවලි පාලනය කරන්න" 196 | 197 | #: ../src/process-window.c:279 198 | msgid "Virtual Bytes" 199 | msgstr "" 200 | 201 | #: ../src/process-window.c:280 202 | msgid "Private Bytes" 203 | msgstr "" 204 | 205 | #: ../src/process-window.c:329 206 | #, fuzzy 207 | msgid "translator-credits" 208 | msgstr "පරිවර්තන ස්තූතිය" 209 | 210 | #: ../src/task-manager.c:146 211 | #, c-format 212 | msgid "%lu MiB" 213 | msgstr "" 214 | 215 | #: ../src/task-manager.c:153 216 | #, c-format 217 | msgid "%lu KiB" 218 | msgstr "" 219 | 220 | #: ../src/task-manager.c:157 221 | #, c-format 222 | msgid "%lu B" 223 | msgstr "" 224 | 225 | #. TODO make precision optional 226 | #: ../src/task-manager.c:168 227 | #, fuzzy, c-format 228 | msgid "%.2f%%" 229 | msgstr "%0.0f %%" 230 | 231 | #~ msgid "Control your processes" 232 | #~ msgstr "ඔබගේ ක්‍රියාවලි පාලනය කරන්න" 233 | 234 | #~ msgid "Process manager" 235 | #~ msgstr "ක්‍රියාවලි කළමනාකරු" 236 | 237 | #~ msgid "Xfce4 Taskmanager" 238 | #~ msgstr "Xfce4 කාර්ය කළමනාකරු" 239 | 240 | #~ msgid "Really kill the task?" 241 | #~ msgstr "ඇත්තටම කාර්යය මරන්නද?" 242 | 243 | #, fuzzy 244 | #~ msgid "%d MB of %d MB used" 245 | #~ msgstr "%d MB ගෙන් %d MB භාවිතව ඇත" 246 | 247 | #~ msgid "Cpu usage" 248 | #~ msgstr "Cpu භාවිතාව" 249 | 250 | #~ msgid "Memory usage" 251 | #~ msgstr "මතක භාවිතාව" 252 | 253 | #~ msgid "Command" 254 | #~ msgstr "විධානය" 255 | 256 | #~ msgid "VM-Size" 257 | #~ msgstr "VM-ප්‍රමාණය" 258 | 259 | #~ msgid "User" 260 | #~ msgstr "පරිශීලක" 261 | 262 | #~ msgid "Show user tasks" 263 | #~ msgstr "පරිශීලක කාර්යයන් පෙන්වන්න" 264 | 265 | #~ msgid "Show root tasks" 266 | #~ msgstr "මූල කාර්යයන් පෙන්වන්න" 267 | 268 | #~ msgid "Show other tasks" 269 | #~ msgstr "අනෙක් කාර්යයන් පෙන්වන්න" 270 | 271 | #, fuzzy 272 | #~ msgid "Show memory used by cache as free" 273 | #~ msgstr "කැෂය මගින් භාවිත කල මතකය නිදහස් ලෙස පෙන්වන්න" 274 | 275 | #~ msgid "Contributors:" 276 | #~ msgstr "දායකයන්:" 277 | -------------------------------------------------------------------------------- /po/te.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR Xfce 3 | # This file is distributed under the same license as the xfce-apps.xfce4-taskmanager package. 4 | # 5 | # Translators: 6 | # ప్రవీణ్ ఇళ్ళ , 2012 7 | # ప్రవీణ్ ఇళ్ళ , 2022 8 | msgid "" 9 | msgstr "" 10 | "Project-Id-Version: Xfce Apps\n" 11 | "Report-Msgid-Bugs-To: https://gitlab.xfce.org/\n" 12 | "POT-Creation-Date: 2024-04-07 12:50+0200\n" 13 | "PO-Revision-Date: 2013-07-03 18:41+0000\n" 14 | "Last-Translator: ప్రవీణ్ ఇళ్ళ , 2022\n" 15 | "Language-Team: Telugu (http://app.transifex.com/xfce/xfce-apps/language/te/)\n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=UTF-8\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | "Language: te\n" 20 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 21 | 22 | #: xfce4-taskmanager.desktop.in:3 xfce4-taskmanager.desktop.in:5 23 | #: src/main.c:222 src/process-tree-view.c:379 src/process-tree-view.c:394 24 | #: src/process-tree-view.c:424 src/process-window.ui:7 25 | #: src/settings-dialog.c:147 26 | msgid "Task Manager" 27 | msgstr "కర్తవ్య నిర్వాహకం" 28 | 29 | #: xfce4-taskmanager.desktop.in:4 30 | msgid "Easy to use application to monitor system resources" 31 | msgstr "" 32 | 33 | #: src/main.c:61 34 | msgid "Quit" 35 | msgstr "నిష్క్రమించు" 36 | 37 | #: src/main.c:171 38 | #, c-format 39 | msgid "" 40 | "Processes: %u\n" 41 | "CPU: %.0f%%\n" 42 | "Memory: %s\n" 43 | "Swap: %s" 44 | msgstr "" 45 | 46 | #: src/main.c:255 47 | msgid "Xfce Notify Daemon" 48 | msgstr "" 49 | 50 | #: src/main.c:257 51 | msgid "Settings daemon is unavailable" 52 | msgstr "" 53 | 54 | #: src/process-statusbar.c:193 src/process-window.c:549 55 | #, c-format 56 | msgid "CPU: %s%%" 57 | msgstr "సిపియు: %s%%" 58 | 59 | #: src/process-statusbar.c:201 src/process-window.c:553 60 | #, c-format 61 | msgid "Memory: %s" 62 | msgstr "మెమొరి: %s" 63 | 64 | #: src/process-statusbar.c:209 65 | #, c-format 66 | msgid "Swap: %s" 67 | msgstr "" 68 | 69 | #: src/process-statusbar.c:224 70 | #, c-format 71 | msgid "Processes: %d" 72 | msgstr "ప్రక్రియలు: %d" 73 | 74 | #: src/process-tree-view.c:136 75 | msgid "Task" 76 | msgstr "కర్తవ్యం" 77 | 78 | #: src/process-tree-view.c:147 src/settings-dialog.ui:359 79 | msgid "PID" 80 | msgstr "PID" 81 | 82 | #: src/process-tree-view.c:155 src/settings-dialog.ui:373 83 | msgid "PPID" 84 | msgstr "PPID" 85 | 86 | #: src/process-tree-view.c:163 src/settings-dialog.ui:387 87 | msgid "State" 88 | msgstr "స్థితి" 89 | 90 | #: src/process-tree-view.c:172 91 | msgid "VSZ" 92 | msgstr "VSZ" 93 | 94 | #: src/process-tree-view.c:180 95 | msgid "RSS" 96 | msgstr "RSS" 97 | 98 | #: src/process-tree-view.c:188 src/settings-dialog.ui:429 99 | msgid "UID" 100 | msgstr "UID" 101 | 102 | #: src/process-tree-view.c:196 src/settings-dialog.ui:443 103 | msgid "CPU" 104 | msgstr "సిపియు" 105 | 106 | #. TRANSLATORS: “Prio.” is short for Priority, it appears in the tree view 107 | #. header. 108 | #: src/process-tree-view.c:205 109 | msgid "Prio." 110 | msgstr "ప్రాముఖ్యత" 111 | 112 | #: src/process-tree-view.c:375 113 | msgid "Terminate task" 114 | msgstr "కర్తవ్యాన్ని ముగించు" 115 | 116 | #: src/process-tree-view.c:375 117 | msgid "Kill task" 118 | msgstr "కర్తవ్యాన్ని అంతంచేయి" 119 | 120 | #: src/process-tree-view.c:377 121 | #, c-format 122 | msgid "Are you sure you want to send the %s signal to the PID %d?" 123 | msgstr "" 124 | 125 | #: src/process-tree-view.c:378 126 | msgid "terminate" 127 | msgstr "అంతంచేయి" 128 | 129 | #: src/process-tree-view.c:378 130 | msgid "kill" 131 | msgstr "చంపివేయి" 132 | 133 | #: src/process-tree-view.c:390 134 | msgid "Error sending signal" 135 | msgstr "" 136 | 137 | #: src/process-tree-view.c:392 138 | #, c-format 139 | msgid "" 140 | "An error was encountered by sending a signal to the PID %d. It is likely you" 141 | " don't have the required privileges." 142 | msgstr "" 143 | 144 | #: src/process-tree-view.c:421 145 | msgid "Error setting priority" 146 | msgstr "" 147 | 148 | #: src/process-tree-view.c:422 149 | #, c-format 150 | msgid "" 151 | "An error was encountered by setting a priority to the PID %d. It is likely " 152 | "you don't have the required privileges." 153 | msgstr "" 154 | 155 | #: src/process-tree-view.c:485 src/process-tree-view.c:628 156 | msgid "Stop" 157 | msgstr "ఆపివేయి" 158 | 159 | #: src/process-tree-view.c:492 160 | msgid "Continue" 161 | msgstr "కొనసాగించు" 162 | 163 | #: src/process-tree-view.c:498 164 | msgid "Terminate" 165 | msgstr "ముగించు" 166 | 167 | #: src/process-tree-view.c:504 168 | msgid "Kill" 169 | msgstr "అంతంచేయి" 170 | 171 | #: src/process-tree-view.c:511 172 | msgid "Very low" 173 | msgstr "మరీ తక్కువ" 174 | 175 | #: src/process-tree-view.c:516 176 | msgid "Low" 177 | msgstr "తక్కువ" 178 | 179 | #: src/process-tree-view.c:521 180 | msgid "Normal" 181 | msgstr "సాధారణం" 182 | 183 | #: src/process-tree-view.c:526 184 | msgid "High" 185 | msgstr "ఎక్కువ" 186 | 187 | #: src/process-tree-view.c:531 188 | msgid "Very high" 189 | msgstr "మరీ ఎక్కువ" 190 | 191 | #: src/process-tree-view.c:536 src/settings-dialog.ui:457 192 | msgid "Priority" 193 | msgstr "ప్రాముఖ్యత" 194 | 195 | #. Same trick as above 196 | #: src/process-tree-view.c:540 src/process-tree-view.c:639 197 | msgid "Copy command line" 198 | msgstr "" 199 | 200 | #: src/process-window.c:171 201 | msgid "Bad Window" 202 | msgstr "" 203 | 204 | #: src/process-window.c:171 205 | #, c-format 206 | msgid "Window id 0x%lx does not exist!" 207 | msgstr "" 208 | 209 | #: src/process-window.c:174 210 | msgid "XGetWindowProperty failed" 211 | msgstr "" 212 | 213 | #: src/process-window.c:174 214 | msgid "XGetWindowProperty failed!" 215 | msgstr "" 216 | 217 | #: src/process-window.c:181 218 | msgid "No PID found" 219 | msgstr "" 220 | 221 | #: src/process-window.c:181 222 | #, c-format 223 | msgid "No PID found for window 0x%lx." 224 | msgstr "" 225 | 226 | #: src/process-window.c:383 227 | msgid "Filter on process name" 228 | msgstr "" 229 | 230 | #: src/process-window.c:387 231 | msgid "Starting task" 232 | msgstr "" 233 | 234 | #: src/process-window.c:387 235 | msgid "Changing task" 236 | msgstr "" 237 | 238 | #: src/process-window.c:387 239 | msgid "Terminating task" 240 | msgstr "" 241 | 242 | #: src/process-window.ui:26 243 | msgid "Settings" 244 | msgstr "అమరికలు" 245 | 246 | #: src/process-window.ui:35 247 | msgid "Identify an open window by clicking on it." 248 | msgstr "" 249 | 250 | #: src/process-window.ui:127 251 | msgid "You are using the root account, you may harm your system." 252 | msgstr "" 253 | 254 | #: src/settings-dialog.c:151 255 | msgid "Easy to use task manager" 256 | msgstr "వాడుటకు సరళమైన కర్తవ్య నిర్వాహకం" 257 | 258 | #: src/settings-dialog.c:154 259 | msgid "translator-credits" 260 | msgstr "Praveen Illa , 2012" 261 | 262 | #: src/settings-dialog.ui:49 263 | msgid "Task Manager Settings" 264 | msgstr "కర్తవ్య నిర్వాహకం అమరికలు" 265 | 266 | #: src/settings-dialog.ui:63 267 | msgid "_Help" 268 | msgstr "సహాయం" 269 | 270 | #: src/settings-dialog.ui:78 271 | msgid "About" 272 | msgstr "గురించి" 273 | 274 | #: src/settings-dialog.ui:92 275 | msgid "_Close" 276 | msgstr "మూసివేయి (_C)" 277 | 278 | #: src/settings-dialog.ui:139 279 | msgid "Show all processes" 280 | msgstr "అన్ని ప్రక్రియలను చూడండి" 281 | 282 | #: src/settings-dialog.ui:153 283 | msgid "Show application icons" 284 | msgstr "అనువర్తనాల ప్రతీకలను చూపించు" 285 | 286 | #: src/settings-dialog.ui:167 287 | msgid "Show full command lines" 288 | msgstr "పూర్తి ఆదేశ వరుసలను చూపించు" 289 | 290 | #: src/settings-dialog.ui:181 291 | msgid "Show processes as tree" 292 | msgstr "ప్రక్రియలను వృక్షం వలె చూపు" 293 | 294 | #: src/settings-dialog.ui:195 295 | msgid "Show legend" 296 | msgstr "" 297 | 298 | #: src/settings-dialog.ui:209 299 | msgid "Show values with more precision" 300 | msgstr "" 301 | 302 | #: src/settings-dialog.ui:230 303 | msgid "Refresh rate (ms):" 304 | msgstr "" 305 | 306 | #: src/settings-dialog.ui:269 307 | msgid "Interface" 308 | msgstr "" 309 | 310 | #: src/settings-dialog.ui:296 311 | msgid "Prompt for terminating tasks" 312 | msgstr "" 313 | 314 | #: src/settings-dialog.ui:310 315 | msgid "Keep in the notification area" 316 | msgstr "" 317 | 318 | #: src/settings-dialog.ui:328 319 | msgid "Miscellaneous" 320 | msgstr "ఇతరాలు" 321 | 322 | #: src/settings-dialog.ui:345 323 | msgid "General" 324 | msgstr "సాధారణ" 325 | 326 | #: src/settings-dialog.ui:401 327 | msgid "Virtual Bytes" 328 | msgstr "వర్ట్యువల్ బైట్లు" 329 | 330 | #: src/settings-dialog.ui:415 331 | msgid "Resident Bytes" 332 | msgstr "" 333 | 334 | #: src/settings-dialog.ui:478 335 | msgid "Columns" 336 | msgstr "" 337 | 338 | #: src/task-manager.c:253 339 | #, c-format 340 | msgid "%s%%" 341 | msgstr "%s%%" 342 | -------------------------------------------------------------------------------- /po/ug.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR Xfce 3 | # This file is distributed under the same license as the xfce-apps.xfce4-taskmanager package. 4 | # 5 | # Translators: 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Xfce Apps\n" 9 | "Report-Msgid-Bugs-To: https://gitlab.xfce.org/\n" 10 | "POT-Creation-Date: 2024-04-07 12:50+0200\n" 11 | "PO-Revision-Date: 2013-07-03 18:41+0000\n" 12 | "Last-Translator: FULL NAME \n" 13 | "Language-Team: Uyghur (http://app.transifex.com/xfce/xfce-apps/language/ug/)\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "Language: ug\n" 18 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 19 | 20 | #: xfce4-taskmanager.desktop.in:3 xfce4-taskmanager.desktop.in:5 21 | #: src/main.c:222 src/process-tree-view.c:379 src/process-tree-view.c:394 22 | #: src/process-tree-view.c:424 src/process-window.ui:7 23 | #: src/settings-dialog.c:147 24 | msgid "Task Manager" 25 | msgstr "ۋەزىپە باشقۇرغۇ" 26 | 27 | #: xfce4-taskmanager.desktop.in:4 28 | msgid "Easy to use application to monitor system resources" 29 | msgstr "" 30 | 31 | #: src/main.c:61 32 | msgid "Quit" 33 | msgstr "" 34 | 35 | #: src/main.c:171 36 | #, c-format 37 | msgid "" 38 | "Processes: %u\n" 39 | "CPU: %.0f%%\n" 40 | "Memory: %s\n" 41 | "Swap: %s" 42 | msgstr "" 43 | 44 | #: src/main.c:255 45 | msgid "Xfce Notify Daemon" 46 | msgstr "Xfce ئۇقتۇرۇش مۇئەككىلى" 47 | 48 | #: src/main.c:257 49 | msgid "Settings daemon is unavailable" 50 | msgstr "تەڭشەك مۇئەككىلى يوق" 51 | 52 | #: src/process-statusbar.c:193 src/process-window.c:549 53 | #, c-format 54 | msgid "CPU: %s%%" 55 | msgstr "CPU: %s%%" 56 | 57 | #: src/process-statusbar.c:201 src/process-window.c:553 58 | #, c-format 59 | msgid "Memory: %s" 60 | msgstr "" 61 | 62 | #: src/process-statusbar.c:209 63 | #, c-format 64 | msgid "Swap: %s" 65 | msgstr "" 66 | 67 | #: src/process-statusbar.c:224 68 | #, c-format 69 | msgid "Processes: %d" 70 | msgstr "ئىجرالار: %d" 71 | 72 | #: src/process-tree-view.c:136 73 | msgid "Task" 74 | msgstr "ۋەزىپە" 75 | 76 | #: src/process-tree-view.c:147 src/settings-dialog.ui:359 77 | msgid "PID" 78 | msgstr "PID" 79 | 80 | #: src/process-tree-view.c:155 src/settings-dialog.ui:373 81 | msgid "PPID" 82 | msgstr "PPID" 83 | 84 | #: src/process-tree-view.c:163 src/settings-dialog.ui:387 85 | msgid "State" 86 | msgstr "ھالەت" 87 | 88 | #: src/process-tree-view.c:172 89 | msgid "VSZ" 90 | msgstr "VSZ" 91 | 92 | #: src/process-tree-view.c:180 93 | msgid "RSS" 94 | msgstr "RSS" 95 | 96 | #: src/process-tree-view.c:188 src/settings-dialog.ui:429 97 | msgid "UID" 98 | msgstr "UID" 99 | 100 | #: src/process-tree-view.c:196 src/settings-dialog.ui:443 101 | msgid "CPU" 102 | msgstr "CPU" 103 | 104 | #. TRANSLATORS: “Prio.” is short for Priority, it appears in the tree view 105 | #. header. 106 | #: src/process-tree-view.c:205 107 | msgid "Prio." 108 | msgstr "مەرتىۋە." 109 | 110 | #: src/process-tree-view.c:375 111 | msgid "Terminate task" 112 | msgstr "ۋەزىپىنى ئاخىرلاشتۇر" 113 | 114 | #: src/process-tree-view.c:375 115 | msgid "Kill task" 116 | msgstr "ۋەزىپىنى ئولتۇر" 117 | 118 | #: src/process-tree-view.c:377 119 | #, c-format 120 | msgid "Are you sure you want to send the %s signal to the PID %d?" 121 | msgstr "" 122 | 123 | #: src/process-tree-view.c:378 124 | msgid "terminate" 125 | msgstr "" 126 | 127 | #: src/process-tree-view.c:378 128 | msgid "kill" 129 | msgstr "" 130 | 131 | #: src/process-tree-view.c:390 132 | msgid "Error sending signal" 133 | msgstr "سىگنال ئەۋەتىشتە خاتالىق كۆرۈلدى" 134 | 135 | #: src/process-tree-view.c:392 136 | #, c-format 137 | msgid "" 138 | "An error was encountered by sending a signal to the PID %d. It is likely you" 139 | " don't have the required privileges." 140 | msgstr "بۇ PID %d غا سىگنال ئەۋەتىشتە خاتالىق كۆرۈلدى. سەۋەبى سىزنىڭ ھوقۇقىڭىز يېتەرلىك ئەمەستەك قىلىدۇ." 141 | 142 | #: src/process-tree-view.c:421 143 | msgid "Error setting priority" 144 | msgstr "مەرتىۋىنى بەلگىلەشتە خاتالىق كۆرۈلدى" 145 | 146 | #: src/process-tree-view.c:422 147 | #, c-format 148 | msgid "" 149 | "An error was encountered by setting a priority to the PID %d. It is likely " 150 | "you don't have the required privileges." 151 | msgstr "بۇ PID %d نىڭ مەرتىۋىسىنى بەلگىلەشتە خاتالىق كۆرۈلدى. سەۋەبى سىزنىڭ ھوقۇقىڭىز يېتەرلىك ئەمەستەك قىلىدۇ." 152 | 153 | #: src/process-tree-view.c:485 src/process-tree-view.c:628 154 | msgid "Stop" 155 | msgstr "توختا" 156 | 157 | #: src/process-tree-view.c:492 158 | msgid "Continue" 159 | msgstr "داۋاملاشتۇر" 160 | 161 | #: src/process-tree-view.c:498 162 | msgid "Terminate" 163 | msgstr "ئاخىرلاشتۇر" 164 | 165 | #: src/process-tree-view.c:504 166 | msgid "Kill" 167 | msgstr "ئۆلتۈر" 168 | 169 | #: src/process-tree-view.c:511 170 | msgid "Very low" 171 | msgstr "بەك تۆۋەن" 172 | 173 | #: src/process-tree-view.c:516 174 | msgid "Low" 175 | msgstr "تۆۋەن" 176 | 177 | #: src/process-tree-view.c:521 178 | msgid "Normal" 179 | msgstr "نورمال" 180 | 181 | #: src/process-tree-view.c:526 182 | msgid "High" 183 | msgstr "يۇقىرى" 184 | 185 | #: src/process-tree-view.c:531 186 | msgid "Very high" 187 | msgstr "بەك يۇقىرى" 188 | 189 | #: src/process-tree-view.c:536 src/settings-dialog.ui:457 190 | msgid "Priority" 191 | msgstr "مەرتىۋىسى" 192 | 193 | #. Same trick as above 194 | #: src/process-tree-view.c:540 src/process-tree-view.c:639 195 | msgid "Copy command line" 196 | msgstr "" 197 | 198 | #: src/process-window.c:171 199 | msgid "Bad Window" 200 | msgstr "" 201 | 202 | #: src/process-window.c:171 203 | #, c-format 204 | msgid "Window id 0x%lx does not exist!" 205 | msgstr "" 206 | 207 | #: src/process-window.c:174 208 | msgid "XGetWindowProperty failed" 209 | msgstr "" 210 | 211 | #: src/process-window.c:174 212 | msgid "XGetWindowProperty failed!" 213 | msgstr "" 214 | 215 | #: src/process-window.c:181 216 | msgid "No PID found" 217 | msgstr "" 218 | 219 | #: src/process-window.c:181 220 | #, c-format 221 | msgid "No PID found for window 0x%lx." 222 | msgstr "" 223 | 224 | #: src/process-window.c:383 225 | msgid "Filter on process name" 226 | msgstr "" 227 | 228 | #: src/process-window.c:387 229 | msgid "Starting task" 230 | msgstr "" 231 | 232 | #: src/process-window.c:387 233 | msgid "Changing task" 234 | msgstr "" 235 | 236 | #: src/process-window.c:387 237 | msgid "Terminating task" 238 | msgstr "" 239 | 240 | #: src/process-window.ui:26 241 | msgid "Settings" 242 | msgstr "تەڭشەكلەر" 243 | 244 | #: src/process-window.ui:35 245 | msgid "Identify an open window by clicking on it." 246 | msgstr "" 247 | 248 | #: src/process-window.ui:127 249 | msgid "You are using the root account, you may harm your system." 250 | msgstr "" 251 | 252 | #: src/settings-dialog.c:151 253 | msgid "Easy to use task manager" 254 | msgstr "ئىشلىتىشكە ئەپلىك ۋەزىپە باشقۇرغۇ" 255 | 256 | #: src/settings-dialog.c:154 257 | msgid "translator-credits" 258 | msgstr "غەيرەت ت.كەنجى " 259 | 260 | #: src/settings-dialog.ui:49 261 | msgid "Task Manager Settings" 262 | msgstr "" 263 | 264 | #: src/settings-dialog.ui:63 265 | msgid "_Help" 266 | msgstr "ياردەم(_H)" 267 | 268 | #: src/settings-dialog.ui:78 269 | msgid "About" 270 | msgstr "" 271 | 272 | #: src/settings-dialog.ui:92 273 | msgid "_Close" 274 | msgstr "تاقا(_C)" 275 | 276 | #: src/settings-dialog.ui:139 277 | msgid "Show all processes" 278 | msgstr "ھەممە ئىجرالارنى كۆرسەتسۇن" 279 | 280 | #: src/settings-dialog.ui:153 281 | msgid "Show application icons" 282 | msgstr "پروگرامما سىنبەلگىلىرىنى كۆرسەتسۇن" 283 | 284 | #: src/settings-dialog.ui:167 285 | msgid "Show full command lines" 286 | msgstr "تولۇق بولغان بۇيرۇق قۇرىنى كۆرسەتسۇن" 287 | 288 | #: src/settings-dialog.ui:181 289 | msgid "Show processes as tree" 290 | msgstr "" 291 | 292 | #: src/settings-dialog.ui:195 293 | msgid "Show legend" 294 | msgstr "" 295 | 296 | #: src/settings-dialog.ui:209 297 | msgid "Show values with more precision" 298 | msgstr "قىممەتلەرنىڭ ئېنىقلىق دەرىجىسىنى تېخىمۇ يۇقىرى كۆتۈرسۇن" 299 | 300 | #: src/settings-dialog.ui:230 301 | msgid "Refresh rate (ms):" 302 | msgstr "" 303 | 304 | #: src/settings-dialog.ui:269 305 | msgid "Interface" 306 | msgstr "" 307 | 308 | #: src/settings-dialog.ui:296 309 | msgid "Prompt for terminating tasks" 310 | msgstr "ۋەزىپىنى توختىتىدىغان چاغدا كۆرسەتمە چىقارسۇن" 311 | 312 | #: src/settings-dialog.ui:310 313 | msgid "Keep in the notification area" 314 | msgstr "" 315 | 316 | #: src/settings-dialog.ui:328 317 | msgid "Miscellaneous" 318 | msgstr "باشقىلار" 319 | 320 | #: src/settings-dialog.ui:345 321 | msgid "General" 322 | msgstr "ئادەتتىكى" 323 | 324 | #: src/settings-dialog.ui:401 325 | msgid "Virtual Bytes" 326 | msgstr "مەۋھۇم بايتلار" 327 | 328 | #: src/settings-dialog.ui:415 329 | msgid "Resident Bytes" 330 | msgstr "" 331 | 332 | #: src/settings-dialog.ui:478 333 | msgid "Columns" 334 | msgstr "" 335 | 336 | #: src/task-manager.c:253 337 | #, c-format 338 | msgid "%s%%" 339 | msgstr "%s%%" 340 | -------------------------------------------------------------------------------- /po/ur.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: xfce4-taskmanager\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2010-05-10 23:04+0200\n" 11 | "PO-Revision-Date: 2009-05-14 03:22+0500\n" 12 | "Last-Translator: Muhammad Ali Makki \n" 13 | "Language-Team: Urdu \n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "X-Poedit-Language: Urdu\n" 18 | "X-Poedit-Country: PAKISTAN\n" 19 | "X-Poedit-SourceCharset: utf-8\n" 20 | "Plural-Forms: Plural-Forms: nplurals=2; plural=n != 1;\n" 21 | 22 | #: ../xfce4-taskmanager.desktop.in.h:1 ../src/process-window.c:326 23 | #, fuzzy 24 | msgid "Easy to use task manager" 25 | msgstr "ایکسفس4-ٹاسک منیجر ایک استعمال میں آسان ٹاسک منیجر ہے" 26 | 27 | #: ../xfce4-taskmanager.desktop.in.h:2 ../src/process-tree-view.c:215 28 | #: ../src/process-tree-view.c:229 ../src/process-tree-view.c:247 29 | #: ../src/process-window.c:199 ../src/process-window.c:321 30 | #, fuzzy 31 | msgid "Task Manager" 32 | msgstr "ایکسفس4 ٹاسک منیجر" 33 | 34 | #: ../src/process-statusbar.c:121 35 | #, c-format 36 | msgid "CPU: %.2f%%" 37 | msgstr "" 38 | 39 | #: ../src/process-statusbar.c:128 40 | #, c-format 41 | msgid "Memory: %.2f%%" 42 | msgstr "" 43 | 44 | #: ../src/process-statusbar.c:135 45 | #, c-format 46 | msgid "Swap: %.2f%%" 47 | msgstr "" 48 | 49 | #: ../src/process-statusbar.c:142 50 | #, c-format 51 | msgid "Processes: %d" 52 | msgstr "" 53 | 54 | #: ../src/process-tree-view.c:106 55 | msgid "Task" 56 | msgstr "" 57 | 58 | #: ../src/process-tree-view.c:116 ../src/process-window.c:276 59 | msgid "PID" 60 | msgstr "PID" 61 | 62 | #: ../src/process-tree-view.c:124 ../src/process-window.c:277 63 | msgid "PPID" 64 | msgstr "PPID" 65 | 66 | #: ../src/process-tree-view.c:132 ../src/process-window.c:278 67 | msgid "State" 68 | msgstr "حالت" 69 | 70 | #: ../src/process-tree-view.c:141 71 | msgid "VSZ" 72 | msgstr "" 73 | 74 | #: ../src/process-tree-view.c:149 75 | msgid "RSS" 76 | msgstr "RSS" 77 | 78 | #: ../src/process-tree-view.c:157 ../src/process-window.c:281 79 | #, fuzzy 80 | msgid "UID" 81 | msgstr "PID" 82 | 83 | #: ../src/process-tree-view.c:165 ../src/process-window.c:282 84 | #, fuzzy 85 | msgid "CPU" 86 | msgstr "CPU%" 87 | 88 | #. TRANSLATORS: “Prio.” is short for Priority, it appears in the tree view header. 89 | #: ../src/process-tree-view.c:174 90 | #, fuzzy 91 | msgid "Prio." 92 | msgstr "اہمیت" 93 | 94 | #: ../src/process-tree-view.c:212 95 | #, fuzzy 96 | msgid "Terminate task" 97 | msgstr "کیا واقعی اس ٹاسک کو بند کردیا جائے؟" 98 | 99 | #: ../src/process-tree-view.c:212 100 | #, fuzzy 101 | msgid "Kill task" 102 | msgstr "قتل کریں" 103 | 104 | #: ../src/process-tree-view.c:214 105 | #, c-format 106 | msgid "Are you sure you want to send a signal to the PID %d?" 107 | msgstr "" 108 | 109 | #: ../src/process-tree-view.c:225 110 | msgid "Error sending signal" 111 | msgstr "" 112 | 113 | #: ../src/process-tree-view.c:227 114 | #, c-format 115 | msgid "" 116 | "An error was encountered by sending a signal to the PID %d. It is likely you " 117 | "don't have the required privileges." 118 | msgstr "" 119 | 120 | #: ../src/process-tree-view.c:244 121 | msgid "Error setting priority" 122 | msgstr "" 123 | 124 | #: ../src/process-tree-view.c:245 125 | #, c-format 126 | msgid "" 127 | "An error was encountered by setting a priority to the PID %d. It is likely " 128 | "you don't have the required privileges." 129 | msgstr "" 130 | 131 | #: ../src/process-tree-view.c:260 132 | #, fuzzy 133 | msgid "Terminate" 134 | msgstr "بند کریں" 135 | 136 | #: ../src/process-tree-view.c:267 137 | msgid "Stop" 138 | msgstr "روکیں" 139 | 140 | #: ../src/process-tree-view.c:274 141 | msgid "Continue" 142 | msgstr "جاری" 143 | 144 | #: ../src/process-tree-view.c:280 145 | msgid "Kill" 146 | msgstr "قتل کریں" 147 | 148 | #: ../src/process-tree-view.c:287 149 | msgid "Very low" 150 | msgstr "" 151 | 152 | #: ../src/process-tree-view.c:292 153 | msgid "Low" 154 | msgstr "" 155 | 156 | #: ../src/process-tree-view.c:297 157 | msgid "Normal" 158 | msgstr "" 159 | 160 | #: ../src/process-tree-view.c:302 161 | msgid "High" 162 | msgstr "" 163 | 164 | #: ../src/process-tree-view.c:307 165 | msgid "Very high" 166 | msgstr "" 167 | 168 | #: ../src/process-tree-view.c:312 ../src/process-window.c:283 169 | msgid "Priority" 170 | msgstr "اہمیت" 171 | 172 | #: ../src/process-window.c:197 173 | msgid "Execution error" 174 | msgstr "" 175 | 176 | #: ../src/process-window.c:226 177 | msgid "Run Program..." 178 | msgstr "" 179 | 180 | #: ../src/process-window.c:227 181 | msgid "Application Finder" 182 | msgstr "" 183 | 184 | #: ../src/process-window.c:228 185 | #, fuzzy 186 | msgid "Terminal emulator" 187 | msgstr "اصل مصنف:" 188 | 189 | #: ../src/process-window.c:229 190 | #, fuzzy 191 | msgid "XTerm" 192 | msgstr "بند کریں" 193 | 194 | #: ../src/process-window.c:271 195 | #, fuzzy 196 | msgid "Show all processes" 197 | msgstr "اپنی عمل کاریاں کنٹرول کریں" 198 | 199 | #: ../src/process-window.c:279 200 | msgid "Virtual Bytes" 201 | msgstr "" 202 | 203 | #: ../src/process-window.c:280 204 | msgid "Private Bytes" 205 | msgstr "" 206 | 207 | #: ../src/process-window.c:329 208 | msgid "translator-credits" 209 | msgstr "" 210 | "محمد علی مکی\n" 211 | "makki.ma@gmail.com\n" 212 | "اردو کوڈر لینکس فورم\n" 213 | "http://www.urducoder.com\n" 214 | "مکی کا بلاگ\n" 215 | "http://makki.urducoder.com" 216 | 217 | #: ../src/task-manager.c:146 218 | #, c-format 219 | msgid "%lu MiB" 220 | msgstr "" 221 | 222 | #: ../src/task-manager.c:153 223 | #, c-format 224 | msgid "%lu KiB" 225 | msgstr "" 226 | 227 | #: ../src/task-manager.c:157 228 | #, c-format 229 | msgid "%lu B" 230 | msgstr "" 231 | 232 | #. TODO make precision optional 233 | #: ../src/task-manager.c:168 234 | #, fuzzy, c-format 235 | msgid "%.2f%%" 236 | msgstr "%0.0f %%" 237 | 238 | #~ msgid "Control your processes" 239 | #~ msgstr "اپنی عمل کاریاں کنٹرول کریں" 240 | 241 | #~ msgid "Process manager" 242 | #~ msgstr "عمل کاری منیجر" 243 | 244 | #~ msgid "Xfce4 Taskmanager" 245 | #~ msgstr "ایکسفس4 ٹاسک منیجر" 246 | 247 | #~ msgid "Really kill the task?" 248 | #~ msgstr "کیا واقعی اس ٹاسک کو قتل کردیا جائے؟" 249 | 250 | #~ msgid "%d MB of %d MB used" 251 | #~ msgstr "%d م.ب برائے %d م.ب استعمال شدہ" 252 | 253 | #~ msgid "Cpu usage" 254 | #~ msgstr "سی پی یو استعمال" 255 | 256 | #~ msgid "Memory usage" 257 | #~ msgstr "یاداشت استعمال" 258 | 259 | #~ msgid "Command" 260 | #~ msgstr "کمانڈ" 261 | 262 | #~ msgid "VM-Size" 263 | #~ msgstr "VM-حجم" 264 | 265 | #~ msgid "User" 266 | #~ msgstr "صارف" 267 | 268 | #~ msgid "Show user tasks" 269 | #~ msgstr "صارف کی ٹاسک ظاہر کریں" 270 | 271 | #~ msgid "Show root tasks" 272 | #~ msgstr "روٹ کی ٹاسک ظاہر کریں" 273 | 274 | #~ msgid "Show other tasks" 275 | #~ msgstr "دیگر ٹاسک ظاہر کریں" 276 | 277 | #~ msgid "Show memory used by cache as free" 278 | #~ msgstr "کیشے کی استعمال شدہ یاداشت بطور خالی دکھائیں" 279 | 280 | #~ msgid "Contributors:" 281 | #~ msgstr "معاونین:" 282 | 283 | #~ msgid "more details" 284 | #~ msgstr "مزید تفصیلات" 285 | -------------------------------------------------------------------------------- /po/ur_PK.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: xfce4-taskmanager\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2010-05-10 23:04+0200\n" 11 | "PO-Revision-Date: 2009-05-14 03:22+0500\n" 12 | "Last-Translator: Muhammad Ali Makki \n" 13 | "Language-Team: Urdu \n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "X-Poedit-Language: Urdu\n" 18 | "X-Poedit-Country: PAKISTAN\n" 19 | "X-Poedit-SourceCharset: utf-8\n" 20 | "Plural-Forms: Plural-Forms: nplurals=2; plural=n != 1;\n" 21 | 22 | #: ../xfce4-taskmanager.desktop.in.h:1 ../src/process-window.c:326 23 | #, fuzzy 24 | msgid "Easy to use task manager" 25 | msgstr "ایکسفس4-ٹاسک منیجر ایک استعمال میں آسان ٹاسک منیجر ہے" 26 | 27 | #: ../xfce4-taskmanager.desktop.in.h:2 ../src/process-tree-view.c:215 28 | #: ../src/process-tree-view.c:229 ../src/process-tree-view.c:247 29 | #: ../src/process-window.c:199 ../src/process-window.c:321 30 | #, fuzzy 31 | msgid "Task Manager" 32 | msgstr "ایکسفس4 ٹاسک منیجر" 33 | 34 | #: ../src/process-statusbar.c:121 35 | #, c-format 36 | msgid "CPU: %.2f%%" 37 | msgstr "" 38 | 39 | #: ../src/process-statusbar.c:128 40 | #, c-format 41 | msgid "Memory: %.2f%%" 42 | msgstr "" 43 | 44 | #: ../src/process-statusbar.c:135 45 | #, c-format 46 | msgid "Swap: %.2f%%" 47 | msgstr "" 48 | 49 | #: ../src/process-statusbar.c:142 50 | #, c-format 51 | msgid "Processes: %d" 52 | msgstr "" 53 | 54 | #: ../src/process-tree-view.c:106 55 | msgid "Task" 56 | msgstr "" 57 | 58 | #: ../src/process-tree-view.c:116 ../src/process-window.c:276 59 | msgid "PID" 60 | msgstr "PID" 61 | 62 | #: ../src/process-tree-view.c:124 ../src/process-window.c:277 63 | msgid "PPID" 64 | msgstr "PPID" 65 | 66 | #: ../src/process-tree-view.c:132 ../src/process-window.c:278 67 | msgid "State" 68 | msgstr "حالت" 69 | 70 | #: ../src/process-tree-view.c:141 71 | msgid "VSZ" 72 | msgstr "" 73 | 74 | #: ../src/process-tree-view.c:149 75 | msgid "RSS" 76 | msgstr "RSS" 77 | 78 | #: ../src/process-tree-view.c:157 ../src/process-window.c:281 79 | #, fuzzy 80 | msgid "UID" 81 | msgstr "PID" 82 | 83 | #: ../src/process-tree-view.c:165 ../src/process-window.c:282 84 | #, fuzzy 85 | msgid "CPU" 86 | msgstr "CPU%" 87 | 88 | #. TRANSLATORS: “Prio.” is short for Priority, it appears in the tree view header. 89 | #: ../src/process-tree-view.c:174 90 | #, fuzzy 91 | msgid "Prio." 92 | msgstr "اہمیت" 93 | 94 | #: ../src/process-tree-view.c:212 95 | #, fuzzy 96 | msgid "Terminate task" 97 | msgstr "کیا واقعی اس ٹاسک کو بند کردیا جائے؟" 98 | 99 | #: ../src/process-tree-view.c:212 100 | #, fuzzy 101 | msgid "Kill task" 102 | msgstr "قتل کریں" 103 | 104 | #: ../src/process-tree-view.c:214 105 | #, c-format 106 | msgid "Are you sure you want to send a signal to the PID %d?" 107 | msgstr "" 108 | 109 | #: ../src/process-tree-view.c:225 110 | msgid "Error sending signal" 111 | msgstr "" 112 | 113 | #: ../src/process-tree-view.c:227 114 | #, c-format 115 | msgid "" 116 | "An error was encountered by sending a signal to the PID %d. It is likely you " 117 | "don't have the required privileges." 118 | msgstr "" 119 | 120 | #: ../src/process-tree-view.c:244 121 | msgid "Error setting priority" 122 | msgstr "" 123 | 124 | #: ../src/process-tree-view.c:245 125 | #, c-format 126 | msgid "" 127 | "An error was encountered by setting a priority to the PID %d. It is likely " 128 | "you don't have the required privileges." 129 | msgstr "" 130 | 131 | #: ../src/process-tree-view.c:260 132 | #, fuzzy 133 | msgid "Terminate" 134 | msgstr "بند کریں" 135 | 136 | #: ../src/process-tree-view.c:267 137 | msgid "Stop" 138 | msgstr "روکیں" 139 | 140 | #: ../src/process-tree-view.c:274 141 | msgid "Continue" 142 | msgstr "جاری" 143 | 144 | #: ../src/process-tree-view.c:280 145 | msgid "Kill" 146 | msgstr "قتل کریں" 147 | 148 | #: ../src/process-tree-view.c:287 149 | msgid "Very low" 150 | msgstr "" 151 | 152 | #: ../src/process-tree-view.c:292 153 | msgid "Low" 154 | msgstr "" 155 | 156 | #: ../src/process-tree-view.c:297 157 | msgid "Normal" 158 | msgstr "" 159 | 160 | #: ../src/process-tree-view.c:302 161 | msgid "High" 162 | msgstr "" 163 | 164 | #: ../src/process-tree-view.c:307 165 | msgid "Very high" 166 | msgstr "" 167 | 168 | #: ../src/process-tree-view.c:312 ../src/process-window.c:283 169 | msgid "Priority" 170 | msgstr "اہمیت" 171 | 172 | #: ../src/process-window.c:197 173 | msgid "Execution error" 174 | msgstr "" 175 | 176 | #: ../src/process-window.c:226 177 | msgid "Run Program..." 178 | msgstr "" 179 | 180 | #: ../src/process-window.c:227 181 | msgid "Application Finder" 182 | msgstr "" 183 | 184 | #: ../src/process-window.c:228 185 | #, fuzzy 186 | msgid "Terminal emulator" 187 | msgstr "اصل مصنف:" 188 | 189 | #: ../src/process-window.c:229 190 | #, fuzzy 191 | msgid "XTerm" 192 | msgstr "بند کریں" 193 | 194 | #: ../src/process-window.c:271 195 | #, fuzzy 196 | msgid "Show all processes" 197 | msgstr "اپنی عمل کاریاں کنٹرول کریں" 198 | 199 | #: ../src/process-window.c:279 200 | msgid "Virtual Bytes" 201 | msgstr "" 202 | 203 | #: ../src/process-window.c:280 204 | msgid "Private Bytes" 205 | msgstr "" 206 | 207 | #: ../src/process-window.c:329 208 | msgid "translator-credits" 209 | msgstr "" 210 | "محمد علی مکی\n" 211 | "makki.ma@gmail.com\n" 212 | "اردو کوڈر لینکس فورم\n" 213 | "http://www.urducoder.com\n" 214 | "مکی کا بلاگ\n" 215 | "http://makki.urducoder.com" 216 | 217 | #: ../src/task-manager.c:146 218 | #, c-format 219 | msgid "%lu MiB" 220 | msgstr "" 221 | 222 | #: ../src/task-manager.c:153 223 | #, c-format 224 | msgid "%lu KiB" 225 | msgstr "" 226 | 227 | #: ../src/task-manager.c:157 228 | #, c-format 229 | msgid "%lu B" 230 | msgstr "" 231 | 232 | #. TODO make precision optional 233 | #: ../src/task-manager.c:168 234 | #, fuzzy, c-format 235 | msgid "%.2f%%" 236 | msgstr "%0.0f %%" 237 | 238 | #~ msgid "Control your processes" 239 | #~ msgstr "اپنی عمل کاریاں کنٹرول کریں" 240 | 241 | #~ msgid "Process manager" 242 | #~ msgstr "عمل کاری منیجر" 243 | 244 | #~ msgid "Xfce4 Taskmanager" 245 | #~ msgstr "ایکسفس4 ٹاسک منیجر" 246 | 247 | #~ msgid "Really kill the task?" 248 | #~ msgstr "کیا واقعی اس ٹاسک کو قتل کردیا جائے؟" 249 | 250 | #~ msgid "%d MB of %d MB used" 251 | #~ msgstr "%d م.ب برائے %d م.ب استعمال شدہ" 252 | 253 | #~ msgid "Cpu usage" 254 | #~ msgstr "سی پی یو استعمال" 255 | 256 | #~ msgid "Memory usage" 257 | #~ msgstr "یاداشت استعمال" 258 | 259 | #~ msgid "Command" 260 | #~ msgstr "کمانڈ" 261 | 262 | #~ msgid "VM-Size" 263 | #~ msgstr "VM-حجم" 264 | 265 | #~ msgid "User" 266 | #~ msgstr "صارف" 267 | 268 | #~ msgid "Show user tasks" 269 | #~ msgstr "صارف کی ٹاسک ظاہر کریں" 270 | 271 | #~ msgid "Show root tasks" 272 | #~ msgstr "روٹ کی ٹاسک ظاہر کریں" 273 | 274 | #~ msgid "Show other tasks" 275 | #~ msgstr "دیگر ٹاسک ظاہر کریں" 276 | 277 | #~ msgid "Show memory used by cache as free" 278 | #~ msgstr "کیشے کی استعمال شدہ یاداشت بطور خالی دکھائیں" 279 | 280 | #~ msgid "Contributors:" 281 | #~ msgstr "معاونین:" 282 | 283 | #~ msgid "more details" 284 | #~ msgstr "مزید تفصیلات" 285 | -------------------------------------------------------------------------------- /po/zh_HK.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR Xfce 3 | # This file is distributed under the same license as the xfce-apps.xfce4-taskmanager package. 4 | # 5 | # Translators: 6 | # Cosmo Chene , 2006 7 | # Walter Cheuk , 2013 8 | msgid "" 9 | msgstr "" 10 | "Project-Id-Version: Xfce Apps\n" 11 | "Report-Msgid-Bugs-To: https://gitlab.xfce.org/\n" 12 | "POT-Creation-Date: 2024-04-07 12:50+0200\n" 13 | "PO-Revision-Date: 2013-07-03 18:41+0000\n" 14 | "Last-Translator: Walter Cheuk , 2013\n" 15 | "Language-Team: Chinese (Hong Kong) (http://app.transifex.com/xfce/xfce-apps/language/zh_HK/)\n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=UTF-8\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | "Language: zh_HK\n" 20 | "Plural-Forms: nplurals=1; plural=0;\n" 21 | 22 | #: xfce4-taskmanager.desktop.in:3 xfce4-taskmanager.desktop.in:5 23 | #: src/main.c:222 src/process-tree-view.c:379 src/process-tree-view.c:394 24 | #: src/process-tree-view.c:424 src/process-window.ui:7 25 | #: src/settings-dialog.c:147 26 | msgid "Task Manager" 27 | msgstr "工作管理員" 28 | 29 | #: xfce4-taskmanager.desktop.in:4 30 | msgid "Easy to use application to monitor system resources" 31 | msgstr "" 32 | 33 | #: src/main.c:61 34 | msgid "Quit" 35 | msgstr "" 36 | 37 | #: src/main.c:171 38 | #, c-format 39 | msgid "" 40 | "Processes: %u\n" 41 | "CPU: %.0f%%\n" 42 | "Memory: %s\n" 43 | "Swap: %s" 44 | msgstr "" 45 | 46 | #: src/main.c:255 47 | msgid "Xfce Notify Daemon" 48 | msgstr "" 49 | 50 | #: src/main.c:257 51 | msgid "Settings daemon is unavailable" 52 | msgstr "" 53 | 54 | #: src/process-statusbar.c:193 src/process-window.c:549 55 | #, c-format 56 | msgid "CPU: %s%%" 57 | msgstr "CPU:%s%%" 58 | 59 | #: src/process-statusbar.c:201 src/process-window.c:553 60 | #, c-format 61 | msgid "Memory: %s" 62 | msgstr "" 63 | 64 | #: src/process-statusbar.c:209 65 | #, c-format 66 | msgid "Swap: %s" 67 | msgstr "" 68 | 69 | #: src/process-statusbar.c:224 70 | #, c-format 71 | msgid "Processes: %d" 72 | msgstr "進程數:%d" 73 | 74 | #: src/process-tree-view.c:136 75 | msgid "Task" 76 | msgstr "工作" 77 | 78 | #: src/process-tree-view.c:147 src/settings-dialog.ui:359 79 | msgid "PID" 80 | msgstr "PID" 81 | 82 | #: src/process-tree-view.c:155 src/settings-dialog.ui:373 83 | msgid "PPID" 84 | msgstr "PPID" 85 | 86 | #: src/process-tree-view.c:163 src/settings-dialog.ui:387 87 | msgid "State" 88 | msgstr "狀態" 89 | 90 | #: src/process-tree-view.c:172 91 | msgid "VSZ" 92 | msgstr "VSZ" 93 | 94 | #: src/process-tree-view.c:180 95 | msgid "RSS" 96 | msgstr "RSS" 97 | 98 | #: src/process-tree-view.c:188 src/settings-dialog.ui:429 99 | msgid "UID" 100 | msgstr "UID" 101 | 102 | #: src/process-tree-view.c:196 src/settings-dialog.ui:443 103 | msgid "CPU" 104 | msgstr "CPU" 105 | 106 | #. TRANSLATORS: “Prio.” is short for Priority, it appears in the tree view 107 | #. header. 108 | #: src/process-tree-view.c:205 109 | msgid "Prio." 110 | msgstr "優先" 111 | 112 | #: src/process-tree-view.c:375 113 | msgid "Terminate task" 114 | msgstr "終止工作" 115 | 116 | #: src/process-tree-view.c:375 117 | msgid "Kill task" 118 | msgstr "強行中止工作" 119 | 120 | #: src/process-tree-view.c:377 121 | #, c-format 122 | msgid "Are you sure you want to send the %s signal to the PID %d?" 123 | msgstr "" 124 | 125 | #: src/process-tree-view.c:378 126 | msgid "terminate" 127 | msgstr "" 128 | 129 | #: src/process-tree-view.c:378 130 | msgid "kill" 131 | msgstr "" 132 | 133 | #: src/process-tree-view.c:390 134 | msgid "Error sending signal" 135 | msgstr "傳送訊號時發生錯誤" 136 | 137 | #: src/process-tree-view.c:392 138 | #, c-format 139 | msgid "" 140 | "An error was encountered by sending a signal to the PID %d. It is likely you" 141 | " don't have the required privileges." 142 | msgstr "傳送訊號給 PID %d 時遭遇錯誤。很可能你沒有應具備的特權。" 143 | 144 | #: src/process-tree-view.c:421 145 | msgid "Error setting priority" 146 | msgstr "設定優先權時發生錯誤" 147 | 148 | #: src/process-tree-view.c:422 149 | #, c-format 150 | msgid "" 151 | "An error was encountered by setting a priority to the PID %d. It is likely " 152 | "you don't have the required privileges." 153 | msgstr "設定 PID %d 的優先權時遭遇錯誤。很可能你沒有應具備的特權。" 154 | 155 | #: src/process-tree-view.c:485 src/process-tree-view.c:628 156 | msgid "Stop" 157 | msgstr "停止" 158 | 159 | #: src/process-tree-view.c:492 160 | msgid "Continue" 161 | msgstr "繼續" 162 | 163 | #: src/process-tree-view.c:498 164 | msgid "Terminate" 165 | msgstr "終止" 166 | 167 | #: src/process-tree-view.c:504 168 | msgid "Kill" 169 | msgstr "強行中止" 170 | 171 | #: src/process-tree-view.c:511 172 | msgid "Very low" 173 | msgstr "非常低" 174 | 175 | #: src/process-tree-view.c:516 176 | msgid "Low" 177 | msgstr "低" 178 | 179 | #: src/process-tree-view.c:521 180 | msgid "Normal" 181 | msgstr "正常" 182 | 183 | #: src/process-tree-view.c:526 184 | msgid "High" 185 | msgstr "高" 186 | 187 | #: src/process-tree-view.c:531 188 | msgid "Very high" 189 | msgstr "非常高" 190 | 191 | #: src/process-tree-view.c:536 src/settings-dialog.ui:457 192 | msgid "Priority" 193 | msgstr "優先權" 194 | 195 | #. Same trick as above 196 | #: src/process-tree-view.c:540 src/process-tree-view.c:639 197 | msgid "Copy command line" 198 | msgstr "" 199 | 200 | #: src/process-window.c:171 201 | msgid "Bad Window" 202 | msgstr "" 203 | 204 | #: src/process-window.c:171 205 | #, c-format 206 | msgid "Window id 0x%lx does not exist!" 207 | msgstr "" 208 | 209 | #: src/process-window.c:174 210 | msgid "XGetWindowProperty failed" 211 | msgstr "" 212 | 213 | #: src/process-window.c:174 214 | msgid "XGetWindowProperty failed!" 215 | msgstr "" 216 | 217 | #: src/process-window.c:181 218 | msgid "No PID found" 219 | msgstr "" 220 | 221 | #: src/process-window.c:181 222 | #, c-format 223 | msgid "No PID found for window 0x%lx." 224 | msgstr "" 225 | 226 | #: src/process-window.c:383 227 | msgid "Filter on process name" 228 | msgstr "" 229 | 230 | #: src/process-window.c:387 231 | msgid "Starting task" 232 | msgstr "" 233 | 234 | #: src/process-window.c:387 235 | msgid "Changing task" 236 | msgstr "" 237 | 238 | #: src/process-window.c:387 239 | msgid "Terminating task" 240 | msgstr "" 241 | 242 | #: src/process-window.ui:26 243 | msgid "Settings" 244 | msgstr "設定" 245 | 246 | #: src/process-window.ui:35 247 | msgid "Identify an open window by clicking on it." 248 | msgstr "" 249 | 250 | #: src/process-window.ui:127 251 | msgid "You are using the root account, you may harm your system." 252 | msgstr "" 253 | 254 | #: src/settings-dialog.c:151 255 | msgid "Easy to use task manager" 256 | msgstr "易用的工作管理員" 257 | 258 | #: src/settings-dialog.c:154 259 | msgid "translator-credits" 260 | msgstr "Cosmo Chene\nCheng-Chia Tseng , 2012.\nWalter Cheuk , 2013." 261 | 262 | #: src/settings-dialog.ui:49 263 | msgid "Task Manager Settings" 264 | msgstr "" 265 | 266 | #: src/settings-dialog.ui:63 267 | msgid "_Help" 268 | msgstr "" 269 | 270 | #: src/settings-dialog.ui:78 271 | msgid "About" 272 | msgstr "" 273 | 274 | #: src/settings-dialog.ui:92 275 | msgid "_Close" 276 | msgstr "關閉(_C)" 277 | 278 | #: src/settings-dialog.ui:139 279 | msgid "Show all processes" 280 | msgstr "顯示所有進程" 281 | 282 | #: src/settings-dialog.ui:153 283 | msgid "Show application icons" 284 | msgstr "顯示應用程式圖示" 285 | 286 | #: src/settings-dialog.ui:167 287 | msgid "Show full command lines" 288 | msgstr "顯示完整指令列" 289 | 290 | #: src/settings-dialog.ui:181 291 | msgid "Show processes as tree" 292 | msgstr "" 293 | 294 | #: src/settings-dialog.ui:195 295 | msgid "Show legend" 296 | msgstr "" 297 | 298 | #: src/settings-dialog.ui:209 299 | msgid "Show values with more precision" 300 | msgstr "顯示更精準的值" 301 | 302 | #: src/settings-dialog.ui:230 303 | msgid "Refresh rate (ms):" 304 | msgstr "" 305 | 306 | #: src/settings-dialog.ui:269 307 | msgid "Interface" 308 | msgstr "" 309 | 310 | #: src/settings-dialog.ui:296 311 | msgid "Prompt for terminating tasks" 312 | msgstr "提請終止工作" 313 | 314 | #: src/settings-dialog.ui:310 315 | msgid "Keep in the notification area" 316 | msgstr "" 317 | 318 | #: src/settings-dialog.ui:328 319 | msgid "Miscellaneous" 320 | msgstr "雜項" 321 | 322 | #: src/settings-dialog.ui:345 323 | msgid "General" 324 | msgstr "" 325 | 326 | #: src/settings-dialog.ui:401 327 | msgid "Virtual Bytes" 328 | msgstr "虛擬位元組" 329 | 330 | #: src/settings-dialog.ui:415 331 | msgid "Resident Bytes" 332 | msgstr "" 333 | 334 | #: src/settings-dialog.ui:478 335 | msgid "Columns" 336 | msgstr "" 337 | 338 | #: src/task-manager.c:253 339 | #, c-format 340 | msgid "%s%%" 341 | msgstr "%s%%" 342 | -------------------------------------------------------------------------------- /src/Makefile.am: -------------------------------------------------------------------------------- 1 | AM_CPPFLAGS = \ 2 | -I$(top_srcdir) \ 3 | -DG_LOG_DOMAIN=\"xfce4-taskmanager\" \ 4 | -DPACKAGE_LOCALE_DIR=\"$(localedir)\" 5 | 6 | bin_PROGRAMS = \ 7 | xfce4-taskmanager 8 | 9 | xfce4_taskmanager_CFLAGS = \ 10 | $(CAIRO_CFLAGS) \ 11 | $(LIBX11_CFLAGS) \ 12 | $(LIBXMU_CFLAGS) \ 13 | $(GTK3_CFLAGS) \ 14 | $(WNCK_CFLAGS) \ 15 | $(LIBXFCE4UI_CFLAGS) \ 16 | $(LIBXFCE4UTIL_CFLAGS) \ 17 | $(XFCONF_CFLAGS) \ 18 | $(NULL) 19 | 20 | xfce4_taskmanager_LDADD = \ 21 | $(CAIRO_LIBS) \ 22 | $(LIBX11_LIBS) \ 23 | $(LIBXMU_LIBS) \ 24 | $(GTK3_LIBS) \ 25 | $(WNCK_LIBS) \ 26 | $(LIBXFCE4UI_LIBS) \ 27 | $(LIBXFCE4UTIL_LIBS) \ 28 | $(XFCONF_LIBS) \ 29 | $(NULL) 30 | 31 | xfce4_taskmanager_built_sources = \ 32 | task-manager-resources.c 33 | 34 | xfce4_taskmanager_SOURCES = \ 35 | $(xfce4_taskmanager_built_sources) \ 36 | main.c \ 37 | process-window.c process-window.h \ 38 | process-monitor.c process-monitor.h \ 39 | process-tree-model.c process-tree-model.h \ 40 | process-tree-view.c process-tree-view.h \ 41 | process-statusbar.c process-statusbar.h \ 42 | settings-dialog.c settings-dialog.h \ 43 | settings.c settings.h \ 44 | task-manager.c task-manager.h \ 45 | $(NULL) 46 | 47 | if HAVE_WNCK 48 | xfce4_taskmanager_SOURCES += app-manager.c app-manager.h 49 | endif 50 | 51 | if OS_FREEBSD 52 | xfce4_taskmanager_SOURCES += task-manager-freebsd.c 53 | endif 54 | if OS_BSD 55 | xfce4_taskmanager_SOURCES += task-manager-bsd.c 56 | endif 57 | if OS_SOLARIS 58 | xfce4_taskmanager_SOURCES += task-manager-solaris.c 59 | endif 60 | if OS_LINUX 61 | xfce4_taskmanager_SOURCES += task-manager-linux.c 62 | endif 63 | if OS_DARWIN 64 | xfce4_taskmanager_SOURCES += task-manager-darwin.c 65 | endif 66 | if OS_SKEL 67 | xfce4_taskmanager_SOURCES += task-manager-skel.c 68 | endif 69 | 70 | xfce4_taskmanager_glade_files = $(shell $(GLIB_COMPILE_RESOURCES) --generate-dependencies --sourcedir $(srcdir) $(srcdir)/task-manager.gresource.xml) 71 | 72 | task-manager-resources.c: $(srcdir)/task-manager.gresource.xml $(xfce4_taskmanager_glade_files) Makefile 73 | $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir) --generate-source $< 74 | 75 | DISTCLEANFILES = \ 76 | $(xfce4_taskmanager_built_sources) 77 | 78 | EXTRA_DIST = \ 79 | $(xfce4_taskmanager_glade_files) \ 80 | task-manager.gresource.xml \ 81 | meson.build 82 | -------------------------------------------------------------------------------- /src/app-manager.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010 Mike Massonnet, 3 | * Copyright (c) 2018 Rozhuk Ivan 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or (at 8 | * your option) any later version. 9 | */ 10 | 11 | #ifdef HAVE_CONFIG_H 12 | #include "config.h" 13 | #endif 14 | 15 | #include "app-manager.h" 16 | #include "task-manager.h" 17 | 18 | #include 19 | 20 | 21 | 22 | typedef struct _XtmAppManagerClass XtmAppManagerClass; 23 | struct _XtmAppManagerClass 24 | { 25 | GObjectClass parent_class; 26 | }; 27 | struct _XtmAppManager 28 | { 29 | GObject parent; 30 | /**/ 31 | GArray *apps; 32 | }; 33 | G_DEFINE_TYPE (XtmAppManager, xtm_app_manager, G_TYPE_OBJECT) 34 | 35 | static void xtm_app_manager_finalize (GObject *object); 36 | 37 | static GPid app_get_pid (WnckApplication *application); 38 | static gint app_pid_compare_fn (gconstpointer a, gconstpointer b); 39 | 40 | static void apps_add_application (GArray *apps, WnckApplication *application, GPid pid); 41 | static void apps_remove_application (GArray *apps, WnckApplication *application); 42 | static App *apps_lookup_pid (GArray *apps, GPid pid); 43 | static App *apps_lookup_app (GArray *apps, WnckApplication *application); 44 | static void application_opened (WnckScreen *screen, WnckApplication *application, XtmAppManager *manager); 45 | static void application_closed (WnckScreen *screen, WnckApplication *application, XtmAppManager *manager); 46 | static void scale_factor_changed (GdkMonitor *monitor); 47 | 48 | 49 | 50 | static void 51 | xtm_app_manager_class_init (XtmAppManagerClass *klass) 52 | { 53 | GObjectClass *class = G_OBJECT_CLASS (klass); 54 | xtm_app_manager_parent_class = g_type_class_peek_parent (klass); 55 | class->finalize = xtm_app_manager_finalize; 56 | } 57 | 58 | static void 59 | xtm_app_manager_init (XtmAppManager *manager) 60 | { 61 | WnckApplication *application; 62 | WnckScreen *screen = wnck_screen_get_default (); 63 | GdkMonitor *monitor = gdk_display_get_monitor (gdk_display_get_default (), 0); 64 | GList *windows, *l; 65 | 66 | /* Retrieve initial applications */ 67 | while (gtk_events_pending ()) 68 | gtk_main_iteration (); 69 | 70 | /* Adapt wnck default icon size when UI scale changes (this is X11 only so 71 | * the scale factor is the same for all monitors) */ 72 | if (monitor != NULL) 73 | { 74 | scale_factor_changed (monitor); 75 | g_signal_connect (monitor, "notify::scale-factor", G_CALLBACK (scale_factor_changed), NULL); 76 | } 77 | 78 | manager->apps = g_array_new (FALSE, FALSE, sizeof (App)); 79 | windows = wnck_screen_get_windows (screen); 80 | for (l = windows; l != NULL; l = l->next) 81 | { 82 | WnckWindow *window = WNCK_WINDOW (l->data); 83 | if (wnck_window_get_window_type (window) != WNCK_WINDOW_NORMAL) 84 | continue; 85 | 86 | application = wnck_window_get_application (window); 87 | apps_add_application (manager->apps, application, app_get_pid (application)); 88 | } 89 | 90 | G_DEBUG_FMT ("Initial applications: %d", manager->apps->len); 91 | 92 | /* Connect signals */ 93 | g_signal_connect (screen, "application-opened", G_CALLBACK (application_opened), manager); 94 | g_signal_connect (screen, "application-closed", G_CALLBACK (application_closed), manager); 95 | } 96 | 97 | static void 98 | xtm_app_manager_finalize (GObject *object) 99 | { 100 | g_array_free (XTM_APP_MANAGER (object)->apps, TRUE); 101 | 102 | G_OBJECT_CLASS (xtm_app_manager_parent_class)->finalize (object); 103 | } 104 | 105 | static GPid 106 | app_get_pid (WnckApplication *application) 107 | { 108 | GPid pid; 109 | GList *windows; 110 | 111 | if (NULL == application) 112 | return (0); 113 | pid = wnck_application_get_pid (application); 114 | if (pid != 0) 115 | return (pid); 116 | windows = wnck_application_get_windows (application); 117 | if (NULL != windows && NULL != windows->data) 118 | return (wnck_window_get_pid (WNCK_WINDOW (windows->data))); 119 | return (0); 120 | } 121 | 122 | static gint 123 | app_pid_compare_fn (gconstpointer a, gconstpointer b) 124 | { 125 | return ((const App *)a)->pid - ((const App *)b)->pid; 126 | } 127 | 128 | static void 129 | apps_add_application (GArray *apps, WnckApplication *application, GPid pid) 130 | { 131 | App app; 132 | GdkMonitor *monitor; 133 | GdkPixbuf *pixbuf; 134 | gint scale_factor = 1; 135 | 136 | if (apps_lookup_pid (apps, pid)) 137 | return; 138 | 139 | app.application = application; 140 | app.pid = pid; 141 | g_snprintf (app.name, sizeof (app.name), "%s", wnck_application_get_name (application)); 142 | 143 | monitor = gdk_display_get_monitor (gdk_display_get_default (), 0); 144 | if (monitor != NULL) 145 | scale_factor = gdk_monitor_get_scale_factor (monitor); 146 | pixbuf = wnck_application_get_mini_icon (application); 147 | app.surface = gdk_cairo_surface_create_from_pixbuf (pixbuf, scale_factor, NULL); 148 | 149 | g_array_append_val (apps, app); 150 | g_array_sort (apps, app_pid_compare_fn); 151 | } 152 | 153 | static void 154 | apps_remove_application (GArray *apps, WnckApplication *application) 155 | { 156 | App *app = apps_lookup_pid (apps, app_get_pid (application)); 157 | 158 | if (app == NULL) 159 | app = apps_lookup_app (apps, application); 160 | if (app == NULL) 161 | return; 162 | cairo_surface_destroy (app->surface); 163 | g_array_remove_index (apps, (guint)(((size_t)app - (size_t)apps->data) / sizeof (App))); 164 | } 165 | 166 | static App * 167 | apps_lookup_pid (GArray *apps, GPid pid) 168 | { 169 | App tapp; 170 | 171 | if (apps->data == NULL) 172 | return (NULL); 173 | 174 | tapp.pid = pid; 175 | 176 | return bsearch (&tapp, apps->data, apps->len, sizeof (App), app_pid_compare_fn); 177 | } 178 | 179 | static App * 180 | apps_lookup_app (GArray *apps, WnckApplication *application) 181 | { 182 | App *tapp; 183 | guint i; 184 | 185 | for (i = 0; i < apps->len; i++) 186 | { 187 | tapp = &g_array_index (apps, App, i); 188 | if (tapp->application == application) 189 | return (tapp); 190 | } 191 | 192 | return (NULL); 193 | } 194 | 195 | static void 196 | application_opened (WnckScreen *screen __unused, WnckApplication *application, XtmAppManager *manager) 197 | { 198 | GPid pid = app_get_pid (application); 199 | G_DEBUG_FMT ("Application opened %p %d", (void *)application, pid); 200 | apps_add_application (manager->apps, application, pid); 201 | } 202 | 203 | static void 204 | application_closed (WnckScreen *screen __unused, WnckApplication *application, XtmAppManager *manager) 205 | { 206 | G_DEBUG_FMT ("Application closed %p", (void *)application); 207 | apps_remove_application (manager->apps, application); 208 | } 209 | 210 | static void 211 | scale_factor_changed (GdkMonitor *monitor) 212 | { 213 | wnck_set_default_mini_icon_size (WNCK_DEFAULT_MINI_ICON_SIZE * gdk_monitor_get_scale_factor (monitor)); 214 | } 215 | 216 | 217 | 218 | XtmAppManager * 219 | xtm_app_manager_new (void) 220 | { 221 | return g_object_new (XTM_TYPE_APP_MANAGER, NULL); 222 | } 223 | 224 | App * 225 | xtm_app_manager_get_app_from_pid (XtmAppManager *manager, GPid pid) 226 | { 227 | return apps_lookup_pid (manager->apps, pid); 228 | } 229 | -------------------------------------------------------------------------------- /src/app-manager.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010 Mike Massonnet, 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | */ 9 | 10 | #ifndef APP_MANAGER_H 11 | #define APP_MANAGER_H 12 | 13 | #include 14 | #define WNCK_I_KNOW_THIS_IS_UNSTABLE 15 | #include 16 | 17 | typedef struct _App App; 18 | struct _App 19 | { 20 | WnckApplication *application; 21 | GPid pid; 22 | gchar name[1024]; 23 | cairo_surface_t *surface; 24 | }; 25 | 26 | #define XTM_TYPE_APP_MANAGER (xtm_app_manager_get_type ()) 27 | #define XTM_APP_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), XTM_TYPE_APP_MANAGER, XtmAppManager)) 28 | #define XTM_APP_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), XTM_TYPE_APP_MANAGER, XtmAppManagerClass)) 29 | #define XTM_IS_APP_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), XTM_TYPE_APP_MANAGER)) 30 | #define XTM_IS_APP_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), XTM_TYPE_APP_MANAGER)) 31 | #define XTM_APP_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), XTM_TYPE_APP_MANAGER, XtmAppManagerClass)) 32 | 33 | typedef struct _XtmAppManager XtmAppManager; 34 | 35 | GType xtm_app_manager_get_type (void); 36 | XtmAppManager *xtm_app_manager_new (void); 37 | App *xtm_app_manager_get_app_from_pid (XtmAppManager *manager, GPid pid); 38 | 39 | #endif /* !APP_MANAGER_H */ 40 | -------------------------------------------------------------------------------- /src/meson.build: -------------------------------------------------------------------------------- 1 | taskmanager_generated_sources = [] 2 | 3 | taskmanager_generated_sources += gnome.compile_resources( 4 | 'task-manager-resources', 5 | 'task-manager.gresource.xml', 6 | export: false, 7 | ) 8 | 9 | taskmanager_sources = [ 10 | taskmanager_generated_sources, 11 | 'main.c', 12 | 'process-monitor.c', 13 | 'process-monitor.h', 14 | 'process-statusbar.c', 15 | 'process-statusbar.h', 16 | 'process-tree-model.c', 17 | 'process-tree-model.h', 18 | 'process-tree-view.c', 19 | 'process-tree-view.h', 20 | 'process-window.c', 21 | 'process-window.h', 22 | 'settings-dialog.c', 23 | 'settings-dialog.h', 24 | 'settings.c', 25 | 'settings.h', 26 | 'task-manager.c', 27 | 'task-manager.h', 28 | 'task-manager-@0@.c'.format(os_implementation), 29 | ] 30 | 31 | if libwnck.found() 32 | taskmanager_sources += [ 33 | 'app-manager.c', 34 | 'app-manager.h', 35 | ] 36 | endif 37 | 38 | taskmanager = executable( 39 | 'xfce4-taskmanager', 40 | taskmanager_sources, 41 | sources: xfce_revision_h, 42 | include_directories: [ 43 | include_directories('..'), 44 | ], 45 | dependencies: [ 46 | glib, 47 | gtk, 48 | cairo, 49 | libxmu, 50 | libxfce4util, 51 | libxfce4ui, 52 | xfconf, 53 | libx11, 54 | libwnck, 55 | libkvm, 56 | libkstat, 57 | ], 58 | install: true, 59 | install_dir: get_option('prefix') / get_option('bindir'), 60 | ) 61 | -------------------------------------------------------------------------------- /src/process-monitor.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010 Mike Massonnet, 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | */ 9 | 10 | #ifndef PROCESS_MONITOR_H 11 | #define PROCESS_MONITOR_H 12 | 13 | #include 14 | #include 15 | 16 | #define XTM_TYPE_PROCESS_MONITOR (xtm_process_monitor_get_type ()) 17 | #define XTM_PROCESS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), XTM_TYPE_PROCESS_MONITOR, XtmProcessMonitor)) 18 | #define XTM_PROCESS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), XTM_TYPE_PROCESS_MONITOR, XtmProcessMonitorClass)) 19 | #define XTM_IS_PROCESS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), XTM_TYPE_PROCESS_MONITOR)) 20 | #define XTM_IS_PROCESS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), XTM_TYPE_PROCESS_MONITOR)) 21 | #define XTM_PROCESS_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), XTM_TYPE_PROCESS_MONITOR, XtmProcessMonitorClass)) 22 | 23 | typedef struct _XtmProcessMonitor XtmProcessMonitor; 24 | 25 | GType xtm_process_monitor_get_type (void); 26 | GtkWidget *xtm_process_monitor_new (void); 27 | void xtm_process_monitor_add_peak (XtmProcessMonitor *monitor, gfloat peak, gfloat peak_swap); 28 | void xtm_process_monitor_set_step_size (XtmProcessMonitor *monitor, gfloat step_size); 29 | void xtm_process_monitor_set_type (XtmProcessMonitor *monitor, gint type); 30 | void xtm_process_monitor_clear (XtmProcessMonitor *monitor); 31 | 32 | #endif /* !PROCESS_MONITOR_H */ 33 | -------------------------------------------------------------------------------- /src/process-statusbar.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010 Mike Massonnet, 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | */ 9 | 10 | #ifndef PROCESS_STATUSBAR_H 11 | #define PROCESS_STATUSBAR_H 12 | 13 | #include 14 | #include 15 | 16 | #define XTM_TYPE_PROCESS_STATUSBAR (xtm_process_statusbar_get_type ()) 17 | #define XTM_PROCESS_STATUSBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), XTM_TYPE_PROCESS_STATUSBAR, XtmProcessStatusbar)) 18 | #define XTM_PROCESS_STATUSBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), XTM_TYPE_PROCESS_STATUSBAR, XtmProcessStatusbarClass)) 19 | #define XTM_IS_PROCESS_STATUSBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), XTM_TYPE_PROCESS_STATUSBAR)) 20 | #define XTM_IS_PROCESS_STATUSBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), XTM_TYPE_PROCESS_STATUSBAR)) 21 | #define XTM_PROCESS_STATUSBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), XTM_TYPE_PROCESS_STATUSBAR, XtmProcessStatusbarClass)) 22 | 23 | typedef struct _XtmProcessStatusbar XtmProcessStatusbar; 24 | 25 | GType xtm_process_statusbar_get_type (void); 26 | GtkWidget *xtm_process_statusbar_new (void); 27 | 28 | #endif /* !PROCESS_STATUSBAR_H */ 29 | -------------------------------------------------------------------------------- /src/process-tree-model.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014 Peter de Ridder, 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | */ 9 | 10 | #ifndef PROCESS_TREE_MODEL_H 11 | #define PROCESS_TREE_MODEL_H 12 | 13 | #include 14 | #include 15 | 16 | #define XTM_TYPE_PROCESS_TREE_MODEL (xtm_process_tree_model_get_type ()) 17 | #define XTM_PROCESS_TREE_MODEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), XTM_TYPE_PROCESS_TREE_MODEL, XtmProcessTreeModel)) 18 | #define XTM_PROCESS_TREE_MODE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), XTM_TYPE_PROCESS_TREE_MODEL, XtmProcessTreeModelClass)) 19 | #define XTM_IS_PROCESS_TREE_MODEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), XTM_TYPE_PROCESS_TREE_MODEL)) 20 | #define XTM_IS_PROCESS_TREE_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), XTM_TYPE_PROCESS_TREE_MODEL)) 21 | #define XTM_PROCESS_TREE_MODEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), XTM_TYPE_PROCESS_TREE_MODEL, XtmProcessTreeModelClass)) 22 | 23 | typedef struct _XtmProcessTreeModel XtmProcessTreeModel; 24 | 25 | GType xtm_process_tree_model_get_type (void); 26 | GtkTreeModel *xtm_process_tree_model_new (GtkTreeModel *model); 27 | 28 | #endif /* !PROCESS_TREE_MODEL_H */ 29 | -------------------------------------------------------------------------------- /src/process-tree-view.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010 Mike Massonnet, 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | */ 9 | 10 | #ifndef PROCESS_TREE_VIEW_H 11 | #define PROCESS_TREE_VIEW_H 12 | 13 | #include 14 | #include 15 | 16 | enum 17 | { 18 | #ifdef HAVE_WNCK 19 | XTM_PTV_COLUMN_ICON, 20 | #endif 21 | /* might be prettified; shown to user */ 22 | XTM_PTV_COLUMN_COMMAND, 23 | /* never prettified; used for copying command line to clipboard */ 24 | XTM_PTV_COLUMN_COMMAND_RAW, 25 | XTM_PTV_COLUMN_PID, 26 | XTM_PTV_COLUMN_PPID, 27 | XTM_PTV_COLUMN_STATE, 28 | XTM_PTV_COLUMN_VSZ, 29 | XTM_PTV_COLUMN_VSZ_STR, 30 | XTM_PTV_COLUMN_GROUP_VSZ, 31 | XTM_PTV_COLUMN_GROUP_VSZ_STR, 32 | XTM_PTV_COLUMN_RSS, 33 | XTM_PTV_COLUMN_RSS_STR, 34 | XTM_PTV_COLUMN_GROUP_RSS, 35 | XTM_PTV_COLUMN_GROUP_RSS_STR, 36 | XTM_PTV_COLUMN_UID, 37 | XTM_PTV_COLUMN_UID_STR, 38 | XTM_PTV_COLUMN_CPU, 39 | XTM_PTV_COLUMN_CPU_STR, 40 | XTM_PTV_COLUMN_GROUP_CPU, 41 | XTM_PTV_COLUMN_GROUP_CPU_STR, 42 | XTM_PTV_COLUMN_PRIORITY, 43 | XTM_PTV_COLUMN_BACKGROUND, 44 | XTM_PTV_COLUMN_FOREGROUND, 45 | XTM_PTV_COLUMN_TIMESTAMP, 46 | XTM_PTV_N_COLUMNS, 47 | }; 48 | 49 | #define XTM_TYPE_PROCESS_TREE_VIEW (xtm_process_tree_view_get_type ()) 50 | #define XTM_PROCESS_TREE_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), XTM_TYPE_PROCESS_TREE_VIEW, XtmProcessTreeView)) 51 | #define XTM_PROCESS_TREE_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), XTM_TYPE_PROCESS_TREE_VIEW, XtmProcessTreeViewClass)) 52 | #define XTM_IS_PROCESS_TREE_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), XTM_TYPE_PROCESS_TREE_VIEW)) 53 | #define XTM_IS_PROCESS_TREE_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), XTM_TYPE_PROCESS_TREE_VIEW)) 54 | #define XTM_PROCESS_TREE_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), XTM_TYPE_PROCESS_TREE_VIEW, XtmProcessTreeViewClass)) 55 | 56 | typedef struct _XtmProcessTreeView XtmProcessTreeView; 57 | 58 | GType xtm_process_tree_view_get_type (void); 59 | GtkWidget *xtm_process_tree_view_new (void); 60 | void xtm_process_tree_view_set_filter (XtmProcessTreeView *treeview, const gchar *cmd_filter); 61 | GtkTreeModel *xtm_process_tree_view_get_model (XtmProcessTreeView *treeview); 62 | void xtm_process_tree_view_highlight_pid (XtmProcessTreeView *treeview, GPid pid); 63 | 64 | #endif /* !PROCESS_TREE_VIEW_H */ 65 | -------------------------------------------------------------------------------- /src/process-window.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010 Mike Massonnet, 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | */ 9 | 10 | #ifndef PROCESS_WINDOW_H 11 | #define PROCESS_WINDOW_H 12 | 13 | #include 14 | #include 15 | #include 16 | 17 | #define XTM_TYPE_PROCESS_WINDOW (xtm_process_window_get_type ()) 18 | #define XTM_PROCESS_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), XTM_TYPE_PROCESS_WINDOW, XtmProcessWindow)) 19 | #define XTM_PROCESS_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), XTM_TYPE_PROCESS_WINDOW, XtmProcessWindowClass)) 20 | #define XTM_IS_PROCESS_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), XTM_TYPE_PROCESS_WINDOW)) 21 | #define XTM_IS_PROCESS_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), XTM_TYPE_PROCESS_WINDOW)) 22 | #define XTM_PROCESS_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), XTM_TYPE_PROCESS_WINDOW, XtmProcessWindowClass)) 23 | #define XTM_SHOW_MESSAGE(type, title, message, ...) \ 24 | { \ 25 | GtkWidget *dialog = gtk_message_dialog_new (NULL, 0, type, GTK_BUTTONS_OK, title); \ 26 | gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog), message, ##__VA_ARGS__); \ 27 | gtk_window_set_title (GTK_WINDOW (dialog), _("Task Manager")); \ 28 | gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_MOUSE); \ 29 | gtk_dialog_run (GTK_DIALOG (dialog)); \ 30 | gtk_widget_destroy (dialog); \ 31 | } 32 | 33 | typedef struct _XtmProcessWindow XtmProcessWindow; 34 | 35 | GType xtm_process_window_get_type (void); 36 | GtkWidget *xtm_process_window_new (void); 37 | void xtm_process_window_settings_init (XtmProcessWindow *window, XfconfChannel *channel); 38 | void xtm_process_window_show (GtkWidget *widget); 39 | GtkTreeModel *xtm_process_window_get_model (XtmProcessWindow *window); 40 | void xtm_process_window_set_system_info (XtmProcessWindow *window, guint num_processes, gfloat cpu, gfloat memory, gchar *memory_str, gfloat swap, gchar *swap_str); 41 | void xtm_process_window_show_swap_usage (XtmProcessWindow *window, gboolean show_swap_usage); 42 | 43 | #endif /* !PROCESS_WINDOW_H */ 44 | -------------------------------------------------------------------------------- /src/settings-dialog.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010 Mike Massonnet, 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | */ 9 | 10 | #ifndef SETTINGS_DIALOG_H 11 | #define SETTINGS_DIALOG_H 12 | 13 | #include 14 | #include 15 | 16 | void xtm_settings_dialog_run (GtkWidget *parent_window); 17 | 18 | #endif /* !SETTINGS_DIALOG_H */ 19 | -------------------------------------------------------------------------------- /src/settings.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010 Mike Massonnet, 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | */ 9 | 10 | #ifndef SETTINGS_H 11 | #define SETTINGS_H 12 | 13 | #include 14 | #include 15 | 16 | #define DEFAULT_WINDOW_HEIGHT 600 17 | #define DEFAULT_WINDOW_WIDTH 400 18 | 19 | #define CHANNEL "xfce4-taskmanager" 20 | 21 | /* general settings */ 22 | #define SETTING_SHOW_STATUS_ICON "/show-status-icon" 23 | #define SETTING_PROMPT_TERMINATE_TASK "/prompt-terminate-task" 24 | #define SETTING_WINDOW_MAXIMIZED "/window-maximized" 25 | #define SETTING_WINDOW_WIDTH "/window-width" 26 | #define SETTING_WINDOW_HEIGHT "/window-height" 27 | 28 | /* interface settings */ 29 | #define SETTING_SHOW_FILTER "/interface/show-filter" 30 | #define SETTING_HANDLE_POSITION "/interface/handle-position" 31 | #define SETTING_SHOW_LEGEND "/interface/show-legend" 32 | 33 | #define SETTING_SHOW_ALL_PROCESSES "/interface/show-all-processes" 34 | #define SETTING_SHOW_APPLICATION_ICONS "/interface/show-application-icons" 35 | #define SETTING_FULL_COMMAND_LINE "/interface/full-command-line" 36 | #define SETTING_MORE_PRECISION "/interface/more-precision" 37 | #define SETTING_PROCESS_TREE "/interface/process-tree" 38 | #define SETTING_REFRESH_RATE "/interface/refresh-rate" 39 | 40 | /* column visibility */ 41 | #define SETTING_COLUMN_PID "/columns/column-pid" 42 | #define SETTING_COLUMN_PPID "/columns/column-ppid" 43 | #define SETTING_COLUMN_STATE "/columns/column-state" 44 | #define SETTING_COLUMN_VSZ "/columns/column-vsz" 45 | #define SETTING_COLUMN_GROUP_VSZ "/columns/column-group-vsz" 46 | #define SETTING_COLUMN_RSS "/columns/column-rss" 47 | #define SETTING_COLUMN_GROUP_RSS "/columns/column-group-rss" 48 | #define SETTING_COLUMN_UID "/columns/column-uid" 49 | #define SETTING_COLUMN_CPU "/columns/column-cpu" 50 | #define SETTING_COLUMN_GROUP_CPU "/columns/column-group-cpu" 51 | #define SETTING_COLUMN_PRIORITY "/columns/column-priority" 52 | #define SETTING_COLUMN_SORT_ID "/columns/sort-id" 53 | #define SETTING_COLUMN_SORT_TYPE "/columns/sort-type" 54 | #define SETTING_COLUMN_POSITIONS "/columns/positions" 55 | 56 | #define XTM_TYPE_SETTINGS (xtm_settings_get_type ()) 57 | #define XTM_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), XTM_TYPE_SETTINGS, XtmSettings)) 58 | #define XTM_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), XTM_TYPE_SETTINGS, XtmSettingsClass)) 59 | #define XTM_IS_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), XTM_TYPE_SETTINGS)) 60 | #define XTM_IS_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), XTM_TYPE_SETTINGS)) 61 | #define XTM_SETTINGS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), XTM_TYPE_SETTINGS, XtmSettingsClass)) 62 | 63 | typedef struct _XtmSettings XtmSettings; 64 | 65 | void xtm_settings_bind_xfconf (XtmSettings *settings, XfconfChannel *channel); 66 | GType xtm_settings_get_type (void); 67 | XtmSettings *xtm_settings_get_default (void); 68 | 69 | 70 | 71 | #endif /* !SETTINGS_H */ 72 | -------------------------------------------------------------------------------- /src/task-manager-bsd.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2008-2014 Landry Breuil 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU Library General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 | */ 18 | 19 | #ifdef HAVE_CONFIG_H 20 | #include "config.h" 21 | #endif 22 | 23 | #include "task-manager.h" 24 | 25 | #include 26 | #include 27 | #include 28 | /* for sysctl() */ 29 | #include 30 | #include 31 | #include 32 | /* for swapctl() */ 33 | #include 34 | /* for strlcpy() */ 35 | #include 36 | /* for getpagesize() */ 37 | #include 38 | /* for P_ZOMBIE & SSLEEP */ 39 | #include 40 | /* for struct vmtotal */ 41 | #include 42 | 43 | /* errno */ 44 | #include 45 | extern int errno; 46 | 47 | char *state_abbrev[] = { 48 | "", "start", "run", "sleep", "stop", "zomb", "dead", "onproc" 49 | }; 50 | 51 | gboolean 52 | get_task_list (GArray *task_list) 53 | { 54 | int mib[6]; 55 | size_t size; 56 | #ifdef __OpenBSD__ 57 | struct kinfo_proc *kp; 58 | #else 59 | struct kinfo_proc2 *kp; 60 | #endif 61 | Task t; 62 | char **args; 63 | gchar *buf; 64 | int nproc, i; 65 | 66 | mib[0] = CTL_KERN; 67 | #ifdef __OpenBSD__ 68 | mib[1] = KERN_PROC; 69 | #else 70 | mib[1] = KERN_PROC2; 71 | #endif 72 | mib[2] = KERN_PROC_ALL; 73 | mib[3] = 0; 74 | #ifdef __OpenBSD__ 75 | mib[4] = sizeof (struct kinfo_proc); 76 | #else 77 | mib[4] = sizeof (struct kinfo_proc2); 78 | #endif 79 | mib[5] = 0; 80 | if (sysctl (mib, 6, NULL, &size, NULL, 0) < 0) 81 | #ifdef __OpenBSD__ 82 | errx (1, "could not get kern.proc size"); 83 | #else 84 | errx (1, "could not get kern.proc2 size"); 85 | #endif 86 | size = 5 * size / 4; /* extra slop */ 87 | if ((kp = malloc (size)) == NULL) 88 | errx (1, "failed to allocate memory for proc structures"); 89 | #ifdef __OpenBSD__ 90 | mib[5] = (int)(size / sizeof (struct kinfo_proc)); 91 | #else 92 | mib[5] = (int)(size / sizeof (struct kinfo_proc2)); 93 | #endif 94 | if (sysctl (mib, 6, kp, &size, NULL, 0) < 0) 95 | #ifdef __OpenBSD__ 96 | errx (1, "could not read kern.proc"); 97 | nproc = (int)(size / sizeof (struct kinfo_proc)); 98 | #else 99 | errx (1, "could not read kern.proc2"); 100 | nproc = (int)(size / sizeof (struct kinfo_proc2)); 101 | #endif 102 | for (i = 0; i < nproc; i++) 103 | { 104 | #ifdef __OpenBSD__ 105 | struct kinfo_proc p = kp[i]; 106 | #else 107 | struct kinfo_proc2 p = kp[i]; 108 | #endif 109 | memset (&t, 0, sizeof (t)); 110 | t.pid = p.p_pid; 111 | t.ppid = p.p_ppid; 112 | t.uid = p.p_uid; 113 | t.prio = p.p_priority - PZERO; 114 | t.vsz = p.p_vm_dsize + p.p_vm_ssize + p.p_vm_tsize; 115 | t.vsz *= getpagesize (); 116 | t.rss = p.p_vm_rssize * getpagesize (); 117 | g_snprintf (t.state, sizeof t.state, "%s", state_abbrev[p.p_stat]); 118 | g_strlcpy (t.name, p.p_comm, strlen (p.p_comm) + 1); 119 | /* shamelessly stolen from top/machine.c */ 120 | if (!P_ZOMBIE (&p)) 121 | { 122 | size = 1024; 123 | if ((args = malloc (size)) == NULL) 124 | errx (1, "failed to allocate memory for argv structures at %zu", size); 125 | memset (args, 0, size); 126 | for (;; size *= 2) 127 | { 128 | if ((args = realloc (args, size)) == NULL) 129 | errx (1, "failed to allocate memory (size=%zu) for argv structures of pid %d", size, t.pid); 130 | memset (args, 0, size); 131 | mib[0] = CTL_KERN; 132 | mib[1] = KERN_PROC_ARGS; 133 | mib[2] = t.pid; 134 | mib[3] = KERN_PROC_ARGV; 135 | if (sysctl (mib, 4, args, &size, NULL, 0) == 0) 136 | break; 137 | if (errno != ENOMEM) 138 | { /* ESRCH: process disappeared */ 139 | /* printf ("process with pid %d disappeared, errno=%d\n", t.pid, errno); */ 140 | args[0] = '\0'; 141 | args[1] = NULL; 142 | break; 143 | } 144 | } 145 | buf = g_strjoinv (" ", args); 146 | g_assert (g_utf8_validate (buf, -1, NULL)); 147 | g_strlcpy (t.cmdline, buf, sizeof t.cmdline); 148 | g_free (buf); 149 | free (args); 150 | } 151 | 152 | t.cpu_user = (100.0f * ((gfloat)p.p_pctcpu / FSCALE)); 153 | t.cpu_system = 0.0f; /* TODO ? */ 154 | g_array_append_val (task_list, t); 155 | } 156 | free (kp); 157 | 158 | g_array_sort (task_list, task_pid_compare_fn); 159 | 160 | return TRUE; 161 | } 162 | 163 | gboolean 164 | pid_is_sleeping (GPid pid) 165 | { 166 | int mib[6]; 167 | #ifdef __OpenBSD__ 168 | struct kinfo_proc kp; 169 | size_t size = sizeof (struct kinfo_proc); 170 | #else 171 | struct kinfo_proc2 kp; 172 | size_t size = sizeof (struct kinfo_proc2); 173 | #endif 174 | 175 | mib[0] = CTL_KERN; 176 | #ifdef __OpenBSD__ 177 | mib[1] = KERN_PROC; 178 | #else 179 | mib[1] = KERN_PROC2; 180 | #endif 181 | mib[2] = KERN_PROC_PID; 182 | mib[3] = pid; 183 | #ifdef __OpenBSD__ 184 | mib[4] = sizeof (struct kinfo_proc); 185 | #else 186 | mib[4] = sizeof (struct kinfo_proc2); 187 | #endif 188 | mib[5] = 1; 189 | if (sysctl (mib, 6, &kp, &size, NULL, 0) < 0) 190 | #ifdef __OpenBSD__ 191 | errx (1, "could not read kern.proc for pid %d", pid); 192 | #else 193 | errx (1, "could not read kern.proc2 for pid %d", pid); 194 | #endif 195 | return (kp.p_stat == SSTOP ? TRUE : FALSE); 196 | } 197 | 198 | gboolean 199 | get_cpu_usage (gushort *cpu_count, gfloat *cpu_user, gfloat *cpu_system) 200 | { 201 | static gulong cur_user = 0, cur_system = 0, cur_total = 0; 202 | static gulong old_user = 0, old_system = 0, old_total = 0; 203 | 204 | int mib[] = { CTL_KERN, KERN_CPTIME }; 205 | glong cp_time[CPUSTATES]; 206 | gsize size = sizeof (cp_time); 207 | if (sysctl (mib, 2, &cp_time, &size, NULL, 0) < 0) 208 | errx (1, "failed to get kern.cptime"); 209 | 210 | old_user = cur_user; 211 | old_system = cur_system; 212 | old_total = cur_total; 213 | 214 | cur_user = cp_time[CP_USER] + cp_time[CP_NICE]; 215 | cur_system = cp_time[CP_SYS] + cp_time[CP_INTR]; 216 | cur_total = cur_user + cur_system + cp_time[CP_IDLE]; 217 | 218 | *cpu_user = (old_total > 0) ? (((cur_user - old_user) * 100.0f) / (float)(cur_total - old_total)) : 0.0f; 219 | *cpu_system = (old_total > 0) ? (((cur_system - old_system) * 100.0f) / (float)(cur_total - old_total)) : 0.0f; 220 | 221 | /* get #cpu */ 222 | size = sizeof (&cpu_count); 223 | mib[0] = CTL_HW; 224 | mib[1] = HW_NCPU; 225 | if (sysctl (mib, 2, cpu_count, &size, NULL, 0) == -1) 226 | errx (1, "failed to get cpu count"); 227 | return TRUE; 228 | } 229 | 230 | /* vmtotal values in #pg */ 231 | #define pagetok(nb) ((nb) * (getpagesize ())) 232 | 233 | gboolean 234 | get_memory_usage (guint64 *memory_total, guint64 *memory_available, guint64 *memory_free, guint64 *memory_cache, guint64 *memory_buffers, guint64 *swap_total, guint64 *swap_free) 235 | { 236 | #ifdef __OpenBSD__ 237 | int mib[] = { CTL_VM, VM_UVMEXP }; 238 | struct uvmexp uvmexp; 239 | #else 240 | int mib[] = { CTL_VM, VM_METER }; 241 | struct vmtotal vmtotal; 242 | #endif 243 | struct swapent *swdev; 244 | int nswap, i; 245 | size_t size; 246 | #ifdef __OpenBSD__ 247 | size = sizeof (uvmexp); 248 | if (sysctl (mib, 2, &uvmexp, &size, NULL, 0) < 0) 249 | errx (1, "failed to get vm.uvmexp"); 250 | /* cheat : rm = tot used, add free to get total */ 251 | *memory_free = pagetok ((guint64)uvmexp.free); 252 | *memory_total = pagetok ((guint64)uvmexp.npages); 253 | *memory_cache = 0; 254 | *memory_buffers = 0; /*pagetok(uvmexp.npages - uvmexp.free - uvmexp.active);*/ 255 | #else 256 | size = sizeof (vmtotal); 257 | if (sysctl (mib, 2, &vmtotal, &size, NULL, 0) < 0) 258 | errx (1, "failed to get vm.meter"); 259 | /* cheat : rm = tot used, add free to get total */ 260 | *memory_total = pagetok (vmtotal.t_rm + vmtotal.t_free); 261 | *memory_free = pagetok (vmtotal.t_free); 262 | *memory_cache = 0; 263 | *memory_buffers = pagetok (vmtotal.t_rm - vmtotal.t_arm); 264 | #endif 265 | *memory_available = *memory_free + *memory_cache + *memory_buffers; 266 | 267 | /* get swap stats */ 268 | *swap_total = *swap_free = 0; 269 | if ((nswap = swapctl (SWAP_NSWAP, 0, 0)) == 0) 270 | return TRUE; 271 | 272 | if ((swdev = calloc (nswap, sizeof (*swdev))) == NULL) 273 | errx (1, "failed to allocate memory for swdev structures"); 274 | 275 | if (swapctl (SWAP_STATS, swdev, nswap) == -1) 276 | { 277 | free (swdev); 278 | errx (1, "failed to get swap stats"); 279 | } 280 | 281 | /* Total things up */ 282 | for (i = 0; i < nswap; i++) 283 | { 284 | if (swdev[i].se_flags & SWF_ENABLE) 285 | { 286 | *swap_free += (swdev[i].se_nblks - swdev[i].se_inuse); 287 | *swap_total += swdev[i].se_nblks; 288 | } 289 | } 290 | *swap_total *= DEV_BSIZE; 291 | *swap_free *= DEV_BSIZE; 292 | free (swdev); 293 | return TRUE; 294 | } 295 | -------------------------------------------------------------------------------- /src/task-manager-freebsd.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010 Mike Massonnet 3 | * Copyright (c) 2006 Oliver Lehmann 4 | * Copyright (c) 2018 Rozhuk Ivan 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | */ 11 | 12 | #ifdef HAVE_CONFIG_H 13 | #include "config.h" 14 | #endif 15 | 16 | #include "task-manager.h" 17 | 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | #include 25 | #include 26 | #include 27 | #include 28 | 29 | #if defined(__FreeBSD_version) && __FreeBSD_version >= 900044 30 | #include 31 | #endif 32 | 33 | static const gchar ki_stat2state[] = { 34 | ' ', /* - */ 35 | 'R', /* SIDL */ 36 | 'R', /* SRUN */ 37 | 'S', /* SSLEEP */ 38 | 'T', /* SSTOP */ 39 | 'Z', /* SZOMB */ 40 | 'W', /* SWAIT */ 41 | 'L' /* SLOCK */ 42 | }; 43 | 44 | 45 | static guint64 46 | get_mem_by_bytes (const gchar *name) 47 | { 48 | guint64 buf = 0; 49 | gsize len = sizeof (buf); 50 | 51 | if (sysctlbyname (name, &buf, &len, NULL, 0) < 0) 52 | return 0; 53 | 54 | return buf; 55 | } 56 | 57 | static guint64 58 | get_mem_by_pages (const gchar *name) 59 | { 60 | guint64 res; 61 | 62 | res = get_mem_by_bytes (name); 63 | if (res > 0) 64 | res *= (guint64)getpagesize (); 65 | 66 | return res; 67 | } 68 | 69 | gboolean 70 | get_memory_usage (guint64 *memory_total, guint64 *memory_available, guint64 *memory_free, guint64 *memory_cache, guint64 *memory_buffers, guint64 *swap_total, guint64 *swap_free) 71 | { 72 | /* Get memory usage */ 73 | { 74 | *memory_total = get_mem_by_bytes ("hw.physmem"); 75 | *memory_free = get_mem_by_pages ("vm.stats.vm.v_free_count"); 76 | *memory_cache = get_mem_by_pages ("vm.stats.vm.v_inactive_count"); 77 | *memory_buffers = get_mem_by_bytes ("vfs.bufspace"); 78 | *memory_available = *memory_free + *memory_cache + *memory_buffers; 79 | } 80 | 81 | /* Get swap usage */ 82 | { 83 | kvm_t *kd; 84 | struct kvm_swap kswap; 85 | 86 | if ((kd = kvm_openfiles (_PATH_DEVNULL, _PATH_DEVNULL, NULL, O_RDONLY, NULL)) == NULL) 87 | return FALSE; 88 | 89 | kvm_getswapinfo (kd, &kswap, 1, 0); 90 | *swap_total = (guint64)kswap.ksw_total * (guint64)getpagesize (); 91 | *swap_free = ((guint64)(kswap.ksw_total - kswap.ksw_used)) * (guint64)getpagesize (); 92 | 93 | kvm_close (kd); 94 | } 95 | 96 | return TRUE; 97 | } 98 | 99 | gboolean 100 | get_cpu_usage (gushort *cpu_count, gfloat *cpu_user, gfloat *cpu_system) 101 | { 102 | /* Get CPU count */ 103 | { 104 | size_t len = sizeof (*cpu_count); 105 | sysctlbyname ("hw.ncpu", cpu_count, &len, NULL, 0); 106 | } 107 | 108 | /* Get CPU usage */ 109 | { 110 | static gulong cp_user = 0, cp_system = 0, cp_total = 0; 111 | static gulong cp_user_old = 0, cp_system_old = 0, cp_total_old = 0; 112 | 113 | gulong cpu_state[CPUSTATES] = { 0 }; 114 | size_t len = sizeof (cpu_state); 115 | sysctlbyname ("kern.cp_time", &cpu_state, &len, NULL, 0); 116 | 117 | cp_user_old = cp_user; 118 | cp_system_old = cp_system; 119 | cp_total_old = cp_total; 120 | cp_user = cpu_state[CP_USER] + cpu_state[CP_NICE]; 121 | cp_system = cpu_state[CP_SYS] + cpu_state[CP_INTR]; 122 | cp_total = cpu_state[CP_IDLE] + cp_user + cp_system; 123 | 124 | *cpu_user = *cpu_system = 0.0f; 125 | if (cp_total > cp_total_old) 126 | { 127 | *cpu_user = (((cp_user - cp_user_old) * 100.0f) / (float)(cp_total - cp_total_old)); 128 | *cpu_system = (((cp_system - cp_system_old) * 100.0f) / (float)(cp_total - cp_total_old)); 129 | } 130 | } 131 | 132 | return TRUE; 133 | } 134 | 135 | static gboolean 136 | get_task_details (struct kinfo_proc *kp, Task *task) 137 | { 138 | char buf[1024], *p; 139 | size_t bufsz; 140 | int i, oid[4]; 141 | 142 | memset (task, 0, sizeof (Task)); 143 | task->pid = kp->ki_pid; 144 | task->ppid = kp->ki_ppid; 145 | task->cpu_user = 100.0f * ((float)kp->ki_pctcpu / FSCALE); 146 | task->cpu_system = 0.0f; 147 | task->vsz = kp->ki_size; 148 | task->rss = ((guint64)kp->ki_rssize * (guint64)getpagesize ()); 149 | task->uid = kp->ki_uid; 150 | task->prio = kp->ki_nice; 151 | g_strlcpy (task->name, kp->ki_comm, sizeof (task->name)); 152 | 153 | oid[0] = CTL_KERN; 154 | oid[1] = KERN_PROC; 155 | oid[2] = KERN_PROC_ARGS; 156 | oid[3] = kp->ki_pid; 157 | bufsz = sizeof (buf); 158 | memset (buf, 0, sizeof (buf)); 159 | if (sysctl (oid, 4, buf, &bufsz, 0, 0) == -1) 160 | { 161 | /* 162 | * If the supplied buf is too short to hold the requested 163 | * value the sysctl returns with ENOMEM. The buf is filled 164 | * with the truncated value and the returned bufsz is equal 165 | * to the requested len. 166 | */ 167 | if (errno != ENOMEM || bufsz != sizeof (buf)) 168 | { 169 | bufsz = 0; 170 | } 171 | else 172 | { 173 | buf[(bufsz - 1)] = 0; 174 | } 175 | } 176 | 177 | if (0 != bufsz) 178 | { 179 | p = buf; 180 | do 181 | { 182 | g_strlcat (task->cmdline, p, sizeof (task->cmdline)); 183 | g_strlcat (task->cmdline, " ", sizeof (task->cmdline)); 184 | p += (strlen (p) + 1); 185 | } while (p < buf + bufsz); 186 | } 187 | else 188 | { 189 | g_strlcpy (task->cmdline, kp->ki_comm, sizeof (task->cmdline)); 190 | } 191 | 192 | i = 0; 193 | switch (kp->ki_stat) 194 | { 195 | case SIDL: 196 | case SRUN: 197 | case SSTOP: 198 | case SZOMB: 199 | case SWAIT: 200 | case SLOCK: 201 | task->state[i] = ki_stat2state[(size_t)kp->ki_stat]; 202 | break; 203 | 204 | case SSLEEP: 205 | if (kp->ki_tdflags & TDF_SINTR) 206 | task->state[i] = kp->ki_slptime >= MAXSLP ? 'I' : 'S'; 207 | else 208 | task->state[i] = 'D'; 209 | break; 210 | 211 | default: 212 | task->state[i] = '?'; 213 | } 214 | i++; 215 | if (!(kp->ki_sflag & PS_INMEM)) 216 | task->state[i++] = 'W'; 217 | if (kp->ki_nice < NZERO) 218 | task->state[i++] = '<'; 219 | else if (kp->ki_nice > NZERO) 220 | task->state[i++] = 'N'; 221 | if (kp->ki_flag & P_TRACED) 222 | task->state[i++] = 'X'; 223 | if (kp->ki_flag & P_WEXIT && kp->ki_stat != SZOMB) 224 | task->state[i++] = 'E'; 225 | if (kp->ki_flag & P_PPWAIT) 226 | task->state[i++] = 'V'; 227 | if ((kp->ki_flag & P_SYSTEM) || kp->ki_lock > 0) 228 | task->state[i++] = 'L'; 229 | if (kp->ki_kiflag & KI_SLEADER) 230 | task->state[i++] = 's'; 231 | if ((kp->ki_flag & P_CONTROLT) && kp->ki_pgid == kp->ki_tpgid) 232 | task->state[i++] = '+'; 233 | if (kp->ki_flag & P_JAILED) 234 | task->state[i++] = 'J'; 235 | 236 | return TRUE; 237 | } 238 | 239 | gboolean 240 | get_task_list (GArray *task_list) 241 | { 242 | kvm_t *kd; 243 | struct kinfo_proc *kp; 244 | int cnt = 0, i; 245 | Task task; 246 | 247 | if ((kd = kvm_openfiles (_PATH_DEVNULL, _PATH_DEVNULL, NULL, O_RDONLY, NULL)) == NULL) 248 | return FALSE; 249 | 250 | if ((kp = kvm_getprocs (kd, KERN_PROC_PROC, 0, &cnt)) == NULL) 251 | { 252 | kvm_close (kd); 253 | return FALSE; 254 | } 255 | 256 | for (i = 0; i < cnt; kp++, i++) 257 | { 258 | get_task_details (kp, &task); 259 | g_array_append_val (task_list, task); 260 | } 261 | 262 | kvm_close (kd); 263 | 264 | g_array_sort (task_list, task_pid_compare_fn); 265 | 266 | return TRUE; 267 | } 268 | 269 | gboolean 270 | pid_is_sleeping (GPid pid) 271 | { 272 | kvm_t *kd; 273 | struct kinfo_proc *kp; 274 | gint cnt; 275 | gboolean ret; 276 | 277 | if ((kd = kvm_openfiles (_PATH_DEVNULL, _PATH_DEVNULL, NULL, O_RDONLY, NULL)) == NULL) 278 | return FALSE; 279 | 280 | if ((kp = kvm_getprocs (kd, KERN_PROC_PID, pid, &cnt)) == NULL) 281 | { 282 | kvm_close (kd); 283 | return FALSE; 284 | } 285 | 286 | ret = (kp->ki_stat == SSTOP); 287 | kvm_close (kd); 288 | 289 | return ret; 290 | } 291 | -------------------------------------------------------------------------------- /src/task-manager-skel.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 3 | * 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | */ 10 | 11 | /* Add includes for system functions needed */ 12 | /* Example: 13 | #include 14 | #include 15 | #include 16 | */ 17 | 18 | #ifdef HAVE_CONFIG_H 19 | #include "config.h" 20 | #endif 21 | 22 | #include "task-manager.h" 23 | 24 | /* Cache some values */ 25 | /* Example: 26 | static gushort _cpu_count = 0; 27 | */ 28 | 29 | gboolean 30 | get_memory_usage (guint64 *memory_total, guint64 *memory_available, guint64 *memory_free, guint64 *memory_cache, guint64 *memory_buffers, guint64 *swap_total, guint64 *swap_free) 31 | { 32 | *memory_total = 0; 33 | *memory_free = 0; 34 | *memory_cache = 0; 35 | *memory_buffers = 0; 36 | *memory_available = 0; 37 | *swap_total = 0; 38 | *swap_free = 0; 39 | 40 | return TRUE; 41 | } 42 | 43 | gboolean 44 | get_cpu_usage (gushort *cpu_count, gfloat *cpu_user, gfloat *cpu_system) 45 | { 46 | *cpu_user = *cpu_system = 0.0f; 47 | *cpu_count = 0; /*_cpu_count;*/ 48 | 49 | return TRUE; 50 | } 51 | 52 | static gboolean 53 | get_task_details (GPid pid, Task *task) 54 | { 55 | memset (task, 0, sizeof (Task)); 56 | g_snprintf (task->name, sizeof (task->name), "foo"); 57 | g_snprintf (task->cmdline, sizeof (task->cmdline), "foo -bar"); 58 | task->uid = 1000; 59 | 60 | return TRUE; 61 | } 62 | 63 | gboolean 64 | get_task_list (GArray *task_list) 65 | { 66 | GPid pid = 0; 67 | Task task; 68 | 69 | if (get_task_details (pid, &task)) 70 | { 71 | g_array_append_val (task_list, task); 72 | } 73 | 74 | g_array_sort (task_list, task_pid_compare_fn); 75 | 76 | return TRUE; 77 | } 78 | 79 | gboolean 80 | pid_is_sleeping (GPid pid) 81 | { 82 | /* Read state of PID @pid... */ 83 | 84 | return FALSE; /* (state == sleeping) ? TRUE : FALSE;*/ 85 | } 86 | -------------------------------------------------------------------------------- /src/task-manager-solaris.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010 Mike Massonnet 3 | * Copyright (c) 2009 Peter Tribble 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | */ 10 | 11 | #ifdef HAVE_CONFIG_H 12 | #include "config.h" 13 | #endif 14 | 15 | #include "task-manager.h" 16 | 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | #include 25 | #include 26 | #include 27 | 28 | static kstat_ctl_t *kc; 29 | static gushort _cpu_count = 0; 30 | static gulong ticks_total_delta = 0; 31 | 32 | static void 33 | init_stats (void) 34 | { 35 | kc = kstat_open (); 36 | } 37 | 38 | gboolean 39 | get_memory_usage (guint64 *memory_total, guint64 *memory_available, guint64 *memory_free, guint64 *memory_cache, guint64 *memory_buffers, guint64 *swap_total, guint64 *swap_free) 40 | { 41 | kstat_t *ksp; 42 | kstat_named_t *knp; 43 | gint n; 44 | 45 | if (!kc) 46 | init_stats (); 47 | 48 | if (!(ksp = kstat_lookup (kc, "unix", 0, "system_pages"))) 49 | return FALSE; 50 | kstat_read (kc, ksp, NULL); 51 | knp = kstat_data_lookup (ksp, "physmem"); 52 | *memory_total = getpagesize () * knp->value.ui64; 53 | knp = kstat_data_lookup (ksp, "freemem"); 54 | *memory_free = getpagesize () * knp->value.ui64; 55 | *memory_cache = 0; 56 | *memory_buffers = 0; 57 | *memory_available = *memory_free + *memory_cache + *memory_buffers; 58 | 59 | *swap_total = *swap_free = 0; 60 | if ((n = swapctl (SC_GETNSWP, NULL)) > 0) 61 | { 62 | struct swaptable *st; 63 | struct swapent *swapent; 64 | gchar path[MAXPATHLEN]; 65 | gint i; 66 | 67 | if ((st = malloc (sizeof (int) + n * sizeof (swapent_t))) == NULL) 68 | return FALSE; 69 | st->swt_n = n; 70 | 71 | swapent = st->swt_ent; 72 | for (i = 0; i < n; i++, swapent++) 73 | swapent->ste_path = path; 74 | 75 | if ((swapctl (SC_LIST, st)) == -1) 76 | { 77 | free (st); 78 | return FALSE; 79 | } 80 | 81 | swapent = st->swt_ent; 82 | for (i = 0; i < n; i++, swapent++) 83 | { 84 | *swap_total += swapent->ste_pages * getpagesize (); 85 | *swap_free += swapent->ste_free * getpagesize (); 86 | } 87 | 88 | free (st); 89 | } 90 | 91 | return TRUE; 92 | } 93 | 94 | static void 95 | get_cpu_percent (GPid pid, gulong ticks_user, gfloat *cpu_user, gulong ticks_system, gfloat *cpu_system) 96 | { 97 | static GHashTable *hash_cpu_user = NULL; 98 | static GHashTable *hash_cpu_system = NULL; 99 | gulong ticks_user_old, ticks_system_old; 100 | 101 | if (hash_cpu_user == NULL) 102 | { 103 | hash_cpu_user = g_hash_table_new (NULL, NULL); 104 | hash_cpu_system = g_hash_table_new (NULL, NULL); 105 | } 106 | 107 | ticks_user_old = GPOINTER_TO_UINT (g_hash_table_lookup (hash_cpu_user, GINT_TO_POINTER (pid))); 108 | ticks_system_old = GPOINTER_TO_UINT (g_hash_table_lookup (hash_cpu_system, GINT_TO_POINTER (pid))); 109 | g_hash_table_insert (hash_cpu_user, GINT_TO_POINTER (pid), GUINT_TO_POINTER (ticks_user)); 110 | g_hash_table_insert (hash_cpu_system, GINT_TO_POINTER (pid), GUINT_TO_POINTER (ticks_system)); 111 | 112 | if (ticks_user < ticks_user_old || ticks_system < ticks_system_old) 113 | return; 114 | 115 | if (_cpu_count > 0 && ticks_total_delta > 0) 116 | { 117 | *cpu_user = (((ticks_user - ticks_user_old) * 100.0f) / (float)ticks_total_delta); 118 | *cpu_system = (((ticks_system - ticks_system_old) * 100.0f) / (float)ticks_total_delta); 119 | } 120 | else 121 | { 122 | *cpu_user = *cpu_system = 0.0f; 123 | } 124 | } 125 | 126 | gboolean 127 | get_cpu_usage (gushort *cpu_count, gfloat *cpu_user, gfloat *cpu_system) 128 | { 129 | kstat_t *ksp; 130 | kstat_named_t *knp; 131 | static gulong ticks_total = 0, ticks_total_old = 0; 132 | gulong ticks_user = 0, ticks_system = 0; 133 | 134 | if (!kc) 135 | init_stats (); 136 | 137 | _cpu_count = 0; 138 | kstat_chain_update (kc); 139 | 140 | ticks_total_old = ticks_total; 141 | ticks_total = 0; 142 | 143 | for (ksp = kc->kc_chain; ksp != NULL; ksp = ksp->ks_next) 144 | { 145 | if (!g_strcmp0 (ksp->ks_module, "cpu_info")) 146 | { 147 | _cpu_count += 1; 148 | } 149 | else if (!g_strcmp0 (ksp->ks_module, "cpu") && !g_strcmp0 (ksp->ks_name, "sys")) 150 | { 151 | kstat_read (kc, ksp, NULL); 152 | knp = kstat_data_lookup (ksp, "cpu_nsec_user"); 153 | ticks_user += knp->value.ul / 100000; 154 | knp = kstat_data_lookup (ksp, "cpu_nsec_kernel"); 155 | ticks_system += knp->value.ul / 100000; 156 | knp = kstat_data_lookup (ksp, "cpu_nsec_intr"); 157 | ticks_system += knp->value.ul / 100000; 158 | knp = kstat_data_lookup (ksp, "cpu_nsec_idle"); 159 | ticks_total += knp->value.ul / 100000; 160 | ticks_total += ticks_user + ticks_system; 161 | } 162 | } 163 | 164 | if (ticks_total > ticks_total_old) 165 | ticks_total_delta = ticks_total - ticks_total_old; 166 | 167 | get_cpu_percent (0, ticks_user, cpu_user, ticks_system, cpu_system); 168 | *cpu_count = _cpu_count; 169 | 170 | return TRUE; 171 | } 172 | 173 | static gboolean 174 | get_task_details (GPid pid, Task *task) 175 | { 176 | FILE *file; 177 | gchar filename[96]; 178 | psinfo_t process; 179 | 180 | snprintf (filename, sizeof (filename), "/proc/%d/psinfo", pid); 181 | if ((file = fopen (filename, "r")) == NULL) 182 | return FALSE; 183 | 184 | if (fread (&process, sizeof (psinfo_t), 1, file) != 1) 185 | { 186 | fclose (file); 187 | return FALSE; 188 | } 189 | 190 | memset (task, 0, sizeof (Task)); 191 | task->pid = process.pr_pid; 192 | task->ppid = process.pr_ppid; 193 | g_strlcpy (task->name, process.pr_fname, sizeof (task->name)); 194 | snprintf (task->cmdline, sizeof (task->cmdline), "%s", process.pr_psargs); 195 | snprintf (task->state, sizeof (task->state), "%c", process.pr_lwp.pr_sname); 196 | task->vsz = (guint64)process.pr_size * 1024; 197 | task->rss = (guint64)process.pr_rssize * 1024; 198 | task->prio = process.pr_lwp.pr_pri; 199 | task->uid = (guint)process.pr_uid; 200 | get_cpu_percent (task->pid, (process.pr_time.tv_sec * 1000 + process.pr_time.tv_nsec / 100000), &task->cpu_user, 0, &task->cpu_system); 201 | 202 | fclose (file); 203 | 204 | return TRUE; 205 | } 206 | 207 | gboolean 208 | get_task_list (GArray *task_list) 209 | { 210 | GDir *dir; 211 | const gchar *name; 212 | GPid pid; 213 | Task task; 214 | 215 | if ((dir = g_dir_open ("/proc", 0, NULL)) == NULL) 216 | return FALSE; 217 | 218 | while ((name = g_dir_read_name (dir)) != NULL) 219 | { 220 | if ((pid = (GPid)g_ascii_strtoull (name, NULL, 0)) > 0) 221 | { 222 | if (get_task_details (pid, &task)) 223 | g_array_append_val (task_list, task); 224 | } 225 | } 226 | 227 | g_dir_close (dir); 228 | 229 | g_array_sort (task_list, task_pid_compare_fn); 230 | 231 | return FALSE; 232 | } 233 | 234 | gboolean 235 | pid_is_sleeping (GPid pid) 236 | { 237 | FILE *file; 238 | gchar filename[96]; 239 | gchar state[2]; 240 | psinfo_t process; 241 | 242 | snprintf (filename, sizeof (filename), "/proc/%d/psinfo", pid); 243 | if ((file = fopen (filename, "r")) == NULL) 244 | return FALSE; 245 | 246 | if (fread (&process, sizeof (psinfo_t), 1, file) != 1) 247 | { 248 | fclose (file); 249 | return FALSE; 250 | } 251 | 252 | snprintf (state, sizeof (state), "%c", process.pr_lwp.pr_sname); 253 | fclose (file); 254 | 255 | return (state[0] == 'T') ? TRUE : FALSE; 256 | } 257 | -------------------------------------------------------------------------------- /src/task-manager.gresource.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | process-window.ui 5 | 6 | 7 | settings-dialog.ui 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/task-manager.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010 Mike Massonnet, 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | */ 9 | 10 | #ifndef TASK_MANAGER_H 11 | #define TASK_MANAGER_H 12 | 13 | #include 14 | #include 15 | 16 | /** 17 | * Legend colors 18 | */ 19 | #define XTM_LEGEND_COLOR_NONE "#000000" 20 | #define XTM_LEGEND_COLOR_STARTING "#aed581" 21 | #define XTM_LEGEND_COLOR_CHANGING "#fff176" 22 | #define XTM_LEGEND_COLOR_TERMINATING "#e57373" 23 | 24 | /** 25 | * Task struct used as elements of a task list GArray. 26 | */ 27 | 28 | typedef struct _Task Task; 29 | struct _Task 30 | { 31 | guint uid; 32 | GPid pid; 33 | GPid ppid; 34 | gchar name[256]; 35 | gchar cmdline[1024]; 36 | gchar state[16]; 37 | gfloat cpu_user; 38 | gfloat cpu_system; 39 | guint64 vsz; 40 | guint64 rss; 41 | gint prio; 42 | 43 | // Aggregated values 44 | gfloat group_cpu_user; 45 | gfloat group_cpu_system; 46 | guint64 group_vsz; 47 | guint64 group_rss; 48 | }; 49 | 50 | /** 51 | * OS specific implementation. 52 | * 53 | * memory_available = free + cache + buffers + an-OS-specific-value 54 | */ 55 | 56 | gboolean get_memory_usage (guint64 *memory_total, guint64 *memory_available, guint64 *memory_free, guint64 *memory_cache, guint64 *memory_buffers, guint64 *swap_total, guint64 *swap_free); 57 | gboolean get_cpu_usage (gushort *cpu_count, gfloat *cpu_user, gfloat *cpu_system); 58 | gboolean get_task_list (GArray *task_list); 59 | gboolean pid_is_sleeping (GPid pid); 60 | 61 | /** 62 | * GObject class used to update the graphical widgets. 63 | */ 64 | 65 | #define XTM_TYPE_TASK_MANAGER (xtm_task_manager_get_type ()) 66 | #define XTM_TASK_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), XTM_TYPE_TASK_MANAGER, XtmTaskManager)) 67 | #define XTM_TASK_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), XTM_TYPE_TASK_MANAGER, XtmTaskManagerClass)) 68 | #define XTM_IS_TASK_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), XTM_TYPE_TASK_MANAGER)) 69 | #define XTM_IS_TASK_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), XTM_TYPE_TASK_MANAGER)) 70 | #define XTM_TASK_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), XTM_TYPE_TASK_MANAGER, XtmTaskManagerClass)) 71 | 72 | typedef struct _XtmTaskManager XtmTaskManager; 73 | 74 | GType xtm_task_manager_get_type (void); 75 | XtmTaskManager *xtm_task_manager_new (GtkTreeModel *model); 76 | void xtm_task_manager_get_system_info (XtmTaskManager *manager, guint *num_processes, gfloat *cpu, 77 | guint64 *memory_used, guint64 *memory_total, 78 | guint64 *swap_used, guint64 *swap_total); 79 | void xtm_task_manager_get_swap_usage (XtmTaskManager *manager, guint64 *swap_free, guint64 *swap_total); 80 | const GArray *xtm_task_manager_get_task_list (XtmTaskManager *manager); 81 | void xtm_task_manager_update_model (XtmTaskManager *manager); 82 | 83 | /** 84 | * Helper functions. 85 | */ 86 | 87 | enum 88 | { 89 | XTM_SIGNAL_TERMINATE = 0, 90 | XTM_SIGNAL_STOP, 91 | XTM_SIGNAL_CONTINUE, 92 | XTM_SIGNAL_KILL, 93 | }; 94 | 95 | enum 96 | { 97 | XTM_PRIORITY_VERY_LOW = 0, 98 | XTM_PRIORITY_LOW, 99 | XTM_PRIORITY_NORMAL, 100 | XTM_PRIORITY_HIGH, 101 | XTM_PRIORITY_VERY_HIGH, 102 | }; 103 | 104 | gchar *get_uid_name (guint uid); 105 | gboolean send_signal_to_pid (GPid pid, gint xtm_signal); 106 | gint task_pid_compare_fn (gconstpointer a, gconstpointer b); 107 | gboolean set_priority_to_pid (GPid pid, gint priority); 108 | 109 | 110 | #ifndef __unused 111 | #define __unused __attribute__ ((__unused__)) 112 | #endif 113 | 114 | #ifdef DEBUG 115 | #define G_DEBUG_FMT(fmt, args...) g_debug ((fmt), ##args) 116 | #else 117 | #define G_DEBUG_FMT(fmt, args...) 118 | #endif 119 | 120 | gboolean xtm_gtk_widget_is_dark_mode (GtkWidget *widget); 121 | 122 | #endif /* !TASK_MANAGER_H */ 123 | -------------------------------------------------------------------------------- /xfce-revision.h.in: -------------------------------------------------------------------------------- 1 | /* 2 | * The file xfce-revision.h is auto-generated and should not be modified 3 | * directly. Modify the xfce-revision.h.in file and re-run the build 4 | * instead. 5 | */ 6 | 7 | #ifndef INC_XFCE_REVISION_H 8 | #define INC_XFCE_REVISION_H 9 | 10 | #define REVISION "@REVISION@" 11 | 12 | #define VERSION_FULL VERSION "-" REVISION 13 | #define PACKAGE_STRING_FULL PACKAGE " " VERSION_FULL 14 | 15 | #endif /* INC_XFCE_REVISION_H */ 16 | -------------------------------------------------------------------------------- /xfce4-taskmanager.desktop.in: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Task Manager 3 | Comment=Easy to use application to monitor system resources 4 | GenericName=Task Manager 5 | Exec=xfce4-taskmanager 6 | Icon=org.xfce.taskmanager 7 | Terminal=false 8 | StartupNotify=true 9 | Type=Application 10 | Categories=System;Utility; 11 | Keywords=monitor;resources;system;task;performance; 12 | --------------------------------------------------------------------------------