├── .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 |
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 |
151 |
--------------------------------------------------------------------------------
/caffeine/assets/icons/hicolor/scalable/status/caffeine-cup-full.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
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 |
151 |
--------------------------------------------------------------------------------
/caffeine/assets/icons/ubuntu-mono-dark/status/scalable/caffeine-cup-full.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
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 |
--------------------------------------------------------------------------------
|