├── .gitignore ├── .pre-commit-config.yaml ├── CHANGELOG.rst ├── LGPL ├── LICENCE ├── Makefile ├── README.rst ├── caffeine ├── __init__.py ├── __main__.py ├── applicationinstance.py ├── assets │ ├── glade │ │ ├── GUI.glade │ │ └── proc.glade │ ├── icons │ │ ├── hicolor │ │ │ ├── 16x16 │ │ │ │ ├── apps │ │ │ │ │ └── caffeine.png │ │ │ │ └── status │ │ │ │ │ ├── caffeine-cup-empty.png │ │ │ │ │ └── caffeine-cup-full.png │ │ │ ├── 22x22 │ │ │ │ ├── apps │ │ │ │ │ └── caffeine.png │ │ │ │ └── status │ │ │ │ │ ├── caffeine-cup-empty.png │ │ │ │ │ └── caffeine-cup-full.png │ │ │ ├── 24x24 │ │ │ │ ├── apps │ │ │ │ │ └── caffeine.png │ │ │ │ └── status │ │ │ │ │ ├── caffeine-cup-empty.png │ │ │ │ │ └── caffeine-cup-full.png │ │ │ ├── 32x32 │ │ │ │ ├── apps │ │ │ │ │ └── caffeine.png │ │ │ │ └── status │ │ │ │ │ ├── caffeine-cup-empty.png │ │ │ │ │ └── caffeine-cup-full.png │ │ │ ├── 48x48 │ │ │ │ ├── apps │ │ │ │ │ └── caffeine.png │ │ │ │ └── status │ │ │ │ │ ├── caffeine-cup-empty.png │ │ │ │ │ └── caffeine-cup-full.png │ │ │ └── scalable │ │ │ │ ├── apps │ │ │ │ └── caffeine.svg │ │ │ │ └── status │ │ │ │ ├── caffeine-cup-empty.svg │ │ │ │ └── caffeine-cup-full.svg │ │ └── ubuntu-mono-dark │ │ │ └── status │ │ │ ├── 16 │ │ │ ├── caffeine-cup-empty.png │ │ │ └── caffeine-cup-full.png │ │ │ ├── 22 │ │ │ ├── caffeine-cup-empty.png │ │ │ └── caffeine-cup-full.png │ │ │ ├── 24 │ │ │ ├── caffeine-cup-empty.png │ │ │ └── caffeine-cup-full.png │ │ │ ├── 32 │ │ │ ├── caffeine-cup-empty.png │ │ │ └── caffeine-cup-full.png │ │ │ ├── 48 │ │ │ ├── caffeine-cup-empty.png │ │ │ └── caffeine-cup-full.png │ │ │ └── scalable │ │ │ ├── caffeine-cup-empty.svg │ │ │ └── caffeine-cup-full.svg │ └── images │ │ ├── Empty_Cup.svg │ │ ├── Full_Cup.svg │ │ └── application-x-executable.png ├── cli.py ├── core.py ├── icons.py ├── inhibitors.py ├── locale │ ├── ar │ │ └── LC_MESSAGES │ │ │ └── caffeine.mo │ ├── bg │ │ └── LC_MESSAGES │ │ │ └── caffeine.mo │ ├── bs │ │ └── LC_MESSAGES │ │ │ └── caffeine.mo │ ├── ca │ │ └── LC_MESSAGES │ │ │ └── caffeine.mo │ ├── cs │ │ └── LC_MESSAGES │ │ │ └── caffeine.mo │ ├── da │ │ └── LC_MESSAGES │ │ │ └── caffeine.mo │ ├── de │ │ └── LC_MESSAGES │ │ │ └── caffeine.mo │ ├── el │ │ └── LC_MESSAGES │ │ │ └── caffeine.mo │ ├── en_GB │ │ └── LC_MESSAGES │ │ │ └── caffeine.mo │ ├── eo │ │ └── LC_MESSAGES │ │ │ └── caffeine.mo │ ├── es │ │ └── LC_MESSAGES │ │ │ └── caffeine.mo │ ├── eu │ │ └── LC_MESSAGES │ │ │ └── caffeine.mo │ ├── fi │ │ └── LC_MESSAGES │ │ │ └── caffeine.mo │ ├── fr │ │ └── LC_MESSAGES │ │ │ └── caffeine.mo │ ├── gl │ │ └── LC_MESSAGES │ │ │ └── caffeine.mo │ ├── he │ │ └── LC_MESSAGES │ │ │ └── caffeine.mo │ ├── hu │ │ └── LC_MESSAGES │ │ │ └── caffeine.mo │ ├── it │ │ └── LC_MESSAGES │ │ │ └── caffeine.mo │ ├── ja │ │ └── LC_MESSAGES │ │ │ └── caffeine.mo │ ├── lt │ │ └── LC_MESSAGES │ │ │ └── caffeine.mo │ ├── ms │ │ └── LC_MESSAGES │ │ │ └── caffeine.mo │ ├── nl │ │ └── LC_MESSAGES │ │ │ └── caffeine.mo │ ├── no │ │ └── LC_MESSAGES │ │ │ └── caffeine.mo │ ├── pl │ │ └── LC_MESSAGES │ │ │ └── caffeine.mo │ ├── pt │ │ └── LC_MESSAGES │ │ │ └── caffeine.mo │ ├── pt_BR │ │ └── LC_MESSAGES │ │ │ └── caffeine.mo │ ├── ro │ │ └── LC_MESSAGES │ │ │ └── caffeine.mo │ ├── ru │ │ └── LC_MESSAGES │ │ │ └── caffeine.mo │ ├── sk │ │ └── LC_MESSAGES │ │ │ └── caffeine.mo │ ├── sv │ │ └── LC_MESSAGES │ │ │ └── caffeine.mo │ ├── th │ │ └── LC_MESSAGES │ │ │ └── caffeine.mo │ ├── tr │ │ └── LC_MESSAGES │ │ │ └── caffeine.mo │ ├── uk │ │ └── LC_MESSAGES │ │ │ └── caffeine.mo │ ├── vi │ │ └── LC_MESSAGES │ │ │ └── caffeine.mo │ ├── xh │ │ └── LC_MESSAGES │ │ │ └── caffeine.mo │ └── zh_TW │ │ └── LC_MESSAGES │ │ └── caffeine.mo ├── main.py ├── paths.py ├── procmanager.py ├── triggers.py └── utils.py ├── scripts ├── compile_translations.py ├── generate_pot.sh └── update_translations.sh ├── setup.cfg ├── setup.py ├── share ├── applications │ └── caffeine.desktop ├── glib-2.0 │ └── schemas │ │ └── net.launchpad.caffeine.gschema.xml ├── man │ └── man1 │ │ └── caffeine.1.gz └── pixmaps │ └── caffeine.png └── translations ├── ar.po ├── be.po ├── bg.po ├── bs.po ├── ca.po ├── caffeine.pot ├── cs.po ├── da.po ├── de.po ├── el.po ├── en_GB.po ├── eo.po ├── es.po ├── eu.po ├── fi.po ├── fr.po ├── gl.po ├── he.po ├── hu.po ├── it.po ├── ja.po ├── lt.po ├── ms.po ├── nl.po ├── no.po ├── pl.po ├── pt.po ├── pt_BR.po ├── ro.po ├── ru.po ├── sk.po ├── sv.po ├── th.po ├── tr.po ├── uk.po ├── vi.po ├── xh.po └── zh_TW.po /.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | build 3 | dist 4 | caffeine_ng.egg-info 5 | etc 6 | *.swp 7 | caffeine/version.py 8 | .tox 9 | -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- 1 | # See https://pre-commit.com for more information 2 | # See https://pre-commit.com/hooks.html for more hooks 3 | # vim: set nospell: 4 | repos: 5 | - repo: https://github.com/pre-commit/pre-commit-hooks 6 | rev: v4.3.0 7 | hooks: 8 | - id: trailing-whitespace 9 | args: [--markdown-linebreak-ext=md] 10 | - id: end-of-file-fixer 11 | - id: check-toml 12 | - id: check-added-large-files 13 | - id: debug-statements 14 | - repo: https://github.com/pycqa/isort 15 | rev: 5.10.1 16 | hooks: 17 | - id: isort 18 | - repo: https://github.com/psf/black 19 | rev: "22.6.0" 20 | hooks: 21 | - id: black 22 | - repo: https://github.com/PyCQA/flake8 23 | rev: "4.0.1" 24 | hooks: 25 | - id: flake8 26 | additional_dependencies: 27 | - flake8-comprehensions 28 | - flake8-bugbear 29 | - repo: https://github.com/pre-commit/mirrors-prettier 30 | rev: "v2.7.1" 31 | hooks: 32 | - id: prettier 33 | - repo: https://github.com/pre-commit/mirrors-mypy 34 | rev: "v0.961" 35 | hooks: 36 | - id: mypy 37 | - repo: https://github.com/asottile/pyupgrade 38 | rev: v2.34.0 39 | hooks: 40 | - id: pyupgrade 41 | args: [--py36-plus] 42 | -------------------------------------------------------------------------------- /CHANGELOG.rst: -------------------------------------------------------------------------------- 1 | 2 | Changelog 3 | ========= 4 | 5 | v4.0.0 6 | ------ 7 | 8 | Command line usage changes 9 | .......................... 10 | 11 | This release rewrites the CLI portion of caffeine-ng into ``click``. ``click`` 12 | is the standard library in python for writing CLI apps, and is better 13 | maintained. This is part of an initiative to bring caffeine to a more modern 14 | stack and facilitate future development on it. 15 | 16 | This rewrite also allowed for cleaning up some skeletons in the closet. 17 | 18 | ``caffeine-ng`` now depends on ``click``, and no longer depends on ``docopt``. 19 | 20 | The CLI interface has changed slightly, but should now be more easy to 21 | navigate. See ``caffeine --help``, ``caffeine start --help``, etc. 22 | 23 | The way the PID file is handled has been hardened and simplified, but this will 24 | result in caffeine 4.0 not killing older versions. Exit any older versions that 25 | may be running before upgrading (or simply don't restart it until your next 26 | reboot). 27 | 28 | Status icon changes 29 | ................... 30 | 31 | The `libappindicator` dependency is now mandatory. 32 | 33 | Previously, we'd determine whether to use StatusIcon vs AppIndicator based on 34 | the presence of this dependency. This was problematic for users who had the 35 | library installed as a dependency for another program, but wanted StatusIcons. 36 | If you want a StatusIcon, please set the `CAFFEINE_LEGACY_TRAY` to any value. 37 | 38 | This also reduces confusion for users of desktops that _only_ support 39 | AppIndicator, but were unaware of the difference or unaware of the optional 40 | dependency. 41 | 42 | If your desktop *does not* support AppIndicator, fallback to using a StatusIcon 43 | should be automatic. If you get *no* icon out-of-the-box, please report the 44 | issue. 45 | 46 | 47 | Other changes 48 | ............. 49 | 50 | - Xorg-based inhibitors are now disabled on Wayland. 51 | 52 | - Python 3.6 or later is required. Python 3.6 and 3.7 are deprecated and will 53 | soon be dropped. This will be the last release with support for these 54 | versions. 55 | 56 | - Added support for xfce "presentation mode". 57 | 58 | - **Breaking**: python-docopt is no longer required. python-click is now 59 | required. 60 | 61 | - Pulseaudio support has been reworked, and should have less false positives, 62 | but it's still imperfect. In future, an MPRIS alternative might be a 63 | suitable replacement. 64 | 65 | - Various translations have been updated. 66 | 67 | - Desktop entries no longer have absolute paths, which should ease writing 68 | wrapper scripts or using tools like Firejail. 69 | 70 | - The "preferences" desktop entry has been dropped. 71 | -------------------------------------------------------------------------------- /LGPL: -------------------------------------------------------------------------------- 1 | GNU LESSER GENERAL PUBLIC LICENSE 2 | Version 3, 29 June 2007 3 | 4 | Copyright (C) 2007 Free Software Foundation, Inc. 5 | Everyone is permitted to copy and distribute verbatim copies 6 | of this license document, but changing it is not allowed. 7 | 8 | 9 | This version of the GNU Lesser General Public License incorporates 10 | the terms and conditions of version 3 of the GNU General Public 11 | License, supplemented by the additional permissions listed below. 12 | 13 | 0. Additional Definitions. 14 | 15 | As used herein, "this License" refers to version 3 of the GNU Lesser 16 | General Public License, and the "GNU GPL" refers to version 3 of the GNU 17 | General Public License. 18 | 19 | "The Library" refers to a covered work governed by this License, 20 | other than an Application or a Combined Work as defined below. 21 | 22 | An "Application" is any work that makes use of an interface provided 23 | by the Library, but which is not otherwise based on the Library. 24 | Defining a subclass of a class defined by the Library is deemed a mode 25 | of using an interface provided by the Library. 26 | 27 | A "Combined Work" is a work produced by combining or linking an 28 | Application with the Library. The particular version of the Library 29 | with which the Combined Work was made is also called the "Linked 30 | Version". 31 | 32 | The "Minimal Corresponding Source" for a Combined Work means the 33 | Corresponding Source for the Combined Work, excluding any source code 34 | for portions of the Combined Work that, considered in isolation, are 35 | based on the Application, and not on the Linked Version. 36 | 37 | The "Corresponding Application Code" for a Combined Work means the 38 | object code and/or source code for the Application, including any data 39 | and utility programs needed for reproducing the Combined Work from the 40 | Application, but excluding the System Libraries of the Combined Work. 41 | 42 | 1. Exception to Section 3 of the GNU GPL. 43 | 44 | You may convey a covered work under sections 3 and 4 of this License 45 | without being bound by section 3 of the GNU GPL. 46 | 47 | 2. Conveying Modified Versions. 48 | 49 | If you modify a copy of the Library, and, in your modifications, a 50 | facility refers to a function or data to be supplied by an Application 51 | that uses the facility (other than as an argument passed when the 52 | facility is invoked), then you may convey a copy of the modified 53 | version: 54 | 55 | a) under this License, provided that you make a good faith effort to 56 | ensure that, in the event an Application does not supply the 57 | function or data, the facility still operates, and performs 58 | whatever part of its purpose remains meaningful, or 59 | 60 | b) under the GNU GPL, with none of the additional permissions of 61 | this License applicable to that copy. 62 | 63 | 3. Object Code Incorporating Material from Library Header Files. 64 | 65 | The object code form of an Application may incorporate material from 66 | a header file that is part of the Library. You may convey such object 67 | code under terms of your choice, provided that, if the incorporated 68 | material is not limited to numerical parameters, data structure 69 | layouts and accessors, or small macros, inline functions and templates 70 | (ten or fewer lines in length), you do both of the following: 71 | 72 | a) Give prominent notice with each copy of the object code that the 73 | Library is used in it and that the Library and its use are 74 | covered by this License. 75 | 76 | b) Accompany the object code with a copy of the GNU GPL and this license 77 | document. 78 | 79 | 4. Combined Works. 80 | 81 | You may convey a Combined Work under terms of your choice that, 82 | taken together, effectively do not restrict modification of the 83 | portions of the Library contained in the Combined Work and reverse 84 | engineering for debugging such modifications, if you also do each of 85 | the following: 86 | 87 | a) Give prominent notice with each copy of the Combined Work that 88 | the Library is used in it and that the Library and its use are 89 | covered by this License. 90 | 91 | b) Accompany the Combined Work with a copy of the GNU GPL and this license 92 | document. 93 | 94 | c) For a Combined Work that displays copyright notices during 95 | execution, include the copyright notice for the Library among 96 | these notices, as well as a reference directing the user to the 97 | copies of the GNU GPL and this license document. 98 | 99 | d) Do one of the following: 100 | 101 | 0) Convey the Minimal Corresponding Source under the terms of this 102 | License, and the Corresponding Application Code in a form 103 | suitable for, and under terms that permit, the user to 104 | recombine or relink the Application with a modified version of 105 | the Linked Version to produce a modified Combined Work, in the 106 | manner specified by section 6 of the GNU GPL for conveying 107 | Corresponding Source. 108 | 109 | 1) Use a suitable shared library mechanism for linking with the 110 | Library. A suitable mechanism is one that (a) uses at run time 111 | a copy of the Library already present on the user's computer 112 | system, and (b) will operate properly with a modified version 113 | of the Library that is interface-compatible with the Linked 114 | Version. 115 | 116 | e) Provide Installation Information, but only if you would otherwise 117 | be required to provide such information under section 6 of the 118 | GNU GPL, and only to the extent that such information is 119 | necessary to install and execute a modified version of the 120 | Combined Work produced by recombining or relinking the 121 | Application with a modified version of the Linked Version. (If 122 | you use option 4d0, the Installation Information must accompany 123 | the Minimal Corresponding Source and Corresponding Application 124 | Code. If you use option 4d1, you must provide the Installation 125 | Information in the manner specified by section 6 of the GNU GPL 126 | for conveying Corresponding Source.) 127 | 128 | 5. Combined Libraries. 129 | 130 | You may place library facilities that are a work based on the 131 | Library side by side in a single library together with other library 132 | facilities that are not Applications and are not covered by this 133 | License, and convey such a combined library under terms of your 134 | choice, if you do both of the following: 135 | 136 | a) Accompany the combined library with a copy of the same work based 137 | on the Library, uncombined with any other library facilities, 138 | conveyed under the terms of this License. 139 | 140 | b) Give prominent notice with the combined library that part of it 141 | is a work based on the Library, and explaining where to find the 142 | accompanying uncombined form of the same work. 143 | 144 | 6. Revised Versions of the GNU Lesser General Public License. 145 | 146 | The Free Software Foundation may publish revised and/or new versions 147 | of the GNU Lesser General Public License from time to time. Such new 148 | versions will be similar in spirit to the present version, but may 149 | differ in detail to address new problems or concerns. 150 | 151 | Each version is given a distinguishing version number. If the 152 | Library as you received it specifies that a certain numbered version 153 | of the GNU Lesser General Public License "or any later version" 154 | applies to it, you have the option of following the terms and 155 | conditions either of that published version or of any later version 156 | published by the Free Software Foundation. If the Library as you 157 | received it does not specify a version number of the GNU Lesser 158 | General Public License, you may choose any version of the GNU Lesser 159 | General Public License ever published by the Free Software Foundation. 160 | 161 | If the Library as you received it specifies that a proxy can decide 162 | whether future versions of the GNU Lesser General Public License shall 163 | apply, that proxy's public statement of acceptance of any version is 164 | permanent authorization for you to choose that version for the 165 | Library. 166 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | build: 2 | python setup.py build 3 | install: 4 | python setup.py install 5 | generate_pot: 6 | python scripts/generate_pot.py 7 | compile_translations: 8 | python scripts/compile_translations.py 9 | update_translations: 10 | python scripts/update_translations.py 11 | clean: 12 | rm -rf build etc 13 | find . -name "*.pyc" -delete 14 | .PHONY: install build clean 15 | -------------------------------------------------------------------------------- /README.rst: -------------------------------------------------------------------------------- 1 | Caffeine-ng 2 | =========== 3 | 4 | ⚠️ Migrated to codeberg.org 5 | -------------------------- 6 | This project has `migrated to codeberg.org`_ 7 | -------------------------------------------- 8 | 9 | .. _migrated to codeberg.org: https://codeberg.org/WhyNotHugo/caffeine-ng 10 | 11 | .. image:: https://travis-ci.com/caffeine-ng/caffeine-ng.svg?branch=master 12 | :target: https://travis-ci.com/caffeine-ng/caffeine-ng 13 | :alt: build status 14 | 15 | .. image:: https://img.shields.io/pypi/v/caffeine-ng.svg 16 | :target: https://pypi.python.org/pypi/caffeine-ng 17 | :alt: version on pypi 18 | 19 | .. image:: https://img.shields.io/pypi/l/caffeine-ng.svg 20 | :target: https://github.com/caffeine-ng/caffeine-ng/blob/master/LICENCE 21 | :alt: licence 22 | 23 | Caffeine is a little daemon that sits in your systray, and prevents the 24 | screensaver from showing up, or the system from going to sleep. It does so when 25 | an application is fullscreened (eg: youtube), or when you click on the systray 26 | icon (which you can do, when, eg: reading). 27 | 28 | History 29 | ------- 30 | 31 | Caffeing-ng (since 2014) started as a fork of `Caffeine 2.4`_, since the 32 | original version dropped support for the systray icon in favour of only 33 | automatic detection of fullscreen apps only, which turned to be a rather 34 | `controversial`_ decision. 35 | 36 | The intention of this fork is to also evolve on its own, not only fixing 37 | issues, but also implemented missing features, when relevant. 38 | 39 | Caffeine-ng was shortly know as Taurine, a play on its successor's name, since 40 | taurine is a known stimulant, commonly found in energy drinks. However, this 41 | name did not last, since the artwork would not match adequately, and changing 42 | it was undesirable. 43 | 44 | .. _Caffeine 2.4: http://launchpad.net/caffeine/ 45 | .. _controversial: https://bugs.launchpad.net/caffeine/+bug/1321750 46 | 47 | System requirements 48 | ------------------- 49 | 50 | * Python 3.6 to 3.9 is required. 51 | 52 | * ``caffeine-ng`` works with the following screensavers / screenlockers: 53 | 54 | * Anything that implements the ``org.freedesktop.ScreenSaver`` API (this 55 | includes KDE, amongst others) 56 | * gnome-screensaver 57 | * XSS 58 | * Xorg + DPMS 59 | * xautolock 60 | * xidlehook. 61 | 62 | See ``setup.py`` for required python packages 63 | 64 | Installation 65 | ------------ 66 | 67 | Generic installation 68 | .................... 69 | 70 | To manually install caffeine-ng, run:: 71 | 72 | python setup.py build 73 | sudo python setup.py install 74 | sudo glib-compile-schemas /usr/share/glib-2.0/schemas 75 | 76 | Debian and derivatives 77 | ...................... 78 | 79 | First install all the required packages:: 80 | 81 | apt install python-click python-ewmh python-setproctitle python-wheel python-xdg 82 | 83 | And mark them auto if you wish:: 84 | 85 | apt-mark auto python-click python-ewmh python-setproctitle python-wheel python-xdg 86 | 87 | Then you need to build sources with:: 88 | 89 | make clean 90 | make build 91 | 92 | Create a package for your distribution:: 93 | 94 | checkinstall --pkgname=caffeine-ng --pkgversion=3.4 --requires="python-click \(\>=0.6.2\),python-ewmh \(\>=0.1.4\),python-setproctitle \(\>=1.1.10\),python-wheel \(\>=0.29.0\),python-xdg \(\>=0.25\)" --conflicts="caffeine" --nodoc python ./setup.py install --install-layout=deb 95 | 96 | Replace version string with correct version and append this command with 97 | ``--install=no`` should you wish to inspect created package before installing 98 | it Replace ``python`` with ``python3`` in package names above if you wish to 99 | build caffeine-ng with python 3 100 | 101 | Replace ``python`` with ``python3`` in ``checkinstall`` invocation to use 102 | specific python version to build caffeine-ng. 103 | 104 | ``checkinstall`` is available for various distributions, so you may follow 105 | these steps adapting them to your distribution 106 | 107 | ArchLinux 108 | ......... 109 | 110 | On ArchLinux, caffeine-ng is available at the `AUR`_. 111 | 112 | .. _AUR: https://aur.archlinux.org/packages/caffeine-ng/ 113 | 114 | Gentoo 115 | ...... 116 | 117 | Gentoo users may find `caffeine-ng `_ in `::pf4public `_ Gentoo overlay 118 | 119 | Auto-start 120 | ---------- 121 | 122 | To have Caffeine-ng run on startup, add it to your System Settings => Startup 123 | Programs list. 124 | 125 | License 126 | ------- 127 | 128 | Copyright (C) 2009 The Caffeine Developers 129 | Copyright (C) 2014-2022 Hugo Osvaldo Barrera 130 | 131 | Caffeine-ng is distributed under the GNU General Public License, either version 132 | 3, or (at your option) any later version. See LICENCE for details. 133 | 134 | The Caffeine-ng status icons are Copyright (C) 2014 mildmojo 135 | (http://github.com/mildmojo), and distributed under the terms of the GNU Lesser 136 | General Public License, either version 3, or (at your option) any later 137 | version. See LGPL. 138 | 139 | The Caffeien-ng SVG shortcut icons are Copyright (C) 2009 Tommy Brunn 140 | (http://www.blastfromthepast.se/blabbermouth), and distributed under the 141 | terms of the GNU Lesser General Public License, either version 3, or (at 142 | your option) any later version. See LGPL. 143 | 144 | Hacking 145 | ------- 146 | 147 | * To run: ``./bin/caffeine`` 148 | * To compile translations: ``./update_translations`` 149 | 150 | If you want to test out a translation without changing the language for the 151 | whole session: "LANG=ru_RU.UTF-8 ./bin/caffeine" (Replace ru_RU.UTF-8 152 | with whatever language you want to use. You will need to a language pack 153 | for the specific language) Be aware that some stock items 154 | will not be translated unless you log in with a given language. 155 | -------------------------------------------------------------------------------- /caffeine/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2014 Hugo Osvaldo Barrera 2 | # Copyright © 2009 The Caffeine Developers 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 3 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 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, see . 16 | # 17 | import gettext 18 | import locale 19 | 20 | from caffeine.paths import LOCALE_PATH 21 | from caffeine.version import version 22 | 23 | __version__ = version 24 | 25 | 26 | def init_translations() -> None: 27 | """Initialise translations. Should be called just once at startup.""" 28 | 29 | GETTEXT_DOMAIN = "caffeine" 30 | locale.setlocale(locale.LC_ALL, "") 31 | 32 | for module in locale, gettext: 33 | module.bindtextdomain(GETTEXT_DOMAIN, LOCALE_PATH) 34 | module.textdomain(GETTEXT_DOMAIN) 35 | 36 | 37 | init_translations() 38 | -------------------------------------------------------------------------------- /caffeine/__main__.py: -------------------------------------------------------------------------------- 1 | from caffeine.cli import cli 2 | 3 | if __name__ == "__main__": 4 | cli() 5 | -------------------------------------------------------------------------------- /caffeine/applicationinstance.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2014-2021 Hugo Osvaldo Barrera 2 | # Copyright © 2009 The Caffeine Developers 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 3 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 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, see . 16 | # 17 | import fcntl 18 | import logging 19 | import os 20 | from contextlib import contextmanager 21 | from typing import Optional 22 | 23 | try: 24 | from xdg.BaseDirectory import get_runtime_dir 25 | except ModuleNotFoundError: 26 | from xdg import xdg_runtime_dir as get_runtime_dir 27 | 28 | logger = logging.getLogger(__name__) 29 | 30 | 31 | class AlreadyRunning(Exception): 32 | """Raised when another instance is already running.""" 33 | 34 | def __str__(self): 35 | return "An instance is already running." 36 | 37 | 38 | class ApplicationInstance: 39 | """Class used to handle one application instance mechanism.""" 40 | 41 | def __init__(self, name: str): 42 | self.name = name 43 | self.pid_path = os.path.join(get_runtime_dir(), name, "pid") 44 | 45 | @property 46 | def pid(self) -> Optional[int]: 47 | """Return the PID of an already-running instance, if any.""" 48 | try: 49 | with open(self.pid_path) as f: 50 | return int(f.read()) 51 | except (ValueError, FileNotFoundError): 52 | return None 53 | 54 | def is_running(self) -> bool: 55 | """Return true if an instance is already running.""" 56 | if self.pid: 57 | try: 58 | os.kill(self.pid, 0) 59 | logger.debug("An instance is already running: %d.", self.pid) 60 | return True 61 | except OSError: 62 | pass 63 | 64 | return False 65 | 66 | def kill(self) -> None: 67 | """Kill the currently running instance, if any.""" 68 | if self.is_running(): 69 | os.kill(self.pid, 9) # type: ignore 70 | 71 | @contextmanager 72 | def pid_file(self): 73 | """Context manager to run code keeping a PID file alive.""" 74 | 75 | pid_dir = os.path.dirname(self.pid_path) 76 | os.makedirs(pid_dir, exist_ok=True) 77 | 78 | handle = open(self.pid_path, "w+") 79 | 80 | try: 81 | fcntl.flock(handle, fcntl.LOCK_EX | fcntl.LOCK_NB) 82 | except BlockingIOError: 83 | raise AlreadyRunning() 84 | 85 | handle.seek(0) 86 | handle.write(str(os.getpid())) 87 | handle.flush() 88 | 89 | try: 90 | yield 91 | finally: 92 | try: 93 | os.remove(self.pid_path) 94 | except FileNotFoundError: 95 | pass 96 | -------------------------------------------------------------------------------- /caffeine/assets/glade/proc.glade: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | False 7 | 5 8 | Select a process name... 9 | True 10 | center-on-parent 11 | normal 12 | 13 | 14 | True 15 | False 16 | vertical 17 | 2 18 | 19 | 20 | True 21 | False 22 | end 23 | 24 | 25 | gtk-cancel 26 | False 27 | True 28 | True 29 | True 30 | True 31 | 32 | 33 | 34 | False 35 | False 36 | 0 37 | 38 | 39 | 40 | 41 | gtk-add 42 | False 43 | True 44 | True 45 | True 46 | True 47 | 48 | 49 | 50 | False 51 | False 52 | 1 53 | 54 | 55 | 56 | 57 | False 58 | True 59 | end 60 | 0 61 | 62 | 63 | 64 | 65 | True 66 | False 67 | 10 68 | 69 | 70 | True 71 | True 72 | 73 | 74 | 75 | False 76 | True 77 | 1 78 | 79 | 80 | 81 | 82 | False 83 | True 84 | 1 85 | 86 | 87 | 88 | 89 | 90 | cancel_button 91 | add_button 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | -------------------------------------------------------------------------------- /caffeine/assets/icons/hicolor/16x16/apps/caffeine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/assets/icons/hicolor/16x16/apps/caffeine.png -------------------------------------------------------------------------------- /caffeine/assets/icons/hicolor/16x16/status/caffeine-cup-empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/assets/icons/hicolor/16x16/status/caffeine-cup-empty.png -------------------------------------------------------------------------------- /caffeine/assets/icons/hicolor/16x16/status/caffeine-cup-full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/assets/icons/hicolor/16x16/status/caffeine-cup-full.png -------------------------------------------------------------------------------- /caffeine/assets/icons/hicolor/22x22/apps/caffeine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/assets/icons/hicolor/22x22/apps/caffeine.png -------------------------------------------------------------------------------- /caffeine/assets/icons/hicolor/22x22/status/caffeine-cup-empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/assets/icons/hicolor/22x22/status/caffeine-cup-empty.png -------------------------------------------------------------------------------- /caffeine/assets/icons/hicolor/22x22/status/caffeine-cup-full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/assets/icons/hicolor/22x22/status/caffeine-cup-full.png -------------------------------------------------------------------------------- /caffeine/assets/icons/hicolor/24x24/apps/caffeine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/assets/icons/hicolor/24x24/apps/caffeine.png -------------------------------------------------------------------------------- /caffeine/assets/icons/hicolor/24x24/status/caffeine-cup-empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/assets/icons/hicolor/24x24/status/caffeine-cup-empty.png -------------------------------------------------------------------------------- /caffeine/assets/icons/hicolor/24x24/status/caffeine-cup-full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/assets/icons/hicolor/24x24/status/caffeine-cup-full.png -------------------------------------------------------------------------------- /caffeine/assets/icons/hicolor/32x32/apps/caffeine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/assets/icons/hicolor/32x32/apps/caffeine.png -------------------------------------------------------------------------------- /caffeine/assets/icons/hicolor/32x32/status/caffeine-cup-empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/assets/icons/hicolor/32x32/status/caffeine-cup-empty.png -------------------------------------------------------------------------------- /caffeine/assets/icons/hicolor/32x32/status/caffeine-cup-full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/assets/icons/hicolor/32x32/status/caffeine-cup-full.png -------------------------------------------------------------------------------- /caffeine/assets/icons/hicolor/48x48/apps/caffeine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/assets/icons/hicolor/48x48/apps/caffeine.png -------------------------------------------------------------------------------- /caffeine/assets/icons/hicolor/48x48/status/caffeine-cup-empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/assets/icons/hicolor/48x48/status/caffeine-cup-empty.png -------------------------------------------------------------------------------- /caffeine/assets/icons/hicolor/48x48/status/caffeine-cup-full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/assets/icons/hicolor/48x48/status/caffeine-cup-full.png -------------------------------------------------------------------------------- /caffeine/assets/icons/hicolor/scalable/status/caffeine-cup-empty.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 22 | 24 | 25 | 27 | image/svg+xml 28 | 30 | 31 | 32 | 33 | 34 | 56 | 60 | 64 | 68 | 72 | 76 | 80 | 84 | 85 | 87 | 89 | 93 | 97 | 98 | 105 | 112 | 119 | 126 | 133 | 140 | 141 | 145 | 150 | 151 | -------------------------------------------------------------------------------- /caffeine/assets/icons/hicolor/scalable/status/caffeine-cup-full.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 23 | 25 | 26 | 28 | image/svg+xml 29 | 31 | 32 | 33 | 34 | 35 | 57 | 61 | 65 | 69 | 73 | 77 | 81 | 85 | 86 | 88 | 90 | 94 | 98 | 99 | 106 | 113 | 120 | 127 | 137 | 144 | 151 | 152 | 155 | 159 | 163 | 168 | 172 | 176 | 177 | 178 | -------------------------------------------------------------------------------- /caffeine/assets/icons/ubuntu-mono-dark/status/16/caffeine-cup-empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/assets/icons/ubuntu-mono-dark/status/16/caffeine-cup-empty.png -------------------------------------------------------------------------------- /caffeine/assets/icons/ubuntu-mono-dark/status/16/caffeine-cup-full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/assets/icons/ubuntu-mono-dark/status/16/caffeine-cup-full.png -------------------------------------------------------------------------------- /caffeine/assets/icons/ubuntu-mono-dark/status/22/caffeine-cup-empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/assets/icons/ubuntu-mono-dark/status/22/caffeine-cup-empty.png -------------------------------------------------------------------------------- /caffeine/assets/icons/ubuntu-mono-dark/status/22/caffeine-cup-full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/assets/icons/ubuntu-mono-dark/status/22/caffeine-cup-full.png -------------------------------------------------------------------------------- /caffeine/assets/icons/ubuntu-mono-dark/status/24/caffeine-cup-empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/assets/icons/ubuntu-mono-dark/status/24/caffeine-cup-empty.png -------------------------------------------------------------------------------- /caffeine/assets/icons/ubuntu-mono-dark/status/24/caffeine-cup-full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/assets/icons/ubuntu-mono-dark/status/24/caffeine-cup-full.png -------------------------------------------------------------------------------- /caffeine/assets/icons/ubuntu-mono-dark/status/32/caffeine-cup-empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/assets/icons/ubuntu-mono-dark/status/32/caffeine-cup-empty.png -------------------------------------------------------------------------------- /caffeine/assets/icons/ubuntu-mono-dark/status/32/caffeine-cup-full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/assets/icons/ubuntu-mono-dark/status/32/caffeine-cup-full.png -------------------------------------------------------------------------------- /caffeine/assets/icons/ubuntu-mono-dark/status/48/caffeine-cup-empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/assets/icons/ubuntu-mono-dark/status/48/caffeine-cup-empty.png -------------------------------------------------------------------------------- /caffeine/assets/icons/ubuntu-mono-dark/status/48/caffeine-cup-full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/assets/icons/ubuntu-mono-dark/status/48/caffeine-cup-full.png -------------------------------------------------------------------------------- /caffeine/assets/icons/ubuntu-mono-dark/status/scalable/caffeine-cup-empty.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 22 | 24 | 25 | 27 | image/svg+xml 28 | 30 | 31 | 32 | 33 | 34 | 56 | 60 | 64 | 68 | 72 | 76 | 80 | 84 | 85 | 87 | 89 | 93 | 97 | 98 | 105 | 112 | 119 | 126 | 133 | 140 | 141 | 145 | 150 | 151 | -------------------------------------------------------------------------------- /caffeine/assets/icons/ubuntu-mono-dark/status/scalable/caffeine-cup-full.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 23 | 25 | 26 | 28 | image/svg+xml 29 | 31 | 32 | 33 | 34 | 35 | 57 | 61 | 65 | 69 | 73 | 77 | 81 | 85 | 86 | 88 | 90 | 94 | 98 | 99 | 106 | 113 | 120 | 127 | 137 | 144 | 151 | 152 | 155 | 159 | 164 | 168 | 173 | 177 | 182 | 186 | 191 | 192 | 193 | -------------------------------------------------------------------------------- /caffeine/assets/images/application-x-executable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/assets/images/application-x-executable.png -------------------------------------------------------------------------------- /caffeine/cli.py: -------------------------------------------------------------------------------- 1 | import ctypes 2 | import logging 3 | import signal 4 | 5 | import click 6 | from setproctitle import setproctitle 7 | 8 | from caffeine.applicationinstance import ApplicationInstance 9 | from caffeine.main import GUI 10 | 11 | logger = logging.getLogger(__name__) 12 | 13 | 14 | @click.group(invoke_without_command=True) 15 | @click.version_option(prog_name="caffeine") 16 | @click.option("--verbose", "-v", is_flag=True) 17 | @click.pass_context 18 | def cli(ctx, verbose): 19 | setproctitle("caffeine-ng") 20 | signal.signal(signal.SIGINT, signal.SIG_DFL) 21 | 22 | # register the process id as 'caffeine' 23 | libc = ctypes.cdll.LoadLibrary("libc.so.6") 24 | libc.prctl(15, "caffeine", 0, 0, 0) 25 | 26 | if verbose: 27 | logging.basicConfig(level=logging.DEBUG) 28 | logger.debug("Running with --verbose.") 29 | 30 | ctx.obj = ApplicationInstance("caffeine-ng") 31 | 32 | if not ctx.invoked_subcommand: 33 | ctx.invoke(cli.commands["start"]) 34 | 35 | 36 | @cli.command() 37 | @click.option( 38 | "--activate", 39 | "-a", 40 | is_flag=True, 41 | help="Immediately disable power management and screen saving.", 42 | ) 43 | @click.option( 44 | "--deactivate", 45 | "-d", 46 | is_flag=True, 47 | help="Immediately re-enable power management and screen saving.", 48 | ) 49 | @click.option( 50 | "--kill", 51 | "-k", 52 | is_flag=True, 53 | help="Kill any running instance of caffeine.", 54 | ) 55 | @click.option( 56 | "--time", 57 | "-t", 58 | # XXX: There's a param issing to make this take values. 59 | help="Use with -a. Activate caffeine for HH:MM.", 60 | metavar="HH:MM", 61 | ) 62 | @click.option( 63 | "--preferences", 64 | "-p", 65 | is_flag=True, 66 | help="Start with the Preferences dialog open.", 67 | ) 68 | @click.option( 69 | "--pulseaudio/--no-pulseaudio", 70 | default=True, 71 | help=( 72 | "Inhibit when pulseaudio is in use. " 73 | "Only the screensaver (i.e.: not suspension) is inhibited when audio is playing." 74 | ), 75 | ) 76 | @click.option( 77 | "--whitelist/--no-whitelist", 78 | default=True, 79 | help="Inhibit based on whitelisted applications.", 80 | ) 81 | @click.option( 82 | "--fullscreen/--no-fullscreen", 83 | default=True, 84 | help="Inhibit when a fullscreen application is detected.", 85 | ) 86 | @click.pass_obj 87 | def start( 88 | app: ApplicationInstance, 89 | activate: bool, 90 | deactivate: bool, 91 | kill: bool, 92 | time: str, 93 | preferences: bool, 94 | pulseaudio: bool, 95 | whitelist: bool, 96 | fullscreen: bool, 97 | ): 98 | """Start caffeine.""" 99 | if kill: 100 | app.kill() 101 | elif app.is_running(): 102 | raise click.ClickException("Caffeine is already running.") 103 | 104 | main = GUI( 105 | show_preferences=preferences, 106 | pulseaudio=pulseaudio, 107 | whitelist=whitelist, 108 | fullscreen=fullscreen, 109 | ) 110 | if activate: 111 | main.setActive(True) 112 | 113 | if activate and time: 114 | parts = time.split(":") 115 | if len(parts) != 2: 116 | raise click.ClickException("-t argument must be in the hour:minute format.") 117 | 118 | try: 119 | hours = int(parts[0]) 120 | minutes = int(parts[1]) 121 | except ValueError: 122 | raise click.ClickException("Invalid time argument.") 123 | 124 | main.timed_activation((hours * 3600.0) + (minutes * 60.0)) 125 | 126 | if preferences: 127 | main.window.show_all() 128 | 129 | with app.pid_file(): 130 | main.run() 131 | 132 | 133 | @cli.command() 134 | @click.pass_obj 135 | def kill(app: ApplicationInstance): 136 | """Kill any running instances of caffeine and exit.""" 137 | if app.is_running(): 138 | app.kill() 139 | else: 140 | raise click.ClickException("Caffeine is not running.") 141 | 142 | 143 | if __name__ == "__main__": 144 | cli() 145 | -------------------------------------------------------------------------------- /caffeine/icons.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2014 Hugo Osvaldo Barrera 2 | # Copyright © 2009 The Caffeine Developers 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 3 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 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, see . 16 | # 17 | from os.path import join 18 | 19 | from gi.repository import Gtk 20 | 21 | from caffeine.paths import ICON_PATH 22 | from caffeine.paths import IMAGE_PATH 23 | 24 | 25 | def get_icon_pixbuf(size: int): 26 | """ 27 | Returns the icon as a pixbuf. 28 | 29 | Returns caffeine's icon as a pixbuf. We wrap around GTK here, so the 30 | default theme's icon will be used, if any, or caffeine's own as a fallback. 31 | """ 32 | icon_name = "caffeine" 33 | icon_theme = Gtk.IconTheme.get_default() 34 | 35 | icon_info = icon_theme.lookup_icon(icon_name, size, Gtk.IconLookupFlags.NO_SVG) 36 | 37 | if icon_info: 38 | # icon is found 39 | base_size = icon_info.get_base_size() 40 | if base_size != size: 41 | # No size x size icon in the users theme so use the default 42 | icon_theme = Gtk.IconTheme() 43 | icon_theme.set_search_path((ICON_PATH,)) 44 | else: 45 | icon_theme.append_search_path(ICON_PATH) 46 | icon_info = icon_theme.lookup_icon(icon_name, size, Gtk.IconLookupFlags.NO_SVG) 47 | 48 | pixbuf = icon_theme.load_icon(icon_name, size, Gtk.IconLookupFlags.NO_SVG) 49 | 50 | return pixbuf 51 | 52 | 53 | generic_icon = join(IMAGE_PATH, "application-x-executable.png") 54 | 55 | full_cup_icon = join(IMAGE_PATH, "Full_Cup.svg") 56 | empty_cup_icon = join(IMAGE_PATH, "Empty_Cup.svg") 57 | -------------------------------------------------------------------------------- /caffeine/inhibitors.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2015 Hugo Osvaldo Barrera 2 | # 3 | # Permission to use, copy, modify, and distribute this software for any 4 | # purpose with or without fee is hereby granted, provided that the above 5 | # copyright notice and this permission notice appear in all copies. 6 | # 7 | # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 8 | # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 9 | # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 10 | # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 11 | # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 12 | # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 13 | # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 14 | # Note: This code is part libcaffeine, though it's been moved in-tree (rather 15 | # than handled as a proper dependency) because libcaffeine isn't really stable 16 | # enough for public release. 17 | import logging 18 | import os 19 | import threading 20 | import time 21 | from abc import ABC 22 | from abc import abstractmethod 23 | 24 | import dbus 25 | 26 | logger = logging.getLogger(__name__) 27 | 28 | INHIBITION_REASON = "Inhibited via libcaffeine" 29 | 30 | 31 | class BaseInhibitor(ABC): 32 | running: bool 33 | 34 | def __init__(self): 35 | self.running = False 36 | 37 | def set(self, state: bool) -> None: 38 | if state: 39 | if not self.running: 40 | self.inhibit() 41 | else: 42 | if self.running: 43 | self.uninhibit() 44 | 45 | def is_screen_inhibitor(self): 46 | """Return True if this instance is a screen saver inhibitor. 47 | 48 | Inhibitor which are sleep inhibitors should return False. 49 | """ 50 | return False 51 | 52 | @property 53 | @abstractmethod 54 | def applicable(self) -> bool: 55 | raise NotImplementedError() 56 | 57 | @abstractmethod 58 | def inhibit(self, reason=INHIBITION_REASON) -> None: 59 | raise NotImplementedError() 60 | 61 | @abstractmethod 62 | def uninhibit(self) -> None: 63 | raise NotImplementedError() 64 | 65 | def __str__(self): 66 | return self.__class__.__name__ 67 | 68 | 69 | class GnomeInhibitor(BaseInhibitor): 70 | def __init__(self): 71 | super().__init__() 72 | self.bus = dbus.SessionBus() 73 | 74 | self.__proxy = None 75 | self.__cookie = None 76 | 77 | def inhibit(self, reason=INHIBITION_REASON) -> None: 78 | if not self.__proxy: 79 | self.__proxy = self.bus.get_object( 80 | "org.gnome.SessionManager", 81 | "/org/gnome/SessionManager", 82 | ) 83 | self.__proxy = dbus.Interface( 84 | self.__proxy, 85 | dbus_interface="org.gnome.SessionManager", 86 | ) 87 | 88 | self.__cookie = self.__proxy.Inhibit( 89 | "Caffeine", 90 | dbus.UInt32(0), 91 | INHIBITION_REASON, 92 | dbus.UInt32(4), 93 | ) 94 | self.running = True 95 | 96 | def uninhibit(self) -> None: 97 | if self.__cookie is not None: 98 | self.__proxy.Uninhibit(self.__cookie) 99 | self.running = False 100 | 101 | @property 102 | def applicable(self) -> bool: 103 | return "org.gnome.SessionManager" in self.bus.list_names() 104 | 105 | 106 | class XdgScreenSaverInhibitor(BaseInhibitor): 107 | def __init__(self): 108 | super().__init__() 109 | self.bus = dbus.SessionBus() 110 | 111 | self.__cookie = None 112 | 113 | def inhibit(self, reason=INHIBITION_REASON) -> None: 114 | self.__proxy = self.bus.get_object( 115 | "org.freedesktop.ScreenSaver", 116 | "/ScreenSaver", 117 | ) 118 | self.__proxy = dbus.Interface( 119 | self.__proxy, 120 | dbus_interface="org.freedesktop.ScreenSaver", 121 | ) 122 | self.__cookie = self.__proxy.Inhibit("Caffeine", INHIBITION_REASON) 123 | 124 | self.running = True 125 | 126 | def uninhibit(self) -> None: 127 | if self.__cookie: 128 | self.__proxy.UnInhibit(self.__cookie) 129 | self.running = False 130 | 131 | def is_screen_inhibitor(self): 132 | return True 133 | 134 | @property 135 | def applicable(self) -> bool: 136 | return "org.freedesktop.ScreenSaver" in self.bus.list_names() 137 | 138 | 139 | class XdgPowerManagmentInhibitor(BaseInhibitor): 140 | def __init__(self): 141 | super().__init__() 142 | self.bus = dbus.SessionBus() 143 | 144 | self.__cookie = None 145 | 146 | def inhibit(self, reason=INHIBITION_REASON) -> None: 147 | self.__proxy = self.bus.get_object( 148 | "org.freedesktop.PowerManagement", 149 | "/org/freedesktop/PowerManagement/Inhibit", 150 | ) 151 | self.__proxy = dbus.Interface( 152 | self.__proxy, 153 | dbus_interface="org.freedesktop.PowerManagement.Inhibit", 154 | ) 155 | self.__cookie = self.__proxy.Inhibit("Caffeine", INHIBITION_REASON) 156 | self.running = True 157 | 158 | def uninhibit(self) -> None: 159 | if self.__cookie: 160 | self.__proxy.UnInhibit(self.__cookie) 161 | self.running = False 162 | 163 | @property 164 | def applicable(self) -> bool: 165 | return "org.freedesktop.PowerManagement" in self.bus.list_names() 166 | 167 | 168 | class XssInhibitor(BaseInhibitor): 169 | class XssInhibitorThread(threading.Thread): 170 | keep_running = True 171 | daemon = True 172 | 173 | def run(self): 174 | logging.info("Running XSS inhibitor thread.") 175 | while self.keep_running: 176 | os.system("xscreensaver-command -deactivate") 177 | time.sleep(50) 178 | logging.info("XSS inhibitor thread finishing.") 179 | 180 | def inhibit(self, reason=INHIBITION_REASON) -> None: 181 | self.running = True 182 | self.thread = XssInhibitor.XssInhibitorThread() 183 | self.thread.start() 184 | 185 | def uninhibit(self) -> None: 186 | self.running = False 187 | self.thread.keep_running = False 188 | 189 | @property 190 | def applicable(self) -> bool: 191 | # TODO! 192 | return os.system("pgrep xscreensaver") == 0 193 | 194 | 195 | class DpmsInhibitor(BaseInhibitor): 196 | def inhibit(self, reason=INHIBITION_REASON) -> None: 197 | self.running = True 198 | 199 | os.system("xset -dpms") 200 | 201 | def uninhibit(self) -> None: 202 | self.running = False 203 | 204 | # FIXME: Aren't we enabling it if it was never online? 205 | # Grep `xset q` for "DPMS is Enabled" 206 | os.system("xset +dpms") 207 | 208 | def is_screen_inhibitor(self): 209 | return True 210 | 211 | @property 212 | def applicable(self) -> bool: 213 | # TODO: Condition is incomplete 214 | return os.environ.get("WAYLAND_DISPLAY") is None 215 | 216 | 217 | class XorgInhibitor(BaseInhibitor): 218 | def inhibit(self, reason=INHIBITION_REASON) -> None: 219 | self.running = True 220 | os.system("xset s off") 221 | 222 | def uninhibit(self) -> None: 223 | self.running = False 224 | 225 | # FIXME: Aren't we enabling it if it was never online? 226 | # Scrensaver.*\n\s+timeout: 600 227 | os.system("xset s on") 228 | 229 | @property 230 | def applicable(self) -> bool: 231 | # TODO: Condition is incomplete 232 | return os.environ.get("WAYLAND_DISPLAY") is None 233 | 234 | 235 | class XautolockInhibitor(BaseInhibitor): 236 | def inhibit(self, reason=INHIBITION_REASON) -> None: 237 | self.running = True 238 | os.system("xautolock -disable") 239 | 240 | def uninhibit(self) -> None: 241 | self.running = False 242 | os.system("xautolock -enable") 243 | 244 | @property 245 | def applicable(self) -> bool: 246 | return os.system("pgrep xautolock") == 0 247 | 248 | 249 | class XfceInhibitor(BaseInhibitor): 250 | def __init__(self): 251 | BaseInhibitor.__init__(self) 252 | 253 | def inhibit(self): 254 | self.running = True 255 | 256 | os.system( 257 | "xfconf-query -c xfce4-power-manager" 258 | "-p /xfce4-power-manager/presentation-mode -s true" 259 | ) 260 | 261 | def uninhibit(self): 262 | self.running = False 263 | 264 | os.system( 265 | "xfconf-query -c xfce4-power-manager" 266 | "-p /xfce4-power-manager/presentation-mode -s false" 267 | ) 268 | 269 | @property 270 | def applicable(self): 271 | # TODO! 272 | return True 273 | 274 | 275 | class XidlehookInhibitor(BaseInhibitor): 276 | def inhibit(self, reason=INHIBITION_REASON) -> None: 277 | self.running = True 278 | os.system("pkill -SIGSTOP xidlehook") 279 | 280 | def uninhibit(self) -> None: 281 | self.running = False 282 | os.system("pkill -SIGCONT xidlehook") 283 | 284 | @property 285 | def applicable(self) -> bool: 286 | return os.system("pgrep xidlehook") == 0 287 | -------------------------------------------------------------------------------- /caffeine/locale/ar/LC_MESSAGES/caffeine.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/locale/ar/LC_MESSAGES/caffeine.mo -------------------------------------------------------------------------------- /caffeine/locale/bg/LC_MESSAGES/caffeine.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/locale/bg/LC_MESSAGES/caffeine.mo -------------------------------------------------------------------------------- /caffeine/locale/bs/LC_MESSAGES/caffeine.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/locale/bs/LC_MESSAGES/caffeine.mo -------------------------------------------------------------------------------- /caffeine/locale/ca/LC_MESSAGES/caffeine.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/locale/ca/LC_MESSAGES/caffeine.mo -------------------------------------------------------------------------------- /caffeine/locale/cs/LC_MESSAGES/caffeine.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/locale/cs/LC_MESSAGES/caffeine.mo -------------------------------------------------------------------------------- /caffeine/locale/da/LC_MESSAGES/caffeine.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/locale/da/LC_MESSAGES/caffeine.mo -------------------------------------------------------------------------------- /caffeine/locale/de/LC_MESSAGES/caffeine.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/locale/de/LC_MESSAGES/caffeine.mo -------------------------------------------------------------------------------- /caffeine/locale/el/LC_MESSAGES/caffeine.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/locale/el/LC_MESSAGES/caffeine.mo -------------------------------------------------------------------------------- /caffeine/locale/en_GB/LC_MESSAGES/caffeine.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/locale/en_GB/LC_MESSAGES/caffeine.mo -------------------------------------------------------------------------------- /caffeine/locale/eo/LC_MESSAGES/caffeine.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/locale/eo/LC_MESSAGES/caffeine.mo -------------------------------------------------------------------------------- /caffeine/locale/es/LC_MESSAGES/caffeine.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/locale/es/LC_MESSAGES/caffeine.mo -------------------------------------------------------------------------------- /caffeine/locale/eu/LC_MESSAGES/caffeine.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/locale/eu/LC_MESSAGES/caffeine.mo -------------------------------------------------------------------------------- /caffeine/locale/fi/LC_MESSAGES/caffeine.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/locale/fi/LC_MESSAGES/caffeine.mo -------------------------------------------------------------------------------- /caffeine/locale/fr/LC_MESSAGES/caffeine.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/locale/fr/LC_MESSAGES/caffeine.mo -------------------------------------------------------------------------------- /caffeine/locale/gl/LC_MESSAGES/caffeine.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/locale/gl/LC_MESSAGES/caffeine.mo -------------------------------------------------------------------------------- /caffeine/locale/he/LC_MESSAGES/caffeine.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/locale/he/LC_MESSAGES/caffeine.mo -------------------------------------------------------------------------------- /caffeine/locale/hu/LC_MESSAGES/caffeine.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/locale/hu/LC_MESSAGES/caffeine.mo -------------------------------------------------------------------------------- /caffeine/locale/it/LC_MESSAGES/caffeine.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/locale/it/LC_MESSAGES/caffeine.mo -------------------------------------------------------------------------------- /caffeine/locale/ja/LC_MESSAGES/caffeine.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/locale/ja/LC_MESSAGES/caffeine.mo -------------------------------------------------------------------------------- /caffeine/locale/lt/LC_MESSAGES/caffeine.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/locale/lt/LC_MESSAGES/caffeine.mo -------------------------------------------------------------------------------- /caffeine/locale/ms/LC_MESSAGES/caffeine.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/locale/ms/LC_MESSAGES/caffeine.mo -------------------------------------------------------------------------------- /caffeine/locale/nl/LC_MESSAGES/caffeine.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/locale/nl/LC_MESSAGES/caffeine.mo -------------------------------------------------------------------------------- /caffeine/locale/no/LC_MESSAGES/caffeine.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/locale/no/LC_MESSAGES/caffeine.mo -------------------------------------------------------------------------------- /caffeine/locale/pl/LC_MESSAGES/caffeine.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/locale/pl/LC_MESSAGES/caffeine.mo -------------------------------------------------------------------------------- /caffeine/locale/pt/LC_MESSAGES/caffeine.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/locale/pt/LC_MESSAGES/caffeine.mo -------------------------------------------------------------------------------- /caffeine/locale/pt_BR/LC_MESSAGES/caffeine.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/locale/pt_BR/LC_MESSAGES/caffeine.mo -------------------------------------------------------------------------------- /caffeine/locale/ro/LC_MESSAGES/caffeine.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/locale/ro/LC_MESSAGES/caffeine.mo -------------------------------------------------------------------------------- /caffeine/locale/ru/LC_MESSAGES/caffeine.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/locale/ru/LC_MESSAGES/caffeine.mo -------------------------------------------------------------------------------- /caffeine/locale/sk/LC_MESSAGES/caffeine.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/locale/sk/LC_MESSAGES/caffeine.mo -------------------------------------------------------------------------------- /caffeine/locale/sv/LC_MESSAGES/caffeine.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/locale/sv/LC_MESSAGES/caffeine.mo -------------------------------------------------------------------------------- /caffeine/locale/th/LC_MESSAGES/caffeine.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/locale/th/LC_MESSAGES/caffeine.mo -------------------------------------------------------------------------------- /caffeine/locale/tr/LC_MESSAGES/caffeine.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/locale/tr/LC_MESSAGES/caffeine.mo -------------------------------------------------------------------------------- /caffeine/locale/uk/LC_MESSAGES/caffeine.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/locale/uk/LC_MESSAGES/caffeine.mo -------------------------------------------------------------------------------- /caffeine/locale/vi/LC_MESSAGES/caffeine.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/locale/vi/LC_MESSAGES/caffeine.mo -------------------------------------------------------------------------------- /caffeine/locale/xh/LC_MESSAGES/caffeine.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/locale/xh/LC_MESSAGES/caffeine.mo -------------------------------------------------------------------------------- /caffeine/locale/zh_TW/LC_MESSAGES/caffeine.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/caffeine/locale/zh_TW/LC_MESSAGES/caffeine.mo -------------------------------------------------------------------------------- /caffeine/paths.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2014 Hugo Osvaldo Barrera 2 | # 3 | # This program is free software: you can redistribute it and/or modify 4 | # it under the terms of the GNU General Public License as published by 5 | # the Free Software Foundation, either version 3 of the License, or 6 | # (at your option) any later version. 7 | # 8 | # This program is distributed in the hope that it will be useful, 9 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | # GNU General Public License for more details. 12 | # 13 | # You should have received a copy of the GNU General Public License 14 | # along with this program. If not, see . 15 | # 16 | import os 17 | from os import makedirs 18 | from os.path import exists 19 | from os.path import join 20 | 21 | try: 22 | from xdg.BaseDirectory import xdg_config_home 23 | except ModuleNotFoundError: 24 | from xdg import xdg_config_home 25 | 26 | xdg_config_home = str(xdg_config_home()) 27 | 28 | PACKAGE_PATH = os.path.dirname(__file__) 29 | LOCALE_PATH = join(PACKAGE_PATH, "locale") 30 | GLADE_PATH = join(PACKAGE_PATH, "assets/glade") 31 | IMAGE_PATH = join(PACKAGE_PATH, "assets/images") 32 | ICON_PATH = join(PACKAGE_PATH, "assets/icons") 33 | 34 | 35 | def get_glade_file(filename): 36 | return join(GLADE_PATH, filename) 37 | 38 | 39 | def get_config_dir(): 40 | return __config_dir 41 | 42 | 43 | def get_whitelist_file(): 44 | return join(__config_dir, "whitelist.txt") 45 | 46 | 47 | def get_blacklist_file_audio(): 48 | return join(__config_dir, "audio_blacklist.txt") 49 | 50 | 51 | __config_dir = join(xdg_config_home, "caffeine") 52 | 53 | 54 | if not exists(__config_dir): 55 | makedirs(__config_dir) 56 | 57 | if not exists(get_whitelist_file()): 58 | open(get_whitelist_file(), "a").close() 59 | 60 | if not exists(get_blacklist_file_audio()): 61 | open(get_blacklist_file_audio(), "a").close() 62 | -------------------------------------------------------------------------------- /caffeine/procmanager.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2014 Hugo Osvaldo Barrera 2 | # Copyright © 2009 The Caffeine Developers 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 3 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 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, see . 16 | # 17 | import os 18 | 19 | 20 | class ProcManager: 21 | def __init__(self, persistence_file): 22 | self.persistence_file = persistence_file 23 | self.proc_list = [] 24 | 25 | if os.path.exists(self.persistence_file): 26 | self.import_proc(self.persistence_file) 27 | 28 | def get_process_list(self): 29 | return self.proc_list[:] 30 | 31 | def add_proc(self, name): 32 | if name not in self.proc_list: 33 | self.proc_list.append(name) 34 | self.save() 35 | 36 | def remove_proc(self, name): 37 | self.proc_list.remove(name) 38 | self.save() 39 | 40 | def import_proc(self, filename): 41 | for line in open(filename): 42 | line = line.strip() 43 | if line not in self.proc_list: 44 | self.proc_list.append(line) 45 | self.save() 46 | 47 | def save(self): 48 | self.proc_list.sort() 49 | with open(self.persistence_file, "w") as f: 50 | f.write("\n".join(self.proc_list)) 51 | -------------------------------------------------------------------------------- /caffeine/triggers.py: -------------------------------------------------------------------------------- 1 | """Triggers are different events or states that auto-activate caffeine.""" 2 | import logging 3 | import os 4 | from abc import ABC 5 | from abc import abstractmethod 6 | from dataclasses import dataclass 7 | from enum import Enum 8 | from typing import Callable 9 | 10 | from ewmh import EWMH 11 | from pulsectl import Pulse 12 | from pulsectl.pulsectl import PulseIndexError 13 | 14 | from caffeine import utils 15 | from caffeine.procmanager import ProcManager # noqa: E402 16 | 17 | logger = logging.getLogger(__name__) 18 | 19 | 20 | class DesiredState(Enum): 21 | UNINHIBITED = 0 # Don't inhibit anything. 22 | INHIBIT_SLEEP = 5 # Only inhibit sleeping (screen saver can go off). 23 | INHIBIT_ALL = 10 # Inhibit both screen saver and sleeping. 24 | 25 | def __gt__(self, other): 26 | if self.__class__ is other.__class__: 27 | return self.value > other.value 28 | return NotImplemented 29 | 30 | 31 | class Trigger(ABC): 32 | """Triggers are "sources" that indicate that inhibition is desireable.""" 33 | 34 | @abstractmethod 35 | def run(self) -> DesiredState: 36 | """Return the desired state right now. 37 | 38 | This method will be called periodically, and the trigger should return the 39 | desired state at the time of the call. 40 | """ 41 | 42 | 43 | class ManualTrigger(Trigger): 44 | active = False 45 | 46 | def run(self) -> DesiredState: 47 | if self.active: 48 | return DesiredState.INHIBIT_ALL 49 | else: 50 | return DesiredState.UNINHIBITED 51 | 52 | 53 | @dataclass 54 | class WhiteListTrigger(Trigger): 55 | process_manager: ProcManager 56 | 57 | def run(self) -> DesiredState: 58 | """Determine if one of the whitelisted processes is running.""" 59 | 60 | for proc in self.process_manager.get_process_list(): 61 | if utils.is_process_running(proc): 62 | logger.info("Process %s detected. Inhibiting.") 63 | return DesiredState.INHIBIT_ALL 64 | 65 | return DesiredState.UNINHIBITED 66 | 67 | 68 | class FullscreenTrigger(Trigger): 69 | def __init__(self): 70 | if os.environ.get("WAYLAND_DISPLAY") is None: 71 | self._ewmh = EWMH() 72 | else: 73 | logger.info("Running on Wayland; fullscreen trigger won't work.") 74 | self._ewmh = None 75 | 76 | def run(self) -> DesiredState: 77 | """Determine if a fullscreen application is running.""" 78 | inhibit = False 79 | 80 | if self._ewmh: 81 | window = self._ewmh.getActiveWindow() 82 | 83 | # ewmh.getWmState(window) returns None is scenarios where 84 | # ewmh.getWmState(window, str=True) throws an exception 85 | # (it's a bug in pyewmh): 86 | if window and self._ewmh.getWmState(window): 87 | wm_state = self._ewmh.getWmState(window, True) 88 | inhibit = "_NET_WM_STATE_FULLSCREEN" in wm_state 89 | 90 | if inhibit: 91 | logger.info("Fullscreen window detected.") 92 | return DesiredState.INHIBIT_ALL 93 | else: 94 | return DesiredState.UNINHIBITED 95 | 96 | 97 | class PulseAudioTrigger(Trigger): 98 | def __init__( 99 | self, 100 | process_manager: ProcManager, 101 | audio_peak_filtering_active_getter: Callable[[], bool], 102 | ) -> None: 103 | self.__process_manager = process_manager 104 | self.__audio_peak_filtering_active_getter = audio_peak_filtering_active_getter 105 | 106 | @property 107 | def __audio_peak_filtering_active(self) -> bool: 108 | return self.__audio_peak_filtering_active_getter() 109 | 110 | def run(self) -> DesiredState: 111 | # Let's look for playing audio: 112 | # Number of supposed audio only streams. We can turn the screen off 113 | # for those: 114 | music_procs = 0 115 | # Number of all audio streams including videos. We keep the screen on 116 | # here: 117 | screen_relevant_procs = 0 118 | # Applications currently playing audio. 119 | active_applications = [] 120 | # Applications whose audio activity is ignored 121 | ignored_applications = self.__process_manager.get_process_list() 122 | 123 | # Get all audio playback streams 124 | # Music players seem to use the music role. We can turn the screen 125 | # off there. Keep the screen on for audio without music role, 126 | # as they might be videos 127 | with Pulse() as pulseaudio: 128 | for application_output in pulseaudio.sink_input_list(): 129 | if ( 130 | not application_output.mute # application audio is not muted 131 | and not application_output.corked # application audio is not paused 132 | and not pulseaudio.sink_info( 133 | application_output.sink 134 | ).mute # system audio is not muted 135 | ): 136 | application_name = application_output.proplist.get( 137 | "application.process.binary", "no name" 138 | ) 139 | if application_name in ignored_applications: 140 | continue 141 | if self.__audio_peak_filtering_active: 142 | # ignore silent sinks 143 | sink_source = pulseaudio.sink_info( 144 | application_output.sink 145 | ).monitor_source 146 | sink_peak = pulseaudio.get_peak_sample(sink_source, 0.4) 147 | if not sink_peak > 0: 148 | continue 149 | if application_output.proplist.get("media.role") == "music": 150 | # seems to be audio only 151 | music_procs += 1 152 | else: 153 | # Video or other audio source 154 | screen_relevant_procs += 1 155 | # Save the application's process name 156 | active_applications.append(application_name) 157 | 158 | # Get all audio recording streams 159 | for application_input in pulseaudio.source_output_list(): 160 | try: 161 | system_input_muted = pulseaudio.source_info( 162 | application_input.source 163 | ).mute 164 | except PulseIndexError: 165 | system_input_muted = False 166 | if ( 167 | not application_input.mute # application input is not muted 168 | and not system_input_muted 169 | ): 170 | application_name = application_input.proplist.get( 171 | "application.process.binary", "no name" 172 | ) 173 | if application_name in ignored_applications: 174 | continue 175 | if self.__audio_peak_filtering_active: 176 | # ignore silent sources 177 | source_peak = pulseaudio.get_peak_sample( 178 | application_input.source, 0.1 179 | ) 180 | if not (source_peak > 0): 181 | continue 182 | # Treat recordings as video because likely you don't 183 | # want to turn the screen of while recording 184 | screen_relevant_procs += 1 185 | # Save the application's process name 186 | active_applications.append(application_name) 187 | 188 | if screen_relevant_procs > 0: 189 | logger.debug(f"Video playback detected ({', '.join(active_applications)}).") 190 | return DesiredState.INHIBIT_ALL 191 | elif music_procs > 0: 192 | logger.debug(f"Audio playback detected ({', '.join(active_applications)}).") 193 | return DesiredState.INHIBIT_SLEEP 194 | else: 195 | return DesiredState.UNINHIBITED 196 | -------------------------------------------------------------------------------- /caffeine/utils.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2014 Hugo Osvaldo Barrera 2 | # Copyright © 2009 The Caffeine Developers 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 3 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 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, see . 16 | # 17 | import logging 18 | import os 19 | from typing import Generator 20 | 21 | logger = logging.getLogger(__name__) 22 | 23 | 24 | def get_process_name(pid: int) -> str: 25 | """Gets process name from process id.""" 26 | 27 | truncated_process_name = open("/proc/%s/status" % pid).readline()[6:-1] 28 | process_name = truncated_process_name 29 | 30 | line = open("/proc/%s/cmdline" % pid).readline() 31 | parts = line.split("\x00") 32 | for part in parts: 33 | cmd_name = part.split("/")[-1] 34 | 35 | if cmd_name.startswith(truncated_process_name): 36 | process_name = cmd_name 37 | 38 | return process_name 39 | 40 | 41 | def get_processes() -> Generator[str, None, None]: 42 | """Return a generator of names of running processes.""" 43 | 44 | for pid in os.listdir("/proc/"): 45 | try: 46 | num_pid = int(pid) 47 | except ValueError: 48 | continue 49 | 50 | try: 51 | process_name = get_process_name(num_pid).lower() 52 | except Exception: 53 | logger.exception(f"Failed to get name for process {num_pid}") 54 | continue 55 | 56 | yield process_name 57 | 58 | 59 | def is_process_running(name: str) -> bool: 60 | """Return True is a process with the given name is running.""" 61 | 62 | return name in get_processes() 63 | -------------------------------------------------------------------------------- /scripts/compile_translations.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import subprocess 4 | import sys 5 | 6 | if len(sys.argv) < 3: 7 | print("usage: ./compile_translations ") 8 | sys.exit(1) 9 | 10 | po_dir = sys.argv[-1] 11 | prg_name = sys.argv[-2] 12 | 13 | 14 | po_files = [] 15 | for dirpath, _dirnames, filenames in os.walk(po_dir): 16 | for file in filenames: 17 | if file.split(".")[-1] == "po": 18 | po_files.append(os.path.join(dirpath, file)) 19 | 20 | for po in po_files: 21 | lang = po.split("/")[-1] 22 | print("Compiling for Locale: " + "".join(lang.split(".")[:-1])) 23 | lang = lang.split("-")[-1] 24 | lang = lang.split(".")[0] 25 | lang = lang.strip() 26 | if not lang: 27 | continue 28 | 29 | lang_dir = os.path.join("share/locale", lang) 30 | 31 | if not os.path.isdir(lang_dir): 32 | os.mkdir(lang_dir) 33 | 34 | lang_lc_dir = os.path.join(lang_dir, "LC_MESSAGES") 35 | if not os.path.isdir(lang_lc_dir): 36 | os.mkdir(lang_lc_dir) 37 | 38 | cmd = ["msgfmt", po, "-o", os.path.join(lang_lc_dir, "caffeine.mo")] 39 | 40 | output = subprocess.check_output(cmd) 41 | -------------------------------------------------------------------------------- /scripts/generate_pot.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | set -e 4 | 5 | find . -iname "*.py" -o -iname "*.glade" | \ 6 | xargs xgettext --from-code utf-8 -o translations/caffeine.pot 7 | -------------------------------------------------------------------------------- /scripts/update_translations.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | set -e 4 | 5 | scripts/generate_pot.sh 6 | scripts/compile_translations.py caffeine translations 7 | -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- 1 | [flake8] 2 | exclude=.tox,build,docs,.eggs 3 | ignore = 4 | B305, # It's a py2-only non-issue. 5 | W503, # Line jump before binary operator. 6 | E501, # We rely on bugbear's B950 for this. 7 | max-line-length = 80 8 | 9 | [isort] 10 | force_single_line=true 11 | 12 | [mypy] 13 | ignore_missing_imports = True 14 | # See https://github.com/python/mypy/issues/7511: 15 | warn_no_return = False 16 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | from os import walk 4 | 5 | from setuptools import find_packages 6 | from setuptools import setup 7 | 8 | 9 | def get_data_files(): 10 | data_files = [] 11 | 12 | for path, _dirs, files in walk("share"): 13 | target_path = os.path.join("/usr", path) 14 | 15 | if files: 16 | data_files.append((target_path, [os.path.join(path, f) for f in files])) 17 | 18 | # Install all icons for the package into /usr/share as well. 19 | # This is because the .desktop file actually uses them too. 20 | for path, _dirs, files in walk("caffeine/assets/icons"): 21 | target_path = os.path.join("/usr/share", path[16:]) 22 | 23 | if files: 24 | data_files.append((target_path, [os.path.join(path, f) for f in files])) 25 | 26 | data_files.append(("/etc/xdg/autostart", ["share/applications/caffeine.desktop"])) 27 | 28 | return data_files 29 | 30 | 31 | if __name__ == "__main__": 32 | setup( 33 | name="caffeine-ng", 34 | use_scm_version={ 35 | "version_scheme": "post-release", 36 | "write_to": "caffeine/version.py", 37 | }, 38 | description=("Tray bar app to temporarily inhibit screensaver and sleep mode."), 39 | long_description=open("README.rst").read(), 40 | author="The Caffeine Developers", 41 | author_email="hugo@barrera.io", 42 | maintainer="Hugo Osvaldo Barrera", 43 | maintainer_email="hugo@barrera.io", 44 | url="https://github.com/caffeine-ng/caffeine-ng", 45 | packages=find_packages(), 46 | include_package_data=True, 47 | data_files=get_data_files(), 48 | install_requires=[ 49 | "click>=7.1,<8.0", 50 | "ewmh>=0.1.4", 51 | "pyxdg>=0.25", 52 | "setproctitle>=1.1.10", 53 | "wheel>=0.29.0", 54 | "pulsectl", 55 | "pygobject>=3.1.1,<4.0", 56 | ], 57 | # `console_scripts` is the same as `gui_scripts`. 58 | entry_points={"gui_scripts": ["caffeine = caffeine.cli:cli"]}, 59 | classifiers=[ 60 | "Development Status :: 5 - Production/Stable", 61 | "Environment :: X11 Applications", 62 | "Environment :: X11 Applications :: GTK", 63 | "Intended Audience :: End Users/Desktop", 64 | "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", 65 | "Operating System :: POSIX", 66 | "Operating System :: POSIX :: BSD", 67 | "Operating System :: POSIX :: Linux", 68 | "Programming Language :: Python :: 3", 69 | "Programming Language :: Python :: 3.6", 70 | "Programming Language :: Python :: 3.7", 71 | "Programming Language :: Python :: 3.8", 72 | "Programming Language :: Python :: 3.9", 73 | ], 74 | setup_requires=["setuptools_scm"], 75 | ) 76 | -------------------------------------------------------------------------------- /share/applications/caffeine.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Encoding=UTF-8 3 | Icon=caffeine 4 | Name=Caffeine-ng 5 | Comment=Temporarily deactivate the screensaver and sleep mode 6 | Exec=caffeine 7 | Terminal=false 8 | Type=Application 9 | Categories=Utility;TrayIcon;DesktopUtility 10 | Keywords=Screensaver,Power,DPMS,Blank,Idle 11 | StartupNotify=false 12 | -------------------------------------------------------------------------------- /share/glib-2.0/schemas/net.launchpad.caffeine.gschema.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | false 5 | 6 | 7 | 8 | 9 | true 10 | 11 | 12 | 13 | 14 | true 15 | 16 | 17 | 18 | 19 | true 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /share/man/man1/caffeine.1.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/share/man/man1/caffeine.1.gz -------------------------------------------------------------------------------- /share/pixmaps/caffeine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WhyNotHugo/caffeine-ng/4ca53a8147e1b3c17eb3d4b49509db1dbdb91ec5/share/pixmaps/caffeine.png -------------------------------------------------------------------------------- /translations/ar.po: -------------------------------------------------------------------------------- 1 | # Arabic translation for caffeine 2 | # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 3 | # This file is distributed under the same license as the caffeine package. 4 | # FIRST AUTHOR , 2010. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: caffeine\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2021-05-30 15:44+0300\n" 11 | "PO-Revision-Date: 2021-05-30 16:16+0300\n" 12 | "Last-Translator: Caffeine Developers \n" 13 | "Language-Team: Arabic \n" 14 | "Language: ar\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "X-Launchpad-Export-Date: 2011-11-20 05:35+0000\n" 19 | "X-Generator: Poedit 2.2.4\n" 20 | 21 | #: caffeine/assets/glade/proc.glade:8 22 | msgid "Select a process name..." 23 | msgstr "اختيار اسم عملية..." 24 | 25 | #: caffeine/assets/glade/GUI.glade:16 26 | msgid "" 27 | "An application to temporarily prevent the activation of both\n" 28 | " the screen saver and the \"sleep\" powersaving mode." 29 | msgstr "" 30 | 31 | #: caffeine/assets/glade/GUI.glade:114 32 | msgid "Duration" 33 | msgstr "مدة" 34 | 35 | #: caffeine/assets/glade/GUI.glade:147 36 | msgid "Hours:" 37 | msgstr "ساعات:" 38 | 39 | #: caffeine/assets/glade/GUI.glade:188 40 | msgid "Minutes:" 41 | msgstr "دقائق:" 42 | 43 | #: caffeine/assets/glade/GUI.glade:286 caffeine/main.py:314 44 | #: caffeine/main.py:400 45 | msgid "Enable Caffeine" 46 | msgstr "تعطيل حافظة الشاشة" 47 | 48 | #: caffeine/assets/glade/GUI.glade:301 49 | #, fuzzy 50 | #| msgid "Enable Caffeine" 51 | msgid "Enable Caffeine for..." 52 | msgstr "تعطيل حافظة الشاشة" 53 | 54 | #: caffeine/assets/glade/GUI.glade:429 55 | msgid "Preferences" 56 | msgstr "التفضيلات" 57 | 58 | #: caffeine/assets/glade/GUI.glade:474 59 | msgid "Automatic activation" 60 | msgstr "تفعيل تلقائي" 61 | 62 | #: caffeine/assets/glade/GUI.glade:500 63 | msgid "" 64 | "Caffeine can activate automatically\n" 65 | "whenever certain programs are runnning." 66 | msgstr "" 67 | "يمكن تفعيل Caffeine تلقائيا\n" 68 | "عند تشغيل برامج معينة." 69 | 70 | #: caffeine/assets/glade/GUI.glade:518 71 | msgid "List of programs that Caffeine activates for:" 72 | msgstr "لائحة ببرامج يتم تفعيل Caffeine لأجلها:" 73 | 74 | #: caffeine/assets/glade/GUI.glade:543 75 | msgid "" 76 | "When Caffeine detects that one of the processes in this\n" 77 | "list is running, it will prevent the activation of the screensaver\n" 78 | "and powersaving modes. This can be useful for applications\n" 79 | "(particularly full-screen applications) that do not properly\n" 80 | "prevent the screensaver and powersaving modes on their own." 81 | msgstr "" 82 | "عندما يعثر Caffeine على عملية من العمليات\n" 83 | " المدرجة في هذه اللائحة , يقوم بتعطيل تفعيل حافظة الشاشة\n" 84 | " و طور حفظ الطاقة.هذا الإجراء يكون\n" 85 | " نافعا للتطبيقات (عمليا التي تملأ الشاشة\n" 86 | " التي لا تمنع حافظة الشاشة و طور حفظ الطاقة بنفسها." 87 | 88 | #: caffeine/assets/glade/GUI.glade:648 89 | msgid "Audio detection" 90 | msgstr "" 91 | 92 | #: caffeine/assets/glade/GUI.glade:674 93 | #, fuzzy 94 | #| msgid "" 95 | #| "Caffeine can activate automatically\n" 96 | #| "whenever certain programs are runnning." 97 | msgid "Caffeine activates automatically when audio playback/recording is detected." 98 | msgstr "" 99 | "يمكن تفعيل Caffeine تلقائيا\n" 100 | "عند تشغيل برامج معينة." 101 | 102 | #: caffeine/assets/glade/GUI.glade:691 103 | #, fuzzy 104 | #| msgid "List of programs that Caffeine activates for:" 105 | msgid "List of programs that Caffeine ignores when detecting audio activity:" 106 | msgstr "لائحة ببرامج يتم تفعيل Caffeine لأجلها:" 107 | 108 | #: caffeine/assets/glade/GUI.glade:716 109 | msgid "Audio activity from these processes will not cause Caffeine to activate." 110 | msgstr "" 111 | 112 | #: caffeine/assets/glade/GUI.glade:800 113 | msgid "Enable audio peak filtering" 114 | msgstr "" 115 | 116 | #: caffeine/assets/glade/GUI.glade:840 117 | msgid "Tray icon" 118 | msgstr "" 119 | 120 | #: caffeine/assets/glade/GUI.glade:859 121 | msgid "Show tray icon" 122 | msgstr "" 123 | 124 | #: caffeine/assets/glade/GUI.glade:882 125 | msgid "Show notification on startup" 126 | msgstr "" 127 | 128 | #: caffeine/assets/glade/GUI.glade:942 129 | msgid " " 130 | msgstr "" 131 | 132 | #: caffeine/main.py:190 133 | msgid "Caffeine is running" 134 | msgstr "" 135 | 136 | #: caffeine/main.py:191 137 | msgid "" 138 | "To show the tray icon, \n" 139 | "run " 140 | msgstr "" 141 | 142 | #: caffeine/main.py:193 143 | msgid "or open Caffeine Preferences from your system menu." 144 | msgstr "" 145 | 146 | #: caffeine/main.py:205 147 | msgid "Caffeine is dormant; powersaving is enabled" 148 | msgstr "Caffeineغير فاعل ، تم تفعيل الاقتصاد في إستهلاك الطاقة" 149 | 150 | #: caffeine/main.py:275 151 | msgid "translator-credits" 152 | msgstr "" 153 | "Launchpad Contributions:\n" 154 | " Adnane Belmadiaf https://launchpad.net/~daker\n" 155 | " Ahmed Mohammed https://launchpad.net/~ahmedqatar\n" 156 | " Caffeine Developers https://launchpad.net/~caffeine-developers\n" 157 | " Xeriab Nabil https://launchpad.net/~kodeburner" 158 | 159 | #: caffeine/main.py:314 caffeine/main.py:400 160 | msgid "Disable Caffeine" 161 | msgstr "تفعيل حافظة الشاشة" 162 | 163 | #: caffeine/core.py:156 164 | msgid "Timed activation set; " 165 | msgstr "إعداد التفعيل الموقت " 166 | 167 | #: caffeine/core.py:157 168 | msgid "Caffeine will prevent powersaving for the next " 169 | msgstr "Caffeine سيمنع حفظ الطاقة حتى " 170 | 171 | #: caffeine/core.py:164 172 | msgid "Activated for " 173 | msgstr "مفعّل ل " 174 | 175 | #: caffeine/core.py:191 176 | msgid " have elapsed; powersaving is re-enabled" 177 | msgstr " تم الانقضاء ; طور توفير الطاقة مفعّل" 178 | 179 | #: caffeine/core.py:246 180 | msgid "Timed activation cancelled (was set for " 181 | msgstr "تفعيل الوقت لاغي (كان موقتا ل " 182 | 183 | #: caffeine/core.py:278 184 | #, fuzzy 185 | #| msgid "Caffeine is dormant; powersaving is enabled" 186 | msgid "Caffeine is dormant; powersaving is enabled." 187 | msgstr "Caffeineغير فاعل ، تم تفعيل الاقتصاد في إستهلاك الطاقة" 188 | 189 | #: caffeine/core.py:280 190 | #, fuzzy 191 | #| msgid "Caffeine will prevent powersaving for the next " 192 | msgid "Caffeine is preventing sleep only." 193 | msgstr "Caffeine سيمنع حفظ الطاقة حتى " 194 | 195 | #: caffeine/core.py:282 196 | #, fuzzy 197 | #| msgid "Caffeine will prevent powersaving for the next " 198 | msgid "Caffeine is preventing all powersaving." 199 | msgstr "Caffeine سيمنع حفظ الطاقة حتى " 200 | 201 | #~ msgid "Activated for Flash video" 202 | #~ msgstr "تفعيل لتشغيل فيديو الفلاش" 203 | 204 | #~ msgid "Activated for Quake Live" 205 | #~ msgstr "مفعّل لأجل Quake Live" 206 | 207 | #~ msgid " and " 208 | #~ msgstr " و " 209 | 210 | #~ msgid "hour" 211 | #~ msgstr "ساعة" 212 | 213 | #~ msgid "minute" 214 | #~ msgstr "دقيقة" 215 | 216 | #~ msgid "hours" 217 | #~ msgstr "ساعات" 218 | 219 | #~ msgid "minutes" 220 | #~ msgstr "دقائق" 221 | 222 | #~ msgid "Caffeine is preventing powersaving modes and screensaver activation " 223 | #~ msgstr "Caffeine يمنع تفعيل طور توفير الطاقة و حافظة الشاشة " 224 | 225 | #~ msgid "Please install" 226 | #~ msgstr "يرجى تنصيب" 227 | 228 | #~ msgid "Autostart" 229 | #~ msgstr "تشغيل تلقائي" 230 | 231 | #~ msgid "Start Caffeine on login" 232 | #~ msgstr "تشغيل Caffenie عند الولود" 233 | 234 | #~ msgid "" 235 | #~ "Enable this option to automatically run Caffeine as soon as\n" 236 | #~ "your computer has finished starting up and you have\n" 237 | #~ "successfully entered your username and password." 238 | #~ msgstr "" 239 | #~ "تفعيل هذا الاختيار يتيح تشغيل Caffeine بعد الانتهاء \n" 240 | #~ "من تشغيل حاسوبك و بعد ان تنتهي من \n" 241 | #~ "ادخال اسم المستخدم و كلمة العبور بنجاح." 242 | 243 | #~ msgid "Activate for Flash video" 244 | #~ msgstr "تفعيل لفيديو فلاش" 245 | 246 | #~ msgid "" 247 | #~ "Some websites, such as www.youtube.com, show videos using\n" 248 | #~ "a technology known as \"Flash\". Enable this option to cause\n" 249 | #~ "Caffeine to automatically prevent the activation of the\n" 250 | #~ "screensaver and powersaving modes when a Flash video is\n" 251 | #~ "embedded in the web page that you are currently browsing." 252 | #~ msgstr "" 253 | #~ "بعض المواقع , مثل www.youtube.com , تظهر الفيديو بإستخدام \n" 254 | #~ "تقنية بإسم الفلاش.تفعيل هذا الاختيار يتيح ل Caffeine منع تفعيل\n" 255 | #~ "حافظة الشاشة و طور توفير الطاقة تلقائيا عندما يكون هناك ملف فيديو فلاش\n" 256 | #~ " مضمنا في صفحة ويب تستعرضها." 257 | 258 | #~ msgid "Activate for Quake Live" 259 | #~ msgstr "تفعيل لأجل Quake live" 260 | 261 | #~ msgid "" 262 | #~ "Enable this option to cause Caffeine to automatically prevent\n" 263 | #~ "the activation of the screensaver and powersaving modes\n" 264 | #~ "when it detects that you are playing the Quake Live video\n" 265 | #~ "game. Visit www.quakelive.com to play the game for free." 266 | #~ msgstr "" 267 | #~ "تفعيل هذا الاختيار للسماح ل Caffeine تلقائيا بمنع\n" 268 | #~ "تفعيل حافظة الشاشة و طور حفظ الطاقة\n" 269 | #~ "عندما يكتشف انك تقوم بتشغيل ملف لعبة Quake\n" 270 | #~ "حي .قم بزيارة www.quakelive.com لتلعب اللعبة مجانا." 271 | 272 | #~ msgid "15 minutes" 273 | #~ msgstr "15 دقيقة" 274 | 275 | #~ msgid "5 minutes" 276 | #~ msgstr "5 دقائق" 277 | 278 | #~ msgid "10 minutes" 279 | #~ msgstr "10 دقائق" 280 | 281 | #~ msgid "30 minutes" 282 | #~ msgstr "30 دقيقة" 283 | 284 | #~ msgid "1 hour" 285 | #~ msgstr "ساعة" 286 | 287 | #~ msgid "3 hours" 288 | #~ msgstr "3 ساعات" 289 | 290 | #~ msgid "4 hours" 291 | #~ msgstr "4 ساعات" 292 | 293 | #~ msgid "2 hours" 294 | #~ msgstr "2 ساعات" 295 | 296 | #~ msgid "Activate for" 297 | #~ msgstr "تفعيل لأجل" 298 | 299 | #~ msgid "Other..." 300 | #~ msgstr "أخرى..." 301 | 302 | #~ msgid "Configure Caffeine" 303 | #~ msgstr "ضبط Caffeine" 304 | 305 | #~ msgid "Running Processes" 306 | #~ msgstr "العمليات الجارية" 307 | 308 | #~ msgid "Recent Processes" 309 | #~ msgstr "العمليات الاحدث" 310 | 311 | #~ msgid "An application to temporarily prevent the activation of both the screen saver and the \"sleep\" powersaving mode." 312 | #~ msgstr "تطبيق لمنع تفعيل حافظة الشاشة و طور حفظ الطاقة تلقائيا." 313 | -------------------------------------------------------------------------------- /translations/be.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: 63db71e04d77b3624f92532e7937c5b8\n" 4 | "Report-Msgid-Bugs-To: \n" 5 | "POT-Creation-Date: 2018-05-11 22:46+0300\n" 6 | "PO-Revision-Date: 2021-06-27 14:50\n" 7 | "Last-Translator: Caffeine Developers \n" 8 | "Language-Team: Belarusian\n" 9 | "Language: be_BY\n" 10 | "MIME-Version: 1.0\n" 11 | "Content-Type: text/plain; charset=UTF-8\n" 12 | "Content-Transfer-Encoding: 8bit\n" 13 | "X-Launchpad-Export-Date: 2012-01-23 05:23+0000\n" 14 | "X-Generator: Poedit 2.0.7\n" 15 | "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || n%10>=5 && n%10<=9 || n%100>=11 && n%100<=14 ? 2 : 3);\n" 16 | "X-Crowdin-Project: 63db71e04d77b3624f92532e7937c5b8\n" 17 | "X-Crowdin-Project-ID: 112\n" 18 | "X-Crowdin-Language: be\n" 19 | "X-Crowdin-File: /main/translations/en_GB.po\n" 20 | "X-Crowdin-File-ID: 2880\n" 21 | 22 | #: caffeine/core.py:176 23 | msgid "Timed activation set; " 24 | msgstr "Актывацыя па часе; " 25 | 26 | #: caffeine/core.py:177 27 | msgid "Caffeine will prevent powersaving for the next " 28 | msgstr "Caffeine будзе перашкаджаць актывацыі рэжыму захавання энергіі для наступных працэсаў " 29 | 30 | #: caffeine/core.py:183 31 | msgid "Activated for " 32 | msgstr "Актывавана для " 33 | 34 | #: caffeine/core.py:243 caffeine/main.py:212 35 | msgid "Caffeine is dormant; powersaving is enabled" 36 | msgstr "Caffeine не працуе; уключаны рэжым захавання энергіі" 37 | 38 | #: caffeine/core.py:250 39 | msgid "Timed activation cancelled (was set for " 40 | msgstr "Актывацыя па часе скасаваная (было ўключана для " 41 | 42 | #: caffeine/core.py:264 43 | msgid " have elapsed; powersaving is re-enabled" 44 | msgstr " завершана; даступны рэжым захавання энергіі" 45 | 46 | #: caffeine/main.py:198 47 | msgid "Caffeine is running" 48 | msgstr "Caffeine працуе" 49 | 50 | #: caffeine/main.py:199 51 | msgid "To show the tray icon, \n" 52 | "run " 53 | msgstr "Каб паказваць значок на прасторы апавяшчэнняў, \n" 54 | "запусціце " 55 | 56 | #: caffeine/main.py:201 57 | msgid "or open Caffeine Preferences from your system menu." 58 | msgstr "або адкрыйце налады Caffeine у меню вашай сістэмы." 59 | 60 | #: caffeine/main.py:263 61 | msgid "translator-credits" 62 | msgstr "Źmicier Turok " 63 | 64 | #: caffeine/main.py:302 caffeine/main.py:365 share/caffeine/glade/GUI.glade:286 65 | msgid "Enable Caffeine" 66 | msgstr "Уключыць Caffeine" 67 | 68 | #: caffeine/main.py:302 caffeine/main.py:365 69 | msgid "Disable Caffeine" 70 | msgstr "Адключыць Caffeine" 71 | 72 | #: share/caffeine/glade/GUI.glade:16 73 | msgid "An application to temporarily prevent the activation of both\n" 74 | " the screen saver and the \"sleep\" powersaving mode." 75 | msgstr "Праграма для блакавання актывацыі ахоўніка экрана \n" 76 | " і рэжыму захавання энергіі." 77 | 78 | #: share/caffeine/glade/GUI.glade:114 79 | msgid "Duration" 80 | msgstr "Працягласць" 81 | 82 | #: share/caffeine/glade/GUI.glade:147 83 | msgid "Hours:" 84 | msgstr "Гадзіны:" 85 | 86 | #: share/caffeine/glade/GUI.glade:188 87 | msgid "Minutes:" 88 | msgstr "Хвіліны:" 89 | 90 | #: share/caffeine/glade/GUI.glade:301 91 | msgid "Enable Caffeine for..." 92 | msgstr "Уключыць Caffeine для..." 93 | 94 | #: share/caffeine/glade/GUI.glade:421 95 | msgid "Preferences" 96 | msgstr "Налады" 97 | 98 | #: share/caffeine/glade/GUI.glade:466 99 | msgid "Automatic activation" 100 | msgstr "Аўтаматычная актывацыя" 101 | 102 | #: share/caffeine/glade/GUI.glade:492 103 | msgid "Caffeine can activate automatically\n" 104 | "whenever certain programs are runnning." 105 | msgstr "Caffeine будзе аўтаматычна актывавацца, калі наступныя праграмы працуюць." 106 | 107 | #: share/caffeine/glade/GUI.glade:510 108 | msgid "List of programs that Caffeine activates for:" 109 | msgstr "Спіс праграм, для якіх Caffeine будзе дзейнічаць:" 110 | 111 | #: share/caffeine/glade/GUI.glade:535 112 | msgid "When Caffeine detects that one of the processes in this\n" 113 | "list is running, it will prevent the activation of the screensaver\n" 114 | "and powersaving modes. This can be useful for applications\n" 115 | "(particularly full-screen applications) that do not properly\n" 116 | "prevent the screensaver and powersaving modes on their own." 117 | msgstr "Калі Caffeine выявіць, што адзін з працэсаў у гэтым\n" 118 | "спісе запушчаны, ён пачне перашкаджаць актывацыі ахоўніка экрана\n" 119 | "і рэжыму захавання энергіі. Гэта можа быць карысна для праграм\n" 120 | "(у прыватнасці, у поўнаэкранным рэжыме), якія самастойна некарэктна\n" 121 | "прадухіляюць актывацыю ахоўніка экрана і рэжыму захавання энергіі." 122 | 123 | #: share/caffeine/glade/GUI.glade:640 124 | msgid "Tray icon" 125 | msgstr "Значок на прасторы апавяшчэнняў" 126 | 127 | #: share/caffeine/glade/GUI.glade:659 128 | msgid "Show tray icon" 129 | msgstr "Паказваць значок на прасторы апавяшчэнняў" 130 | 131 | #: share/caffeine/glade/GUI.glade:682 132 | msgid "Show notification on startup" 133 | msgstr "Паказваць апавяшчэнне падчас запуску" 134 | 135 | #: share/caffeine/glade/GUI.glade:742 136 | msgid " " 137 | msgstr "" 138 | 139 | #: share/caffeine/glade/proc.glade:8 140 | msgid "Select a process name..." 141 | msgstr "Абярыце назву працэсу..." 142 | 143 | #~ msgid "Activated for Flash video" 144 | #~ msgstr "Activated for Flash video" 145 | 146 | #~ msgid "Activated for Quake Live" 147 | #~ msgstr "Activated for Quake Live" 148 | 149 | #~ msgid " and " 150 | #~ msgstr " and " 151 | 152 | #~ msgid "hour" 153 | #~ msgstr "hour" 154 | 155 | #~ msgid "minute" 156 | #~ msgstr "minute" 157 | 158 | #~ msgid "hours" 159 | #~ msgstr "hours" 160 | 161 | #~ msgid "minutes" 162 | #~ msgstr "minutes" 163 | 164 | #~ msgid "Caffeine is preventing powersaving modes and screensaver activation " 165 | #~ msgstr "Caffeine is preventing powersaving modes and screensaver activation " 166 | 167 | #~ msgid "Please install" 168 | #~ msgstr "Please install" 169 | 170 | #~ msgid "Disable Screensaver for..." 171 | #~ msgstr "Disable Screensaver for..." 172 | 173 | #~ msgid "Autostart" 174 | #~ msgstr "Autostart" 175 | 176 | #~ msgid "Start Caffeine on login" 177 | #~ msgstr "Start Caffeine on login" 178 | 179 | #~ msgid "" 180 | #~ "Enable this option to automatically run Caffeine as soon as\n" 181 | #~ "your computer has finished starting up and you have\n" 182 | #~ "successfully entered your username and password." 183 | #~ msgstr "" 184 | #~ "Enable this option to automatically run Caffeine as soon as\n" 185 | #~ "your computer has finished starting up and you have\n" 186 | #~ "successfully entered your username and password." 187 | 188 | #~ msgid "Activate for Flash video" 189 | #~ msgstr "Activate for Flash video" 190 | 191 | #~ msgid "" 192 | #~ "Some websites, such as www.youtube.com, show videos using\n" 193 | #~ "a technology known as \"Flash\". Enable this option to cause\n" 194 | #~ "Caffeine to automatically prevent the activation of the\n" 195 | #~ "screensaver and powersaving modes when a Flash video is\n" 196 | #~ "embedded in the web page that you are currently browsing." 197 | #~ msgstr "" 198 | #~ "Some websites, such as www.youtube.com, show videos using\n" 199 | #~ "a technology known as \"Flash\". Enable this option to cause\n" 200 | #~ "Caffeine to automatically prevent the activation of the\n" 201 | #~ "screensaver and powersaving modes when a Flash video is\n" 202 | #~ "embedded in the web page that you are currently browsing." 203 | 204 | #~ msgid "Activate for Quake Live" 205 | #~ msgstr "Activate for Quake Live" 206 | 207 | #~ msgid "" 208 | #~ "Enable this option to cause Caffeine to automatically prevent\n" 209 | #~ "the activation of the screensaver and powersaving modes\n" 210 | #~ "when it detects that you are playing the Quake Live video\n" 211 | #~ "game. Visit www.quakelive.com to play the game for free." 212 | #~ msgstr "" 213 | #~ "Enable this option to cause Caffeine to automatically prevent\n" 214 | #~ "the activation of the screensaver and powersaving modes\n" 215 | #~ "when it detects that you are playing the Quake Live video\n" 216 | #~ "game. Visit www.quakelive.com to play the game for free." 217 | 218 | #~ msgid "5 minutes" 219 | #~ msgstr "5 minutes" 220 | 221 | #~ msgid "10 minutes" 222 | #~ msgstr "10 minutes" 223 | 224 | #~ msgid "15 minutes" 225 | #~ msgstr "15 minutes" 226 | 227 | #~ msgid "30 minutes" 228 | #~ msgstr "30 minutes" 229 | 230 | #~ msgid "1 hour" 231 | #~ msgstr "1 hour" 232 | 233 | #~ msgid "2 hours" 234 | #~ msgstr "2 hours" 235 | 236 | #~ msgid "3 hours" 237 | #~ msgstr "3 hours" 238 | 239 | #~ msgid "4 hours" 240 | #~ msgstr "4 hours" 241 | 242 | #~ msgid "Other..." 243 | #~ msgstr "Other..." 244 | 245 | #~ msgid "Configure Caffeine" 246 | #~ msgstr "Configure Caffeine" 247 | 248 | #~ msgid "Activate for" 249 | #~ msgstr "Activate for" 250 | 251 | #~ msgid "An application to temporarily prevent the activation of both the screen saver and the \"sleep\" powersaving mode." 252 | #~ msgstr "An application to temporarily prevent the activation of both the screen saver and the \"sleep\" powersaving mode." 253 | 254 | #~ msgid "Running Processes" 255 | #~ msgstr "Running Processes" 256 | 257 | #~ msgid "Recent Processes" 258 | #~ msgstr "Recent Processes" 259 | -------------------------------------------------------------------------------- /translations/bs.po: -------------------------------------------------------------------------------- 1 | # Bosnian translation for caffeine 2 | # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 3 | # This file is distributed under the same license as the caffeine package. 4 | # FIRST AUTHOR , 2011. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: caffeine\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2021-05-30 15:44+0300\n" 11 | "PO-Revision-Date: 2021-05-30 16:16+0300\n" 12 | "Last-Translator: Caffeine Developers \n" 13 | "Language-Team: Bosnian \n" 14 | "Language: bs\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "X-Launchpad-Export-Date: 2011-11-20 05:35+0000\n" 19 | "X-Generator: Poedit 2.2.4\n" 20 | 21 | #: caffeine/assets/glade/proc.glade:8 22 | msgid "Select a process name..." 23 | msgstr "Odaberite naziv procesa..." 24 | 25 | #: caffeine/assets/glade/GUI.glade:16 26 | msgid "" 27 | "An application to temporarily prevent the activation of both\n" 28 | " the screen saver and the \"sleep\" powersaving mode." 29 | msgstr "" 30 | 31 | #: caffeine/assets/glade/GUI.glade:114 32 | msgid "Duration" 33 | msgstr "Trajanje" 34 | 35 | #: caffeine/assets/glade/GUI.glade:147 36 | msgid "Hours:" 37 | msgstr "Sati:" 38 | 39 | #: caffeine/assets/glade/GUI.glade:188 40 | msgid "Minutes:" 41 | msgstr "Minute:" 42 | 43 | #: caffeine/assets/glade/GUI.glade:286 caffeine/main.py:314 44 | #: caffeine/main.py:400 45 | msgid "Enable Caffeine" 46 | msgstr "Onemogući čuvar ekrana" 47 | 48 | #: caffeine/assets/glade/GUI.glade:301 49 | #, fuzzy 50 | #| msgid "Enable Caffeine" 51 | msgid "Enable Caffeine for..." 52 | msgstr "Onemogući čuvar ekrana" 53 | 54 | #: caffeine/assets/glade/GUI.glade:429 55 | msgid "Preferences" 56 | msgstr "Postavke" 57 | 58 | #: caffeine/assets/glade/GUI.glade:474 59 | msgid "Automatic activation" 60 | msgstr "Automatska aktivacija" 61 | 62 | #: caffeine/assets/glade/GUI.glade:500 63 | msgid "" 64 | "Caffeine can activate automatically\n" 65 | "whenever certain programs are runnning." 66 | msgstr "" 67 | "Caffeine se može automatski aktivirati\n" 68 | "kada se pokrenu određeni programi." 69 | 70 | #: caffeine/assets/glade/GUI.glade:518 71 | msgid "List of programs that Caffeine activates for:" 72 | msgstr "Lista programa za koje će Caffeine biti aktiviran:" 73 | 74 | #: caffeine/assets/glade/GUI.glade:543 75 | msgid "" 76 | "When Caffeine detects that one of the processes in this\n" 77 | "list is running, it will prevent the activation of the screensaver\n" 78 | "and powersaving modes. This can be useful for applications\n" 79 | "(particularly full-screen applications) that do not properly\n" 80 | "prevent the screensaver and powersaving modes on their own." 81 | msgstr "" 82 | "Kada Caffeine otkrije da je pokrenut proces koji se\n" 83 | "nalazi u ovoj listi, onemogućit će aktivaciju čuvara \n" 84 | "ekrana i modova za štednju energije. Ovo je korisno\n" 85 | "za aplikacije (posebno one koje koriste prikaz preko cijelog ekrana)\n" 86 | "koje samostalno ne vrše ispravno onemogućavanje ovih opcija." 87 | 88 | #: caffeine/assets/glade/GUI.glade:648 89 | msgid "Audio detection" 90 | msgstr "" 91 | 92 | #: caffeine/assets/glade/GUI.glade:674 93 | #, fuzzy 94 | #| msgid "" 95 | #| "Caffeine can activate automatically\n" 96 | #| "whenever certain programs are runnning." 97 | msgid "Caffeine activates automatically when audio playback/recording is detected." 98 | msgstr "" 99 | "Caffeine se može automatski aktivirati\n" 100 | "kada se pokrenu određeni programi." 101 | 102 | #: caffeine/assets/glade/GUI.glade:691 103 | #, fuzzy 104 | #| msgid "List of programs that Caffeine activates for:" 105 | msgid "List of programs that Caffeine ignores when detecting audio activity:" 106 | msgstr "Lista programa za koje će Caffeine biti aktiviran:" 107 | 108 | #: caffeine/assets/glade/GUI.glade:716 109 | msgid "Audio activity from these processes will not cause Caffeine to activate." 110 | msgstr "" 111 | 112 | #: caffeine/assets/glade/GUI.glade:800 113 | msgid "Enable audio peak filtering" 114 | msgstr "" 115 | 116 | #: caffeine/assets/glade/GUI.glade:840 117 | msgid "Tray icon" 118 | msgstr "Tray ikona" 119 | 120 | #: caffeine/assets/glade/GUI.glade:859 121 | msgid "Show tray icon" 122 | msgstr "Prikaži tray ikonu" 123 | 124 | #: caffeine/assets/glade/GUI.glade:882 125 | msgid "Show notification on startup" 126 | msgstr "Prikaži napomenu pri pokretanju" 127 | 128 | #: caffeine/assets/glade/GUI.glade:942 129 | msgid " " 130 | msgstr "" 131 | 132 | #: caffeine/main.py:190 133 | msgid "Caffeine is running" 134 | msgstr "Caffeine je pokrenut" 135 | 136 | #: caffeine/main.py:191 137 | #, fuzzy 138 | #| msgid "Show tray icon" 139 | msgid "" 140 | "To show the tray icon, \n" 141 | "run " 142 | msgstr "Prikaži tray ikonu" 143 | 144 | #: caffeine/main.py:193 145 | msgid "or open Caffeine Preferences from your system menu." 146 | msgstr "" 147 | 148 | #: caffeine/main.py:205 149 | msgid "Caffeine is dormant; powersaving is enabled" 150 | msgstr "Caffeine je u mirovanju; štednja energije je omogućena" 151 | 152 | #: caffeine/main.py:275 153 | msgid "translator-credits" 154 | msgstr "" 155 | "Launchpad Contributions:\n" 156 | " Caffeine Developers https://launchpad.net/~caffeine-developers\n" 157 | " Kenan Dervišević https://launchpad.net/~kenan3008" 158 | 159 | #: caffeine/main.py:314 caffeine/main.py:400 160 | msgid "Disable Caffeine" 161 | msgstr "Omogući čuvar ekrana" 162 | 163 | #: caffeine/core.py:156 164 | msgid "Timed activation set; " 165 | msgstr "Vremenska aktivacija je postavljena; " 166 | 167 | #: caffeine/core.py:157 168 | msgid "Caffeine will prevent powersaving for the next " 169 | msgstr "Caffeine će onemogućiti štednju energije u sljedećih " 170 | 171 | #: caffeine/core.py:164 172 | msgid "Activated for " 173 | msgstr "Aktivirano za " 174 | 175 | #: caffeine/core.py:191 176 | msgid " have elapsed; powersaving is re-enabled" 177 | msgstr " je proteklo; štednja energije je ponovo omogućena" 178 | 179 | #: caffeine/core.py:246 180 | msgid "Timed activation cancelled (was set for " 181 | msgstr "Vremenska aktivacija je otkazana (bila je postavljena za " 182 | 183 | #: caffeine/core.py:278 184 | #, fuzzy 185 | #| msgid "Caffeine is dormant; powersaving is enabled" 186 | msgid "Caffeine is dormant; powersaving is enabled." 187 | msgstr "Caffeine je u mirovanju; štednja energije je omogućena" 188 | 189 | #: caffeine/core.py:280 190 | #, fuzzy 191 | #| msgid "Caffeine is running" 192 | msgid "Caffeine is preventing sleep only." 193 | msgstr "Caffeine je pokrenut" 194 | 195 | #: caffeine/core.py:282 196 | #, fuzzy 197 | #| msgid "Caffeine will prevent powersaving for the next " 198 | msgid "Caffeine is preventing all powersaving." 199 | msgstr "Caffeine će onemogućiti štednju energije u sljedećih " 200 | 201 | #~ msgid "Activated for Flash video" 202 | #~ msgstr "Aktivirano za Flash video" 203 | 204 | #~ msgid "Activated for Quake Live" 205 | #~ msgstr "Aktivirano za Quake Live" 206 | 207 | #~ msgid " and " 208 | #~ msgstr " i " 209 | 210 | #~ msgid "hour" 211 | #~ msgstr "sat" 212 | 213 | #~ msgid "minute" 214 | #~ msgstr "minuta" 215 | 216 | #~ msgid "hours" 217 | #~ msgstr "sati" 218 | 219 | #~ msgid "minutes" 220 | #~ msgstr "minuta" 221 | 222 | #~ msgid "Caffeine is preventing powersaving modes and screensaver activation " 223 | #~ msgstr "Caffeine onemogućava štednju energije i aktivaciju čuvara ekrana " 224 | 225 | #~ msgid "Please install" 226 | #~ msgstr "Molimo instalirajte" 227 | 228 | #~ msgid "Disable Screensaver for..." 229 | #~ msgstr "Onemogući čuvar ekrana..." 230 | 231 | #~ msgid "Autostart" 232 | #~ msgstr "Automatsko pokretanje" 233 | 234 | #~ msgid "Start Caffeine on login" 235 | #~ msgstr "Pokreni Caffeine nakon prijave" 236 | 237 | #~ msgid "" 238 | #~ "Enable this option to automatically run Caffeine as soon as\n" 239 | #~ "your computer has finished starting up and you have\n" 240 | #~ "successfully entered your username and password." 241 | #~ msgstr "" 242 | #~ "Omogućite ovu opciju da automatski pokrenete Caffeine\n" 243 | #~ "prilikom pokretanja vašeg računara, nakon što uspješno\n" 244 | #~ "unesete vaše korisničko ime i šifru." 245 | 246 | #~ msgid "Activate for Flash video" 247 | #~ msgstr "Aktiviraj za Flash video" 248 | 249 | #~ msgid "" 250 | #~ "Some websites, such as www.youtube.com, show videos using\n" 251 | #~ "a technology known as \"Flash\". Enable this option to cause\n" 252 | #~ "Caffeine to automatically prevent the activation of the\n" 253 | #~ "screensaver and powersaving modes when a Flash video is\n" 254 | #~ "embedded in the web page that you are currently browsing." 255 | #~ msgstr "" 256 | #~ "Neke web stranice, kao npr. www.youtube.com, prikazuju video\n" 257 | #~ "pomoću tehnologije pod nazivom \"Flash\". Ako omogućite ovu opciju,\n" 258 | #~ "Caffeine će automatski onemogućiti aktivaciju čuvara ekrana i modova\n" 259 | #~ "za štednju energije za svaku web stranicu koja ima ugrađen Flash video." 260 | 261 | #~ msgid "Activate for Quake Live" 262 | #~ msgstr "Aktiviraj za Quake Live" 263 | 264 | #~ msgid "" 265 | #~ "Enable this option to cause Caffeine to automatically prevent\n" 266 | #~ "the activation of the screensaver and powersaving modes\n" 267 | #~ "when it detects that you are playing the Quake Live video\n" 268 | #~ "game. Visit www.quakelive.com to play the game for free." 269 | #~ msgstr "" 270 | #~ "Ako omogućite ovu opciju, Caffeine će automatski onemogućiti\n" 271 | #~ "aktivaciju čuvara ekrana i modova za štednju energije kada otkrije\n" 272 | #~ "da igrate Quake Live video igru. Za besplatno igranje, posjetite\n" 273 | #~ "www.quakelive.com." 274 | 275 | #~ msgid "An application to temporarily prevent the activation of both the screen saver and the \"sleep\" powersaving mode." 276 | #~ msgstr "Aplikacija za privremeno onemogućavanje aktivacije čuvara ekrana i moda za štednju energije" 277 | 278 | #~ msgid "Running Processes" 279 | #~ msgstr "Pokrenuti procesi" 280 | 281 | #~ msgid "Recent Processes" 282 | #~ msgstr "Nedavno pokrenuti procesi" 283 | -------------------------------------------------------------------------------- /translations/caffeine.pot: -------------------------------------------------------------------------------- 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 | #, fuzzy 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: PACKAGE VERSION\n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2021-10-30 13:48+0200\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language-Team: LANGUAGE \n" 15 | "Language: \n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=CHARSET\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | 20 | #: caffeine/core.py:155 21 | msgid "Timed activation set; " 22 | msgstr "" 23 | 24 | #: caffeine/core.py:156 25 | msgid "Caffeine will prevent powersaving for the next " 26 | msgstr "" 27 | 28 | #: caffeine/core.py:163 29 | msgid "Activated for " 30 | msgstr "" 31 | 32 | #: caffeine/core.py:190 33 | msgid " have elapsed; powersaving is re-enabled" 34 | msgstr "" 35 | 36 | #: caffeine/core.py:245 37 | msgid "Timed activation cancelled (was set for " 38 | msgstr "" 39 | 40 | #: caffeine/core.py:277 41 | msgid "Caffeine is dormant; powersaving is enabled." 42 | msgstr "" 43 | 44 | #: caffeine/core.py:279 45 | msgid "Caffeine is preventing sleep only." 46 | msgstr "" 47 | 48 | #: caffeine/core.py:281 49 | msgid "Caffeine is preventing all powersaving." 50 | msgstr "" 51 | 52 | #: caffeine/main.py:198 53 | msgid "Caffeine is running" 54 | msgstr "" 55 | 56 | #: caffeine/main.py:199 57 | msgid "" 58 | "To show the tray icon, \n" 59 | "run " 60 | msgstr "" 61 | 62 | #: caffeine/main.py:201 63 | msgid "or open Caffeine Preferences from your system menu." 64 | msgstr "" 65 | 66 | #: caffeine/main.py:213 67 | msgid "Caffeine is dormant; powersaving is enabled" 68 | msgstr "" 69 | 70 | #: caffeine/main.py:288 71 | msgid "translator-credits" 72 | msgstr "" 73 | 74 | #: caffeine/main.py:327 caffeine/main.py:415 75 | #: caffeine/assets/glade/GUI.glade:286 76 | msgid "Enable Caffeine" 77 | msgstr "" 78 | 79 | #: caffeine/main.py:327 caffeine/main.py:415 80 | msgid "Disable Caffeine" 81 | msgstr "" 82 | 83 | #: caffeine/assets/glade/proc.glade:8 84 | msgid "Select a process name..." 85 | msgstr "" 86 | 87 | #: caffeine/assets/glade/GUI.glade:16 88 | msgid "" 89 | "An application to temporarily prevent the activation of both\n" 90 | " the screen saver and the \"sleep\" powersaving mode." 91 | msgstr "" 92 | 93 | #: caffeine/assets/glade/GUI.glade:114 94 | msgid "Duration" 95 | msgstr "" 96 | 97 | #: caffeine/assets/glade/GUI.glade:147 98 | msgid "Hours:" 99 | msgstr "" 100 | 101 | #: caffeine/assets/glade/GUI.glade:188 102 | msgid "Minutes:" 103 | msgstr "" 104 | 105 | #: caffeine/assets/glade/GUI.glade:301 106 | msgid "Enable Caffeine for..." 107 | msgstr "" 108 | 109 | #: caffeine/assets/glade/GUI.glade:429 110 | msgid "Preferences" 111 | msgstr "" 112 | 113 | #: caffeine/assets/glade/GUI.glade:474 114 | msgid "Automatic activation" 115 | msgstr "" 116 | 117 | #: caffeine/assets/glade/GUI.glade:500 118 | msgid "" 119 | "Caffeine can activate automatically\n" 120 | "whenever certain programs are runnning." 121 | msgstr "" 122 | 123 | #: caffeine/assets/glade/GUI.glade:518 124 | msgid "List of programs that Caffeine activates for:" 125 | msgstr "" 126 | 127 | #: caffeine/assets/glade/GUI.glade:543 128 | msgid "" 129 | "When Caffeine detects that one of the processes in this\n" 130 | "list is running, it will prevent the activation of the screensaver\n" 131 | "and powersaving modes. This can be useful for applications\n" 132 | "(particularly full-screen applications) that do not properly\n" 133 | "prevent the screensaver and powersaving modes on their own." 134 | msgstr "" 135 | 136 | #: caffeine/assets/glade/GUI.glade:555 caffeine/assets/glade/GUI.glade:724 137 | msgid "Process Name" 138 | msgstr "" 139 | 140 | #: caffeine/assets/glade/GUI.glade:648 141 | msgid "Audio detection" 142 | msgstr "" 143 | 144 | #: caffeine/assets/glade/GUI.glade:674 145 | msgid "" 146 | "Caffeine activates automatically when audio playback/recording is detected." 147 | msgstr "" 148 | 149 | #: caffeine/assets/glade/GUI.glade:691 150 | msgid "List of programs that Caffeine ignores when detecting audio activity:" 151 | msgstr "" 152 | 153 | #: caffeine/assets/glade/GUI.glade:716 154 | msgid "" 155 | "Audio activity from these processes will not cause Caffeine to activate." 156 | msgstr "" 157 | 158 | #: caffeine/assets/glade/GUI.glade:800 159 | msgid "Enable audio peak filtering" 160 | msgstr "" 161 | 162 | #: caffeine/assets/glade/GUI.glade:840 163 | msgid "Tray icon" 164 | msgstr "" 165 | 166 | #: caffeine/assets/glade/GUI.glade:859 167 | msgid "Show tray icon" 168 | msgstr "" 169 | 170 | #: caffeine/assets/glade/GUI.glade:882 171 | msgid "Show notification on startup" 172 | msgstr "" 173 | 174 | #: caffeine/assets/glade/GUI.glade:942 175 | msgid " " 176 | msgstr "" 177 | -------------------------------------------------------------------------------- /translations/eo.po: -------------------------------------------------------------------------------- 1 | # Esperanto translation for caffeine 2 | # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 3 | # This file is distributed under the same license as the caffeine package. 4 | # FIRST AUTHOR , 2009. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: caffeine\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2021-05-30 15:44+0300\n" 11 | "PO-Revision-Date: 2021-05-30 16:19+0300\n" 12 | "Last-Translator: Manuel \n" 13 | "Language-Team: Esperanto \n" 14 | "Language: eo\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "X-Launchpad-Export-Date: 2012-03-12 04:41+0000\n" 19 | "X-Generator: Poedit 2.2.4\n" 20 | 21 | #: caffeine/assets/glade/proc.glade:8 22 | msgid "Select a process name..." 23 | msgstr "" 24 | 25 | #: caffeine/assets/glade/GUI.glade:16 26 | msgid "" 27 | "An application to temporarily prevent the activation of both\n" 28 | " the screen saver and the \"sleep\" powersaving mode." 29 | msgstr "" 30 | 31 | #: caffeine/assets/glade/GUI.glade:114 32 | msgid "Duration" 33 | msgstr "Daŭro" 34 | 35 | #: caffeine/assets/glade/GUI.glade:147 36 | msgid "Hours:" 37 | msgstr "Horoj:" 38 | 39 | #: caffeine/assets/glade/GUI.glade:188 40 | msgid "Minutes:" 41 | msgstr "Minutoj:" 42 | 43 | #: caffeine/assets/glade/GUI.glade:286 caffeine/main.py:314 44 | #: caffeine/main.py:400 45 | msgid "Enable Caffeine" 46 | msgstr "" 47 | 48 | #: caffeine/assets/glade/GUI.glade:301 49 | msgid "Enable Caffeine for..." 50 | msgstr "" 51 | 52 | #: caffeine/assets/glade/GUI.glade:429 53 | msgid "Preferences" 54 | msgstr "Agordoj" 55 | 56 | #: caffeine/assets/glade/GUI.glade:474 57 | msgid "Automatic activation" 58 | msgstr "" 59 | 60 | #: caffeine/assets/glade/GUI.glade:500 61 | msgid "" 62 | "Caffeine can activate automatically\n" 63 | "whenever certain programs are runnning." 64 | msgstr "" 65 | 66 | #: caffeine/assets/glade/GUI.glade:518 67 | msgid "List of programs that Caffeine activates for:" 68 | msgstr "" 69 | 70 | #: caffeine/assets/glade/GUI.glade:543 71 | msgid "" 72 | "When Caffeine detects that one of the processes in this\n" 73 | "list is running, it will prevent the activation of the screensaver\n" 74 | "and powersaving modes. This can be useful for applications\n" 75 | "(particularly full-screen applications) that do not properly\n" 76 | "prevent the screensaver and powersaving modes on their own." 77 | msgstr "" 78 | 79 | #: caffeine/assets/glade/GUI.glade:648 80 | msgid "Audio detection" 81 | msgstr "" 82 | 83 | #: caffeine/assets/glade/GUI.glade:674 84 | msgid "Caffeine activates automatically when audio playback/recording is detected." 85 | msgstr "" 86 | 87 | #: caffeine/assets/glade/GUI.glade:691 88 | msgid "List of programs that Caffeine ignores when detecting audio activity:" 89 | msgstr "" 90 | 91 | #: caffeine/assets/glade/GUI.glade:716 92 | msgid "Audio activity from these processes will not cause Caffeine to activate." 93 | msgstr "" 94 | 95 | #: caffeine/assets/glade/GUI.glade:800 96 | msgid "Enable audio peak filtering" 97 | msgstr "" 98 | 99 | #: caffeine/assets/glade/GUI.glade:840 100 | msgid "Tray icon" 101 | msgstr "" 102 | 103 | #: caffeine/assets/glade/GUI.glade:859 104 | msgid "Show tray icon" 105 | msgstr "" 106 | 107 | #: caffeine/assets/glade/GUI.glade:882 108 | msgid "Show notification on startup" 109 | msgstr "" 110 | 111 | #: caffeine/assets/glade/GUI.glade:942 112 | msgid " " 113 | msgstr "" 114 | 115 | #: caffeine/main.py:190 116 | msgid "Caffeine is running" 117 | msgstr "" 118 | 119 | #: caffeine/main.py:191 120 | msgid "" 121 | "To show the tray icon, \n" 122 | "run " 123 | msgstr "" 124 | 125 | #: caffeine/main.py:193 126 | msgid "or open Caffeine Preferences from your system menu." 127 | msgstr "" 128 | 129 | #: caffeine/main.py:205 130 | msgid "Caffeine is dormant; powersaving is enabled" 131 | msgstr "" 132 | 133 | #: caffeine/main.py:275 134 | msgid "translator-credits" 135 | msgstr "" 136 | "Launchpad Contributions:\n" 137 | " Caffeine Developers https://launchpad.net/~caffeine-developers\n" 138 | " David A Páez https://launchpad.net/~orlsend\n" 139 | " Manuel https://launchpad.net/~elektrolupo\n" 140 | " Stephen Brown https://launchpad.net/~sbrown1992" 141 | 142 | #: caffeine/main.py:314 caffeine/main.py:400 143 | msgid "Disable Caffeine" 144 | msgstr "" 145 | 146 | #: caffeine/core.py:156 147 | msgid "Timed activation set; " 148 | msgstr "" 149 | 150 | #: caffeine/core.py:157 151 | msgid "Caffeine will prevent powersaving for the next " 152 | msgstr "" 153 | 154 | #: caffeine/core.py:164 155 | msgid "Activated for " 156 | msgstr "" 157 | 158 | #: caffeine/core.py:191 159 | msgid " have elapsed; powersaving is re-enabled" 160 | msgstr "" 161 | 162 | #: caffeine/core.py:246 163 | msgid "Timed activation cancelled (was set for " 164 | msgstr "" 165 | 166 | #: caffeine/core.py:278 167 | msgid "Caffeine is dormant; powersaving is enabled." 168 | msgstr "" 169 | 170 | #: caffeine/core.py:280 171 | msgid "Caffeine is preventing sleep only." 172 | msgstr "" 173 | 174 | #: caffeine/core.py:282 175 | msgid "Caffeine is preventing all powersaving." 176 | msgstr "" 177 | 178 | #~ msgid "Activated for Flash video" 179 | #~ msgstr "Ĝi aktivas por Flashvideoj" 180 | 181 | #~ msgid "Activated for Quake Live" 182 | #~ msgstr "Ĝi aktivas por Quake Live" 183 | 184 | #~ msgid " and " 185 | #~ msgstr " kaj " 186 | 187 | #~ msgid "hour" 188 | #~ msgstr "horo" 189 | 190 | #~ msgid "minute" 191 | #~ msgstr "minuto" 192 | 193 | #~ msgid "hours" 194 | #~ msgstr "horoj" 195 | 196 | #~ msgid "minutes" 197 | #~ msgstr "minutoj" 198 | 199 | #~ msgid "Autostart" 200 | #~ msgstr "Aŭtomata lanĉo" 201 | 202 | #~ msgid "30 minutes" 203 | #~ msgstr "30 minutoj" 204 | 205 | #~ msgid "5 minutes" 206 | #~ msgstr "5 minutoj" 207 | 208 | #~ msgid "10 minutes" 209 | #~ msgstr "10 minutoj" 210 | 211 | #~ msgid "15 minutes" 212 | #~ msgstr "15 minutoj" 213 | 214 | #~ msgid "1 hour" 215 | #~ msgstr "1 horo" 216 | 217 | #~ msgid "2 hours" 218 | #~ msgstr "2 horoj" 219 | 220 | #~ msgid "3 hours" 221 | #~ msgstr "3 horoj" 222 | 223 | #~ msgid "4 hours" 224 | #~ msgstr "4 horoj" 225 | 226 | #~ msgid "Other..." 227 | #~ msgstr "Alia..." 228 | -------------------------------------------------------------------------------- /translations/he.po: -------------------------------------------------------------------------------- 1 | # Hebrew translation for caffeine 2 | # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 3 | # This file is distributed under the same license as the caffeine package. 4 | # FIRST AUTHOR , 2010. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: caffeine\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2021-05-30 15:44+0300\n" 11 | "PO-Revision-Date: 2021-05-30 16:20+0300\n" 12 | "Last-Translator: Caffeine Developers \n" 13 | "Language-Team: Hebrew \n" 14 | "Language: he\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "X-Launchpad-Export-Date: 2011-11-20 05:36+0000\n" 19 | "X-Generator: Poedit 2.2.4\n" 20 | 21 | #: caffeine/assets/glade/proc.glade:8 22 | msgid "Select a process name..." 23 | msgstr "" 24 | 25 | #: caffeine/assets/glade/GUI.glade:16 26 | msgid "" 27 | "An application to temporarily prevent the activation of both\n" 28 | " the screen saver and the \"sleep\" powersaving mode." 29 | msgstr "" 30 | 31 | #: caffeine/assets/glade/GUI.glade:114 32 | msgid "Duration" 33 | msgstr "" 34 | 35 | #: caffeine/assets/glade/GUI.glade:147 36 | msgid "Hours:" 37 | msgstr "" 38 | 39 | #: caffeine/assets/glade/GUI.glade:188 40 | msgid "Minutes:" 41 | msgstr "" 42 | 43 | #: caffeine/assets/glade/GUI.glade:286 caffeine/main.py:314 44 | #: caffeine/main.py:400 45 | msgid "Enable Caffeine" 46 | msgstr "" 47 | 48 | #: caffeine/assets/glade/GUI.glade:301 49 | msgid "Enable Caffeine for..." 50 | msgstr "" 51 | 52 | #: caffeine/assets/glade/GUI.glade:429 53 | msgid "Preferences" 54 | msgstr "" 55 | 56 | #: caffeine/assets/glade/GUI.glade:474 57 | msgid "Automatic activation" 58 | msgstr "" 59 | 60 | #: caffeine/assets/glade/GUI.glade:500 61 | msgid "" 62 | "Caffeine can activate automatically\n" 63 | "whenever certain programs are runnning." 64 | msgstr "" 65 | 66 | #: caffeine/assets/glade/GUI.glade:518 67 | msgid "List of programs that Caffeine activates for:" 68 | msgstr "" 69 | 70 | #: caffeine/assets/glade/GUI.glade:543 71 | msgid "" 72 | "When Caffeine detects that one of the processes in this\n" 73 | "list is running, it will prevent the activation of the screensaver\n" 74 | "and powersaving modes. This can be useful for applications\n" 75 | "(particularly full-screen applications) that do not properly\n" 76 | "prevent the screensaver and powersaving modes on their own." 77 | msgstr "" 78 | 79 | #: caffeine/assets/glade/GUI.glade:648 80 | msgid "Audio detection" 81 | msgstr "" 82 | 83 | #: caffeine/assets/glade/GUI.glade:674 84 | msgid "Caffeine activates automatically when audio playback/recording is detected." 85 | msgstr "" 86 | 87 | #: caffeine/assets/glade/GUI.glade:691 88 | msgid "List of programs that Caffeine ignores when detecting audio activity:" 89 | msgstr "" 90 | 91 | #: caffeine/assets/glade/GUI.glade:716 92 | msgid "Audio activity from these processes will not cause Caffeine to activate." 93 | msgstr "" 94 | 95 | #: caffeine/assets/glade/GUI.glade:800 96 | msgid "Enable audio peak filtering" 97 | msgstr "" 98 | 99 | #: caffeine/assets/glade/GUI.glade:840 100 | msgid "Tray icon" 101 | msgstr "" 102 | 103 | #: caffeine/assets/glade/GUI.glade:859 104 | msgid "Show tray icon" 105 | msgstr "" 106 | 107 | #: caffeine/assets/glade/GUI.glade:882 108 | msgid "Show notification on startup" 109 | msgstr "" 110 | 111 | #: caffeine/assets/glade/GUI.glade:942 112 | msgid " " 113 | msgstr "" 114 | 115 | #: caffeine/main.py:190 116 | msgid "Caffeine is running" 117 | msgstr "" 118 | 119 | #: caffeine/main.py:191 120 | msgid "" 121 | "To show the tray icon, \n" 122 | "run " 123 | msgstr "" 124 | 125 | #: caffeine/main.py:193 126 | msgid "or open Caffeine Preferences from your system menu." 127 | msgstr "" 128 | 129 | #: caffeine/main.py:205 130 | msgid "Caffeine is dormant; powersaving is enabled" 131 | msgstr "Caffeine במצב שינה; מצב חסכון מופעל" 132 | 133 | #: caffeine/main.py:275 134 | msgid "translator-credits" 135 | msgstr "" 136 | "Launchpad Contributions:\n" 137 | " Caffeine Developers https://launchpad.net/~caffeine-developers\n" 138 | " Woland https://launchpad.net/~thewoland" 139 | 140 | #: caffeine/main.py:314 caffeine/main.py:400 141 | msgid "Disable Caffeine" 142 | msgstr "" 143 | 144 | #: caffeine/core.py:156 145 | msgid "Timed activation set; " 146 | msgstr "" 147 | 148 | #: caffeine/core.py:157 149 | msgid "Caffeine will prevent powersaving for the next " 150 | msgstr "" 151 | 152 | #: caffeine/core.py:164 153 | msgid "Activated for " 154 | msgstr "הופעל למשך " 155 | 156 | #: caffeine/core.py:191 157 | msgid " have elapsed; powersaving is re-enabled" 158 | msgstr "" 159 | 160 | #: caffeine/core.py:246 161 | msgid "Timed activation cancelled (was set for " 162 | msgstr "" 163 | 164 | #: caffeine/core.py:278 165 | #, fuzzy 166 | #| msgid "Caffeine is dormant; powersaving is enabled" 167 | msgid "Caffeine is dormant; powersaving is enabled." 168 | msgstr "Caffeine במצב שינה; מצב חסכון מופעל" 169 | 170 | #: caffeine/core.py:280 171 | msgid "Caffeine is preventing sleep only." 172 | msgstr "" 173 | 174 | #: caffeine/core.py:282 175 | #, fuzzy 176 | #| msgid "Caffeine is dormant; powersaving is enabled" 177 | msgid "Caffeine is preventing all powersaving." 178 | msgstr "Caffeine במצב שינה; מצב חסכון מופעל" 179 | 180 | #~ msgid " and " 181 | #~ msgstr " וגם " 182 | 183 | #~ msgid "hour" 184 | #~ msgstr "שעה" 185 | 186 | #~ msgid "minute" 187 | #~ msgstr "דקה" 188 | 189 | #~ msgid "hours" 190 | #~ msgstr "שעות" 191 | 192 | #~ msgid "minutes" 193 | #~ msgstr "דקות" 194 | 195 | #~ msgid "Please install" 196 | #~ msgstr "אנא התקינו" 197 | 198 | #~ msgid "Autostart" 199 | #~ msgstr "הפעלה אוטומטית" 200 | 201 | #~ msgid "5 minutes" 202 | #~ msgstr "5 דקות" 203 | 204 | #~ msgid "10 minutes" 205 | #~ msgstr "10 דקות" 206 | 207 | #~ msgid "15 minutes" 208 | #~ msgstr "15 דקות" 209 | 210 | #~ msgid "30 minutes" 211 | #~ msgstr "30 דקות" 212 | 213 | #~ msgid "1 hour" 214 | #~ msgstr "שעה 1" 215 | 216 | #~ msgid "2 hours" 217 | #~ msgstr "2 שעות" 218 | 219 | #~ msgid "3 hours" 220 | #~ msgstr "3 שעות" 221 | 222 | #~ msgid "4 hours" 223 | #~ msgstr "4 שעות" 224 | 225 | #~ msgid "Other..." 226 | #~ msgstr "אחר...‏" 227 | -------------------------------------------------------------------------------- /translations/ja.po: -------------------------------------------------------------------------------- 1 | # Japanese translation for caffeine 2 | # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 3 | # This file is distributed under the same license as the caffeine package. 4 | # FIRST AUTHOR , 2010. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: caffeine\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2021-05-30 15:44+0300\n" 11 | "PO-Revision-Date: 2021-05-30 16:20+0300\n" 12 | "Last-Translator: Akira Nakagawa \n" 13 | "Language-Team: Japanese \n" 14 | "Language: ja\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "X-Launchpad-Export-Date: 2013-06-25 05:16+0000\n" 19 | "X-Generator: Poedit 2.2.4\n" 20 | 21 | #: caffeine/assets/glade/proc.glade:8 22 | msgid "Select a process name..." 23 | msgstr "" 24 | 25 | #: caffeine/assets/glade/GUI.glade:16 26 | msgid "" 27 | "An application to temporarily prevent the activation of both\n" 28 | " the screen saver and the \"sleep\" powersaving mode." 29 | msgstr "" 30 | 31 | #: caffeine/assets/glade/GUI.glade:114 32 | msgid "Duration" 33 | msgstr "" 34 | 35 | #: caffeine/assets/glade/GUI.glade:147 36 | msgid "Hours:" 37 | msgstr "" 38 | 39 | #: caffeine/assets/glade/GUI.glade:188 40 | msgid "Minutes:" 41 | msgstr "" 42 | 43 | #: caffeine/assets/glade/GUI.glade:286 caffeine/main.py:314 44 | #: caffeine/main.py:400 45 | msgid "Enable Caffeine" 46 | msgstr "スクリーンセーバーの無効化" 47 | 48 | #: caffeine/assets/glade/GUI.glade:301 49 | #, fuzzy 50 | #| msgid "Enable Caffeine" 51 | msgid "Enable Caffeine for..." 52 | msgstr "スクリーンセーバーの無効化" 53 | 54 | #: caffeine/assets/glade/GUI.glade:429 55 | msgid "Preferences" 56 | msgstr "" 57 | 58 | #: caffeine/assets/glade/GUI.glade:474 59 | msgid "Automatic activation" 60 | msgstr "" 61 | 62 | #: caffeine/assets/glade/GUI.glade:500 63 | msgid "" 64 | "Caffeine can activate automatically\n" 65 | "whenever certain programs are runnning." 66 | msgstr "" 67 | 68 | #: caffeine/assets/glade/GUI.glade:518 69 | msgid "List of programs that Caffeine activates for:" 70 | msgstr "" 71 | 72 | #: caffeine/assets/glade/GUI.glade:543 73 | msgid "" 74 | "When Caffeine detects that one of the processes in this\n" 75 | "list is running, it will prevent the activation of the screensaver\n" 76 | "and powersaving modes. This can be useful for applications\n" 77 | "(particularly full-screen applications) that do not properly\n" 78 | "prevent the screensaver and powersaving modes on their own." 79 | msgstr "" 80 | 81 | #: caffeine/assets/glade/GUI.glade:648 82 | msgid "Audio detection" 83 | msgstr "" 84 | 85 | #: caffeine/assets/glade/GUI.glade:674 86 | msgid "Caffeine activates automatically when audio playback/recording is detected." 87 | msgstr "" 88 | 89 | #: caffeine/assets/glade/GUI.glade:691 90 | msgid "List of programs that Caffeine ignores when detecting audio activity:" 91 | msgstr "" 92 | 93 | #: caffeine/assets/glade/GUI.glade:716 94 | msgid "Audio activity from these processes will not cause Caffeine to activate." 95 | msgstr "" 96 | 97 | #: caffeine/assets/glade/GUI.glade:800 98 | msgid "Enable audio peak filtering" 99 | msgstr "" 100 | 101 | #: caffeine/assets/glade/GUI.glade:840 102 | msgid "Tray icon" 103 | msgstr "" 104 | 105 | #: caffeine/assets/glade/GUI.glade:859 106 | msgid "Show tray icon" 107 | msgstr "" 108 | 109 | #: caffeine/assets/glade/GUI.glade:882 110 | msgid "Show notification on startup" 111 | msgstr "" 112 | 113 | #: caffeine/assets/glade/GUI.glade:942 114 | msgid " " 115 | msgstr "" 116 | 117 | #: caffeine/main.py:190 118 | msgid "Caffeine is running" 119 | msgstr "" 120 | 121 | #: caffeine/main.py:191 122 | msgid "" 123 | "To show the tray icon, \n" 124 | "run " 125 | msgstr "" 126 | 127 | #: caffeine/main.py:193 128 | msgid "or open Caffeine Preferences from your system menu." 129 | msgstr "" 130 | 131 | #: caffeine/main.py:205 132 | msgid "Caffeine is dormant; powersaving is enabled" 133 | msgstr "" 134 | 135 | #: caffeine/main.py:275 136 | msgid "translator-credits" 137 | msgstr "" 138 | "Launchpad Contributions:\n" 139 | " Akira Nakagawa https://launchpad.net/~matyapiro31\n" 140 | " Caffeine Developers https://launchpad.net/~caffeine-developers\n" 141 | " frederyk https://launchpad.net/~frederyk" 142 | 143 | #: caffeine/main.py:314 caffeine/main.py:400 144 | msgid "Disable Caffeine" 145 | msgstr "" 146 | 147 | #: caffeine/core.py:156 148 | msgid "Timed activation set; " 149 | msgstr "" 150 | 151 | #: caffeine/core.py:157 152 | msgid "Caffeine will prevent powersaving for the next " 153 | msgstr "" 154 | 155 | #: caffeine/core.py:164 156 | msgid "Activated for " 157 | msgstr "アクティベート対象: " 158 | 159 | #: caffeine/core.py:191 160 | msgid " have elapsed; powersaving is re-enabled" 161 | msgstr "" 162 | 163 | #: caffeine/core.py:246 164 | msgid "Timed activation cancelled (was set for " 165 | msgstr "" 166 | 167 | #: caffeine/core.py:278 168 | msgid "Caffeine is dormant; powersaving is enabled." 169 | msgstr "" 170 | 171 | #: caffeine/core.py:280 172 | msgid "Caffeine is preventing sleep only." 173 | msgstr "" 174 | 175 | #: caffeine/core.py:282 176 | msgid "Caffeine is preventing all powersaving." 177 | msgstr "" 178 | 179 | #~ msgid " and " 180 | #~ msgstr " と " 181 | 182 | #~ msgid "hour" 183 | #~ msgstr "時" 184 | 185 | #~ msgid "minute" 186 | #~ msgstr "分" 187 | 188 | #~ msgid "hours" 189 | #~ msgstr "時間" 190 | 191 | #~ msgid "minutes" 192 | #~ msgstr "分間" 193 | 194 | #~ msgid "Please install" 195 | #~ msgstr "インストールしてください" 196 | 197 | #~ msgid "1 hour" 198 | #~ msgstr "1時間" 199 | 200 | #~ msgid "5 minutes" 201 | #~ msgstr "5分" 202 | 203 | #~ msgid "10 minutes" 204 | #~ msgstr "10分" 205 | 206 | #~ msgid "15 minutes" 207 | #~ msgstr "15分" 208 | 209 | #~ msgid "30 minutes" 210 | #~ msgstr "30分" 211 | 212 | #~ msgid "2 hours" 213 | #~ msgstr "2時間" 214 | 215 | #~ msgid "3 hours" 216 | #~ msgstr "3時間" 217 | 218 | #~ msgid "4 hours" 219 | #~ msgstr "4時間" 220 | 221 | #~ msgid "Other..." 222 | #~ msgstr "その他..." 223 | -------------------------------------------------------------------------------- /translations/lt.po: -------------------------------------------------------------------------------- 1 | # Lithuanian translation for caffeine 2 | # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 3 | # This file is distributed under the same license as the caffeine package. 4 | # FIRST AUTHOR , 2011. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: caffeine\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2021-05-30 15:44+0300\n" 11 | "PO-Revision-Date: 2021-05-30 16:20+0300\n" 12 | "Last-Translator: Caffeine Developers \n" 13 | "Language-Team: Lithuanian \n" 14 | "Language: lt\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "X-Launchpad-Export-Date: 2011-12-31 05:57+0000\n" 19 | "X-Generator: Poedit 2.2.4\n" 20 | 21 | #: caffeine/assets/glade/proc.glade:8 22 | msgid "Select a process name..." 23 | msgstr "Pasirinkite užduočių pavadinimą..." 24 | 25 | #: caffeine/assets/glade/GUI.glade:16 26 | msgid "" 27 | "An application to temporarily prevent the activation of both\n" 28 | " the screen saver and the \"sleep\" powersaving mode." 29 | msgstr "" 30 | "Programa nustatyta laikinai neleisti kompiuteriui\n" 31 | "įjungti ekrano užsklandos ar užmigti" 32 | 33 | #: caffeine/assets/glade/GUI.glade:114 34 | msgid "Duration" 35 | msgstr "Trukmė" 36 | 37 | #: caffeine/assets/glade/GUI.glade:147 38 | msgid "Hours:" 39 | msgstr "Valandos:" 40 | 41 | #: caffeine/assets/glade/GUI.glade:188 42 | msgid "Minutes:" 43 | msgstr "Minutės:" 44 | 45 | #: caffeine/assets/glade/GUI.glade:286 caffeine/main.py:314 46 | #: caffeine/main.py:400 47 | msgid "Enable Caffeine" 48 | msgstr "Išjungti ekrano užsklandą" 49 | 50 | #: caffeine/assets/glade/GUI.glade:301 51 | #, fuzzy 52 | #| msgid "Enable Caffeine" 53 | msgid "Enable Caffeine for..." 54 | msgstr "Išjungti ekrano užsklandą" 55 | 56 | #: caffeine/assets/glade/GUI.glade:429 57 | msgid "Preferences" 58 | msgstr "Nustatymai" 59 | 60 | #: caffeine/assets/glade/GUI.glade:474 61 | msgid "Automatic activation" 62 | msgstr "Automatinis aktyvavimas" 63 | 64 | #: caffeine/assets/glade/GUI.glade:500 65 | msgid "" 66 | "Caffeine can activate automatically\n" 67 | "whenever certain programs are runnning." 68 | msgstr "" 69 | "Caffeine bus automatiškai paleista \n" 70 | "veikiant tam tikroms programoms" 71 | 72 | #: caffeine/assets/glade/GUI.glade:518 73 | msgid "List of programs that Caffeine activates for:" 74 | msgstr "Programų sąrašas" 75 | 76 | #: caffeine/assets/glade/GUI.glade:543 77 | msgid "" 78 | "When Caffeine detects that one of the processes in this\n" 79 | "list is running, it will prevent the activation of the screensaver\n" 80 | "and powersaving modes. This can be useful for applications\n" 81 | "(particularly full-screen applications) that do not properly\n" 82 | "prevent the screensaver and powersaving modes on their own." 83 | msgstr "" 84 | "Veikiant šiame saraše esančioms programoms,\n" 85 | "Caffeine neleis kompiuteriui užmigti ar įjungti\n" 86 | "ekrano užsklandos." 87 | 88 | #: caffeine/assets/glade/GUI.glade:648 89 | msgid "Audio detection" 90 | msgstr "" 91 | 92 | #: caffeine/assets/glade/GUI.glade:674 93 | #, fuzzy 94 | #| msgid "" 95 | #| "Caffeine can activate automatically\n" 96 | #| "whenever certain programs are runnning." 97 | msgid "Caffeine activates automatically when audio playback/recording is detected." 98 | msgstr "" 99 | "Caffeine bus automatiškai paleista \n" 100 | "veikiant tam tikroms programoms" 101 | 102 | #: caffeine/assets/glade/GUI.glade:691 103 | #, fuzzy 104 | #| msgid "List of programs that Caffeine activates for:" 105 | msgid "List of programs that Caffeine ignores when detecting audio activity:" 106 | msgstr "Programų sąrašas" 107 | 108 | #: caffeine/assets/glade/GUI.glade:716 109 | msgid "Audio activity from these processes will not cause Caffeine to activate." 110 | msgstr "" 111 | 112 | #: caffeine/assets/glade/GUI.glade:800 113 | msgid "Enable audio peak filtering" 114 | msgstr "" 115 | 116 | #: caffeine/assets/glade/GUI.glade:840 117 | msgid "Tray icon" 118 | msgstr "Piktograma užduočių juostoje" 119 | 120 | #: caffeine/assets/glade/GUI.glade:859 121 | msgid "Show tray icon" 122 | msgstr "Rodyti piktogramą užduočių juostoje" 123 | 124 | #: caffeine/assets/glade/GUI.glade:882 125 | msgid "Show notification on startup" 126 | msgstr "Rodyti pranešimą paleidžiant programą" 127 | 128 | #: caffeine/assets/glade/GUI.glade:942 129 | msgid " " 130 | msgstr " " 131 | 132 | #: caffeine/main.py:190 133 | msgid "Caffeine is running" 134 | msgstr "Šiuo metu Caffeine veikia" 135 | 136 | #: caffeine/main.py:191 137 | #, fuzzy 138 | #| msgid "Show tray icon" 139 | msgid "" 140 | "To show the tray icon, \n" 141 | "run " 142 | msgstr "Rodyti piktogramą užduočių juostoje" 143 | 144 | #: caffeine/main.py:193 145 | msgid "or open Caffeine Preferences from your system menu." 146 | msgstr "" 147 | 148 | #: caffeine/main.py:205 149 | msgid "Caffeine is dormant; powersaving is enabled" 150 | msgstr "Caffeine neveikia; energijos taupymas yra įjungtas" 151 | 152 | #: caffeine/main.py:275 153 | msgid "translator-credits" 154 | msgstr "" 155 | "Launchpad Contributions:\n" 156 | " Caffeine Developers https://launchpad.net/~caffeine-developers\n" 157 | " Craftaz https://launchpad.net/~thecloudmaker" 158 | 159 | #: caffeine/main.py:314 caffeine/main.py:400 160 | msgid "Disable Caffeine" 161 | msgstr "Įjungti ekrano užsklandą" 162 | 163 | #: caffeine/core.py:156 164 | msgid "Timed activation set; " 165 | msgstr "Aktyvuotas riboto laiko režimas " 166 | 167 | #: caffeine/core.py:157 168 | msgid "Caffeine will prevent powersaving for the next " 169 | msgstr "Caffeine, veikiant šioms programoms, neleis kompiuteriui užmigti " 170 | 171 | #: caffeine/core.py:164 172 | msgid "Activated for " 173 | msgstr "Įjungta " 174 | 175 | #: caffeine/core.py:191 176 | msgid " have elapsed; powersaving is re-enabled" 177 | msgstr " praėjo; įjungtas energijos taupymo rėžimas" 178 | 179 | #: caffeine/core.py:246 180 | msgid "Timed activation cancelled (was set for " 181 | msgstr "Riboto laiko veikimas išjungtas (buvo nustatytas " 182 | 183 | #: caffeine/core.py:278 184 | #, fuzzy 185 | #| msgid "Caffeine is dormant; powersaving is enabled" 186 | msgid "Caffeine is dormant; powersaving is enabled." 187 | msgstr "Caffeine neveikia; energijos taupymas yra įjungtas" 188 | 189 | #: caffeine/core.py:280 190 | #, fuzzy 191 | #| msgid "Caffeine is running" 192 | msgid "Caffeine is preventing sleep only." 193 | msgstr "Šiuo metu Caffeine veikia" 194 | 195 | #: caffeine/core.py:282 196 | #, fuzzy 197 | #| msgid "Caffeine will prevent powersaving for the next " 198 | msgid "Caffeine is preventing all powersaving." 199 | msgstr "Caffeine, veikiant šioms programoms, neleis kompiuteriui užmigti " 200 | 201 | #~ msgid "Activated for Flash video" 202 | #~ msgstr "Įjungti peržiūrimiems Flash vaizdo įrašams" 203 | 204 | #~ msgid "Activated for Quake Live" 205 | #~ msgstr "Įjungti Quake puslapiui" 206 | 207 | #~ msgid " and " 208 | #~ msgstr " ir " 209 | 210 | #~ msgid "hour" 211 | #~ msgstr "valanda" 212 | 213 | #~ msgid "minute" 214 | #~ msgstr "minutė" 215 | 216 | #~ msgid "hours" 217 | #~ msgstr "valandų" 218 | 219 | #~ msgid "minutes" 220 | #~ msgstr "minučių" 221 | 222 | #~ msgid "Caffeine is preventing powersaving modes and screensaver activation " 223 | #~ msgstr "Caffeine neleidžia kompiuteriui pereiti į miego rėžimą ar įjungti ekrano užsklandą kol veikia sąraše esančios programos. " 224 | 225 | #~ msgid "Please install" 226 | #~ msgstr "Instaliuokite" 227 | 228 | #~ msgid "Disable Screensaver for..." 229 | #~ msgstr "Išjungiama ekrano užsklanda..." 230 | 231 | #~ msgid "Autostart" 232 | #~ msgstr "Automatinis pasileidimas" 233 | 234 | #~ msgid "Start Caffeine on login" 235 | #~ msgstr "Paleisti Caffeine prisijungiant" 236 | 237 | #~ msgid "" 238 | #~ "Enable this option to automatically run Caffeine as soon as\n" 239 | #~ "your computer has finished starting up and you have\n" 240 | #~ "successfully entered your username and password." 241 | #~ msgstr "Caffeine automatiškai bus paleista įjungiant kompiuterį" 242 | 243 | #~ msgid "Activate for Flash video" 244 | #~ msgstr "Įjungti Flash įskiepiui" 245 | 246 | #~ msgid "" 247 | #~ "Some websites, such as www.youtube.com, show videos using\n" 248 | #~ "a technology known as \"Flash\". Enable this option to cause\n" 249 | #~ "Caffeine to automatically prevent the activation of the\n" 250 | #~ "screensaver and powersaving modes when a Flash video is\n" 251 | #~ "embedded in the web page that you are currently browsing." 252 | #~ msgstr "" 253 | #~ "www.youtube.com vaizdo pergrojimui naudoja įskiepį pavadinimu\n" 254 | #~ "\"Flash\". Įjunkite šį pasirinkimą noredami, kad kompiuteris neužmigtų\n" 255 | #~ "ir neįjungtų ekrano užsklandos žiurint vaizdo įrašus ar naudojantis\n" 256 | #~ "kitomis programomis sukurtomis \"Flash\"." 257 | 258 | #~ msgid "Activate for Quake Live" 259 | #~ msgstr "Įjungti Quake Live puslapiui" 260 | 261 | #~ msgid "" 262 | #~ "Enable this option to cause Caffeine to automatically prevent\n" 263 | #~ "the activation of the screensaver and powersaving modes\n" 264 | #~ "when it detects that you are playing the Quake Live video\n" 265 | #~ "game. Visit www.quakelive.com to play the game for free." 266 | #~ msgstr "" 267 | #~ "Noredami neleisti kompiuteriui užmigti ar įjungti ekrano užsklandos\n" 268 | #~ "kol yra naudojamasi www.quakelive.com, įjunkite šį pasirinkimą." 269 | -------------------------------------------------------------------------------- /translations/no.po: -------------------------------------------------------------------------------- 1 | # Norwegian translation for caffeine 2 | # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 3 | # This file is distributed under the same license as the caffeine package. 4 | # FIRST AUTHOR , 2009. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: caffeine\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2021-05-30 15:44+0300\n" 11 | "PO-Revision-Date: 2021-05-30 16:21+0300\n" 12 | "Last-Translator: Launchpad Translations Administrators \n" 13 | "Language-Team: Norwegian \n" 14 | "Language: no\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "X-Launchpad-Export-Date: 2011-11-20 05:36+0000\n" 19 | "X-Generator: Poedit 2.2.4\n" 20 | 21 | #: caffeine/assets/glade/proc.glade:8 22 | msgid "Select a process name..." 23 | msgstr "" 24 | 25 | #: caffeine/assets/glade/GUI.glade:16 26 | msgid "" 27 | "An application to temporarily prevent the activation of both\n" 28 | " the screen saver and the \"sleep\" powersaving mode." 29 | msgstr "" 30 | 31 | #: caffeine/assets/glade/GUI.glade:114 32 | msgid "Duration" 33 | msgstr "" 34 | 35 | #: caffeine/assets/glade/GUI.glade:147 36 | msgid "Hours:" 37 | msgstr "" 38 | 39 | #: caffeine/assets/glade/GUI.glade:188 40 | msgid "Minutes:" 41 | msgstr "" 42 | 43 | #: caffeine/assets/glade/GUI.glade:286 caffeine/main.py:314 44 | #: caffeine/main.py:400 45 | msgid "Enable Caffeine" 46 | msgstr "" 47 | 48 | #: caffeine/assets/glade/GUI.glade:301 49 | msgid "Enable Caffeine for..." 50 | msgstr "" 51 | 52 | #: caffeine/assets/glade/GUI.glade:429 53 | msgid "Preferences" 54 | msgstr "" 55 | 56 | #: caffeine/assets/glade/GUI.glade:474 57 | msgid "Automatic activation" 58 | msgstr "" 59 | 60 | #: caffeine/assets/glade/GUI.glade:500 61 | msgid "" 62 | "Caffeine can activate automatically\n" 63 | "whenever certain programs are runnning." 64 | msgstr "" 65 | 66 | #: caffeine/assets/glade/GUI.glade:518 67 | msgid "List of programs that Caffeine activates for:" 68 | msgstr "" 69 | 70 | #: caffeine/assets/glade/GUI.glade:543 71 | msgid "" 72 | "When Caffeine detects that one of the processes in this\n" 73 | "list is running, it will prevent the activation of the screensaver\n" 74 | "and powersaving modes. This can be useful for applications\n" 75 | "(particularly full-screen applications) that do not properly\n" 76 | "prevent the screensaver and powersaving modes on their own." 77 | msgstr "" 78 | 79 | #: caffeine/assets/glade/GUI.glade:648 80 | msgid "Audio detection" 81 | msgstr "" 82 | 83 | #: caffeine/assets/glade/GUI.glade:674 84 | msgid "Caffeine activates automatically when audio playback/recording is detected." 85 | msgstr "" 86 | 87 | #: caffeine/assets/glade/GUI.glade:691 88 | msgid "List of programs that Caffeine ignores when detecting audio activity:" 89 | msgstr "" 90 | 91 | #: caffeine/assets/glade/GUI.glade:716 92 | msgid "Audio activity from these processes will not cause Caffeine to activate." 93 | msgstr "" 94 | 95 | #: caffeine/assets/glade/GUI.glade:800 96 | msgid "Enable audio peak filtering" 97 | msgstr "" 98 | 99 | #: caffeine/assets/glade/GUI.glade:840 100 | msgid "Tray icon" 101 | msgstr "" 102 | 103 | #: caffeine/assets/glade/GUI.glade:859 104 | msgid "Show tray icon" 105 | msgstr "" 106 | 107 | #: caffeine/assets/glade/GUI.glade:882 108 | msgid "Show notification on startup" 109 | msgstr "" 110 | 111 | #: caffeine/assets/glade/GUI.glade:942 112 | msgid " " 113 | msgstr "" 114 | 115 | #: caffeine/main.py:190 116 | msgid "Caffeine is running" 117 | msgstr "" 118 | 119 | #: caffeine/main.py:191 120 | msgid "" 121 | "To show the tray icon, \n" 122 | "run " 123 | msgstr "" 124 | 125 | #: caffeine/main.py:193 126 | msgid "or open Caffeine Preferences from your system menu." 127 | msgstr "" 128 | 129 | #: caffeine/main.py:205 130 | msgid "Caffeine is dormant; powersaving is enabled" 131 | msgstr "" 132 | 133 | #: caffeine/main.py:275 134 | msgid "translator-credits" 135 | msgstr "" 136 | 137 | #: caffeine/main.py:314 caffeine/main.py:400 138 | msgid "Disable Caffeine" 139 | msgstr "" 140 | 141 | #: caffeine/core.py:156 142 | msgid "Timed activation set; " 143 | msgstr "" 144 | 145 | #: caffeine/core.py:157 146 | msgid "Caffeine will prevent powersaving for the next " 147 | msgstr "" 148 | 149 | #: caffeine/core.py:164 150 | msgid "Activated for " 151 | msgstr "" 152 | 153 | #: caffeine/core.py:191 154 | msgid " have elapsed; powersaving is re-enabled" 155 | msgstr "" 156 | 157 | #: caffeine/core.py:246 158 | msgid "Timed activation cancelled (was set for " 159 | msgstr "" 160 | 161 | #: caffeine/core.py:278 162 | msgid "Caffeine is dormant; powersaving is enabled." 163 | msgstr "" 164 | 165 | #: caffeine/core.py:280 166 | msgid "Caffeine is preventing sleep only." 167 | msgstr "" 168 | 169 | #: caffeine/core.py:282 170 | msgid "Caffeine is preventing all powersaving." 171 | msgstr "" 172 | 173 | #~ msgid "hour" 174 | #~ msgstr "time" 175 | 176 | #~ msgid "minute" 177 | #~ msgstr "minutt" 178 | 179 | #~ msgid "1 hour" 180 | #~ msgstr "1 time" 181 | -------------------------------------------------------------------------------- /translations/sv.po: -------------------------------------------------------------------------------- 1 | # Swedish translation for caffeine 2 | # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 3 | # This file is distributed under the same license as the caffeine package. 4 | # FIRST AUTHOR , 2009. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: caffeine\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2021-05-30 15:44+0300\n" 11 | "PO-Revision-Date: 2021-05-30 16:22+0300\n" 12 | "Last-Translator: Launchpad Translations Administrators \n" 13 | "Language-Team: Swedish \n" 14 | "Language: sv\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "X-Launchpad-Export-Date: 2011-11-20 05:36+0000\n" 19 | "X-Generator: Poedit 2.2.4\n" 20 | 21 | #: caffeine/assets/glade/proc.glade:8 22 | msgid "Select a process name..." 23 | msgstr "Välj process..." 24 | 25 | #: caffeine/assets/glade/GUI.glade:16 26 | msgid "" 27 | "An application to temporarily prevent the activation of both\n" 28 | " the screen saver and the \"sleep\" powersaving mode." 29 | msgstr "" 30 | 31 | #: caffeine/assets/glade/GUI.glade:114 32 | msgid "Duration" 33 | msgstr "Varaktighet" 34 | 35 | #: caffeine/assets/glade/GUI.glade:147 36 | msgid "Hours:" 37 | msgstr "Timmar:" 38 | 39 | #: caffeine/assets/glade/GUI.glade:188 40 | msgid "Minutes:" 41 | msgstr "Minuter:" 42 | 43 | #: caffeine/assets/glade/GUI.glade:286 caffeine/main.py:314 44 | #: caffeine/main.py:400 45 | msgid "Enable Caffeine" 46 | msgstr "" 47 | 48 | #: caffeine/assets/glade/GUI.glade:301 49 | msgid "Enable Caffeine for..." 50 | msgstr "" 51 | 52 | #: caffeine/assets/glade/GUI.glade:429 53 | msgid "Preferences" 54 | msgstr "Inställningar" 55 | 56 | #: caffeine/assets/glade/GUI.glade:474 57 | msgid "Automatic activation" 58 | msgstr "Automatiskt aktivering" 59 | 60 | #: caffeine/assets/glade/GUI.glade:500 61 | msgid "" 62 | "Caffeine can activate automatically\n" 63 | "whenever certain programs are runnning." 64 | msgstr "" 65 | "Caffeine kan aktiveras automatiskt\n" 66 | " när vissa program är körs" 67 | 68 | #: caffeine/assets/glade/GUI.glade:518 69 | msgid "List of programs that Caffeine activates for:" 70 | msgstr "Lista över program som Caffeine aktiveras automatiskt för:" 71 | 72 | #: caffeine/assets/glade/GUI.glade:543 73 | msgid "" 74 | "When Caffeine detects that one of the processes in this\n" 75 | "list is running, it will prevent the activation of the screensaver\n" 76 | "and powersaving modes. This can be useful for applications\n" 77 | "(particularly full-screen applications) that do not properly\n" 78 | "prevent the screensaver and powersaving modes on their own." 79 | msgstr "" 80 | "När Caffeine upptäcker att en av processerna i\n" 81 | "listan körs så förhindras skärmsläckaren automatiskt\n" 82 | "från att aktiveras. Detta kan vara praktiskt för applikationer\n" 83 | "(speciellt fullskärmsapplikationer) som inte själv\n" 84 | "förhindrar att skärmsläckaren aktiveras." 85 | 86 | #: caffeine/assets/glade/GUI.glade:648 87 | msgid "Audio detection" 88 | msgstr "" 89 | 90 | #: caffeine/assets/glade/GUI.glade:674 91 | #, fuzzy 92 | #| msgid "" 93 | #| "Caffeine can activate automatically\n" 94 | #| "whenever certain programs are runnning." 95 | msgid "Caffeine activates automatically when audio playback/recording is detected." 96 | msgstr "" 97 | "Caffeine kan aktiveras automatiskt\n" 98 | " när vissa program är körs" 99 | 100 | #: caffeine/assets/glade/GUI.glade:691 101 | #, fuzzy 102 | #| msgid "List of programs that Caffeine activates for:" 103 | msgid "List of programs that Caffeine ignores when detecting audio activity:" 104 | msgstr "Lista över program som Caffeine aktiveras automatiskt för:" 105 | 106 | #: caffeine/assets/glade/GUI.glade:716 107 | msgid "Audio activity from these processes will not cause Caffeine to activate." 108 | msgstr "" 109 | 110 | #: caffeine/assets/glade/GUI.glade:800 111 | msgid "Enable audio peak filtering" 112 | msgstr "" 113 | 114 | #: caffeine/assets/glade/GUI.glade:840 115 | msgid "Tray icon" 116 | msgstr "" 117 | 118 | #: caffeine/assets/glade/GUI.glade:859 119 | msgid "Show tray icon" 120 | msgstr "" 121 | 122 | #: caffeine/assets/glade/GUI.glade:882 123 | msgid "Show notification on startup" 124 | msgstr "" 125 | 126 | #: caffeine/assets/glade/GUI.glade:942 127 | msgid " " 128 | msgstr "" 129 | 130 | #: caffeine/main.py:190 131 | msgid "Caffeine is running" 132 | msgstr "" 133 | 134 | #: caffeine/main.py:191 135 | msgid "" 136 | "To show the tray icon, \n" 137 | "run " 138 | msgstr "" 139 | 140 | #: caffeine/main.py:193 141 | msgid "or open Caffeine Preferences from your system menu." 142 | msgstr "" 143 | 144 | #: caffeine/main.py:205 145 | msgid "Caffeine is dormant; powersaving is enabled" 146 | msgstr "Caffeine inaktivt; strömsparläge åter tillgängligt." 147 | 148 | #: caffeine/main.py:275 149 | msgid "translator-credits" 150 | msgstr "" 151 | 152 | #: caffeine/main.py:314 caffeine/main.py:400 153 | msgid "Disable Caffeine" 154 | msgstr "" 155 | 156 | #: caffeine/core.py:156 157 | msgid "Timed activation set; " 158 | msgstr "Tidsbestämd aktivering inställd; " 159 | 160 | #: caffeine/core.py:157 161 | msgid "Caffeine will prevent powersaving for the next " 162 | msgstr "Caffeine aktivt i " 163 | 164 | #: caffeine/core.py:164 165 | msgid "Activated for " 166 | msgstr "Aktivt under " 167 | 168 | #: caffeine/core.py:191 169 | msgid " have elapsed; powersaving is re-enabled" 170 | msgstr " har gått; strömsparläge och skärmsläckare återställda" 171 | 172 | #: caffeine/core.py:246 173 | msgid "Timed activation cancelled (was set for " 174 | msgstr "Tidsbestämd aktivering avstängd (var tidigare ställd till " 175 | 176 | #: caffeine/core.py:278 177 | #, fuzzy 178 | #| msgid "Caffeine is dormant; powersaving is enabled" 179 | msgid "Caffeine is dormant; powersaving is enabled." 180 | msgstr "Caffeine inaktivt; strömsparläge åter tillgängligt." 181 | 182 | #: caffeine/core.py:280 183 | #, fuzzy 184 | #| msgid "Caffeine will prevent powersaving for the next " 185 | msgid "Caffeine is preventing sleep only." 186 | msgstr "Caffeine aktivt i " 187 | 188 | #: caffeine/core.py:282 189 | #, fuzzy 190 | #| msgid "Caffeine will prevent powersaving for the next " 191 | msgid "Caffeine is preventing all powersaving." 192 | msgstr "Caffeine aktivt i " 193 | 194 | #~ msgid "Activated for Flash video" 195 | #~ msgstr "Aktiverad p.g.a. Flash-video." 196 | 197 | #~ msgid "Activated for Quake Live" 198 | #~ msgstr "Aktiverad p.g.a. Quake Live" 199 | 200 | #~ msgid " and " 201 | #~ msgstr " och " 202 | 203 | #~ msgid "hour" 204 | #~ msgstr "timme" 205 | 206 | #~ msgid "minute" 207 | #~ msgstr "minut" 208 | 209 | #~ msgid "hours" 210 | #~ msgstr "timmar" 211 | 212 | #~ msgid "minutes" 213 | #~ msgstr "minuter" 214 | 215 | #~ msgid "Caffeine is preventing powersaving modes and screensaver activation " 216 | #~ msgstr "Caffeine förhindrar strömsparulägen och skärmsläckaraktivering " 217 | 218 | #~ msgid "Please install" 219 | #~ msgstr "Var god installera" 220 | 221 | #~ msgid "Autostart" 222 | #~ msgstr "Autostart" 223 | 224 | #~ msgid "Start Caffeine on login" 225 | #~ msgstr "Starta Caffeine automatiskt" 226 | 227 | #~ msgid "" 228 | #~ "Enable this option to automatically run Caffeine as soon as\n" 229 | #~ "your computer has finished starting up and you have\n" 230 | #~ "successfully entered your username and password." 231 | #~ msgstr "" 232 | #~ "Aktivera detta alternativ för att köra Caffeine automatiskt \n" 233 | #~ "så snart som din dator startat och du loggat in." 234 | 235 | #~ msgid "Activate for Flash video" 236 | #~ msgstr "Aktivera vid Flash-video" 237 | 238 | #~ msgid "" 239 | #~ "Some websites, such as www.youtube.com, show videos using\n" 240 | #~ "a technology known as \"Flash\". Enable this option to cause\n" 241 | #~ "Caffeine to automatically prevent the activation of the\n" 242 | #~ "screensaver and powersaving modes when a Flash video is\n" 243 | #~ "embedded in the web page that you are currently browsing." 244 | #~ msgstr "" 245 | #~ "Vissa hemsidor, såsom www.youtube.com, vidar videor\n" 246 | #~ "genom en teknik vid namn \"Flash\". Aktivera detta\n" 247 | #~ "alternativ för att låta Caffeine automatiskt förhindra\n" 248 | #~ "skärmsläckaren från att aktiveras så länge Flash-videor\n" 249 | #~ "spelas." 250 | 251 | #~ msgid "Activate for Quake Live" 252 | #~ msgstr "Aktivera för Quake Live" 253 | 254 | #~ msgid "" 255 | #~ "Enable this option to cause Caffeine to automatically prevent\n" 256 | #~ "the activation of the screensaver and powersaving modes\n" 257 | #~ "when it detects that you are playing the Quake Live video\n" 258 | #~ "game. Visit www.quakelive.com to play the game for free." 259 | #~ msgstr "" 260 | #~ "Aktivera detta alternativ för att låta Caffeine automatiskt\n" 261 | #~ "förhindra skärmsläckaren från att aktiveras medan ni\n" 262 | #~ "spelar datorspelet Quake Live. Gå till www.quakelive.com\n" 263 | #~ "för att gratis ta del av spelet." 264 | 265 | #~ msgid "30 minutes" 266 | #~ msgstr "30 minuter" 267 | 268 | #~ msgid "5 minutes" 269 | #~ msgstr "5 minuter" 270 | 271 | #~ msgid "10 minutes" 272 | #~ msgstr "10 minuter" 273 | 274 | #~ msgid "15 minutes" 275 | #~ msgstr "15 minuter" 276 | 277 | #~ msgid "1 hour" 278 | #~ msgstr "1 timme" 279 | 280 | #~ msgid "2 hours" 281 | #~ msgstr "2 timmar" 282 | 283 | #~ msgid "3 hours" 284 | #~ msgstr "3 timmar" 285 | 286 | #~ msgid "4 hours" 287 | #~ msgstr "4 timmar" 288 | 289 | #~ msgid "An application to temporarily prevent the activation of both the screen saver and the \"sleep\" powersaving mode." 290 | #~ msgstr "En applikation för att tillfälligt hindra aktivering av såväl skärmsläckare som viloläge." 291 | 292 | #~ msgid "Configure Caffeine" 293 | #~ msgstr "Inställningar för Caffeine" 294 | 295 | #~ msgid "Activate for" 296 | #~ msgstr "Aktivera i" 297 | 298 | #~ msgid "Other..." 299 | #~ msgstr "Annan..." 300 | 301 | #~ msgid "Running Processes" 302 | #~ msgstr "Aktiva Processer" 303 | 304 | #~ msgid "Recent Processes" 305 | #~ msgstr "Nyligen Aktiva Processer" 306 | -------------------------------------------------------------------------------- /translations/th.po: -------------------------------------------------------------------------------- 1 | # Thai translation for caffeine 2 | # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 3 | # This file is distributed under the same license as the caffeine package. 4 | # FIRST AUTHOR , 2009. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: caffeine\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2021-05-30 15:44+0300\n" 11 | "PO-Revision-Date: 2021-05-30 16:22+0300\n" 12 | "Last-Translator: Caffeine Developers \n" 13 | "Language-Team: Thai \n" 14 | "Language: th\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "X-Launchpad-Export-Date: 2011-11-20 05:36+0000\n" 19 | "X-Generator: Poedit 2.2.4\n" 20 | 21 | #: caffeine/assets/glade/proc.glade:8 22 | msgid "Select a process name..." 23 | msgstr "เลือกชื่อโพรเซส..." 24 | 25 | #: caffeine/assets/glade/GUI.glade:16 26 | msgid "" 27 | "An application to temporarily prevent the activation of both\n" 28 | " the screen saver and the \"sleep\" powersaving mode." 29 | msgstr "" 30 | 31 | #: caffeine/assets/glade/GUI.glade:114 32 | msgid "Duration" 33 | msgstr "ระยะเวลา" 34 | 35 | #: caffeine/assets/glade/GUI.glade:147 36 | msgid "Hours:" 37 | msgstr "ชั่วโมง:" 38 | 39 | #: caffeine/assets/glade/GUI.glade:188 40 | msgid "Minutes:" 41 | msgstr "นาที:" 42 | 43 | #: caffeine/assets/glade/GUI.glade:286 caffeine/main.py:314 44 | #: caffeine/main.py:400 45 | msgid "Enable Caffeine" 46 | msgstr "" 47 | 48 | #: caffeine/assets/glade/GUI.glade:301 49 | msgid "Enable Caffeine for..." 50 | msgstr "" 51 | 52 | #: caffeine/assets/glade/GUI.glade:429 53 | msgid "Preferences" 54 | msgstr "กำหนดค่า" 55 | 56 | #: caffeine/assets/glade/GUI.glade:474 57 | msgid "Automatic activation" 58 | msgstr "ทำงานโดยอัตโนมัติ" 59 | 60 | #: caffeine/assets/glade/GUI.glade:500 61 | msgid "" 62 | "Caffeine can activate automatically\n" 63 | "whenever certain programs are runnning." 64 | msgstr "" 65 | 66 | #: caffeine/assets/glade/GUI.glade:518 67 | msgid "List of programs that Caffeine activates for:" 68 | msgstr "รายชื่อโปรแกรมที่Caffeineทำงานจำเพาะต่อ:" 69 | 70 | #: caffeine/assets/glade/GUI.glade:543 71 | msgid "" 72 | "When Caffeine detects that one of the processes in this\n" 73 | "list is running, it will prevent the activation of the screensaver\n" 74 | "and powersaving modes. This can be useful for applications\n" 75 | "(particularly full-screen applications) that do not properly\n" 76 | "prevent the screensaver and powersaving modes on their own." 77 | msgstr "" 78 | 79 | #: caffeine/assets/glade/GUI.glade:648 80 | msgid "Audio detection" 81 | msgstr "" 82 | 83 | #: caffeine/assets/glade/GUI.glade:674 84 | msgid "Caffeine activates automatically when audio playback/recording is detected." 85 | msgstr "" 86 | 87 | #: caffeine/assets/glade/GUI.glade:691 88 | #, fuzzy 89 | #| msgid "List of programs that Caffeine activates for:" 90 | msgid "List of programs that Caffeine ignores when detecting audio activity:" 91 | msgstr "รายชื่อโปรแกรมที่Caffeineทำงานจำเพาะต่อ:" 92 | 93 | #: caffeine/assets/glade/GUI.glade:716 94 | msgid "Audio activity from these processes will not cause Caffeine to activate." 95 | msgstr "" 96 | 97 | #: caffeine/assets/glade/GUI.glade:800 98 | msgid "Enable audio peak filtering" 99 | msgstr "" 100 | 101 | #: caffeine/assets/glade/GUI.glade:840 102 | msgid "Tray icon" 103 | msgstr "" 104 | 105 | #: caffeine/assets/glade/GUI.glade:859 106 | msgid "Show tray icon" 107 | msgstr "" 108 | 109 | #: caffeine/assets/glade/GUI.glade:882 110 | msgid "Show notification on startup" 111 | msgstr "" 112 | 113 | #: caffeine/assets/glade/GUI.glade:942 114 | msgid " " 115 | msgstr "" 116 | 117 | #: caffeine/main.py:190 118 | msgid "Caffeine is running" 119 | msgstr "" 120 | 121 | #: caffeine/main.py:191 122 | msgid "" 123 | "To show the tray icon, \n" 124 | "run " 125 | msgstr "" 126 | 127 | #: caffeine/main.py:193 128 | msgid "or open Caffeine Preferences from your system menu." 129 | msgstr "" 130 | 131 | #: caffeine/main.py:205 132 | msgid "Caffeine is dormant; powersaving is enabled" 133 | msgstr "" 134 | 135 | #: caffeine/main.py:275 136 | msgid "translator-credits" 137 | msgstr "" 138 | "Launchpad Contributions:\n" 139 | " Caffeine Developers https://launchpad.net/~caffeine-developers\n" 140 | " Krit Marukawisutthigul https://launchpad.net/~kritmaru" 141 | 142 | #: caffeine/main.py:314 caffeine/main.py:400 143 | msgid "Disable Caffeine" 144 | msgstr "" 145 | 146 | #: caffeine/core.py:156 147 | msgid "Timed activation set; " 148 | msgstr "ตั้งเวลาทำงาน; " 149 | 150 | #: caffeine/core.py:157 151 | msgid "Caffeine will prevent powersaving for the next " 152 | msgstr "Caffeineจะป้องกันการใช้โหมดประหยัดพลังงานต่อไปอีก " 153 | 154 | #: caffeine/core.py:164 155 | msgid "Activated for " 156 | msgstr "ทำงานเป็นเวลา " 157 | 158 | #: caffeine/core.py:191 159 | msgid " have elapsed; powersaving is re-enabled" 160 | msgstr " ที่ยังเหลืออยู่; โหมดประหยัดพลังงานจะถูกเปิดใช้ใหม่อีกครั้ง" 161 | 162 | #: caffeine/core.py:246 163 | msgid "Timed activation cancelled (was set for " 164 | msgstr "" 165 | 166 | #: caffeine/core.py:278 167 | #, fuzzy 168 | #| msgid " have elapsed; powersaving is re-enabled" 169 | msgid "Caffeine is dormant; powersaving is enabled." 170 | msgstr " ที่ยังเหลืออยู่; โหมดประหยัดพลังงานจะถูกเปิดใช้ใหม่อีกครั้ง" 171 | 172 | #: caffeine/core.py:280 173 | #, fuzzy 174 | #| msgid "Caffeine will prevent powersaving for the next " 175 | msgid "Caffeine is preventing sleep only." 176 | msgstr "Caffeineจะป้องกันการใช้โหมดประหยัดพลังงานต่อไปอีก " 177 | 178 | #: caffeine/core.py:282 179 | #, fuzzy 180 | #| msgid "Caffeine will prevent powersaving for the next " 181 | msgid "Caffeine is preventing all powersaving." 182 | msgstr "Caffeineจะป้องกันการใช้โหมดประหยัดพลังงานต่อไปอีก " 183 | 184 | #~ msgid " and " 185 | #~ msgstr " และ " 186 | 187 | #~ msgid "hour" 188 | #~ msgstr "ชั่วโมง" 189 | 190 | #~ msgid "minute" 191 | #~ msgstr "นาที" 192 | 193 | #~ msgid "hours" 194 | #~ msgstr "ชั่วโมง" 195 | 196 | #~ msgid "minutes" 197 | #~ msgstr "นาที" 198 | 199 | #~ msgid "Caffeine is preventing powersaving modes and screensaver activation " 200 | #~ msgstr "Caffeineเป็นโปรแกรมที่ป้องกันการใช้โหมดประหยัดพลังงานและการใช้งานโปรแกรมรักษาหน้าจอ " 201 | 202 | #~ msgid "Please install" 203 | #~ msgstr "กรุณาติดตั้ง" 204 | 205 | #~ msgid "Autostart" 206 | #~ msgstr "เริ่มอัตโนมัติ" 207 | 208 | #~ msgid "Start Caffeine on login" 209 | #~ msgstr "เริ่มโปรแกรมCaffeine เมื่อล็อกอิน" 210 | 211 | #~ msgid "Activate for Flash video" 212 | #~ msgstr "ทำงานจำเพาะต่อ Flash video" 213 | 214 | #~ msgid "Activate for Quake Live" 215 | #~ msgstr "ทำงานจำเพาะต่อ Quake Live" 216 | 217 | #~ msgid "5 minutes" 218 | #~ msgstr "5 นาที" 219 | 220 | #~ msgid "10 minutes" 221 | #~ msgstr "10 นาที" 222 | 223 | #~ msgid "15 minutes" 224 | #~ msgstr "15 นาที" 225 | 226 | #~ msgid "30 minutes" 227 | #~ msgstr "30 นาที" 228 | 229 | #~ msgid "1 hour" 230 | #~ msgstr "1 ชั่วโมง" 231 | 232 | #~ msgid "2 hours" 233 | #~ msgstr "2 ชั่วโมง" 234 | 235 | #~ msgid "3 hours" 236 | #~ msgstr "3 ชั่วโมง" 237 | 238 | #~ msgid "4 hours" 239 | #~ msgstr "4 ชั่วโมง" 240 | 241 | #~ msgid "Other..." 242 | #~ msgstr "อื่นๆ..." 243 | 244 | #~ msgid "Running Processes" 245 | #~ msgstr "การทำงานโพรเซส" 246 | 247 | #~ msgid "Recent Processes" 248 | #~ msgstr "โพสเซสล่าสุด" 249 | 250 | #~ msgid "Configure Caffeine" 251 | #~ msgstr "ปรับแต่ง Caffeine" 252 | 253 | #~ msgid "Activate for" 254 | #~ msgstr "ทำงานเป็นระยะ" 255 | -------------------------------------------------------------------------------- /translations/uk.po: -------------------------------------------------------------------------------- 1 | # Ukrainian translation for caffeine 2 | # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 3 | # This file is distributed under the same license as the caffeine package. 4 | # FIRST AUTHOR , 2011. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: caffeine\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2021-05-30 15:44+0300\n" 11 | "PO-Revision-Date: 2021-05-30 16:22+0300\n" 12 | "Last-Translator: Stuartlittle1970@gmail.com \n" 13 | "Language-Team: Ukrainian \n" 14 | "Language: uk\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "X-Launchpad-Export-Date: 2013-08-06 04:49+0000\n" 19 | "X-Generator: Poedit 2.2.4\n" 20 | 21 | #: caffeine/assets/glade/proc.glade:8 22 | msgid "Select a process name..." 23 | msgstr "Вибрати назву процесу..." 24 | 25 | #: caffeine/assets/glade/GUI.glade:16 26 | msgid "" 27 | "An application to temporarily prevent the activation of both\n" 28 | " the screen saver and the \"sleep\" powersaving mode." 29 | msgstr "" 30 | "Додаток для тимчасового запобігання активації екранної заставки\n" 31 | "та режиму зниженого енергоспоживання." 32 | 33 | #: caffeine/assets/glade/GUI.glade:114 34 | msgid "Duration" 35 | msgstr "Тривалість" 36 | 37 | #: caffeine/assets/glade/GUI.glade:147 38 | msgid "Hours:" 39 | msgstr "Годин:" 40 | 41 | #: caffeine/assets/glade/GUI.glade:188 42 | msgid "Minutes:" 43 | msgstr "Хвилин:" 44 | 45 | #: caffeine/assets/glade/GUI.glade:286 caffeine/main.py:314 46 | #: caffeine/main.py:400 47 | msgid "Enable Caffeine" 48 | msgstr "Вимкнути екранну заставку" 49 | 50 | #: caffeine/assets/glade/GUI.glade:301 51 | #, fuzzy 52 | #| msgid "Enable Caffeine" 53 | msgid "Enable Caffeine for..." 54 | msgstr "Вимкнути екранну заставку" 55 | 56 | #: caffeine/assets/glade/GUI.glade:429 57 | msgid "Preferences" 58 | msgstr "Налаштування" 59 | 60 | #: caffeine/assets/glade/GUI.glade:474 61 | msgid "Automatic activation" 62 | msgstr "Автоматичний запуск" 63 | 64 | #: caffeine/assets/glade/GUI.glade:500 65 | msgid "" 66 | "Caffeine can activate automatically\n" 67 | "whenever certain programs are runnning." 68 | msgstr "" 69 | "Caffeine може запускати автоматично\n" 70 | "коли запущено визначену програму." 71 | 72 | #: caffeine/assets/glade/GUI.glade:518 73 | msgid "List of programs that Caffeine activates for:" 74 | msgstr "Список програм для яких буде активовано Caffeine:" 75 | 76 | #: caffeine/assets/glade/GUI.glade:543 77 | msgid "" 78 | "When Caffeine detects that one of the processes in this\n" 79 | "list is running, it will prevent the activation of the screensaver\n" 80 | "and powersaving modes. This can be useful for applications\n" 81 | "(particularly full-screen applications) that do not properly\n" 82 | "prevent the screensaver and powersaving modes on their own." 83 | msgstr "" 84 | "Коли Caffeine визначить, що одна з програм цього списку запущена\n" 85 | "він вимкне енергозбереження та екранну заставку.\n" 86 | "Це корисно для програм (за звичай повноекранних) які\n" 87 | "самостійно не вміють цього робити." 88 | 89 | #: caffeine/assets/glade/GUI.glade:648 90 | msgid "Audio detection" 91 | msgstr "" 92 | 93 | #: caffeine/assets/glade/GUI.glade:674 94 | #, fuzzy 95 | #| msgid "" 96 | #| "Caffeine can activate automatically\n" 97 | #| "whenever certain programs are runnning." 98 | msgid "Caffeine activates automatically when audio playback/recording is detected." 99 | msgstr "" 100 | "Caffeine може запускати автоматично\n" 101 | "коли запущено визначену програму." 102 | 103 | #: caffeine/assets/glade/GUI.glade:691 104 | #, fuzzy 105 | #| msgid "List of programs that Caffeine activates for:" 106 | msgid "List of programs that Caffeine ignores when detecting audio activity:" 107 | msgstr "Список програм для яких буде активовано Caffeine:" 108 | 109 | #: caffeine/assets/glade/GUI.glade:716 110 | msgid "Audio activity from these processes will not cause Caffeine to activate." 111 | msgstr "" 112 | 113 | #: caffeine/assets/glade/GUI.glade:800 114 | msgid "Enable audio peak filtering" 115 | msgstr "" 116 | 117 | #: caffeine/assets/glade/GUI.glade:840 118 | msgid "Tray icon" 119 | msgstr "Піктограма в лотку" 120 | 121 | #: caffeine/assets/glade/GUI.glade:859 122 | msgid "Show tray icon" 123 | msgstr "Показувати піктограму в лотку" 124 | 125 | #: caffeine/assets/glade/GUI.glade:882 126 | msgid "Show notification on startup" 127 | msgstr "Показувати повідомлення під час запуску" 128 | 129 | #: caffeine/assets/glade/GUI.glade:942 130 | msgid " " 131 | msgstr " " 132 | 133 | #: caffeine/main.py:190 134 | msgid "Caffeine is running" 135 | msgstr "Caffeine працює" 136 | 137 | #: caffeine/main.py:191 138 | #, fuzzy 139 | #| msgid "Show tray icon" 140 | msgid "" 141 | "To show the tray icon, \n" 142 | "run " 143 | msgstr "Показувати піктограму в лотку" 144 | 145 | #: caffeine/main.py:193 146 | msgid "or open Caffeine Preferences from your system menu." 147 | msgstr "" 148 | 149 | #: caffeine/main.py:205 150 | msgid "Caffeine is dormant; powersaving is enabled" 151 | msgstr "Caffeine призупинено; енергозбереження активовано" 152 | 153 | #: caffeine/main.py:275 154 | msgid "translator-credits" 155 | msgstr "" 156 | "Launchpad Contributions:\n" 157 | " Caffeine Developers https://launchpad.net/~caffeine-developers\n" 158 | " Fedik https://launchpad.net/~fedikw\n" 159 | " Stuartlittle1970@gmail.com https://launchpad.net/~stuartlittle1970\n" 160 | " kingdruid https://launchpad.net/~kingdruid" 161 | 162 | #: caffeine/main.py:314 caffeine/main.py:400 163 | msgid "Disable Caffeine" 164 | msgstr "Увімкнути екранну заставку" 165 | 166 | #: caffeine/core.py:156 167 | msgid "Timed activation set; " 168 | msgstr "Встановлення активації за часом; " 169 | 170 | #: caffeine/core.py:157 171 | msgid "Caffeine will prevent powersaving for the next " 172 | msgstr "Caffeine буде вимикати енергозбереження на протязі наступних " 173 | 174 | #: caffeine/core.py:164 175 | msgid "Activated for " 176 | msgstr "Активовано для " 177 | 178 | #: caffeine/core.py:191 179 | msgid " have elapsed; powersaving is re-enabled" 180 | msgstr " закінчилась; енергозбереення увімкнено" 181 | 182 | #: caffeine/core.py:246 183 | msgid "Timed activation cancelled (was set for " 184 | msgstr "Активація за часом скасована (була встановлена для " 185 | 186 | #: caffeine/core.py:278 187 | #, fuzzy 188 | #| msgid "Caffeine is dormant; powersaving is enabled" 189 | msgid "Caffeine is dormant; powersaving is enabled." 190 | msgstr "Caffeine призупинено; енергозбереження активовано" 191 | 192 | #: caffeine/core.py:280 193 | #, fuzzy 194 | #| msgid "Caffeine is running" 195 | msgid "Caffeine is preventing sleep only." 196 | msgstr "Caffeine працює" 197 | 198 | #: caffeine/core.py:282 199 | #, fuzzy 200 | #| msgid "Caffeine will prevent powersaving for the next " 201 | msgid "Caffeine is preventing all powersaving." 202 | msgstr "Caffeine буде вимикати енергозбереження на протязі наступних " 203 | 204 | #~ msgid "Activated for Flash video" 205 | #~ msgstr "Активувати для Flash відео" 206 | 207 | #~ msgid "Activated for Quake Live" 208 | #~ msgstr "Активувати для Quake Live" 209 | 210 | #~ msgid " and " 211 | #~ msgstr " та " 212 | 213 | #~ msgid "hour" 214 | #~ msgstr "година" 215 | 216 | #~ msgid "minute" 217 | #~ msgstr "хвилина" 218 | 219 | #~ msgid "hours" 220 | #~ msgstr "годин" 221 | 222 | #~ msgid "minutes" 223 | #~ msgstr "хвилин" 224 | 225 | #~ msgid "Caffeine is preventing powersaving modes and screensaver activation " 226 | #~ msgstr "Caffeine вимикає енергозбереження та екранну заставку " 227 | 228 | #~ msgid "Please install" 229 | #~ msgstr "Будь ласка, встановіть" 230 | 231 | #~ msgid "Disable Screensaver for..." 232 | #~ msgstr "Вимкнути збереження екрану для..." 233 | 234 | #~ msgid "Autostart" 235 | #~ msgstr "Автозапуск" 236 | 237 | #~ msgid "Start Caffeine on login" 238 | #~ msgstr "Запускати Caffeine при вході" 239 | 240 | #~ msgid "" 241 | #~ "Enable this option to automatically run Caffeine as soon as\n" 242 | #~ "your computer has finished starting up and you have\n" 243 | #~ "successfully entered your username and password." 244 | #~ msgstr "" 245 | #~ "Увімкнення цього параметру, означає автоматичний \n" 246 | #~ "запуск Caffeine відразу після того як комп’ютер буде завантажено\n" 247 | #~ "та буде здійснено успішний вхід до системи." 248 | 249 | #~ msgid "Activate for Flash video" 250 | #~ msgstr "Активувати для Flash відео" 251 | 252 | #~ msgid "" 253 | #~ "Some websites, such as www.youtube.com, show videos using\n" 254 | #~ "a technology known as \"Flash\". Enable this option to cause\n" 255 | #~ "Caffeine to automatically prevent the activation of the\n" 256 | #~ "screensaver and powersaving modes when a Flash video is\n" 257 | #~ "embedded in the web page that you are currently browsing." 258 | #~ msgstr "" 259 | #~ "Деякі сайти такі як www.youtube.com, показують відео\n" 260 | #~ "використовуючи технологію відому як \"Flash\". Увімкнення цього\n" 261 | #~ "параметру дозволяє Caffeine автоматично вимикати енергозбереження\n" 262 | #~ "та екранну заставку коли відбувається перегляд Flash відео\n" 263 | #~ "на веб сторінці яку Ви переглядаєте." 264 | 265 | #~ msgid "Activate for Quake Live" 266 | #~ msgstr "Активувати для Quake Live" 267 | 268 | #~ msgid "" 269 | #~ "Enable this option to cause Caffeine to automatically prevent\n" 270 | #~ "the activation of the screensaver and powersaving modes\n" 271 | #~ "when it detects that you are playing the Quake Live video\n" 272 | #~ "game. Visit www.quakelive.com to play the game for free." 273 | #~ msgstr "" 274 | #~ "Увімкнення цього параметру дозволяє Caffeine\n" 275 | #~ "автоматично вимикати енергозбереження та екранну заставку\n" 276 | #~ "коли виявлено, що користувач грає в гру Quake Live.\n" 277 | #~ "Відвідайте www.quakelive.com щоб пограти безкоштовно." 278 | 279 | #~ msgid "An application to temporarily prevent the activation of both the screen saver and the \"sleep\" powersaving mode." 280 | #~ msgstr "Додаток для тимчасового вимкнення енергозбереження, екранної заставки та переходу в режим сну." 281 | 282 | #~ msgid "Running Processes" 283 | #~ msgstr "Запущені процеси" 284 | 285 | #~ msgid "Configure Caffeine" 286 | #~ msgstr "Налатування Caffeine" 287 | 288 | #~ msgid "Recent Processes" 289 | #~ msgstr "Нещодавні процеси" 290 | -------------------------------------------------------------------------------- /translations/xh.po: -------------------------------------------------------------------------------- 1 | # Xhosa translation for caffeine 2 | # Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 3 | # This file is distributed under the same license as the caffeine package. 4 | # FIRST AUTHOR , 2013. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: caffeine\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2021-05-30 15:44+0300\n" 11 | "PO-Revision-Date: 2021-05-30 16:22+0300\n" 12 | "Last-Translator: Zola Mahlaza \n" 13 | "Language-Team: Xhosa \n" 14 | "Language: xh\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "X-Launchpad-Export-Date: 2013-05-25 05:20+0000\n" 19 | "X-Generator: Poedit 2.2.4\n" 20 | 21 | #: caffeine/assets/glade/proc.glade:8 22 | msgid "Select a process name..." 23 | msgstr "Khetha igame le-process..." 24 | 25 | #: caffeine/assets/glade/GUI.glade:16 26 | msgid "" 27 | "An application to temporarily prevent the activation of both\n" 28 | " the screen saver and the \"sleep\" powersaving mode." 29 | msgstr "" 30 | 31 | #: caffeine/assets/glade/GUI.glade:114 32 | msgid "Duration" 33 | msgstr "" 34 | 35 | #: caffeine/assets/glade/GUI.glade:147 36 | msgid "Hours:" 37 | msgstr "" 38 | 39 | #: caffeine/assets/glade/GUI.glade:188 40 | msgid "Minutes:" 41 | msgstr "" 42 | 43 | #: caffeine/assets/glade/GUI.glade:286 caffeine/main.py:314 44 | #: caffeine/main.py:400 45 | msgid "Enable Caffeine" 46 | msgstr "" 47 | 48 | #: caffeine/assets/glade/GUI.glade:301 49 | msgid "Enable Caffeine for..." 50 | msgstr "" 51 | 52 | #: caffeine/assets/glade/GUI.glade:429 53 | msgid "Preferences" 54 | msgstr "" 55 | 56 | #: caffeine/assets/glade/GUI.glade:474 57 | msgid "Automatic activation" 58 | msgstr "" 59 | 60 | #: caffeine/assets/glade/GUI.glade:500 61 | msgid "" 62 | "Caffeine can activate automatically\n" 63 | "whenever certain programs are runnning." 64 | msgstr "" 65 | 66 | #: caffeine/assets/glade/GUI.glade:518 67 | msgid "List of programs that Caffeine activates for:" 68 | msgstr "" 69 | 70 | #: caffeine/assets/glade/GUI.glade:543 71 | msgid "" 72 | "When Caffeine detects that one of the processes in this\n" 73 | "list is running, it will prevent the activation of the screensaver\n" 74 | "and powersaving modes. This can be useful for applications\n" 75 | "(particularly full-screen applications) that do not properly\n" 76 | "prevent the screensaver and powersaving modes on their own." 77 | msgstr "" 78 | 79 | #: caffeine/assets/glade/GUI.glade:648 80 | msgid "Audio detection" 81 | msgstr "" 82 | 83 | #: caffeine/assets/glade/GUI.glade:674 84 | msgid "Caffeine activates automatically when audio playback/recording is detected." 85 | msgstr "" 86 | 87 | #: caffeine/assets/glade/GUI.glade:691 88 | msgid "List of programs that Caffeine ignores when detecting audio activity:" 89 | msgstr "" 90 | 91 | #: caffeine/assets/glade/GUI.glade:716 92 | msgid "Audio activity from these processes will not cause Caffeine to activate." 93 | msgstr "" 94 | 95 | #: caffeine/assets/glade/GUI.glade:800 96 | msgid "Enable audio peak filtering" 97 | msgstr "" 98 | 99 | #: caffeine/assets/glade/GUI.glade:840 100 | msgid "Tray icon" 101 | msgstr "" 102 | 103 | #: caffeine/assets/glade/GUI.glade:859 104 | msgid "Show tray icon" 105 | msgstr "" 106 | 107 | #: caffeine/assets/glade/GUI.glade:882 108 | msgid "Show notification on startup" 109 | msgstr "" 110 | 111 | #: caffeine/assets/glade/GUI.glade:942 112 | msgid " " 113 | msgstr "" 114 | 115 | #: caffeine/main.py:190 116 | msgid "Caffeine is running" 117 | msgstr "" 118 | 119 | #: caffeine/main.py:191 120 | msgid "" 121 | "To show the tray icon, \n" 122 | "run " 123 | msgstr "" 124 | 125 | #: caffeine/main.py:193 126 | msgid "or open Caffeine Preferences from your system menu." 127 | msgstr "" 128 | 129 | #: caffeine/main.py:205 130 | msgid "Caffeine is dormant; powersaving is enabled" 131 | msgstr "" 132 | 133 | #: caffeine/main.py:275 134 | msgid "translator-credits" 135 | msgstr "" 136 | "Launchpad Contributions:\n" 137 | " Zola Mahlaza https://launchpad.net/~adeebnqo" 138 | 139 | #: caffeine/main.py:314 caffeine/main.py:400 140 | msgid "Disable Caffeine" 141 | msgstr "" 142 | 143 | #: caffeine/core.py:156 144 | msgid "Timed activation set; " 145 | msgstr "" 146 | 147 | #: caffeine/core.py:157 148 | msgid "Caffeine will prevent powersaving for the next " 149 | msgstr "" 150 | 151 | #: caffeine/core.py:164 152 | msgid "Activated for " 153 | msgstr "" 154 | 155 | #: caffeine/core.py:191 156 | msgid " have elapsed; powersaving is re-enabled" 157 | msgstr "" 158 | 159 | #: caffeine/core.py:246 160 | msgid "Timed activation cancelled (was set for " 161 | msgstr "" 162 | 163 | #: caffeine/core.py:278 164 | msgid "Caffeine is dormant; powersaving is enabled." 165 | msgstr "" 166 | 167 | #: caffeine/core.py:280 168 | msgid "Caffeine is preventing sleep only." 169 | msgstr "" 170 | 171 | #: caffeine/core.py:282 172 | msgid "Caffeine is preventing all powersaving." 173 | msgstr "" 174 | -------------------------------------------------------------------------------- /translations/zh_TW.po: -------------------------------------------------------------------------------- 1 | # Chinese (Traditional) translation for caffeine 2 | # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 3 | # This file is distributed under the same license as the caffeine package. 4 | # FIRST AUTHOR , 2011. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: caffeine\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2021-05-30 15:44+0300\n" 11 | "PO-Revision-Date: 2021-05-30 16:22+0300\n" 12 | "Last-Translator: Caffeine Developers \n" 13 | "Language-Team: Chinese (Traditional) \n" 14 | "Language: zh_TW\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "X-Launchpad-Export-Date: 2011-11-20 05:36+0000\n" 19 | "X-Generator: Poedit 2.2.4\n" 20 | 21 | #: caffeine/assets/glade/proc.glade:8 22 | msgid "Select a process name..." 23 | msgstr "" 24 | 25 | #: caffeine/assets/glade/GUI.glade:16 26 | msgid "" 27 | "An application to temporarily prevent the activation of both\n" 28 | " the screen saver and the \"sleep\" powersaving mode." 29 | msgstr "" 30 | 31 | #: caffeine/assets/glade/GUI.glade:114 32 | msgid "Duration" 33 | msgstr "" 34 | 35 | #: caffeine/assets/glade/GUI.glade:147 36 | msgid "Hours:" 37 | msgstr "小時:" 38 | 39 | #: caffeine/assets/glade/GUI.glade:188 40 | msgid "Minutes:" 41 | msgstr "分鐘:" 42 | 43 | #: caffeine/assets/glade/GUI.glade:286 caffeine/main.py:314 44 | #: caffeine/main.py:400 45 | msgid "Enable Caffeine" 46 | msgstr "關閉螢幕保護程式" 47 | 48 | #: caffeine/assets/glade/GUI.glade:301 49 | #, fuzzy 50 | #| msgid "Enable Caffeine" 51 | msgid "Enable Caffeine for..." 52 | msgstr "關閉螢幕保護程式" 53 | 54 | #: caffeine/assets/glade/GUI.glade:429 55 | msgid "Preferences" 56 | msgstr "偏好設定" 57 | 58 | #: caffeine/assets/glade/GUI.glade:474 59 | msgid "Automatic activation" 60 | msgstr "" 61 | 62 | #: caffeine/assets/glade/GUI.glade:500 63 | msgid "" 64 | "Caffeine can activate automatically\n" 65 | "whenever certain programs are runnning." 66 | msgstr "" 67 | 68 | #: caffeine/assets/glade/GUI.glade:518 69 | msgid "List of programs that Caffeine activates for:" 70 | msgstr "" 71 | 72 | #: caffeine/assets/glade/GUI.glade:543 73 | msgid "" 74 | "When Caffeine detects that one of the processes in this\n" 75 | "list is running, it will prevent the activation of the screensaver\n" 76 | "and powersaving modes. This can be useful for applications\n" 77 | "(particularly full-screen applications) that do not properly\n" 78 | "prevent the screensaver and powersaving modes on their own." 79 | msgstr "" 80 | 81 | #: caffeine/assets/glade/GUI.glade:648 82 | msgid "Audio detection" 83 | msgstr "" 84 | 85 | #: caffeine/assets/glade/GUI.glade:674 86 | msgid "Caffeine activates automatically when audio playback/recording is detected." 87 | msgstr "" 88 | 89 | #: caffeine/assets/glade/GUI.glade:691 90 | msgid "List of programs that Caffeine ignores when detecting audio activity:" 91 | msgstr "" 92 | 93 | #: caffeine/assets/glade/GUI.glade:716 94 | msgid "Audio activity from these processes will not cause Caffeine to activate." 95 | msgstr "" 96 | 97 | #: caffeine/assets/glade/GUI.glade:800 98 | msgid "Enable audio peak filtering" 99 | msgstr "" 100 | 101 | #: caffeine/assets/glade/GUI.glade:840 102 | msgid "Tray icon" 103 | msgstr "系統托盤" 104 | 105 | #: caffeine/assets/glade/GUI.glade:859 106 | msgid "Show tray icon" 107 | msgstr "顯示狀態列圖示" 108 | 109 | #: caffeine/assets/glade/GUI.glade:882 110 | msgid "Show notification on startup" 111 | msgstr "" 112 | 113 | #: caffeine/assets/glade/GUI.glade:942 114 | msgid " " 115 | msgstr "" 116 | 117 | #: caffeine/main.py:190 118 | msgid "Caffeine is running" 119 | msgstr "Caffeine正在執行" 120 | 121 | #: caffeine/main.py:191 122 | #, fuzzy 123 | #| msgid "Show tray icon" 124 | msgid "" 125 | "To show the tray icon, \n" 126 | "run " 127 | msgstr "顯示狀態列圖示" 128 | 129 | #: caffeine/main.py:193 130 | msgid "or open Caffeine Preferences from your system menu." 131 | msgstr "" 132 | 133 | #: caffeine/main.py:205 134 | msgid "Caffeine is dormant; powersaving is enabled" 135 | msgstr "" 136 | 137 | #: caffeine/main.py:275 138 | msgid "translator-credits" 139 | msgstr "" 140 | "Launchpad Contributions:\n" 141 | " Caffeine Developers https://launchpad.net/~caffeine-developers\n" 142 | " Liu, Shu-yuan https://launchpad.net/~victorangus" 143 | 144 | #: caffeine/main.py:314 caffeine/main.py:400 145 | msgid "Disable Caffeine" 146 | msgstr "開啓螢幕保護程式" 147 | 148 | #: caffeine/core.py:156 149 | msgid "Timed activation set; " 150 | msgstr "" 151 | 152 | #: caffeine/core.py:157 153 | msgid "Caffeine will prevent powersaving for the next " 154 | msgstr "" 155 | 156 | #: caffeine/core.py:164 157 | msgid "Activated for " 158 | msgstr "" 159 | 160 | #: caffeine/core.py:191 161 | msgid " have elapsed; powersaving is re-enabled" 162 | msgstr "" 163 | 164 | #: caffeine/core.py:246 165 | msgid "Timed activation cancelled (was set for " 166 | msgstr "" 167 | 168 | #: caffeine/core.py:278 169 | msgid "Caffeine is dormant; powersaving is enabled." 170 | msgstr "" 171 | 172 | #: caffeine/core.py:280 173 | #, fuzzy 174 | #| msgid "Caffeine is running" 175 | msgid "Caffeine is preventing sleep only." 176 | msgstr "Caffeine正在執行" 177 | 178 | #: caffeine/core.py:282 179 | #, fuzzy 180 | #| msgid "Caffeine is running" 181 | msgid "Caffeine is preventing all powersaving." 182 | msgstr "Caffeine正在執行" 183 | 184 | #~ msgid "Activated for Flash video" 185 | #~ msgstr "播放Flash影片時啓動" 186 | 187 | #~ msgid "Activated for Quake Live" 188 | #~ msgstr "執行雷神之槌 Live (Quake Live)時啓動" 189 | 190 | #~ msgid " and " 191 | #~ msgstr " 和 " 192 | 193 | #~ msgid "hour" 194 | #~ msgstr "時" 195 | 196 | #~ msgid "minute" 197 | #~ msgstr "分" 198 | 199 | #~ msgid "hours" 200 | #~ msgstr "小時" 201 | 202 | #~ msgid "minutes" 203 | #~ msgstr "分鐘" 204 | 205 | #~ msgid "Please install" 206 | #~ msgstr "請安裝" 207 | 208 | #~ msgid "Autostart" 209 | #~ msgstr "自動啟動" 210 | 211 | #~ msgid "Start Caffeine on login" 212 | #~ msgstr "登入後啓動Caffeine" 213 | 214 | #~ msgid "" 215 | #~ "Enable this option to automatically run Caffeine as soon as\n" 216 | #~ "your computer has finished starting up and you have\n" 217 | #~ "successfully entered your username and password." 218 | #~ msgstr "Caffeine將在電腦完成開機並登入後自動啓動。" 219 | --------------------------------------------------------------------------------