├── .ci └── check-abi ├── .gitlab-ci.yml ├── .gitmodules ├── AUTHORS ├── CONTRIBUTING.md ├── COPYING ├── COPYING-DOCS ├── COPYING.LIB ├── NEWS ├── README.md ├── desktop-docs ├── ChangeLog.pre-git ├── fdl │ ├── C │ │ └── index.docbook │ ├── LINGUAS │ ├── ar │ │ └── ar.po │ ├── ca │ │ └── ca.po │ ├── cs │ │ └── cs.po │ ├── de │ │ └── de.po │ ├── el │ │ └── el.po │ ├── es │ │ └── es.po │ ├── eu │ │ └── eu.po │ ├── fdl.omf.in │ ├── fr │ │ └── fr.po │ ├── gl │ │ └── gl.po │ ├── hr │ │ └── hr.po │ ├── hu │ │ └── hu.po │ ├── ko │ │ └── ko.po │ ├── meson.build │ ├── oc │ │ └── oc.po │ ├── pt_BR │ │ └── pt_BR.po │ ├── sl │ │ └── sl.po │ ├── sr │ │ └── sr.po │ ├── sv │ │ └── sv.po │ ├── tr │ │ └── tr.po │ ├── uk │ │ └── uk.po │ ├── vi │ │ └── vi.po │ └── zh_CN │ │ └── zh_CN.po ├── gpl │ ├── C │ │ └── index.docbook │ ├── LINGUAS │ ├── ar │ │ └── ar.po │ ├── ca │ │ └── ca.po │ ├── cs │ │ └── cs.po │ ├── de │ │ └── de.po │ ├── el │ │ └── el.po │ ├── es │ │ └── es.po │ ├── eu │ │ └── eu.po │ ├── fi │ │ └── fi.po │ ├── fr │ │ └── fr.po │ ├── gl │ │ └── gl.po │ ├── gpl.omf.in │ ├── hr │ │ └── hr.po │ ├── hu │ │ └── hu.po │ ├── ko │ │ └── ko.po │ ├── meson.build │ ├── nds │ │ └── nds.po │ ├── oc │ │ └── oc.po │ ├── pa │ │ └── pa.po │ ├── pt_BR │ │ └── pt_BR.po │ ├── sl │ │ └── sl.po │ ├── sr │ │ └── sr.po │ ├── sr@latin │ │ └── sr@latin.po │ ├── sv │ │ └── sv.po │ ├── tr │ │ └── tr.po │ ├── uk │ │ └── uk.po │ ├── vi │ │ └── vi.po │ └── zh_CN │ │ └── zh_CN.po └── lgpl │ ├── C │ └── index.docbook │ ├── LINGUAS │ ├── ar │ └── ar.po │ ├── ca │ └── ca.po │ ├── cs │ └── cs.po │ ├── de │ └── de.po │ ├── el │ └── el.po │ ├── es │ └── es.po │ ├── eu │ └── eu.po │ ├── fi │ └── fi.po │ ├── fr │ └── fr.po │ ├── gl │ └── gl.po │ ├── hr │ └── hr.po │ ├── hu │ └── hu.po │ ├── ko │ └── ko.po │ ├── lgpl.omf.in │ ├── meson.build │ ├── oc │ └── oc.po │ ├── pa │ └── pa.po │ ├── pt_BR │ └── pt_BR.po │ ├── sl │ └── sl.po │ ├── sv │ └── sv.po │ ├── tr │ └── tr.po │ ├── uk │ └── uk.po │ ├── vi │ └── vi.po │ └── zh_CN │ └── zh_CN.po ├── docs └── reference │ └── gnome-desktop3 │ ├── gnome-desktop3-docs.sgml │ ├── gnome-desktop3-sections.txt │ ├── gnome-desktop3.types │ └── meson.build ├── gnome-desktop.doap ├── libgnome-desktop ├── ChangeLog.pre-git ├── base-symbol.map ├── default-input-sources.h ├── gnome-bg-crossfade.c ├── gnome-bg-crossfade.h ├── gnome-bg-slide-show.c ├── gnome-bg-slide-show.h ├── gnome-bg.c ├── gnome-bg.h ├── gnome-bg │ ├── gnome-bg-slide-show.c │ ├── gnome-bg-slide-show.h │ ├── gnome-bg-symbols.map │ ├── gnome-bg.c │ ├── gnome-bg.h │ └── meson.build ├── gnome-datetime-source.c ├── gnome-datetime-source.h ├── gnome-desktop-3.0-uninstalled.pc.in ├── gnome-desktop-3.0.pc.in ├── gnome-desktop-thumbnail-script.c ├── gnome-desktop-thumbnail-script.h ├── gnome-desktop-thumbnail.c ├── gnome-desktop-thumbnail.h ├── gnome-desktop-version.c ├── gnome-desktop-version.h.in ├── gnome-gettext-portable.c ├── gnome-gettext-portable.h ├── gnome-idle-monitor.c ├── gnome-idle-monitor.h ├── gnome-languages.c ├── gnome-languages.h ├── gnome-pnp-ids.c ├── gnome-pnp-ids.h ├── gnome-rr-config.c ├── gnome-rr-config.h ├── gnome-rr-debug.c ├── gnome-rr-output-info.c ├── gnome-rr-private.h ├── gnome-rr.c ├── gnome-rr.h ├── gnome-rr │ ├── gnome-rr-config.c │ ├── gnome-rr-config.h │ ├── gnome-rr-output-info.c │ ├── gnome-rr-output-info.h │ ├── gnome-rr-private.h │ ├── gnome-rr-screen.c │ ├── gnome-rr-screen.h │ ├── gnome-rr-symbols.map │ ├── gnome-rr-types.h │ ├── gnome-rr.h │ └── meson.build ├── gnome-systemd.c ├── gnome-systemd.h ├── gnome-wall-clock.c ├── gnome-wall-clock.h ├── gnome-xkb-info.c ├── gnome-xkb-info.h ├── idle-monitor.xml ├── meson.build ├── meta-xrandr-shared.h ├── symbol.map ├── test-desktop-thumbnail.c ├── test-idle-monitor.c ├── test-languages.c ├── test-pnp-ids.c ├── test-wall-clock.c ├── test-xkb-info.c └── xrandr.xml ├── meson.build ├── meson_options.txt ├── po ├── ChangeLog.pre-git ├── LINGUAS ├── POTFILES.in ├── POTFILES.skip ├── ab.po ├── af.po ├── am.po ├── an.po ├── ar.po ├── as.po ├── ast.po ├── az.po ├── be.po ├── be@latin.po ├── bg.po ├── bn.po ├── bn_IN.po ├── br.po ├── bs.po ├── ca.po ├── ca@valencia.po ├── ckb.po ├── crh.po ├── cs.po ├── csb.po ├── cy.po ├── da.po ├── de.po ├── dz.po ├── el.po ├── en.po ├── en@shaw.po ├── en_CA.po ├── en_GB.po ├── eo.po ├── es.po ├── et.po ├── eu.po ├── fa.po ├── fi.po ├── fil.po ├── fr.po ├── fur.po ├── fy.po ├── ga.po ├── gd.po ├── gl.po ├── gu.po ├── ha.po ├── he.po ├── hi.po ├── hr.po ├── hu.po ├── hy.po ├── ia.po ├── id.po ├── ig.po ├── is.po ├── it.po ├── ja.po ├── ka.po ├── kab.po ├── kg.po ├── kk.po ├── km.po ├── kn.po ├── ko.po ├── ku.po ├── ky.po ├── li.po ├── lo.po ├── lt.po ├── lv.po ├── mai.po ├── meson.build ├── mg.po ├── mi.po ├── mjw.po ├── mk.po ├── ml.po ├── mn.po ├── mr.po ├── ms.po ├── my.po ├── nb.po ├── nds.po ├── ne.po ├── nl.po ├── nn.po ├── nso.po ├── oc.po ├── or.po ├── pa.po ├── pl.po ├── ps.po ├── pt.po ├── pt_BR.po ├── ro.po ├── ru.po ├── rw.po ├── sat.po ├── si.po ├── sk.po ├── sl.po ├── sq.po ├── sr.po ├── sr@latin.po ├── sv.po ├── ta.po ├── te.po ├── tg.po ├── th.po ├── tk.po ├── tr.po ├── ug.po ├── uk.po ├── ur.po ├── uz.po ├── uz@cyrillic.po ├── vi.po ├── wa.po ├── xh.po ├── yi.po ├── yo.po ├── zh_CN.po ├── zh_HK.po ├── zh_TW.po └── zu.po └── tests ├── bg-slide-show.c ├── languages.c ├── meson.build ├── meta.test.in ├── starttime.xml └── wall-clock.c /.ci/check-abi: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | 4 | import argparse 5 | import contextlib 6 | import os 7 | import shutil 8 | import subprocess 9 | import sys 10 | 11 | 12 | def format_title(title): 13 | box = { 14 | 'tl': '╔', 'tr': '╗', 'bl': '╚', 'br': '╝', 'h': '═', 'v': '║', 15 | } 16 | hline = box['h'] * (len(title) + 2) 17 | 18 | return '\n'.join([ 19 | f"{box['tl']}{hline}{box['tr']}", 20 | f"{box['v']} {title} {box['v']}", 21 | f"{box['bl']}{hline}{box['br']}", 22 | ]) 23 | 24 | 25 | def rm_rf(path): 26 | try: 27 | shutil.rmtree(path) 28 | except FileNotFoundError: 29 | pass 30 | 31 | 32 | def sanitize_path(name): 33 | return name.replace('/', '-') 34 | 35 | 36 | def get_current_revision(): 37 | revision = subprocess.check_output(['git', 'rev-parse', '--abbrev-ref', 'HEAD'], 38 | encoding='utf-8').strip() 39 | 40 | if revision == 'HEAD': 41 | # This is a detached HEAD, get the commit hash 42 | revision = subprocess.check_output(['git', 'rev-parse', 'HEAD']).strip().decode('utf-8') 43 | 44 | return revision 45 | 46 | 47 | @contextlib.contextmanager 48 | def checkout_git_revision(revision): 49 | current_revision = get_current_revision() 50 | subprocess.check_call(['git', 'checkout', '-q', revision]) 51 | 52 | try: 53 | yield 54 | finally: 55 | subprocess.check_call(['git', 'checkout', '-q', current_revision]) 56 | 57 | 58 | def build_install(revision): 59 | build_dir = '_build' 60 | dest_dir = os.path.abspath(sanitize_path(revision)) 61 | print(format_title(f'# Building and installing {revision} in {dest_dir}'), 62 | end='\n\n', flush=True) 63 | 64 | with checkout_git_revision(revision): 65 | rm_rf(build_dir) 66 | rm_rf(revision) 67 | 68 | subprocess.check_call(['meson', 'setup', build_dir, 69 | '--prefix=/usr', '--libdir=lib', 70 | '-Ddesktop_docs=false', 71 | '-Ddebug_tools=false', 72 | '-Dudev=disabled', 73 | '-Dbuild_gtk4=false']) 74 | subprocess.check_call(['ninja', '-v', '-C', build_dir]) 75 | subprocess.check_call(['ninja', '-v', '-C', build_dir, 'install'], 76 | env={'DESTDIR': dest_dir}) 77 | 78 | return dest_dir 79 | 80 | 81 | def compare(old_tree, new_tree): 82 | print(format_title(f'# Comparing the two ABIs'), end='\n\n', flush=True) 83 | 84 | old_headers = os.path.join(old_tree, 'usr', 'include') 85 | old_lib = os.path.join(old_tree, 'usr', 'lib', 'libgnome-desktop-3.so') 86 | 87 | new_headers = os.path.join(new_tree, 'usr', 'include') 88 | new_lib = os.path.join(new_tree, 'usr', 'lib', 'libgnome-desktop-3.so') 89 | 90 | subprocess.check_call([ 91 | 'abidiff', '--headers-dir1', old_headers, '--headers-dir2', new_headers, 92 | '--drop-private-types', '--fail-no-debug-info', '--no-added-syms', old_lib, new_lib]) 93 | 94 | 95 | if __name__ == '__main__': 96 | parser = argparse.ArgumentParser() 97 | 98 | parser.add_argument('old', help='the previous revision, considered the reference') 99 | parser.add_argument('new', help='the new revision, to compare to the reference') 100 | 101 | args = parser.parse_args() 102 | 103 | if args.old == args.new: 104 | print("Let's not waste time comparing something to itself") 105 | sys.exit(0) 106 | 107 | old_tree = build_install(args.old) 108 | new_tree = build_install(args.new) 109 | 110 | try: 111 | compare(old_tree, new_tree) 112 | 113 | except Exception: 114 | sys.exit(1) 115 | 116 | print(f'Hurray! {args.old} and {args.new} are ABI-compatible!') 117 | 118 | -------------------------------------------------------------------------------- /.gitlab-ci.yml: -------------------------------------------------------------------------------- 1 | # You can override the included template(s) by including variable overrides 2 | # SAST customization: https://docs.gitlab.com/ee/user/application_security/sast/#customizing-the-sast-settings 3 | # Secret Detection customization: https://docs.gitlab.com/ee/user/application_security/secret_detection/#customizing-settings 4 | # Dependency Scanning customization: https://docs.gitlab.com/ee/user/application_security/dependency_scanning/#customizing-the-dependency-scanning-settings 5 | # Note that environment variables can be set in several places 6 | # See https://docs.gitlab.com/ee/ci/variables/#cicd-variable-precedence 7 | include: 8 | - template: Security/SAST.gitlab-ci.yml 9 | - template: Security/Secret-Detection.gitlab-ci.yml 10 | - project: "GNOME/citemplates" 11 | file: "templates/default-rules.yml" 12 | - component: "gitlab.gnome.org/GNOME/citemplates/release-service@master" 13 | inputs: 14 | dist-job-name: "build_stable" 15 | - component: gitlab.gnome.org/GNOME/citemplates/gnomeos-basic-ci@master 16 | inputs: 17 | job-stage: "test" 18 | # We don't have any meson tests defined atm 19 | run-tests: "no" 20 | 21 | build_stable: 22 | image: fedora:latest 23 | needs: [] 24 | variables: 25 | _BUILDDIR: "_builddir" 26 | LAST_ABI_BREAK: 0da1fcac914ad4c67f016bda7864c4b153cbfbaa 27 | DEPENDENCIES: gtk3-devel gtk4-devel gsettings-desktop-schemas-devel gettext 28 | gtk-doc libxkbcommon-devel xkeyboard-config-devel itstool 29 | gobject-introspection-devel systemd-devel iso-codes-devel 30 | libseccomp-devel gcc gcc-c++ glibc-devel 31 | meson redhat-rpm-config 32 | TEST_DEPENDENCIES: gnome-desktop-testing xorg-x11-server-Xvfb glibc-langpack-en glibc-langpack-he glibc-langpack-ja abattis-cantarell-fonts libabigail git 33 | before_script: 34 | # Undo delangification present in the Fedora Docker images 35 | - rm -f /etc/rpm/macros.image-language-conf 36 | - dnf reinstall -y glib2 37 | - dnf update -y --nogpgcheck 38 | - dnf install -y --nogpgcheck $DEPENDENCIES 39 | - dnf install -y --nogpgcheck $TEST_DEPENDENCIES 40 | script: 41 | - meson --prefix=/usr -Dinstalled_tests=true ${_BUILDDIR} 42 | - pushd ${_BUILDDIR} 43 | - ninja 44 | - ninja install 45 | - ninja dist 46 | - G_MESSAGES_DEBUG=all xvfb-run -a -s "-screen 0 1024x768x24" ninja test 47 | - G_MESSAGES_DEBUG=all xvfb-run -a -s "-screen 0 1024x768x24" 48 | gnome-desktop-testing-runner --report-directory=test-results gnome-desktop 49 | - popd 50 | - .ci/check-abi ${LAST_ABI_BREAK} $(git rev-parse HEAD) 51 | 52 | - cp -r "${_BUILDDIR}/meson-dist/" "${CI_PROJECT_DIR}/public-dist/" 53 | artifacts: 54 | paths: 55 | - "${_BUILDDIR}/meson-logs/" 56 | - "${_BUILDDIR}/meson-dist/" 57 | - "${_BUILDDIR}/test-results/" 58 | - "public-dist" 59 | when: "always" 60 | reports: 61 | junit: "${_BUILDDIR}/meson-logs/testlog.junit.xml" 62 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnome-desktop/64155e7742794cb3e38800fe6329dccc93382eb0/.gitmodules -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- 1 | libgnome-desktop authors 2 | ------------------------ 3 | 4 | Elliot Lee 5 | George Lebl 6 | John Ellis 7 | Havoc Pennington 8 | Vincent Untz 9 | Federico Mena Quintero 10 | 11 | new gnome-about authors 12 | ----------------------- 13 | 14 | Guillaume Seguin 15 | Vincent Untz 16 | 17 | original gnome-about authors 18 | ---------------------------- 19 | Anders Carlsson 20 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | Please don't report issues against gnome-desktop unless you really know what 2 | you're doing. This repository contains the libgnome-desktop library. It's not 3 | the right place to report bugs affecting GNOME's desktop. 4 | 5 | [Report desktop bugs here instead.](https://gitlab.gnome.org/GNOME/gnome-shell/issues) -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | gnome-desktop 2 | ============= 3 | 4 | gnome-desktop contains the libgnome-desktop library as well as a data 5 | file that exports the "GNOME" version to the Settings Details panel. 6 | 7 | The libgnome-desktop library provides API shared by several applications 8 | on the desktop, but that cannot live in the platform for various 9 | reasons. There is no API or ABI guarantee, although we are doing our 10 | best to provide stability. Documentation for the API is available with 11 | gtk-doc. 12 | 13 | You may download updates to the package from [download.gnome.org](https://download.gnome.org/sources/gnome-desktop/). 14 | 15 | To discuss gnome-desktop, you may use the Platform group of [GNOME's 16 | Discourse instance](https://discourse.gnome.org/c/platform/5). 17 | 18 | Installation 19 | ============ 20 | 21 | gnome-desktop uses [meson](https://mesonbuild.com/Quick-guide.html#compiling-a-meson-project) to build its sources. 22 | 23 | [Bubblewrap](https://github.com/containers/bubblewrap), installed as the 24 | bwrap binary, is a non-optional dependency on platforms where it is 25 | supported and thumbnailing will silently fail when it is not installed 26 | at runtime. 27 | 28 | [flatpak-xdg-utils](https://github.com/flatpak/flatpak-xdg-utils/)'s `flatpak-spawn` 29 | helper is a non-optional dependency for using gnome-desktop's thumbnailer 30 | when the app is being run within Flatpak >= 1.5.1. 31 | 32 | How to report bugs 33 | ================== 34 | 35 | Bugs should be reported to the [Issues section of gnome-desktop repository](https://gitlab.gnome.org/GNOME/gnome-desktop/-/issues). 36 | Due to very high numbers of misdirected gnome-shell bugs, the issue tracker has 37 | unfortunately been restricted to GNOME developers only. If you have found a bug in 38 | this library, feel free to contact any GNOME developer and ask for your report to be 39 | forwarded here. 40 | 41 | Thumbnailing sandboxing 42 | ======================= 43 | 44 | The thumbnailer sandboxing was built to prevent a number of different 45 | potential attack vectors. 46 | 47 | - The attacker wants to steal arbitrary secrets from your machine (a 48 | confidentiality failure), or overwrite arbitrary files (an integrity 49 | failure). 50 | - The attacker is assumed to be capable of inducing you to download a 51 | crafted thumbnailable object (picture, video, ROM) that will crash a 52 | thumbnailer and get arbitrary code execution. 53 | - Stealing your secrets is prevented by: 54 | - only giving the thumbnailer access to the file it's thumbnailing, 55 | plus public files from `/usr`-equivalent places, so that it can't 56 | leak the content of a secret file into the thumbnail of a less-secret 57 | file. 58 | - not giving it internet access, so that it can't upload the file it's 59 | thumbnailing to Wikileaks. 60 | - Overwriting arbitrary files is prevented by making the output of the 61 | thumbnailer the only thing that can be written from inside the sandbox. 62 | - Subverting other programs to do one of those is (hopefully) prevented by only 63 | allowing it to output PNG thumbnails, because we hope PNG reader libraries are 64 | a lot more secure than libraries to read exotic image formats. 65 | -------------------------------------------------------------------------------- /desktop-docs/ChangeLog.pre-git: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnome-desktop/64155e7742794cb3e38800fe6329dccc93382eb0/desktop-docs/ChangeLog.pre-git -------------------------------------------------------------------------------- /desktop-docs/fdl/LINGUAS: -------------------------------------------------------------------------------- 1 | ar 2 | ca 3 | cs 4 | el 5 | es 6 | eu 7 | fr 8 | gl 9 | hr 10 | hu 11 | ko 12 | oc 13 | pt_BR 14 | sl 15 | sr 16 | sv 17 | tr 18 | uk 19 | vi 20 | de 21 | zh_CN 22 | -------------------------------------------------------------------------------- /desktop-docs/fdl/fdl.omf.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | license 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /desktop-docs/fdl/meson.build: -------------------------------------------------------------------------------- 1 | gnome.yelp('fdl', sources: 'index.docbook') 2 | -------------------------------------------------------------------------------- /desktop-docs/gpl/LINGUAS: -------------------------------------------------------------------------------- 1 | ar 2 | ca 3 | cs 4 | de 5 | el 6 | es 7 | eu 8 | fi 9 | fr 10 | gl 11 | hr 12 | hu 13 | ko 14 | nds 15 | oc 16 | pa 17 | pt_BR 18 | sl 19 | sr 20 | sr@latin 21 | sv 22 | tr 23 | uk 24 | vi 25 | zh_CN 26 | -------------------------------------------------------------------------------- /desktop-docs/gpl/gpl.omf.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | license 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /desktop-docs/gpl/meson.build: -------------------------------------------------------------------------------- 1 | gnome.yelp('gpl', sources: 'index.docbook') 2 | -------------------------------------------------------------------------------- /desktop-docs/lgpl/LINGUAS: -------------------------------------------------------------------------------- 1 | ar 2 | ca 3 | cs 4 | de 5 | el 6 | es 7 | eu 8 | fi 9 | fr 10 | gl 11 | hr 12 | hu 13 | ko 14 | oc 15 | pa 16 | pt_BR 17 | sl 18 | sv 19 | tr 20 | uk 21 | vi 22 | zh_CN 23 | -------------------------------------------------------------------------------- /desktop-docs/lgpl/lgpl.omf.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | license 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /desktop-docs/lgpl/meson.build: -------------------------------------------------------------------------------- 1 | gnome.yelp('lgpl', sources: 'index.docbook') 2 | -------------------------------------------------------------------------------- /docs/reference/gnome-desktop3/gnome-desktop3-docs.sgml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | GNOME Desktop Library Reference Manual 7 | 8 | 9 | 10 | GNOME Desktop Library Overview 11 | 12 | 13 | The libgnome-desktop library contains APIs that can be useful for a few applications, but which do not belong to GTK+ because of the limited use case. There is no guarantee of API or ABI stability, so it's recommended to not depend on it if you do not follow the same development cycle as GNOME. Use at your own risk. 14 | 15 | 16 | 17 | 18 | 19 | Desktop Background 20 | 21 | 22 | 23 | 24 | 25 | 26 | Monitor Configuration 27 | 28 | 29 | 30 | 31 | 32 | 33 | Thumbnails 34 | 35 | 36 | 37 | 38 | Idle Monitor 39 | 40 | 41 | 42 | 43 | Wall Clock 44 | 45 | 46 | 47 | 48 | X Keyboard Information 49 | 50 | 51 | 52 | 53 | Language Utilities 54 | 55 | 56 | 57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /docs/reference/gnome-desktop3/gnome-desktop3.types: -------------------------------------------------------------------------------- 1 | gnome_bg_crossfade_get_type 2 | gnome_bg_get_type 3 | gnome_desktop_thumbnail_factory_get_type 4 | gnome_idle_monitor_get_type 5 | gnome_pnp_ids_get_type 6 | gnome_wall_clock_get_type 7 | gnome_xkb_info_get_type 8 | -------------------------------------------------------------------------------- /docs/reference/gnome-desktop3/meson.build: -------------------------------------------------------------------------------- 1 | ignored_headers = [ 2 | 'gnome-rr-private.h', 3 | 'libgsystem', 4 | 'meta-dbus-idle-monitor.h', 5 | 'meta-dbus-xrandr.h', 6 | 'meta-xrandr-shared.h' 7 | ] 8 | 9 | gnome.gtkdoc('gnome-desktop3', 10 | main_sgml: 'gnome-desktop3-docs.sgml', 11 | ignore_headers: ignored_headers, 12 | scan_args: '--deprecated-guards="GNOME_DISABLE_DEPRECATED"', 13 | mkdb_args: ['--sgml-mode', '--output-format=xml'], 14 | src_dir: join_paths(meson.project_source_root(), 'libgnome-desktop'), 15 | install: true 16 | ) 17 | -------------------------------------------------------------------------------- /gnome-desktop.doap: -------------------------------------------------------------------------------- 1 | 6 | 7 | GNOME Desktop Library 8 | Library with common API for various GNOME modules 9 | Library with common API for various GNOME modules 10 | 13 | 14 | 15 | 16 | 17 | 18 | C 19 | 20 | 21 | 22 | Emmanuele Bassi 23 | 24 | ebassi 25 | 26 | 27 | 28 | 29 | Bastien Nocera 30 | 31 | hadess 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /libgnome-desktop/base-symbol.map: -------------------------------------------------------------------------------- 1 | { 2 | global: 3 | gnome_*; 4 | local: 5 | *; 6 | }; 7 | -------------------------------------------------------------------------------- /libgnome-desktop/default-input-sources.h: -------------------------------------------------------------------------------- 1 | typedef struct 2 | { 3 | const gchar *const locale; 4 | const gchar *const type; 5 | const gchar *const id; 6 | } DefaultInputSource; 7 | 8 | static DefaultInputSource default_input_sources[] = 9 | { 10 | { "ar_DZ", "xkb", "ara+azerty" }, 11 | { "as_IN", "ibus", "m17n:as:inscript2" }, 12 | { "ast_ES", "xkb", "es+ast" }, 13 | { "az_AZ", "xkb", "az" }, 14 | { "be_BY", "xkb", "by" }, 15 | { "bg_BG", "xkb", "bg+phonetic" }, 16 | { "bn_IN", "ibus", "m17n:bn:inscript2" }, 17 | { "cat_ES", "xkb", "es+cat" }, 18 | { "cs_CZ", "xkb", "cz" }, 19 | { "de_CH", "xkb", "ch" }, 20 | { "de_DE", "xkb", "de" }, 21 | { "el_CY", "xkb", "gr" }, 22 | { "el_GR", "xkb", "gr" }, 23 | { "en_GB", "xkb", "gb" }, 24 | { "en_US", "xkb", "us" }, 25 | { "en_ZA", "xkb", "za" }, 26 | { "es_ES", "xkb", "es" }, 27 | { "es_GT", "xkb", "latam" }, 28 | { "es_MX", "xkb", "latam" }, 29 | { "es_US", "xkb", "us+intl" }, 30 | { "fr_BE", "xkb", "be" }, 31 | { "fr_CH", "xkb", "ch+fr" }, 32 | { "fr_FR", "xkb", "fr+oss" }, 33 | { "gl_ES", "xkb", "es" }, 34 | { "gu_IN", "ibus", "m17n:gu:inscript2" }, 35 | { "he_IL", "xkb", "il" }, 36 | { "hi_IN", "ibus", "m17n:hi:inscript2" }, 37 | { "id_ID", "xkb", "us" }, 38 | { "it_IT", "xkb", "it" }, 39 | { "ja_JP", "ibus", "anthy" }, 40 | { "kn_IN", "ibus", "m17n:kn:inscript2" }, 41 | { "ko_KR", "ibus", "hangul" }, 42 | { "mai_IN", "ibus", "m17n:mai:inscript2" }, 43 | { "ml_IN", "ibus", "m17n:ml:inscript2" }, 44 | { "mr_IN", "ibus", "m17n:mr:inscript2" }, 45 | { "nl_NL", "xkb", "us+altgr-intl" }, 46 | { "or_IN", "ibus", "m17n:or:inscript2" }, 47 | { "pa_IN", "ibus", "m17n:pa:inscript2-guru" }, 48 | { "pl_PL", "xkb", "pl" }, 49 | { "pt_BR", "xkb", "br" }, 50 | { "pt_PT", "xkb", "pt" }, 51 | { "ru_RU", "xkb", "ru" }, 52 | { "sd_IN", "ibus", "m17n:sd:inscript2-deva" }, 53 | { "sk_SK", "xkb", "sk" }, 54 | { "ta_IN", "ibus", "m17n:ta:inscript2" }, 55 | { "te_IN", "ibus", "m17n:te:inscript2" }, 56 | { "tr_TR", "xkb", "tr" }, 57 | { "ur_IN", "ibus", "m17n:ur:phonetic" }, 58 | { "zh_CN", "ibus", "libpinyin" }, 59 | { "zh_HK", "ibus", "cangjie" }, 60 | { "zh_TW", "ibus", "chewing" }, 61 | { NULL, NULL, NULL } 62 | }; 63 | -------------------------------------------------------------------------------- /libgnome-desktop/gnome-bg-crossfade.h: -------------------------------------------------------------------------------- 1 | /* gnome-bg-crossfade.h - fade window background between two surfaces 2 | 3 | Copyright 2008, Red Hat, Inc. 4 | 5 | This file is part of the Gnome Library. 6 | 7 | The Gnome Library is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU Library General Public License as 9 | published by the Free Software Foundation; either version 2 of the 10 | License, or (at your option) any later version. 11 | 12 | The Gnome Library is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | Library General Public License for more details. 16 | 17 | You should have received a copy of the GNU Library General Public 18 | License along with the Gnome Library; see the file COPYING.LIB. If not, 19 | write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 20 | Boston, MA 02110-1301, USA. 21 | 22 | Author: Ray Strode 23 | */ 24 | 25 | #ifndef __GNOME_BG_CROSSFADE_H__ 26 | #define __GNOME_BG_CROSSFADE_H__ 27 | 28 | #ifndef GNOME_DESKTOP_USE_UNSTABLE_API 29 | #error GnomeBGCrossfade is unstable API. You must define GNOME_DESKTOP_USE_UNSTABLE_API before including gnome-bg-crossfade.h 30 | #endif 31 | 32 | #include 33 | #include 34 | 35 | G_BEGIN_DECLS 36 | 37 | #define GNOME_TYPE_BG_CROSSFADE (gnome_bg_crossfade_get_type ()) 38 | #define GNOME_BG_CROSSFADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_TYPE_BG_CROSSFADE, GnomeBGCrossfade)) 39 | #define GNOME_BG_CROSSFADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GNOME_TYPE_BG_CROSSFADE, GnomeBGCrossfadeClass)) 40 | #define GNOME_IS_BG_CROSSFADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_TYPE_BG_CROSSFADE)) 41 | #define GNOME_IS_BG_CROSSFADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNOME_TYPE_BG_CROSSFADE)) 42 | #define GNOME_BG_CROSSFADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GNOME_TYPE_BG_CROSSFADE, GnomeBGCrossfadeClass)) 43 | 44 | typedef struct _GnomeBGCrossfadePrivate GnomeBGCrossfadePrivate; 45 | typedef struct _GnomeBGCrossfade GnomeBGCrossfade; 46 | typedef struct _GnomeBGCrossfadeClass GnomeBGCrossfadeClass; 47 | 48 | struct _GnomeBGCrossfade 49 | { 50 | GObject parent_object; 51 | 52 | GnomeBGCrossfadePrivate *priv; 53 | }; 54 | 55 | struct _GnomeBGCrossfadeClass 56 | { 57 | GObjectClass parent_class; 58 | 59 | void (* finished) (GnomeBGCrossfade *fade, GdkWindow *window); 60 | }; 61 | 62 | G_DEFINE_AUTOPTR_CLEANUP_FUNC(GnomeBGCrossfade, g_object_unref) 63 | 64 | GType gnome_bg_crossfade_get_type (void); 65 | GnomeBGCrossfade *gnome_bg_crossfade_new (int width, int height); 66 | gboolean gnome_bg_crossfade_set_start_surface (GnomeBGCrossfade *fade, 67 | cairo_surface_t *surface); 68 | gboolean gnome_bg_crossfade_set_end_surface (GnomeBGCrossfade *fade, 69 | cairo_surface_t *surface); 70 | void gnome_bg_crossfade_start (GnomeBGCrossfade *fade, 71 | GdkWindow *window); 72 | gboolean gnome_bg_crossfade_is_started (GnomeBGCrossfade *fade); 73 | void gnome_bg_crossfade_stop (GnomeBGCrossfade *fade); 74 | 75 | G_END_DECLS 76 | 77 | #endif 78 | -------------------------------------------------------------------------------- /libgnome-desktop/gnome-bg-slide-show.h: -------------------------------------------------------------------------------- 1 | /* gnome-bg-slide_show.h - fade window background between two surfaces 2 | 3 | Copyright 2008, Red Hat, Inc. 4 | 5 | This file is part of the Gnome Library. 6 | 7 | The Gnome Library is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU Library General Public License as 9 | published by the Free Software Foundation; either version 2 of the 10 | License, or (at your option) any later version. 11 | 12 | The Gnome Library is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | Library General Public License for more details. 16 | 17 | You should have received a copy of the GNU Library General Public 18 | License along with the Gnome Library; see the file COPYING.LIB. If not, 19 | write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 20 | Boston, MA 02110-1301, USA. 21 | 22 | Author: Ray Strode 23 | */ 24 | 25 | #ifndef __GNOME_BG_SLIDE_SHOW_H__ 26 | #define __GNOME_BG_SLIDE_SHOW_H__ 27 | 28 | #ifndef GNOME_DESKTOP_USE_UNSTABLE_API 29 | #error GnomeBGSlideShow is unstable API. You must define GNOME_DESKTOP_USE_UNSTABLE_API before including gnome-bg-slide_show.h 30 | #endif 31 | 32 | #include 33 | #include 34 | 35 | G_BEGIN_DECLS 36 | 37 | #define GNOME_BG_TYPE_SLIDE_SHOW (gnome_bg_slide_show_get_type ()) 38 | #define GNOME_BG_SLIDE_SHOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_BG_TYPE_SLIDE_SHOW, GnomeBGSlideShow)) 39 | #define GNOME_BG_SLIDE_SHOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GNOME_BG_TYPE_SLIDE_SHOW, GnomeBGSlideShowClass)) 40 | #define GNOME_BG_IS_SLIDE_SHOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_BG_TYPE_SLIDE_SHOW)) 41 | #define GNOME_BG_IS_SLIDE_SHOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNOME_BG_TYPE_SLIDE_SHOW)) 42 | #define GNOME_BG_SLIDE_SHOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GNOME_BG_TYPE_SLIDE_SHOW, GnomeBGSlideShowClass)) 43 | 44 | typedef struct _GnomeBGSlideShowPrivate GnomeBGSlideShowPrivate; 45 | typedef struct _GnomeBGSlideShow GnomeBGSlideShow; 46 | typedef struct _GnomeBGSlideShowClass GnomeBGSlideShowClass; 47 | 48 | struct _GnomeBGSlideShow 49 | { 50 | GObject parent_object; 51 | 52 | GnomeBGSlideShowPrivate *priv; 53 | }; 54 | 55 | struct _GnomeBGSlideShowClass 56 | { 57 | GObjectClass parent_class; 58 | }; 59 | 60 | G_DEFINE_AUTOPTR_CLEANUP_FUNC(GnomeBGSlideShow, g_object_unref) 61 | 62 | GType gnome_bg_slide_show_get_type (void); 63 | GnomeBGSlideShow *gnome_bg_slide_show_new (const char *filename); 64 | gboolean gnome_bg_slide_show_load (GnomeBGSlideShow *self, 65 | GError **error); 66 | 67 | void gnome_bg_slide_show_load_async (GnomeBGSlideShow *self, 68 | GCancellable *cancellable, 69 | GAsyncReadyCallback callback, 70 | gpointer user_data); 71 | gboolean gnome_bg_slide_show_get_slide (GnomeBGSlideShow *self, 72 | int frame_number, 73 | int width, 74 | int height, 75 | gdouble *progress, 76 | double *duration, 77 | gboolean *is_fixed, 78 | const char **file1, 79 | const char **file2); 80 | 81 | void gnome_bg_slide_show_get_current_slide (GnomeBGSlideShow *self, 82 | int width, 83 | int height, 84 | gdouble *progress, 85 | double *duration, 86 | gboolean *is_fixed, 87 | const char **file1, 88 | const char **file2); 89 | 90 | 91 | double gnome_bg_slide_show_get_start_time (GnomeBGSlideShow *self); 92 | double gnome_bg_slide_show_get_total_duration (GnomeBGSlideShow *self); 93 | gboolean gnome_bg_slide_show_get_has_multiple_sizes (GnomeBGSlideShow *self); 94 | int gnome_bg_slide_show_get_num_slides (GnomeBGSlideShow *self); 95 | G_END_DECLS 96 | 97 | #endif 98 | -------------------------------------------------------------------------------- /libgnome-desktop/gnome-bg.h: -------------------------------------------------------------------------------- 1 | /* gnome-bg.h - 2 | 3 | Copyright 2007, Red Hat, Inc. 4 | 5 | This file is part of the Gnome Library. 6 | 7 | The Gnome Library is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU Library General Public License as 9 | published by the Free Software Foundation; either version 2 of the 10 | License, or (at your option) any later version. 11 | 12 | The Gnome Library is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | Library General Public License for more details. 16 | 17 | You should have received a copy of the GNU Library General Public 18 | License along with the Gnome Library; see the file COPYING.LIB. If not, 19 | write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 20 | Boston, MA 02110-1301, USA. 21 | 22 | Author: Soren Sandmann 23 | */ 24 | 25 | #ifndef __GNOME_BG_H__ 26 | #define __GNOME_BG_H__ 27 | 28 | #ifndef GNOME_DESKTOP_USE_UNSTABLE_API 29 | #error GnomeBG is unstable API. You must define GNOME_DESKTOP_USE_UNSTABLE_API before including gnome-bg.h 30 | #endif 31 | 32 | #include 33 | #include 34 | #include 35 | #include 36 | #include 37 | #include 38 | #include 39 | 40 | G_BEGIN_DECLS 41 | 42 | #define GNOME_TYPE_BG (gnome_bg_get_type ()) 43 | #define GNOME_BG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_TYPE_BG, GnomeBG)) 44 | #define GNOME_BG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GNOME_TYPE_BG, GnomeBGClass)) 45 | #define GNOME_IS_BG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_TYPE_BG)) 46 | #define GNOME_IS_BG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNOME_TYPE_BG)) 47 | #define GNOME_BG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GNOME_TYPE_BG, GnomeBGClass)) 48 | 49 | typedef struct _GnomeBG GnomeBG; 50 | typedef struct _GnomeBGClass GnomeBGClass; 51 | 52 | G_DEFINE_AUTOPTR_CLEANUP_FUNC(GnomeBG, g_object_unref) 53 | 54 | GType gnome_bg_get_type (void); 55 | GnomeBG * gnome_bg_new (void); 56 | void gnome_bg_load_from_preferences (GnomeBG *bg, 57 | GSettings *settings); 58 | void gnome_bg_save_to_preferences (GnomeBG *bg, 59 | GSettings *settings); 60 | /* Setters */ 61 | void gnome_bg_set_filename (GnomeBG *bg, 62 | const char *filename); 63 | void gnome_bg_set_placement (GnomeBG *bg, 64 | GDesktopBackgroundStyle placement); 65 | void gnome_bg_set_rgba (GnomeBG *bg, 66 | GDesktopBackgroundShading type, 67 | GdkRGBA *primary, 68 | GdkRGBA *secondary); 69 | 70 | /* Getters */ 71 | GDesktopBackgroundStyle gnome_bg_get_placement (GnomeBG *bg); 72 | void gnome_bg_get_rgba (GnomeBG *bg, 73 | GDesktopBackgroundShading *type, 74 | GdkRGBA *primary, 75 | GdkRGBA *secondary); 76 | const gchar * gnome_bg_get_filename (GnomeBG *bg); 77 | 78 | /* Drawing and thumbnailing */ 79 | void gnome_bg_draw (GnomeBG *bg, 80 | GdkPixbuf *dest); 81 | cairo_surface_t *gnome_bg_create_surface (GnomeBG *bg, 82 | GdkWindow *window, 83 | int width, 84 | int height); 85 | gboolean gnome_bg_get_image_size (GnomeBG *bg, 86 | GnomeDesktopThumbnailFactory *factory, 87 | int best_width, 88 | int best_height, 89 | int *width, 90 | int *height); 91 | GdkPixbuf * gnome_bg_create_thumbnail (GnomeBG *bg, 92 | GnomeDesktopThumbnailFactory *factory, 93 | GdkScreen *screen, 94 | int dest_width, 95 | int dest_height); 96 | gboolean gnome_bg_is_dark (GnomeBG *bg, 97 | int dest_width, 98 | int dest_height); 99 | gboolean gnome_bg_has_multiple_sizes (GnomeBG *bg); 100 | gboolean gnome_bg_changes_with_time (GnomeBG *bg); 101 | GdkPixbuf * gnome_bg_create_frame_thumbnail (GnomeBG *bg, 102 | GnomeDesktopThumbnailFactory *factory, 103 | GdkScreen *screen, 104 | int dest_width, 105 | int dest_height, 106 | int frame_num); 107 | 108 | G_END_DECLS 109 | 110 | #endif 111 | -------------------------------------------------------------------------------- /libgnome-desktop/gnome-bg/gnome-bg-slide-show.h: -------------------------------------------------------------------------------- 1 | /* gnome-bg-slide_show.h - fade window background between two surfaces 2 | 3 | Copyright 2008, Red Hat, Inc. 4 | 5 | This file is part of the Gnome Library. 6 | 7 | The Gnome Library is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU Library General Public License as 9 | published by the Free Software Foundation; either version 2 of the 10 | License, or (at your option) any later version. 11 | 12 | The Gnome Library is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | Library General Public License for more details. 16 | 17 | You should have received a copy of the GNU Library General Public 18 | License along with the Gnome Library; see the file COPYING.LIB. If not, 19 | write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 20 | Boston, MA 02110-1301, USA. 21 | 22 | Author: Ray Strode 23 | */ 24 | 25 | #ifndef __GNOME_BG_SLIDE_SHOW_H__ 26 | #define __GNOME_BG_SLIDE_SHOW_H__ 27 | 28 | #ifndef GNOME_DESKTOP_USE_UNSTABLE_API 29 | #error GnomeBGSlideShow is unstable API. You must define GNOME_DESKTOP_USE_UNSTABLE_API before including gnome-bg-slide_show.h 30 | #endif 31 | 32 | #include 33 | 34 | G_BEGIN_DECLS 35 | 36 | #define GNOME_BG_TYPE_SLIDE_SHOW (gnome_bg_slide_show_get_type ()) 37 | #define GNOME_BG_SLIDE_SHOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_BG_TYPE_SLIDE_SHOW, GnomeBGSlideShow)) 38 | #define GNOME_BG_SLIDE_SHOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GNOME_BG_TYPE_SLIDE_SHOW, GnomeBGSlideShowClass)) 39 | #define GNOME_BG_IS_SLIDE_SHOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_BG_TYPE_SLIDE_SHOW)) 40 | #define GNOME_BG_IS_SLIDE_SHOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNOME_BG_TYPE_SLIDE_SHOW)) 41 | #define GNOME_BG_SLIDE_SHOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GNOME_BG_TYPE_SLIDE_SHOW, GnomeBGSlideShowClass)) 42 | 43 | typedef struct _GnomeBGSlideShowPrivate GnomeBGSlideShowPrivate; 44 | typedef struct _GnomeBGSlideShow GnomeBGSlideShow; 45 | typedef struct _GnomeBGSlideShowClass GnomeBGSlideShowClass; 46 | 47 | struct _GnomeBGSlideShow 48 | { 49 | GObject parent_object; 50 | 51 | GnomeBGSlideShowPrivate *priv; 52 | }; 53 | 54 | struct _GnomeBGSlideShowClass 55 | { 56 | GObjectClass parent_class; 57 | }; 58 | 59 | G_DEFINE_AUTOPTR_CLEANUP_FUNC(GnomeBGSlideShow, g_object_unref) 60 | 61 | GType gnome_bg_slide_show_get_type (void); 62 | GnomeBGSlideShow *gnome_bg_slide_show_new (const char *filename); 63 | gboolean gnome_bg_slide_show_load (GnomeBGSlideShow *self, 64 | GError **error); 65 | 66 | void gnome_bg_slide_show_load_async (GnomeBGSlideShow *self, 67 | GCancellable *cancellable, 68 | GAsyncReadyCallback callback, 69 | gpointer user_data); 70 | gboolean gnome_bg_slide_show_get_slide (GnomeBGSlideShow *self, 71 | int frame_number, 72 | int width, 73 | int height, 74 | gdouble *progress, 75 | double *duration, 76 | gboolean *is_fixed, 77 | const char **file1, 78 | const char **file2); 79 | 80 | void gnome_bg_slide_show_get_current_slide (GnomeBGSlideShow *self, 81 | int width, 82 | int height, 83 | gdouble *progress, 84 | double *duration, 85 | gboolean *is_fixed, 86 | const char **file1, 87 | const char **file2); 88 | 89 | 90 | double gnome_bg_slide_show_get_start_time (GnomeBGSlideShow *self); 91 | double gnome_bg_slide_show_get_total_duration (GnomeBGSlideShow *self); 92 | gboolean gnome_bg_slide_show_get_has_multiple_sizes (GnomeBGSlideShow *self); 93 | int gnome_bg_slide_show_get_num_slides (GnomeBGSlideShow *self); 94 | G_END_DECLS 95 | 96 | #endif 97 | -------------------------------------------------------------------------------- /libgnome-desktop/gnome-bg/gnome-bg-symbols.map: -------------------------------------------------------------------------------- 1 | { 2 | global: 3 | gnome_bg_*; 4 | local: 5 | *; 6 | }; 7 | -------------------------------------------------------------------------------- /libgnome-desktop/gnome-bg/gnome-bg.h: -------------------------------------------------------------------------------- 1 | /* gnome-bg.h: Desktop background API 2 | * 3 | * SPDX-FileCopyrightText: 2007, Red Hat, Inc. 4 | * SPDX-License-Identifier: LGPL-2.0-or-later 5 | * 6 | * Author: Soren Sandmann 7 | */ 8 | 9 | #pragma once 10 | 11 | #ifndef GNOME_DESKTOP_USE_UNSTABLE_API 12 | # error GnomeBG is unstable API. You must define GNOME_DESKTOP_USE_UNSTABLE_API before including gnome-bg.h 13 | #endif 14 | 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | 21 | G_BEGIN_DECLS 22 | 23 | #define GNOME_TYPE_BG (gnome_bg_get_type ()) 24 | #define GNOME_BG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_TYPE_BG, GnomeBG)) 25 | #define GNOME_BG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GNOME_TYPE_BG, GnomeBGClass)) 26 | #define GNOME_IS_BG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_TYPE_BG)) 27 | #define GNOME_IS_BG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNOME_TYPE_BG)) 28 | #define GNOME_BG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GNOME_TYPE_BG, GnomeBGClass)) 29 | 30 | typedef struct _GnomeBG GnomeBG; 31 | typedef struct _GnomeBGClass GnomeBGClass; 32 | 33 | G_DEFINE_AUTOPTR_CLEANUP_FUNC (GnomeBG, g_object_unref) 34 | 35 | GType gnome_bg_get_type (void); 36 | GnomeBG * gnome_bg_new (void); 37 | void gnome_bg_load_from_preferences (GnomeBG *bg, 38 | GSettings *settings); 39 | void gnome_bg_save_to_preferences (GnomeBG *bg, 40 | GSettings *settings); 41 | /* Setters */ 42 | void gnome_bg_set_filename (GnomeBG *bg, 43 | const char *filename); 44 | void gnome_bg_set_placement (GnomeBG *bg, 45 | GDesktopBackgroundStyle placement); 46 | void gnome_bg_set_rgba (GnomeBG *bg, 47 | GDesktopBackgroundShading type, 48 | GdkRGBA *primary, 49 | GdkRGBA *secondary); 50 | 51 | /* Getters */ 52 | GDesktopBackgroundStyle gnome_bg_get_placement (GnomeBG *bg); 53 | void gnome_bg_get_rgba (GnomeBG *bg, 54 | GDesktopBackgroundShading *type, 55 | GdkRGBA *primary, 56 | GdkRGBA *secondary); 57 | const gchar * gnome_bg_get_filename (GnomeBG *bg); 58 | 59 | /* Drawing and thumbnailing */ 60 | void gnome_bg_draw (GnomeBG *bg, 61 | GdkPixbuf *dest); 62 | cairo_surface_t *gnome_bg_create_surface (GnomeBG *bg, 63 | GdkSurface *window, 64 | int width, 65 | int height); 66 | gboolean gnome_bg_get_image_size (GnomeBG *bg, 67 | GnomeDesktopThumbnailFactory *factory, 68 | int best_width, 69 | int best_height, 70 | int *width, 71 | int *height); 72 | GdkPixbuf * gnome_bg_create_thumbnail (GnomeBG *bg, 73 | GnomeDesktopThumbnailFactory *factory, 74 | const cairo_rectangle_int_t *screen_area, 75 | int dest_width, 76 | int dest_height); 77 | gboolean gnome_bg_is_dark (GnomeBG *bg, 78 | int dest_width, 79 | int dest_height); 80 | gboolean gnome_bg_has_multiple_sizes (GnomeBG *bg); 81 | gboolean gnome_bg_changes_with_time (GnomeBG *bg); 82 | GdkPixbuf * gnome_bg_create_frame_thumbnail (GnomeBG *bg, 83 | GnomeDesktopThumbnailFactory *factory, 84 | const cairo_rectangle_int_t *screen_area, 85 | int dest_width, 86 | int dest_height, 87 | int frame_num); 88 | 89 | G_END_DECLS 90 | -------------------------------------------------------------------------------- /libgnome-desktop/gnome-bg/meson.build: -------------------------------------------------------------------------------- 1 | ### gnome-bg 2 | 3 | libgnome_bg_sources = [ 4 | 'gnome-bg.c', 5 | 'gnome-bg-slide-show.c', 6 | ] 7 | 8 | libgnome_bg_headers = [ 9 | 'gnome-bg.h', 10 | 'gnome-bg-slide-show.h', 11 | ] 12 | 13 | install_headers(libgnome_bg_headers, 14 | subdir: 'gnome-desktop-4.0/gnome-bg' 15 | ) 16 | 17 | libgnome_bg_deps = [ 18 | libgnome_desktop_base_dep, 19 | gdk_pixbuf_dep, 20 | gtk4_dep, 21 | ] 22 | 23 | libgnome_bg_ldflags = [] 24 | libgnome_bg_symbols_map = '-Wl,--version-script=@0@'.format(meson.current_source_dir() / 'gnome-bg-symbols.map') 25 | if cc.has_link_argument(libgnome_bg_symbols_map) 26 | libgnome_bg_ldflags += libgnome_bg_symbols_map 27 | endif 28 | 29 | libgnome_bg = library('gnome-bg-4', 30 | sources: libgnome_bg_sources, 31 | dependencies: libgnome_bg_deps, 32 | soversion: soversion, 33 | version: libversion, 34 | c_args: libargs, 35 | link_args: libgnome_bg_ldflags, 36 | install: true, 37 | include_directories: [ 38 | include_directories('.'), 39 | include_directories('..'), 40 | ], 41 | ) 42 | 43 | if get_option('introspection') 44 | libgnome_bg_gir = gnome.generate_gir(libgnome_bg, 45 | sources: [libgnome_bg_headers, libgnome_bg_sources], 46 | export_packages: 'gnome-bg-4', 47 | namespace: 'GnomeBG', 48 | nsversion: '4.0', 49 | includes: [libgnome_desktop_base_gir[0], 'GdkPixbuf-2.0', 'Gdk-4.0'], 50 | extra_args: ['-DGNOME_DESKTOP_USE_UNSTABLE_API', '--quiet', '--warn-all'], 51 | identifier_prefix: 'Gnome', 52 | symbol_prefix: 'gnome', 53 | install: true, 54 | ) 55 | else 56 | libgnome_bg_gir = '' 57 | endif 58 | libgnome_bg_dep = declare_dependency( 59 | sources: [ 60 | libgnome_bg_gir, 61 | ], 62 | dependencies: libgnome_bg_deps, 63 | link_with: libgnome_bg, 64 | include_directories: [ 65 | include_directories('.'), 66 | include_directories('..'), 67 | ], 68 | ) 69 | 70 | pkg.generate( 71 | libgnome_bg, 72 | requires: ['gsettings-desktop-schemas'], 73 | version: meson.project_version(), 74 | name: 'gnome-bg-4', 75 | filebase: 'gnome-bg-4', 76 | description: 'Background image utility library for GNOME components', 77 | subdirs: 'gnome-desktop-4.0', 78 | ) 79 | -------------------------------------------------------------------------------- /libgnome-desktop/gnome-datetime-source.h: -------------------------------------------------------------------------------- 1 | /* gnome-rr.h 2 | * 3 | * Copyright 2011, Red Hat, Inc. 4 | * 5 | * This file is part of the Gnome Library. 6 | * 7 | * The Gnome Library is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Library General Public License as 9 | * published by the Free Software Foundation; either version 2 of the 10 | * License, or (at your option) any later version. 11 | * 12 | * The Gnome Library is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Library General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Library General Public 18 | * License along with the Gnome Library; see the file COPYING.LIB. If not, 19 | * write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 20 | * Boston, MA 02110-1301, USA. 21 | * 22 | * Author: Colin Walters 23 | */ 24 | 25 | #ifndef GNOME_DATETIME_SOURCE_H 26 | #define GNOME_DATETIME_SOURCE_H 27 | 28 | #ifndef GNOME_DESKTOP_USE_UNSTABLE_API 29 | #error This is unstable API. You must define GNOME_DESKTOP_USE_UNSTABLE_API 30 | #endif 31 | 32 | #include 33 | 34 | GSource *_gnome_datetime_source_new (GDateTime *now, 35 | GDateTime *expiry, 36 | gboolean cancel_on_set); 37 | 38 | #endif /* GNOME_DATETIME_SOURCE_H */ 39 | -------------------------------------------------------------------------------- /libgnome-desktop/gnome-desktop-3.0-uninstalled.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: gnome-desktop-3.0 7 | Description: Utility library for loading .desktop files 8 | Requires: gtk+-3.0 gsettings-desktop-schemas 9 | Version: @VERSION@ 10 | Libs: ${pc_top_builddir}/${pcfiledir}/libgnome-desktop-3.la 11 | Cflags: -I${pc_top_builddir}/${pcfiledir}/.. 12 | -------------------------------------------------------------------------------- /libgnome-desktop/gnome-desktop-3.0.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: gnome-desktop-3.0 7 | Description: Utility library for loading .desktop files 8 | Requires: gtk+-3.0 gsettings-desktop-schemas 9 | Version: @VERSION@ 10 | Libs: -L${libdir} -lgnome-desktop-3 11 | Cflags: -I${includedir}/gnome-desktop-3.0 12 | -------------------------------------------------------------------------------- /libgnome-desktop/gnome-desktop-thumbnail-script.h: -------------------------------------------------------------------------------- 1 | /* 2 | * gnome-thumbnail.h: Utilities for handling thumbnails 3 | * 4 | * Copyright (C) 2002, 2017 Red Hat, Inc. 5 | * 6 | * This file is part of the Gnome Library. 7 | * 8 | * The Gnome Library is free software; you can redistribute it and/or 9 | * modify it under the terms of the GNU Library General Public License as 10 | * published by the Free Software Foundation; either version 2 of the 11 | * License, or (at your option) any later version. 12 | * 13 | * The Gnome Library is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | * Library General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU Library General Public 19 | * License along with the Gnome Library; see the file COPYING.LIB. If not, 20 | * write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 21 | * Boston, MA 02110-1301, USA. 22 | * 23 | * Authors: Alexander Larsson 24 | * Bastien Nocera 25 | */ 26 | 27 | #ifndef GNOME_DESKTOP_THUMBNAIL_SCRIPT_H 28 | #define GNOME_DESKTOP_THUMBNAIL_SCRIPT_H 29 | 30 | #include 31 | 32 | GBytes * 33 | gnome_desktop_thumbnail_script_exec (const char *cmd, 34 | int size, 35 | const char *uri, 36 | GError **error); 37 | 38 | #endif /* GNOME_DESKTOP_THUMBNAIL_SCRIPT_H */ 39 | -------------------------------------------------------------------------------- /libgnome-desktop/gnome-desktop-version.c: -------------------------------------------------------------------------------- 1 | /* gnome-desktop-version.c 2 | * 3 | * Copyright (C) 2022 Sergio Costas 4 | * 5 | * This program is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public License 7 | * as published by the Free Software Foundation; either version 2 of 8 | * the License, or (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, but 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * Library General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU Library General Public 16 | * License along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 18 | * 02110-1301, USA. 19 | * 20 | */ 21 | 22 | #include 23 | 24 | /** 25 | * gnome_get_platform_version: 26 | * 27 | * Returns an integer with the major version of GNOME. Useful for 28 | * dynamic languages like Javascript or Python (static languages like 29 | * C should use %GNOME_DESKTOP_PLATFORM_VERSION). If this 30 | * function doesn't exist, it can be presumed that the GNOME platform 31 | * version is 42 or previous. 32 | * 33 | * Return value: an integer with the major version of GNOME. 34 | * 35 | * Since: 43.0 36 | **/ 37 | int 38 | gnome_get_platform_version (void) 39 | { 40 | return GNOME_DESKTOP_PLATFORM_VERSION; 41 | } 42 | -------------------------------------------------------------------------------- /libgnome-desktop/gnome-desktop-version.h.in: -------------------------------------------------------------------------------- 1 | /* gnome-desktop-version.h 2 | * 3 | * Copyright (C) 2022 Sergio Costas 4 | * 5 | * This program is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public License 7 | * as published by the Free Software Foundation; either version 2 of 8 | * the License, or (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, but 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * Library General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU Library General Public 16 | * License along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 18 | * 02110-1301, USA. 19 | * 20 | */ 21 | 22 | #ifndef __GNOME_DESKTOP_VERSION_H__ 23 | #define __GNOME_DESKTOP_VERSION_H__ 24 | 25 | #define GNOME_DESKTOP_PLATFORM_VERSION @GNOME_PLATFORM@ 26 | 27 | int gnome_get_platform_version (void); 28 | #endif 29 | 30 | -------------------------------------------------------------------------------- /libgnome-desktop/gnome-gettext-portable.c: -------------------------------------------------------------------------------- 1 | /*- 2 | * Copyright (c) 2021 Dan Cîrnaț 3 | * 4 | * This program is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Library General Public License 6 | * as published by the Free Software Foundation; either version 2 of 7 | * the License, or (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, but 10 | * WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Library General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 17 | * 02110-1301, USA. 18 | * 19 | */ 20 | #include "config.h" 21 | 22 | #include 23 | #ifdef HAVE_XLOCALE 24 | #include 25 | #endif 26 | 27 | #include 28 | #include 29 | 30 | #ifndef HAVE_USELOCALE 31 | 32 | /* 33 | * FIXME: This function does nothing if there's no thread-safe 34 | * alternative to uselocale on some systems (NetBSD). Replace it 35 | * when an implementation becomes available. 36 | */ 37 | locale_t 38 | uselocale (locale_t newloc) 39 | { 40 | return (locale_t) 0; 41 | } 42 | #endif 43 | 44 | char * 45 | dgettext_l (locale_t locale, 46 | const char *domain, 47 | const char *msgid) 48 | { 49 | locale_t old_locale = uselocale (locale); 50 | char *ret = dgettext (domain, msgid); 51 | uselocale (old_locale); 52 | return ret; 53 | } 54 | 55 | const gchar * 56 | g_dgettext_l (locale_t locale, 57 | const gchar *domain, 58 | const gchar *msgid) 59 | { 60 | locale_t old_locale = uselocale (locale); 61 | const gchar *ret = g_dgettext (domain, msgid); 62 | uselocale (old_locale); 63 | return ret; 64 | } 65 | 66 | const gchar * 67 | g_dpgettext_l (locale_t locale, 68 | const gchar *domain, 69 | const gchar *msgctxtid, 70 | gsize msgidoffset) 71 | { 72 | locale_t old_locale = uselocale (locale); 73 | const gchar *ret = g_dpgettext (domain, msgctxtid, msgidoffset); 74 | uselocale (old_locale); 75 | return ret; 76 | } 77 | -------------------------------------------------------------------------------- /libgnome-desktop/gnome-gettext-portable.h: -------------------------------------------------------------------------------- 1 | /*- 2 | * Copyright (c) 2021 Dan Cîrnaț 3 | * 4 | * This program is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Library General Public License 6 | * as published by the Free Software Foundation; either version 2 of 7 | * the License, or (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, but 10 | * WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Library General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 17 | * 02110-1301, USA. 18 | * 19 | */ 20 | 21 | #include 22 | 23 | #include 24 | #include 25 | 26 | #ifndef GETTEXT_PACKAGE 27 | #error "You must define GETTEXT_PACKAGE before including gnome-gettext-portable.h; did you forget to include config.h?" 28 | #endif 29 | 30 | G_BEGIN_DECLS 31 | 32 | const char * 33 | dgettext_l (locale_t locale, 34 | const char *domain, 35 | const char *msgid); 36 | 37 | const gchar * 38 | g_dgettext_l (locale_t locale, 39 | const char *domain, 40 | const char *msgid); 41 | 42 | const gchar * 43 | g_dpgettext_l (locale_t locale, 44 | const char *domain, 45 | const char *msgctxtid, 46 | gsize msgidoffset); 47 | 48 | #define L_(Locale,String) ((char *) g_dgettext_l (Locale, GETTEXT_PACKAGE, String)) 49 | 50 | G_END_DECLS 51 | -------------------------------------------------------------------------------- /libgnome-desktop/gnome-idle-monitor.h: -------------------------------------------------------------------------------- 1 | /* -*- mode: C; c-file-style: "linux"; indent-tabs-mode: t -*- 2 | * 3 | * Adapted from gnome-session/gnome-session/gs-idle-monitor.h 4 | * 5 | * Copyright (C) 2012 Red Hat, Inc. 6 | * 7 | * This program is free software; you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation; either version 2 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program; if not, see . 19 | * 20 | * Authors: William Jon McCann 21 | */ 22 | 23 | #ifndef __GNOME_IDLE_MONITOR_H__ 24 | #define __GNOME_IDLE_MONITOR_H__ 25 | 26 | #ifndef GNOME_DESKTOP_USE_UNSTABLE_API 27 | #error This is unstable API. You must define GNOME_DESKTOP_USE_UNSTABLE_API before including gnome-idle-monitor.h 28 | #endif 29 | 30 | #include 31 | #include 32 | 33 | G_BEGIN_DECLS 34 | 35 | #define GNOME_TYPE_IDLE_MONITOR (gnome_idle_monitor_get_type ()) 36 | #define GNOME_IDLE_MONITOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GNOME_TYPE_IDLE_MONITOR, GnomeIdleMonitor)) 37 | #define GNOME_IDLE_MONITOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GNOME_TYPE_IDLE_MONITOR, GnomeIdleMonitorClass)) 38 | #define GNOME_IS_IDLE_MONITOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GNOME_TYPE_IDLE_MONITOR)) 39 | #define GNOME_IS_IDLE_MONITOR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GNOME_TYPE_IDLE_MONITOR)) 40 | #define GNOME_IDLE_MONITOR_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GNOME_TYPE_IDLE_MONITOR, GnomeIdleMonitorClass)) 41 | 42 | typedef struct _GnomeIdleMonitor GnomeIdleMonitor; 43 | typedef struct _GnomeIdleMonitorClass GnomeIdleMonitorClass; 44 | typedef struct _GnomeIdleMonitorPrivate GnomeIdleMonitorPrivate; 45 | 46 | struct _GnomeIdleMonitor 47 | { 48 | GObject parent; 49 | GnomeIdleMonitorPrivate *priv; 50 | }; 51 | 52 | struct _GnomeIdleMonitorClass 53 | { 54 | GObjectClass parent_class; 55 | }; 56 | 57 | G_DEFINE_AUTOPTR_CLEANUP_FUNC(GnomeIdleMonitor, g_object_unref) 58 | 59 | typedef void (*GnomeIdleMonitorWatchFunc) (GnomeIdleMonitor *monitor, 60 | guint id, 61 | gpointer user_data); 62 | 63 | GType gnome_idle_monitor_get_type (void); 64 | 65 | GnomeIdleMonitor * gnome_idle_monitor_new (void); 66 | 67 | guint gnome_idle_monitor_add_idle_watch (GnomeIdleMonitor *monitor, 68 | guint64 interval_msec, 69 | GnomeIdleMonitorWatchFunc callback, 70 | gpointer user_data, 71 | GDestroyNotify notify); 72 | 73 | guint gnome_idle_monitor_add_user_active_watch (GnomeIdleMonitor *monitor, 74 | GnomeIdleMonitorWatchFunc callback, 75 | gpointer user_data, 76 | GDestroyNotify notify); 77 | 78 | void gnome_idle_monitor_remove_watch (GnomeIdleMonitor *monitor, 79 | guint id); 80 | 81 | guint64 gnome_idle_monitor_get_idletime (GnomeIdleMonitor *monitor); 82 | 83 | G_END_DECLS 84 | 85 | #endif /* __GNOME_IDLE_MONITOR_H__ */ 86 | -------------------------------------------------------------------------------- /libgnome-desktop/gnome-languages.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- 2 | * 3 | * Copyright 2008 Red Hat, Inc. 4 | * Copyright 2007 William Jon McCann 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, see . 18 | * 19 | * Written by: Ray Strode 20 | * William Jon McCann 21 | */ 22 | 23 | #ifndef __GNOME_LANGUAGES_H 24 | #define __GNOME_LANGUAGES_H 25 | 26 | #ifndef GNOME_DESKTOP_USE_UNSTABLE_API 27 | #error This is unstable API. You must define GNOME_DESKTOP_USE_UNSTABLE_API before including gnome-languages.h 28 | #endif 29 | 30 | #include 31 | #include 32 | 33 | G_BEGIN_DECLS 34 | 35 | char * gnome_get_language_from_locale (const char *locale, 36 | const char *translation); 37 | char * gnome_get_country_from_locale (const char *locale, 38 | const char *translation); 39 | char ** gnome_get_all_locales (void); 40 | gboolean gnome_parse_locale (const char *locale, 41 | char **language_codep, 42 | char **country_codep, 43 | char **codesetp, 44 | char **modifierp); 45 | char * gnome_normalize_locale (const char *locale); 46 | gboolean gnome_language_has_translations (const char *code); 47 | char * gnome_get_language_from_code (const char *code, 48 | const char *translation); 49 | char * gnome_get_country_from_code (const char *code, 50 | const char *translation); 51 | char * gnome_get_translated_modifier (const char *modifier, 52 | const char *translation); 53 | gboolean gnome_get_input_source_from_locale (const char *locale, 54 | const char **type, 55 | const char **id); 56 | 57 | G_END_DECLS 58 | 59 | #endif /* __GNOME_LANGUAGES_H */ 60 | -------------------------------------------------------------------------------- /libgnome-desktop/gnome-pnp-ids.c: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- 2 | * 3 | * Copyright (C) 2009-2011 Richard Hughes 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "config.h" 21 | 22 | #include 23 | #include 24 | #ifdef HAVE_UDEV 25 | #include 26 | #endif 27 | 28 | static void gnome_pnp_ids_finalize (GObject *object); 29 | 30 | struct _GnomePnpIdsPrivate 31 | { 32 | #ifdef HAVE_UDEV 33 | struct udev *udev; 34 | struct udev_hwdb *hwdb; 35 | #else 36 | char *placeholder; 37 | #endif /* HAVE_UDEV */ 38 | }; 39 | 40 | G_DEFINE_TYPE_WITH_PRIVATE (GnomePnpIds, gnome_pnp_ids, G_TYPE_OBJECT) 41 | 42 | /** 43 | * gnome_pnp_ids_get_pnp_id: 44 | * @pnp_ids: a #GnomePnpIds object 45 | * @pnp_id: the PNP ID to look for 46 | * 47 | * Find the full manufacturer name for the given PNP ID. 48 | * 49 | * Returns: (transfer full): a new string representing the manufacturer name, 50 | * or %NULL when not found. 51 | */ 52 | gchar * 53 | gnome_pnp_ids_get_pnp_id (GnomePnpIds *pnp_ids, const gchar *pnp_id) 54 | { 55 | #ifdef HAVE_UDEV 56 | GnomePnpIdsPrivate *priv = pnp_ids->priv; 57 | struct udev_list_entry *list_entry, *l; 58 | char *modalias; 59 | char *ret = NULL; 60 | 61 | modalias = g_strdup_printf ("acpi:%s:", pnp_id); 62 | list_entry = udev_hwdb_get_properties_list_entry(priv->hwdb, modalias, 0); 63 | g_free (modalias); 64 | if (list_entry == NULL) 65 | return ret; 66 | 67 | /* Try to get the model specific string */ 68 | l = udev_list_entry_get_by_name (list_entry, "ID_MODEL_FROM_DATABASE"); 69 | if (l == NULL) 70 | l = udev_list_entry_get_by_name (list_entry, "ID_VENDOR_FROM_DATABASE"); 71 | 72 | if (l == NULL) 73 | return ret; 74 | 75 | ret = g_strdup (udev_list_entry_get_value (l)); 76 | 77 | return ret; 78 | #else 79 | return g_strdup ("Undefined"); 80 | #endif 81 | } 82 | 83 | static void 84 | gnome_pnp_ids_class_init (GnomePnpIdsClass *klass) 85 | { 86 | GObjectClass *object_class = G_OBJECT_CLASS (klass); 87 | object_class->finalize = gnome_pnp_ids_finalize; 88 | } 89 | 90 | static void 91 | gnome_pnp_ids_init (GnomePnpIds *pnp_ids) 92 | { 93 | pnp_ids->priv = gnome_pnp_ids_get_instance_private (pnp_ids); 94 | #ifdef HAVE_UDEV 95 | pnp_ids->priv->udev = udev_new(); 96 | pnp_ids->priv->hwdb = udev_hwdb_new (pnp_ids->priv->udev); 97 | #endif 98 | } 99 | 100 | static void 101 | gnome_pnp_ids_finalize (GObject *object) 102 | { 103 | #ifdef HAVE_UDEV 104 | GnomePnpIds *pnp_ids = GNOME_PNP_IDS (object); 105 | GnomePnpIdsPrivate *priv = pnp_ids->priv; 106 | 107 | g_clear_pointer (&priv->udev, udev_unref); 108 | g_clear_pointer (&priv->hwdb, udev_hwdb_unref); 109 | #endif 110 | 111 | G_OBJECT_CLASS (gnome_pnp_ids_parent_class)->finalize (object); 112 | } 113 | 114 | /** 115 | * gnome_pnp_ids_new: 116 | * 117 | * Returns a reference to a #GnomePnpIds object, or creates 118 | * a new one if none have been created. 119 | * 120 | * Returns: (transfer full): a #GnomePnpIds object. 121 | */ 122 | GnomePnpIds * 123 | gnome_pnp_ids_new (void) 124 | { 125 | return g_object_new (GNOME_TYPE_PNP_IDS, NULL); 126 | } 127 | 128 | -------------------------------------------------------------------------------- /libgnome-desktop/gnome-pnp-ids.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- 2 | * 3 | * Copyright (C) 2009-2010 Richard Hughes 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef __GNOME_PNP_IDS_H 21 | #define __GNOME_PNP_IDS_H 22 | 23 | #include 24 | #include 25 | 26 | G_BEGIN_DECLS 27 | 28 | #define GNOME_TYPE_PNP_IDS (gnome_pnp_ids_get_type ()) 29 | #define GNOME_PNP_IDS(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GNOME_TYPE_PNP_IDS, GnomePnpIds)) 30 | #define GNOME_PNP_IDS_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GNOME_TYPE_PNP_IDS, GnomePnpIdsClass)) 31 | #define GNOME_IS_PNP_IDS(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GNOME_TYPE_PNP_IDS)) 32 | #define GNOME_IS_PNP_IDS_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GNOME_TYPE_PNP_IDS)) 33 | #define GNOME_PNP_IDS_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GNOME_TYPE_PNP_IDS, GnomePnpIdsClass)) 34 | #define GNOME_PNP_IDS_ERROR (gnome_pnp_ids_error_quark ()) 35 | 36 | typedef struct _GnomePnpIdsPrivate GnomePnpIdsPrivate; 37 | typedef struct _GnomePnpIds GnomePnpIds; 38 | typedef struct _GnomePnpIdsClass GnomePnpIdsClass; 39 | 40 | struct _GnomePnpIds 41 | { 42 | GObject parent; 43 | GnomePnpIdsPrivate *priv; 44 | }; 45 | 46 | struct _GnomePnpIdsClass 47 | { 48 | GObjectClass parent_class; 49 | }; 50 | 51 | G_DEFINE_AUTOPTR_CLEANUP_FUNC(GnomePnpIds, g_object_unref) 52 | 53 | GType gnome_pnp_ids_get_type (void); 54 | GnomePnpIds *gnome_pnp_ids_new (void); 55 | gchar *gnome_pnp_ids_get_pnp_id (GnomePnpIds *pnp_ids, 56 | const gchar *pnp_id); 57 | 58 | G_END_DECLS 59 | 60 | #endif /* __GNOME_PNP_IDS_H */ 61 | 62 | -------------------------------------------------------------------------------- /libgnome-desktop/gnome-rr-config.h: -------------------------------------------------------------------------------- 1 | /* gnome-rr-config.h 2 | * -*- c-basic-offset: 4 -*- 3 | * 4 | * Copyright 2007, 2008, Red Hat, Inc. 5 | * Copyright 2010 Giovanni Campagna 6 | * 7 | * This file is part of the Gnome Library. 8 | * 9 | * The Gnome Library is free software; you can redistribute it and/or 10 | * modify it under the terms of the GNU Library General Public License as 11 | * published by the Free Software Foundation; either version 2 of the 12 | * License, or (at your option) any later version. 13 | * 14 | * The Gnome Library is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * Library General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU Library General Public 20 | * License along with the Gnome Library; see the file COPYING.LIB. If not, 21 | * write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 22 | * Boston, MA 02110-1301, USA. 23 | * 24 | * Author: Soren Sandmann 25 | */ 26 | #ifndef GNOME_RR_CONFIG_H 27 | #define GNOME_RR_CONFIG_H 28 | 29 | #ifndef GNOME_DESKTOP_USE_UNSTABLE_API 30 | #error gnome-rr-config.h is unstable API. You must define GNOME_DESKTOP_USE_UNSTABLE_API before including gnome-rr-config.h 31 | #endif 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | typedef struct _GnomeRROutputInfo GnomeRROutputInfo; 39 | typedef struct _GnomeRROutputInfoClass GnomeRROutputInfoClass; 40 | typedef struct _GnomeRROutputInfoPrivate GnomeRROutputInfoPrivate; 41 | 42 | struct _GnomeRROutputInfo 43 | { 44 | GObject parent; 45 | 46 | /*< private >*/ 47 | GnomeRROutputInfoPrivate *priv; 48 | }; 49 | 50 | struct _GnomeRROutputInfoClass 51 | { 52 | GObjectClass parent_class; 53 | }; 54 | 55 | #define GNOME_TYPE_RR_OUTPUT_INFO (gnome_rr_output_info_get_type()) 56 | #define GNOME_RR_OUTPUT_INFO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_TYPE_RR_OUTPUT_INFO, GnomeRROutputInfo)) 57 | #define GNOME_IS_RR_OUTPUT_INFO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_TYPE_RR_OUTPUT_INFO)) 58 | #define GNOME_RR_OUTPUT_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GNOME_TYPE_RR_OUTPUT_INFO, GnomeRROutputInfoClass)) 59 | #define GNOME_IS_RR_OUTPUT_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNOME_TYPE_RR_OUTPUT_INFO)) 60 | #define GNOME_RR_OUTPUT_INFO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GNOME_TYPE_RR_OUTPUT_INFO, GnomeRROutputInfoClass)) 61 | 62 | G_DEFINE_AUTOPTR_CLEANUP_FUNC(GnomeRROutputInfo, g_object_unref) 63 | 64 | GType gnome_rr_output_info_get_type (void); 65 | 66 | char *gnome_rr_output_info_get_name (GnomeRROutputInfo *self); 67 | 68 | gboolean gnome_rr_output_info_is_active (GnomeRROutputInfo *self); 69 | void gnome_rr_output_info_set_active (GnomeRROutputInfo *self, gboolean active); 70 | 71 | void gnome_rr_output_info_get_geometry (GnomeRROutputInfo *self, int *x, int *y, int *width, int *height); 72 | void gnome_rr_output_info_set_geometry (GnomeRROutputInfo *self, int x, int y, int width, int height); 73 | 74 | int gnome_rr_output_info_get_refresh_rate (GnomeRROutputInfo *self); 75 | void gnome_rr_output_info_set_refresh_rate (GnomeRROutputInfo *self, int rate); 76 | 77 | GnomeRRRotation gnome_rr_output_info_get_rotation (GnomeRROutputInfo *self); 78 | void gnome_rr_output_info_set_rotation (GnomeRROutputInfo *self, GnomeRRRotation rotation); 79 | gboolean gnome_rr_output_info_supports_rotation (GnomeRROutputInfo *self, GnomeRRRotation rotation); 80 | 81 | gboolean gnome_rr_output_info_is_connected (GnomeRROutputInfo *self); 82 | const char *gnome_rr_output_info_get_vendor (GnomeRROutputInfo *self); 83 | const char *gnome_rr_output_info_get_product (GnomeRROutputInfo *self); 84 | const char *gnome_rr_output_info_get_serial (GnomeRROutputInfo *self); 85 | double gnome_rr_output_info_get_aspect_ratio (GnomeRROutputInfo *self); 86 | char *gnome_rr_output_info_get_display_name (GnomeRROutputInfo *self); 87 | 88 | gboolean gnome_rr_output_info_get_primary (GnomeRROutputInfo *self); 89 | void gnome_rr_output_info_set_primary (GnomeRROutputInfo *self, gboolean primary); 90 | 91 | int gnome_rr_output_info_get_preferred_width (GnomeRROutputInfo *self); 92 | int gnome_rr_output_info_get_preferred_height (GnomeRROutputInfo *self); 93 | 94 | gboolean gnome_rr_output_info_get_underscanning (GnomeRROutputInfo *self); 95 | void gnome_rr_output_info_set_underscanning (GnomeRROutputInfo *self, gboolean underscanning); 96 | 97 | gboolean gnome_rr_output_info_is_primary_tile (GnomeRROutputInfo *self); 98 | 99 | typedef struct _GnomeRRConfig GnomeRRConfig; 100 | typedef struct _GnomeRRConfigClass GnomeRRConfigClass; 101 | typedef struct _GnomeRRConfigPrivate GnomeRRConfigPrivate; 102 | 103 | struct _GnomeRRConfig 104 | { 105 | GObject parent; 106 | 107 | /*< private >*/ 108 | GnomeRRConfigPrivate *priv; 109 | }; 110 | 111 | struct _GnomeRRConfigClass 112 | { 113 | GObjectClass parent_class; 114 | }; 115 | 116 | #define GNOME_TYPE_RR_CONFIG (gnome_rr_config_get_type()) 117 | #define GNOME_RR_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_TYPE_RR_CONFIG, GnomeRRConfig)) 118 | #define GNOME_IS_RR_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_TYPE_RR_CONFIG)) 119 | #define GNOME_RR_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GNOME_TYPE_RR_CONFIG, GnomeRRConfigClass)) 120 | #define GNOME_IS_RR_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNOME_TYPE_RR_CONFIG)) 121 | #define GNOME_RR_CONFIG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GNOME_TYPE_RR_CONFIG, GnomeRRConfigClass)) 122 | 123 | G_DEFINE_AUTOPTR_CLEANUP_FUNC(GnomeRRConfig, g_object_unref) 124 | 125 | GType gnome_rr_config_get_type (void); 126 | 127 | GnomeRRConfig *gnome_rr_config_new_current (GnomeRRScreen *screen, 128 | GError **error); 129 | gboolean gnome_rr_config_load_current (GnomeRRConfig *self, 130 | GError **error); 131 | gboolean gnome_rr_config_match (GnomeRRConfig *config1, 132 | GnomeRRConfig *config2); 133 | gboolean gnome_rr_config_equal (GnomeRRConfig *config1, 134 | GnomeRRConfig *config2); 135 | void gnome_rr_config_sanitize (GnomeRRConfig *configuration); 136 | gboolean gnome_rr_config_ensure_primary (GnomeRRConfig *configuration); 137 | 138 | gboolean gnome_rr_config_apply (GnomeRRConfig *configuration, 139 | GnomeRRScreen *screen, 140 | GError **error); 141 | gboolean gnome_rr_config_apply_persistent (GnomeRRConfig *configuration, 142 | GnomeRRScreen *screen, 143 | GError **error); 144 | 145 | gboolean gnome_rr_config_applicable (GnomeRRConfig *configuration, 146 | GnomeRRScreen *screen, 147 | GError **error); 148 | 149 | gboolean gnome_rr_config_get_clone (GnomeRRConfig *configuration); 150 | void gnome_rr_config_set_clone (GnomeRRConfig *configuration, gboolean clone); 151 | GnomeRROutputInfo **gnome_rr_config_get_outputs (GnomeRRConfig *configuration); 152 | 153 | #endif 154 | -------------------------------------------------------------------------------- /libgnome-desktop/gnome-rr-debug.c: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- 2 | * 3 | * Copyright (C) 2012 Richard Hughes 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | * 19 | */ 20 | 21 | #define GNOME_DESKTOP_USE_UNSTABLE_API 22 | 23 | #include 24 | #include 25 | #include 26 | 27 | static void 28 | print_modes (GnomeRROutput *output) 29 | { 30 | guint i; 31 | GnomeRRMode **modes; 32 | 33 | g_print ("\tmodes:\n"); 34 | modes = gnome_rr_output_list_modes (output); 35 | if (modes[0] == NULL) { 36 | g_print ("\t\tno modes available\n"); 37 | return; 38 | } 39 | 40 | for (i = 0; modes[i] != NULL; i++) { 41 | g_print("\t\t"); 42 | g_print("id: %u", gnome_rr_mode_get_id (modes[i])); 43 | g_print(", %ux%u%s", gnome_rr_mode_get_width (modes[i]), gnome_rr_mode_get_height (modes[i]), 44 | gnome_rr_mode_get_is_interlaced (modes[i]) ? "i" : ""); 45 | g_print(" (%i Hz)", gnome_rr_mode_get_freq (modes[i])); 46 | g_print("%s", gnome_rr_mode_get_is_tiled (modes[i]) ? " (tiled)" : ""); 47 | g_print("\n"); 48 | } 49 | } 50 | 51 | static const char * 52 | dpms_mode_to_str (GnomeRRDpmsMode mode) 53 | { 54 | switch (mode) { 55 | case GNOME_RR_DPMS_ON: 56 | return "on"; 57 | case GNOME_RR_DPMS_STANDBY: 58 | return "standby"; 59 | case GNOME_RR_DPMS_SUSPEND: 60 | return "suspend"; 61 | case GNOME_RR_DPMS_OFF: 62 | return "off"; 63 | case GNOME_RR_DPMS_UNKNOWN: 64 | return "unknown"; 65 | default: 66 | g_assert_not_reached (); 67 | } 68 | } 69 | 70 | static void 71 | print_output (GnomeRROutput *output, const char *message) 72 | { 73 | gsize len = 0; 74 | const guint8 *result = NULL; 75 | int width_mm, height_mm; 76 | 77 | g_print ("[%s]", gnome_rr_output_get_name (output)); 78 | if (message) 79 | g_print (" (%s)", message); 80 | g_print ("\n"); 81 | g_print ("\tconnected: %i\n", 1); 82 | g_print ("\tbuiltin (laptop): %i\n", gnome_rr_output_is_builtin_display (output)); 83 | g_print ("\tprimary: %i\n", gnome_rr_output_get_is_primary (output)); 84 | g_print ("\tid: %i\n", gnome_rr_output_get_id (output)); 85 | gnome_rr_output_get_physical_size (output, &width_mm, &height_mm); 86 | g_print ("\tdimensions: %ix%i\n", width_mm, height_mm); 87 | g_print ("\tbacklight: %i (min step: %i)\n", 88 | gnome_rr_output_get_backlight (output), 89 | gnome_rr_output_get_min_backlight_step (output)); 90 | 91 | 92 | /* get EDID */ 93 | result = gnome_rr_output_get_edid_data (output, &len); 94 | if (result != NULL) { 95 | char *vendor, *product, *serial; 96 | 97 | g_print ("\tedid: %" G_GSIZE_FORMAT " bytes [%i:%i:%i:%i]\n", 98 | len, result[0], result[1], 99 | result[2], result[3]); 100 | gnome_rr_output_get_ids_from_edid (output, &vendor, &product, &serial); 101 | g_print ("\tvendor: '%s' product: '%s' serial: '%s'\n", 102 | vendor, product, serial); 103 | g_free (vendor); 104 | g_free (product); 105 | g_free (serial); 106 | } 107 | 108 | print_modes (output); 109 | g_print ("\n"); 110 | } 111 | 112 | static void 113 | screen_changed (GnomeRRScreen *screen, gpointer user_data) 114 | { 115 | g_print ("Screen changed\n"); 116 | } 117 | 118 | static void 119 | output_disconnected (GnomeRRScreen *screen, GnomeRROutput *output, gpointer user_data) 120 | { 121 | print_output (output, "disconnected"); 122 | } 123 | 124 | static void 125 | output_connected (GnomeRRScreen *screen, GnomeRROutput *output, gpointer user_data) 126 | { 127 | print_output (output, "connected"); 128 | } 129 | 130 | static void 131 | dpms_mode_changed (GnomeRRScreen *screen, GParamSpec *pspec, gpointer user_data) 132 | { 133 | GnomeRRDpmsMode mode; 134 | 135 | gnome_rr_screen_get_dpms_mode (screen, &mode, NULL); 136 | g_print ("DPMS mode changed to: %s\n", dpms_mode_to_str (mode)); 137 | g_print ("\n"); 138 | } 139 | 140 | /** 141 | * main: 142 | **/ 143 | int 144 | main (int argc, char *argv[]) 145 | { 146 | GError *error = NULL; 147 | GnomeRROutput **outputs; 148 | GnomeRRScreen *screen; 149 | guint i; 150 | 151 | gtk_init (&argc, &argv); 152 | screen = gnome_rr_screen_new (gdk_screen_get_default (), &error); 153 | if (screen == NULL) { 154 | g_warning ("failed to get screen: %s", error->message); 155 | g_error_free (error); 156 | goto out; 157 | } 158 | outputs = gnome_rr_screen_list_outputs (screen); 159 | for (i = 0; outputs[i] != NULL; i++) 160 | print_output (outputs[i], NULL); 161 | 162 | g_signal_connect (screen, "changed", G_CALLBACK (screen_changed), NULL); 163 | g_signal_connect (screen, "output-disconnected", G_CALLBACK (output_disconnected), NULL); 164 | g_signal_connect (screen, "output-connected", G_CALLBACK (output_connected), NULL); 165 | g_signal_connect (screen, "notify::dpms-mode", G_CALLBACK (dpms_mode_changed), NULL); 166 | 167 | gtk_main (); 168 | 169 | out: 170 | g_object_unref (screen); 171 | return 0; 172 | } 173 | -------------------------------------------------------------------------------- /libgnome-desktop/gnome-rr-private.h: -------------------------------------------------------------------------------- 1 | #ifndef GNOME_RR_PRIVATE_H 2 | #define GNOME_RR_PRIVATE_H 3 | 4 | #ifdef GDK_WINDOWING_WAYLAND 5 | #include 6 | #else 7 | enum wl_output_transform { 8 | WL_OUTPUT_TRANSFORM_NORMAL, 9 | WL_OUTPUT_TRANSFORM_90, 10 | WL_OUTPUT_TRANSFORM_180, 11 | WL_OUTPUT_TRANSFORM_270, 12 | WL_OUTPUT_TRANSFORM_FLIPPED, 13 | WL_OUTPUT_TRANSFORM_FLIPPED_90, 14 | WL_OUTPUT_TRANSFORM_FLIPPED_180, 15 | WL_OUTPUT_TRANSFORM_FLIPPED_270 16 | }; 17 | #endif 18 | 19 | #include "meta-xrandr-shared.h" 20 | #include "meta-dbus-xrandr.h" 21 | 22 | typedef struct ScreenInfo ScreenInfo; 23 | 24 | struct ScreenInfo 25 | { 26 | int min_width; 27 | int max_width; 28 | int min_height; 29 | int max_height; 30 | 31 | guint serial; 32 | 33 | GnomeRROutput ** outputs; 34 | GnomeRRCrtc ** crtcs; 35 | GnomeRRMode ** modes; 36 | 37 | GnomeRRScreen * screen; 38 | 39 | GnomeRRMode ** clone_modes; 40 | 41 | GnomeRROutput * primary; 42 | }; 43 | 44 | struct GnomeRRScreenPrivate 45 | { 46 | GdkScreen * gdk_screen; 47 | ScreenInfo * info; 48 | 49 | int init_name_watch_id; 50 | MetaDBusDisplayConfig *proxy; 51 | }; 52 | 53 | #define UNDEFINED_GROUP_ID 0 54 | struct GnomeRRTile { 55 | guint group_id; 56 | guint flags; 57 | guint max_horiz_tiles; 58 | guint max_vert_tiles; 59 | guint loc_horiz; 60 | guint loc_vert; 61 | guint width; 62 | guint height; 63 | }; 64 | 65 | typedef struct GnomeRRTile GnomeRRTile; 66 | 67 | struct _GnomeRROutputInfoPrivate 68 | { 69 | char * name; 70 | 71 | gboolean on; 72 | int width; 73 | int height; 74 | int rate; 75 | int x; 76 | int y; 77 | GnomeRRRotation rotation; 78 | GnomeRRRotation available_rotations; 79 | 80 | gboolean connected; 81 | char * vendor; 82 | char * product; 83 | char * serial; 84 | double aspect; 85 | int pref_width; 86 | int pref_height; 87 | char * display_name; 88 | char * connector_type; 89 | gboolean primary; 90 | gboolean underscanning; 91 | 92 | gboolean is_tiled; 93 | GnomeRRTile tile; 94 | 95 | int total_tiled_width; 96 | int total_tiled_height; 97 | /* ptr back to info */ 98 | GnomeRRConfig *config; 99 | }; 100 | 101 | struct _GnomeRRConfigPrivate 102 | { 103 | gboolean clone; 104 | GnomeRRScreen *screen; 105 | GnomeRROutputInfo **outputs; 106 | }; 107 | 108 | gboolean _gnome_rr_output_connector_type_is_builtin_display (const char *connector_type); 109 | 110 | gboolean _gnome_rr_screen_apply_configuration (GnomeRRScreen *screen, 111 | gboolean persistent, 112 | GVariant *crtcs, 113 | GVariant *outputs, 114 | GError **error); 115 | 116 | const char * _gnome_rr_output_get_connector_type (GnomeRROutput *output); 117 | gboolean _gnome_rr_output_get_tile_info (GnomeRROutput *output, 118 | GnomeRRTile *tile); 119 | gboolean _gnome_rr_output_get_tiled_display_size (GnomeRROutput *output, 120 | int *tile_w, int *tile_h, 121 | int *width, int *height); 122 | 123 | #endif 124 | -------------------------------------------------------------------------------- /libgnome-desktop/gnome-rr/gnome-rr-config.h: -------------------------------------------------------------------------------- 1 | /* gnome-rr-config.h: Display configuration 2 | * 3 | * SPDX-FileCopyrightText: 2007, 2008, Red Hat, Inc. 4 | * SPDX-FileCopyrightText: 2010 Giovanni Campagna 5 | * SPDX-License-Identifier: LGPL-2.0-or-later 6 | * 7 | * Author: Soren Sandmann 8 | */ 9 | #pragma once 10 | 11 | #ifndef GNOME_DESKTOP_USE_UNSTABLE_API 12 | # error GnomeRR is unstable API. You must define GNOME_DESKTOP_USE_UNSTABLE_API before including gnome-rr/gnome-rr.h 13 | #endif 14 | 15 | #include 16 | #include 17 | #include 18 | 19 | G_BEGIN_DECLS 20 | 21 | #define GNOME_RR_TYPE_CONFIG (gnome_rr_config_get_type()) 22 | 23 | G_DECLARE_FINAL_TYPE (GnomeRRConfig, gnome_rr_config, GNOME_RR, CONFIG, GObject) 24 | 25 | GnomeRRConfig * gnome_rr_config_new_current (GnomeRRScreen *screen, 26 | GError **error); 27 | gboolean gnome_rr_config_load_current (GnomeRRConfig *self, 28 | GError **error); 29 | gboolean gnome_rr_config_match (GnomeRRConfig *config1, 30 | GnomeRRConfig *config2); 31 | gboolean gnome_rr_config_equal (GnomeRRConfig *config1, 32 | GnomeRRConfig *config2); 33 | void gnome_rr_config_sanitize (GnomeRRConfig *self); 34 | gboolean gnome_rr_config_ensure_primary (GnomeRRConfig *self); 35 | 36 | gboolean gnome_rr_config_apply (GnomeRRConfig *self, 37 | GnomeRRScreen *screen, 38 | GError **error); 39 | gboolean gnome_rr_config_apply_persistent (GnomeRRConfig *self, 40 | GnomeRRScreen *screen, 41 | GError **error); 42 | 43 | gboolean gnome_rr_config_applicable (GnomeRRConfig *self, 44 | GnomeRRScreen *screen, 45 | GError **error); 46 | 47 | gboolean gnome_rr_config_get_clone (GnomeRRConfig *self); 48 | void gnome_rr_config_set_clone (GnomeRRConfig *self, 49 | gboolean clone); 50 | GnomeRROutputInfo ** gnome_rr_config_get_outputs (GnomeRRConfig *self); 51 | 52 | G_END_DECLS 53 | -------------------------------------------------------------------------------- /libgnome-desktop/gnome-rr/gnome-rr-output-info.h: -------------------------------------------------------------------------------- 1 | /* gnome-rr-output-info.h: Display information 2 | * 3 | * SPDX-FileCopyrightText: 2007, 2008, Red Hat, Inc. 4 | * SPDX-FileCopyrightText: 2010 Giovanni Campagna 5 | * SPDX-License-Identifier: LGPL-2.0-or-later 6 | * 7 | * Author: Soren Sandmann 8 | */ 9 | #pragma once 10 | 11 | #ifndef GNOME_DESKTOP_USE_UNSTABLE_API 12 | # error GnomeRR is unstable API. You must define GNOME_DESKTOP_USE_UNSTABLE_API before including gnome-rr/gnome-rr.h 13 | #endif 14 | 15 | #include 16 | 17 | G_BEGIN_DECLS 18 | 19 | #define GNOME_RR_TYPE_OUTPUT_INFO (gnome_rr_output_info_get_type()) 20 | 21 | /** 22 | * GnomeRROutputInfo: 23 | * 24 | * The representation of an output, which can be used for 25 | * querying and setting display state. 26 | */ 27 | G_DECLARE_FINAL_TYPE (GnomeRROutputInfo, gnome_rr_output_info, GNOME_RR, OUTPUT_INFO, GObject) 28 | 29 | const char * gnome_rr_output_info_get_name (GnomeRROutputInfo *self); 30 | 31 | gboolean gnome_rr_output_info_is_active (GnomeRROutputInfo *self); 32 | void gnome_rr_output_info_set_active (GnomeRROutputInfo *self, 33 | gboolean active); 34 | 35 | void gnome_rr_output_info_get_geometry (GnomeRROutputInfo *self, 36 | int *x, 37 | int *y, 38 | int *width, 39 | int *height); 40 | void gnome_rr_output_info_set_geometry (GnomeRROutputInfo *self, 41 | int x, 42 | int y, 43 | int width, 44 | int height); 45 | 46 | int gnome_rr_output_info_get_refresh_rate (GnomeRROutputInfo *self); 47 | void gnome_rr_output_info_set_refresh_rate (GnomeRROutputInfo *self, 48 | int rate); 49 | 50 | GnomeRRRotation gnome_rr_output_info_get_rotation (GnomeRROutputInfo *self); 51 | void gnome_rr_output_info_set_rotation (GnomeRROutputInfo *self, 52 | GnomeRRRotation rotation); 53 | gboolean gnome_rr_output_info_supports_rotation (GnomeRROutputInfo *self, 54 | GnomeRRRotation rotation); 55 | 56 | gboolean gnome_rr_output_info_is_connected (GnomeRROutputInfo *self); 57 | const char * gnome_rr_output_info_get_vendor (GnomeRROutputInfo *self); 58 | const char * gnome_rr_output_info_get_product (GnomeRROutputInfo *self); 59 | const char * gnome_rr_output_info_get_serial (GnomeRROutputInfo *self); 60 | double gnome_rr_output_info_get_aspect_ratio (GnomeRROutputInfo *self); 61 | const char * gnome_rr_output_info_get_display_name (GnomeRROutputInfo *self); 62 | 63 | gboolean gnome_rr_output_info_get_primary (GnomeRROutputInfo *self); 64 | void gnome_rr_output_info_set_primary (GnomeRROutputInfo *self, 65 | gboolean primary); 66 | 67 | int gnome_rr_output_info_get_preferred_width (GnomeRROutputInfo *self); 68 | int gnome_rr_output_info_get_preferred_height (GnomeRROutputInfo *self); 69 | 70 | gboolean gnome_rr_output_info_get_underscanning (GnomeRROutputInfo *self); 71 | void gnome_rr_output_info_set_underscanning (GnomeRROutputInfo *self, 72 | gboolean underscanning); 73 | 74 | gboolean gnome_rr_output_info_is_primary_tile (GnomeRROutputInfo *self); 75 | 76 | G_END_DECLS 77 | -------------------------------------------------------------------------------- /libgnome-desktop/gnome-rr/gnome-rr-private.h: -------------------------------------------------------------------------------- 1 | /* gnome-rr-private.h: Private type and API 2 | * 3 | * SPDX-FileCopyrightText: 2009 Novell Inc 4 | * SPDX-FileCopyrightText: 2014 Endless 5 | * SPDX-FileCopyrightText: 2009, 2014 Red Hat Inc 6 | * SPDX-FileCopyrightText: 2019 System76 7 | * SPDX-FileCopyrightText: 2021 Emmanuele Bassi 8 | * SPDX-License-Identifier: LGPL-2.0-or-later 9 | */ 10 | 11 | #pragma once 12 | 13 | #include "gnome-rr-types.h" 14 | #include "gnome-rr-config.h" 15 | #include "gnome-rr-output-info.h" 16 | 17 | G_BEGIN_DECLS 18 | 19 | #ifdef GDK_WINDOWING_WAYLAND 20 | #include 21 | #else 22 | enum wl_output_transform { 23 | WL_OUTPUT_TRANSFORM_NORMAL, 24 | WL_OUTPUT_TRANSFORM_90, 25 | WL_OUTPUT_TRANSFORM_180, 26 | WL_OUTPUT_TRANSFORM_270, 27 | WL_OUTPUT_TRANSFORM_FLIPPED, 28 | WL_OUTPUT_TRANSFORM_FLIPPED_90, 29 | WL_OUTPUT_TRANSFORM_FLIPPED_180, 30 | WL_OUTPUT_TRANSFORM_FLIPPED_270 31 | }; 32 | #endif 33 | 34 | #include "meta-xrandr-shared.h" 35 | #include "meta-dbus-xrandr.h" 36 | 37 | typedef struct _ScreenInfo ScreenInfo; 38 | 39 | struct _ScreenInfo 40 | { 41 | int min_width; 42 | int max_width; 43 | int min_height; 44 | int max_height; 45 | 46 | guint serial; 47 | 48 | GnomeRROutput **outputs; 49 | GnomeRRCrtc **crtcs; 50 | GnomeRRMode **modes; 51 | 52 | GnomeRRScreen *screen; 53 | 54 | GnomeRRMode **clone_modes; 55 | 56 | GnomeRROutput *primary; 57 | }; 58 | 59 | typedef struct _GnomeRRScreenPrivate GnomeRRScreenPrivate; 60 | struct _GnomeRRScreenPrivate 61 | { 62 | GdkDisplay *gdk_display; 63 | ScreenInfo *info; 64 | 65 | int init_name_watch_id; 66 | MetaDBusDisplayConfig *proxy; 67 | }; 68 | 69 | typedef struct _GnomeRRTile GnomeRRTile; 70 | 71 | #define UNDEFINED_GROUP_ID 0 72 | struct _GnomeRRTile 73 | { 74 | guint group_id; 75 | guint flags; 76 | guint max_horiz_tiles; 77 | guint max_vert_tiles; 78 | guint loc_horiz; 79 | guint loc_vert; 80 | guint width; 81 | guint height; 82 | }; 83 | 84 | struct _GnomeRROutputInfo 85 | { 86 | char *name; 87 | 88 | gboolean active; 89 | int width; 90 | int height; 91 | int rate; 92 | int x; 93 | int y; 94 | GnomeRRRotation rotation; 95 | GnomeRRRotation available_rotations; 96 | 97 | gboolean connected; 98 | char *vendor; 99 | char *product; 100 | char *serial; 101 | double aspect; 102 | int pref_width; 103 | int pref_height; 104 | char *display_name; 105 | char *connector_type; 106 | gboolean primary; 107 | gboolean underscanning; 108 | 109 | gboolean is_tiled; 110 | GnomeRRTile tile; 111 | 112 | int total_tiled_width; 113 | int total_tiled_height; 114 | 115 | /* weak pointer back to info */ 116 | GnomeRRConfig *config; 117 | }; 118 | 119 | struct _GnomeRRConfig 120 | { 121 | gboolean clone; 122 | GnomeRRScreen *screen; 123 | GnomeRROutputInfo **outputs; 124 | }; 125 | 126 | G_GNUC_INTERNAL 127 | gboolean 128 | gnome_rr_output_connector_type_is_builtin_display (const char *connector_type); 129 | 130 | G_GNUC_INTERNAL 131 | gboolean 132 | gnome_rr_screen_apply_configuration (GnomeRRScreen *screen, 133 | gboolean persistent, 134 | GVariant *crtcs, 135 | GVariant *outputs, 136 | GError **error); 137 | 138 | G_GNUC_INTERNAL 139 | const char * 140 | gnome_rr_output_get_connector_type (GnomeRROutput *output); 141 | 142 | G_GNUC_INTERNAL 143 | gboolean 144 | gnome_rr_output_get_tile_info (const GnomeRROutput *output, 145 | GnomeRRTile *tile); 146 | 147 | G_GNUC_INTERNAL 148 | gboolean 149 | gnome_rr_output_get_tiled_display_size (const GnomeRROutput *output, 150 | int *tile_w, 151 | int *tile_h, 152 | int *width, 153 | int *height); 154 | 155 | G_END_DECLS 156 | -------------------------------------------------------------------------------- /libgnome-desktop/gnome-rr/gnome-rr-symbols.map: -------------------------------------------------------------------------------- 1 | { 2 | global: 3 | gnome_rr_*; 4 | local: 5 | *; 6 | }; 7 | -------------------------------------------------------------------------------- /libgnome-desktop/gnome-rr/gnome-rr-types.h: -------------------------------------------------------------------------------- 1 | /* gnome-rr-types.h: Shared types 2 | * 3 | * SPDX-FileCopyrightText: 2021 Emmanuele Bassi 4 | * SPDX-License-Identifier: LGPL-2.0-or-later 5 | */ 6 | 7 | #pragma once 8 | 9 | #ifndef GNOME_DESKTOP_USE_UNSTABLE_API 10 | # error GnomeRR is unstable API. You must define GNOME_DESKTOP_USE_UNSTABLE_API before including gnome-rr/gnome-rr.h 11 | #endif 12 | 13 | #include 14 | 15 | G_BEGIN_DECLS 16 | 17 | typedef enum 18 | { 19 | GNOME_RR_ROTATION_NEXT = 0, 20 | GNOME_RR_ROTATION_0 = (1 << 0), 21 | GNOME_RR_ROTATION_90 = (1 << 1), 22 | GNOME_RR_ROTATION_180 = (1 << 2), 23 | GNOME_RR_ROTATION_270 = (1 << 3), 24 | GNOME_RR_REFLECT_X = (1 << 4), 25 | GNOME_RR_REFLECT_Y = (1 << 5) 26 | } GnomeRRRotation; 27 | 28 | typedef enum { 29 | GNOME_RR_DPMS_ON, 30 | GNOME_RR_DPMS_STANDBY, 31 | GNOME_RR_DPMS_SUSPEND, 32 | GNOME_RR_DPMS_OFF, 33 | GNOME_RR_DPMS_UNKNOWN 34 | } GnomeRRDpmsMode; 35 | 36 | /* Identical to drm_color_ctm from */ 37 | typedef struct { 38 | /*< private >*/ 39 | 40 | /* Conversion matrix in S31.32 sign-magnitude (not two's complement!) format */ 41 | guint64 matrix[9]; 42 | } GnomeRRCTM; 43 | 44 | typedef struct _GnomeRRScreen GnomeRRScreen; 45 | typedef struct _GnomeRROutput GnomeRROutput; 46 | typedef struct _GnomeRRCrtc GnomeRRCrtc; 47 | typedef struct _GnomeRRMode GnomeRRMode; 48 | 49 | G_END_DECLS 50 | -------------------------------------------------------------------------------- /libgnome-desktop/gnome-rr/gnome-rr.h: -------------------------------------------------------------------------------- 1 | /* gnome-rr.h: Display information gathering 2 | * 3 | * SPDX-FileCopyrightText: 2021 Emmanuele Bassi 4 | * SPDX-License-Identifier: LGPL-2.0-or-later 5 | */ 6 | 7 | #pragma once 8 | 9 | #ifndef GNOME_DESKTOP_USE_UNSTABLE_API 10 | # error GnomeRR is unstable API. You must define GNOME_DESKTOP_USE_UNSTABLE_API before including gnome-rr/gnome-rr.h 11 | #endif 12 | 13 | #include 14 | #include 15 | #include 16 | -------------------------------------------------------------------------------- /libgnome-desktop/gnome-rr/meson.build: -------------------------------------------------------------------------------- 1 | libgnome_rr_deps = [ 2 | libgnome_desktop_base_dep, 3 | gtk4_dep, 4 | ] 5 | 6 | libgnome_rr_sources = [ 7 | 'gnome-rr-config.c', 8 | 'gnome-rr-output-info.c', 9 | 'gnome-rr-screen.c', 10 | ] 11 | 12 | libgnome_rr_headers = [ 13 | 'gnome-rr.h', 14 | 'gnome-rr-config.h', 15 | 'gnome-rr-output-info.h', 16 | 'gnome-rr-screen.h', 17 | 'gnome-rr-types.h', 18 | ] 19 | 20 | install_headers(libgnome_rr_headers, 21 | subdir: 'gnome-desktop-4.0/gnome-rr' 22 | ) 23 | 24 | libgnome_rr_ldflags = [] 25 | libgnome_rr_symbols_map = '-Wl,--version-script=@0@'.format(meson.current_source_dir() / 'gnome-rr-symbols.map') 26 | if cc.has_link_argument(libgnome_rr_symbols_map) 27 | libgnome_rr_ldflags += libgnome_rr_symbols_map 28 | endif 29 | 30 | libgnome_rr = library('gnome-rr-4', 31 | sources: [ 32 | libgnome_rr_sources, 33 | dbus_xrandr_built_sources, 34 | ], 35 | dependencies: libgnome_rr_deps, 36 | soversion: soversion, 37 | version: libversion, 38 | c_args: libargs, 39 | link_args: libgnome_rr_ldflags, 40 | install: true, 41 | include_directories: [ 42 | include_directories('.'), 43 | include_directories('..'), 44 | ], 45 | ) 46 | 47 | if get_option('introspection') 48 | libgnome_rr_gir = gnome.generate_gir(libgnome_rr, 49 | sources: [libgnome_rr_headers, libgnome_rr_sources], 50 | export_packages: 'gnome-rr-4', 51 | namespace: 'GnomeRR', 52 | nsversion: '4.0', 53 | includes: [libgnome_desktop_base_gir[0], 'Gdk-4.0'], 54 | extra_args: ['-DGNOME_DESKTOP_USE_UNSTABLE_API', '--quiet', '--warn-all'], 55 | identifier_prefix: 'GnomeRR', 56 | symbol_prefix: 'gnome_rr', 57 | install: true, 58 | ) 59 | else 60 | libgnome_rr_gir = '' 61 | endif 62 | 63 | 64 | libgnome_rr_dep = declare_dependency( 65 | sources: [ 66 | dbus_xrandr_built_sources, 67 | libgnome_rr_gir, 68 | ], 69 | dependencies: libgnome_rr_deps, 70 | link_with: libgnome_rr, 71 | include_directories: [ 72 | include_directories('.'), 73 | include_directories('..'), 74 | ], 75 | ) 76 | 77 | pkg.generate( 78 | libgnome_rr, 79 | requires: ['gsettings-desktop-schemas'], 80 | version: meson.project_version(), 81 | name: 'gnome-rr-4', 82 | filebase: 'gnome-rr-4', 83 | description: 'Display information utility library for GNOME desktop components', 84 | subdirs: 'gnome-desktop-4.0', 85 | ) 86 | 87 | -------------------------------------------------------------------------------- /libgnome-desktop/gnome-systemd.h: -------------------------------------------------------------------------------- 1 | /* gnome-systemd.h 2 | * 3 | * Copyright 2019 Benjamin Berg 4 | * 5 | * This file is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU Lesser General Public License as 7 | * published by the Free Software Foundation; either version 3 of the 8 | * License, or (at your option) any later version. 9 | * 10 | * This file is distributed in the hope that it will be useful, but 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * Lesser General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU Lesser General Public 16 | * License along with this program. If not, see . 17 | * 18 | * SPDX-License-Identifier: LGPL-3.0-or-later 19 | */ 20 | 21 | #ifndef _GNOME_SYSTEMD_H 22 | #define _GNOME_SYSTEMD_H 23 | 24 | #ifndef GNOME_DESKTOP_USE_UNSTABLE_API 25 | #error GnomeDesktopSystemd is unstable API. You must define GNOME_DESKTOP_USE_UNSTABLE_API before including gnome-systemd.h 26 | #endif 27 | 28 | #include 29 | #include 30 | 31 | void gnome_start_systemd_scope (const char *name, 32 | gint32 pid, 33 | const char *description, 34 | GDBusConnection *connection, 35 | GCancellable *cancellable, 36 | GAsyncReadyCallback callback, 37 | gpointer user_data); 38 | 39 | gboolean gnome_start_systemd_scope_finish (GAsyncResult *res, 40 | GError **error); 41 | 42 | #endif /* _GNOME_SYSTEMD_H */ 43 | -------------------------------------------------------------------------------- /libgnome-desktop/gnome-wall-clock.h: -------------------------------------------------------------------------------- 1 | /* gnome-tz-monitor.h - fade window background between two surfaces 2 | 3 | Copyright 2008, Red Hat, Inc. 4 | Copyright 2011, Red Hat, Inc. 5 | 6 | This file is part of the Gnome Library. 7 | 8 | The Gnome Library is free software; you can redistribute it and/or 9 | modify it under the terms of the GNU Library General Public License as 10 | published by the Free Software Foundation; either version 2 of the 11 | License, or (at your option) any later version. 12 | 13 | The Gnome Library is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | Library General Public License for more details. 17 | 18 | You should have received a copy of the GNU Library General Public 19 | License along with the Gnome Library; see the file COPYING.LIB. If not, 20 | write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 21 | Boston, MA 02110-1301, USA. 22 | 23 | Author: Colin Walters 24 | */ 25 | 26 | #ifndef __GNOME_WALL_CLOCK_H__ 27 | #define __GNOME_WALL_CLOCK_H__ 28 | 29 | #ifndef GNOME_DESKTOP_USE_UNSTABLE_API 30 | #error This is unstable API. You must define GNOME_DESKTOP_USE_UNSTABLE_API before including gnome-wall-clock.h 31 | #endif 32 | 33 | #include 34 | #include 35 | #include 36 | 37 | G_BEGIN_DECLS 38 | 39 | #define GNOME_TYPE_WALL_CLOCK (gnome_wall_clock_get_type ()) 40 | #define GNOME_WALL_CLOCK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_TYPE_WALL_CLOCK, GnomeWallClock)) 41 | #define GNOME_WALL_CLOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GNOME_TYPE_WALL_CLOCK, GnomeWallClockClass)) 42 | #define GNOME_IS_WALL_CLOCK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_TYPE_WALL_CLOCK)) 43 | #define GNOME_IS_WALL_CLOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNOME_TYPE_WALL_CLOCK)) 44 | #define GNOME_WALL_CLOCK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GNOME_TYPE_WALL_CLOCK, GnomeWallClockClass)) 45 | 46 | typedef struct _GnomeWallClockPrivate GnomeWallClockPrivate; 47 | typedef struct _GnomeWallClock GnomeWallClock; 48 | typedef struct _GnomeWallClockClass GnomeWallClockClass; 49 | 50 | struct _GnomeWallClock 51 | { 52 | GObject parent_object; 53 | 54 | GnomeWallClockPrivate *priv; 55 | }; 56 | 57 | struct _GnomeWallClockClass 58 | { 59 | GObjectClass parent_class; 60 | }; 61 | 62 | G_DEFINE_AUTOPTR_CLEANUP_FUNC(GnomeWallClock, g_object_unref) 63 | 64 | GType gnome_wall_clock_get_type (void); 65 | 66 | GnomeWallClock * gnome_wall_clock_new (void); 67 | 68 | const char * gnome_wall_clock_get_clock (GnomeWallClock *clock); 69 | 70 | GTimeZone * gnome_wall_clock_get_timezone (GnomeWallClock *clock); 71 | 72 | char * gnome_wall_clock_string_for_datetime (GnomeWallClock *self, 73 | GDateTime *now, 74 | GDesktopClockFormat clock_format, 75 | gboolean show_weekday, 76 | gboolean show_full_date, 77 | gboolean show_seconds); 78 | 79 | G_END_DECLS 80 | 81 | #endif 82 | -------------------------------------------------------------------------------- /libgnome-desktop/gnome-xkb-info.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2012 Red Hat, Inc. 3 | * 4 | * Written by: Rui Matos 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2, or (at your option) 9 | * any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 19 | * 02110-1301, USA. 20 | */ 21 | 22 | #ifndef __GNOME_XKB_INFO_H__ 23 | #define __GNOME_XKB_INFO_H__ 24 | 25 | #ifndef GNOME_DESKTOP_USE_UNSTABLE_API 26 | #error This is unstable API. You must define GNOME_DESKTOP_USE_UNSTABLE_API before including gnome-xkb-info.h 27 | #endif 28 | 29 | #include 30 | 31 | #include 32 | #include 33 | 34 | G_BEGIN_DECLS 35 | 36 | #define GNOME_TYPE_XKB_INFO (gnome_xkb_info_get_type ()) 37 | #define GNOME_XKB_INFO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_TYPE_XKB_INFO, GnomeXkbInfo)) 38 | #define GNOME_XKB_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GNOME_TYPE_XKB_INFO, GnomeXkbInfoClass)) 39 | #define GNOME_IS_XKB_INFO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_TYPE_XKB_INFO)) 40 | #define GNOME_IS_XKB_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNOME_TYPE_XKB_INFO)) 41 | #define GNOME_XKB_INFO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GNOME_TYPE_XKB_INFO, GnomeXkbInfoClass)) 42 | 43 | typedef struct _GnomeXkbInfoPrivate GnomeXkbInfoPrivate; 44 | typedef struct _GnomeXkbInfo GnomeXkbInfo; 45 | typedef struct _GnomeXkbInfoClass GnomeXkbInfoClass; 46 | 47 | struct _GnomeXkbInfo 48 | { 49 | GObject parent_object; 50 | 51 | GnomeXkbInfoPrivate *priv; 52 | }; 53 | 54 | struct _GnomeXkbInfoClass 55 | { 56 | GObjectClass parent_class; 57 | }; 58 | 59 | G_DEFINE_AUTOPTR_CLEANUP_FUNC(GnomeXkbInfo, g_object_unref) 60 | 61 | GType gnome_xkb_info_get_type (void); 62 | GnomeXkbInfo *gnome_xkb_info_new (void); 63 | GList *gnome_xkb_info_get_all_layouts (GnomeXkbInfo *self); 64 | gboolean gnome_xkb_info_get_layout_info (GnomeXkbInfo *self, 65 | const gchar *id, 66 | const gchar **display_name, 67 | const gchar **short_name, 68 | const gchar **xkb_layout, 69 | const gchar **xkb_variant); 70 | GList *gnome_xkb_info_get_all_option_groups (GnomeXkbInfo *self); 71 | const gchar *gnome_xkb_info_description_for_group (GnomeXkbInfo *self, 72 | const gchar *group_id); 73 | GList *gnome_xkb_info_get_options_for_group (GnomeXkbInfo *self, 74 | const gchar *group_id); 75 | const gchar *gnome_xkb_info_description_for_option (GnomeXkbInfo *self, 76 | const gchar *group_id, 77 | const gchar *id); 78 | GList *gnome_xkb_info_get_layouts_for_language (GnomeXkbInfo *self, 79 | const gchar *language_code); 80 | GList *gnome_xkb_info_get_layouts_for_country (GnomeXkbInfo *self, 81 | const gchar *country_code); 82 | GList *gnome_xkb_info_get_languages_for_layout (GnomeXkbInfo *self, 83 | const gchar *layout_id); 84 | 85 | G_END_DECLS 86 | 87 | #endif /* __GNOME_XKB_INFO_H__ */ 88 | -------------------------------------------------------------------------------- /libgnome-desktop/idle-monitor.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /libgnome-desktop/meta-xrandr-shared.h: -------------------------------------------------------------------------------- 1 | /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ 2 | /* 3 | * Copyright (C) 2013 Red Hat Inc. 4 | * 5 | * This program is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU General Public License as 7 | * published by the Free Software Foundation; either version 2 of the 8 | * License, or (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, but 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, see . 17 | */ 18 | 19 | /* This file is shared between mutter (src/core/meta-xrandr-shared.h) 20 | and gnome-desktop (libgnome-desktop/meta-xrandr-shared.h). 21 | 22 | The canonical place for all changes is mutter. 23 | 24 | There should be no includes in this file. 25 | */ 26 | 27 | #ifndef META_XRANDR_SHARED_H 28 | #define META_XRANDR_SHARED_H 29 | 30 | typedef enum { 31 | META_POWER_SAVE_UNKNOWN = -1, 32 | META_POWER_SAVE_ON = 0, 33 | META_POWER_SAVE_STANDBY, 34 | META_POWER_SAVE_SUSPEND, 35 | META_POWER_SAVE_OFF, 36 | } MetaPowerSave; 37 | 38 | #define META_OUTPUT_STRUCT "(uxiausauau@a{sv})" 39 | #define META_CRTC_STRUCT "(uxiiiiiuau@a{sv})" 40 | #define META_MONITOR_MODE_STRUCT "(uxuudu)" 41 | #endif 42 | -------------------------------------------------------------------------------- /libgnome-desktop/symbol.map: -------------------------------------------------------------------------------- 1 | { 2 | global: 3 | gnome_*; 4 | local: 5 | *; 6 | }; 7 | -------------------------------------------------------------------------------- /libgnome-desktop/test-desktop-thumbnail.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2012,2017,2020 Red Hat, Inc. 3 | * 4 | * This file is part of the Gnome Library. 5 | * 6 | * The Gnome Library is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Library General Public License as 8 | * published by the Free Software Foundation; either version 2 of the 9 | * License, or (at your option) any later version. 10 | * 11 | * The Gnome Library is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Library General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Library General Public 17 | * License along with the Gnome Library; see the file COPYING.LIB. If not, 18 | * write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 19 | * Boston, MA 02110-1301, USA. 20 | * 21 | * Authors: Bastien Nocera 22 | */ 23 | 24 | #include 25 | 26 | #define GNOME_DESKTOP_USE_UNSTABLE_API 27 | #include 28 | 29 | static gboolean 30 | thumbnail_file (GnomeDesktopThumbnailFactory *factory, 31 | const char *in_path, 32 | const char *out_path) 33 | { 34 | g_autoptr(GdkPixbuf) pixbuf = NULL; 35 | g_autofree char *content_type = NULL; 36 | g_autoptr(GFile) file = NULL; 37 | g_autofree char *path = NULL; 38 | g_autofree char *uri = NULL; 39 | g_autoptr(GError) error = NULL; 40 | 41 | file = g_file_new_for_commandline_arg (in_path); 42 | path = g_file_get_path (file); 43 | if (!path) { 44 | g_warning ("Could not get path for %s", in_path); 45 | return FALSE; 46 | } 47 | 48 | content_type = g_content_type_guess (path, NULL, 0, NULL); 49 | uri = g_file_get_uri (file); 50 | pixbuf = gnome_desktop_thumbnail_factory_generate_thumbnail (factory, uri, content_type, NULL, &error); 51 | 52 | if (error) { 53 | g_warning ("gnome_desktop_thumbnail_factory_generate_thumbnail() failed to generate a thumbnail for %s: %s", in_path, error->message); 54 | return FALSE; 55 | } 56 | 57 | if (!gdk_pixbuf_save (pixbuf, out_path, "png", NULL, NULL)) { 58 | g_warning ("gdk_pixbuf_save failed for %s", in_path); 59 | return FALSE; 60 | } 61 | 62 | return TRUE; 63 | } 64 | 65 | int main (int argc, char **argv) 66 | { 67 | g_autoptr(GnomeDesktopThumbnailFactory) factory = NULL; 68 | g_autoptr(GTimer) timer = NULL; 69 | gint num_iterations = 1; 70 | gboolean shared_factory = FALSE; 71 | gboolean show_timer = FALSE; 72 | char **filenames = NULL; 73 | int ret = 0; 74 | g_autoptr(GOptionContext) option_context = NULL; 75 | g_autoptr(GError) error = NULL; 76 | const GOptionEntry options[] = { 77 | { "shared-factory", 's', 0, G_OPTION_ARG_NONE, &shared_factory, "Whether to share the Thumbnail Factory (default: off)", NULL }, 78 | { "num-iterations", 'n', 0, G_OPTION_ARG_INT, &num_iterations, "Number of times to run thumbnail operation (default: 1)", NULL }, 79 | { "show-timer", 't', 0, G_OPTION_ARG_NONE, &show_timer, "Whether to show time statistics for operations", NULL }, 80 | { G_OPTION_REMAINING, '\0', 0, G_OPTION_ARG_FILENAME_ARRAY, &filenames, "[INPUT FILE] [OUTPUT FILE]", NULL }, 81 | { NULL} 82 | }; 83 | int i; 84 | gdouble first_iter_elapsed = 0.0; 85 | gdouble following_elapsed = 0.0; 86 | 87 | setlocale (LC_ALL, ""); 88 | option_context = g_option_context_new (""); 89 | g_option_context_add_main_entries (option_context, options, NULL); 90 | 91 | ret = g_option_context_parse (option_context, &argc, &argv, &error); 92 | if (!ret) { 93 | g_print ("Failed to parse arguments: %s", error->message); 94 | return EXIT_FAILURE; 95 | } 96 | 97 | if (filenames == NULL || 98 | g_strv_length (filenames) != 2 || 99 | num_iterations < 1) { 100 | g_autofree char *help = NULL; 101 | help = g_option_context_get_help (option_context, TRUE, NULL); 102 | g_print ("%s", help); 103 | return 1; 104 | } 105 | 106 | timer = g_timer_new (); 107 | 108 | for (i = 0; i < num_iterations; i++) { 109 | g_timer_start (timer); 110 | 111 | if (factory == NULL) 112 | factory = gnome_desktop_thumbnail_factory_new (GNOME_DESKTOP_THUMBNAIL_SIZE_LARGE); 113 | 114 | if (!thumbnail_file (factory, filenames[0], filenames[1])) 115 | return 1; 116 | 117 | if (i == 0) 118 | first_iter_elapsed = g_timer_elapsed (timer, NULL); 119 | else 120 | following_elapsed += g_timer_elapsed (timer, NULL); 121 | 122 | if (!shared_factory) 123 | g_clear_object (&factory); 124 | } 125 | 126 | if (show_timer) { 127 | if (num_iterations == 1) { 128 | g_print ("Elapsed time: %d msec\n", 129 | (int) (first_iter_elapsed * 1000)); 130 | } else if (num_iterations > 1) { 131 | g_print ("First iteration: %d msec\n", 132 | (int) (first_iter_elapsed * 1000)); 133 | g_print ("Average time: %d msec (%d iterations)\n", 134 | (int) (following_elapsed * 1000 / (num_iterations - 1)), 135 | num_iterations - 1); 136 | } else { 137 | g_assert_not_reached (); 138 | } 139 | } 140 | 141 | return 0; 142 | } 143 | -------------------------------------------------------------------------------- /libgnome-desktop/test-idle-monitor.c: -------------------------------------------------------------------------------- 1 | #include 2 | #define GNOME_DESKTOP_USE_UNSTABLE_API 3 | #include "libgnome-desktop/gnome-idle-monitor.h" 4 | 5 | #define IDLE_TIME 1000 * 5 /* 5 seconds */ 6 | 7 | static void 8 | active_watch_func (GnomeIdleMonitor *monitor, 9 | guint id, 10 | gpointer user_data) 11 | { 12 | g_message ("Active watch func called (watch id %d)", id); 13 | } 14 | 15 | static void 16 | ensure_active_watch (GnomeIdleMonitor *monitor) 17 | { 18 | guint watch_id; 19 | 20 | watch_id = gnome_idle_monitor_add_user_active_watch (monitor, 21 | active_watch_func, 22 | NULL, 23 | NULL); 24 | g_message ("Added active watch ID %d", watch_id); 25 | } 26 | 27 | static void 28 | idle_watch_func (GnomeIdleMonitor *monitor, 29 | guint id, 30 | gpointer user_data) 31 | { 32 | g_message ("Idle watch func called (watch id %d)", id); 33 | ensure_active_watch (monitor); 34 | } 35 | 36 | int main (int argc, char **argv) 37 | { 38 | GnomeIdleMonitor *monitor; 39 | guint watch_id; 40 | 41 | gtk_init (&argc, &argv); 42 | 43 | monitor = gnome_idle_monitor_new (); 44 | watch_id = gnome_idle_monitor_add_idle_watch (monitor, 45 | IDLE_TIME, 46 | idle_watch_func, 47 | NULL, 48 | NULL); 49 | g_message ("Added idle watch ID %d", 50 | watch_id); 51 | 52 | ensure_active_watch (monitor); 53 | 54 | gtk_main (); 55 | 56 | return 0; 57 | } 58 | -------------------------------------------------------------------------------- /libgnome-desktop/test-languages.c: -------------------------------------------------------------------------------- 1 | #include "config.h" 2 | 3 | #include 4 | #include 5 | #include 6 | #include 7 | #define GNOME_DESKTOP_USE_UNSTABLE_API 8 | #include 9 | 10 | int main (int argc, char **argv) 11 | { 12 | char **locales; 13 | int i; 14 | 15 | setlocale (LC_ALL, ""); 16 | bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); 17 | 18 | if (argc > 1) { 19 | for (i = 1; i < argc; i++) { 20 | char *lang, *country, *norm; 21 | norm = gnome_normalize_locale (argv[i]); 22 | lang = gnome_get_language_from_locale (norm, NULL); 23 | country = gnome_get_country_from_locale (norm, NULL); 24 | g_print ("%s (norm: %s) == %s -- %s\n", argv[i], norm, lang, country); 25 | g_free (norm); 26 | g_free (lang); 27 | g_free (country); 28 | } 29 | return 0; 30 | } 31 | 32 | locales = gnome_get_all_locales (); 33 | if (locales == NULL) { 34 | g_warning ("No locales found"); 35 | return 1; 36 | } 37 | 38 | for (i = 0; locales[i] != NULL; i++) { 39 | char *lang, *country; 40 | lang = gnome_get_language_from_locale (locales[i], NULL); 41 | country = gnome_get_country_from_locale (locales[i], NULL); 42 | g_print ("%s == %s -- %s\n", locales[i], lang, country); 43 | g_free (lang); 44 | g_free (country); 45 | } 46 | 47 | g_strfreev (locales); 48 | 49 | return 0; 50 | } 51 | 52 | -------------------------------------------------------------------------------- /libgnome-desktop/test-pnp-ids.c: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- 2 | * 3 | * Copyright (C) 2012 Bastien Nocera 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | * 19 | */ 20 | 21 | #define GNOME_DESKTOP_USE_UNSTABLE_API 22 | 23 | #include 24 | 25 | #define NUM_ITERS 500 * 1000 26 | 27 | static void 28 | show_vendor (GnomePnpIds *ids, const char *id) 29 | { 30 | char *vendor; 31 | vendor = gnome_pnp_ids_get_pnp_id (ids, id); 32 | g_message ("%s => %s", id, vendor); 33 | g_free (vendor); 34 | } 35 | 36 | int 37 | main (int argc, char *argv[]) 38 | { 39 | GnomePnpIds *ids; 40 | int i; 41 | 42 | ids = gnome_pnp_ids_new (); 43 | 44 | if (argc == 2 && 45 | g_str_equal (argv[1], "--timed")) { 46 | GTimer *timer; 47 | gdouble elapsed; 48 | 49 | timer = g_timer_new (); 50 | 51 | for (i = 0; i < NUM_ITERS; i++) { 52 | char *vendor; 53 | vendor = gnome_pnp_ids_get_pnp_id (ids, "ZZZ"); 54 | g_free (vendor); 55 | } 56 | 57 | elapsed = g_timer_elapsed (timer, NULL); 58 | g_timer_destroy (timer); 59 | 60 | g_message ("%d iterations took %lf seconds", NUM_ITERS, elapsed); 61 | g_object_unref (ids); 62 | 63 | return 0; 64 | } 65 | 66 | 67 | for (i = 1; i < argc; i++) 68 | show_vendor (ids, argv[i]); 69 | if (argc < 2) { 70 | show_vendor (ids, "ELO"); 71 | show_vendor (ids, "IBM"); 72 | show_vendor (ids, "DEL4085"); 73 | } 74 | 75 | g_object_unref (ids); 76 | return 0; 77 | } 78 | -------------------------------------------------------------------------------- /libgnome-desktop/test-wall-clock.c: -------------------------------------------------------------------------------- 1 | #include 2 | #define GNOME_DESKTOP_USE_UNSTABLE_API 3 | #include 4 | 5 | static void 6 | clock_changed (GObject *object, 7 | GParamSpec *pspec, 8 | gpointer user_data) 9 | { 10 | const char *txt; 11 | 12 | txt = gnome_wall_clock_get_clock (GNOME_WALL_CLOCK (object)); 13 | g_print ("%s\n", txt); 14 | } 15 | 16 | int main (int argc, char **argv) 17 | { 18 | GMainLoop *loop; 19 | GnomeWallClock *clock; 20 | 21 | setlocale (LC_ALL, ""); 22 | 23 | g_setenv ("G_MESSAGES_DEBUG", "all", TRUE); 24 | 25 | loop = g_main_loop_new (NULL, FALSE); 26 | 27 | clock = g_object_new (GNOME_TYPE_WALL_CLOCK, NULL); 28 | g_signal_connect (G_OBJECT (clock), "notify::clock", 29 | G_CALLBACK (clock_changed), NULL); 30 | 31 | clock_changed (G_OBJECT (clock), NULL, NULL); 32 | 33 | g_main_loop_run (loop); 34 | 35 | return 0; 36 | } 37 | -------------------------------------------------------------------------------- /libgnome-desktop/test-xkb-info.c: -------------------------------------------------------------------------------- 1 | #define GNOME_DESKTOP_USE_UNSTABLE_API 2 | #include 3 | int 4 | main (int argc, char **argv) 5 | { 6 | GnomeXkbInfo *info; 7 | GList *layouts, *l; 8 | GList *option_groups, *g; 9 | GList *options, *o; 10 | 11 | info = gnome_xkb_info_new (); 12 | 13 | g_print ("layouts:\n"); 14 | layouts = gnome_xkb_info_get_all_layouts (info); 15 | for (l = layouts; l != NULL; l = l->next) { 16 | const char *id = l->data; 17 | const char *display_name; 18 | const char *short_name; 19 | const char *xkb_layout; 20 | const char *xkb_variant; 21 | 22 | if (gnome_xkb_info_get_layout_info (info, id, 23 | &display_name, 24 | &short_name, 25 | &xkb_layout, 26 | &xkb_variant) == FALSE) { 27 | g_warning ("Failed to get info for layout '%s'", id); 28 | } else { 29 | char *name = g_uri_escape_string (display_name, 30 | " (),<>+;:", 31 | TRUE); 32 | g_print (" %s:\n", id); 33 | g_print (" display name: \"%s\"\n", name); 34 | g_print (" short name: %s\n", short_name); 35 | g_print (" xkb layout: %s\n", xkb_layout); 36 | g_print (" xkb variant: %s\n", xkb_variant); 37 | 38 | g_free (name); 39 | } 40 | } 41 | g_list_free (layouts); 42 | 43 | g_print ("\noption groups:\n"); 44 | option_groups = gnome_xkb_info_get_all_option_groups (info); 45 | for (g = option_groups; g != NULL; g = g->next) { 46 | const char *group_id = g->data; 47 | 48 | g_print (" %s:\n", group_id); 49 | 50 | options = gnome_xkb_info_get_options_for_group (info, group_id); 51 | for (o = options; o != NULL; o = o->next) { 52 | const char *id = o->data; 53 | const char *description = gnome_xkb_info_description_for_option (info, 54 | group_id, 55 | id); 56 | char *desc = g_uri_escape_string (description, 57 | " (),<>+;:", 58 | TRUE); 59 | 60 | g_print (" %s:\n", id); 61 | g_print (" description: \"%s\"\n", desc); 62 | g_free (desc); 63 | 64 | } 65 | g_list_free (options); 66 | } 67 | g_list_free (option_groups); 68 | 69 | g_object_unref (info); 70 | 71 | return 0; 72 | } 73 | -------------------------------------------------------------------------------- /meson.build: -------------------------------------------------------------------------------- 1 | project('gnome-desktop', 'c', 2 | meson_version: '>= 0.56.2', 3 | version: '44.4', 4 | license: ['GPL-2.0-or-later', 'LGPL-2.1-or-later'], 5 | default_options: [ 6 | 'c_std=gnu99', 7 | ], 8 | ) 9 | 10 | # Before making a release that changes the source code, the libversion and 11 | # compat_libversion strings should be modified. (No need to touch these for 12 | # releases with no code changes.) 13 | # 14 | # * Bump the first component if binary compatibility has been broken; or 15 | # * Bump the second component if new APIs are added; or 16 | # * Bump the third component otherwise. 17 | # 18 | # After creating a new stable branch, the next release on the main branch should 19 | # bump the second component to ensure we don't wind up with the same libversion 20 | # for different releases on different branches. 21 | # 22 | # When bumping the first component version, set the second and third components 23 | # to 0. When bumping the second version, set the third one to zero. 24 | # 25 | # A lot easier than libtool, right? 26 | libversion = '2.1.4' 27 | soversion = libversion.split('.')[0] 28 | 29 | # Compatibility versions for libgnome-desktop-3 30 | compat_libversion = '20.0.0' 31 | compat_soversion = compat_libversion.split('.')[0] 32 | 33 | gdk_pixbuf_req = '>= 2.36.5' 34 | gtk3_req = '>= 3.3.6' 35 | gtk4_req = '>= 4.4.0' 36 | glib_req = '>= 2.53.0' 37 | xrandr_req = '>= 1.3' 38 | schemas_req = '>= 3.27.0' 39 | xext_req = '>= 1.1' 40 | 41 | gnome = import('gnome') 42 | i18n = import('i18n') 43 | pkg = import('pkgconfig') 44 | 45 | prefix = get_option('prefix') 46 | 47 | datadir = prefix / get_option('datadir') 48 | libexecdir = prefix / get_option('libexecdir') 49 | 50 | liblocaledir = get_option('prefix') / 'lib/locale' 51 | localedir = datadir / 'locale' 52 | test_metadir = datadir / 'installed-tests' / meson.project_name() 53 | test_execdir = libexecdir / 'installed-tests' / meson.project_name() 54 | versiondir = datadir / 'gnome' 55 | 56 | gdk_pixbuf_dep = dependency('gdk-pixbuf-2.0', version: gdk_pixbuf_req) 57 | gtk3_dep = dependency('gtk+-3.0', version: gtk3_req, required: get_option('legacy_library')) 58 | gtk4_dep = dependency('gtk4', version: gtk4_req, required: get_option('build_gtk4')) 59 | glib_dep = dependency('glib-2.0', version: glib_req) 60 | gio_dep = dependency('gio-2.0', version: glib_req) 61 | gio_unix_dep = dependency('gio-unix-2.0', version: glib_req) 62 | schemas_dep = dependency('gsettings-desktop-schemas', version: schemas_req) 63 | fontconfig_dep = dependency('fontconfig') 64 | xkb_config_dep = dependency('xkeyboard-config') 65 | xkbregistry_dep = dependency('xkbregistry', required: false) 66 | iso_codes_dep = dependency('iso-codes') 67 | libsystemd_dep = dependency('libsystemd', required: get_option('systemd')) 68 | udev_dep = dependency('libudev', required: get_option('udev')) 69 | 70 | # Check for bubblewrap compatible platform 71 | host_os = host_machine.system() 72 | host_cpu = host_machine.cpu() 73 | supported_os = ['linux'] 74 | unsupported_cpus = ['alpha', 'ia64', 'm68k', 'sh4', 'sparc', 'sparc64'] 75 | if supported_os.contains(host_os) and not unsupported_cpus.contains(host_cpu) 76 | seccomp_dep = dependency('libseccomp') 77 | else 78 | seccomp_dep = dependency('', required: false) 79 | endif 80 | 81 | fontconfig_cache_path = fontconfig_dep.get_variable(pkgconfig: 'cachedir') 82 | xkb_base = xkb_config_dep.get_variable(pkgconfig: 'xkb_base') 83 | iso_codes_prefix = iso_codes_dep.get_variable(pkgconfig: 'prefix') 84 | 85 | cc = meson.get_compiler('c') 86 | 87 | m_dep = cc.find_library('m', required: false) 88 | rt_dep = cc.find_library('rt', required: false) 89 | 90 | if not cc.has_function('clock_gettime', dependencies: rt_dep) 91 | rt_dep = dependency('', required: false) 92 | endif 93 | 94 | subdir('libgnome-desktop') 95 | subdir('po') 96 | subdir('tests') 97 | 98 | if get_option('desktop_docs') 99 | subdir('desktop-docs/fdl') 100 | subdir('desktop-docs/gpl') 101 | subdir('desktop-docs/lgpl') 102 | endif 103 | 104 | if get_option('gtk_doc') 105 | subdir('docs/reference/gnome-desktop3') 106 | endif 107 | 108 | summary({ 109 | 'prefix': get_option('prefix'), 110 | 'datadir': datadir, 111 | 'libexecdir': libexecdir, 112 | 'localedir': localedir, 113 | 'versiondir': versiondir, 114 | }, 115 | section: 'Directories', 116 | ) 117 | 118 | summary({ 119 | 'Use systemd': get_option('systemd').enabled() or get_option('systemd').auto(), 120 | 'Use udev': get_option('udev').enabled() or get_option('udev').auto(), 121 | 'Build GTK4 libraries': get_option('build_gtk4'), 122 | 'Build legacy libgnome-desktop': get_option('legacy_library'), 123 | 'Desktop documentation': get_option('desktop_docs'), 124 | 'API documentation': get_option('gtk_doc'), 125 | 'Debug tools': get_option('debug_tools'), 126 | 'Installed tests': get_option('installed_tests'), 127 | }, 128 | section: 'Build options', 129 | bool_yn: true, 130 | ) 131 | -------------------------------------------------------------------------------- /meson_options.txt: -------------------------------------------------------------------------------- 1 | option('desktop_docs', 2 | type: 'boolean', value: true, 3 | description: 'Build desktop-wide help documents' 4 | ) 5 | 6 | option('debug_tools', 7 | type: 'boolean', value: true, description: 'Build debug tools' 8 | ) 9 | 10 | option('introspection', 11 | type: 'boolean', value: true, description: 'Whether to build introspection files' 12 | ) 13 | 14 | option('udev', 15 | type: 'feature', description: 'Udev support' 16 | ) 17 | 18 | option('systemd', 19 | type: 'feature', description: 'Systemd integration support' 20 | ) 21 | 22 | option('gtk_doc', 23 | type: 'boolean', value: false, description: 'Build API reference' 24 | ) 25 | 26 | option('installed_tests', 27 | type: 'boolean', value: false, description: 'Enable installed tests' 28 | ) 29 | 30 | option('build_gtk4', 31 | type: 'boolean', value: true, description: 'Enable GTK4 libraries' 32 | ) 33 | 34 | option('legacy_library', 35 | type: 'boolean', value: true, description: 'Build the legacy libgnome-desktop-3.0' 36 | ) 37 | -------------------------------------------------------------------------------- /po/LINGUAS: -------------------------------------------------------------------------------- 1 | # please keep this list sorted alphabetically 2 | # 3 | ab 4 | af 5 | am 6 | an 7 | ar 8 | as 9 | ast 10 | az 11 | be 12 | be@latin 13 | bg 14 | bn 15 | bn_IN 16 | br 17 | bs 18 | ca 19 | ca@valencia 20 | ckb 21 | crh 22 | cs 23 | csb 24 | cy 25 | da 26 | de 27 | dz 28 | el 29 | en 30 | en_CA 31 | en_GB 32 | en@shaw 33 | eo 34 | es 35 | et 36 | eu 37 | fa 38 | fi 39 | fil 40 | fr 41 | fur 42 | fy 43 | ga 44 | gd 45 | gl 46 | gu 47 | ha 48 | he 49 | hi 50 | hr 51 | hu 52 | hy 53 | ia 54 | id 55 | ig 56 | is 57 | it 58 | ja 59 | ka 60 | kab 61 | kg 62 | kk 63 | km 64 | kn 65 | ko 66 | ku 67 | ky 68 | li 69 | lo 70 | lt 71 | lv 72 | mai 73 | mg 74 | mi 75 | mjw 76 | mk 77 | ml 78 | mn 79 | mr 80 | ms 81 | my 82 | nb 83 | nds 84 | ne 85 | nl 86 | nn 87 | nso 88 | oc 89 | or 90 | pa 91 | pl 92 | ps 93 | pt 94 | pt_BR 95 | ro 96 | ru 97 | rw 98 | sat 99 | si 100 | sk 101 | sl 102 | sq 103 | sr 104 | sr@latin 105 | sv 106 | ta 107 | te 108 | tg 109 | th 110 | tk 111 | tr 112 | ug 113 | uk 114 | ur 115 | uz 116 | uz@cyrillic 117 | vi 118 | wa 119 | xh 120 | yi 121 | yo 122 | zh_CN 123 | zh_HK 124 | zh_TW 125 | zu 126 | -------------------------------------------------------------------------------- /po/POTFILES.in: -------------------------------------------------------------------------------- 1 | # List of source files containing translatable strings. 2 | # Please keep this file sorted alphabetically. 3 | libgnome-desktop/gnome-desktop-thumbnail.c 4 | libgnome-desktop/gnome-languages.c 5 | libgnome-desktop/gnome-rr.c 6 | libgnome-desktop/gnome-rr-config.c 7 | libgnome-desktop/gnome-rr/gnome-rr-config.c 8 | libgnome-desktop/gnome-wall-clock.c 9 | -------------------------------------------------------------------------------- /po/POTFILES.skip: -------------------------------------------------------------------------------- 1 | # List of source files containing translatable strings that should not be 2 | # translated. 3 | # Please keep this file sorted alphabetically. 4 | tests/C.ref.ui 5 | tests/C.ui 6 | tests/en_US.utf-8.ref.ui 7 | tests/en_US.utf-8.ui 8 | tests/he_IL.utf8.ref.ui 9 | tests/he_IL.utf8.ui 10 | tests/ja_JP.utf8.ref.ui 11 | tests/ja_JP.utf8.ui 12 | -------------------------------------------------------------------------------- /po/bs.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: gnome-desktop.HEAD\n" 4 | "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" 5 | "desktop&keywords=I18N+L10N&component=general\n" 6 | "POT-Creation-Date: 2015-02-27 07:36+0000\n" 7 | "PO-Revision-Date: 2015-02-04 15:39+0000\n" 8 | "Last-Translator: Samir Ribić \n" 9 | "Language-Team: Bosnian \n" 10 | "Language: bs\n" 11 | "MIME-Version: 1.0\n" 12 | "Content-Type: text/plain; charset=UTF-8\n" 13 | "Content-Transfer-Encoding: 8bit\n" 14 | "X-Launchpad-Export-Date: 2015-02-05 06:56+0000\n" 15 | "X-Generator: Launchpad (build 17331)\n" 16 | 17 | #: ../libgnome-desktop/gnome-languages.c:714 18 | msgid "Unspecified" 19 | msgstr "Nenavedeno" 20 | 21 | #: ../libgnome-desktop/gnome-rr-config.c:745 22 | #, c-format 23 | msgid "CRTC %d cannot drive output %s" 24 | msgstr "CRTC %d ne može dobije izlaz %s" 25 | 26 | #: ../libgnome-desktop/gnome-rr-config.c:752 27 | #, c-format 28 | msgid "output %s does not support mode %dx%d@%dHz" 29 | msgstr "izlaz %s ne podržava režim %dx%d@%dHz" 30 | 31 | #: ../libgnome-desktop/gnome-rr-config.c:763 32 | #, c-format 33 | msgid "CRTC %d does not support rotation=%d" 34 | msgstr "CRTC %d ne podržava rotaciju=%d" 35 | 36 | #: ../libgnome-desktop/gnome-rr-config.c:776 37 | #, c-format 38 | msgid "" 39 | "output %s does not have the same parameters as another cloned output:\n" 40 | "existing mode = %d, new mode = %d\n" 41 | "existing coordinates = (%d, %d), new coordinates = (%d, %d)\n" 42 | "existing rotation = %d, new rotation = %d" 43 | msgstr "" 44 | "izlaz %s kao drugi klonirani izlaz:\n" 45 | "postojeći režim = %d, novi režim = %d\n" 46 | "postojeće koordinate = (%d, %d), nove koordinate = (%d, %d)\n" 47 | "postojeća rotacija = %d, nova rotacija = %d" 48 | 49 | #: ../libgnome-desktop/gnome-rr-config.c:791 50 | #, c-format 51 | msgid "cannot clone to output %s" 52 | msgstr "ne mogu da kloniram u izlaz %s" 53 | 54 | #: ../libgnome-desktop/gnome-rr-config.c:917 55 | #, c-format 56 | msgid "Trying modes for CRTC %d\n" 57 | msgstr "Isprobavam režime za CRTC %d\n" 58 | 59 | #: ../libgnome-desktop/gnome-rr-config.c:941 60 | #, c-format 61 | msgid "CRTC %d: trying mode %dx%d@%dHz with output at %dx%d@%dHz (pass %d)\n" 62 | msgstr "" 63 | "CRTC %d: isprobavam režim %dx%d@%dHz bez izlaza na %dx%d@%dHz (%d. pokušaj)\n" 64 | 65 | #: ../libgnome-desktop/gnome-rr-config.c:988 66 | #, c-format 67 | msgid "" 68 | "could not assign CRTCs to outputs:\n" 69 | "%s" 70 | msgstr "" 71 | "ne mogu da pridružim CRTC-e izlazima:\n" 72 | "%s" 73 | 74 | #: ../libgnome-desktop/gnome-rr-config.c:992 75 | #, c-format 76 | msgid "" 77 | "none of the selected modes were compatible with the possible modes:\n" 78 | "%s" 79 | msgstr "" 80 | "ni jedan od izabranih režima nije saglasan sa mogućim režimima:\n" 81 | "%s" 82 | 83 | #. Translators: the "requested", "minimum", and 84 | #. * "maximum" words here are not keywords; please 85 | #. * translate them as usual. 86 | #: ../libgnome-desktop/gnome-rr-config.c:1073 87 | #, c-format 88 | msgid "" 89 | "required virtual size does not fit available size: requested=(%d, %d), " 90 | "minimum=(%d, %d), maximum=(%d, %d)" 91 | msgstr "" 92 | "zahtijevana virtuelna veličina je izvan dostupne: zahtijevana=(%d, %d), " 93 | "najmanja=(%d, %d), najveća=(%d, %d)" 94 | 95 | #. Translators: This is the time format with full date used 96 | #. in 24-hour mode. 97 | #: ../libgnome-desktop/gnome-wall-clock.c:299 98 | msgid "%a %b %e, %R:%S" 99 | msgstr "%a, %e. %b, %R:%S" 100 | 101 | #: ../libgnome-desktop/gnome-wall-clock.c:300 102 | msgid "%a %b %e, %R" 103 | msgstr "%a, %e. %b, %R" 104 | 105 | #. Translators: This is the time format with day used 106 | #. in 24-hour mode. 107 | #: ../libgnome-desktop/gnome-wall-clock.c:304 108 | msgid "%a %R:%S" 109 | msgstr "%a, %R:%S" 110 | 111 | #: ../libgnome-desktop/gnome-wall-clock.c:305 112 | msgid "%a %R" 113 | msgstr "%a %R" 114 | 115 | #. Translators: This is the time format without date used 116 | #. in 24-hour mode. 117 | #: ../libgnome-desktop/gnome-wall-clock.c:309 118 | msgid "%R:%S" 119 | msgstr "%R:%S" 120 | 121 | #: ../libgnome-desktop/gnome-wall-clock.c:309 122 | msgid "%R" 123 | msgstr "%R" 124 | 125 | #. Translators: This is a time format with full date used 126 | #. for AM/PM. 127 | #: ../libgnome-desktop/gnome-wall-clock.c:315 128 | msgid "%a %b %e, %l:%M:%S %p" 129 | msgstr "%a %b %e, %l:%M:%S %p" 130 | 131 | #: ../libgnome-desktop/gnome-wall-clock.c:316 132 | msgid "%a %b %e, %l:%M %p" 133 | msgstr "%a %b %e, %l:%M %p" 134 | 135 | #. Translators: This is a time format with day used 136 | #. for AM/PM. 137 | #: ../libgnome-desktop/gnome-wall-clock.c:320 138 | msgid "%a %l:%M:%S %p" 139 | msgstr "%a %l:%M:%S %p" 140 | 141 | #: ../libgnome-desktop/gnome-wall-clock.c:321 142 | msgid "%a %l:%M %p" 143 | msgstr "%a %H:%M" 144 | 145 | #. Translators: This is a time format without date used 146 | #. for AM/PM. 147 | #: ../libgnome-desktop/gnome-wall-clock.c:325 148 | msgid "%l:%M:%S %p" 149 | msgstr "%l:%M:%S %p" 150 | 151 | #: ../libgnome-desktop/gnome-wall-clock.c:326 152 | msgid "%l:%M %p" 153 | msgstr "%l:%M %p" 154 | -------------------------------------------------------------------------------- /po/ca@valencia.po: -------------------------------------------------------------------------------- 1 | # gnome-desktop translation to Catalan. 2 | # Copyright © 2000, 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc. 3 | # Ivan Vilata i Balaguer , 2000. 4 | # Softcatalà , 2000. 5 | # Jordi Mallach , 2002, 2003, 2004, 2005, 2007. 6 | # Gil Forcada , 2008, 2009, 2010, 2013. 7 | # 8 | msgid "" 9 | msgstr "" 10 | "Project-Id-Version: gnome-desktop 2.12.0\n" 11 | "Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" 12 | "desktop&keywords=I18N+L10N&component=general\n" 13 | "POT-Creation-Date: 2017-09-11 18:58+0000\n" 14 | "PO-Revision-Date: 2013-09-14 01:18+0200\n" 15 | "Last-Translator: Xavi Ivars \n" 16 | "Language-Team: Catalan \n" 17 | "Language: ca-valencia\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bits\n" 21 | "Plural-Forms: nplurals=2; plural=n != 1;\n" 22 | 23 | #: ../libgnome-desktop/gnome-languages.c:713 24 | msgid "Unspecified" 25 | msgstr "Sense especificar" 26 | 27 | #: ../libgnome-desktop/gnome-rr-config.c:759 28 | #, c-format 29 | msgid "CRTC %d cannot drive output %s" 30 | msgstr "la pantalla CRTC %d no pot mostrar l'eixida %s" 31 | 32 | #: ../libgnome-desktop/gnome-rr-config.c:766 33 | #, c-format 34 | msgid "output %s does not support mode %dx%d@%dHz" 35 | msgstr "l'eixida %s no pot utilitzar el mode %dx%d@%dHz" 36 | 37 | #: ../libgnome-desktop/gnome-rr-config.c:777 38 | #, c-format 39 | msgid "CRTC %d does not support rotation=%d" 40 | msgstr "la pantalla CRTC %d no permet la rotació = %d" 41 | 42 | #: ../libgnome-desktop/gnome-rr-config.c:790 43 | #, c-format 44 | msgid "" 45 | "output %s does not have the same parameters as another cloned output:\n" 46 | "existing mode = %d, new mode = %d\n" 47 | "existing coordinates = (%d, %d), new coordinates = (%d, %d)\n" 48 | "existing rotation = %d, new rotation = %d" 49 | msgstr "" 50 | "l'eixida %s no permet utilitzar els mateixos paràmetres que l'altra " 51 | "eixida clonada:\n" 52 | "el mode existent = %d, el mode nou = %d\n" 53 | "les coordenades existents = (%d, %d), les coordenades noves (%d, %d)\n" 54 | "la rotació existent = %d, la rotació nova = %d" 55 | 56 | #: ../libgnome-desktop/gnome-rr-config.c:805 57 | #, c-format 58 | msgid "cannot clone to output %s" 59 | msgstr "no s'ha pogut clonar cap a l'eixida %s" 60 | 61 | #: ../libgnome-desktop/gnome-rr-config.c:931 62 | #, c-format 63 | msgid "Trying modes for CRTC %d\n" 64 | msgstr "S'estan provant els modes per la pantalla CRTC %d\n" 65 | 66 | #: ../libgnome-desktop/gnome-rr-config.c:955 67 | #, c-format 68 | msgid "CRTC %d: trying mode %dx%d@%dHz with output at %dx%d@%dHz (pass %d)\n" 69 | msgstr "" 70 | "Pantalla CRTC %d: s'està provant el mode %dx%d@%dHz amb l'eixida a %dx%d@" 71 | "%dHz (intent %d)\n" 72 | 73 | #: ../libgnome-desktop/gnome-rr-config.c:1002 74 | #, c-format 75 | msgid "" 76 | "could not assign CRTCs to outputs:\n" 77 | "%s" 78 | msgstr "" 79 | "no s'han pogut assignar les pantalles CRTC a les eixides:\n" 80 | "%s" 81 | 82 | #: ../libgnome-desktop/gnome-rr-config.c:1006 83 | #, c-format 84 | msgid "" 85 | "none of the selected modes were compatible with the possible modes:\n" 86 | "%s" 87 | msgstr "" 88 | "cap mètode seleccionat era compatible amb els mètodes possibles:\n" 89 | "%s" 90 | 91 | #. Translators: the "requested", "minimum", and 92 | #. * "maximum" words here are not keywords; please 93 | #. * translate them as usual. 94 | #: ../libgnome-desktop/gnome-rr-config.c:1087 95 | #, c-format 96 | msgid "" 97 | "required virtual size does not fit available size: requested=(%d, %d), " 98 | "minimum=(%d, %d), maximum=(%d, %d)" 99 | msgstr "" 100 | "la mida virtual sol·licitada no s'ajusta a la mida disponible: " 101 | "sol·licitada=(%d, %d), mínima=(%d, %d), màxima=(%d, %d)" 102 | 103 | #. Translators: This is the time format with full date used 104 | #. in 24-hour mode. 105 | #: ../libgnome-desktop/gnome-wall-clock.c:274 106 | msgid "%a %b %e, %R:%S" 107 | msgstr "%a %d de %b, %R:%S" 108 | 109 | #: ../libgnome-desktop/gnome-wall-clock.c:275 110 | msgid "%a %b %e, %R" 111 | msgstr "%a %d de %b, %R" 112 | 113 | #. Translators: This is the time format with day used 114 | #. in 24-hour mode. 115 | #: ../libgnome-desktop/gnome-wall-clock.c:279 116 | msgid "%a %R:%S" 117 | msgstr "%a %R∶%S" 118 | 119 | #: ../libgnome-desktop/gnome-wall-clock.c:280 120 | msgid "%a %R" 121 | msgstr "%a %R" 122 | 123 | #. Translators: This is the time format without date used 124 | #. in 24-hour mode. 125 | #: ../libgnome-desktop/gnome-wall-clock.c:284 126 | msgid "%R:%S" 127 | msgstr "%R:%S" 128 | 129 | #: ../libgnome-desktop/gnome-wall-clock.c:284 130 | msgid "%R" 131 | msgstr "%R" 132 | 133 | #. Translators: This is a time format with full date used 134 | #. for AM/PM. 135 | #: ../libgnome-desktop/gnome-wall-clock.c:290 136 | msgid "%a %b %e, %l:%M:%S %p" 137 | msgstr "%a, %e de %b, %H:%M:%S" 138 | 139 | #: ../libgnome-desktop/gnome-wall-clock.c:291 140 | msgid "%a %b %e, %l:%M %p" 141 | msgstr "%a, %e de %b, %H:%M" 142 | 143 | #. Translators: This is a time format with day used 144 | #. for AM/PM. 145 | #: ../libgnome-desktop/gnome-wall-clock.c:295 146 | msgid "%a %l:%M:%S %p" 147 | msgstr "%a %H:%M:%S" 148 | 149 | #: ../libgnome-desktop/gnome-wall-clock.c:296 150 | msgid "%a %l:%M %p" 151 | msgstr "%a %l:%M %p" 152 | 153 | #. Translators: This is a time format without date used 154 | #. for AM/PM. 155 | #: ../libgnome-desktop/gnome-wall-clock.c:300 156 | msgid "%l:%M:%S %p" 157 | msgstr "%l:%M:%S %p" 158 | 159 | #: ../libgnome-desktop/gnome-wall-clock.c:301 160 | msgid "%l:%M %p" 161 | msgstr "%l:%M %p" 162 | -------------------------------------------------------------------------------- /po/ckb.po: -------------------------------------------------------------------------------- 1 | # Kurdish Sorani translation for gnome-desktop. 2 | # Copyright (C) 2020 gnome-desktop's COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the gnome-desktop package. 4 | # jwtiyar , 2020. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: gnome-desktop gnome-3-34\n" 9 | "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-desktop/" 10 | "issues\n" 11 | "POT-Creation-Date: 2020-01-09 03:02+0000\n" 12 | "PO-Revision-Date: 2020-01-17 02:01+0300\n" 13 | "Language-Team: Kurdish Sorani \n" 14 | "Language: ckb\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Last-Translator: Jwtiyar Nariman \n" 19 | "X-Generator: Poedit 2.2.4\n" 20 | 21 | #: libgnome-desktop/gnome-languages.c:717 22 | msgid "Unspecified" 23 | msgstr "دیارینەکراوە" 24 | 25 | #. TRANSLATORS: Used to distinguish the labels representing the gez_ER 26 | #. and gez_ET locales from gez_ER@abegede respective gez_ET@abegede. The 27 | #. difference is related to collation. 28 | #: libgnome-desktop/gnome-languages.c:1379 29 | msgid "Abegede" 30 | msgstr "" 31 | 32 | #. TRANSLATORS: Used to distinguish Cyrillic from Latin written language variants. 33 | #: libgnome-desktop/gnome-languages.c:1381 34 | msgid "Cyrillic" 35 | msgstr "سیرلیک" 36 | 37 | #. TRANSLATORS: Also known as "Nagari", a written variant for many languages 38 | #. of the Indian subcontinent. See: 39 | #. https://en.wikipedia.org/wiki/Devanagari 40 | #: libgnome-desktop/gnome-languages.c:1385 41 | msgid "Devanagari" 42 | msgstr "دێڤانگاری" 43 | 44 | #. TRANSLATORS: Used to distinguish the label representing the tt_RU 45 | #. locale from tt_RU@iqtelif. It's a special alphabet for Tatar. 46 | #: libgnome-desktop/gnome-languages.c:1388 47 | msgid "IQTElif" 48 | msgstr "IQTElif" 49 | 50 | #. TRANSLATORS: The alphabet/script, not the language. Used to distinguish 51 | #. Latin from Cyrillic written language variants. 52 | #: libgnome-desktop/gnome-languages.c:1391 53 | msgid "Latin" 54 | msgstr "لاتینی" 55 | 56 | #. TRANSLATORS: "Saho" is a variant of the Afar language. Used to 57 | #. distinguish the label representing the aa_ER locale from aa_ER@saaho. 58 | #: libgnome-desktop/gnome-languages.c:1394 59 | msgid "Saho" 60 | msgstr "ساهۆ" 61 | 62 | #. TRANSLATORS: "Valencia" is a dialect of the Catalan language spoken 63 | #. in Valencia. Used to distinguish the label representing the ca_ES 64 | #. locale from ca_ES@valencia. 65 | #: libgnome-desktop/gnome-languages.c:1398 66 | msgid "Valencia" 67 | msgstr "ڤالەنسیا" 68 | 69 | #: libgnome-desktop/gnome-rr-config.c:757 70 | #, c-format 71 | msgid "CRTC %d cannot drive output %s" 72 | msgstr "CRTC %d ناتوانێ دەرچۆکە وەگەڕبخات %s" 73 | 74 | #: libgnome-desktop/gnome-rr-config.c:764 75 | #, c-format 76 | msgid "output %s does not support mode %dx%d@%dHz" 77 | msgstr "دەرچۆکە %s پشتگیری دۆخیHz %dx%d@%d" 78 | 79 | #: libgnome-desktop/gnome-rr-config.c:775 80 | #, c-format 81 | msgid "CRTC %d does not support rotation=%d" 82 | msgstr "CRTC %d پشتگیری سوڕانەوەی= %d ناکات" 83 | 84 | #: libgnome-desktop/gnome-rr-config.c:788 85 | #, c-format 86 | msgid "" 87 | "output %s does not have the same parameters as another cloned output:\n" 88 | "existing mode = %d, new mode = %d\n" 89 | "existing coordinates = (%d, %d), new coordinates = (%d, %d)\n" 90 | "existing rotation = %d, new rotation = %d" 91 | msgstr "" 92 | 93 | #: libgnome-desktop/gnome-rr-config.c:803 94 | #, c-format 95 | msgid "cannot clone to output %s" 96 | msgstr "ناتوانرێ لەبەربگیرێتەوە بۆ دەرچۆکەکە %s" 97 | 98 | #: libgnome-desktop/gnome-rr-config.c:929 99 | #, c-format 100 | msgid "Trying modes for CRTC %d\n" 101 | msgstr "مۆدەکان تاقیبکەرەوە بۆ CRTC %d\n" 102 | 103 | #: libgnome-desktop/gnome-rr-config.c:953 104 | #, c-format 105 | msgid "" 106 | "CRTC %d: trying mode %dx%d@%dHz with output at %dx%d@%dHz (pass %d)\n" 107 | msgstr "" 108 | 109 | #: libgnome-desktop/gnome-rr-config.c:1000 110 | #, c-format 111 | msgid "" 112 | "could not assign CRTCs to outputs:\n" 113 | "%s" 114 | msgstr "" 115 | 116 | #: libgnome-desktop/gnome-rr-config.c:1004 117 | #, c-format 118 | msgid "" 119 | "none of the selected modes were compatible with the possible modes:\n" 120 | "%s" 121 | msgstr "" 122 | 123 | #. Translators: the "requested", "minimum", and 124 | #. * "maximum" words here are not keywords; please 125 | #. * translate them as usual. 126 | #: libgnome-desktop/gnome-rr-config.c:1085 127 | #, c-format 128 | msgid "" 129 | "required virtual size does not fit available size: requested=(%d, %d), " 130 | "minimum=(%d, %d), maximum=(%d, %d)" 131 | msgstr "" 132 | 133 | #. Translators: This is the time format with full date 134 | #. plus day used in 24-hour mode. Please keep the under- 135 | #. score to separate the date from the time. 136 | #: libgnome-desktop/gnome-wall-clock.c:330 137 | msgid "%a %b %-e_%R:%S" 138 | msgstr "%a %b %-e_%R:%S" 139 | 140 | #: libgnome-desktop/gnome-wall-clock.c:331 141 | msgid "%a %b %-e_%R" 142 | msgstr "%a %b %-e_%R" 143 | 144 | #. Translators: This is the time format with full date 145 | #. used in 24-hour mode. Please keep the underscore to 146 | #. separate the date from the time. 147 | #: libgnome-desktop/gnome-wall-clock.c:336 148 | msgid "%b %-e_%R:%S" 149 | msgstr "%b %-e_%R:%S" 150 | 151 | #: libgnome-desktop/gnome-wall-clock.c:337 152 | msgid "%b %-e_%R" 153 | msgstr "%b %-e_%R" 154 | 155 | #. Translators: This is the time format with day used 156 | #. in 24-hour mode. 157 | #: libgnome-desktop/gnome-wall-clock.c:341 158 | msgid "%a %R:%S" 159 | msgstr "%a %R:%S" 160 | 161 | #: libgnome-desktop/gnome-wall-clock.c:342 162 | msgid "%a %R" 163 | msgstr "%a %R" 164 | 165 | #. Translators: This is the time format without date used 166 | #. in 24-hour mode. 167 | #: libgnome-desktop/gnome-wall-clock.c:346 168 | msgid "%R:%S" 169 | msgstr "%R:%S" 170 | 171 | #: libgnome-desktop/gnome-wall-clock.c:347 172 | msgid "%R" 173 | msgstr "%R" 174 | 175 | #. Translators: This is a time format with full date 176 | #. plus day used for AM/PM. Please keep the under- 177 | #. score to separate the date from the time. 178 | #: libgnome-desktop/gnome-wall-clock.c:355 179 | msgid "%a %b %-e_%l:%M:%S %p" 180 | msgstr "%a %b %-e_%l:%M:%S %p" 181 | 182 | #: libgnome-desktop/gnome-wall-clock.c:356 183 | msgid "%a %b %-e_%l:%M %p" 184 | msgstr "%a %b %-e_%l:%M %p" 185 | 186 | #. Translators: This is a time format with full date 187 | #. used for AM/PM. Please keep the underscore to 188 | #. separate the date from the time. 189 | #: libgnome-desktop/gnome-wall-clock.c:361 190 | msgid "%b %-e_%l:%M:%S %p" 191 | msgstr "%b %-e_%l:%M:%S %p" 192 | 193 | #: libgnome-desktop/gnome-wall-clock.c:362 194 | msgid "%b %-e_%l:%M %p" 195 | msgstr "%b %-e_%l:%M %p" 196 | 197 | #. Translators: This is a time format with day used 198 | #. for AM/PM. 199 | #: libgnome-desktop/gnome-wall-clock.c:366 200 | msgid "%a %l:%M:%S %p" 201 | msgstr "%a %l:%M:%S %p" 202 | 203 | #: libgnome-desktop/gnome-wall-clock.c:367 204 | msgid "%a %l:%M %p" 205 | msgstr "%a %l:%M %p" 206 | 207 | #. Translators: This is a time format without date used 208 | #. for AM/PM. 209 | #: libgnome-desktop/gnome-wall-clock.c:371 210 | msgid "%l:%M:%S %p" 211 | msgstr "%l:%M:%S %p" 212 | 213 | #: libgnome-desktop/gnome-wall-clock.c:372 214 | msgid "%l:%M %p" 215 | msgstr "%l:%M %p" 216 | -------------------------------------------------------------------------------- /po/csb.po: -------------------------------------------------------------------------------- 1 | # Kashubian translation for gnome-desktop 2 | # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 3 | # This file is distributed under the same license as the gnome-desktop package. 4 | # FIRST AUTHOR , 2011. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: gnome-desktop\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2012-04-16 19:06+0200\n" 11 | "PO-Revision-Date: 2011-11-02 09:16+0000\n" 12 | "Last-Translator: Yurek Hinz \n" 13 | "Language-Team: Kashubian \n" 14 | "Language: csb\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | 19 | #. Translators: "Unknown" here is used to identify a monitor for which 20 | #. * we don't know the vendor. When a vendor is known, the name of the 21 | #. * vendor is used. 22 | #: ../libgnome-desktop/display-name.c:67 23 | msgctxt "Monitor vendor" 24 | msgid "Unknown" 25 | msgstr "Nieznóné" 26 | 27 | #: ../libgnome-desktop/gnome-desktop-utils.c:134 28 | msgid "Cannot find a terminal, using xterm, even if it may not work" 29 | msgstr "" 30 | "Ni mòże nalézc terminalu, bãdze brékòwóny xterm, ten równak mòże " 31 | "fùnkcjonowac ze zmiłkama." 32 | 33 | #. Translators: a CRTC is a CRT Controller (this is X terminology). 34 | #: ../libgnome-desktop/gnome-rr.c:451 35 | #, c-format 36 | msgid "could not get the screen resources (CRTCs, outputs, modes)" 37 | msgstr "ni mòże dobëc dostónków ekranu (CRTC, wińdzeniów, tribów)" 38 | 39 | #: ../libgnome-desktop/gnome-rr.c:471 40 | #, c-format 41 | msgid "unhandled X error while getting the range of screen sizes" 42 | msgstr "nieòbsłëgiwónô fela X przë ùzwëskaniu òbjimù miarë ekranu" 43 | 44 | #: ../libgnome-desktop/gnome-rr.c:477 45 | #, c-format 46 | msgid "could not get the range of screen sizes" 47 | msgstr "ni mòże dobëc òbjimù miarë ekranu" 48 | 49 | #: ../libgnome-desktop/gnome-rr.c:768 50 | #, c-format 51 | msgid "RANDR extension is not present" 52 | msgstr "rozszérzenié RANDR nie je przistãpné" 53 | 54 | #: ../libgnome-desktop/gnome-rr.c:1569 55 | #, c-format 56 | msgid "could not get information about output %d" 57 | msgstr "ni mòże dobëc wëdowiédzë ò wińdzenim %d" 58 | 59 | #. Translators: the "position", "size", and "maximum" 60 | #. * words here are not keywords; please translate them 61 | #. * as usual. A CRTC is a CRT Controller (this is X terminology) 62 | #: ../libgnome-desktop/gnome-rr.c:2129 63 | #, c-format 64 | msgid "" 65 | "requested position/size for CRTC %d is outside the allowed limit: position=" 66 | "(%d, %d), size=(%d, %d), maximum=(%d, %d)" 67 | msgstr "" 68 | "żądóné pòłożenié/miara dlô CRTC %d nachôdô sã bùten zezwòlonegò limitu: " 69 | "pòłożenié=(%d, %d), miara=(%d, %d), maksymalno=(%d, %d)" 70 | 71 | #: ../libgnome-desktop/gnome-rr.c:2165 72 | #, c-format 73 | msgid "could not set the configuration for CRTC %d" 74 | msgstr "ni mòże nastôwic kònfigùracji dlô CRTC %d" 75 | 76 | #: ../libgnome-desktop/gnome-rr.c:2310 77 | #, c-format 78 | msgid "could not get information about CRTC %d" 79 | msgstr "ni mòże dobëc wëdowiédzë ò CRTC %d" 80 | 81 | #: ../libgnome-desktop/gnome-rr-config.c:553 82 | msgid "Laptop" 83 | msgstr "Laptop" 84 | 85 | #: ../libgnome-desktop/gnome-rr-config.c:708 86 | #, c-format 87 | msgid "" 88 | "none of the saved display configurations matched the active configuration" 89 | msgstr "" 90 | "Żôdnô z zapisónëch ùstôwów wëskrzënianiô nie pasëje do aktiwny kònfigùracji" 91 | 92 | #: ../libgnome-desktop/gnome-rr-config.c:1477 93 | #, c-format 94 | msgid "CRTC %d cannot drive output %s" 95 | msgstr "CRTC %d ni mòże òbsłëżëc wińdzeniô %s" 96 | 97 | #: ../libgnome-desktop/gnome-rr-config.c:1484 98 | #, c-format 99 | msgid "output %s does not support mode %dx%d@%dHz" 100 | msgstr "wińdzenié %s nie òbsługùje tribù %dx%d@%dHz" 101 | 102 | #: ../libgnome-desktop/gnome-rr-config.c:1495 103 | #, c-format 104 | msgid "CRTC %d does not support rotation=%s" 105 | msgstr "CRTC %d nie òbsługùje rotatcjô =%s" 106 | 107 | #: ../libgnome-desktop/gnome-rr-config.c:1509 108 | #, c-format 109 | msgid "" 110 | "output %s does not have the same parameters as another cloned output:\n" 111 | "existing mode = %d, new mode = %d\n" 112 | "existing coordinates = (%d, %d), new coordinates = (%d, %d)\n" 113 | "existing rotation = %s, new rotation = %s" 114 | msgstr "" 115 | "wińdzenié %s ni mô taczich sómëch parametrów co jiné sklónowóné wińdzenié:\n" 116 | "òbstójny trib = %d, new mode = %d\n" 117 | "òbstójné wespółrzãdné = (%d, %d), nowé wespółrzãdné = (%d, %d) \n" 118 | "òbstójnô rotacjô = %s, nowô rotacjô = %s" 119 | 120 | #: ../libgnome-desktop/gnome-rr-config.c:1524 121 | #, c-format 122 | msgid "cannot clone to output %s" 123 | msgstr "ni mòże sklonwac ë sélac do weńdzeniô %s" 124 | 125 | #: ../libgnome-desktop/gnome-rr-config.c:1693 126 | #, c-format 127 | msgid "Trying modes for CRTC %d\n" 128 | msgstr "Próbùje tribë dlô CRTC %d\n" 129 | 130 | #: ../libgnome-desktop/gnome-rr-config.c:1717 131 | #, c-format 132 | msgid "CRTC %d: trying mode %dx%d@%dHz with output at %dx%d@%dHz (pass %d)\n" 133 | msgstr "" 134 | "CRTC %d: próbùje trib %dx%d@%dHz z wińdzenim %dx%d@%dHz (przepùst %d)\n" 135 | 136 | #: ../libgnome-desktop/gnome-rr-config.c:1764 137 | #, c-format 138 | msgid "" 139 | "could not assign CRTCs to outputs:\n" 140 | "%s" 141 | msgstr "" 142 | "ni mógł przëpisac CRTC to wińdzeniów:\n" 143 | "%s" 144 | 145 | #: ../libgnome-desktop/gnome-rr-config.c:1768 146 | #, c-format 147 | msgid "" 148 | "none of the selected modes were compatible with the possible modes:\n" 149 | "%s" 150 | msgstr "" 151 | "żóden z wëbrónëch tribów nie robi z przistãpnyma tribama:\n" 152 | "%s" 153 | 154 | #. Translators: the "requested", "minimum", and 155 | #. * "maximum" words here are not keywords; please 156 | #. * translate them as usual. 157 | #: ../libgnome-desktop/gnome-rr-config.c:1850 158 | #, c-format 159 | msgid "" 160 | "required virtual size does not fit available size: requested=(%d, %d), " 161 | "minimum=(%d, %d), maximum=(%d, %d)" 162 | msgstr "" 163 | "wirtualnô miara, jaczi je nót, nie pasëje do przëstãpny miarë: nót=(%d, %d), " 164 | "minimalno=(%d, %d), maksymalno=(%d, %d)" 165 | 166 | #. Keep this string in sync with gnome-control-center/capplets/display/xrandr-capplet.c:get_display_name() 167 | #. Translators: this is the feature where what you see on your laptop's 168 | #. * screen is the same as your external monitor. Here, "Mirror" is being 169 | #. * used as an adjective, not as a verb. For example, the Spanish 170 | #. * translation could be "Pantallas en Espejo", *not* "Espejar Pantallas". 171 | #. 172 | #: ../libgnome-desktop/gnome-rr-labeler.c:312 173 | msgid "Mirror Screens" 174 | msgstr "Zwielokrotnianié ekranu" 175 | 176 | #. Translators: This is the time format with date used 177 | #. in 24-hour mode. 178 | #: ../libgnome-desktop/gnome-wall-clock.c:195 179 | msgid "%a %b %e, %R:%S" 180 | msgstr "%a %b %e, %R:%S" 181 | 182 | #: ../libgnome-desktop/gnome-wall-clock.c:196 183 | msgid "%a %b %e, %R" 184 | msgstr "%a %b %e, %R" 185 | 186 | #. Translators: This is the time format without date used 187 | #. in 24-hour mode. 188 | #: ../libgnome-desktop/gnome-wall-clock.c:200 189 | msgid "%a %R:%S" 190 | msgstr "%a %R:%S" 191 | 192 | #: ../libgnome-desktop/gnome-wall-clock.c:201 193 | msgid "%a %R" 194 | msgstr "%a %R" 195 | 196 | #. Translators: This is a time format with date used 197 | #. for AM/PM. 198 | #: ../libgnome-desktop/gnome-wall-clock.c:206 199 | msgid "%a %b %e, %l:%M:%S %p" 200 | msgstr "%a %e %b, %l:%M:%S %p" 201 | 202 | #: ../libgnome-desktop/gnome-wall-clock.c:207 203 | msgid "%a %b %e, %l:%M %p" 204 | msgstr "%a %e %b, %l:%M %p" 205 | 206 | #. Translators: This is a time format without date used 207 | #. for AM/PM. 208 | #: ../libgnome-desktop/gnome-wall-clock.c:211 209 | msgid "%a %l:%M:%S %p" 210 | msgstr "%a, %l:%M:%S %p" 211 | 212 | #: ../libgnome-desktop/gnome-wall-clock.c:212 213 | msgid "%a %l:%M %p" 214 | msgstr "%a, %l:%M %p" 215 | -------------------------------------------------------------------------------- /po/en.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: gnome-desktop\n" 4 | "Report-Msgid-Bugs-To: \n" 5 | "POT-Creation-Date: 2013-03-31 19:28+0100\n" 6 | "PO-Revision-Date: 2012-03-31 19:30+0100\n" 7 | "Last-Translator: Matthias Clasen \n" 8 | "Language-Team: English \n" 9 | "Language: en\n" 10 | "MIME-Version: 1.0\n" 11 | "Content-Type: text/plain; charset=UTF-8\n" 12 | "Content-Transfer-Encoding: 8bit\n" 13 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 14 | "X-Project-Style: gnome\n" 15 | 16 | #. Translators: This is the time format with full date used 17 | #. in 24-hour mode. 18 | #: ../libgnome-desktop/gnome-wall-clock.c:238 19 | msgid "%a %b %e, %R:%S" 20 | msgstr "%a %b %e, %H∶%M∶%S" 21 | 22 | #: ../libgnome-desktop/gnome-wall-clock.c:239 23 | msgid "%a %b %e, %R" 24 | msgstr "%a %b %e, %H∶%M" 25 | 26 | #. Translators: This is the time format with day used 27 | #. in 24-hour mode. 28 | #: ../libgnome-desktop/gnome-wall-clock.c:243 29 | msgid "%a %R:%S" 30 | msgstr "%a %H∶%M∶%S" 31 | 32 | #: ../libgnome-desktop/gnome-wall-clock.c:244 33 | msgid "%a %R" 34 | msgstr "%a %H∶%M" 35 | 36 | #. Translators: This is the time format without date used 37 | #. in 24-hour mode. 38 | #: ../libgnome-desktop/gnome-wall-clock.c:248 39 | msgid "%R:%S" 40 | msgstr "%H∶%M∶%S" 41 | 42 | #: ../libgnome-desktop/gnome-wall-clock.c:248 43 | msgid "%R" 44 | msgstr "%H∶%M" 45 | 46 | #. Translators: This is a time format with full date used 47 | #. for AM/PM. 48 | #: ../libgnome-desktop/gnome-wall-clock.c:254 49 | msgid "%a %b %e, %l:%M:%S %p" 50 | msgstr "%a %b %e, %l∶%M∶%S %p" 51 | 52 | #: ../libgnome-desktop/gnome-wall-clock.c:255 53 | msgid "%a %b %e, %l:%M %p" 54 | msgstr "%a %b %e, %l∶%M %p" 55 | 56 | #. Translators: This is a time format with day used 57 | #. for AM/PM. 58 | #: ../libgnome-desktop/gnome-wall-clock.c:259 59 | msgid "%a %l:%M:%S %p" 60 | msgstr "%a %l∶%M∶%S %p" 61 | 62 | #: ../libgnome-desktop/gnome-wall-clock.c:260 63 | msgid "%a %l:%M %p" 64 | msgstr "%a %l∶%M %p" 65 | 66 | #. Translators: This is a time format without date used 67 | #. for AM/PM. 68 | #: ../libgnome-desktop/gnome-wall-clock.c:264 69 | msgid "%l:%M:%S %p" 70 | msgstr "%l∶%M∶%S %p" 71 | 72 | #: ../libgnome-desktop/gnome-wall-clock.c:265 73 | msgid "%l:%M %p" 74 | msgstr "%l∶%M %p" 75 | -------------------------------------------------------------------------------- /po/et.po: -------------------------------------------------------------------------------- 1 | # GNOME-desktop'i eesti keele tõlge. 2 | # Estonian translation of GNOME-desktop. 3 | # 4 | # Copyright (C) 1999-2006 Free Software Foundation, Inc. 5 | # Copyright (C) 2007-2010 The GNOME Project. 6 | # This file is distributed under the same license as the gnome-desktop package. 7 | # 8 | # Lauris Kaplinski , 1999. 9 | # Ilmar Kerm , 2001, 2002. 10 | # Tõivo Leedjärv , 2002, 2003. 11 | # Priit Laes , 2004-2006. 12 | # Ivar Smolin , 2005-2010. 13 | # Mattias Põldaru , 2012, 2013. 14 | # 15 | msgid "" 16 | msgstr "" 17 | "Project-Id-Version: gnome-desktop HEAD\n" 18 | "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" 19 | "desktop&keywords=I18N+L10N&component=general\n" 20 | "POT-Creation-Date: 2013-09-20 19:07+0000\n" 21 | "PO-Revision-Date: 2013-09-21 10:04+0300\n" 22 | "Last-Translator: Mattias Põldaru \n" 23 | "Language-Team: Estonian <>\n" 24 | "Language: et\n" 25 | "MIME-Version: 1.0\n" 26 | "Content-Type: text/plain; charset=UTF-8\n" 27 | "Content-Transfer-Encoding: 8bit\n" 28 | "Plural-Forms: nplurals=2; plural=(n!=1);\n" 29 | "X-Generator: Poedit 1.5.4\n" 30 | 31 | msgid "Unspecified" 32 | msgstr "Määramata" 33 | 34 | #, c-format 35 | msgid "CRTC %d cannot drive output %s" 36 | msgstr "CRTC %d ei suuda juhtida väljundit %s" 37 | 38 | #, c-format 39 | msgid "output %s does not support mode %dx%d@%dHz" 40 | msgstr "väljund %s ei toeta režiimi %dx%d@%dHz" 41 | 42 | #, c-format 43 | msgid "CRTC %d does not support rotation=%d" 44 | msgstr "CRTC %d ei toeta pöördenurka=%d" 45 | 46 | #, c-format 47 | msgid "" 48 | "output %s does not have the same parameters as another cloned output:\n" 49 | "existing mode = %d, new mode = %d\n" 50 | "existing coordinates = (%d, %d), new coordinates = (%d, %d)\n" 51 | "existing rotation = %d, new rotation = %d" 52 | msgstr "" 53 | "väljundil %s ei ole samad parameetrid nagu teisel kloonitud väljundil:\n" 54 | "praegune režiim = %d, uus režiim = %d\n" 55 | "praegused koordinaadid = (%d, %d), uued koordinaadid = (%d, %d)\n" 56 | "praegune pöördenurk = %d, uus pöördenurk %d" 57 | 58 | #, c-format 59 | msgid "cannot clone to output %s" 60 | msgstr "pole võimalik väljundisse %s kloonida" 61 | 62 | #, c-format 63 | msgid "Trying modes for CRTC %d\n" 64 | msgstr "CRTC %d režiimide proovimine\n" 65 | 66 | # või peaks pass tõlkima kui läbilase või tiir? 67 | # päris tõlkimata vist ka ei saa jätta 68 | #, c-format 69 | msgid "CRTC %d: trying mode %dx%d@%dHz with output at %dx%d@%dHz (pass %d)\n" 70 | msgstr "" 71 | "CRTC %d: režiimi %dx%d@%dHz proovimine väljundiga %dx%d@%dHz (käik %d)\n" 72 | 73 | #, c-format 74 | msgid "" 75 | "could not assign CRTCs to outputs:\n" 76 | "%s" 77 | msgstr "" 78 | "CRTC-sid pole võimalik väljunditele määrata:\n" 79 | "%s" 80 | 81 | #, c-format 82 | msgid "" 83 | "none of the selected modes were compatible with the possible modes:\n" 84 | "%s" 85 | msgstr "" 86 | "ükski valitud režiimidest ei sobi võimalikega:\n" 87 | "%s" 88 | 89 | #. Translators: the "requested", "minimum", and 90 | #. * "maximum" words here are not keywords; please 91 | #. * translate them as usual. 92 | #, c-format 93 | msgid "" 94 | "required virtual size does not fit available size: requested=(%d, %d), " 95 | "minimum=(%d, %d), maximum=(%d, %d)" 96 | msgstr "" 97 | "vajalik virtuaalsuurus ei sobi saadaoleva suurusega: küsitud suurus=(%d, " 98 | "%d), vähim=(%d, %d), suurim=(%d, %d)" 99 | 100 | #. Translators: This is the time format with full date used 101 | #. in 24-hour mode. 102 | msgid "%a %b %e, %R:%S" 103 | msgstr "%a, %e. %b, %R:%S" 104 | 105 | msgid "%a %b %e, %R" 106 | msgstr "%a, %e. %b, %R" 107 | 108 | #. Translators: This is the time format with day used 109 | #. in 24-hour mode. 110 | msgid "%a %R:%S" 111 | msgstr "%a %R:%S" 112 | 113 | msgid "%a %R" 114 | msgstr "%a %R" 115 | 116 | #. Translators: This is the time format without date used 117 | #. in 24-hour mode. 118 | msgid "%R:%S" 119 | msgstr "%R:%S" 120 | 121 | msgid "%R" 122 | msgstr "%R" 123 | 124 | #. Translators: This is a time format with full date used 125 | #. for AM/PM. 126 | msgid "%a %b %e, %l:%M:%S %p" 127 | msgstr "%a, %e. %b, %l:%M:%S %p" 128 | 129 | msgid "%a %b %e, %l:%M %p" 130 | msgstr "%a, %e. %b, %l:%M %p" 131 | 132 | #. Translators: This is a time format with day used 133 | #. for AM/PM. 134 | msgid "%a %l:%M:%S %p" 135 | msgstr "%a %l:%M:%S %p" 136 | 137 | msgid "%a %l:%M %p" 138 | msgstr "%a %l:%M %p" 139 | 140 | #. Translators: This is a time format without date used 141 | #. for AM/PM. 142 | msgid "%l:%M:%S %p" 143 | msgstr "%l:%M:%S %p" 144 | 145 | msgid "%l:%M %p" 146 | msgstr "%l:%M %p" 147 | 148 | #~ msgctxt "Monitor vendor" 149 | #~ msgid "Unknown" 150 | #~ msgstr "Tundmatu" 151 | 152 | #~ msgid "could not get the screen resources (CRTCs, outputs, modes)" 153 | #~ msgstr "" 154 | #~ "ekraani ressursse (CRTC-d, väljundeid, režiime) pole võimalik hankida" 155 | 156 | #~ msgid "unhandled X error while getting the range of screen sizes" 157 | #~ msgstr "X-serveri käsitlematu viga ekraanisuuruste vahemiku hankimisel" 158 | 159 | #~ msgid "could not get the range of screen sizes" 160 | #~ msgstr "ekraanisuuruste vahemikku pole võimalik hankida" 161 | 162 | #~ msgid "RANDR extension is not present" 163 | #~ msgstr "RANRD-laiendus pole saadaval" 164 | 165 | #~ msgid "could not get information about output %d" 166 | #~ msgstr "väljundi %d kohta pole võimalik teavet hankida" 167 | 168 | #~ msgid "Built-in Display" 169 | #~ msgstr "Sisseehitatud ekraan" 170 | 171 | #~ msgid "%s Display" 172 | #~ msgstr "%s ekraan" 173 | 174 | #~ msgid "Unknown Display" 175 | #~ msgstr "Tundmatu ekraan" 176 | 177 | #~ msgid "" 178 | #~ "requested position/size for CRTC %d is outside the allowed limit: " 179 | #~ "position=(%d, %d), size=(%d, %d), maximum=(%d, %d)" 180 | #~ msgstr "" 181 | #~ "CRTC %d jaoks määratud asukoht või suurus ületab lubatud piire: asukoht=" 182 | #~ "(%d, %d), suurus=(%d, %d), suurim=(%d, %d)" 183 | 184 | #~ msgid "could not set the configuration for CRTC %d" 185 | #~ msgstr "CRTC %d jaoks pole võimalik sätteid määrata" 186 | 187 | #~ msgid "could not get information about CRTC %d" 188 | #~ msgstr "CRTC %d kohta pole võimalik teavet hankida" 189 | 190 | #~ msgid "" 191 | #~ "none of the saved display configurations matched the active configuration" 192 | #~ msgstr "" 193 | #~ "salvestatud kuvasätete hulgast ei sobi aktiivsete sätetega mitte ükski" 194 | 195 | #~ msgid "%a %b %e, %R∶%S" 196 | #~ msgstr "%a, %e. %b, %R∶%S" 197 | 198 | #~ msgid "%R∶%S" 199 | #~ msgstr "%R∶%S" 200 | 201 | #~ msgid "%a %l∶%M∶%S %p" 202 | #~ msgstr "%a %l∶%M∶%S %p" 203 | 204 | #~ msgid "%a %l∶%M %p" 205 | #~ msgstr "%a %l∶%M %p" 206 | 207 | #~ msgid "%l∶%M∶%S %p" 208 | #~ msgstr "%l∶%M∶%S %p" 209 | 210 | #~ msgid "%l∶%M %p" 211 | #~ msgstr "%l∶%M %p" 212 | 213 | #~ msgid "Cannot find a terminal, using xterm, even if it may not work" 214 | #~ msgstr "" 215 | #~ "Terminali pole võimalik leida, kasutatakse xtermi, isegi juhul, kui see " 216 | #~ "ei pruugi töötada" 217 | 218 | #~ msgid "Laptop" 219 | #~ msgstr "Sülearvuti" 220 | 221 | #~ msgid "Mirrored Displays" 222 | #~ msgstr "Kuvad on peegeldatud" 223 | -------------------------------------------------------------------------------- /po/ga.po: -------------------------------------------------------------------------------- 1 | # Irish translations for gnome-desktop package. 2 | # Copyright (C) 2000-2009 Free Software Foundation, Inc. 3 | # This file is distributed under the same license as the gnome-desktop package. 4 | # Seán Ó Ceallaigh , 2000. 5 | # Paul Duffy , 2003. 6 | # Seán de Búrca , 2007-2013. 7 | # 8 | msgid "" 9 | msgstr "" 10 | "Project-Id-Version: gnome-desktop.master\n" 11 | "Report-Msgid-Bugs-To: \n" 12 | "POT-Creation-Date: 2013-08-16 01:59-0600\n" 13 | "PO-Revision-Date: 2013-08-16 02:04-0600\n" 14 | "Last-Translator: Seán de Búrca \n" 15 | "Language-Team: Irish \n" 16 | "Language: ga\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=UTF-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : " 21 | "4;\n" 22 | 23 | #. Translators: "Unknown" here is used to identify a monitor for which 24 | #. * we don't know the vendor. When a vendor is known, the name of the 25 | #. * vendor is used. 26 | #: ../libgnome-desktop/display-name.c:107 27 | msgctxt "Monitor vendor" 28 | msgid "Unknown" 29 | msgstr "Anaithnid" 30 | 31 | #: ../libgnome-desktop/gnome-languages.c:804 32 | msgid "Unspecified" 33 | msgstr "Gan sonrú" 34 | 35 | #. Translators: a CRTC is a CRT Controller (this is X terminology). 36 | #: ../libgnome-desktop/gnome-rr.c:452 37 | #, c-format 38 | msgid "could not get the screen resources (CRTCs, outputs, modes)" 39 | msgstr "níorbh fhéidir acmhainní an scáileáin a fháil (CRTCanna, aschur, móid)" 40 | 41 | #: ../libgnome-desktop/gnome-rr.c:472 42 | #, c-format 43 | msgid "unhandled X error while getting the range of screen sizes" 44 | msgstr "earráid X gan láimhseáil agus raon méideanna scáileáin á fháil" 45 | 46 | #: ../libgnome-desktop/gnome-rr.c:478 47 | #, c-format 48 | msgid "could not get the range of screen sizes" 49 | msgstr "níorbh fhéidir raon méideanna scáileáin a fháil" 50 | 51 | #: ../libgnome-desktop/gnome-rr.c:769 52 | #, c-format 53 | msgid "RANDR extension is not present" 54 | msgstr "níl an eisínteacht RANDR ann" 55 | 56 | #: ../libgnome-desktop/gnome-rr.c:1580 57 | #, c-format 58 | msgid "could not get information about output %d" 59 | msgstr "níorbh fhéidir eolas a fháil faoi aschur %d" 60 | 61 | #: ../libgnome-desktop/gnome-rr.c:1764 62 | msgid "Built-in Display" 63 | msgstr "Taispeáint Ionsuite" 64 | 65 | #. Translators: %s is the size of the monitor in inches 66 | #: ../libgnome-desktop/gnome-rr.c:1782 67 | #, c-format 68 | msgid "%s Display" 69 | msgstr "Taispeáint %s" 70 | 71 | #: ../libgnome-desktop/gnome-rr.c:1789 72 | msgid "Unknown Display" 73 | msgstr "Taispeáint Anaithnid" 74 | 75 | #. Translators: the "position", "size", and "maximum" 76 | #. * words here are not keywords; please translate them 77 | #. * as usual. A CRTC is a CRT Controller (this is X terminology) 78 | #: ../libgnome-desktop/gnome-rr.c:2234 79 | #, c-format 80 | msgid "" 81 | "requested position/size for CRTC %d is outside the allowed limit: " 82 | "position=(%d, %d), size=(%d, %d), maximum=(%d, %d)" 83 | msgstr "" 84 | "tá an ionad/mhéid iarrtha don CRTC %d lasmuigh den teorainn ceadaithe: " 85 | "ionad=(%d, %d), méid=(%d, %d), uasta=(%d, %d)" 86 | 87 | #: ../libgnome-desktop/gnome-rr.c:2268 88 | #, c-format 89 | msgid "could not set the configuration for CRTC %d" 90 | msgstr "níorbh fhéidir an chumraíocht a shocrú do CRTC %d" 91 | 92 | #: ../libgnome-desktop/gnome-rr.c:2422 93 | #, c-format 94 | msgid "could not get information about CRTC %d" 95 | msgstr "níorbh fhéidir eolas a fháil faoi CRTC %d" 96 | 97 | #: ../libgnome-desktop/gnome-rr-config.c:708 98 | #, c-format 99 | msgid "" 100 | "none of the saved display configurations matched the active configuration" 101 | msgstr "" 102 | "ní raibh aon ag na cumraíochtaí taispeána sábháilte comhoiriúnach don " 103 | "chumraíocht ghníomhach" 104 | 105 | #: ../libgnome-desktop/gnome-rr-config.c:1464 106 | #, c-format 107 | msgid "CRTC %d cannot drive output %s" 108 | msgstr "" 109 | 110 | #: ../libgnome-desktop/gnome-rr-config.c:1471 111 | #, c-format 112 | msgid "output %s does not support mode %dx%d@%dHz" 113 | msgstr "" 114 | 115 | #: ../libgnome-desktop/gnome-rr-config.c:1482 116 | #, c-format 117 | msgid "CRTC %d does not support rotation=%s" 118 | msgstr "" 119 | 120 | #: ../libgnome-desktop/gnome-rr-config.c:1496 121 | #, c-format 122 | msgid "" 123 | "output %s does not have the same parameters as another cloned output:\n" 124 | "existing mode = %d, new mode = %d\n" 125 | "existing coordinates = (%d, %d), new coordinates = (%d, %d)\n" 126 | "existing rotation = %s, new rotation = %s" 127 | msgstr "" 128 | 129 | #: ../libgnome-desktop/gnome-rr-config.c:1511 130 | #, c-format 131 | msgid "cannot clone to output %s" 132 | msgstr "" 133 | 134 | #: ../libgnome-desktop/gnome-rr-config.c:1680 135 | #, c-format 136 | msgid "Trying modes for CRTC %d\n" 137 | msgstr "" 138 | 139 | #: ../libgnome-desktop/gnome-rr-config.c:1704 140 | #, c-format 141 | msgid "CRTC %d: trying mode %dx%d@%dHz with output at %dx%d@%dHz (pass %d)\n" 142 | msgstr "" 143 | 144 | #: ../libgnome-desktop/gnome-rr-config.c:1751 145 | #, c-format 146 | msgid "" 147 | "could not assign CRTCs to outputs:\n" 148 | "%s" 149 | msgstr "" 150 | 151 | #: ../libgnome-desktop/gnome-rr-config.c:1755 152 | #, c-format 153 | msgid "" 154 | "none of the selected modes were compatible with the possible modes:\n" 155 | "%s" 156 | msgstr "" 157 | 158 | #. Translators: the "requested", "minimum", and 159 | #. * "maximum" words here are not keywords; please 160 | #. * translate them as usual. 161 | #: ../libgnome-desktop/gnome-rr-config.c:1833 162 | #, c-format 163 | msgid "" 164 | "required virtual size does not fit available size: requested=(%d, %d), " 165 | "minimum=(%d, %d), maximum=(%d, %d)" 166 | msgstr "" 167 | "ní oiriúnaíonn an mhéid fhíorúil riachtanach an mhéid atá le fáil: " 168 | "iarrtha=(%d, %d), íosta=(%d, %d), uasta=(%d, %d)" 169 | 170 | #. Translators: This is the time format with full date used 171 | #. in 24-hour mode. 172 | #: ../libgnome-desktop/gnome-wall-clock.c:270 173 | msgid "%a %b %e, %R:%S" 174 | msgstr "%a %e %b, %R:%S" 175 | 176 | #: ../libgnome-desktop/gnome-wall-clock.c:271 177 | msgid "%a %b %e, %R" 178 | msgstr "%a %e %b, %R" 179 | 180 | #. Translators: This is the time format with day used 181 | #. in 24-hour mode. 182 | #: ../libgnome-desktop/gnome-wall-clock.c:275 183 | msgid "%a %R:%S" 184 | msgstr "%a %R:%S" 185 | 186 | #: ../libgnome-desktop/gnome-wall-clock.c:276 187 | msgid "%a %R" 188 | msgstr "%a %R" 189 | 190 | #. Translators: This is the time format without date used 191 | #. in 24-hour mode. 192 | #: ../libgnome-desktop/gnome-wall-clock.c:280 193 | msgid "%R:%S" 194 | msgstr "%R:%S" 195 | 196 | #: ../libgnome-desktop/gnome-wall-clock.c:280 197 | msgid "%R" 198 | msgstr "%R" 199 | 200 | #. Translators: This is a time format with full date used 201 | #. for AM/PM. 202 | #: ../libgnome-desktop/gnome-wall-clock.c:286 203 | msgid "%a %b %e, %l:%M:%S %p" 204 | msgstr "%a %e %b, %l:%M:%S %p" 205 | 206 | #: ../libgnome-desktop/gnome-wall-clock.c:287 207 | msgid "%a %b %e, %l:%M %p" 208 | msgstr "%a %e %b, %l:%M %p" 209 | 210 | #. Translators: This is a time format with day used 211 | #. for AM/PM. 212 | #: ../libgnome-desktop/gnome-wall-clock.c:291 213 | msgid "%a %l:%M:%S %p" 214 | msgstr "%a %l:%M:%S %p" 215 | 216 | #: ../libgnome-desktop/gnome-wall-clock.c:292 217 | msgid "%a %l:%M %p" 218 | msgstr "%a %l:%M %p" 219 | 220 | #. Translators: This is a time format without date used 221 | #. for AM/PM. 222 | #: ../libgnome-desktop/gnome-wall-clock.c:296 223 | msgid "%l:%M:%S %p" 224 | msgstr "%l:%M:%S %p" 225 | 226 | #: ../libgnome-desktop/gnome-wall-clock.c:297 227 | msgid "%l:%M %p" 228 | msgstr "%l:%M %p" 229 | -------------------------------------------------------------------------------- /po/km.po: -------------------------------------------------------------------------------- 1 | # translation of gnome-desktop.master.po to Khmer 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # Khoem Sokhem , 2012. 5 | # Seng Sutha , 2012. 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: gnome-desktop.master\n" 9 | "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-desktop&keywords=I18N+L10N&component=general\n" 10 | "POT-Creation-Date: 2012-01-10 23:41+0000\n" 11 | "PO-Revision-Date: 2012-02-27 11:29+0700\n" 12 | "Last-Translator: Seng Sutha \n" 13 | "Language-Team: Khmer \n" 14 | "Language: km\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=1; plural=0;\n" 19 | "X-Generator: WordForge 0.8 RC1\n" 20 | "X-Language: km-KH\n" 21 | 22 | #. Translators: "Unknown" here is used to identify a monitor for which 23 | #. * we don't know the vendor. When a vendor is known, the name of the 24 | #. * vendor is used. 25 | #: ../libgnome-desktop/display-name.c:67 26 | msgctxt "Monitor vendor" 27 | msgid "Unknown" 28 | msgstr "មិន​ស្គាល់" 29 | 30 | #: ../libgnome-desktop/gnome-desktop-utils.c:134 31 | msgid "Cannot find a terminal, using xterm, even if it may not work" 32 | msgstr "មិន​អាច​រក​ស្ថានីយ​បាន​ទេ ប្រើ xterm ប្រសិនបើ​​វា​មិន​អាច​ដំណើរការ​" 33 | 34 | #. Translators: a CRTC is a CRT Controller (this is X terminology). 35 | #: ../libgnome-desktop/gnome-rr.c:451 36 | #, c-format 37 | msgid "could not get the screen resources (CRTCs, outputs, modes)" 38 | msgstr "មិន​អាច​​យក​ធនធាន​អេក្រង់​បាន​ទេ (CRTCs, លទ្ធផល របៀប)" 39 | 40 | #: ../libgnome-desktop/gnome-rr.c:471 41 | #, c-format 42 | msgid "unhandled X error while getting the range of screen sizes" 43 | msgstr "កំហុស X ដែល​មិន​បាន​​ដោះស្រាយ ខណៈ​ពេល​រៀប​ចំ​ជួរ​របស់​ទំហំ​អេក្រង់" 44 | 45 | #: ../libgnome-desktop/gnome-rr.c:477 46 | #, c-format 47 | msgid "could not get the range of screen sizes" 48 | msgstr "មិន​អាច​រៀបចំ​ជួរ​របស់​ទំហំ​អេក្រង់​បាន​ទេ" 49 | 50 | #: ../libgnome-desktop/gnome-rr.c:768 51 | #, c-format 52 | msgid "RANDR extension is not present" 53 | msgstr "មិន​បង្ហាញ​ផ្នែក​បន្ថែម​របស់ RANDR ឡើយ" 54 | 55 | #: ../libgnome-desktop/gnome-rr.c:1569 56 | #, c-format 57 | msgid "could not get information about output %d" 58 | msgstr "មិន​អាច​ទទួល​បាន​​ព័ត៌មាន​អំពី​លទ្ធផល​ %d បាន​ទេ" 59 | 60 | #. Translators: the "position", "size", and "maximum" 61 | #. * words here are not keywords; please translate them 62 | #. * as usual. A CRTC is a CRT Controller (this is X terminology) 63 | #: ../libgnome-desktop/gnome-rr.c:2126 64 | #, c-format 65 | msgid "" 66 | "requested position/size for CRTC %d is outside the allowed limit: position=(%" 67 | "d, %d), size=(%d, %d), maximum=(%d, %d)" 68 | msgstr "" 69 | "ទំហំ​/​ទីតាំង ដែល​បាន​ស្នើ​សម្រាប់ CRTC %d " 70 | "គឺ​នៅ​ក្រៅ​​លីមីត​​ដែល​បាន​អនុញ្ញាត ៖ ទីតាំង=(%d, %d), ទំហំ=(%d, %d), " 71 | "អតិបរមា=(%d, %d)" 72 | 73 | #: ../libgnome-desktop/gnome-rr.c:2162 74 | #, c-format 75 | msgid "could not set the configuration for CRTC %d" 76 | msgstr "មិន​អាច​កំណត់​ការ​កំណត់​រចនាសម្ព័ន្ធ​សម្រាប់ CRTC %d បាន​ទេ" 77 | 78 | #: ../libgnome-desktop/gnome-rr.c:2307 79 | #, c-format 80 | msgid "could not get information about CRTC %d" 81 | msgstr "មិន​អាច​​​ទទួល​បាន​ព័ត៌មាន​អំពី CRTC %d ឡើយ" 82 | 83 | #: ../libgnome-desktop/gnome-rr-config.c:553 84 | msgid "Laptop" 85 | msgstr "កុំព្យូទ័រ​យួរ​ដៃ" 86 | 87 | #: ../libgnome-desktop/gnome-rr-config.c:708 88 | #, c-format 89 | msgid "none of the saved display configurations matched the active configuration" 90 | msgstr "" 91 | "គ្មាន​ការ​កំណត់​​រចនាសម្ព័ន្ធ​ទិដ្ឋភាព​ដែល​បាន​រក្សាទុក​ដែល​ផ្គូផ្គង​ការ​កំណ" 92 | "ត់​រចនាសម្ព័ន្ធ​សកម្ម​ឡើយ" 93 | 94 | #: ../libgnome-desktop/gnome-rr-config.c:1477 95 | #, c-format 96 | msgid "CRTC %d cannot drive output %s" 97 | msgstr "CRTC %d មិន​អាច​​លទ្ធផល​ដ្រាយ​ឡើយ %s" 98 | 99 | #: ../libgnome-desktop/gnome-rr-config.c:1484 100 | #, c-format 101 | msgid "output %s does not support mode %dx%d@%dHz" 102 | msgstr "លទ្ធផល %s ​មិន​គាំទ្រ​របៀប %dx%d@%dHz ឡើយ" 103 | 104 | #: ../libgnome-desktop/gnome-rr-config.c:1495 105 | #, c-format 106 | msgid "CRTC %d does not support rotation=%s" 107 | msgstr "CRTC %d មិន​គាំទ្រ​ការ​បង្វិល=%s ឡើយ" 108 | 109 | #: ../libgnome-desktop/gnome-rr-config.c:1509 110 | #, c-format 111 | msgid "" 112 | "output %s does not have the same parameters as another cloned output:\n" 113 | "existing mode = %d, new mode = %d\n" 114 | "existing coordinates = (%d, %d), new coordinates = (%d, %d)\n" 115 | "existing rotation = %s, new rotation = %s" 116 | msgstr "" 117 | "លទ្ធផល %s មិន​មាន​ប៉ារ៉ាម៉ែត្រ​ដូច​គ្នា​ជា​លទ្ធផល​ដែល​បាន​ក្លូន​ទេ " 118 | "៖\n​របៀប​ដែល​មាន​ស្រាប់ = %d របៀប​ថ្មី = %d\nកូអរដោនេ​ដែល​មាន​ស្រាប់ = (%d, " 119 | "%d) កូអរដោនេ​ថ្មី = (%d, %d)\nការ​បង្វិល​ដែល​មាន​ស្រាប់ = %s ការ​បង្វិល​ថ្មី " 120 | "= %s" 121 | 122 | #: ../libgnome-desktop/gnome-rr-config.c:1524 123 | #, c-format 124 | msgid "cannot clone to output %s" 125 | msgstr "មិន​អាច​ក្លូន​ទៅកាន់​លទ្ធផល %s បាន​ទេ" 126 | 127 | #: ../libgnome-desktop/gnome-rr-config.c:1693 128 | #, c-format 129 | msgid "Trying modes for CRTC %d\n" 130 | msgstr "សាកល្បង​របៀប​សម្រាប់ CRTC %d\n" 131 | 132 | #: ../libgnome-desktop/gnome-rr-config.c:1717 133 | #, c-format 134 | msgid "CRTC %d: trying mode %dx%d@%dHz with output at %dx%d@%dHz (pass %d)\n" 135 | msgstr "CRTC %d ៖ សាកល្បង​របៀប %dx%d@%dHz ជាមួយ​លទ្ធផល​នៅ %dx%d@%dHz (ហុច %d)\n" 136 | 137 | #: ../libgnome-desktop/gnome-rr-config.c:1764 138 | #, c-format 139 | msgid "" 140 | "could not assign CRTCs to outputs:\n" 141 | "%s" 142 | msgstr "មិន​អាច​កំណត់ CRTCs ទៅកាន់​លទ្ធផល ៖\n%s បាន​ទេ" 143 | 144 | #: ../libgnome-desktop/gnome-rr-config.c:1768 145 | #, c-format 146 | msgid "" 147 | "none of the selected modes were compatible with the possible modes:\n" 148 | "%s" 149 | msgstr "គ្មាន​របៀប​ដែល​បាន​ជ្រើស​ឆបគ្នា​ជាមួយ​​របៀប​ដែល​មាន​ឡើយ ៖\n%s" 150 | 151 | #. Translators: the "requested", "minimum", and 152 | #. * "maximum" words here are not keywords; please 153 | #. * translate them as usual. 154 | #: ../libgnome-desktop/gnome-rr-config.c:1850 155 | #, c-format 156 | msgid "" 157 | "required virtual size does not fit available size: requested=(%d, %d), " 158 | "minimum=(%d, %d), maximum=(%d, %d)" 159 | msgstr "" 160 | "ទំហំ​និម្មិត​ដែល​បាន​ស្នើ​មិន​សម​នឹង​ទំហំ​ដែល​មាន​ឡើយ ៖ បាន​ស្នើ=(%d, %d), " 161 | "អប្បបរមា=(%d, %d), អតិបរមា=(%d, %d)" 162 | 163 | #. Keep this string in sync with gnome-control-center/capplets/display/xrandr-capplet.c:get_display_name() 164 | #. Translators: this is the feature where what you see on your laptop's 165 | #. * screen is the same as your external monitor. Here, "Mirror" is being 166 | #. * used as an adjective, not as a verb. For example, the Spanish 167 | #. * translation could be "Pantallas en Espejo", *not* "Espejar Pantallas". 168 | #. 169 | #: ../libgnome-desktop/gnome-rr-labeler.c:312 170 | msgid "Mirror Screens" 171 | msgstr "កញ្ចក់​អេក្រង់" 172 | 173 | #. Translators: This is the time format with date used 174 | #. in 24-hour mode. 175 | #: ../libgnome-desktop/gnome-wall-clock.c:195 176 | msgid "%a %b %e, %R:%S" 177 | msgstr "%a %b %e, %R:%S" 178 | 179 | #: ../libgnome-desktop/gnome-wall-clock.c:196 180 | msgid "%a %b %e, %R" 181 | msgstr "%a %b %e, %R" 182 | 183 | #. Translators: This is the time format without date used 184 | #. in 24-hour mode. 185 | #: ../libgnome-desktop/gnome-wall-clock.c:200 186 | msgid "%a %R:%S" 187 | msgstr "%a %R:%S" 188 | 189 | #: ../libgnome-desktop/gnome-wall-clock.c:201 190 | msgid "%a %R" 191 | msgstr "%a %R" 192 | 193 | #. Translators: This is a time format with date used 194 | #. for AM/PM. 195 | #: ../libgnome-desktop/gnome-wall-clock.c:206 196 | msgid "%a %b %e, %l:%M:%S %p" 197 | msgstr "%a %b %e, %l:%M:%S %p" 198 | 199 | #: ../libgnome-desktop/gnome-wall-clock.c:207 200 | msgid "%a %b %e, %l:%M %p" 201 | msgstr "%a %b %e, %l:%M %p" 202 | 203 | #. Translators: This is a time format without date used 204 | #. for AM/PM. 205 | #: ../libgnome-desktop/gnome-wall-clock.c:211 206 | msgid "%a %l:%M:%S %p" 207 | msgstr "%a %l:%M:%S %p" 208 | 209 | #: ../libgnome-desktop/gnome-wall-clock.c:212 210 | msgid "%a %l:%M %p" 211 | msgstr "%a %l:%M %p" 212 | 213 | -------------------------------------------------------------------------------- /po/meson.build: -------------------------------------------------------------------------------- 1 | i18n.gettext('gnome-desktop-3.0', 2 | preset: 'glib', 3 | args: ['--keyword=L_:2'], 4 | ) 5 | -------------------------------------------------------------------------------- /po/mjw.po: -------------------------------------------------------------------------------- 1 | # Karbi translation for gnome-desktop. 2 | # Copyright (C) 2019 gnome-desktop's The Gnome Foundation. 3 | # This file is distributed under the same license as the gnome-desktop package. 4 | # Jor Teron , 2019. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: gnome-desktop master\n" 9 | "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-desktop/issues\n" 10 | "POT-Creation-Date: 2019-07-28 07:32+0000\n" 11 | "PO-Revision-Date: 2019-07-28 15:48+0530\n" 12 | "Last-Translator: Jor Teron \n" 13 | "Language-Team: Karbi \n" 14 | "Language: mjw\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "X-Generator: Poedit 2.0.6\n" 19 | 20 | #: libgnome-desktop/gnome-languages.c:717 21 | msgid "Unspecified" 22 | msgstr "Klardak-awe" 23 | 24 | #. TRANSLATORS: Used to distinguish the labels representing the gez_ER 25 | #. and gez_ET locales from gez_ER@abegede respective gez_ET@abegede. The 26 | #. difference is related to collation. 27 | #: libgnome-desktop/gnome-languages.c:1379 28 | msgid "Abegede" 29 | msgstr "Abegede" 30 | 31 | #. TRANSLATORS: Used to distinguish Cyrillic from Latin written language variants. 32 | #: libgnome-desktop/gnome-languages.c:1381 33 | msgid "Cyrillic" 34 | msgstr "Cyrillic" 35 | 36 | #. TRANSLATORS: Also known as "Nagari", a written variant for many languages 37 | #. of the Indian subcontinent. See: 38 | #. https://en.wikipedia.org/wiki/Devanagari 39 | #: libgnome-desktop/gnome-languages.c:1385 40 | msgid "Devanagari" 41 | msgstr "Devanagari" 42 | 43 | #. TRANSLATORS: Used to distinguish the label representing the tt_RU 44 | #. locale from tt_RU@iqtelif. It's a special alphabet for Tatar. 45 | #: libgnome-desktop/gnome-languages.c:1388 46 | msgid "IQTElif" 47 | msgstr "IQTElif" 48 | 49 | #. TRANSLATORS: The alphabet/script, not the language. Used to distinguish 50 | #. Latin from Cyrillic written language variants. 51 | #: libgnome-desktop/gnome-languages.c:1391 52 | msgid "Latin" 53 | msgstr "Latin" 54 | 55 | #. TRANSLATORS: "Saho" is a variant of the Afar language. Used to 56 | #. distinguish the label representing the aa_ER locale from aa_ER@saaho. 57 | #: libgnome-desktop/gnome-languages.c:1394 58 | msgid "Saho" 59 | msgstr "Saho" 60 | 61 | #. TRANSLATORS: "Valencia" is a dialect of the Catalan language spoken 62 | #. in Valencia. Used to distinguish the label representing the ca_ES 63 | #. locale from ca_ES@valencia. 64 | #: libgnome-desktop/gnome-languages.c:1398 65 | msgid "Valencia" 66 | msgstr "Valencia" 67 | 68 | #: libgnome-desktop/gnome-rr-config.c:757 69 | #, c-format 70 | msgid "CRTC %d cannot drive output %s" 71 | msgstr "" 72 | 73 | #: libgnome-desktop/gnome-rr-config.c:764 74 | #, c-format 75 | msgid "output %s does not support mode %dx%d@%dHz" 76 | msgstr "" 77 | 78 | #: libgnome-desktop/gnome-rr-config.c:775 79 | #, c-format 80 | msgid "CRTC %d does not support rotation=%d" 81 | msgstr "" 82 | 83 | #: libgnome-desktop/gnome-rr-config.c:788 84 | #, c-format 85 | msgid "" 86 | "output %s does not have the same parameters as another cloned output:\n" 87 | "existing mode = %d, new mode = %d\n" 88 | "existing coordinates = (%d, %d), new coordinates = (%d, %d)\n" 89 | "existing rotation = %d, new rotation = %d" 90 | msgstr "" 91 | 92 | #: libgnome-desktop/gnome-rr-config.c:803 93 | #, c-format 94 | msgid "cannot clone to output %s" 95 | msgstr "" 96 | 97 | #: libgnome-desktop/gnome-rr-config.c:929 98 | #, c-format 99 | msgid "Trying modes for CRTC %d\n" 100 | msgstr "" 101 | 102 | #: libgnome-desktop/gnome-rr-config.c:953 103 | #, c-format 104 | msgid "CRTC %d: trying mode %dx%d@%dHz with output at %dx%d@%dHz (pass %d)\n" 105 | msgstr "" 106 | 107 | #: libgnome-desktop/gnome-rr-config.c:1000 108 | #, c-format 109 | msgid "" 110 | "could not assign CRTCs to outputs:\n" 111 | "%s" 112 | msgstr "" 113 | 114 | #: libgnome-desktop/gnome-rr-config.c:1004 115 | #, c-format 116 | msgid "" 117 | "none of the selected modes were compatible with the possible modes:\n" 118 | "%s" 119 | msgstr "" 120 | 121 | #. Translators: the "requested", "minimum", and 122 | #. * "maximum" words here are not keywords; please 123 | #. * translate them as usual. 124 | #: libgnome-desktop/gnome-rr-config.c:1085 125 | #, c-format 126 | msgid "" 127 | "required virtual size does not fit available size: requested=(%d, %d), " 128 | "minimum=(%d, %d), maximum=(%d, %d)" 129 | msgstr "" 130 | 131 | #. Translators: This is the time format with full date 132 | #. plus day used in 24-hour mode. Please keep the under- 133 | #. score to separate the date from the time. 134 | #: libgnome-desktop/gnome-wall-clock.c:330 135 | msgid "%a %b %-e_%R:%S" 136 | msgstr "%R:%S_%e %B, %a" 137 | 138 | #: libgnome-desktop/gnome-wall-clock.c:331 139 | msgid "%a %b %-e_%R" 140 | msgstr "%R_%e %b, %B" 141 | 142 | #. Translators: This is the time format with full date 143 | #. used in 24-hour mode. Please keep the underscore to 144 | #. separate the date from the time. 145 | #: libgnome-desktop/gnome-wall-clock.c:336 146 | msgid "%b %-e_%R:%S" 147 | msgstr "%R:%S_%e %B" 148 | 149 | #: libgnome-desktop/gnome-wall-clock.c:337 150 | msgid "%b %-e_%R" 151 | msgstr "%R_%e %b" 152 | 153 | #. Translators: This is the time format with day used 154 | #. in 24-hour mode. 155 | #: libgnome-desktop/gnome-wall-clock.c:341 156 | msgid "%a %R:%S" 157 | msgstr "%R:%S %a" 158 | 159 | #: libgnome-desktop/gnome-wall-clock.c:342 160 | msgid "%a %R" 161 | msgstr "%R %a" 162 | 163 | #. Translators: This is the time format without date used 164 | #. in 24-hour mode. 165 | #: libgnome-desktop/gnome-wall-clock.c:346 166 | msgid "%R:%S" 167 | msgstr "%R:%S" 168 | 169 | #: libgnome-desktop/gnome-wall-clock.c:347 170 | msgid "%R" 171 | msgstr "%R" 172 | 173 | #. Translators: This is a time format with full date 174 | #. plus day used for AM/PM. Please keep the under- 175 | #. score to separate the date from the time. 176 | #: libgnome-desktop/gnome-wall-clock.c:355 177 | msgid "%a %b %-e_%l:%M:%S %p" 178 | msgstr "%l:%M:%S %p_%e %b, %a" 179 | 180 | #: libgnome-desktop/gnome-wall-clock.c:356 181 | msgid "%a %b %-e_%l:%M %p" 182 | msgstr "%l:%M %p_%e %b, %a" 183 | 184 | #. Translators: This is a time format with full date 185 | #. used for AM/PM. Please keep the underscore to 186 | #. separate the date from the time. 187 | #: libgnome-desktop/gnome-wall-clock.c:361 188 | msgid "%b %-e_%l:%M:%S %p" 189 | msgstr "%l:%M:%S %p_%e %b" 190 | 191 | #: libgnome-desktop/gnome-wall-clock.c:362 192 | msgid "%b %-e_%l:%M %p" 193 | msgstr "%l:%M %p_%e %b" 194 | 195 | #. Translators: This is a time format with day used 196 | #. for AM/PM. 197 | #: libgnome-desktop/gnome-wall-clock.c:366 198 | msgid "%a %l:%M:%S %p" 199 | msgstr "%l:%M:%S %p %a" 200 | 201 | #: libgnome-desktop/gnome-wall-clock.c:367 202 | msgid "%a %l:%M %p" 203 | msgstr "%l:%M %p %a" 204 | 205 | #. Translators: This is a time format without date used 206 | #. for AM/PM. 207 | #: libgnome-desktop/gnome-wall-clock.c:371 208 | msgid "%l:%M:%S %p" 209 | msgstr "%l:%M:%S %p" 210 | 211 | #: libgnome-desktop/gnome-wall-clock.c:372 212 | msgid "%l:%M %p" 213 | msgstr "%l:%M %p" 214 | -------------------------------------------------------------------------------- /po/sr@latin.po: -------------------------------------------------------------------------------- 1 | # Serbian translation of gnome-desktop 2 | # Courtesy of Prevod.org team (http://prevod.org/) -- 2003, 2004, 2005, 2006, 2007. 3 | # This file is distributed under the same license as the gnome-desktop package. 4 | # Maintainer: Danilo Šegan 5 | # Miloš Popović , 2010. 6 | # Miroslav Nikolić , 2011, 2012, 2013. 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: gnome-desktop\n" 10 | "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-desktop/" 11 | "issues\n" 12 | "POT-Creation-Date: 2019-04-23 20:16+0000\n" 13 | "PO-Revision-Date: 2019-04-29 17:30+0200\n" 14 | "Last-Translator: Марко М. Костић \n" 15 | "Language-Team: Serbian \n" 16 | "Language: sr\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=UTF-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : n" 21 | "%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" 22 | "X-Project-Style: gnome\n" 23 | "X-Generator: Poedit 2.2.1\n" 24 | 25 | #: libgnome-desktop/gnome-languages.c:711 26 | msgid "Unspecified" 27 | msgstr "Neodređeno" 28 | 29 | #: libgnome-desktop/gnome-rr-config.c:759 30 | #, c-format 31 | msgid "CRTC %d cannot drive output %s" 32 | msgstr "CRTC „%d“ ne može dobije izlaz „%s“" 33 | 34 | #: libgnome-desktop/gnome-rr-config.c:766 35 | #, c-format 36 | msgid "output %s does not support mode %dx%d@%dHz" 37 | msgstr "izlaz „%s“ ne podržava režim %dx%d@%dHz" 38 | 39 | #: libgnome-desktop/gnome-rr-config.c:777 40 | #, c-format 41 | msgid "CRTC %d does not support rotation=%d" 42 | msgstr "CRTC „%d“ ne podržava rotaciju =%d" 43 | 44 | #: libgnome-desktop/gnome-rr-config.c:790 45 | #, c-format 46 | msgid "" 47 | "output %s does not have the same parameters as another cloned output:\n" 48 | "existing mode = %d, new mode = %d\n" 49 | "existing coordinates = (%d, %d), new coordinates = (%d, %d)\n" 50 | "existing rotation = %d, new rotation = %d" 51 | msgstr "" 52 | "izlaz „%s“ nema iste parametre kao drugi klonirani uređaj:\n" 53 | "postojeći režim = %d, novi režim = %d\n" 54 | "postojeće koordinate = (%d, %d), nove koordinate = (%d, %d)\n" 55 | "postojeća rotacija = %d, nova rotacija = %d" 56 | 57 | #: libgnome-desktop/gnome-rr-config.c:805 58 | #, c-format 59 | msgid "cannot clone to output %s" 60 | msgstr "ne mogu da kloniram u izlaz „%s“" 61 | 62 | #: libgnome-desktop/gnome-rr-config.c:931 63 | #, c-format 64 | msgid "Trying modes for CRTC %d\n" 65 | msgstr "Isprobavam režime za CRTC „%d“\n" 66 | 67 | #: libgnome-desktop/gnome-rr-config.c:955 68 | #, c-format 69 | msgid "" 70 | "CRTC %d: trying mode %dx%d@%dHz with output at %dx%d@%dHz (pass %d)\n" 71 | msgstr "" 72 | "CRTC „%d“: isprobavam režim %dx%d@%dHz bez izlaza na %dx%d@%dHz (%d. " 73 | "pokušaj)\n" 74 | 75 | #: libgnome-desktop/gnome-rr-config.c:1002 76 | #, c-format 77 | msgid "" 78 | "could not assign CRTCs to outputs:\n" 79 | "%s" 80 | msgstr "" 81 | "ne mogu da pridružim CRTC-e izlazima:\n" 82 | "%s" 83 | 84 | #: libgnome-desktop/gnome-rr-config.c:1006 85 | #, c-format 86 | msgid "" 87 | "none of the selected modes were compatible with the possible modes:\n" 88 | "%s" 89 | msgstr "" 90 | "ni jedan od izabranih režima nije saglasan sa mogućim režimima:\n" 91 | "%s" 92 | 93 | #. Translators: the "requested", "minimum", and 94 | #. * "maximum" words here are not keywords; please 95 | #. * translate them as usual. 96 | #: libgnome-desktop/gnome-rr-config.c:1087 97 | #, c-format 98 | msgid "" 99 | "required virtual size does not fit available size: requested=(%d, %d), " 100 | "minimum=(%d, %d), maximum=(%d, %d)" 101 | msgstr "" 102 | "zahtevana virtuelna veličina je izvan dostupne: zahtevana=(%d, %d), " 103 | "najmanja=(%d, %d), najveća=(%d, %d)" 104 | 105 | #. Translators: This is the time format with full date 106 | #. plus day used in 24-hour mode. Please keep the under- 107 | #. score to separate the date from the time. 108 | #: libgnome-desktop/gnome-wall-clock.c:332 109 | msgid "%a %b %-e_%R:%S" 110 | msgstr "%A, %e. %b, %R:%S" 111 | 112 | #: libgnome-desktop/gnome-wall-clock.c:333 113 | msgid "%a %b %-e_%R" 114 | msgstr "%A, %e. %b, %R" 115 | 116 | #. Translators: This is the time format with full date 117 | #. used in 24-hour mode. Please keep the underscore to 118 | #. separate the date from the time. 119 | #: libgnome-desktop/gnome-wall-clock.c:338 120 | msgid "%b %-e_%R:%S" 121 | msgstr "%A, %e. %b, %R:%S" 122 | 123 | #: libgnome-desktop/gnome-wall-clock.c:339 124 | msgid "%b %-e_%R" 125 | msgstr "%A, %e. %b, %R" 126 | 127 | #. Translators: This is the time format with day used 128 | #. in 24-hour mode. 129 | #: libgnome-desktop/gnome-wall-clock.c:343 130 | msgid "%a %R:%S" 131 | msgstr "%A, %R:%S" 132 | 133 | #: libgnome-desktop/gnome-wall-clock.c:344 134 | msgid "%a %R" 135 | msgstr "%A, %R" 136 | 137 | #. Translators: This is the time format without date used 138 | #. in 24-hour mode. 139 | #: libgnome-desktop/gnome-wall-clock.c:348 140 | msgid "%R:%S" 141 | msgstr "%R:%S" 142 | 143 | #: libgnome-desktop/gnome-wall-clock.c:349 144 | msgid "%R" 145 | msgstr "%R" 146 | 147 | #. Translators: This is a time format with full date 148 | #. plus day used for AM/PM. Please keep the under- 149 | #. score to separate the date from the time. 150 | #: libgnome-desktop/gnome-wall-clock.c:357 151 | msgid "%a %b %-e_%l:%M:%S %p" 152 | msgstr "%A, %e. %b, %l:%M:%S" 153 | 154 | #: libgnome-desktop/gnome-wall-clock.c:358 155 | msgid "%a %b %-e_%l:%M %p" 156 | msgstr "%A, %e. %b, %l:%M" 157 | 158 | #. Translators: This is a time format with full date 159 | #. used for AM/PM. Please keep the underscore to 160 | #. separate the date from the time. 161 | #: libgnome-desktop/gnome-wall-clock.c:363 162 | msgid "%b %-e_%l:%M:%S %p" 163 | msgstr "%A, %e. %b, %l:%M:%S" 164 | 165 | #: libgnome-desktop/gnome-wall-clock.c:364 166 | msgid "%b %-e_%l:%M %p" 167 | msgstr "%A, %e. %b, %l:%M" 168 | 169 | #. Translators: This is a time format with day used 170 | #. for AM/PM. 171 | #: libgnome-desktop/gnome-wall-clock.c:368 172 | msgid "%a %l:%M:%S %p" 173 | msgstr "%A, %l:%M:%S" 174 | 175 | #: libgnome-desktop/gnome-wall-clock.c:369 176 | msgid "%a %l:%M %p" 177 | msgstr "%A, %l:%M" 178 | 179 | #. Translators: This is a time format without date used 180 | #. for AM/PM. 181 | #: libgnome-desktop/gnome-wall-clock.c:373 182 | msgid "%l:%M:%S %p" 183 | msgstr "%l:%M:%S" 184 | 185 | #: libgnome-desktop/gnome-wall-clock.c:374 186 | msgid "%l:%M %p" 187 | msgstr "%l:%M" 188 | -------------------------------------------------------------------------------- /po/tg.po: -------------------------------------------------------------------------------- 1 | # Tajik translation for gnome-desktop. 2 | # Copyright (C) 2013 gnome-desktop's COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the gnome-desktop package. 4 | # Victor Ibragimov , 2013. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: gnome-desktop master\n" 9 | "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" 10 | "desktop&keywords=I18N+L10N&component=general\n" 11 | "POT-Creation-Date: 2013-08-19 17:24+0000\n" 12 | "PO-Revision-Date: 2013-08-26 11:44+0500\n" 13 | "Last-Translator: Victor Ibragimov \n" 14 | "Language-Team: Tajik \n" 15 | "Language: tg\n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=UTF-8\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | "X-Generator: Poedit 1.5.7\n" 20 | 21 | #: ../libgnome-desktop/gnome-languages.c:804 22 | msgid "Unspecified" 23 | msgstr "Номуайян" 24 | 25 | #: ../libgnome-desktop/gnome-rr-config.c:789 26 | #, c-format 27 | msgid "CRTC %d cannot drive output %s" 28 | msgstr "CRTC %d хуруҷии %s-ро ронда наметавонад" 29 | 30 | #: ../libgnome-desktop/gnome-rr-config.c:796 31 | #, c-format 32 | msgid "output %s does not support mode %dx%d@%dHz" 33 | msgstr "хуруҷии %s ҳолати %dx%d@%dHz-ро дастгирӣ карда наметавонад" 34 | 35 | #: ../libgnome-desktop/gnome-rr-config.c:807 36 | #, c-format 37 | #| msgid "CRTC %d does not support rotation=%s" 38 | msgid "CRTC %d does not support rotation=%d" 39 | msgstr "CRTC %d чархиши=%d -ро дастгирӣ карда наметавонад" 40 | 41 | #: ../libgnome-desktop/gnome-rr-config.c:820 42 | #, c-format 43 | #| msgid "" 44 | #| "output %s does not have the same parameters as another cloned output:\n" 45 | #| "existing mode = %d, new mode = %d\n" 46 | #| "existing coordinates = (%d, %d), new coordinates = (%d, %d)\n" 47 | #| "existing rotation = %s, new rotation = %s" 48 | msgid "" 49 | "output %s does not have the same parameters as another cloned output:\n" 50 | "existing mode = %d, new mode = %d\n" 51 | "existing coordinates = (%d, %d), new coordinates = (%d, %d)\n" 52 | "existing rotation = %d, new rotation = %d" 53 | msgstr "" 54 | "хуруҷии %s бо хуруҷии такроршудаи дигар параметри якхела надорад:\n" 55 | "ҳолати мавҷудбуда = %d, ҳолати нав = %d\n" 56 | "координатҳои мавҷудбуда = (%d, %d), координатҳои нав = (%d, %d)\n" 57 | "чархиши мавҷудбуда = %d, чархиши нав = %d" 58 | 59 | #: ../libgnome-desktop/gnome-rr-config.c:835 60 | #, c-format 61 | msgid "cannot clone to output %s" 62 | msgstr "ба хуруҷии %s клон намешавад" 63 | 64 | #: ../libgnome-desktop/gnome-rr-config.c:961 65 | #, c-format 66 | msgid "Trying modes for CRTC %d\n" 67 | msgstr "Кӯшиши ҳолатҳо барои CRTC %d\n" 68 | 69 | #: ../libgnome-desktop/gnome-rr-config.c:985 70 | #, c-format 71 | msgid "CRTC %d: trying mode %dx%d@%dHz with output at %dx%d@%dHz (pass %d)\n" 72 | msgstr "" 73 | "CRTC %d: ҳолати %dx%d@%dHz-ро бо хуруҷӣ дар %dx%d@%dHz (pass %d) кӯшиш " 74 | "мекунад\n" 75 | 76 | #: ../libgnome-desktop/gnome-rr-config.c:1032 77 | #, c-format 78 | msgid "" 79 | "could not assign CRTCs to outputs:\n" 80 | "%s" 81 | msgstr "" 82 | "CRTC­-ро барои хуруҷиҳо муайян карда наметавонад:\n" 83 | "%s" 84 | 85 | #: ../libgnome-desktop/gnome-rr-config.c:1036 86 | #, c-format 87 | msgid "" 88 | "none of the selected modes were compatible with the possible modes:\n" 89 | "%s" 90 | msgstr "" 91 | "ҳеҷ кадоми ҳолатҳои интихобшуда ба ҳолатҳои эҳтимолӣ мувофиқат намекунад:\n" 92 | "%s" 93 | 94 | #. Translators: the "requested", "minimum", and 95 | #. * "maximum" words here are not keywords; please 96 | #. * translate them as usual. 97 | #: ../libgnome-desktop/gnome-rr-config.c:1117 98 | #, c-format 99 | msgid "" 100 | "required virtual size does not fit available size: requested=(%d, %d), " 101 | "minimum=(%d, %d), maximum=(%d, %d)" 102 | msgstr "" 103 | "андозаи виртуалии дархостшуда бо андозаи дастрас мутобиқ нест: дархостшуда=" 104 | "(%d, %d), ҳадди ақал=(%d, %d), ҳадди аксар=(%d, %d)" 105 | 106 | #. Translators: This is the time format with full date used 107 | #. in 24-hour mode. 108 | #: ../libgnome-desktop/gnome-wall-clock.c:270 109 | msgid "%a %b %e, %R:%S" 110 | msgstr "%a %b %e, %R:%S" 111 | 112 | #: ../libgnome-desktop/gnome-wall-clock.c:271 113 | msgid "%a %b %e, %R" 114 | msgstr "%a %b %e, %R" 115 | 116 | #. Translators: This is the time format with day used 117 | #. in 24-hour mode. 118 | #: ../libgnome-desktop/gnome-wall-clock.c:275 119 | msgid "%a %R:%S" 120 | msgstr "%a %R:%S" 121 | 122 | #: ../libgnome-desktop/gnome-wall-clock.c:276 123 | msgid "%a %R" 124 | msgstr "%a %R" 125 | 126 | #. Translators: This is the time format without date used 127 | #. in 24-hour mode. 128 | #: ../libgnome-desktop/gnome-wall-clock.c:280 129 | msgid "%R:%S" 130 | msgstr "%R:%S" 131 | 132 | #: ../libgnome-desktop/gnome-wall-clock.c:280 133 | msgid "%R" 134 | msgstr "%R" 135 | 136 | #. Translators: This is a time format with full date used 137 | #. for AM/PM. 138 | #: ../libgnome-desktop/gnome-wall-clock.c:286 139 | msgid "%a %b %e, %l:%M:%S %p" 140 | msgstr "%a %b %e, %l:%M:%S %p" 141 | 142 | #: ../libgnome-desktop/gnome-wall-clock.c:287 143 | msgid "%a %b %e, %l:%M %p" 144 | msgstr "%a %b %e, %l:%M %p" 145 | 146 | #. Translators: This is a time format with day used 147 | #. for AM/PM. 148 | #: ../libgnome-desktop/gnome-wall-clock.c:291 149 | msgid "%a %l:%M:%S %p" 150 | msgstr "%a %l:%M:%S %p" 151 | 152 | #: ../libgnome-desktop/gnome-wall-clock.c:292 153 | msgid "%a %l:%M %p" 154 | msgstr "%a %l:%M %p" 155 | 156 | #. Translators: This is a time format without date used 157 | #. for AM/PM. 158 | #: ../libgnome-desktop/gnome-wall-clock.c:296 159 | msgid "%l:%M:%S %p" 160 | msgstr "%l:%M:%S %p" 161 | 162 | #: ../libgnome-desktop/gnome-wall-clock.c:297 163 | msgid "%l:%M %p" 164 | msgstr "%l:%M %p" 165 | 166 | #~ msgctxt "Monitor vendor" 167 | #~ msgid "Unknown" 168 | #~ msgstr "Номаълум" 169 | 170 | #~ msgid "could not get the screen resources (CRTCs, outputs, modes)" 171 | #~ msgstr "Манобеи экран (назоратчии CRT, хуруҷиҳо, ҳолатҳо) дарёфт нашуд" 172 | 173 | #~ msgid "unhandled X error while getting the range of screen sizes" 174 | #~ msgstr "Хатои X-и идоранашванда ҳангоми дарёфти маҳдудаи андозаҳои экран" 175 | 176 | #~ msgid "could not get the range of screen sizes" 177 | #~ msgstr "маҳдудаи андозаҳои экран дарёфт нашуд" 178 | 179 | #~ msgid "RANDR extension is not present" 180 | #~ msgstr "Густариши RANDR вуҷуд надорад" 181 | 182 | #~ msgid "could not get information about output %d" 183 | #~ msgstr "Иттилоот дар бораи хуруҷии %d дарёфт нашуд" 184 | 185 | #~ msgid "Built-in Display" 186 | #~ msgstr "Дисплейи дарунсохт" 187 | 188 | #~ msgid "%s Display" 189 | #~ msgstr "Дисплейи %s" 190 | 191 | #~ msgid "Unknown Display" 192 | #~ msgstr "Дисплейи номаълум" 193 | 194 | #~ msgid "" 195 | #~ "requested position/size for CRTC %d is outside the allowed limit: " 196 | #~ "position=(%d, %d), size=(%d, %d), maximum=(%d, %d)" 197 | #~ msgstr "" 198 | #~ "мавқеият/андоза барои CRTC %d брун аз меъёри иҷозатшуда аст: мавқеият=" 199 | #~ "(%d, %d), андоза=(%d, %d), ҳадди аксар=(%d, %d)" 200 | 201 | #~ msgid "could not set the configuration for CRTC %d" 202 | #~ msgstr "конфигуратсия барои CRTC %d танзим нашуд" 203 | 204 | #~ msgid "could not get information about CRTC %d" 205 | #~ msgstr "иттилоот дар бораи CRTC %d-ро дарёфт карда натавонист" 206 | 207 | #~ msgid "" 208 | #~ "none of the saved display configurations matched the active configuration" 209 | #~ msgstr "" 210 | #~ "ҳеҷ кадоми конфигуратсияҳои дисплейҳои захирашуда бо конфигуратсияи фаъол " 211 | #~ "мутобиқат накард" 212 | -------------------------------------------------------------------------------- /po/uz@cyrillic.po: -------------------------------------------------------------------------------- 1 | # Translation of gnome-desktop to Uzbek (Cyrillic) 2 | # Copyright (C) 2012 gnome-desktop's COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the gnome-desktop package. 4 | # Nurali Abdurahmonov , 2007. 5 | # Nurali Abdurahmonov , 2008. 6 | # Bahodir Mansurov <6ahodir@gmail.com>, 2012. 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: gnome-desktop\n" 10 | "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" 11 | "desktop&keywords=I18N+L10N&component=general\n" 12 | "POT-Creation-Date: 2014-10-06 18:38+0000\n" 13 | "PO-Revision-Date: 2014-10-19 22:18-0500\n" 14 | "Last-Translator: Bahodir Mansurov <6ahodir@gmail.com>\n" 15 | "Language-Team: Uzbek@cyrillic\n" 16 | "Language: uz@cyrillic\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=UTF-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Plural-Forms: nplurals=1; plural=0;\n" 21 | "X-Generator: Poedit 1.6.9\n" 22 | 23 | #: ../libgnome-desktop/gnome-languages.c:717 24 | msgid "Unspecified" 25 | msgstr "Тайинланмаган" 26 | 27 | #: ../libgnome-desktop/gnome-rr-config.c:743 28 | #, c-format 29 | msgid "CRTC %d cannot drive output %s" 30 | msgstr "" 31 | "ЭНУ (Электрон Нурли Ускуна) бошқарувчиси %d чиқиш йўли %sни бошқара олмайди" 32 | 33 | #: ../libgnome-desktop/gnome-rr-config.c:750 34 | #, c-format 35 | msgid "output %s does not support mode %dx%d@%dHz" 36 | msgstr "%s чиқиш йўли %dx%d@%dHz режимини ишлата олмайди" 37 | 38 | #: ../libgnome-desktop/gnome-rr-config.c:761 39 | #, c-format 40 | msgid "CRTC %d does not support rotation=%d" 41 | msgstr "CRTC %d айлантириш=%dни қўлламайди" 42 | 43 | #: ../libgnome-desktop/gnome-rr-config.c:774 44 | #, c-format 45 | msgid "" 46 | "output %s does not have the same parameters as another cloned output:\n" 47 | "existing mode = %d, new mode = %d\n" 48 | "existing coordinates = (%d, %d), new coordinates = (%d, %d)\n" 49 | "existing rotation = %d, new rotation = %d" 50 | msgstr "" 51 | "чиқиш йўли %s бошқа нусхалаштирилган чиқиш йўли параметрларидан фарқ " 52 | "қилади:\n" 53 | "мавжуд режим = %d, янги режим = %d\n" 54 | "мавжуд координаталар = (%d, %d), янги координаталар = (%d, %d)\n" 55 | "мавжуд айланиш = %d, янги айланиш = %d" 56 | 57 | #: ../libgnome-desktop/gnome-rr-config.c:789 58 | #, c-format 59 | msgid "cannot clone to output %s" 60 | msgstr "чиқиш йўли %sнинг нусхасини олиб бўлмади" 61 | 62 | #: ../libgnome-desktop/gnome-rr-config.c:915 63 | #, c-format 64 | msgid "Trying modes for CRTC %d\n" 65 | msgstr "" 66 | "ЭНУ (Электрон Нурли Ускуна) бошқарувчиси %d учун режимлар қўллаб кўриляпти\n" 67 | 68 | #: ../libgnome-desktop/gnome-rr-config.c:939 69 | #, c-format 70 | msgid "CRTC %d: trying mode %dx%d@%dHz with output at %dx%d@%dHz (pass %d)\n" 71 | msgstr "" 72 | "ЭНУ (Электрон Нурли Ускуна) бошқарувчиси %d: %dx%d@%dHz режим %dx%d@%dHz " 73 | "(йўлак %d) чиқиш йўлига қўлланиляпти\n" 74 | 75 | #: ../libgnome-desktop/gnome-rr-config.c:986 76 | #, c-format 77 | msgid "" 78 | "could not assign CRTCs to outputs:\n" 79 | "%s" 80 | msgstr "" 81 | "ЭНУ (Электрон Нурли Ускуна) бошқарувчисини қуйидаги чиқиш йўлларига " 82 | "бириктириб бўлмади:\n" 83 | "%s" 84 | 85 | #: ../libgnome-desktop/gnome-rr-config.c:990 86 | #, c-format 87 | msgid "" 88 | "none of the selected modes were compatible with the possible modes:\n" 89 | "%s" 90 | msgstr "" 91 | "белгиланган режимларнинг ҳеч бири рухсат этилган режимларга мос келмади:\n" 92 | "%s" 93 | 94 | #. Translators: the "requested", "minimum", and 95 | #. * "maximum" words here are not keywords; please 96 | #. * translate them as usual. 97 | #: ../libgnome-desktop/gnome-rr-config.c:1071 98 | #, c-format 99 | msgid "" 100 | "required virtual size does not fit available size: requested=(%d, %d), " 101 | "minimum=(%d, %d), maximum=(%d, %d)" 102 | msgstr "" 103 | "керакли виртуал ўлчам мавжуд ўлчамга мос келмади: сўралган=(%d, %d), " 104 | "минимум=(%d, %d), максимум=(%d, %d)" 105 | 106 | #. Translators: This is the time format with full date used 107 | #. in 24-hour mode. 108 | #: ../libgnome-desktop/gnome-wall-clock.c:299 109 | msgid "%a %b %e, %R:%S" 110 | msgstr "%a %b %e, %R:%S" 111 | 112 | #: ../libgnome-desktop/gnome-wall-clock.c:300 113 | msgid "%a %b %e, %R" 114 | msgstr "%a %b %e, %R" 115 | 116 | #. Translators: This is the time format with day used 117 | #. in 24-hour mode. 118 | #: ../libgnome-desktop/gnome-wall-clock.c:304 119 | msgid "%a %R:%S" 120 | msgstr "%a %R:%S" 121 | 122 | #: ../libgnome-desktop/gnome-wall-clock.c:305 123 | msgid "%a %R" 124 | msgstr "%a %R" 125 | 126 | #. Translators: This is the time format without date used 127 | #. in 24-hour mode. 128 | #: ../libgnome-desktop/gnome-wall-clock.c:309 129 | msgid "%R:%S" 130 | msgstr "%R:%S" 131 | 132 | #: ../libgnome-desktop/gnome-wall-clock.c:309 133 | msgid "%R" 134 | msgstr "%R" 135 | 136 | #. Translators: This is a time format with full date used 137 | #. for AM/PM. 138 | #: ../libgnome-desktop/gnome-wall-clock.c:315 139 | msgid "%a %b %e, %l:%M:%S %p" 140 | msgstr "%a %b %e, %l:%M:%S %p" 141 | 142 | #: ../libgnome-desktop/gnome-wall-clock.c:316 143 | msgid "%a %b %e, %l:%M %p" 144 | msgstr "%a %b %e, %l:%M %p" 145 | 146 | #. Translators: This is a time format with day used 147 | #. for AM/PM. 148 | #: ../libgnome-desktop/gnome-wall-clock.c:320 149 | msgid "%a %l:%M:%S %p" 150 | msgstr "%a %l:%M:%S %p" 151 | 152 | #: ../libgnome-desktop/gnome-wall-clock.c:321 153 | msgid "%a %l:%M %p" 154 | msgstr "%a %l:%M %p" 155 | 156 | #. Translators: This is a time format without date used 157 | #. for AM/PM. 158 | #: ../libgnome-desktop/gnome-wall-clock.c:325 159 | msgid "%l:%M:%S %p" 160 | msgstr "%l:%M:%S %p" 161 | 162 | #: ../libgnome-desktop/gnome-wall-clock.c:326 163 | msgid "%l:%M %p" 164 | msgstr "%l:%M %p" 165 | 166 | #~ msgctxt "Monitor vendor" 167 | #~ msgid "Unknown" 168 | #~ msgstr "Номаълум" 169 | 170 | #~ msgid "Cannot find a terminal, using xterm, even if it may not work" 171 | #~ msgstr "" 172 | #~ "Мос келадиган терминал топилмади, ишламаслик эҳтимоллиги бўлишига " 173 | #~ "қарамасдан xterm ишлатиляпти" 174 | 175 | #~ msgid "could not get the screen resources (CRTCs, outputs, modes)" 176 | #~ msgstr "" 177 | #~ "экран ресурслари (ЭНУ (Электрон Нурли Ускуна) бошқарувчилари, чиқиш " 178 | #~ "йўллари, режим)ни олиб бўлмади" 179 | 180 | #~ msgid "unhandled X error while getting the range of screen sizes" 181 | #~ msgstr "" 182 | #~ "экран ҳажмлар диапазонини олаётганда ечилмаган X системаси хатолиги содир " 183 | #~ "бўлди" 184 | 185 | #~ msgid "could not get the range of screen sizes" 186 | #~ msgstr "экран ҳажмлар диапазонини олиб бўлмади" 187 | 188 | #~ msgid "RANDR extension is not present" 189 | #~ msgstr "RANDR кенгайтмаси мавжуд эмас" 190 | 191 | #~ msgid "could not get information about output %d" 192 | #~ msgstr "%d чиқиш йўли ҳақида маълумот олиб бўлинмади" 193 | 194 | #~ msgid "" 195 | #~ "requested position/size for CRTC %d is outside the allowed limit: " 196 | #~ "position=(%d, %d), size=(%d, %d), maximum=(%d, %d)" 197 | #~ msgstr "" 198 | #~ "ЭНУ (Электрон Нурли Ускуна) бошқарувчиси %dнинг сўралган жойлашуви/ўлчами " 199 | #~ "рухсат берилган чегарадан ташқарида: жойлашуви=(%d, %d), ўлчами=(%d, %d), " 200 | #~ "максимум=(%d, %d)" 201 | 202 | #~ msgid "could not set the configuration for CRTC %d" 203 | #~ msgstr "" 204 | #~ "ЭНУ (Электрон Нурли Ускуна) бошқарувчиси %d учун конфигурацияни ўрнатиб " 205 | #~ "бўлмади" 206 | 207 | #~ msgid "could not get information about CRTC %d" 208 | #~ msgstr "" 209 | #~ "ЭНУ (Электрон Нурли Ускуна) бошқарувчиси %d ҳақидаги маълумотни олиб " 210 | #~ "бўлмади" 211 | 212 | #~ msgid "Laptop" 213 | #~ msgstr "Лэптор" 214 | 215 | #~ msgid "" 216 | #~ "none of the saved display configurations matched the active configuration" 217 | #~ msgstr "" 218 | #~ "сақлаб қўйилган экран конфигурацияларининг ҳеч бири актив конфигурацияга " 219 | #~ "мос келмади" 220 | 221 | #~ msgid "Mirrored Displays" 222 | #~ msgstr "Ойна экранлар" 223 | 224 | #~ msgid "Mirror Screens" 225 | #~ msgstr "Ойна экранлар" 226 | -------------------------------------------------------------------------------- /tests/bg-slide-show.c: -------------------------------------------------------------------------------- 1 | /* -*- mode: C; c-file-style: "linux"; indent-tabs-mode: t -*- 2 | * 3 | * Copyright (C) 2021 Robert Marcano 4 | * 5 | * This program is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU General Public License 7 | * as published by the Free Software Foundation; either version 2 8 | * of the License, or (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | */ 19 | 20 | #include 21 | #define GNOME_DESKTOP_USE_UNSTABLE_API 22 | #include 23 | 24 | void 25 | test_starttime (void) 26 | { 27 | GTimeZone *tz; 28 | GDateTime *reference_time, *slide_show_time; 29 | GnomeBGSlideShow *slide_show; 30 | gboolean loaded; 31 | 32 | tz = g_time_zone_new_local (); 33 | /* Load reference time to be compared with the one on the XML file */ 34 | reference_time = g_date_time_new_from_iso8601 ("2021-04-02T13:14:15", tz); 35 | g_assert (reference_time != NULL); 36 | 37 | g_time_zone_unref (tz); 38 | 39 | /* Parsing XML file */ 40 | slide_show = gnome_bg_slide_show_new ("starttime.xml"); 41 | loaded = gnome_bg_slide_show_load (slide_show, NULL); 42 | g_assert (loaded); 43 | 44 | /* Test if the slide show start time is the same that the reference time */ 45 | slide_show_time = g_date_time_new_from_unix_local (gnome_bg_slide_show_get_start_time (slide_show)); 46 | g_assert (g_date_time_compare (reference_time, slide_show_time) == 0); 47 | 48 | g_date_time_unref (reference_time); 49 | g_date_time_unref (slide_show_time); 50 | g_object_unref (slide_show); 51 | } 52 | 53 | static void 54 | test_starttime_subprocess (const char *tz_str) 55 | { 56 | if (g_test_subprocess ()) { 57 | g_setenv ("TZ", tz_str, TRUE); 58 | tzset (); 59 | test_starttime (); 60 | return; 61 | } 62 | 63 | g_test_trap_subprocess (NULL, 0, 0); 64 | g_test_trap_assert_passed (); 65 | } 66 | 67 | static void 68 | test_starttime_no_dst (void) 69 | { 70 | test_starttime_subprocess ("C"); 71 | } 72 | 73 | static void 74 | test_starttime_dst (void) 75 | { 76 | test_starttime_subprocess ("US/Eastern"); 77 | } 78 | 79 | int 80 | main (int argc, 81 | char *argv[]) 82 | { 83 | const char *basedir; 84 | 85 | g_test_init (&argc, &argv, NULL); 86 | 87 | basedir = g_getenv ("G_TEST_SRCDIR"); 88 | if (basedir == NULL) 89 | basedir = INSTALLED_TEST_DIR; 90 | 91 | /* We need to ensure the process' current working directory 92 | * is the same as the test data in order to load the test 93 | * slide show easily. 94 | */ 95 | chdir (basedir); 96 | 97 | g_test_add_func ("/bg-slide-show/starttime-no-dst", test_starttime_no_dst); 98 | g_test_add_func ("/bg-slide-show/starttime-dst", test_starttime_dst); 99 | 100 | return g_test_run (); 101 | } 102 | -------------------------------------------------------------------------------- /tests/languages.c: -------------------------------------------------------------------------------- 1 | /* -*- mode: C; c-file-style: "linux"; indent-tabs-mode: t -*- 2 | * 3 | * Copyright (C) 2021 Dan Cîrnaț 4 | * 5 | * This program is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU General Public License 7 | * as published by the Free Software Foundation; either version 2 8 | * of the License, or (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | */ 19 | 20 | #include "config.h" 21 | 22 | #include 23 | #include 24 | #define GNOME_DESKTOP_USE_UNSTABLE_API 25 | #include 26 | #include 27 | #include 28 | 29 | static void 30 | test_using_null_locale (void) 31 | { 32 | const char *translated_territory; 33 | const char *translated_language; 34 | const char *translated_modifier; 35 | 36 | translated_territory = gnome_get_country_from_code("US", NULL); 37 | g_assert (translated_territory != NULL); 38 | 39 | translated_language = gnome_get_language_from_locale("ro", NULL); 40 | g_assert (translated_language != NULL); 41 | 42 | translated_modifier = gnome_get_translated_modifier("euro", NULL); 43 | g_assert (translated_modifier != NULL); 44 | 45 | } 46 | 47 | int 48 | main (int argc, 49 | char *argv[]) 50 | { 51 | g_setenv ("GSETTINGS_BACKEND", "memory", TRUE); 52 | 53 | g_test_init (&argc, &argv, NULL); 54 | 55 | g_test_add_func ("/languages/using-null-locale", test_using_null_locale); 56 | 57 | return g_test_run (); 58 | } 59 | -------------------------------------------------------------------------------- /tests/meson.build: -------------------------------------------------------------------------------- 1 | test_args = [ 2 | '-DG_LOG_DOMAIN="GnomeDesktop"', 3 | '-DGDK_DISABLE_DEPRECATED_WARNINGS', 4 | '-DGTK_DISABLE_DEPRECATED_WARNINGS', 5 | '-DINSTALLED_TEST_DIR="@0@"'.format(test_execdir) 6 | ] 7 | 8 | test_env = [ 9 | 'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir()), 10 | 'G_TEST_BUILDDIR=@0@'.format(meson.current_build_dir()), 11 | 'G_ENABLE_DIAGNOSTIC=0' 12 | ] 13 | 14 | test_programs = [] 15 | test_metas = [] 16 | 17 | # XXX: The current batch of tests relies on the legacy library 18 | if get_option('legacy_library') 19 | test_programs += [ 20 | 'bg-slide-show', 21 | 'wall-clock', 22 | 'languages' 23 | ] 24 | 25 | test_metas += [] 26 | endif 27 | 28 | foreach program: test_programs 29 | executable(program, program + '.c', 30 | dependencies: libgnome_desktop_dep, 31 | c_args: test_args, 32 | install_dir: test_execdir, 33 | install: get_option('installed_tests') 34 | ) 35 | 36 | if get_option('installed_tests') 37 | meta_data = configuration_data() 38 | meta_data.set('TEST_EXEC', join_paths(test_execdir, program)) 39 | 40 | test_metas += configure_file( 41 | configuration: meta_data, 42 | input: 'meta.test.in', 43 | output: program + '.test', 44 | ) 45 | endif 46 | 47 | # Don't run these tests at build-time with test(): currently both tests 48 | # rely on our locales having been installed, and at build-time that 49 | # hasn't happened yet. 50 | endforeach 51 | 52 | if get_option('installed_tests') 53 | test_data = files( 54 | 'starttime.xml', 55 | ) 56 | install_data(test_data, install_dir: test_execdir) 57 | install_data(test_metas, install_dir: test_metadir) 58 | endif 59 | -------------------------------------------------------------------------------- /tests/meta.test.in: -------------------------------------------------------------------------------- 1 | [Test] 2 | Type=session 3 | Exec=@TEST_EXEC@ --tap 4 | Output=TAP 5 | -------------------------------------------------------------------------------- /tests/starttime.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 2021 4 | 4 5 | 2 6 | 13 7 | 14 8 | 15 9 | 10 | 11 | 12 | 60.0 13 | start.png 14 | 15 | 16 | 17 | 60.0 18 | end.png 19 | 20 | 21 | 22 | --------------------------------------------------------------------------------