├── .gitlab-ci.yml ├── AUTHORS ├── COPYING ├── ChangeLog ├── ChangeLog.pre-git ├── HACKING ├── MAINTAINERS ├── NEWS ├── README ├── config.h.meson ├── doc ├── example-force-update.c ├── example-lazy-initialization.c ├── libwnck-docs.sgml └── meson.build ├── libwnck.doap ├── libwnck ├── application.c ├── application.h ├── class-group.c ├── class-group.h ├── default_icon.png ├── libwnck.h ├── meson.build ├── misc.h ├── pager-accessible-factory.c ├── pager-accessible-factory.h ├── pager-accessible.c ├── pager-accessible.h ├── pager.c ├── pager.h ├── private.h ├── resource.h ├── screen.c ├── screen.h ├── selector.c ├── selector.h ├── tasklist.c ├── tasklist.h ├── test-icon-cache.c ├── test-pager.c ├── test-selector.c ├── test-shutdown.c ├── test-tasklist.c ├── test-urgent.c ├── test-wnck.c ├── util.c ├── util.h ├── version.h.in ├── window-action-menu.c ├── window-action-menu.h ├── window.c ├── window.h ├── wnck-handle-private.h ├── wnck-handle.c ├── wnck-handle.h ├── wnck-icon-cache-private.h ├── wnck-icon-cache.c ├── wnck-image-menu-item-private.h ├── wnck-image-menu-item.c ├── wnck-macros.h ├── wnck-resource-usage-private.h ├── wnck-resource-usage.c ├── wnck.css ├── wnck.gresource.xml ├── wnckprop.c ├── workspace-accessible-factory.c ├── workspace-accessible-factory.h ├── workspace-accessible.c ├── workspace-accessible.h ├── workspace.c ├── workspace.h ├── xutils.c └── xutils.h ├── meson.build ├── meson.options ├── po ├── ChangeLog.pre-git ├── LINGUAS ├── POTFILES.in ├── am.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 ├── cy.po ├── da.po ├── de.po ├── dz.po ├── el.po ├── en@shaw.po ├── en_CA.po ├── en_GB.po ├── eo.po ├── es.po ├── et.po ├── eu.po ├── fa.po ├── fi.po ├── fr.po ├── fy.po ├── ga.po ├── gd.po ├── gl.po ├── gu.po ├── he.po ├── hi.po ├── hr.po ├── hu.po ├── id.po ├── is.po ├── it.po ├── ja.po ├── ka.po ├── kk.po ├── km.po ├── kn.po ├── ko.po ├── ku.po ├── ky.po ├── li.po ├── lt.po ├── lv.po ├── mai.po ├── meson.build ├── mi.po ├── mk.po ├── ml.po ├── mn.po ├── mr.po ├── ms.po ├── nb.po ├── ne.po ├── nl.po ├── nn.po ├── oc.po ├── or.po ├── pa.po ├── pl.po ├── pt.po ├── pt_BR.po ├── ro.po ├── ru.po ├── rw.po ├── si.po ├── sk.po ├── sl.po ├── sq.po ├── sr.po ├── sr@latin.po ├── sv.po ├── ta.po ├── te.po ├── th.po ├── tr.po ├── ug.po ├── uk.po ├── vi.po ├── wa.po ├── xh.po ├── zh_CN.po ├── zh_HK.po └── zh_TW.po └── rationales.txt /.gitlab-ci.yml: -------------------------------------------------------------------------------- 1 | variables: 2 | DEBIAN_FRONTEND: noninteractive 3 | MESON_BUILD_DIR: "_build" 4 | 5 | stages: 6 | - build 7 | - release 8 | 9 | .base_build_template: &base_build 10 | stage: build 11 | image: ubuntu:devel 12 | 13 | .ubuntu_deps_install_template: &ubuntu_deps_install 14 | apt-get update && 15 | apt-get install -q -y --no-install-recommends 16 | build-essential 17 | docbook-xml 18 | gettext 19 | git 20 | gobject-introspection 21 | gtk-doc-tools 22 | libgirepository1.0-dev 23 | libglib2.0-dev 24 | libglib2.0-doc 25 | libgtk-3-dev 26 | libgtk-3-doc 27 | libstartup-notification0-dev 28 | libx11-dev 29 | libxext-dev 30 | libxres-dev 31 | meson 32 | ninja-build 33 | 34 | build:ubuntu:meson: 35 | <<: *base_build 36 | before_script: 37 | - *ubuntu_deps_install 38 | script: 39 | - meson setup "${MESON_BUILD_DIR}" -Dgtk_doc=true 40 | - ninja -C "${MESON_BUILD_DIR}" 41 | - meson dist -C "${MESON_BUILD_DIR}" 42 | artifacts: 43 | name: "${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}" 44 | when: always 45 | paths: 46 | - "${MESON_BUILD_DIR}/meson-dist/${CI_PROJECT_NAME}-*.tar.xz" 47 | 48 | release: 49 | image: ubuntu:devel 50 | stage: release 51 | needs: 52 | - job: "build:ubuntu:meson" 53 | artifacts: true 54 | before_script: 55 | - apt-get update 56 | - apt-get install -q -y --no-install-recommends 57 | ca-certificates 58 | curl 59 | variables: 60 | GNOME_RELEASE_SERVICE_API_URL: "https://gnome-release-route-gnome-release-service.apps.openshift.gnome.org" 61 | GNOME_RELEASE_SERVICE_API_INSTALL_MODULE_RELEASE_ENDPOINT: "$GNOME_RELEASE_SERVICE_API_URL/install-module-release" 62 | TARBALL_ARTIFACT_PATH: "${MESON_BUILD_DIR}/meson-dist/${CI_PROJECT_NAME}-${CI_COMMIT_TAG}.tar.xz" 63 | id_tokens: 64 | JWT_TOKEN: 65 | aud: gnome-release-service 66 | script: 67 | - ls -al "${TARBALL_ARTIFACT_PATH}" 68 | - > 69 | curl --fail-with-body -X POST "$GNOME_RELEASE_SERVICE_API_INSTALL_MODULE_RELEASE_ENDPOINT" 70 | -H "Authorization: Bearer $JWT_TOKEN" 71 | -F "tarball=@${TARBALL_ARTIFACT_PATH}" 72 | rules: 73 | - if: $CI_COMMIT_TAG && $CI_COMMIT_REF_PROTECTED 74 | -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- 1 | Havoc Pennington 2 | Vincent Untz 3 | -------------------------------------------------------------------------------- /ChangeLog: -------------------------------------------------------------------------------- 1 | === ChangeLog discontinued === 2 | 3 | With the move to git, this module is switching from a ChangeLog file to 4 | relying on commit messages to provide change history. Please write commit 5 | messages in the format described at http://live.gnome.org/Git/CommitMessages 6 | 7 | Below is a copy of this format: 8 | 9 | === begin example commit === 10 | tag: Short explanation of the commit 11 | 12 | Longer explanation explaining exactly what's changed, whether any 13 | external or private interfaces changed, what bugs were fixed (with bug 14 | tracker reference if applicable) and so forth. Be concise but not too brief. 15 | === end example commit === 16 | 17 | - The commit message is mainly for the other people, so they should be able 18 | to understand it now and six months later. 19 | 20 | - Always add a brief description of the commit to the _first_ line of the 21 | commit and terminate by two newlines (it will work without the second 22 | newline, but that is not nice for the interfaces). 23 | 24 | - First line (the brief description) must only be one sentence and should 25 | start with a capital letter unless it starts with a lowercase symbol or 26 | identifier. Don't use a trailing period either. Don't exceed 72 characters. 27 | 28 | - You can prefix the first line with one tag, to make it easier to know to 29 | which part of the module the commit applies. For example, a commit with 30 | "fish: Make it work with newer fortune" in the gnome-panel module clearly 31 | applies to the fish applet. 32 | 33 | - The main description (the body) is normal prose and should use normal 34 | punctuation and capital letters where appropriate. Normally, for patches 35 | sent to a mailing list, the body is copied from there. This main 36 | description can be empty if the change is self-explanatory (eg: "Add DOAP 37 | file"). 38 | 39 | - When committing code on behalf of others use the --author option, e.g. git 40 | commit -a --author "Joe Coder ". 41 | 42 | - When referring to a bug, you can use this form: bgo#12345. Use bgo for 43 | bugzilla.gnome.org, but you can also reference bugs in other bug trackers: 44 | rh means bugzilla.redhat.com, bnc means bugzilla.novell.com, lp means 45 | launchpad.net, etc. Whenever possible, use the full URL of the bug, though. 46 | 47 | - When a commit closes a bug, the commit message should contain a line like: 48 | Closes: http://bugzilla.gnome.org/show_bug.cgi?id=12345 49 | or simply: 50 | http://bugzilla.gnome.org/show_bug.cgi?id=12345 51 | -------------------------------------------------------------------------------- /ChangeLog.pre-git: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/libwnck/6cfab699e924bbf7d1a71a8679ed160fc66d43e1/ChangeLog.pre-git -------------------------------------------------------------------------------- /HACKING: -------------------------------------------------------------------------------- 1 | Substantive patches can be approved by any two of the current 2 | maintainers (see the MAINTAINERS file), obvious patches by any one of 3 | them. 4 | 5 | libwnck sits halfway between the panel (as an applet) and the window 6 | manager. libwnck can be used by other applications and thus isn't 7 | technically limited to usage as an applet, but it is not stable and 8 | thus other usage isn't recommended unless you want to update your app 9 | often. If you'd like to work on libwnck, some useful places to look 10 | for more information are: 11 | 12 | gnome-applets/HACKING 13 | The HACKING file in gnome-applets contains links, tips, and 14 | information on writing panel applets, debugging them, and various 15 | best practices with them 16 | 17 | metacity/HACKING 18 | The HACKING file in metacity contains information on the ICCCM and 19 | EWMH which cover relevant X and freedesktop.org standards for 20 | communication between the window manager, specialized programs 21 | like the window list and workspace switcher applets, and clients. 22 | 23 | http://pobox.com/~hp/features.html 24 | devilspie is for crack. Not libwnck. 25 | 26 | gnome-panel/applets/wncklet/ 27 | The actual panel applets based on libwnck (the window list, window 28 | selector, workspace switcher and show desktop button) are found in 29 | this directory under gnome-panel, and all run as the process 30 | "wnck-applet". 31 | 32 | rationales.txt 33 | This file contains bugs that explains UI choices we've made (kind 34 | of empty at the moment, but we'll fill it in over time--it's 35 | similar to the file with the same name in the metacity module), 36 | and also has a bunch of tracker bugs which serve to help 37 | categorize bugs. 38 | -------------------------------------------------------------------------------- /MAINTAINERS: -------------------------------------------------------------------------------- 1 | Currently active maintainers 2 | ---------------------------- 3 | 4 | Elijah Newren 5 | E-mail: newren@gmail.com 6 | Userid: newren 7 | 8 | Marco Trevisan 9 | E-mail: mail@3v1n0.net 10 | Userid: marcotrevi 11 | 12 | Semi-active maintainers 13 | ----------------------- 14 | 15 | I don't know Havoc's userid, so I just commented this :-) -- Vincent 16 | 17 | #Havoc Pennington 18 | #E-mail: hp@redhat.com 19 | #Userid: hp 20 | 21 | Non-active maintainers, who have a good understanding of the code 22 | ----------------------------------------------------------------- 23 | 24 | #Mark McLoughlin 25 | #E-mail: mark@skynet.ie 26 | 27 | #Vincent Untz 28 | #E-mail: vuntz@gnome.org 29 | #Userid: vuntz 30 | -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- 1 | libwnck 2 | ======= 3 | 4 | libwnck is Window Navigator Construction Kit, i.e. a library to use 5 | for writing pagers and taskslists and stuff. 6 | 7 | libwnck is not supported in the devel platform, which means OS vendors 8 | won't guarantee the API/ABI long-term, but authors of open source apps 9 | should feel free to use libwnck as users can always recompile against 10 | a new version. The API/ABI has historically changed very little: we are 11 | not changing it gratuitously or without soname increments. 12 | 13 | Documentation for the API is available with gtk-doc. The code 14 | implementing the tasklist or pager widgets (tasklist.c and pager.c) can 15 | also be used as sample code. 16 | 17 | You may download updates to the package from: 18 | 19 | https://download.gnome.org/sources/libwnck/ 20 | 21 | To discuss libwnck, you may use the GNOME forum: 22 | 23 | https://discourse.gnome.org/c/platform/ 24 | 25 | 26 | Installation 27 | ============ 28 | 29 | See the file 'INSTALL'. If you are not using a released version of 30 | libwnck (for example, if you checked out the code from git), you first 31 | need to run './autogen.sh'. 32 | 33 | 34 | How to report bugs 35 | ================== 36 | 37 | Bugs should be reported to the GNOME bug tracking system: 38 | 39 | https://gitlab.gnome.org/GNOME/libwnck/-/issues/ 40 | 41 | You will need to create an account for yourself. 42 | 43 | Please read the following page on how to prepare a useful bug report: 44 | 45 | https://wiki.gnome.org/GettingInTouch/BugReportingGuidelines 46 | 47 | Please read the HACKING file for information on where to send changes or 48 | bugfixes for this package. 49 | -------------------------------------------------------------------------------- /config.h.meson: -------------------------------------------------------------------------------- 1 | /* Package name */ 2 | #mesondefine GETTEXT_PACKAGE 3 | 4 | /* Define if building against cairo-xlib-xrender */ 5 | #mesondefine HAVE_CAIRO_XLIB_XRENDER 6 | 7 | /* Define if the GNU gettext() function is already present or preinstalled. */ 8 | #mesondefine HAVE_GETTEXT 9 | 10 | /* Define if you have the XRes library */ 11 | #mesondefine HAVE_XRES 12 | 13 | /* Name of package */ 14 | #mesondefine PACKAGE 15 | 16 | /* Define to the full name of this package. */ 17 | #mesondefine PACKAGE_NAME 18 | 19 | /* Define to the full name and version of this package. */ 20 | #mesondefine PACKAGE_STRING 21 | 22 | /* Define to the version of this package. */ 23 | #mesondefine PACKAGE_VERSION 24 | 25 | /* Version number of package */ 26 | #mesondefine VERSION 27 | -------------------------------------------------------------------------------- /doc/example-force-update.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int 4 | main (int argc, 5 | char **argv) 6 | { 7 | WnckScreen *screen; 8 | WnckWindow *active_window; 9 | GList *window_l; 10 | 11 | gdk_init (&argc, &argv); 12 | 13 | screen = wnck_screen_get_default (); 14 | 15 | wnck_screen_force_update (screen); 16 | 17 | active_window = wnck_screen_get_active_window (screen); 18 | 19 | for (window_l = wnck_screen_get_windows (screen); window_l != NULL; window_l = window_l->next) 20 | { 21 | WnckWindow *window = WNCK_WINDOW (window_l->data); 22 | g_print ("%s%s\n", wnck_window_get_name (window), 23 | window == active_window ? " (active)" : ""); 24 | } 25 | 26 | return 0; 27 | } 28 | -------------------------------------------------------------------------------- /doc/example-lazy-initialization.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | static void 4 | on_window_opened (WnckScreen *screen, 5 | WnckWindow *window, 6 | gpointer data) 7 | { 8 | /* Note: when this event is emitted while screen is initialized, there is no 9 | * active window yet. */ 10 | 11 | g_print ("%s\n", wnck_window_get_name (window)); 12 | } 13 | 14 | static void 15 | on_active_window_changed (WnckScreen *screen, 16 | WnckWindow *previously_active_window, 17 | gpointer data) 18 | { 19 | WnckWindow *active_window; 20 | 21 | active_window = wnck_screen_get_active_window (screen); 22 | 23 | if (active_window) 24 | g_print ("active: %s\n", wnck_window_get_name (active_window)); 25 | else 26 | g_print ("no active window\n"); 27 | } 28 | 29 | int 30 | main (int argc, 31 | char **argv) 32 | { 33 | GMainLoop *loop; 34 | WnckScreen *screen; 35 | 36 | gdk_init (&argc, &argv); 37 | 38 | loop = g_main_loop_new (NULL, FALSE); 39 | screen = wnck_screen_get_default (); 40 | 41 | g_signal_connect (screen, "window-opened", 42 | G_CALLBACK (on_window_opened), NULL); 43 | g_signal_connect (screen, "active-window-changed", 44 | G_CALLBACK (on_active_window_changed), NULL); 45 | 46 | g_main_loop_run (loop); 47 | 48 | g_main_loop_unref (loop); 49 | 50 | return 0; 51 | } 52 | -------------------------------------------------------------------------------- /doc/meson.build: -------------------------------------------------------------------------------- 1 | gnome.gtkdoc(meson.project_name(), 2 | namespace: PACKAGE_NAME, 3 | mode: 'sgml', 4 | main_sgml: meson.project_name() + '-docs.sgml', 5 | src_dir: include_directories('../libwnck'), 6 | dependencies: declare_dependency( 7 | dependencies: libwnck_dep, 8 | link_with: libwnck_lib 9 | ), 10 | gobject_typesfile: meson.project_name() + '.types', 11 | ignore_headers: [ 12 | 'pager-accessible.h', 13 | 'pager-accessible-factory.h', 14 | 'wnck-enum-types.h', 15 | 'wnck-icon-cache-private.h', 16 | 'wnck-image-menu-item-private.h', 17 | 'workspace-accessible.h', 18 | 'workspace-accessible-factory.h' 19 | ], 20 | scan_args: [ 21 | '--rebuild-types', 22 | '--rebuild-sections' 23 | ], 24 | install: true, 25 | module_version: MODULE_VERSION, 26 | ) 27 | -------------------------------------------------------------------------------- /libwnck.doap: -------------------------------------------------------------------------------- 1 | 6 | 7 | libwnck 8 | Library to manage X windows and workspaces (via pagers, tasklists, etc.) 9 | Library to manage X windows and workspaces (via pagers, tasklists, etc.) 10 | 11 | 12 | 13 | 14 | 15 | C 16 | 17 | 18 | 19 | Elijah Newren 20 | 21 | 22 | 23 | 24 | 25 | 26 | Marco Trevisan 27 | 28 | marcotrevi 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /libwnck/application.h: -------------------------------------------------------------------------------- 1 | /* application object */ 2 | /* vim: set sw=2 et: */ 3 | 4 | /* 5 | * Copyright (C) 2001 Havoc Pennington 6 | * Copyright (C) 2005-2007 Vincent Untz 7 | * 8 | * This library is free software; you can redistribute it and/or 9 | * modify it under the terms of the GNU Library General Public 10 | * License as published by the Free Software Foundation; either 11 | * version 2 of the License, or (at your option) any later version. 12 | * 13 | * This 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 this library; if not, see . 20 | */ 21 | 22 | #if !defined (__LIBWNCK_H_INSIDE__) && !defined (WNCK_COMPILATION) 23 | #error "Only can be included directly." 24 | #endif 25 | 26 | #ifndef WNCK_APPLICATION_H 27 | #define WNCK_APPLICATION_H 28 | 29 | #include 30 | #include 31 | #include 32 | #include 33 | 34 | G_BEGIN_DECLS 35 | 36 | #define WNCK_TYPE_APPLICATION (wnck_application_get_type ()) 37 | #define WNCK_APPLICATION(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), WNCK_TYPE_APPLICATION, WnckApplication)) 38 | #define WNCK_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WNCK_TYPE_APPLICATION, WnckApplicationClass)) 39 | #define WNCK_IS_APPLICATION(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), WNCK_TYPE_APPLICATION)) 40 | #define WNCK_IS_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WNCK_TYPE_APPLICATION)) 41 | #define WNCK_APPLICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WNCK_TYPE_APPLICATION, WnckApplicationClass)) 42 | 43 | typedef struct _WnckApplicationClass WnckApplicationClass; 44 | typedef struct _WnckApplicationPrivate WnckApplicationPrivate; 45 | 46 | /** 47 | * WnckApplication: 48 | * 49 | * The #WnckApplication struct contains only private fields and should not be 50 | * directly accessed. 51 | */ 52 | struct _WnckApplication 53 | { 54 | GObject parent_instance; 55 | 56 | WnckApplicationPrivate *priv; 57 | }; 58 | 59 | struct _WnckApplicationClass 60 | { 61 | GObjectClass parent_class; 62 | 63 | /* app name or icon name changed */ 64 | void (* name_changed) (WnckApplication *app); 65 | 66 | /* icon changed */ 67 | void (* icon_changed) (WnckApplication *app); 68 | 69 | /* Padding for future expansion */ 70 | void (* pad1) (void); 71 | void (* pad2) (void); 72 | void (* pad3) (void); 73 | void (* pad4) (void); 74 | }; 75 | 76 | WNCK_EXPORT 77 | GType wnck_application_get_type (void) G_GNUC_CONST; 78 | 79 | WNCK_EXPORT 80 | gulong wnck_application_get_xid (WnckApplication *app); 81 | 82 | WNCK_EXPORT 83 | GList* wnck_application_get_windows (WnckApplication *app); 84 | 85 | WNCK_EXPORT 86 | int wnck_application_get_n_windows (WnckApplication *app); 87 | 88 | /* application_get_name, application_get_pid, etc.; prefer to read 89 | * properties straight off the group leader, and failing that, if the 90 | * prop is the same for all windows in the app, return the values for 91 | * the window. Failing that, they make stuff up. 92 | */ 93 | WNCK_EXPORT 94 | const char* wnck_application_get_name (WnckApplication *app); 95 | 96 | WNCK_EXPORT 97 | const char* wnck_application_get_icon_name (WnckApplication *app); 98 | 99 | WNCK_EXPORT 100 | int wnck_application_get_pid (WnckApplication *app); 101 | 102 | WNCK_EXPORT 103 | GdkPixbuf* wnck_application_get_icon (WnckApplication *app); 104 | 105 | WNCK_EXPORT 106 | GdkPixbuf* wnck_application_get_mini_icon (WnckApplication *app); 107 | 108 | WNCK_EXPORT 109 | gboolean wnck_application_get_icon_is_fallback (WnckApplication *app); 110 | 111 | WNCK_EXPORT 112 | const char* wnck_application_get_startup_id (WnckApplication *app); 113 | 114 | G_END_DECLS 115 | 116 | #endif /* WNCK_APPLICATION_H */ 117 | -------------------------------------------------------------------------------- /libwnck/class-group.h: -------------------------------------------------------------------------------- 1 | /* class group object */ 2 | /* vim: set sw=2 et: */ 3 | 4 | /* 5 | * Copyright (C) 2003 Ximian, Inc. 6 | * Authors: Federico Mena-Quintero 7 | * Copyright (C) 2006-2007 Vincent Untz 8 | * 9 | * This library is free software; you can redistribute it and/or 10 | * modify it under the terms of the GNU Library General Public 11 | * License as published by the Free Software Foundation; either 12 | * version 2 of the License, or (at your option) any later version. 13 | * 14 | * This 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 this library; if not, see . 21 | */ 22 | 23 | #if !defined (__LIBWNCK_H_INSIDE__) && !defined (WNCK_COMPILATION) 24 | #error "Only can be included directly." 25 | #endif 26 | 27 | #ifndef WNCK_CLASS_GROUP_H 28 | #define WNCK_CLASS_GROUP_H 29 | 30 | #include 31 | #include 32 | #include 33 | #include 34 | 35 | G_BEGIN_DECLS 36 | 37 | #define WNCK_TYPE_CLASS_GROUP (wnck_class_group_get_type ()) 38 | #define WNCK_CLASS_GROUP(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), WNCK_TYPE_CLASS_GROUP, WnckClassGroup)) 39 | #define WNCK_CLASS_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WNCK_TYPE_CLASS_GROUP, WnckClassGroupClass)) 40 | #define WNCK_IS_CLASS_GROUP(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), WNCK_TYPE_CLASS_GROUP)) 41 | #define WNCK_IS_CLASS_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WNCK_TYPE_CLASS_GROUP)) 42 | #define WNCK_CLASS_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WNCK_TYPE_CLASS_GROUP, WnckClassGroupClass)) 43 | 44 | typedef struct _WnckClassGroupClass WnckClassGroupClass; 45 | typedef struct _WnckClassGroupPrivate WnckClassGroupPrivate; 46 | 47 | /** 48 | * WnckClassGroup: 49 | * 50 | * The #WnckClassGroup struct contains only private fields and should not be 51 | * directly accessed. 52 | */ 53 | struct _WnckClassGroup 54 | { 55 | GObject parent_instance; 56 | 57 | WnckClassGroupPrivate *priv; 58 | }; 59 | 60 | struct _WnckClassGroupClass 61 | { 62 | GObjectClass parent_class; 63 | 64 | void (* name_changed) (WnckClassGroup *group); 65 | void (* icon_changed) (WnckClassGroup *group); 66 | 67 | /* Padding for future expansion */ 68 | void (* pad1) (void); 69 | void (* pad2) (void); 70 | void (* pad3) (void); 71 | void (* pad4) (void); 72 | }; 73 | 74 | WNCK_EXPORT 75 | GType wnck_class_group_get_type (void) G_GNUC_CONST; 76 | 77 | WNCK_EXPORT 78 | GList *wnck_class_group_get_windows (WnckClassGroup *class_group); 79 | 80 | WNCK_EXPORT 81 | const char * wnck_class_group_get_id (WnckClassGroup *class_group); 82 | 83 | WNCK_EXPORT 84 | const char * wnck_class_group_get_name (WnckClassGroup *class_group); 85 | 86 | WNCK_EXPORT 87 | GdkPixbuf *wnck_class_group_get_icon (WnckClassGroup *class_group); 88 | 89 | WNCK_EXPORT 90 | GdkPixbuf *wnck_class_group_get_mini_icon (WnckClassGroup *class_group); 91 | 92 | G_END_DECLS 93 | 94 | #endif /* WNCK_CLASS_GROUP_H */ 95 | -------------------------------------------------------------------------------- /libwnck/default_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/libwnck/6cfab699e924bbf7d1a71a8679ed160fc66d43e1/libwnck/default_icon.png -------------------------------------------------------------------------------- /libwnck/libwnck.h: -------------------------------------------------------------------------------- 1 | /* libwnck header */ 2 | /* vim: set sw=2 et: */ 3 | 4 | /* 5 | * Copyright (C) 2001 Havoc Pennington 6 | * 7 | * This library is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Library General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2 of the License, or (at your option) any later version. 11 | * 12 | * This 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 this library; if not, see . 19 | */ 20 | 21 | #ifndef WNCK_LIB_H 22 | #define WNCK_LIB_H 23 | 24 | #define __LIBWNCK_H_INSIDE__ 25 | 26 | #include 27 | 28 | #include 29 | #include 30 | #include 31 | #include 32 | #include 33 | 34 | #include 35 | #include 36 | #include 37 | 38 | #include 39 | #include 40 | 41 | #include 42 | 43 | #include 44 | #include 45 | 46 | #undef __LIBWNCK_H_INSIDE__ 47 | 48 | #endif /* WNCK_LIB_H */ 49 | -------------------------------------------------------------------------------- /libwnck/meson.build: -------------------------------------------------------------------------------- 1 | gnome = import('gnome') 2 | pkgconfig = import('pkgconfig') 3 | 4 | libwnck_includedir = join_paths(PACKAGE_NAME, meson.project_name()) 5 | 6 | version_data = configuration_data() 7 | version_array = meson.project_version().split('.') 8 | 9 | major_version = version_array[0].to_int() 10 | minor_version = version_array[1] 11 | micro_version = (version_array.length() == 3) ? version_array[2].to_int() : 0 12 | 13 | if minor_version == 'alpha' 14 | minor_version = 97 15 | elif minor_version == 'beta' 16 | minor_version = 98 17 | elif minor_version == 'rc' 18 | minor_version = 99 19 | else 20 | # Ensure that only numbers are expected in this case 21 | minor_version = minor_version.to_int() 22 | endif 23 | 24 | if minor_version >= 97 25 | major_version = major_version - 1 26 | endif 27 | 28 | version_data.set('WNCK_MAJOR_VERSION', major_version) 29 | version_data.set('WNCK_MINOR_VERSION', minor_version) 30 | version_data.set('WNCK_MICRO_VERSION', micro_version) 31 | 32 | headers = [ 33 | 'libwnck.h', 34 | 'pager.h', 35 | 'application.h', 36 | 'class-group.h', 37 | 'screen.h', 38 | 'selector.h', 39 | 'tasklist.h', 40 | 'misc.h', 41 | 'resource.h', 42 | 'util.h', 43 | 'window.h', 44 | 'window-action-menu.h', 45 | 'wnck-handle.h', 46 | 'wnck-macros.h', 47 | 'workspace.h', 48 | ] 49 | 50 | headers += configure_file( 51 | input: 'version.h.in', 52 | output: 'version.h', 53 | configuration: version_data) 54 | 55 | sources = [ 56 | 'application.c', 57 | 'class-group.c', 58 | 'pager.c', 59 | 'screen.c', 60 | 'selector.c', 61 | 'tasklist.c', 62 | 'util.c', 63 | 'window-action-menu.c', 64 | 'window.c', 65 | 'wnck-handle.c', 66 | 'wnck-icon-cache.c', 67 | 'wnck-image-menu-item.c', 68 | 'wnck-resource-usage.c', 69 | 'workspace.c', 70 | 'xutils.c', 71 | ] 72 | 73 | a11y_sources = [ 74 | 'pager-accessible.c', 75 | 'pager-accessible.h', 76 | 'pager-accessible-factory.c', 77 | 'pager-accessible-factory.h', 78 | 'workspace-accessible.c', 79 | 'workspace-accessible.h', 80 | 'workspace-accessible-factory.c', 81 | 'workspace-accessible-factory.h', 82 | ] 83 | 84 | enum_types = gnome.mkenums_simple('wnck-enum-types', 85 | sources : headers, 86 | decorator: 'WNCK_EXPORT', 87 | header_prefix: '#include ', 88 | install_header: true, 89 | install_dir: join_paths(includedir, libwnck_includedir) 90 | ) 91 | 92 | resources = gnome.compile_resources( 93 | '@0@-resources'.format(meson.project_name()), 94 | 'wnck.gresource.xml', 95 | source_dir: '.', 96 | c_name: meson.project_name() 97 | ) 98 | 99 | libwnck_cflags = [ 100 | '-DG_LOG_DOMAIN="Wnck"', 101 | '-DWNCK_I_KNOW_THIS_IS_UNSTABLE', 102 | '-DWNCK_LOCALEDIR="@0@"'.format(localedir), 103 | '-DWNCK_COMPILATION', 104 | '-DSN_API_NOT_YET_FROZEN=1' 105 | ] 106 | 107 | if get_option('deprecation_flags') 108 | foreach domain: ['G', 'ATK', 'GDK', 'GDK_PIXBUF', 'GTK', 'WNCK'] 109 | libwnck_cflags += '-D@0@_DISABLE_DEPRECATED'.format(domain) 110 | endforeach 111 | endif 112 | 113 | libwnck_dep = declare_dependency( 114 | include_directories: default_includes, 115 | dependencies: LIBWNCK_DEPS, 116 | compile_args: libwnck_cflags, 117 | sources: headers + [enum_types[1]], 118 | ) 119 | 120 | libwnck_lib = shared_library(LIBNAME, 121 | dependencies: libwnck_dep, 122 | sources: sources + a11y_sources + enum_types + resources, 123 | version: '@0@.@1@.@2@'.format(LIBWNCK_SOVERSION, LIBWNCK_CURRENT, LIBWNCK_REVISION), 124 | soversion: LIBWNCK_SOVERSION, 125 | gnu_symbol_visibility: 'hidden', 126 | install: true, 127 | ) 128 | 129 | libwnck_requires_private = [ 130 | STARTUP_NOTIFICATION_PACKAGE, 131 | X11_PACKAGE, 132 | 'pango', 133 | 'cairo', 134 | ] 135 | 136 | if conf.has('HAVE_' + XRES_PACKAGE.to_upper().underscorify()) 137 | libwnck_requires_private += XRES_PACKAGE 138 | endif 139 | 140 | pkgconfig.generate( 141 | libraries: libwnck_lib, 142 | name: 'libwnck', 143 | description: 'Window Navigator Construction Kit library', 144 | version: meson.project_version(), 145 | filebase: PACKAGE_NAME, 146 | subdirs: PACKAGE_NAME, 147 | requires: [ 148 | 'glib-2.0', 149 | 'gobject-2.0', 150 | 'gtk+-3.0' 151 | ], 152 | requires_private: libwnck_requires_private, 153 | variables: [ 154 | 'exec_prefix=${prefix}' 155 | ] 156 | ) 157 | 158 | introspection = get_option('introspection') 159 | if not introspection.disabled() 160 | find_program('g-ir-scanner', required: introspection.enabled()) 161 | gnome.generate_gir(libwnck_lib, 162 | sources: headers + sources + enum_types, 163 | namespace: 'Wnck', 164 | nsversion: MODULE_VERSION, 165 | export_packages: PACKAGE_NAME, 166 | includes: ['GObject-2.0', 'GdkPixbuf-2.0', 'Gtk-3.0'], 167 | extra_args: '--c-include=@0@/@0@.h'.format(meson.project_name()), 168 | install: true 169 | ) 170 | endif 171 | 172 | install_headers(headers, subdir: libwnck_includedir) 173 | 174 | progs = [ 175 | 'wnckprop', 176 | ] 177 | 178 | test_progs = [ 179 | 'test-wnck', 180 | 'test-tasklist', 181 | 'test-selector', 182 | 'test-pager', 183 | 'test-urgent', 184 | 'test-shutdown', 185 | 'test-icon-cache', 186 | ] 187 | 188 | foreach prog: progs + test_progs 189 | executable(prog, [prog + '.c'], 190 | include_directories: default_includes, 191 | dependencies: libwnck_dep, 192 | link_with: libwnck_lib, 193 | install: progs.contains(prog) and get_option('install_tools'), 194 | install_dir: bindir) 195 | endforeach 196 | -------------------------------------------------------------------------------- /libwnck/misc.h: -------------------------------------------------------------------------------- 1 | /* util header */ 2 | /* vim: set sw=2 et: */ 3 | 4 | /* 5 | * Copyright (C) 2001 Havoc Pennington 6 | * Copyright (C) 2003 Red Hat, Inc. 7 | * Copyright (C) 2006-2007 Vincent Untz 8 | * 9 | * This library is free software; you can redistribute it and/or 10 | * modify it under the terms of the GNU Library General Public 11 | * License as published by the Free Software Foundation; either 12 | * version 2 of the License, or (at your option) any later version. 13 | * 14 | * This 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 this library; if not, see . 21 | */ 22 | 23 | #if !defined (__LIBWNCK_H_INSIDE__) && !defined (WNCK_COMPILATION) 24 | #error "Only can be included directly." 25 | #endif 26 | 27 | #ifndef WNCK_MISC_H 28 | #define WNCK_MISC_H 29 | 30 | #include 31 | #include 32 | 33 | G_BEGIN_DECLS 34 | 35 | /** 36 | * WnckClientType: 37 | * @WNCK_CLIENT_TYPE_APPLICATION: the libwnck user is a normal application. 38 | * @WNCK_CLIENT_TYPE_PAGER: the libwnck user is an utility application dealing 39 | * with window management, like pagers and taskbars. 40 | * 41 | * Type describing the role of the libwnck user. 42 | * 43 | * Since: 2.14 44 | */ 45 | typedef enum { 46 | WNCK_CLIENT_TYPE_APPLICATION = 1, 47 | WNCK_CLIENT_TYPE_PAGER = 2 48 | } WnckClientType; 49 | 50 | WNCK_EXPORT 51 | void wnck_shutdown (void); 52 | 53 | G_END_DECLS 54 | 55 | #endif /* WNCK_MISC_H */ 56 | -------------------------------------------------------------------------------- /libwnck/pager-accessible-factory.c: -------------------------------------------------------------------------------- 1 | /* vim: set sw=2 et: */ 2 | /* 3 | * Copyright 2002 Sun Microsystems Inc. 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Lesser General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 2 of the License, or (at your option) any later version. 9 | * 10 | * This library 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 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 library; if not, see . 17 | */ 18 | 19 | #include 20 | #include "pager-accessible-factory.h" 21 | #include "pager-accessible.h" 22 | 23 | G_DEFINE_TYPE (WnckPagerAccessibleFactory, 24 | wnck_pager_accessible_factory, ATK_TYPE_OBJECT_FACTORY); 25 | 26 | static AtkObject* wnck_pager_accessible_factory_create_accessible (GObject *obj); 27 | 28 | static GType wnck_pager_accessible_factory_get_accessible_type (void); 29 | 30 | static void 31 | wnck_pager_accessible_factory_class_init (WnckPagerAccessibleFactoryClass *klass) 32 | { 33 | AtkObjectFactoryClass *class = ATK_OBJECT_FACTORY_CLASS (klass); 34 | 35 | class->create_accessible = wnck_pager_accessible_factory_create_accessible; 36 | class->get_accessible_type = wnck_pager_accessible_factory_get_accessible_type; 37 | } 38 | 39 | static void 40 | wnck_pager_accessible_factory_init (WnckPagerAccessibleFactory *factory) 41 | { 42 | } 43 | 44 | AtkObjectFactory* 45 | wnck_pager_accessible_factory_new (void) 46 | { 47 | GObject *factory; 48 | 49 | factory = g_object_new (WNCK_TYPE_PAGER_ACCESSIBLE_FACTORY, NULL); 50 | 51 | return ATK_OBJECT_FACTORY (factory); 52 | } 53 | 54 | static AtkObject* 55 | wnck_pager_accessible_factory_create_accessible (GObject *obj) 56 | { 57 | GtkWidget *widget; 58 | 59 | g_return_val_if_fail (GTK_IS_WIDGET (obj), NULL); 60 | 61 | widget = GTK_WIDGET (obj); 62 | return wnck_pager_accessible_new (widget); 63 | } 64 | 65 | static GType 66 | wnck_pager_accessible_factory_get_accessible_type (void) 67 | { 68 | return WNCK_PAGER_TYPE_ACCESSIBLE; 69 | } 70 | -------------------------------------------------------------------------------- /libwnck/pager-accessible-factory.h: -------------------------------------------------------------------------------- 1 | /* vim: set sw=2 et: */ 2 | /* 3 | * Copyright 2002 Sun Microsystems Inc. 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Lesser General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 2 of the License, or (at your option) any later version. 9 | * 10 | * This library 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 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 library; if not, see . 17 | */ 18 | 19 | #ifndef __WNCK_PAGER_ACCESSIBLE_FACTORY_H__ 20 | #define __WNCK_PAGER_ACCESSIBLE_FACTORY_H__ 21 | 22 | #include 23 | 24 | G_BEGIN_DECLS 25 | 26 | #define WNCK_TYPE_PAGER_ACCESSIBLE_FACTORY (wnck_pager_accessible_factory_get_type()) 27 | #define WNCK_PAGER_ACCESSIBLE_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WNCK_TYPE_PAGER_ACCESSIBLE_FACTORY, WnckpagerAccessibleFactory)) 28 | #define WNCK_PAGER_ACCESSIBLE_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WNCK_TYPE_PAGER_ACCESSIBLE_FACTORY, WnckPagerAccessibleFactoryClass)) 29 | #define WNCK_IS_PAGER_ACCESSIBLE_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WNCK_TYPE_PAGER_ACCESSIBLE_FACTORY)) 30 | #define WNCK_IS_PAGER_ACCESSIBLE_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WNCK_TYPE_PAGER_ACCESSIBLE_FACTORY)) 31 | #define WNCK_PAGER_ACCESSIBLE_FACTORY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WNCK_TYPE_PAGER_ACCESSIBLE_FACTORY, WnckPagerAccessibleFactoryClass)) 32 | 33 | typedef struct _WnckPagerAccessibleFactory WnckPagerAccessibleFactory; 34 | typedef struct _WnckPagerAccessibleFactoryClass WnckPagerAccessibleFactoryClass; 35 | 36 | struct _WnckPagerAccessibleFactory 37 | { 38 | AtkObjectFactory parent; 39 | }; 40 | 41 | struct _WnckPagerAccessibleFactoryClass 42 | { 43 | AtkObjectFactoryClass parent_class; 44 | }; 45 | 46 | GType wnck_pager_accessible_factory_get_type (void) G_GNUC_CONST; 47 | 48 | AtkObjectFactory* wnck_pager_accessible_factory_new (void); 49 | 50 | G_END_DECLS 51 | 52 | #endif /* __WNCK_PAGER_ACCESSIBLE_FACTORY_H__ */ 53 | -------------------------------------------------------------------------------- /libwnck/pager-accessible.h: -------------------------------------------------------------------------------- 1 | /* vim: set sw=2 et: */ 2 | /* 3 | * Copyright 2002 Sun Microsystems Inc. 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Lesser General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 2 of the License, or (at your option) any later version. 9 | * 10 | * This library 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 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 library; if not, see . 17 | */ 18 | 19 | #ifndef __WNCK_PAGER_ACCESSIBLE_H__ 20 | #define __WNCK_PAGER_ACCESSIBLE_H__ 21 | 22 | #include 23 | #include 24 | #include "pager.h" 25 | #include "screen.h" 26 | 27 | G_BEGIN_DECLS 28 | 29 | #define WNCK_PAGER_TYPE_ACCESSIBLE (wnck_pager_accessible_get_type ()) 30 | #define WNCK_PAGER_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WNCK_PAGER_TYPE_ACCESSIBLE, WnckPagerAccessible)) 31 | #define WNCK_PAGER_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WNCK_PAGER_TYPE_ACCESSIBLE, WnckPagerAccessibleClass)) 32 | #define WNCK_PAGER_IS_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WNCK_PAGER_TYPE_ACCESSIBLE)) 33 | #define WNCK_PAGER_IS_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WnckPagerAccessible)) 34 | #define WNCK_PAGER_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WNCK_PAGER_TYPE_ACCESSIBLE, WnckPagerAccessibleClass)) 35 | 36 | typedef struct _WnckPagerAccessible WnckPagerAccessible; 37 | typedef struct _WnckPagerAccessibleClass WnckPagerAccessibleClass; 38 | 39 | struct _WnckPagerAccessible 40 | { 41 | GtkAccessible parent; 42 | }; 43 | 44 | struct _WnckPagerAccessibleClass 45 | { 46 | GtkAccessibleClass parent_class; 47 | }; 48 | 49 | GType wnck_pager_accessible_get_type (void) G_GNUC_CONST; 50 | 51 | AtkObject* wnck_pager_accessible_new (GtkWidget *widget); 52 | 53 | G_END_DECLS 54 | 55 | #endif /* __WNCK_PAGER_ACCESSIBLE_H__ */ 56 | -------------------------------------------------------------------------------- /libwnck/pager.h: -------------------------------------------------------------------------------- 1 | /* pager object */ 2 | /* vim: set sw=2 et: */ 3 | 4 | /* 5 | * Copyright (C) 2001 Havoc Pennington 6 | * Copyright (C) 2003, 2005-2007 Vincent Untz 7 | * 8 | * This library is free software; you can redistribute it and/or 9 | * modify it under the terms of the GNU Library General Public 10 | * License as published by the Free Software Foundation; either 11 | * version 2 of the License, or (at your option) any later version. 12 | * 13 | * This 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 this library; if not, see . 20 | */ 21 | 22 | #if !defined (__LIBWNCK_H_INSIDE__) && !defined (WNCK_COMPILATION) 23 | #error "Only can be included directly." 24 | #endif 25 | 26 | #ifndef WNCK_PAGER_H 27 | #define WNCK_PAGER_H 28 | 29 | #include 30 | #include 31 | #include 32 | 33 | G_BEGIN_DECLS 34 | 35 | #define WNCK_TYPE_PAGER (wnck_pager_get_type ()) 36 | #define WNCK_PAGER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), WNCK_TYPE_PAGER, WnckPager)) 37 | #define WNCK_PAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WNCK_TYPE_PAGER, WnckPagerClass)) 38 | #define WNCK_IS_PAGER(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), WNCK_TYPE_PAGER)) 39 | #define WNCK_IS_PAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WNCK_TYPE_PAGER)) 40 | #define WNCK_PAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WNCK_TYPE_PAGER, WnckPagerClass)) 41 | 42 | typedef struct _WnckPager WnckPager; 43 | typedef struct _WnckPagerClass WnckPagerClass; 44 | typedef struct _WnckPagerPrivate WnckPagerPrivate; 45 | 46 | /** 47 | * WnckPager: 48 | * 49 | * The #WnckPager struct contains only private fields and should not be 50 | * directly accessed. 51 | */ 52 | struct _WnckPager 53 | { 54 | GtkContainer parent_instance; 55 | 56 | WnckPagerPrivate *priv; 57 | }; 58 | 59 | struct _WnckPagerClass 60 | { 61 | GtkContainerClass parent_class; 62 | 63 | /* Padding for future expansion */ 64 | void (* pad1) (void); 65 | void (* pad2) (void); 66 | void (* pad3) (void); 67 | void (* pad4) (void); 68 | }; 69 | 70 | /** 71 | * WnckPagerDisplayMode: 72 | * @WNCK_PAGER_DISPLAY_NAME: the #WnckPager will only display the names of the 73 | * workspaces. 74 | * @WNCK_PAGER_DISPLAY_CONTENT: the #WnckPager will display a representation 75 | * for each window in the workspaces. 76 | * 77 | * Mode defining what a #WnckPager will display. 78 | */ 79 | typedef enum { 80 | WNCK_PAGER_DISPLAY_NAME, 81 | WNCK_PAGER_DISPLAY_CONTENT 82 | } WnckPagerDisplayMode; 83 | 84 | /** 85 | * WnckPagerScrollMode: 86 | * @WNCK_PAGER_SCROLL_2D: given that the workspaces are set up in multiple rows, 87 | * scrolling on the #WnckPager will cycle through the workspaces as if on a 88 | * 2-dimensional map. Example cycling order with 2 rows and 4 workspaces: 1 3 2 4. 89 | * @WNCK_PAGER_SCROLL_1D: the #WnckPager will always cycle workspaces in a linear 90 | * manner, irrespective of how many rows are configured. (Hint: Better for mice) 91 | * Example cycling order with 2 rows and 4 workspaces: 1 2 3 4. 92 | * @WNCK_PAGER_SCROLL_NONE: the #WnckPager will not cycle workspaces. Since 3.40. 93 | * 94 | * Mode defining in which order scrolling on a #WnckPager will cycle through workspaces. 95 | * 96 | * Since: 3.36 97 | */ 98 | typedef enum { 99 | WNCK_PAGER_SCROLL_2D, 100 | WNCK_PAGER_SCROLL_1D, 101 | WNCK_PAGER_SCROLL_NONE 102 | } WnckPagerScrollMode; 103 | 104 | WNCK_EXPORT 105 | GType wnck_pager_get_type (void) G_GNUC_CONST; 106 | 107 | WNCK_EXPORT 108 | GtkWidget* wnck_pager_new_with_handle (WnckHandle *handle); 109 | 110 | WNCK_EXPORT 111 | gboolean wnck_pager_set_orientation (WnckPager *pager, 112 | GtkOrientation orientation); 113 | 114 | WNCK_EXPORT 115 | gboolean wnck_pager_set_n_rows (WnckPager *pager, 116 | int n_rows); 117 | 118 | WNCK_EXPORT 119 | void wnck_pager_set_display_mode (WnckPager *pager, 120 | WnckPagerDisplayMode mode); 121 | 122 | WNCK_EXPORT 123 | void wnck_pager_set_scroll_mode (WnckPager *pager, 124 | WnckPagerScrollMode scroll_mode); 125 | 126 | WNCK_EXPORT 127 | void wnck_pager_set_show_all (WnckPager *pager, 128 | gboolean show_all_workspaces); 129 | 130 | WNCK_EXPORT 131 | void wnck_pager_set_shadow_type (WnckPager *pager, 132 | GtkShadowType shadow_type); 133 | 134 | WNCK_EXPORT 135 | void wnck_pager_set_wrap_on_scroll (WnckPager *pager, 136 | gboolean wrap_on_scroll); 137 | 138 | WNCK_EXPORT 139 | gboolean wnck_pager_get_wrap_on_scroll (WnckPager *pager); 140 | 141 | G_END_DECLS 142 | 143 | #endif /* WNCK_PAGER_H */ 144 | -------------------------------------------------------------------------------- /libwnck/private.h: -------------------------------------------------------------------------------- 1 | /* Private stuff */ 2 | /* vim: set sw=2 et: */ 3 | 4 | /* 5 | * Copyright (C) 2001 Havoc Pennington 6 | * Copyright (C) 2006-2007 Vincent Untz 7 | * 8 | * This library is free software; you can redistribute it and/or 9 | * modify it under the terms of the GNU Library General Public 10 | * License as published by the Free Software Foundation; either 11 | * version 2 of the License, or (at your option) any later version. 12 | * 13 | * This 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 this library; if not, see . 20 | */ 21 | 22 | #ifndef WNCK_PRIVATE_H 23 | #define WNCK_PRIVATE_H 24 | 25 | #include "screen.h" 26 | #include "window.h" 27 | #include "workspace.h" 28 | #include "application.h" 29 | #include "xutils.h" 30 | #include "pager.h" 31 | #include "util.h" 32 | #include "wnck-handle-private.h" 33 | 34 | G_BEGIN_DECLS 35 | 36 | #define WNCK_ACTIVATE_TIMEOUT 1 37 | 38 | WnckHandle *_wnck_get_handle (void); 39 | 40 | void _wnck_application_process_property_notify (WnckApplication *app, 41 | XEvent *xevent); 42 | void _wnck_window_process_property_notify (WnckWindow *window, 43 | XEvent *xevent); 44 | 45 | void _wnck_screen_process_property_notify (WnckScreen *screen, 46 | XEvent *xevent); 47 | void _wnck_window_process_configure_notify (WnckWindow *window, 48 | XEvent *xevent); 49 | WnckWindow* _wnck_window_create (Window xwindow, 50 | WnckScreen *screen, 51 | gint sort_order); 52 | void _wnck_window_destroy (WnckWindow *window); 53 | 54 | void _wnck_window_invalidate_icons (WnckWindow *self); 55 | 56 | char* _wnck_window_get_name_for_display (WnckWindow *window, 57 | gboolean use_icon_name, 58 | gboolean use_state_decorations); 59 | 60 | time_t _wnck_window_get_needs_attention_time (WnckWindow *window); 61 | time_t _wnck_window_or_transient_get_needs_attention_time (WnckWindow *window); 62 | 63 | gboolean _wnck_window_get_has_group_leader (WnckWindow *window); 64 | 65 | WnckWorkspace* _wnck_workspace_create (int number, 66 | WnckScreen *screen); 67 | void _wnck_workspace_destroy (WnckWorkspace *space); 68 | 69 | void _wnck_window_set_application (WnckWindow *window, 70 | WnckApplication *app); 71 | 72 | void _wnck_window_set_class_group (WnckWindow *window, 73 | WnckClassGroup *class_group); 74 | 75 | /* this one is in pager.c since it needs code from there to draw the icon */ 76 | void _wnck_window_set_as_drag_icon (WnckWindow *window, 77 | GdkDragContext *context, 78 | GtkWidget *drag_source); 79 | 80 | void _wnck_application_add_window (WnckApplication *app, 81 | WnckWindow *window); 82 | void _wnck_application_remove_window (WnckApplication *app, 83 | WnckWindow *window); 84 | 85 | WnckApplication* _wnck_application_create (Window xwindow, 86 | gboolean has_group_leader, 87 | WnckScreen *screen); 88 | void _wnck_application_destroy (WnckApplication *app); 89 | void _wnck_application_invalidate_icons (WnckApplication *self); 90 | 91 | WnckClassGroup *_wnck_class_group_create (WnckScreen *screen, 92 | const char *res_class); 93 | 94 | void _wnck_class_group_destroy (WnckClassGroup *class_group); 95 | void _wnck_class_group_add_window (WnckClassGroup *class_group, 96 | WnckWindow *window); 97 | void _wnck_class_group_remove_window (WnckClassGroup *class_group, 98 | WnckWindow *window); 99 | 100 | void _wnck_workspace_update_name (WnckWorkspace *workspace, 101 | const char *name); 102 | void _wnck_screen_change_workspace_name (WnckScreen *screen, 103 | int number, 104 | const char *name); 105 | 106 | gboolean _wnck_workspace_set_geometry (WnckWorkspace *space, int w, int h); 107 | gboolean _wnck_workspace_set_viewport (WnckWorkspace *space, int x, int y); 108 | 109 | void _wnck_init (void); 110 | Display *_wnck_get_default_display (void); 111 | 112 | #define WNCK_SCREEN_XSCREEN(screen) (_wnck_screen_get_xscreen (screen)) 113 | 114 | void _wnck_screen_construct (WnckScreen *screen, 115 | WnckHandle *handle, 116 | Display *display, 117 | int number); 118 | 119 | Window _wnck_screen_get_xroot (WnckScreen *screen); 120 | Screen *_wnck_screen_get_xscreen (WnckScreen *screen); 121 | GdkScreen *_wnck_screen_get_gdk_screen (WnckScreen *screen); 122 | 123 | void _wnck_pager_activate_workspace (WnckWorkspace *wspace, 124 | guint32 timestamp); 125 | int _wnck_pager_get_n_workspaces (WnckPager *pager); 126 | const char* _wnck_pager_get_workspace_name (WnckPager *pager, 127 | int i); 128 | WnckWorkspace* _wnck_pager_get_active_workspace (WnckPager *pager); 129 | WnckWorkspace* _wnck_pager_get_workspace (WnckPager *pager, 130 | int i); 131 | void _wnck_pager_get_workspace_rect (WnckPager *pager, 132 | int i, 133 | GdkRectangle *rect); 134 | 135 | void _make_gtk_label_bold (GtkLabel *label); 136 | void _make_gtk_label_normal (GtkLabel *label); 137 | 138 | void _wnck_selector_set_window_icon (GtkWidget *image, 139 | WnckWindow *window); 140 | 141 | void _wnck_ensure_fallback_style (void); 142 | 143 | G_END_DECLS 144 | 145 | #endif /* WNCK_PRIVATE_H */ 146 | -------------------------------------------------------------------------------- /libwnck/resource.h: -------------------------------------------------------------------------------- 1 | /* util header */ 2 | /* vim: set sw=2 et: */ 3 | 4 | /* 5 | * Copyright (C) 2001 Havoc Pennington 6 | * Copyright (C) 2003 Red Hat, Inc. 7 | * Copyright (C) 2006-2007 Vincent Untz 8 | * 9 | * This library is free software; you can redistribute it and/or 10 | * modify it under the terms of the GNU Library General Public 11 | * License as published by the Free Software Foundation; either 12 | * version 2 of the License, or (at your option) any later version. 13 | * 14 | * This 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 this library; if not, see . 21 | */ 22 | 23 | #if !defined (__LIBWNCK_H_INSIDE__) && !defined (WNCK_COMPILATION) 24 | #error "Only can be included directly." 25 | #endif 26 | 27 | #ifndef WNCK_RESOURCE_H 28 | #define WNCK_RESOURCE_H 29 | 30 | #include 31 | #include 32 | 33 | G_BEGIN_DECLS 34 | 35 | typedef struct _WnckResourceUsage WnckResourceUsage; 36 | 37 | /** 38 | * WnckResourceUsage: 39 | * @total_bytes_estimate: estimation of the total number of bytes allocated in 40 | * the X server. 41 | * @pixmap_bytes: number of bytes allocated in the X server for resources of 42 | * type Pixmap. 43 | * @n_pixmaps: number of Pixmap resources allocated. 44 | * @n_windows: number of Window resources allocated. 45 | * @n_gcs: number of GContext resources allocated. 46 | * @n_pictures: number of Picture resources allocated. 47 | * @n_glyphsets: number of Glyphset resources allocated. 48 | * @n_fonts: number of Font resources allocated. 49 | * @n_colormap_entries: number of Colormap resources allocated. 50 | * @n_passive_grabs: number of PassiveGrab resources allocated. 51 | * @n_cursors: number of Cursor resources allocated. 52 | * @n_other: number of other resources allocated. 53 | * 54 | * The #WnckResourceUsage struct contains information about the total resource 55 | * usage of an X client, and the number of resources allocated for each 56 | * resource type. 57 | * 58 | * Since: 2.6 59 | */ 60 | struct _WnckResourceUsage 61 | { 62 | gulong total_bytes_estimate; 63 | 64 | gulong pixmap_bytes; 65 | 66 | unsigned int n_pixmaps; 67 | unsigned int n_windows; 68 | unsigned int n_gcs; 69 | unsigned int n_pictures; 70 | unsigned int n_glyphsets; 71 | unsigned int n_fonts; 72 | unsigned int n_colormap_entries; 73 | unsigned int n_passive_grabs; 74 | unsigned int n_cursors; 75 | unsigned int n_other; 76 | 77 | /*< private >*/ 78 | unsigned int pad1; 79 | unsigned int pad2; 80 | unsigned int pad3; 81 | unsigned int pad4; 82 | unsigned int pad5; 83 | unsigned long pad6; 84 | unsigned long pad7; 85 | unsigned long pad8; 86 | unsigned long pad9; 87 | }; 88 | 89 | WNCK_EXPORT 90 | void wnck_xid_read_resource_usage (GdkDisplay *gdk_display, 91 | gulong xid, 92 | WnckResourceUsage *usage); 93 | 94 | WNCK_EXPORT 95 | void wnck_pid_read_resource_usage (GdkDisplay *gdk_display, 96 | gulong pid, 97 | WnckResourceUsage *usage); 98 | 99 | G_END_DECLS 100 | 101 | #endif /* WNCK_RESOURCE_H */ 102 | -------------------------------------------------------------------------------- /libwnck/selector.h: -------------------------------------------------------------------------------- 1 | /* selector */ 2 | /* vim: set sw=2 et: */ 3 | 4 | /* 5 | * Copyright (C) 2001 Havoc Pennington 6 | * Copyright (C) 2005-2007 Vincent Untz 7 | * 8 | * This library is free software; you can redistribute it and/or 9 | * modify it under the terms of the GNU Library General Public 10 | * License as published by the Free Software Foundation; either 11 | * version 2 of the License, or (at your option) any later version. 12 | * 13 | * This 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 this library; if not, see . 20 | */ 21 | 22 | #if !defined (__LIBWNCK_H_INSIDE__) && !defined (WNCK_COMPILATION) 23 | #error "Only can be included directly." 24 | #endif 25 | 26 | #ifndef WNCK_SELECTOR_H 27 | #define WNCK_SELECTOR_H 28 | 29 | #include 30 | #include 31 | #include 32 | 33 | G_BEGIN_DECLS 34 | #define WNCK_TYPE_SELECTOR (wnck_selector_get_type ()) 35 | #define WNCK_SELECTOR(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), WNCK_TYPE_SELECTOR, WnckSelector)) 36 | #define WNCK_SELECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WNCK_TYPE_SELECTOR, WnckSelectorClass)) 37 | #define WNCK_IS_SELECTOR(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), WNCK_TYPE_SELECTOR)) 38 | #define WNCK_IS_SELECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WNCK_TYPE_SELECTOR)) 39 | #define WNCK_SELECTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WNCK_TYPE_SELECTOR, WnckSelectorClass)) 40 | typedef struct _WnckSelector WnckSelector; 41 | typedef struct _WnckSelectorClass WnckSelectorClass; 42 | typedef struct _WnckSelectorPrivate WnckSelectorPrivate; 43 | 44 | /** 45 | * WnckSelector: 46 | * 47 | * The #WnckSelector struct contains only private fields and should not be 48 | * directly accessed. 49 | */ 50 | struct _WnckSelector 51 | { 52 | GtkMenuBar parent_instance; 53 | WnckSelectorPrivate *priv; 54 | }; 55 | 56 | struct _WnckSelectorClass 57 | { 58 | GtkMenuBarClass parent_class; 59 | 60 | /* Padding for future expansion */ 61 | void (* pad1) (void); 62 | void (* pad2) (void); 63 | void (* pad3) (void); 64 | void (* pad4) (void); 65 | }; 66 | 67 | WNCK_EXPORT 68 | GtkWidget *wnck_selector_new_with_handle (WnckHandle *handle); 69 | 70 | WNCK_EXPORT 71 | GType wnck_selector_get_type (void) G_GNUC_CONST; 72 | 73 | G_END_DECLS 74 | 75 | #endif /* WNCK_SELECTOR_H */ 76 | -------------------------------------------------------------------------------- /libwnck/tasklist.h: -------------------------------------------------------------------------------- 1 | /* tasklist object */ 2 | /* vim: set sw=2 et: */ 3 | 4 | /* 5 | * Copyright (C) 2001 Havoc Pennington 6 | * Copyright (C) 2003, 2005-2007 Vincent Untz 7 | * 8 | * This library is free software; you can redistribute it and/or 9 | * modify it under the terms of the GNU Library General Public 10 | * License as published by the Free Software Foundation; either 11 | * version 2 of the License, or (at your option) any later version. 12 | * 13 | * This 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 this library; if not, see . 20 | */ 21 | 22 | #if !defined (__LIBWNCK_H_INSIDE__) && !defined (WNCK_COMPILATION) 23 | #error "Only can be included directly." 24 | #endif 25 | 26 | #ifndef WNCK_TASKLIST_H 27 | #define WNCK_TASKLIST_H 28 | 29 | #include 30 | #include 31 | #include 32 | 33 | G_BEGIN_DECLS 34 | 35 | #define WNCK_TYPE_TASKLIST (wnck_tasklist_get_type ()) 36 | #define WNCK_TASKLIST(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), WNCK_TYPE_TASKLIST, WnckTasklist)) 37 | #define WNCK_TASKLIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WNCK_TYPE_TASKLIST, WnckTasklistClass)) 38 | #define WNCK_IS_TASKLIST(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), WNCK_TYPE_TASKLIST)) 39 | #define WNCK_IS_TASKLIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WNCK_TYPE_TASKLIST)) 40 | #define WNCK_TASKLIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WNCK_TYPE_TASKLIST, WnckTasklistClass)) 41 | 42 | typedef struct _WnckTasklist WnckTasklist; 43 | typedef struct _WnckTasklistClass WnckTasklistClass; 44 | typedef struct _WnckTasklistPrivate WnckTasklistPrivate; 45 | 46 | /** 47 | * WnckTasklist: 48 | * 49 | * The #WnckTasklist struct contains only private fields and should not be 50 | * directly accessed. 51 | */ 52 | struct _WnckTasklist 53 | { 54 | GtkContainer parent_instance; 55 | 56 | WnckTasklistPrivate *priv; 57 | }; 58 | 59 | struct _WnckTasklistClass 60 | { 61 | GtkContainerClass parent_class; 62 | 63 | /* Padding for future expansion */ 64 | void (* pad1) (void); 65 | void (* pad2) (void); 66 | void (* pad3) (void); 67 | void (* pad4) (void); 68 | }; 69 | 70 | /** 71 | * WnckTasklistGroupingType: 72 | * @WNCK_TASKLIST_NEVER_GROUP: never group multiple #WnckWindow of the same 73 | * #WnckApplication. 74 | * @WNCK_TASKLIST_AUTO_GROUP: group multiple #WnckWindow of the same 75 | * #WnckApplication for some #WnckApplication, when there is not enough place 76 | * to have a good-looking list of all #WnckWindow. 77 | * @WNCK_TASKLIST_ALWAYS_GROUP: always group multiple #WnckWindow of the same 78 | * #WnckApplication, for all #WnckApplication. 79 | * 80 | * Type defining the policy of the #WnckTasklist for grouping multiple 81 | * #WnckWindow of the same #WnckApplication. 82 | */ 83 | typedef enum { 84 | WNCK_TASKLIST_NEVER_GROUP, 85 | WNCK_TASKLIST_AUTO_GROUP, 86 | WNCK_TASKLIST_ALWAYS_GROUP 87 | } WnckTasklistGroupingType; 88 | 89 | WNCK_EXPORT 90 | GType wnck_tasklist_get_type (void) G_GNUC_CONST; 91 | 92 | WNCK_EXPORT 93 | GtkWidget *wnck_tasklist_new_with_handle (WnckHandle *handle); 94 | 95 | WNCK_EXPORT 96 | void wnck_tasklist_set_grouping (WnckTasklist *tasklist, 97 | WnckTasklistGroupingType grouping); 98 | 99 | WNCK_EXPORT 100 | void wnck_tasklist_set_switch_workspace_on_unminimize (WnckTasklist *tasklist, 101 | gboolean switch_workspace_on_unminimize); 102 | 103 | WNCK_EXPORT 104 | void wnck_tasklist_set_middle_click_close (WnckTasklist *tasklist, 105 | gboolean middle_click_close); 106 | 107 | WNCK_EXPORT 108 | void wnck_tasklist_set_grouping_limit (WnckTasklist *tasklist, 109 | gint limit); 110 | 111 | WNCK_EXPORT 112 | void wnck_tasklist_set_include_all_workspaces (WnckTasklist *tasklist, 113 | gboolean include_all_workspaces); 114 | 115 | WNCK_EXPORT 116 | void wnck_tasklist_set_button_relief (WnckTasklist *tasklist, 117 | GtkReliefStyle relief); 118 | 119 | WNCK_EXPORT 120 | void wnck_tasklist_set_orientation (WnckTasklist *tasklist, 121 | GtkOrientation orient); 122 | 123 | WNCK_EXPORT 124 | void wnck_tasklist_set_scroll_enabled (WnckTasklist *tasklist, 125 | gboolean scroll_enabled); 126 | 127 | WNCK_EXPORT 128 | gboolean wnck_tasklist_get_scroll_enabled (WnckTasklist *tasklist); 129 | 130 | WNCK_EXPORT 131 | void wnck_tasklist_set_tooltips_enabled (WnckTasklist *self, 132 | gboolean tooltips_enabled); 133 | 134 | WNCK_EXPORT 135 | gboolean wnck_tasklist_get_tooltips_enabled (WnckTasklist *self); 136 | 137 | G_END_DECLS 138 | 139 | #endif /* WNCK_TASKLIST_H */ 140 | -------------------------------------------------------------------------------- /libwnck/test-pager.c: -------------------------------------------------------------------------------- 1 | /* vim: set sw=2 et: */ 2 | 3 | #include 4 | #include 5 | 6 | static int n_rows = 1; 7 | static gboolean only_current = FALSE; 8 | static gboolean rtl = FALSE; 9 | static gboolean show_name = FALSE; 10 | static gboolean simple_scrolling = FALSE; 11 | static gboolean vertical = FALSE; 12 | static gboolean wrap_on_scroll = FALSE; 13 | 14 | static GOptionEntry entries[] = { 15 | {"n-rows", 'n', 0, G_OPTION_ARG_INT, &n_rows, "Use N_ROWS rows", "N_ROWS"}, 16 | {"only-current", 'c', 0, G_OPTION_ARG_NONE, &only_current, "Only show current workspace", NULL}, 17 | {"rtl", 'r', 0, G_OPTION_ARG_NONE, &rtl, "Use RTL as default direction", NULL}, 18 | {"show-name", 's', 0, G_OPTION_ARG_NONE, &show_name, "Show workspace names instead of workspace contents", NULL}, 19 | {"simple-scrolling", 'd', 0, G_OPTION_ARG_NONE, &simple_scrolling, "Use the simple 1d scroll mode", NULL}, 20 | {"vertical-orientation", 'v', 0, G_OPTION_ARG_NONE, &vertical, "Use a vertical orientation", NULL}, 21 | {"wrap-on-scroll", 'w', 0, G_OPTION_ARG_NONE, &wrap_on_scroll, "Wrap on scrolling over borders", NULL}, 22 | {NULL } 23 | }; 24 | 25 | static void 26 | create_pager_window (WnckHandle *handle, 27 | GtkOrientation orientation, 28 | gboolean show_all, 29 | WnckPagerDisplayMode mode, 30 | WnckPagerScrollMode scroll_mode, 31 | int rows, 32 | gboolean wrap) 33 | { 34 | GtkWidget *win; 35 | GtkWidget *pager; 36 | 37 | win = gtk_window_new (GTK_WINDOW_TOPLEVEL); 38 | 39 | gtk_window_stick (GTK_WINDOW (win)); 40 | #if 0 41 | wnck_gtk_window_set_dock_type (GTK_WINDOW (win)); 42 | #endif 43 | 44 | gtk_window_set_title (GTK_WINDOW (win), "Pager"); 45 | 46 | /* very very random */ 47 | gtk_window_move (GTK_WINDOW (win), 0, 0); 48 | 49 | /* quit on window close */ 50 | g_signal_connect (G_OBJECT (win), "destroy", 51 | G_CALLBACK (gtk_main_quit), 52 | NULL); 53 | 54 | pager = wnck_pager_new_with_handle (handle); 55 | 56 | wnck_pager_set_show_all (WNCK_PAGER (pager), show_all); 57 | wnck_pager_set_display_mode (WNCK_PAGER (pager), mode); 58 | wnck_pager_set_scroll_mode (WNCK_PAGER (pager), scroll_mode); 59 | wnck_pager_set_orientation (WNCK_PAGER (pager), orientation); 60 | wnck_pager_set_n_rows (WNCK_PAGER (pager), rows); 61 | wnck_pager_set_shadow_type (WNCK_PAGER (pager), GTK_SHADOW_IN); 62 | wnck_pager_set_wrap_on_scroll (WNCK_PAGER (pager), wrap); 63 | 64 | gtk_container_add (GTK_CONTAINER (win), pager); 65 | 66 | gtk_widget_show_all (win); 67 | } 68 | 69 | int 70 | main (int argc, char **argv) 71 | { 72 | GOptionContext *ctxt; 73 | GtkOrientation orientation; 74 | WnckPagerDisplayMode mode; 75 | WnckPagerScrollMode scroll_mode; 76 | WnckHandle *handle; 77 | WnckScreen *screen; 78 | 79 | ctxt = g_option_context_new (""); 80 | g_option_context_add_main_entries (ctxt, entries, NULL); 81 | g_option_context_add_group (ctxt, gtk_get_option_group (TRUE)); 82 | g_option_context_parse (ctxt, &argc, &argv, NULL); 83 | g_option_context_free (ctxt); 84 | ctxt = NULL; 85 | 86 | gtk_init (&argc, &argv); 87 | 88 | if (rtl) 89 | gtk_widget_set_default_direction (GTK_TEXT_DIR_RTL); 90 | 91 | handle = wnck_handle_new (WNCK_CLIENT_TYPE_APPLICATION); 92 | screen = wnck_handle_get_default_screen (handle); 93 | 94 | /* because the pager doesn't respond to signals at the moment */ 95 | wnck_screen_force_update (screen); 96 | 97 | if (vertical) 98 | orientation = GTK_ORIENTATION_VERTICAL; 99 | else 100 | orientation = GTK_ORIENTATION_HORIZONTAL; 101 | 102 | if (show_name) 103 | mode = WNCK_PAGER_DISPLAY_NAME; 104 | else 105 | mode = WNCK_PAGER_DISPLAY_CONTENT; 106 | 107 | if (simple_scrolling) 108 | scroll_mode = WNCK_PAGER_SCROLL_1D; 109 | else 110 | scroll_mode = WNCK_PAGER_SCROLL_2D; 111 | 112 | create_pager_window (handle, orientation, !only_current, mode, scroll_mode, n_rows, wrap_on_scroll); 113 | 114 | gtk_main (); 115 | 116 | g_object_unref (handle); 117 | 118 | return 0; 119 | } 120 | -------------------------------------------------------------------------------- /libwnck/test-selector.c: -------------------------------------------------------------------------------- 1 | /* vim: set sw=2 et: */ 2 | 3 | #include 4 | #include 5 | 6 | static gboolean skip_tasklist = FALSE; 7 | 8 | static GOptionEntry entries[] = { 9 | /* Translators: "tasklist" is the list of running applications (the 10 | * window list) */ 11 | {"skip-tasklist", 's', 0, G_OPTION_ARG_NONE, &skip_tasklist, "Don't show window in tasklist", NULL}, 12 | {NULL } 13 | }; 14 | 15 | int 16 | main (int argc, char **argv) 17 | { 18 | GOptionContext *ctxt; 19 | WnckHandle *handle; 20 | WnckScreen *screen; 21 | GtkWidget *win; 22 | GtkWidget *frame; 23 | GtkWidget *selector; 24 | 25 | ctxt = g_option_context_new (""); 26 | g_option_context_add_main_entries (ctxt, entries, NULL); 27 | g_option_context_add_group (ctxt, gtk_get_option_group (TRUE)); 28 | g_option_context_parse (ctxt, &argc, &argv, NULL); 29 | g_option_context_free (ctxt); 30 | ctxt = NULL; 31 | 32 | gtk_init (&argc, &argv); 33 | 34 | handle = wnck_handle_new (WNCK_CLIENT_TYPE_APPLICATION); 35 | screen = wnck_handle_get_default_screen (handle); 36 | 37 | /* because the pager doesn't respond to signals at the moment */ 38 | wnck_screen_force_update (screen); 39 | 40 | win = gtk_window_new (GTK_WINDOW_TOPLEVEL); 41 | gtk_window_set_default_size (GTK_WINDOW (win), 200, 32); 42 | gtk_window_stick (GTK_WINDOW (win)); 43 | /* wnck_gtk_window_set_dock_type (GTK_WINDOW (win)); */ 44 | 45 | gtk_window_set_title (GTK_WINDOW (win), "Window Selector"); 46 | gtk_window_set_resizable (GTK_WINDOW (win), TRUE); 47 | 48 | /* quit on window close */ 49 | g_signal_connect (G_OBJECT (win), "destroy", 50 | G_CALLBACK (gtk_main_quit), 51 | NULL); 52 | 53 | selector = wnck_selector_new_with_handle (handle); 54 | 55 | frame = gtk_frame_new (NULL); 56 | gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN); 57 | gtk_container_add (GTK_CONTAINER (win), frame); 58 | 59 | gtk_container_add (GTK_CONTAINER (frame), selector); 60 | 61 | gtk_widget_show (selector); 62 | gtk_widget_show (frame); 63 | 64 | gtk_window_move (GTK_WINDOW (win), 0, 0); 65 | 66 | if (skip_tasklist) 67 | { 68 | gtk_window_set_skip_taskbar_hint (GTK_WINDOW (win), TRUE); 69 | gtk_window_set_keep_above (GTK_WINDOW (win), TRUE); 70 | } 71 | 72 | gtk_widget_show (win); 73 | 74 | gtk_main (); 75 | 76 | g_object_unref (handle); 77 | 78 | return 0; 79 | } 80 | -------------------------------------------------------------------------------- /libwnck/test-shutdown.c: -------------------------------------------------------------------------------- 1 | /* vim: set sw=2 et: */ 2 | 3 | #include 4 | 5 | static void 6 | on_active_window_changed (WnckScreen *screen, 7 | WnckWindow *previously_active_window, 8 | gpointer data) 9 | { 10 | WnckWindow *active_window; 11 | 12 | active_window = wnck_screen_get_active_window (screen); 13 | 14 | if (active_window) 15 | g_print ("active: %s\n", wnck_window_get_name (active_window)); 16 | else 17 | g_print ("no active window\n"); 18 | } 19 | 20 | static gboolean 21 | quit_loop (gpointer data) 22 | { 23 | GMainLoop *loop = data; 24 | g_main_loop_quit (loop); 25 | 26 | return FALSE; 27 | } 28 | 29 | int 30 | main (int argc, 31 | char **argv) 32 | { 33 | GMainLoop *loop; 34 | WnckHandle *handle; 35 | WnckScreen *screen; 36 | 37 | gdk_init (&argc, &argv); 38 | 39 | loop = g_main_loop_new (NULL, FALSE); 40 | 41 | while (TRUE) 42 | { 43 | handle = wnck_handle_new (WNCK_CLIENT_TYPE_APPLICATION); 44 | screen = wnck_handle_get_default_screen (handle); 45 | 46 | g_print ("libwnck is active for 5 seconds; change the active window to get notifications\n"); 47 | g_signal_connect (screen, "active-window-changed", 48 | G_CALLBACK (on_active_window_changed), NULL); 49 | g_timeout_add_seconds (5, quit_loop, loop); 50 | g_main_loop_run (loop); 51 | 52 | g_print ("libwnck is shutting down for 5 seconds; no notification will happen anymore\n"); 53 | g_clear_object (&handle); 54 | g_timeout_add_seconds (5, quit_loop, loop); 55 | g_main_loop_run (loop); 56 | 57 | g_print ("libwnck is getting reinitialized...\n"); 58 | } 59 | 60 | g_main_loop_unref (loop); 61 | 62 | return 0; 63 | } 64 | -------------------------------------------------------------------------------- /libwnck/test-tasklist.c: -------------------------------------------------------------------------------- 1 | /* vim: set sw=2 et: */ 2 | 3 | #include 4 | #include 5 | 6 | static gboolean display_all = FALSE; 7 | static gboolean never_group = FALSE; 8 | static gboolean always_group = FALSE; 9 | static gboolean rtl = FALSE; 10 | static gboolean skip_tasklist = FALSE; 11 | static gboolean transparent = FALSE; 12 | static gboolean vertical = FALSE; 13 | static gint icon_size = WNCK_DEFAULT_MINI_ICON_SIZE; 14 | static gboolean enable_scroll = TRUE; 15 | 16 | static GOptionEntry entries[] = { 17 | {"always-group", 'g', 0, G_OPTION_ARG_NONE, &always_group, "Always group windows", NULL}, 18 | {"never-group", 'n', 0, G_OPTION_ARG_NONE, &never_group, "Never group windows", NULL}, 19 | {"display-all", 'a', 0, G_OPTION_ARG_NONE, &display_all, "Display windows from all workspaces", NULL}, 20 | {"icon-size", 'i', 0, G_OPTION_ARG_INT, &icon_size, "Icon size for tasklist", NULL}, 21 | {"rtl", 'r', 0, G_OPTION_ARG_NONE, &rtl, "Use RTL as default direction", NULL}, 22 | {"skip-tasklist", 's', 0, G_OPTION_ARG_NONE, &skip_tasklist, "Don't show window in tasklist", NULL}, 23 | {"vertical", 'v', 0, G_OPTION_ARG_NONE, &vertical, "Show in vertical mode", NULL}, 24 | {"transparent", 't', 0, G_OPTION_ARG_NONE, &transparent, "Enable Transparency", NULL}, 25 | {"disable-scroll", 'd', G_OPTION_FLAG_REVERSE, G_OPTION_ARG_NONE, &enable_scroll, "Disable scrolling", NULL}, 26 | {NULL } 27 | }; 28 | 29 | static gboolean 30 | window_draw (GtkWidget *widget, 31 | cairo_t *cr, 32 | gpointer user_data) 33 | { 34 | cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE); 35 | cairo_set_source_rgba (cr, 1., 1., 1., .5); 36 | cairo_fill (cr); 37 | 38 | return FALSE; 39 | } 40 | 41 | static void 42 | window_composited_changed (GtkWidget *widget, 43 | gpointer user_data) 44 | { 45 | GdkScreen *screen; 46 | gboolean composited; 47 | 48 | screen = gdk_screen_get_default (); 49 | composited = gdk_screen_is_composited (screen); 50 | 51 | gtk_widget_set_app_paintable (widget, composited); 52 | } 53 | 54 | int 55 | main (int argc, char **argv) 56 | { 57 | GOptionContext *ctxt; 58 | WnckHandle *handle; 59 | WnckScreen *screen; 60 | GtkWidget *win; 61 | GtkWidget *frame; 62 | GtkWidget *tasklist; 63 | 64 | ctxt = g_option_context_new (""); 65 | g_option_context_add_main_entries (ctxt, entries, NULL); 66 | g_option_context_add_group (ctxt, gtk_get_option_group (TRUE)); 67 | g_option_context_parse (ctxt, &argc, &argv, NULL); 68 | g_option_context_free (ctxt); 69 | ctxt = NULL; 70 | 71 | gtk_init (&argc, &argv); 72 | 73 | if (rtl) 74 | gtk_widget_set_default_direction (GTK_TEXT_DIR_RTL); 75 | 76 | 77 | handle = wnck_handle_new (WNCK_CLIENT_TYPE_APPLICATION); 78 | wnck_handle_set_default_mini_icon_size (handle, icon_size); 79 | screen = wnck_handle_get_default_screen (handle); 80 | 81 | /* because the pager doesn't respond to signals at the moment */ 82 | wnck_screen_force_update (screen); 83 | 84 | win = gtk_window_new (GTK_WINDOW_TOPLEVEL); 85 | gtk_window_set_default_size (GTK_WINDOW (win), 200, 100); 86 | gtk_window_stick (GTK_WINDOW (win)); 87 | /* wnck_gtk_window_set_dock_type (GTK_WINDOW (win)); */ 88 | 89 | gtk_window_set_title (GTK_WINDOW (win), "Task List"); 90 | gtk_window_set_resizable (GTK_WINDOW (win), TRUE); 91 | 92 | /* quit on window close */ 93 | g_signal_connect (G_OBJECT (win), "destroy", 94 | G_CALLBACK (gtk_main_quit), 95 | NULL); 96 | 97 | tasklist = wnck_tasklist_new_with_handle (handle); 98 | 99 | wnck_tasklist_set_include_all_workspaces (WNCK_TASKLIST (tasklist), display_all); 100 | if (always_group) 101 | wnck_tasklist_set_grouping (WNCK_TASKLIST (tasklist), 102 | WNCK_TASKLIST_ALWAYS_GROUP); 103 | else if (never_group) 104 | wnck_tasklist_set_grouping (WNCK_TASKLIST (tasklist), 105 | WNCK_TASKLIST_NEVER_GROUP); 106 | else 107 | wnck_tasklist_set_grouping (WNCK_TASKLIST (tasklist), 108 | WNCK_TASKLIST_AUTO_GROUP); 109 | 110 | wnck_tasklist_set_scroll_enabled (WNCK_TASKLIST (tasklist), enable_scroll); 111 | 112 | wnck_tasklist_set_middle_click_close (WNCK_TASKLIST (tasklist), TRUE); 113 | 114 | wnck_tasklist_set_orientation (WNCK_TASKLIST (tasklist), 115 | (vertical ? GTK_ORIENTATION_VERTICAL : 116 | GTK_ORIENTATION_HORIZONTAL)); 117 | 118 | if (transparent) 119 | { 120 | GdkVisual *visual; 121 | 122 | visual = gdk_screen_get_rgba_visual (gtk_widget_get_screen (win)); 123 | 124 | if (visual != NULL) 125 | { 126 | gtk_widget_set_visual (win, visual); 127 | 128 | g_signal_connect (win, "composited-changed", 129 | G_CALLBACK (window_composited_changed), 130 | NULL); 131 | 132 | /* draw even if we are not app-painted. 133 | * this just makes my life a lot easier :) 134 | */ 135 | g_signal_connect (win, "draw", 136 | G_CALLBACK (window_draw), 137 | NULL); 138 | 139 | window_composited_changed (win, NULL); 140 | } 141 | 142 | wnck_tasklist_set_button_relief (WNCK_TASKLIST (tasklist), 143 | GTK_RELIEF_NONE); 144 | } 145 | 146 | frame = gtk_frame_new (NULL); 147 | gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN); 148 | gtk_container_add (GTK_CONTAINER (win), frame); 149 | 150 | gtk_container_add (GTK_CONTAINER (frame), tasklist); 151 | 152 | gtk_widget_show (tasklist); 153 | gtk_widget_show (frame); 154 | 155 | gtk_window_move (GTK_WINDOW (win), 0, 0); 156 | 157 | if (skip_tasklist) 158 | { 159 | gtk_window_set_skip_taskbar_hint (GTK_WINDOW (win), TRUE); 160 | gtk_window_set_keep_above (GTK_WINDOW (win), TRUE); 161 | } 162 | 163 | gtk_widget_show (win); 164 | 165 | gtk_main (); 166 | 167 | g_object_unref (handle); 168 | 169 | return 0; 170 | } 171 | -------------------------------------------------------------------------------- /libwnck/test-urgent.c: -------------------------------------------------------------------------------- 1 | /* vim: set sw=2 et: */ 2 | 3 | #include 4 | 5 | static void 6 | set_urgent (GtkWidget *window, 7 | gboolean urgent) 8 | { 9 | GtkWidget *label; 10 | 11 | label = gtk_bin_get_child (GTK_BIN (window)); 12 | 13 | if (urgent) 14 | { 15 | gtk_window_set_urgency_hint (GTK_WINDOW (window), TRUE); 16 | gtk_window_set_title (GTK_WINDOW (window), "Test Window - Urgent"); 17 | gtk_label_set_text (GTK_LABEL (label), "I am urgent!"); 18 | } 19 | else 20 | { 21 | gtk_window_set_urgency_hint (GTK_WINDOW (window), FALSE); 22 | gtk_window_set_title (GTK_WINDOW (window), "Test Window"); 23 | gtk_label_set_text (GTK_LABEL (label), "I'm not urgent."); 24 | } 25 | } 26 | 27 | static gboolean 28 | make_urgent (GtkWidget *widget) 29 | { 30 | set_urgent (widget, TRUE); 31 | g_object_set_data (G_OBJECT (widget), "wnck-timeout", NULL); 32 | 33 | return FALSE; 34 | } 35 | 36 | static gboolean 37 | focused_in (GtkWidget *widget, 38 | GdkEventFocus *event, 39 | gpointer user_data) 40 | { 41 | guint id; 42 | 43 | set_urgent (widget, FALSE); 44 | 45 | id = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (widget), "wnck-timeout")); 46 | g_object_set_data (G_OBJECT (widget), "wnck-timeout", NULL); 47 | 48 | if (id) 49 | g_source_remove (id); 50 | 51 | return FALSE; 52 | } 53 | 54 | static gboolean 55 | focused_out (GtkWidget *widget, 56 | GdkEventFocus *event, 57 | gpointer user_data) 58 | { 59 | guint id; 60 | 61 | id = g_timeout_add_seconds (3, (GSourceFunc) make_urgent, widget); 62 | g_object_set_data (G_OBJECT (widget), "wnck-timeout", GUINT_TO_POINTER (id)); 63 | 64 | return FALSE; 65 | } 66 | 67 | int 68 | main (int argc, char **argv) 69 | { 70 | GtkWidget *win; 71 | GtkWidget *label; 72 | 73 | gtk_init (&argc, &argv); 74 | 75 | win = gtk_window_new (GTK_WINDOW_TOPLEVEL); 76 | label = gtk_label_new (""); 77 | gtk_container_add (GTK_CONTAINER (win), label); 78 | gtk_window_set_keep_above (GTK_WINDOW (win), TRUE); 79 | gtk_widget_show_all (win); 80 | 81 | g_signal_connect (G_OBJECT (win), "focus-in-event", 82 | G_CALLBACK (focused_in), 83 | NULL); 84 | g_signal_connect (G_OBJECT (win), "focus-out-event", 85 | G_CALLBACK (focused_out), 86 | NULL); 87 | g_signal_connect (G_OBJECT (win), "destroy", 88 | G_CALLBACK (gtk_main_quit), 89 | NULL); 90 | 91 | set_urgent (win, FALSE); 92 | 93 | gtk_main (); 94 | 95 | return 0; 96 | } 97 | -------------------------------------------------------------------------------- /libwnck/util.c: -------------------------------------------------------------------------------- 1 | /* util header */ 2 | /* vim: set sw=2 et: */ 3 | 4 | /* 5 | * Copyright (C) 2001 Havoc Pennington 6 | * Copyright (C) 2006-2007 Vincent Untz 7 | * 8 | * This library is free software; you can redistribute it and/or 9 | * modify it under the terms of the GNU Library General Public 10 | * License as published by the Free Software Foundation; either 11 | * version 2 of the License, or (at your option) any later version. 12 | * 13 | * This 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 this library; if not, see . 20 | */ 21 | 22 | #include 23 | 24 | #include 25 | #include "util.h" 26 | #include "xutils.h" 27 | #include "private.h" 28 | #include "wnck-resource-usage-private.h" 29 | #include 30 | #include 31 | 32 | /** 33 | * SECTION:resource 34 | * @title: Resource Usage of X Clients 35 | * @short_description: reading resource usage of X clients. 36 | * @see_also: wnck_window_get_xid(), wnck_application_get_xid(), wnck_window_get_pid(), wnck_application_get_pid() 37 | * @stability: Unstable 38 | * 39 | * libwnck provides an easy-to-use interface to the XRes X server extension to 40 | * read resource usage of X clients, which can be defined either by the X 41 | * window ID of one of their windows or by the process ID of their process. 42 | */ 43 | 44 | /** 45 | * SECTION:misc 46 | * @title: Miscellaneous Functions 47 | * @short_description: other additional features. 48 | * @stability: Unstable 49 | * 50 | * These functions are utility functions providing some additional features to 51 | * libwnck users. 52 | */ 53 | 54 | /** 55 | * SECTION:icons 56 | * @title: Icons Functions 57 | * @short_description: icons related functions. 58 | * @stability: Unstable 59 | * 60 | * These functions are utility functions to manage icons for #WnckWindow and 61 | * #WnckApplication. 62 | */ 63 | 64 | /** 65 | * wnck_xid_read_resource_usage: 66 | * @gdk_display: a GdkDisplay. 67 | * @xid: an X window ID. 68 | * @usage: return location for the X resource usage of the application owning 69 | * the X window ID @xid. 70 | * 71 | * Looks for the X resource usage of the application owning the X window ID 72 | * @xid on display @gdisplay. If no resource usage can be found, then all 73 | * fields of @usage are set to 0. 74 | * 75 | * To properly work, this function requires the XRes extension on the X server. 76 | * 77 | * Since: 2.6 78 | */ 79 | void 80 | wnck_xid_read_resource_usage (GdkDisplay *gdisplay, 81 | gulong xid, 82 | WnckResourceUsage *usage) 83 | { 84 | _wnck_read_resource_usage_xid (gdisplay, xid, usage); 85 | } 86 | 87 | /** 88 | * wnck_pid_read_resource_usage: 89 | * @gdk_display: a GdkDisplay. 90 | * @pid: a process ID. 91 | * @usage: return location for the X resource usage of the application with 92 | * process ID @pid. 93 | * 94 | * Looks for the X resource usage of the application with process ID @pid on 95 | * display @gdisplay. If no resource usage can be found, then all fields of 96 | * @usage are set to 0. 97 | * 98 | * In order to find the resource usage of an application that does not have an 99 | * X window visible to libwnck (panel applets do not have any toplevel windows, 100 | * for example), wnck_pid_read_resource_usage() walks through the whole tree of 101 | * X windows. Since this walk is expensive in CPU, a cache is created. This 102 | * cache is updated in the background. This means there is a non-null 103 | * probability that no resource usage will be found for an application, even if 104 | * it is an X client. If this happens, calling wnck_pid_read_resource_usage() 105 | * again after a few seconds should work. 106 | * 107 | * To properly work, this function requires the XRes extension on the X server. 108 | * 109 | * Since: 2.6 110 | */ 111 | void 112 | wnck_pid_read_resource_usage (GdkDisplay *gdisplay, 113 | gulong pid, 114 | WnckResourceUsage *usage) 115 | { 116 | _wnck_read_resource_usage_pid (gdisplay, pid, usage); 117 | } 118 | 119 | static WnckHandle *wnck_handle = NULL; 120 | 121 | WnckHandle * 122 | _wnck_get_handle (void) 123 | { 124 | if (wnck_handle == NULL) 125 | wnck_handle = wnck_handle_new (WNCK_CLIENT_TYPE_APPLICATION); 126 | 127 | return wnck_handle; 128 | } 129 | 130 | /** 131 | * _make_gtk_label_bold: 132 | * @label: The label. 133 | * 134 | * Switches the font of label to a bold equivalent. 135 | **/ 136 | void 137 | _make_gtk_label_bold (GtkLabel *label) 138 | { 139 | GtkStyleContext *context; 140 | 141 | _wnck_ensure_fallback_style (); 142 | 143 | context = gtk_widget_get_style_context (GTK_WIDGET (label)); 144 | gtk_style_context_add_class (context, "wnck-needs-attention"); 145 | } 146 | 147 | void 148 | _make_gtk_label_normal (GtkLabel *label) 149 | { 150 | GtkStyleContext *context; 151 | 152 | context = gtk_widget_get_style_context (GTK_WIDGET (label)); 153 | gtk_style_context_remove_class (context, "wnck-needs-attention"); 154 | } 155 | 156 | void 157 | _wnck_init (void) 158 | { 159 | static gboolean done = FALSE; 160 | 161 | if (!done) 162 | { 163 | bindtextdomain (GETTEXT_PACKAGE, WNCK_LOCALEDIR); 164 | bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); 165 | 166 | done = TRUE; 167 | } 168 | } 169 | 170 | Display * 171 | _wnck_get_default_display (void) 172 | { 173 | GdkDisplay *display = gdk_display_get_default (); 174 | /* FIXME: when we fix libwnck to not use the GDK default display, we will 175 | * need to fix wnckprop accordingly. */ 176 | if (!GDK_IS_X11_DISPLAY (display)) 177 | { 178 | g_warning ("libwnck is designed to work in X11 only, no valid display found"); 179 | return NULL; 180 | } 181 | 182 | return GDK_DISPLAY_XDISPLAY (display); 183 | } 184 | 185 | /** 186 | * wnck_shutdown: 187 | * 188 | * Makes libwnck stop listening to events and tear down all resources from 189 | * libwnck. This should be done if you are not going to need the state change 190 | * notifications for an extended period of time, to avoid wakeups with every 191 | * key and focus event. 192 | * 193 | * After this, all pointers to Wnck object you might still hold are invalid. 194 | * 195 | * Due to the fact that Wnck objects are all 197 | * owned by libwnck, users of this API through introspection should be 198 | * extremely careful: they must explicitly clear variables referencing objects 199 | * before this call. Failure to do so might result in crashes. 200 | * 201 | * Since: 3.4 202 | */ 203 | void 204 | wnck_shutdown (void) 205 | { 206 | g_clear_object (&wnck_handle); 207 | 208 | _wnck_read_resources_shutdown_all (); 209 | } 210 | 211 | void 212 | _wnck_ensure_fallback_style (void) 213 | { 214 | static gboolean css_loaded = FALSE; 215 | GtkCssProvider *provider; 216 | guint priority; 217 | 218 | if (css_loaded) 219 | return; 220 | 221 | provider = gtk_css_provider_new (); 222 | gtk_css_provider_load_from_resource (provider, "/org/gnome/libwnck/wnck.css"); 223 | 224 | priority = GTK_STYLE_PROVIDER_PRIORITY_FALLBACK; 225 | gtk_style_context_add_provider_for_screen (gdk_screen_get_default (), 226 | GTK_STYLE_PROVIDER (provider), 227 | priority); 228 | 229 | g_object_unref (provider); 230 | 231 | css_loaded = TRUE; 232 | } 233 | -------------------------------------------------------------------------------- /libwnck/util.h: -------------------------------------------------------------------------------- 1 | /* util header */ 2 | /* vim: set sw=2 et: */ 3 | 4 | /* 5 | * Copyright (C) 2001 Havoc Pennington 6 | * Copyright (C) 2003 Red Hat, Inc. 7 | * Copyright (C) 2006-2007 Vincent Untz 8 | * 9 | * This library is free software; you can redistribute it and/or 10 | * modify it under the terms of the GNU Library General Public 11 | * License as published by the Free Software Foundation; either 12 | * version 2 of the License, or (at your option) any later version. 13 | * 14 | * This 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 this library; if not, see . 21 | */ 22 | 23 | #if !defined (__LIBWNCK_H_INSIDE__) && !defined (WNCK_COMPILATION) 24 | #error "Only can be included directly." 25 | #endif 26 | 27 | #ifndef WNCK_UTIL_H 28 | #define WNCK_UTIL_H 29 | 30 | #include 31 | #include 32 | 33 | G_BEGIN_DECLS 34 | 35 | #define WNCK_DEFAULT_ICON_SIZE 32 36 | #define WNCK_DEFAULT_MINI_ICON_SIZE 16 37 | 38 | G_END_DECLS 39 | 40 | #endif /* WNCK_UTIL_H */ 41 | -------------------------------------------------------------------------------- /libwnck/version.h.in: -------------------------------------------------------------------------------- 1 | /* version info */ 2 | /* vim: set sw=2 et: */ 3 | 4 | /* 5 | * Copyright (C) 2011 Novell, Inc. 6 | * 7 | * This library is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Library General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2 of the License, or (at your option) any later version. 11 | * 12 | * This 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 this library; if not, see . 19 | * 20 | * Authors: 21 | * Vincent Untz 22 | */ 23 | 24 | #if !defined (__LIBWNCK_H_INSIDE__) && !defined (WNCK_COMPILATION) 25 | #error "Only can be included directly." 26 | #endif 27 | 28 | #ifndef WNCK_VERSION_H 29 | #define WNCK_VERSION_H 30 | 31 | /** 32 | * SECTION:version 33 | * @title: Version Information 34 | * @Short_description: variables and functions to check the libwnck version 35 | * @stability: Unstable 36 | * 37 | * libwnck provides version information, primarily useful in configure checks 38 | * for builds that have a configure script, and to write code against different 39 | * versions of libwnck that do not provide the same API. 40 | */ 41 | 42 | /** 43 | * WNCK_MAJOR_VERSION: 44 | * 45 | * Return value: the major version number of the libwnck library, from the 46 | * headers used at application compile time, rather than from the library 47 | * linked against at application run time. 48 | * (e.g. in libwnck version 1.2.5 this is 1.) 49 | * 50 | * Since: 3.0 51 | */ 52 | #define WNCK_MAJOR_VERSION (@WNCK_MAJOR_VERSION@) 53 | 54 | /** 55 | * WNCK_MINOR_VERSION: 56 | * 57 | * Return value: the minor version number of the libwnck library, from the 58 | * headers used at application compile time, rather than from the library 59 | * linked against at application run time. 60 | * (e.g. in libwnck version 1.2.5 this is 2.) 61 | * 62 | * Since: 3.0 63 | */ 64 | #define WNCK_MINOR_VERSION (@WNCK_MINOR_VERSION@) 65 | 66 | /** 67 | * WNCK_MICRO_VERSION: 68 | * 69 | * Return value: the micro version number of the libwnck library, from the 70 | * headers used at application compile time, rather than from the library 71 | * linked against at application run time. 72 | * (e.g. in libwnck version 1.2.5 this is 5.) 73 | * 74 | * Since: 3.0 75 | */ 76 | #define WNCK_MICRO_VERSION (@WNCK_MICRO_VERSION@) 77 | 78 | /** 79 | * WNCK_CHECK_VERSION: 80 | * @major: major version (e.g. 1 for version 1.2.5) 81 | * @minor: minor version (e.g. 2 for version 1.2.5) 82 | * @micro: micro version (e.g. 5 for version 1.2.5) 83 | * 84 | * Return value: %TRUE if the version of the libwnck header files 85 | * is the same as or newer than the passed-in version, %FALSE 86 | * otherwise. 87 | * 88 | * Since: 3.0 89 | */ 90 | #define WNCK_CHECK_VERSION(major,minor,micro) \ 91 | (WNCK_MAJOR_VERSION > (major) || \ 92 | (WNCK_MAJOR_VERSION == (major) && WNCK_MINOR_VERSION > (minor)) || \ 93 | (WNCK_MAJOR_VERSION == (major) && WNCK_MINOR_VERSION == (minor) && \ 94 | WNCK_MICRO_VERSION >= (micro))) 95 | 96 | #endif /* WNCK_VERSION_H */ 97 | -------------------------------------------------------------------------------- /libwnck/window-action-menu.h: -------------------------------------------------------------------------------- 1 | /* window action menu (ops on a single window) */ 2 | /* vim: set sw=2 et: */ 3 | 4 | /* 5 | * Copyright (C) 2001 Havoc Pennington 6 | * Copyright (C) 2006-2007 Vincent Untz 7 | * 8 | * This library is free software; you can redistribute it and/or 9 | * modify it under the terms of the GNU Library General Public 10 | * License as published by the Free Software Foundation; either 11 | * version 2 of the License, or (at your option) any later version. 12 | * 13 | * This 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 this library; if not, see . 20 | */ 21 | 22 | #if !defined (__LIBWNCK_H_INSIDE__) && !defined (WNCK_COMPILATION) 23 | #error "Only can be included directly." 24 | #endif 25 | 26 | #ifndef WNCK_WINDOW_ACTION_MENU_H 27 | #define WNCK_WINDOW_ACTION_MENU_H 28 | 29 | #include 30 | #include 31 | #include 32 | 33 | G_BEGIN_DECLS 34 | 35 | #define WNCK_TYPE_ACTION_MENU (wnck_action_menu_get_type ()) 36 | #define WNCK_ACTION_MENU(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), WNCK_TYPE_ACTION_MENU, WnckActionMenu)) 37 | #define WNCK_ACTION_MENU_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WNCK_TYPE_ACTION_MENU, WnckActionMenuClass)) 38 | #define WNCK_IS_ACTION_MENU(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), WNCK_TYPE_ACTION_MENU)) 39 | #define WNCK_IS_ACTION_MENU_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WNCK_TYPE_ACTION_MENU)) 40 | #define WNCK_ACTION_MENU_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WNCK_TYPE_ACTION_MENU, WnckActionMenuClass)) 41 | 42 | typedef struct _WnckActionMenu WnckActionMenu; 43 | typedef struct _WnckActionMenuClass WnckActionMenuClass; 44 | typedef struct _WnckActionMenuPrivate WnckActionMenuPrivate; 45 | 46 | /** 47 | * WnckActionMenu: 48 | * 49 | * The #WnckActionMenu struct contains only private fields and should not be 50 | * directly accessed. 51 | */ 52 | struct _WnckActionMenu 53 | { 54 | GtkMenu parent_instance; 55 | 56 | WnckActionMenuPrivate *priv; 57 | }; 58 | 59 | struct _WnckActionMenuClass 60 | { 61 | GtkMenuClass parent_class; 62 | 63 | /* Padding for future expansion */ 64 | void (* pad1) (void); 65 | void (* pad2) (void); 66 | void (* pad3) (void); 67 | void (* pad4) (void); 68 | }; 69 | 70 | WNCK_EXPORT 71 | GType wnck_action_menu_get_type (void) G_GNUC_CONST; 72 | 73 | WNCK_EXPORT 74 | GtkWidget* wnck_action_menu_new (WnckWindow *window); 75 | 76 | G_END_DECLS 77 | 78 | #endif /* WNCK_WINDOW_MENU_H */ 79 | -------------------------------------------------------------------------------- /libwnck/wnck-handle-private.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2021 Alberts Muktupāvels 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Library General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 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 library; if not, see . 16 | */ 17 | 18 | #ifndef WNCK_HANDLE_PRIVATE_H 19 | #define WNCK_HANDLE_PRIVATE_H 20 | 21 | #include "class-group.h" 22 | #include "util.h" 23 | #include "wnck-handle.h" 24 | 25 | G_BEGIN_DECLS 26 | 27 | WnckClientType _wnck_handle_get_client_type (WnckHandle *self); 28 | 29 | gboolean _wnck_handle_has_xres (WnckHandle *self); 30 | 31 | void _wnck_handle_insert_class_group (WnckHandle *self, 32 | const char *id, 33 | WnckClassGroup *class_group); 34 | 35 | void _wnck_handle_remove_class_group (WnckHandle *self, 36 | const char *id); 37 | 38 | void _wnck_handle_insert_application (WnckHandle *self, 39 | gpointer xwindow, 40 | WnckApplication *app); 41 | 42 | void _wnck_handle_remove_application (WnckHandle *self, 43 | gpointer xwindow); 44 | 45 | WnckApplication *_wnck_handle_get_application_from_res_class (WnckHandle *self, 46 | const char *res_class); 47 | 48 | void _wnck_handle_insert_window (WnckHandle *self, 49 | gpointer xwindow, 50 | WnckWindow *window); 51 | 52 | void _wnck_handle_remove_window (WnckHandle *self, 53 | gpointer xwindow); 54 | 55 | G_END_DECLS 56 | 57 | #endif 58 | -------------------------------------------------------------------------------- /libwnck/wnck-handle.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2021 Alberts Muktupāvels 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Library General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 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 library; if not, see . 16 | */ 17 | 18 | #if !defined (__LIBWNCK_H_INSIDE__) && !defined (WNCK_COMPILATION) 19 | #error "Only can be included directly." 20 | #endif 21 | 22 | #ifndef WNCK_HANDLE_H 23 | #define WNCK_HANDLE_H 24 | 25 | #include 26 | #include 27 | #include 28 | #include 29 | 30 | G_BEGIN_DECLS 31 | 32 | #define WNCK_TYPE_HANDLE (wnck_handle_get_type ()) 33 | 34 | WNCK_EXPORT 35 | G_DECLARE_FINAL_TYPE (WnckHandle, wnck_handle, WNCK, HANDLE, GObject) 36 | 37 | WNCK_EXPORT 38 | WnckHandle *wnck_handle_new (WnckClientType client_type); 39 | 40 | WNCK_EXPORT 41 | WnckScreen *wnck_handle_get_default_screen (WnckHandle *self); 42 | 43 | WNCK_EXPORT 44 | WnckScreen *wnck_handle_get_screen (WnckHandle *self, 45 | int index); 46 | 47 | WNCK_EXPORT 48 | WnckScreen *wnck_handle_get_screen_for_root (WnckHandle *self, 49 | gulong root_window_id); 50 | 51 | WNCK_EXPORT 52 | void wnck_handle_set_default_icon_size (WnckHandle *self, 53 | gsize icon_size); 54 | 55 | WNCK_EXPORT 56 | gsize wnck_handle_get_default_icon_size (WnckHandle *self); 57 | 58 | WNCK_EXPORT 59 | void wnck_handle_set_default_mini_icon_size (WnckHandle *self, 60 | gsize icon_size); 61 | 62 | WNCK_EXPORT 63 | gsize wnck_handle_get_default_mini_icon_size (WnckHandle *self); 64 | 65 | WNCK_EXPORT 66 | WnckClassGroup *wnck_handle_get_class_group (WnckHandle *self, 67 | const char *id); 68 | 69 | WNCK_EXPORT 70 | WnckApplication *wnck_handle_get_application (WnckHandle *self, 71 | gulong xwindow); 72 | 73 | WNCK_EXPORT 74 | WnckWindow *wnck_handle_get_window (WnckHandle *self, 75 | gulong xwindow); 76 | 77 | G_END_DECLS 78 | 79 | #endif 80 | -------------------------------------------------------------------------------- /libwnck/wnck-icon-cache-private.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2001 Havoc Pennington 3 | * Copyright (C) 2005-2007 Vincent Untz 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 2 of the License, or (at your option) any later version. 9 | * 10 | * This library 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 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 library; if not, see . 17 | */ 18 | 19 | #ifndef WNCK_ICON_CACHE_PRIVATE_H 20 | #define WNCK_ICON_CACHE_PRIVATE_H 21 | 22 | #include 23 | #include 24 | 25 | #include 26 | #include 27 | #include 28 | 29 | G_BEGIN_DECLS 30 | 31 | #define WNCK_TYPE_ICON_CACHE (_wnck_icon_cache_get_type ()) 32 | G_DECLARE_FINAL_TYPE (WnckIconCache, _wnck_icon_cache, WNCK, ICON_CACHE, GObject) 33 | 34 | WnckIconCache *_wnck_icon_cache_new (Window xwindow, 35 | WnckScreen *screen); 36 | void _wnck_icon_cache_property_changed (WnckIconCache *icon_cache, 37 | Atom atom, 38 | XWMHints *hints); 39 | void _wnck_icon_cache_set_want_fallback (WnckIconCache *icon_cache, 40 | gboolean setting); 41 | gboolean _wnck_icon_cache_get_is_fallback (WnckIconCache *icon_cache); 42 | 43 | GdkPixbuf *_wnck_icon_cache_get_icon (WnckIconCache *self); 44 | 45 | GdkPixbuf *_wnck_icon_cache_get_mini_icon (WnckIconCache *self); 46 | 47 | void _wnck_icon_cache_invalidate (WnckIconCache *self); 48 | 49 | G_END_DECLS 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /libwnck/wnck-image-menu-item-private.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Alberts Muktupāvels 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Library General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 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 library; if not, see . 16 | */ 17 | 18 | #ifndef WNCK_IMAGE_MENU_ITEM_PRIVATE_H 19 | #define WNCK_IMAGE_MENU_ITEM_PRIVATE_H 20 | 21 | #include 22 | #include "window.h" 23 | 24 | G_BEGIN_DECLS 25 | 26 | #define WNCK_TYPE_IMAGE_MENU_ITEM wnck_image_menu_item_get_type () 27 | G_DECLARE_FINAL_TYPE (WnckImageMenuItem, wnck_image_menu_item, 28 | WNCK, IMAGE_MENU_ITEM, GtkMenuItem) 29 | 30 | GtkWidget *wnck_image_menu_item_new (void); 31 | 32 | GtkWidget *wnck_image_menu_item_new_with_label (const gchar *label); 33 | 34 | void wnck_image_menu_item_set_image_from_icon_pixbuf (WnckImageMenuItem *item, 35 | GdkPixbuf *pixbuf); 36 | 37 | void wnck_image_menu_item_set_image_from_window (WnckImageMenuItem *item, 38 | WnckWindow *window); 39 | 40 | void wnck_image_menu_item_make_label_bold (WnckImageMenuItem *item); 41 | 42 | void wnck_image_menu_item_make_label_normal (WnckImageMenuItem *item); 43 | 44 | void _wnck_image_menu_item_set_max_chars (WnckImageMenuItem *self, 45 | int n_chars); 46 | 47 | G_END_DECLS 48 | 49 | #endif 50 | -------------------------------------------------------------------------------- /libwnck/wnck-image-menu-item.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Alberts Muktupāvels 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Library General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 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 library; if not, see . 16 | */ 17 | 18 | #include "config.h" 19 | 20 | #include "wnck-image-menu-item-private.h" 21 | #include "private.h" 22 | 23 | #define SPACING 6 24 | 25 | struct _WnckImageMenuItem 26 | { 27 | GtkMenuItem parent; 28 | 29 | GtkWidget *box; 30 | GtkWidget *image; 31 | GtkWidget *accel_label; 32 | 33 | gchar *label; 34 | }; 35 | 36 | G_DEFINE_TYPE (WnckImageMenuItem, wnck_image_menu_item, GTK_TYPE_MENU_ITEM) 37 | 38 | static void 39 | wnck_image_menu_item_finalize (GObject *object) 40 | { 41 | WnckImageMenuItem *item; 42 | 43 | item = WNCK_IMAGE_MENU_ITEM (object); 44 | 45 | g_clear_pointer (&item->label, g_free); 46 | 47 | G_OBJECT_CLASS (wnck_image_menu_item_parent_class)->finalize (object); 48 | } 49 | 50 | static void 51 | wnck_image_menu_item_get_preferred_width (GtkWidget *widget, 52 | gint *minimum, 53 | gint *natural) 54 | { 55 | GtkWidgetClass *widget_class; 56 | WnckImageMenuItem *item; 57 | GtkRequisition image_requisition; 58 | 59 | widget_class = GTK_WIDGET_CLASS (wnck_image_menu_item_parent_class); 60 | item = WNCK_IMAGE_MENU_ITEM (widget); 61 | 62 | widget_class->get_preferred_width (widget, minimum, natural); 63 | 64 | if (!gtk_widget_get_visible (item->image)) 65 | return; 66 | 67 | gtk_widget_get_preferred_size (item->image, &image_requisition, NULL); 68 | 69 | if (image_requisition.width > 0) 70 | { 71 | *minimum -= image_requisition.width + SPACING; 72 | *natural -= image_requisition.width + SPACING; 73 | } 74 | } 75 | 76 | static void 77 | wnck_image_menu_item_size_allocate (GtkWidget *widget, 78 | GtkAllocation *allocation) 79 | { 80 | GtkWidgetClass *widget_class; 81 | WnckImageMenuItem *item; 82 | GtkRequisition image_requisition; 83 | GtkAllocation box_allocation; 84 | 85 | widget_class = GTK_WIDGET_CLASS (wnck_image_menu_item_parent_class); 86 | item = WNCK_IMAGE_MENU_ITEM (widget); 87 | 88 | widget_class->size_allocate (widget, allocation); 89 | 90 | if (!gtk_widget_get_visible (item->image)) 91 | return; 92 | 93 | gtk_widget_get_preferred_size (item->image, &image_requisition, NULL); 94 | gtk_widget_get_allocation (item->box, &box_allocation); 95 | 96 | if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR) 97 | { 98 | if (image_requisition.width > 0) 99 | box_allocation.x -= image_requisition.width + SPACING; 100 | } 101 | else 102 | { 103 | if (image_requisition.width > 0) 104 | box_allocation.x += image_requisition.width + SPACING; 105 | } 106 | 107 | gtk_widget_size_allocate (item->box, &box_allocation); 108 | } 109 | 110 | static const gchar * 111 | wnck_image_menu_item_get_label (GtkMenuItem *menu_item) 112 | { 113 | WnckImageMenuItem *item; 114 | 115 | item = WNCK_IMAGE_MENU_ITEM (menu_item); 116 | 117 | return item->label; 118 | } 119 | 120 | static void 121 | wnck_image_menu_item_toggle_size_request (GtkMenuItem *menu_item, 122 | gint *requisition) 123 | { 124 | WnckImageMenuItem *item; 125 | GtkRequisition image_requisition; 126 | 127 | item = WNCK_IMAGE_MENU_ITEM (menu_item); 128 | 129 | *requisition = 0; 130 | 131 | if (!gtk_widget_get_visible (item->image)) 132 | return; 133 | 134 | gtk_widget_get_preferred_size (item->image, &image_requisition, NULL); 135 | 136 | if (image_requisition.width > 0) 137 | *requisition = image_requisition.width + SPACING; 138 | } 139 | 140 | static void 141 | wnck_image_menu_item_set_label (GtkMenuItem *menu_item, 142 | const gchar *label) 143 | { 144 | WnckImageMenuItem *item; 145 | 146 | item = WNCK_IMAGE_MENU_ITEM (menu_item); 147 | 148 | if (g_strcmp0 (item->label, label) != 0) 149 | { 150 | g_free (item->label); 151 | item->label = g_strdup (label); 152 | 153 | gtk_label_set_text (GTK_LABEL (item->accel_label), label); 154 | g_object_notify (G_OBJECT (menu_item), "label"); 155 | } 156 | } 157 | 158 | static void 159 | wnck_image_menu_item_class_init (WnckImageMenuItemClass *item_class) 160 | { 161 | GObjectClass *object_class; 162 | GtkWidgetClass *widget_class; 163 | GtkMenuItemClass *menu_item_class; 164 | 165 | object_class = G_OBJECT_CLASS (item_class); 166 | widget_class = GTK_WIDGET_CLASS (item_class); 167 | menu_item_class = GTK_MENU_ITEM_CLASS (item_class); 168 | 169 | object_class->finalize = wnck_image_menu_item_finalize; 170 | 171 | widget_class->get_preferred_width = wnck_image_menu_item_get_preferred_width; 172 | widget_class->size_allocate = wnck_image_menu_item_size_allocate; 173 | 174 | menu_item_class->get_label = wnck_image_menu_item_get_label; 175 | menu_item_class->toggle_size_request = wnck_image_menu_item_toggle_size_request; 176 | menu_item_class->set_label = wnck_image_menu_item_set_label; 177 | } 178 | 179 | static void 180 | wnck_image_menu_item_init (WnckImageMenuItem *item) 181 | { 182 | GtkAccelLabel *accel_label; 183 | 184 | item->box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, SPACING); 185 | gtk_container_add (GTK_CONTAINER (item), item->box); 186 | gtk_widget_show (item->box); 187 | 188 | item->image = gtk_image_new (); 189 | gtk_box_pack_start (GTK_BOX (item->box), item->image, FALSE, FALSE, 0); 190 | 191 | item->accel_label = gtk_accel_label_new (""); 192 | gtk_box_pack_end (GTK_BOX (item->box), item->accel_label, TRUE, TRUE, 0); 193 | gtk_label_set_xalign (GTK_LABEL (item->accel_label), 0.0); 194 | gtk_widget_show (item->accel_label); 195 | 196 | accel_label = GTK_ACCEL_LABEL (item->accel_label); 197 | gtk_accel_label_set_accel_widget (accel_label, GTK_WIDGET (item)); 198 | gtk_label_set_ellipsize (GTK_LABEL (accel_label), PANGO_ELLIPSIZE_END); 199 | } 200 | 201 | GtkWidget * 202 | wnck_image_menu_item_new (void) 203 | { 204 | return g_object_new (WNCK_TYPE_IMAGE_MENU_ITEM, NULL); 205 | } 206 | 207 | GtkWidget * 208 | wnck_image_menu_item_new_with_label (const gchar *label) 209 | { 210 | return g_object_new (WNCK_TYPE_IMAGE_MENU_ITEM, "label", label, NULL); 211 | } 212 | 213 | void 214 | wnck_image_menu_item_set_image_from_icon_pixbuf (WnckImageMenuItem *item, 215 | GdkPixbuf *pixbuf) 216 | { 217 | gtk_image_set_from_pixbuf (GTK_IMAGE (item->image), pixbuf); 218 | gtk_widget_show (item->image); 219 | } 220 | 221 | void 222 | wnck_image_menu_item_set_image_from_window (WnckImageMenuItem *item, 223 | WnckWindow *window) 224 | { 225 | _wnck_selector_set_window_icon (item->image, window); 226 | gtk_widget_show (item->image); 227 | } 228 | 229 | void 230 | wnck_image_menu_item_make_label_bold (WnckImageMenuItem *item) 231 | { 232 | _make_gtk_label_bold (GTK_LABEL (item->accel_label)); 233 | } 234 | 235 | void 236 | wnck_image_menu_item_make_label_normal (WnckImageMenuItem *item) 237 | { 238 | _make_gtk_label_normal (GTK_LABEL (item->accel_label)); 239 | } 240 | 241 | void 242 | _wnck_image_menu_item_set_max_chars (WnckImageMenuItem *self, 243 | int n_chars) 244 | { 245 | gtk_label_set_max_width_chars (GTK_LABEL (self->accel_label), n_chars); 246 | } 247 | -------------------------------------------------------------------------------- /libwnck/wnck-macros.h: -------------------------------------------------------------------------------- 1 | /* libwnck header */ 2 | /* vim: set sw=2 et: */ 3 | 4 | /* 5 | * Copyright (C) 2001 Havoc Pennington 6 | * 7 | * This library is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Library General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2 of the License, or (at your option) any later version. 11 | * 12 | * This 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 this library; if not, see . 19 | */ 20 | 21 | #if !defined (__LIBWNCK_H_INSIDE__) && !defined (WNCK_COMPILATION) 22 | #error "Only can be included directly." 23 | #endif 24 | 25 | #ifndef WNCK_MACROS_H 26 | #define WNCK_MACROS_H 27 | 28 | #define WNCK_EXPORT __attribute__ ((visibility ("default"))) extern 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /libwnck/wnck-resource-usage-private.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2021 Alberts Muktupāvels 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Library General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 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 library; if not, see . 16 | */ 17 | 18 | #ifndef WNCK_RESOURCE_USAGE_PRIVATE_H 19 | #define WNCK_RESOURCE_USAGE_PRIVATE_H 20 | 21 | #include "util.h" 22 | 23 | G_BEGIN_DECLS 24 | 25 | void _wnck_read_resource_usage_xid (GdkDisplay *gdisplay, 26 | gulong xid, 27 | WnckResourceUsage *usage); 28 | 29 | void _wnck_read_resource_usage_pid (GdkDisplay *gdisplay, 30 | gulong pid, 31 | WnckResourceUsage *usage); 32 | 33 | void _wnck_read_resources_shutdown_all (void); 34 | 35 | G_END_DECLS 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /libwnck/wnck.css: -------------------------------------------------------------------------------- 1 | .wnck-needs-attention { 2 | font-weight: bold; 3 | } 4 | -------------------------------------------------------------------------------- /libwnck/wnck.gresource.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | default_icon.png 5 | wnck.css 6 | 7 | 8 | -------------------------------------------------------------------------------- /libwnck/workspace-accessible-factory.c: -------------------------------------------------------------------------------- 1 | /* vim: set sw=2 et: */ 2 | /* 3 | * Copyright 2002 Sun Microsystems Inc. 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Lesser General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 2 of the License, or (at your option) any later version. 9 | * 10 | * This library 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 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 library; if not, see . 17 | */ 18 | 19 | #include 20 | #include "workspace-accessible-factory.h" 21 | #include "workspace-accessible.h" 22 | 23 | G_DEFINE_TYPE (WnckWorkspaceAccessibleFactory, 24 | wnck_workspace_accessible_factory, ATK_TYPE_OBJECT_FACTORY); 25 | 26 | static AtkObject* wnck_workspace_accessible_factory_create_accessible (GObject *obj); 27 | 28 | static GType wnck_workspace_accessible_factory_get_accessible_type (void); 29 | 30 | static void 31 | wnck_workspace_accessible_factory_class_init (WnckWorkspaceAccessibleFactoryClass *klass) 32 | { 33 | AtkObjectFactoryClass *class = ATK_OBJECT_FACTORY_CLASS (klass); 34 | 35 | class->create_accessible = wnck_workspace_accessible_factory_create_accessible; 36 | class->get_accessible_type = wnck_workspace_accessible_factory_get_accessible_type; 37 | } 38 | 39 | static void 40 | wnck_workspace_accessible_factory_init (WnckWorkspaceAccessibleFactory *factory) 41 | { 42 | } 43 | 44 | AtkObjectFactory* 45 | wnck_workspace_accessible_factory_new (void) 46 | { 47 | GObject *factory; 48 | factory = g_object_new (WNCK_TYPE_WORKSPACE_ACCESSIBLE_FACTORY, NULL); 49 | return ATK_OBJECT_FACTORY (factory); 50 | } 51 | 52 | static AtkObject* 53 | wnck_workspace_accessible_factory_create_accessible (GObject *obj) 54 | { 55 | return wnck_workspace_accessible_new (obj); 56 | } 57 | 58 | static GType 59 | wnck_workspace_accessible_factory_get_accessible_type (void) 60 | { 61 | return WNCK_WORKSPACE_TYPE_ACCESSIBLE; 62 | } 63 | -------------------------------------------------------------------------------- /libwnck/workspace-accessible-factory.h: -------------------------------------------------------------------------------- 1 | /* vim: set sw=2 et: */ 2 | /* 3 | * Copyright 2002 Sun Microsystems Inc. 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Lesser General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 2 of the License, or (at your option) any later version. 9 | * 10 | * This library 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 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 library; if not, see . 17 | */ 18 | 19 | #ifndef __WNCK_WORKSPACE_ACCESSIBLE_FACTORY_H__ 20 | #define __WNCK_WORKSPACE_ACCESSIBLE_FACTORY_H__ 21 | 22 | #include 23 | 24 | G_BEGIN_DECLS 25 | 26 | #define WNCK_TYPE_WORKSPACE_ACCESSIBLE_FACTORY (wnck_workspace_accessible_factory_get_type()) 27 | #define WNCK_WORKSPACE_ACCESSIBLE_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WNCK_TYPE_WORKSPACE_ACCESSIBLE_FACTORY, WnckWorkspaceAccessibleFactory)) 28 | #define WNCK_WORKSPACE_ACCESSIBLE_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WNCK_TYPE_WORKSPACE_ACCESSIBLE_FACTORY, WnckWorkspaceAccessibleFactoryClass)) 29 | #define WNCK_IS_WORKSPACE_ACCESSIBLE_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WNCK_TYPE_WORKSPACE_ACCESSIBLE_FACTORY)) 30 | #define WNCK_IS_WORKSPACE_ACCESSIBLE_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WNCK_TYPE_WORKSPACE_ACCESSIBLE_FACTORY)) 31 | #define WNCK_WORKSPACE_ACCESSIBLE_FACTORY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WNCK_TYPE_WORKSPACE_ACCESSIBLE_FACTORY, WnckWorkspaceAccessibleFactoryClass)) 32 | 33 | typedef struct _WnckWorkspaceAccessibleFactory WnckWorkspaceAccessibleFactory; 34 | typedef struct _WnckWorkspaceAccessibleFactoryClass WnckWorkspaceAccessibleFactoryClass; 35 | 36 | struct _WnckWorkspaceAccessibleFactory 37 | { 38 | AtkObjectFactory parent; 39 | }; 40 | 41 | struct _WnckWorkspaceAccessibleFactoryClass 42 | { 43 | AtkObjectFactoryClass parent_class; 44 | }; 45 | 46 | GType wnck_workspace_accessible_factory_get_type (void) G_GNUC_CONST; 47 | 48 | AtkObjectFactory* wnck_workspace_accessible_factory_new (void); 49 | 50 | G_END_DECLS 51 | 52 | #endif /* __WNCK_WORKSPACE_ACCESSIBLE_FACTORY_H__ */ 53 | -------------------------------------------------------------------------------- /libwnck/workspace-accessible.c: -------------------------------------------------------------------------------- 1 | /* vim: set sw=2 et: */ 2 | /* 3 | * Copyright 2002 Sun Microsystems Inc. 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Lesser General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 2 of the License, or (at your option) any later version. 9 | * 10 | * This library 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 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 library; if not, see . 17 | */ 18 | 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include "workspace-accessible.h" 24 | #include "private.h" 25 | 26 | static const char* wnck_workspace_accessible_get_name (AtkObject *obj); 27 | static const char* wnck_workspace_accessible_get_description (AtkObject *obj); 28 | static int wnck_workspace_accessible_get_index_in_parent (AtkObject *obj); 29 | static void atk_component_interface_init (AtkComponentIface *iface); 30 | static void wnck_workspace_accessible_get_extents (AtkComponent *component, 31 | int *x, 32 | int *y, 33 | int *width, 34 | int *height, 35 | AtkCoordType coords); 36 | static void wnck_workspace_accessible_get_position (AtkComponent *component, 37 | int *x, 38 | int *y, 39 | AtkCoordType coords); 40 | static gboolean wnck_workspace_accessible_contains (AtkComponent *component, 41 | int x, 42 | int y, 43 | AtkCoordType coords); 44 | static void wnck_workspace_accessible_get_size (AtkComponent *component, 45 | int *width, 46 | int *height); 47 | 48 | G_DEFINE_TYPE_WITH_CODE (WnckWorkspaceAccessible, 49 | wnck_workspace_accessible, 50 | ATK_TYPE_GOBJECT_ACCESSIBLE, 51 | G_IMPLEMENT_INTERFACE (ATK_TYPE_COMPONENT, 52 | atk_component_interface_init)) 53 | 54 | static void 55 | atk_component_interface_init (AtkComponentIface *iface) 56 | { 57 | g_return_if_fail (iface != NULL); 58 | 59 | iface->get_extents = wnck_workspace_accessible_get_extents; 60 | iface->get_size = wnck_workspace_accessible_get_size; 61 | iface->get_position = wnck_workspace_accessible_get_position; 62 | iface->contains = wnck_workspace_accessible_contains; 63 | } 64 | 65 | static void 66 | wnck_workspace_accessible_get_extents (AtkComponent *component, 67 | int *x, 68 | int *y, 69 | int *width, 70 | int *height, 71 | AtkCoordType coords) 72 | { 73 | AtkGObjectAccessible *atk_gobj; 74 | WnckPager *pager; 75 | GdkRectangle rect; 76 | GtkWidget *widget; 77 | AtkObject *parent; 78 | GObject *g_obj; 79 | int px, py; 80 | 81 | g_return_if_fail (WNCK_IS_WORKSPACE_ACCESSIBLE (component)); 82 | 83 | atk_gobj = ATK_GOBJECT_ACCESSIBLE (component); 84 | g_obj = atk_gobject_accessible_get_object (atk_gobj); 85 | if (g_obj == NULL) 86 | return; 87 | 88 | g_return_if_fail (WNCK_IS_WORKSPACE (g_obj)); 89 | 90 | parent = atk_object_get_parent (ATK_OBJECT(component)); 91 | widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (parent)); 92 | 93 | if (widget == NULL) 94 | { 95 | /* 96 | *State is defunct 97 | */ 98 | return; 99 | } 100 | 101 | g_return_if_fail (WNCK_IS_PAGER (widget)); 102 | pager = WNCK_PAGER (widget); 103 | 104 | g_return_if_fail (WNCK_IS_PAGER (pager)); 105 | 106 | atk_component_get_extents (ATK_COMPONENT (parent), &px, &py, NULL, NULL, coords); 107 | 108 | _wnck_pager_get_workspace_rect (pager, WNCK_WORKSPACE_ACCESSIBLE (component)->index, &rect); 109 | 110 | *x = rect.x + px; 111 | *y = rect.y + py; 112 | *height = rect.height; 113 | *width = rect.width; 114 | } 115 | 116 | static void 117 | wnck_workspace_accessible_get_size (AtkComponent *component, 118 | int *width, 119 | int *height) 120 | { 121 | AtkCoordType coords = ATK_XY_SCREEN; 122 | int x, y; 123 | 124 | /* FIXME: Value for initialization of coords picked randomly to please gcc */ 125 | 126 | wnck_workspace_accessible_get_extents (component, &x, &y, width, height, coords); 127 | } 128 | 129 | static void 130 | wnck_workspace_accessible_get_position (AtkComponent *component, 131 | int *x, 132 | int *y, 133 | AtkCoordType coords) 134 | { 135 | int width, height; 136 | wnck_workspace_accessible_get_extents (component, x, y, &width, &height, coords); 137 | } 138 | 139 | static gboolean 140 | wnck_workspace_accessible_contains (AtkComponent *component, 141 | int x, 142 | int y, 143 | AtkCoordType coords) 144 | { 145 | int lx, ly, width, height; 146 | 147 | wnck_workspace_accessible_get_extents (component, &lx, &ly, &width, &height, coords); 148 | 149 | /* 150 | * Check if the specified co-ordinates fall within the workspace. 151 | */ 152 | if ( (x > lx) && ((lx + width) >= x) && (y > ly) && ((ly + height) >= ly) ) 153 | return TRUE; 154 | else 155 | return FALSE; 156 | } 157 | 158 | static void 159 | wnck_workspace_accessible_class_init (WnckWorkspaceAccessibleClass *klass) 160 | { 161 | AtkObjectClass *class = ATK_OBJECT_CLASS (klass); 162 | 163 | class->get_name = wnck_workspace_accessible_get_name; 164 | class->get_description = wnck_workspace_accessible_get_description; 165 | class->get_index_in_parent = wnck_workspace_accessible_get_index_in_parent; 166 | } 167 | 168 | static void 169 | wnck_workspace_accessible_init (WnckWorkspaceAccessible *accessible) 170 | { 171 | } 172 | 173 | AtkObject* 174 | wnck_workspace_accessible_new (GObject *obj) 175 | { 176 | GObject *object; 177 | AtkObject *atk_object; 178 | 179 | g_return_val_if_fail (WNCK_IS_WORKSPACE (obj), NULL); 180 | 181 | object = g_object_new (WNCK_WORKSPACE_TYPE_ACCESSIBLE, NULL); 182 | atk_object = ATK_OBJECT (object); 183 | atk_object_initialize (atk_object, obj); 184 | 185 | g_return_val_if_fail (ATK_IS_OBJECT (atk_object), NULL); 186 | 187 | WNCK_WORKSPACE_ACCESSIBLE (atk_object)->index = 188 | wnck_workspace_get_number (WNCK_WORKSPACE (obj)); 189 | 190 | return atk_object; 191 | } 192 | 193 | static const char* 194 | wnck_workspace_accessible_get_name (AtkObject *obj) 195 | { 196 | g_return_val_if_fail (WNCK_IS_WORKSPACE_ACCESSIBLE (obj), NULL); 197 | 198 | if (obj->name != NULL) 199 | { 200 | return obj->name; 201 | } 202 | else 203 | return NULL; 204 | } 205 | 206 | static const char* 207 | wnck_workspace_accessible_get_description (AtkObject *obj) 208 | { 209 | g_return_val_if_fail (WNCK_IS_WORKSPACE_ACCESSIBLE (obj), NULL); 210 | 211 | if (obj->description != NULL) 212 | { 213 | return obj->description; 214 | } 215 | else 216 | return NULL; 217 | } 218 | 219 | static gint 220 | wnck_workspace_accessible_get_index_in_parent (AtkObject *obj) 221 | { 222 | g_return_val_if_fail (WNCK_IS_WORKSPACE_ACCESSIBLE (obj), -1); 223 | 224 | return WNCK_WORKSPACE_ACCESSIBLE (obj)->index; 225 | } 226 | -------------------------------------------------------------------------------- /libwnck/workspace-accessible.h: -------------------------------------------------------------------------------- 1 | /* vim: set sw=2 et: */ 2 | /* 3 | * Copyright 2002 Sun Microsystems Inc. 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Lesser General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 2 of the License, or (at your option) any later version. 9 | * 10 | * This library 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 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 library; if not, see . 17 | */ 18 | 19 | #ifndef __WNCK_WORKSPACE_ACCESSIBLE_H__ 20 | #define __WNCK_WORKSPACE_ACCESSIBLE_H__ 21 | 22 | #include 23 | #include 24 | #include "workspace.h" 25 | #include "pager-accessible.h" 26 | 27 | G_BEGIN_DECLS 28 | 29 | #define WNCK_WORKSPACE_TYPE_ACCESSIBLE (wnck_workspace_accessible_get_type ()) 30 | #define WNCK_WORKSPACE_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WNCK_WORKSPACE_TYPE_ACCESSIBLE, WnckWorkspaceAccessible)) 31 | #define WNCK_WORKSPACE_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WNCK_WORKSPACE_TYPE_ACCESSIBLE, WnckWorkspaceAccessibleClass)) 32 | #define WNCK_IS_WORKSPACE_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WNCK_WORKSPACE_TYPE_ACCESSIBLE)) 33 | #define WNCK_IS_WORKSPACE_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WnckWorkspaceAccessible)) 34 | #define WNCK_WORKSPACE_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WNCK_WORKSPACE_TYPE_ACCESSIBLE, WnckWorkspaceAccessibleClass)) 35 | 36 | typedef struct _WnckWorkspaceAccessible WnckWorkspaceAccessible; 37 | typedef struct _WnckWorkspaceAccessibleClass WnckWorkspaceAccessibleClass; 38 | 39 | struct _WnckWorkspaceAccessible 40 | { 41 | AtkGObjectAccessible parent; 42 | 43 | int index; 44 | }; 45 | 46 | struct _WnckWorkspaceAccessibleClass 47 | { 48 | AtkGObjectAccessibleClass parent_class; 49 | }; 50 | 51 | GType wnck_workspace_accessible_get_type (void) G_GNUC_CONST; 52 | 53 | AtkObject* wnck_workspace_accessible_new (GObject *obj); 54 | 55 | G_END_DECLS 56 | 57 | #endif /* __WNCK_WORKSPACE_ACCESSIBLE_H__ */ 58 | -------------------------------------------------------------------------------- /libwnck/workspace.h: -------------------------------------------------------------------------------- 1 | /* workspace object */ 2 | /* vim: set sw=2 et: */ 3 | 4 | /* 5 | * Copyright (C) 2001 Havoc Pennington 6 | * Copyright (C) 2006-2007 Vincent Untz 7 | * 8 | * This library is free software; you can redistribute it and/or 9 | * modify it under the terms of the GNU Library General Public 10 | * License as published by the Free Software Foundation; either 11 | * version 2 of the License, or (at your option) any later version. 12 | * 13 | * This 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 this library; if not, see . 20 | */ 21 | 22 | #if !defined (__LIBWNCK_H_INSIDE__) && !defined (WNCK_COMPILATION) 23 | #error "Only can be included directly." 24 | #endif 25 | 26 | #ifndef WNCK_WORKSPACE_H 27 | #define WNCK_WORKSPACE_H 28 | 29 | #include 30 | #include 31 | #include 32 | 33 | G_BEGIN_DECLS 34 | 35 | #define WNCK_TYPE_WORKSPACE (wnck_workspace_get_type ()) 36 | #define WNCK_WORKSPACE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), WNCK_TYPE_WORKSPACE, WnckWorkspace)) 37 | #define WNCK_WORKSPACE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WNCK_TYPE_WORKSPACE, WnckWorkspaceClass)) 38 | #define WNCK_IS_WORKSPACE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), WNCK_TYPE_WORKSPACE)) 39 | #define WNCK_IS_WORKSPACE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WNCK_TYPE_WORKSPACE)) 40 | #define WNCK_WORKSPACE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WNCK_TYPE_WORKSPACE, WnckWorkspaceClass)) 41 | 42 | typedef struct _WnckWorkspaceClass WnckWorkspaceClass; 43 | typedef struct _WnckWorkspacePrivate WnckWorkspacePrivate; 44 | 45 | /** 46 | * WnckWorkspace: 47 | * 48 | * The #WnckWorkspace struct contains only private fields and should not be 49 | * directly accessed. 50 | */ 51 | struct _WnckWorkspace 52 | { 53 | GObject parent_instance; 54 | 55 | WnckWorkspacePrivate *priv; 56 | }; 57 | 58 | struct _WnckWorkspaceClass 59 | { 60 | GObjectClass parent_class; 61 | 62 | void (* name_changed) (WnckWorkspace *space); 63 | 64 | /* Padding for future expansion */ 65 | void (* pad1) (void); 66 | void (* pad2) (void); 67 | void (* pad3) (void); 68 | void (* pad4) (void); 69 | }; 70 | 71 | /** 72 | * WnckMotionDirection: 73 | * @WNCK_MOTION_UP: search a neighbor #WnckWorkspace above another 74 | * #WnckWorkspace. 75 | * @WNCK_MOTION_DOWN: search a neighbor #WnckWorkspace below another 76 | * #WnckWorkspace. 77 | * @WNCK_MOTION_LEFT: search a neighbor #WnckWorkspace at the left of another 78 | * #WnckWorkspace. 79 | * @WNCK_MOTION_RIGHT: search a neighbor #WnckWorkspace at the right of another 80 | * #WnckWorkspace. 81 | * 82 | * Type defining a direction in which to search a neighbor #WnckWorkspace. 83 | * 84 | * Since: 2.14 85 | */ 86 | typedef enum 87 | { 88 | WNCK_MOTION_UP = -1, 89 | WNCK_MOTION_DOWN = -2, 90 | WNCK_MOTION_LEFT = -3, 91 | WNCK_MOTION_RIGHT = -4 92 | } WnckMotionDirection; 93 | 94 | WNCK_EXPORT 95 | GType wnck_workspace_get_type (void) G_GNUC_CONST; 96 | 97 | WNCK_EXPORT 98 | int wnck_workspace_get_number (WnckWorkspace *space); 99 | 100 | WNCK_EXPORT 101 | const char* wnck_workspace_get_name (WnckWorkspace *space); 102 | 103 | WNCK_EXPORT 104 | void wnck_workspace_change_name (WnckWorkspace *space, 105 | const char *name); 106 | 107 | WNCK_EXPORT 108 | WnckScreen* wnck_workspace_get_screen (WnckWorkspace *space); 109 | 110 | WNCK_EXPORT 111 | void wnck_workspace_activate (WnckWorkspace *space, 112 | guint32 timestamp); 113 | 114 | WNCK_EXPORT 115 | int wnck_workspace_get_width (WnckWorkspace *space); 116 | 117 | WNCK_EXPORT 118 | int wnck_workspace_get_height (WnckWorkspace *space); 119 | 120 | WNCK_EXPORT 121 | int wnck_workspace_get_viewport_x (WnckWorkspace *space); 122 | 123 | WNCK_EXPORT 124 | int wnck_workspace_get_viewport_y (WnckWorkspace *space); 125 | 126 | WNCK_EXPORT 127 | gboolean wnck_workspace_is_virtual (WnckWorkspace *space); 128 | 129 | WNCK_EXPORT 130 | int wnck_workspace_get_layout_row (WnckWorkspace *space); 131 | 132 | WNCK_EXPORT 133 | int wnck_workspace_get_layout_column (WnckWorkspace *space); 134 | 135 | WNCK_EXPORT 136 | WnckWorkspace* wnck_workspace_get_neighbor (WnckWorkspace *space, 137 | WnckMotionDirection direction); 138 | 139 | G_END_DECLS 140 | 141 | #endif /* WNCK_WORKSPACE_H */ 142 | -------------------------------------------------------------------------------- /libwnck/xutils.h: -------------------------------------------------------------------------------- 1 | /* Xlib utilities */ 2 | /* vim: set sw=2 et: */ 3 | 4 | /* 5 | * Copyright (C) 2001 Havoc Pennington 6 | * Copyright (C) 2005-2007 Vincent Untz 7 | * 8 | * This library is free software; you can redistribute it and/or 9 | * modify it under the terms of the GNU Library General Public 10 | * License as published by the Free Software Foundation; either 11 | * version 2 of the License, or (at your option) any later version. 12 | * 13 | * This 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 this library; if not, see . 20 | */ 21 | 22 | #ifndef WNCK_XUTILS_H 23 | #define WNCK_XUTILS_H 24 | 25 | #include 26 | #include 27 | #include 28 | #include 29 | #include 30 | #include 31 | 32 | G_BEGIN_DECLS 33 | 34 | #define WNCK_APP_WINDOW_EVENT_MASK (PropertyChangeMask | StructureNotifyMask) 35 | 36 | gboolean _wnck_get_cardinal (Screen *screen, 37 | Window xwindow, 38 | Atom atom, 39 | int *val); 40 | int _wnck_get_wm_state (Screen *screen, 41 | Window xwindow); 42 | gboolean _wnck_get_window (Screen *screen, 43 | Window xwindow, 44 | Atom atom, 45 | Window *val); 46 | gboolean _wnck_get_pixmap (Screen *screen, 47 | Window xwindow, 48 | Atom atom, 49 | Pixmap *val); 50 | gboolean _wnck_get_atom (Screen *screen, 51 | Window xwindow, 52 | Atom atom, 53 | Atom *val); 54 | char* _wnck_get_text_property (Screen *screen, 55 | Window xwindow, 56 | Atom atom); 57 | char* _wnck_get_utf8_property (Screen *screen, 58 | Window xwindow, 59 | Atom atom); 60 | gboolean _wnck_get_window_list (Screen *screen, 61 | Window xwindow, 62 | Atom atom, 63 | Window **windows, 64 | int *len); 65 | gboolean _wnck_get_atom_list (Screen *screen, 66 | Window xwindow, 67 | Atom atom, 68 | Atom **atoms, 69 | int *len); 70 | gboolean _wnck_get_cardinal_list (Screen *screen, 71 | Window xwindow, 72 | Atom atom, 73 | gulong **cardinals, 74 | int *len); 75 | char** _wnck_get_utf8_list (Screen *screen, 76 | Window xwindow, 77 | Atom atom); 78 | 79 | void _wnck_set_utf8_list (Screen *screen, 80 | Window xwindow, 81 | Atom atom, 82 | char **list); 83 | 84 | void _wnck_error_trap_push (Display *display); 85 | int _wnck_error_trap_pop (Display *display); 86 | 87 | #define _wnck_atom_get(atom_name) gdk_x11_get_xatom_by_name (atom_name) 88 | #define _wnck_atom_name(atom) gdk_x11_get_xatom_name (atom) 89 | 90 | int _wnck_xid_equal (gconstpointer v1, 91 | gconstpointer v2); 92 | guint _wnck_xid_hash (gconstpointer v); 93 | 94 | void _wnck_iconify (Screen *screen, 95 | Window xwindow); 96 | void _wnck_deiconify (Screen *screen, 97 | Window xwindow); 98 | 99 | void _wnck_close (WnckScreen *screen, 100 | Window xwindow, 101 | Time timestamp); 102 | 103 | void _wnck_change_state (WnckScreen *screen, 104 | Window xwindow, 105 | gboolean add, 106 | Atom state1, 107 | Atom state2); 108 | 109 | void _wnck_change_workspace (WnckScreen *screen, 110 | Window xwindow, 111 | int new_space); 112 | 113 | void _wnck_activate (WnckScreen *screen, 114 | Window xwindow, 115 | Time timestamp); 116 | 117 | void _wnck_activate_workspace (Screen *screen, 118 | int new_active_space, 119 | Time timestamp); 120 | void _wnck_change_viewport (Screen *screen, 121 | int x, 122 | int y); 123 | 124 | char* _wnck_get_session_id (Screen *screen, 125 | Window xwindow); 126 | int _wnck_get_pid (WnckScreen *screen, 127 | Window xwindow); 128 | char* _wnck_get_name (Screen *screen, 129 | Window xwindow); 130 | char* _wnck_get_icon_name (Screen *screen, 131 | Window xwindow); 132 | char* _wnck_get_res_class_utf8 (Screen *screen, 133 | Window xwindow); 134 | void _wnck_get_wmclass (Screen *screen, 135 | Window xwindow, 136 | char **res_class, 137 | char **res_name); 138 | gboolean _wnck_get_frame_extents (Screen *screen, 139 | Window xwindow, 140 | int *left_frame, 141 | int *right_frame, 142 | int *top_frame, 143 | int *bottom_frame); 144 | 145 | int _wnck_select_input (Screen *screen, 146 | Window xwindow, 147 | int mask, 148 | gboolean update); 149 | 150 | void _wnck_keyboard_move (WnckScreen *screen, 151 | Window xwindow); 152 | 153 | void _wnck_keyboard_size (WnckScreen *screen, 154 | Window xwindow); 155 | 156 | void _wnck_toggle_showing_desktop (Screen *screen, 157 | gboolean show); 158 | 159 | GdkPixbuf *_wnck_get_fallback_icon (int size); 160 | 161 | void _wnck_get_window_geometry (Screen *screen, 162 | Window xwindow, 163 | int *xp, 164 | int *yp, 165 | int *widthp, 166 | int *heightp); 167 | void _wnck_set_window_geometry (Screen *screen, 168 | Window xwindow, 169 | int gravity_and_flags, 170 | int x, 171 | int y, 172 | int width, 173 | int height); 174 | 175 | void _wnck_get_window_position (Screen *screen, 176 | Window xwindow, 177 | int *xp, 178 | int *yp); 179 | 180 | void _wnck_set_icon_geometry (Screen *screen, 181 | Window xwindow, 182 | int x, 183 | int y, 184 | int width, 185 | int height); 186 | 187 | void _wnck_set_desktop_layout (Screen *xscreen, 188 | int rows, 189 | int columns); 190 | 191 | cairo_surface_t *_wnck_cairo_surface_get_from_pixmap (Screen *screen, 192 | Pixmap xpixmap); 193 | 194 | GdkPixbuf* _wnck_gdk_pixbuf_get_from_pixmap (Screen *screen, 195 | Pixmap xpixmap); 196 | 197 | GdkDisplay* _wnck_gdk_display_lookup_from_display (Display *display); 198 | 199 | GdkWindow* _wnck_gdk_window_lookup_from_window (Screen *screen, 200 | Window xwindow); 201 | 202 | #define WNCK_NO_MANAGER_TOKEN 0 203 | 204 | int _wnck_try_desktop_layout_manager (Screen *xscreen, 205 | int current_token); 206 | void _wnck_release_desktop_layout_manager (Screen *xscreen, 207 | int current_token); 208 | gboolean _wnck_desktop_layout_manager_process_event (XEvent *xev); 209 | 210 | G_END_DECLS 211 | 212 | #endif /* WNCK_XUTILS_H */ 213 | -------------------------------------------------------------------------------- /meson.build: -------------------------------------------------------------------------------- 1 | project('libwnck', 2 | 'c', 3 | version: '43.1', 4 | meson_version: '>= 1.1.0') 5 | 6 | LIBWNCK_SOVERSION = 0 7 | 8 | # libtool versioning for libwnck 9 | # increment if the interface has additions, changes, removals. 10 | LIBWNCK_CURRENT = 4 11 | 12 | # increment any time the source changes; set to 13 | # 0 if you increment CURRENT 14 | LIBWNCK_REVISION = 0 15 | 16 | # increment if any interfaces have been added; set to 0 17 | # if any interfaces have been changed or removed. removal has 18 | # precedence over adding, so set to 0 if both happened. 19 | LIBWNCK_AGE = 0 20 | 21 | MODULE_NAME = meson.project_name() + '-@0@'.format(LIBWNCK_CURRENT) 22 | MODULE_VERSION = '@0@.@1@'.format(LIBWNCK_CURRENT, LIBWNCK_REVISION) 23 | PACKAGE_NAME = MODULE_NAME + '.@0@'.format(LIBWNCK_REVISION) 24 | LIBNAME = MODULE_NAME.split('lib')[1] 25 | 26 | prefix = get_option('prefix') 27 | bindir = join_paths(prefix, get_option('bindir')) 28 | libdir = join_paths(prefix, get_option('libdir')) 29 | includedir = join_paths(prefix, get_option('includedir')) 30 | localedir = join_paths(prefix, get_option('localedir')) 31 | 32 | default_includes = include_directories('.') 33 | conf = configuration_data() 34 | cc = meson.get_compiler('c') 35 | 36 | LIBWNCK_DEPS = [cc.find_library('m', required: true)] 37 | STARTUP_NOTIFICATION_PACKAGE = 'libstartup-notification-1.0' 38 | X11_PACKAGE = 'x11' 39 | XRES_PACKAGE = 'xres' 40 | 41 | pkg_deps = [ 42 | {'name': 'cairo-xlib-xrender', 'required': false}, 43 | {'name': 'glib-2.0', 'version': '>= 2.44' }, 44 | {'name': 'gobject-2.0', 'version': '>= 2.13.0' }, 45 | {'name': 'gtk+-3.0', 'version': '>= 3.22.0' }, 46 | {'name': STARTUP_NOTIFICATION_PACKAGE, 'version': '>= 0.4' }, 47 | {'name': X11_PACKAGE }, 48 | {'name': XRES_PACKAGE, 'version': '>= 1.2', 'required': false}, 49 | {'name': 'xi', 'required': true}, 50 | ] 51 | 52 | foreach p: pkg_deps 53 | pkg = p.get('name') 54 | required = p.get('required', true) 55 | dep = dependency(pkg, version: p.get('version', []), required: required) 56 | LIBWNCK_DEPS += dep 57 | 58 | if dep.found() 59 | conf.set('HAVE_' + pkg.to_upper().underscorify(), 1) 60 | endif 61 | endforeach 62 | 63 | conf.set_quoted('PACKAGE_NAME', meson.project_name()) 64 | conf.set_quoted('PACKAGE_STRING', meson.project_name() + ' ' + meson.project_version()) 65 | conf.set_quoted('PACKAGE_VERSION', meson.project_version()) 66 | conf.set_quoted('GETTEXT_PACKAGE', PACKAGE_NAME) 67 | conf.set_quoted('VERSION', meson.project_version()) 68 | 69 | configure_file(input: 'config.h.meson', 70 | output : 'config.h', 71 | configuration : conf) 72 | 73 | subdir('libwnck') 74 | subdir('po') 75 | 76 | if get_option('gtk_doc') 77 | subdir('doc') 78 | endif 79 | -------------------------------------------------------------------------------- /meson.options: -------------------------------------------------------------------------------- 1 | option('deprecation_flags', 2 | type: 'boolean', 3 | value: false, 4 | description: 'Use *_DISABLE_DEPRECATED flags') 5 | option('install_tools', 6 | type: 'boolean', 7 | value: false, 8 | description: 'Install wnck-based tools') 9 | option('introspection', 10 | type: 'feature', 11 | value: 'enabled', 12 | description: 'Enable GObject introspection') 13 | option('gtk_doc', 14 | type: 'boolean', 15 | value: false, 16 | description: 'Enable generating the API reference (depends on GTK-Doc)') 17 | -------------------------------------------------------------------------------- /po/LINGUAS: -------------------------------------------------------------------------------- 1 | # please keep this list sorted alphabetically 2 | # 3 | am 4 | ar 5 | as 6 | ast 7 | az 8 | be 9 | be@latin 10 | bg 11 | bn 12 | bn_IN 13 | br 14 | bs 15 | ca 16 | ca@valencia 17 | ckb 18 | crh 19 | cs 20 | cy 21 | da 22 | de 23 | dz 24 | el 25 | en_CA 26 | en_GB 27 | en@shaw 28 | eo 29 | es 30 | et 31 | eu 32 | fa 33 | fi 34 | fr 35 | fy 36 | ga 37 | gd 38 | gl 39 | gu 40 | he 41 | hi 42 | hr 43 | hu 44 | id 45 | is 46 | it 47 | ja 48 | ka 49 | kk 50 | km 51 | kn 52 | ko 53 | ku 54 | ky 55 | li 56 | lt 57 | lv 58 | mai 59 | mi 60 | mk 61 | ml 62 | mn 63 | mr 64 | ms 65 | nb 66 | ne 67 | nl 68 | nn 69 | oc 70 | or 71 | pa 72 | pl 73 | pt 74 | pt_BR 75 | ro 76 | ru 77 | rw 78 | si 79 | sk 80 | sl 81 | sq 82 | sr 83 | sr@latin 84 | sv 85 | ta 86 | te 87 | th 88 | tr 89 | ug 90 | uk 91 | vi 92 | wa 93 | xh 94 | zh_CN 95 | zh_HK 96 | zh_TW 97 | -------------------------------------------------------------------------------- /po/POTFILES.in: -------------------------------------------------------------------------------- 1 | # List of source files containing translatable strings. 2 | # Please keep this file sorted alphabetically. 3 | libwnck/application.c 4 | libwnck/pager-accessible.c 5 | libwnck/pager.c 6 | libwnck/selector.c 7 | libwnck/tasklist.c 8 | libwnck/window-action-menu.c 9 | libwnck/window.c 10 | libwnck/wnckprop.c 11 | libwnck/workspace.c 12 | -------------------------------------------------------------------------------- /po/am.po: -------------------------------------------------------------------------------- 1 | # Translations into the Amharic Language. 2 | # Copyright (C) 2002 Free Software Foundation, Inc. 3 | # This file is distributed under the same license as the libwnck package. 4 | # Ge'ez Frontier Foundation , 2002. 5 | # 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: libwnck\n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2005-09-05 11:49+0200\n" 12 | "PO-Revision-Date: 2003-01-14 11:02+EDT\n" 13 | "Last-Translator: Ge'ez Frontier Foundation \n" 14 | "Language-Team: Amharic \n" 15 | "Language: am\n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=utf-8\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | 20 | #: libwnck/application.c:26 21 | msgid "untitled application" 22 | msgstr "ያልተሰየሙ መጠቀሚያ ፕሮግራም" 23 | 24 | #: libwnck/pager-accessible.c:318 25 | msgid "Workspace Switcher" 26 | msgstr "የመሥሪያ ቦታ መቀያየሪያ" 27 | 28 | #: libwnck/pager-accessible.c:329 29 | msgid "Tool to switch between workspaces" 30 | msgstr "መሥሪያ ቦታዌ መሥከል መቀያየሪያ መሣሪያ" 31 | 32 | #: libwnck/pager-accessible.c:433 33 | #, c-format 34 | msgid "Click this to switch to workspace %s" 35 | msgstr "ወደ መሥሪያ ቦታ %s ለመቀየር ይህንን ያቃጭሉ" 36 | 37 | #: libwnck/selector.c:218 38 | msgid "Unknown Window" 39 | msgstr "" 40 | 41 | #: libwnck/selector.c:645 42 | msgid "No Windows Open" 43 | msgstr "" 44 | 45 | #: libwnck/selector.c:747 46 | msgid "Window Selector" 47 | msgstr "" 48 | 49 | #: libwnck/selector.c:748 50 | #, fuzzy 51 | msgid "Tool to switch between windows" 52 | msgstr "መሥሪያ ቦታዌ መሥከል መቀያየሪያ መሣሪያ" 53 | 54 | #: libwnck/tasklist.c:690 55 | msgid "Window List" 56 | msgstr "" 57 | 58 | #: libwnck/tasklist.c:691 59 | #, fuzzy 60 | msgid "Tool to switch between visible windows" 61 | msgstr "መሥሪያ ቦታዌ መሥከል መቀያየሪያ መሣሪያ" 62 | 63 | #: libwnck/tasklist.c:2324 64 | #, fuzzy 65 | msgid "_Close All" 66 | msgstr "ዝጋ (_C)" 67 | 68 | #: libwnck/tasklist.c:2339 69 | #, fuzzy 70 | msgid "_Minimize All" 71 | msgstr "መሳንስ (_M)" 72 | 73 | #: libwnck/tasklist.c:2350 74 | #, fuzzy 75 | msgid "_Unminimize All" 76 | msgstr "መታሳንስ (_M)" 77 | 78 | #: libwnck/window-action-menu.c:211 79 | #, fuzzy 80 | msgid "Unmi_nimize" 81 | msgstr "መታሳንስ (_M)" 82 | 83 | #: libwnck/window-action-menu.c:218 84 | #, fuzzy 85 | msgid "Mi_nimize" 86 | msgstr "መሳንስ (_M)" 87 | 88 | #: libwnck/window-action-menu.c:226 89 | #, fuzzy 90 | msgid "Unma_ximize" 91 | msgstr "መታስተልቅ (_U)" 92 | 93 | #: libwnck/window-action-menu.c:233 94 | msgid "Ma_ximize" 95 | msgstr "መተልቅ (_X)" 96 | 97 | #: libwnck/window-action-menu.c:241 98 | msgid "_Unroll" 99 | msgstr "ማውረድ (U)" 100 | 101 | #: libwnck/window-action-menu.c:248 102 | msgid "Roll _Up" 103 | msgstr "ማውጣት (_U)" 104 | 105 | #: libwnck/window-action-menu.c:256 106 | #, fuzzy 107 | msgid "_Only on This Workspace" 108 | msgstr "በዚህ የመሥሪያ ቦታ ላይ ብቻ (_T)" 109 | 110 | #: libwnck/window-action-menu.c:263 111 | #, fuzzy 112 | msgid "_Always on Visible Workspace" 113 | msgstr "በዚህ የመሥሪያ ቦታ ላይ ብቻ (_T)" 114 | 115 | #: libwnck/window-action-menu.c:378 libwnck/workspace.c:236 116 | #, c-format 117 | msgid "Workspace %d" 118 | msgstr "መሥሪያ ቦታ %d" 119 | 120 | #: libwnck/window-action-menu.c:386 121 | #, fuzzy 122 | msgid "Workspace 1_0" 123 | msgstr "መሥሪያ ቦታ %d" 124 | 125 | #: libwnck/window-action-menu.c:388 126 | #, fuzzy, c-format 127 | msgid "Workspace %s%d" 128 | msgstr "መሥሪያ ቦታ %d" 129 | 130 | #: libwnck/window-action-menu.c:485 131 | #, fuzzy 132 | msgid "_Move" 133 | msgstr "መንቀሳቅስ (_V)" 134 | 135 | #: libwnck/window-action-menu.c:492 136 | msgid "_Resize" 137 | msgstr "እንደገና መጧን ማስተሥከል (_R)" 138 | 139 | #: libwnck/window-action-menu.c:505 140 | msgid "_Close" 141 | msgstr "ዝጋ (_C)" 142 | 143 | #: libwnck/window-action-menu.c:518 144 | msgid "Move to Another _Workspace" 145 | msgstr "" 146 | 147 | #: libwnck/window-action-menu.c:542 148 | #, c-format 149 | msgid "%s" 150 | msgstr "" 151 | 152 | #: libwnck/window.c:32 153 | msgid "untitled window" 154 | msgstr "ያልተሰየመ መስኮት" 155 | 156 | #~ msgid "Put on _All Workspaces" 157 | #~ msgstr "ሁሉም መሥሪይ ቦታዎች ላይ አድርግ (_A)" 158 | -------------------------------------------------------------------------------- /po/az.po: -------------------------------------------------------------------------------- 1 | # translation of libwnck.HEAD.az.po to Azerbaijani Turkish 2 | # Copyright (C) 2003, 2004 Free Software Foundation, Inc. 3 | # Mətin Əmirov , 2003, 2004. 4 | # 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: libwnck.HEAD.az\n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2005-09-05 11:49+0200\n" 10 | "PO-Revision-Date: 2004-02-01 21:16+0200\n" 11 | "Last-Translator: Mətin Əmirov \n" 12 | "Language-Team: Azerbaijani Turkish \n" 14 | "Language: az\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: KBabel 1.0.2\n" 19 | 20 | #: libwnck/application.c:26 21 | msgid "untitled application" 22 | msgstr "adsız proqram" 23 | 24 | #: libwnck/pager-accessible.c:318 25 | msgid "Workspace Switcher" 26 | msgstr "İş Sahəsi Dəyişdiricisi" 27 | 28 | #: libwnck/pager-accessible.c:329 29 | msgid "Tool to switch between workspaces" 30 | msgstr "İş sahələri arasında keçiş vasitəsi" 31 | 32 | #: libwnck/pager-accessible.c:433 33 | #, c-format 34 | msgid "Click this to switch to workspace %s" 35 | msgstr "%s iş sahəsinə keçmək üçün buraya tıqlayın" 36 | 37 | #: libwnck/selector.c:218 38 | msgid "Unknown Window" 39 | msgstr "" 40 | 41 | #: libwnck/selector.c:645 42 | msgid "No Windows Open" 43 | msgstr "" 44 | 45 | #: libwnck/selector.c:747 46 | #, fuzzy 47 | msgid "Window Selector" 48 | msgstr "Pəncərə Siyahısı" 49 | 50 | #: libwnck/selector.c:748 51 | #, fuzzy 52 | msgid "Tool to switch between windows" 53 | msgstr "Pəncərələr arasında keçiş vasitəsi" 54 | 55 | #: libwnck/tasklist.c:690 56 | msgid "Window List" 57 | msgstr "Pəncərə Siyahısı" 58 | 59 | #: libwnck/tasklist.c:691 60 | msgid "Tool to switch between visible windows" 61 | msgstr "Pəncərələr arasında keçiş vasitəsi" 62 | 63 | #: libwnck/tasklist.c:2324 64 | #, fuzzy 65 | msgid "_Close All" 66 | msgstr "_Bağla" 67 | 68 | #: libwnck/tasklist.c:2339 69 | #, fuzzy 70 | msgid "_Minimize All" 71 | msgstr "_Kiçilt" 72 | 73 | #: libwnck/tasklist.c:2350 74 | #, fuzzy 75 | msgid "_Unminimize All" 76 | msgstr "_Böyüt" 77 | 78 | #: libwnck/window-action-menu.c:211 79 | msgid "Unmi_nimize" 80 | msgstr "_Böyüt" 81 | 82 | #: libwnck/window-action-menu.c:218 83 | msgid "Mi_nimize" 84 | msgstr "_Kiçilt" 85 | 86 | #: libwnck/window-action-menu.c:226 87 | msgid "Unma_ximize" 88 | msgstr "_Balacalaşdır" 89 | 90 | #: libwnck/window-action-menu.c:233 91 | msgid "Ma_ximize" 92 | msgstr "_Böyüt" 93 | 94 | #: libwnck/window-action-menu.c:241 95 | msgid "_Unroll" 96 | msgstr "_Geri Bur" 97 | 98 | #: libwnck/window-action-menu.c:248 99 | msgid "Roll _Up" 100 | msgstr "Ü_stə Bur" 101 | 102 | #: libwnck/window-action-menu.c:256 103 | #, fuzzy 104 | msgid "_Only on This Workspace" 105 | msgstr "Yalnız _Bu İş Sahəsində" 106 | 107 | #: libwnck/window-action-menu.c:263 108 | #, fuzzy 109 | msgid "_Always on Visible Workspace" 110 | msgstr "Yalnız _Bu İş Sahəsində" 111 | 112 | #: libwnck/window-action-menu.c:378 libwnck/workspace.c:236 113 | #, c-format 114 | msgid "Workspace %d" 115 | msgstr "İş Sahəsi %d" 116 | 117 | #: libwnck/window-action-menu.c:386 118 | msgid "Workspace 1_0" 119 | msgstr "İş Sahəsi 1_0" 120 | 121 | #: libwnck/window-action-menu.c:388 122 | #, c-format 123 | msgid "Workspace %s%d" 124 | msgstr "İş Sahəsi %s%d" 125 | 126 | #: libwnck/window-action-menu.c:485 127 | msgid "_Move" 128 | msgstr "_Daşı" 129 | 130 | #: libwnck/window-action-menu.c:492 131 | msgid "_Resize" 132 | msgstr "Ö_lçüləndir" 133 | 134 | #: libwnck/window-action-menu.c:505 135 | msgid "_Close" 136 | msgstr "_Bağla" 137 | 138 | #: libwnck/window-action-menu.c:518 139 | msgid "Move to Another _Workspace" 140 | msgstr "Başqa _İş Sahəsinə Daşı" 141 | 142 | #: libwnck/window-action-menu.c:542 143 | #, c-format 144 | msgid "%s" 145 | msgstr "%s" 146 | 147 | #: libwnck/window.c:32 148 | msgid "untitled window" 149 | msgstr "adsız pəncərə" 150 | 151 | #~ msgid "Put on _All Workspaces" 152 | #~ msgstr "Bü_tün İş Sahələrində" 153 | -------------------------------------------------------------------------------- /po/cy.po: -------------------------------------------------------------------------------- 1 | # Gnome yn Gymraeg. 2 | # This file is distributed under the same license as the libwnck package. 3 | # www.gyfieithu.co.uk , 2003. 4 | # and contributors. 5 | # Dafydd Harries 2003 2004. 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: libwnck\n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2006-03-02 07:18+0100\n" 12 | "PO-Revision-Date: 2006-03-02 12:50-0000\n" 13 | "Last-Translator: Rhys Jones \n" 14 | "Language-Team: Cymraeg \n" 15 | "Language: cy\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: Kartouche 0.0.1c - 26 Feb 2003\n" 20 | 21 | #: ../libwnck/application.c:29 22 | msgid "untitled application" 23 | msgstr "rhaglen ddideitl" 24 | 25 | #: ../libwnck/pager-accessible.c:321 26 | msgid "Workspace Switcher" 27 | msgstr "Cyfnewidydd Gweithfannau" 28 | 29 | #: ../libwnck/pager-accessible.c:332 30 | msgid "Tool to switch between workspaces" 31 | msgstr "Erfyn ar gyfer newid rhwng gweithfannau" 32 | 33 | #: ../libwnck/pager-accessible.c:436 34 | #, c-format 35 | msgid "Click this to switch to workspace %s" 36 | msgstr "Cliciwch yma i newid i weithfan %s" 37 | 38 | #: ../libwnck/selector.c:221 39 | msgid "Unknown Window" 40 | msgstr "Ffenest Anhysbys" 41 | 42 | #: ../libwnck/selector.c:729 43 | msgid "No Windows Open" 44 | msgstr "Dim ffenestr yn agored" 45 | 46 | #: ../libwnck/selector.c:833 47 | msgid "Window Selector" 48 | msgstr "Dewisydd Ffenestri" 49 | 50 | #: ../libwnck/selector.c:834 51 | msgid "Tool to switch between windows" 52 | msgstr "Erfyn ar gyfer newid rhwng ffenestri" 53 | 54 | #: ../libwnck/tasklist.c:667 55 | msgid "Window List" 56 | msgstr "Rhestr Ffenestri" 57 | 58 | #: ../libwnck/tasklist.c:668 59 | msgid "Tool to switch between visible windows" 60 | msgstr "Erfyn ar gyfer newid rhwng ffenestri gweladwy" 61 | 62 | #: ../libwnck/tasklist.c:2465 63 | msgid "_Close All" 64 | msgstr "_Cau Pob Un" 65 | 66 | #: ../libwnck/tasklist.c:2480 67 | msgid "_Minimize All" 68 | msgstr "_Lleihau Pob Un" 69 | 70 | #: ../libwnck/tasklist.c:2491 71 | msgid "_Unminimize All" 72 | msgstr "Dad_leihau Pob Un" 73 | 74 | #: ../libwnck/window-action-menu.c:260 75 | msgid "Unmi_nimize" 76 | msgstr "Dad_leihau" 77 | 78 | #: ../libwnck/window-action-menu.c:267 79 | msgid "Mi_nimize" 80 | msgstr "_Lleihau" 81 | 82 | #: ../libwnck/window-action-menu.c:275 83 | msgid "Unma_ximize" 84 | msgstr "_Dadehangu" 85 | 86 | #: ../libwnck/window-action-menu.c:282 87 | msgid "Ma_ximize" 88 | msgstr "_Ehangu" 89 | 90 | #: ../libwnck/window-action-menu.c:302 91 | msgid "_Only on This Workspace" 92 | msgstr "Ar y Weithfan _Yma'n Unig" 93 | 94 | #: ../libwnck/window-action-menu.c:309 95 | msgid "_Always on Visible Workspace" 96 | msgstr "Ar y Weithfan Weladwy pob tro" 97 | 98 | #: ../libwnck/window-action-menu.c:463 99 | #: ../libwnck/workspace.c:237 100 | #, c-format 101 | msgid "Workspace %d" 102 | msgstr "Gweithfan %d" 103 | 104 | #: ../libwnck/window-action-menu.c:471 105 | msgid "Workspace 1_0" 106 | msgstr "Gweithfan 1_0" 107 | 108 | #: ../libwnck/window-action-menu.c:473 109 | #, c-format 110 | msgid "Workspace %s%d" 111 | msgstr "Gweithfan %s%d" 112 | 113 | #: ../libwnck/window-action-menu.c:563 114 | msgid "On _Top" 115 | msgstr "O _Flaen Popeth" 116 | 117 | #: ../libwnck/window-action-menu.c:572 118 | msgid "_Move" 119 | msgstr "_Symud" 120 | 121 | #: ../libwnck/window-action-menu.c:579 122 | msgid "_Resize" 123 | msgstr "Newid _Maint" 124 | 125 | #: ../libwnck/window-action-menu.c:592 126 | msgid "_Close" 127 | msgstr "_Cau" 128 | 129 | #: ../libwnck/window-action-menu.c:626 130 | msgid "Move to Workspace _Left" 131 | msgstr "Symud i'r Weithfan i'r _Chwith" 132 | 133 | #: ../libwnck/window-action-menu.c:637 134 | msgid "Move to Workspace R_ight" 135 | msgstr "Symud i'r Weithfan i'r _Dde" 136 | 137 | #: ../libwnck/window-action-menu.c:648 138 | msgid "Move to Workspace _Up" 139 | msgstr "Symud i'r Weithfan i _Fyny" 140 | 141 | #: ../libwnck/window-action-menu.c:660 142 | msgid "Move to Workspace _Down" 143 | msgstr "Symud i'r Weithfan i _Lawr" 144 | 145 | #: ../libwnck/window-action-menu.c:667 146 | msgid "Move to Another _Workspace" 147 | msgstr "Symud i _Weithfan Arall" 148 | 149 | #: ../libwnck/window-action-menu.c:683 150 | #, c-format 151 | msgid "%s" 152 | msgstr "%s" 153 | 154 | #: ../libwnck/window.c:35 155 | msgid "untitled window" 156 | msgstr "ffenestr ddideitl" 157 | 158 | #~ msgid "_Unroll" 159 | #~ msgstr "_Datrholio" 160 | #~ msgid "Roll _Up" 161 | #~ msgstr "Rholio i _Fyny" 162 | #~ msgid "Put on _All Workspaces" 163 | #~ msgstr "Rhoi ar _Pob Gweithfan" 164 | 165 | 166 | -------------------------------------------------------------------------------- /po/en_CA.po: -------------------------------------------------------------------------------- 1 | # Canadian English translation of libwnck 2 | # Copyright (C) 2004-2006 Adam Weinberger and the GNOME Foundation 3 | # This file is distributed under the same licence as the libwnck package. 4 | # Adam Weinberger , 2004, 2005, 2006. 5 | # 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: libwnck 2.5.90\n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2006-01-26 13:08-0500\n" 12 | "PO-Revision-Date: 2005-02-01 20:52-0500\n" 13 | "Last-Translator: Adam Weinberger \n" 14 | "Language-Team: Canadian English \n" 15 | "Language: en_CA\n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=UTF-8\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | 20 | #: ../libwnck/application.c:26 21 | msgid "untitled application" 22 | msgstr "untitled application" 23 | 24 | #: ../libwnck/pager-accessible.c:318 25 | msgid "Workspace Switcher" 26 | msgstr "Workspace Switcher" 27 | 28 | #: ../libwnck/pager-accessible.c:329 29 | msgid "Tool to switch between workspaces" 30 | msgstr "Tool to switch between workspaces" 31 | 32 | #: ../libwnck/pager-accessible.c:433 33 | #, c-format 34 | msgid "Click this to switch to workspace %s" 35 | msgstr "Click this to switch to workspace %s" 36 | 37 | #: ../libwnck/selector.c:218 38 | msgid "Unknown Window" 39 | msgstr "Unknown Window" 40 | 41 | #: ../libwnck/selector.c:726 42 | msgid "No Windows Open" 43 | msgstr "No Windows Open" 44 | 45 | #: ../libwnck/selector.c:830 46 | msgid "Window Selector" 47 | msgstr "Window Selector" 48 | 49 | #: ../libwnck/selector.c:831 50 | msgid "Tool to switch between windows" 51 | msgstr "Tool to switch between windows" 52 | 53 | #: ../libwnck/tasklist.c:664 54 | msgid "Window List" 55 | msgstr "Window List" 56 | 57 | #: ../libwnck/tasklist.c:665 58 | msgid "Tool to switch between visible windows" 59 | msgstr "Tool to switch between visible windows" 60 | 61 | #: ../libwnck/tasklist.c:2462 62 | msgid "_Close All" 63 | msgstr "_Close All" 64 | 65 | #: ../libwnck/tasklist.c:2477 66 | msgid "_Minimize All" 67 | msgstr "_Minimize All" 68 | 69 | #: ../libwnck/tasklist.c:2488 70 | msgid "_Unminimize All" 71 | msgstr "_Unminimize All" 72 | 73 | #: ../libwnck/window-action-menu.c:257 74 | msgid "Unmi_nimize" 75 | msgstr "Unmi_nimize" 76 | 77 | #: ../libwnck/window-action-menu.c:264 78 | msgid "Mi_nimize" 79 | msgstr "Mi_nimize" 80 | 81 | #: ../libwnck/window-action-menu.c:272 82 | msgid "Unma_ximize" 83 | msgstr "Unma_ximize" 84 | 85 | #: ../libwnck/window-action-menu.c:279 86 | msgid "Ma_ximize" 87 | msgstr "Ma_ximize" 88 | 89 | #: ../libwnck/window-action-menu.c:299 90 | msgid "_Only on This Workspace" 91 | msgstr "_Only on This Workspace" 92 | 93 | #: ../libwnck/window-action-menu.c:306 94 | msgid "_Always on Visible Workspace" 95 | msgstr "_Always on Visible Workspace" 96 | 97 | #: ../libwnck/window-action-menu.c:460 ../libwnck/workspace.c:236 98 | #, c-format 99 | msgid "Workspace %d" 100 | msgstr "Workspace %d" 101 | 102 | #: ../libwnck/window-action-menu.c:468 103 | msgid "Workspace 1_0" 104 | msgstr "Workspace 1_0" 105 | 106 | #: ../libwnck/window-action-menu.c:470 107 | #, c-format 108 | msgid "Workspace %s%d" 109 | msgstr "Workspace %s%d" 110 | 111 | #: ../libwnck/window-action-menu.c:560 112 | msgid "On _Top" 113 | msgstr "On _Top" 114 | 115 | #: ../libwnck/window-action-menu.c:569 116 | msgid "_Move" 117 | msgstr "_Move" 118 | 119 | #: ../libwnck/window-action-menu.c:576 120 | msgid "_Resize" 121 | msgstr "_Resize" 122 | 123 | #: ../libwnck/window-action-menu.c:589 124 | msgid "_Close" 125 | msgstr "_Close" 126 | 127 | #: ../libwnck/window-action-menu.c:617 128 | msgid "Move to Workspace _Left" 129 | msgstr "Move to Workspace _Left" 130 | 131 | #: ../libwnck/window-action-menu.c:628 132 | msgid "Move to Workspace R_ight" 133 | msgstr "Move to Workspace R_ight" 134 | 135 | #: ../libwnck/window-action-menu.c:639 136 | msgid "Move to Workspace _Up" 137 | msgstr "Move to Workspace _Up" 138 | 139 | #: ../libwnck/window-action-menu.c:651 140 | msgid "Move to Workspace _Down" 141 | msgstr "Move to Workspace _Down" 142 | 143 | #: ../libwnck/window-action-menu.c:665 144 | msgid "Move to Another _Workspace" 145 | msgstr "Move to Another _Workspace" 146 | 147 | #: ../libwnck/window-action-menu.c:681 148 | #, c-format 149 | msgid "%s" 150 | msgstr "%s" 151 | 152 | #: ../libwnck/window.c:32 153 | msgid "untitled window" 154 | msgstr "untitled window" 155 | -------------------------------------------------------------------------------- /po/is.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # Samúel Jón Gunnarsson , 2003. 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: libwnck\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2005-09-05 11:49+0200\n" 11 | "PO-Revision-Date: 2004-03-13 06:26-0000\n" 12 | "Last-Translator: helgi \n" 13 | "Language-Team: Icelandic \n" 14 | "Language: is\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=utf-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | 19 | #: libwnck/application.c:26 20 | msgid "untitled application" 21 | msgstr "ónefnt forrit" 22 | 23 | #: libwnck/pager-accessible.c:318 24 | msgid "Workspace Switcher" 25 | msgstr "Vinnusvæðaflettir" 26 | 27 | #: libwnck/pager-accessible.c:329 28 | msgid "Tool to switch between workspaces" 29 | msgstr "Verkfæri til þess að fletta á milli vinnusvæða" 30 | 31 | #: libwnck/pager-accessible.c:433 32 | #, c-format 33 | msgid "Click this to switch to workspace %s" 34 | msgstr "Klikkaðu hér til að fletta yfir á vinnusvæði %s" 35 | 36 | #: libwnck/selector.c:218 37 | msgid "Unknown Window" 38 | msgstr "" 39 | 40 | #: libwnck/selector.c:645 41 | msgid "No Windows Open" 42 | msgstr "" 43 | 44 | #: libwnck/selector.c:747 45 | msgid "Window Selector" 46 | msgstr "" 47 | 48 | #: libwnck/selector.c:748 49 | #, fuzzy 50 | msgid "Tool to switch between windows" 51 | msgstr "Verkfæri til þess að fletta á milli vinnusvæða" 52 | 53 | #: libwnck/tasklist.c:690 54 | msgid "Window List" 55 | msgstr "" 56 | 57 | #: libwnck/tasklist.c:691 58 | #, fuzzy 59 | msgid "Tool to switch between visible windows" 60 | msgstr "Verkfæri til þess að fletta á milli vinnusvæða" 61 | 62 | #: libwnck/tasklist.c:2324 63 | #, fuzzy 64 | msgid "_Close All" 65 | msgstr "_Loka" 66 | 67 | #: libwnck/tasklist.c:2339 68 | #, fuzzy 69 | msgid "_Minimize All" 70 | msgstr "Lág_marka" 71 | 72 | #: libwnck/tasklist.c:2350 73 | #, fuzzy 74 | msgid "_Unminimize All" 75 | msgstr "Stækka upp á _ný" 76 | 77 | #: libwnck/window-action-menu.c:211 78 | msgid "Unmi_nimize" 79 | msgstr "Stækka upp á _ný" 80 | 81 | #: libwnck/window-action-menu.c:218 82 | msgid "Mi_nimize" 83 | msgstr "Lág_marka" 84 | 85 | #: libwnck/window-action-menu.c:226 86 | msgid "Unma_ximize" 87 | msgstr "Minn_ka glugga" 88 | 89 | #: libwnck/window-action-menu.c:233 90 | msgid "Ma_ximize" 91 | msgstr "_Hámarka" 92 | 93 | #: libwnck/window-action-menu.c:241 94 | msgid "_Unroll" 95 | msgstr "_Rúlla Niður" 96 | 97 | #: libwnck/window-action-menu.c:248 98 | msgid "Roll _Up" 99 | msgstr "Rúlla _Upp" 100 | 101 | #: libwnck/window-action-menu.c:256 102 | #, fuzzy 103 | msgid "_Only on This Workspace" 104 | msgstr "Einungis á _þessu vinnusvæði" 105 | 106 | #: libwnck/window-action-menu.c:263 107 | #, fuzzy 108 | msgid "_Always on Visible Workspace" 109 | msgstr "Einungis á _þessu vinnusvæði" 110 | 111 | #: libwnck/window-action-menu.c:378 libwnck/workspace.c:236 112 | #, c-format 113 | msgid "Workspace %d" 114 | msgstr "Vinnusvæði %d" 115 | 116 | #: libwnck/window-action-menu.c:386 117 | #, fuzzy 118 | msgid "Workspace 1_0" 119 | msgstr "Vinnusvæði %d" 120 | 121 | #: libwnck/window-action-menu.c:388 122 | #, c-format 123 | msgid "Workspace %s%d" 124 | msgstr "Vinnusvæði %s%d" 125 | 126 | #: libwnck/window-action-menu.c:485 127 | msgid "_Move" 128 | msgstr "_Flytja" 129 | 130 | #: libwnck/window-action-menu.c:492 131 | msgid "_Resize" 132 | msgstr "Bre_yta stærð" 133 | 134 | #: libwnck/window-action-menu.c:505 135 | msgid "_Close" 136 | msgstr "_Loka" 137 | 138 | #: libwnck/window-action-menu.c:518 139 | msgid "Move to Another _Workspace" 140 | msgstr "" 141 | 142 | #: libwnck/window-action-menu.c:542 143 | #, c-format 144 | msgid "%s" 145 | msgstr "%s" 146 | 147 | #: libwnck/window.c:32 148 | msgid "untitled window" 149 | msgstr "ónefndur gluggi" 150 | 151 | #~ msgid "Put on _All Workspaces" 152 | #~ msgstr "Setj_a á öll vinnusvæði" 153 | -------------------------------------------------------------------------------- /po/ku.po: -------------------------------------------------------------------------------- 1 | # translation of libwnck.HEAD.po to Kurdish 2 | # This file is distributed under the same license as the PACKAGE package. 3 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. 4 | # Erdal Ronahi , 2005. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: libwnck.HEAD\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2005-09-09 13:40+0200\n" 11 | "PO-Revision-Date: 2005-10-15 16:38+0200\n" 12 | "Last-Translator: Erdal Ronahi \n" 13 | "Language-Team: Kurdish \n" 14 | "Language: ku\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: KBabel 1.10\n" 19 | "Plural-Forms: nplurals=2; plural= n != 1\n" 20 | 21 | #: ../libwnck/application.c:26 22 | msgid "untitled application" 23 | msgstr "bernameya bênav" 24 | 25 | #: ../libwnck/pager-accessible.c:318 26 | msgid "Workspace Switcher" 27 | msgstr "Hilbijartina Kargehan" 28 | 29 | #: ../libwnck/pager-accessible.c:329 30 | msgid "Tool to switch between workspaces" 31 | msgstr "Amûra ji bo derbasbûna nav kargehan" 32 | 33 | #: ../libwnck/pager-accessible.c:433 34 | #, c-format 35 | msgid "Click this to switch to workspace %s" 36 | msgstr "Ji bo guherandina kargeha %s v bêitikneî" 37 | 38 | #: ../libwnck/selector.c:218 39 | msgid "Unknown Window" 40 | msgstr "Paceya Nenas" 41 | 42 | #: ../libwnck/selector.c:645 43 | msgid "No Windows Open" 44 | msgstr "Paceyên Vekirî Tune" 45 | 46 | #: ../libwnck/selector.c:747 47 | msgid "Window Selector" 48 | msgstr "Hilbijartina Paceyan" 49 | 50 | #: ../libwnck/selector.c:748 51 | msgid "Tool to switch between windows" 52 | msgstr "Amûra ji bo derbasbûna nav paceyan" 53 | 54 | #: ../libwnck/tasklist.c:690 55 | msgid "Window List" 56 | msgstr "Lîsteya paceyan" 57 | 58 | #: ../libwnck/tasklist.c:691 59 | msgid "Tool to switch between visible windows" 60 | msgstr "Amûra ji bo derbasbûna nav paceyên xuya" 61 | 62 | #: ../libwnck/tasklist.c:2324 63 | msgid "_Close All" 64 | msgstr "_Hemûyî Bigire" 65 | 66 | #: ../libwnck/tasklist.c:2339 67 | msgid "_Minimize All" 68 | msgstr "Hemûyî _biçûk bike" 69 | 70 | #: ../libwnck/tasklist.c:2350 71 | msgid "_Unminimize All" 72 | msgstr "Hemûyî _normal bike" 73 | 74 | #: ../libwnck/window-action-menu.c:211 75 | msgid "Unmi_nimize" 76 | msgstr "N_ormal bike" 77 | 78 | #: ../libwnck/window-action-menu.c:218 79 | msgid "Mi_nimize" 80 | msgstr "_Biçûk bike" 81 | 82 | #: ../libwnck/window-action-menu.c:226 83 | msgid "Unma_ximize" 84 | msgstr "N_ormal bike" 85 | 86 | #: ../libwnck/window-action-menu.c:233 87 | msgid "Ma_ximize" 88 | msgstr "_Mezin bike" 89 | 90 | #: ../libwnck/window-action-menu.c:241 91 | msgid "_Unroll" 92 | msgstr "_Pace bike" 93 | 94 | #: ../libwnck/window-action-menu.c:248 95 | msgid "Roll _Up" 96 | msgstr "_Darik bike" 97 | 98 | #: ../libwnck/window-action-menu.c:256 99 | msgid "_Only on This Workspace" 100 | msgstr "_Bi tenê ev kargeh" 101 | 102 | #: ../libwnck/window-action-menu.c:263 103 | msgid "_Always on Visible Workspace" 104 | msgstr "Her dem di kargeha _xuya de" 105 | 106 | #: ../libwnck/window-action-menu.c:378 ../libwnck/workspace.c:236 107 | #, c-format 108 | msgid "Workspace %d" 109 | msgstr "Kargeha %d" 110 | 111 | #: ../libwnck/window-action-menu.c:386 112 | msgid "Workspace 1_0" 113 | msgstr "Kargeha 1_0" 114 | 115 | #: ../libwnck/window-action-menu.c:388 116 | #, c-format 117 | msgid "Workspace %s%d" 118 | msgstr "Kargeha %s %d" 119 | 120 | #: ../libwnck/window-action-menu.c:485 121 | msgid "_Move" 122 | msgstr "_Tevbigere" 123 | 124 | #: ../libwnck/window-action-menu.c:492 125 | msgid "_Resize" 126 | msgstr "_Mezinahiyê biguherîne" 127 | 128 | #: ../libwnck/window-action-menu.c:505 129 | msgid "_Close" 130 | msgstr "_Bigire" 131 | 132 | #: ../libwnck/window-action-menu.c:518 133 | msgid "Move to Another _Workspace" 134 | msgstr "_Derbasa kargeheke din bike" 135 | 136 | #: ../libwnck/window-action-menu.c:542 137 | #, c-format 138 | msgid "%s" 139 | msgstr "%s" 140 | 141 | #: ../libwnck/window.c:32 142 | msgid "untitled window" 143 | msgstr "paceya bênav" 144 | 145 | -------------------------------------------------------------------------------- /po/ky.po: -------------------------------------------------------------------------------- 1 | # translation of libwnck.HEAD.po to Kirghiz 2 | # This file is distributed under the same license as the PACKAGE package. 3 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. 4 | # Ilyas Bakirov , 2005. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: libwnck.HEAD\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2005-11-01 06:24+0100\n" 11 | "PO-Revision-Date: 2005-11-01 22:48+0500\n" 12 | "Last-Translator: Ilyas Bakirov \n" 13 | "Language-Team: Kirghiz\n" 14 | "Language: ky\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: KBabel 1.9.1\n" 19 | 20 | #: ../libwnck/application.c:26 21 | msgid "untitled application" 22 | msgstr "атсыз иштеме" 23 | 24 | #: ../libwnck/pager-accessible.c:318 25 | msgid "Workspace Switcher" 26 | msgstr "Иштөө жерлердин өткөргүчү" 27 | 28 | #: ../libwnck/pager-accessible.c:329 29 | msgid "Tool to switch between workspaces" 30 | msgstr "Иштөө жерлер арасында өтүү аспабы" 31 | 32 | #: ../libwnck/pager-accessible.c:433 33 | #, c-format 34 | msgid "Click this to switch to workspace %s" 35 | msgstr "%s иштөө жерине өтүү үчүн басыңыз" 36 | 37 | #: ../libwnck/selector.c:218 38 | msgid "Unknown Window" 39 | msgstr "Белгисиз терезе" 40 | 41 | #: ../libwnck/selector.c:645 42 | msgid "No Windows Open" 43 | msgstr "Ачык терезе жок" 44 | 45 | #: ../libwnck/selector.c:747 46 | msgid "Window Selector" 47 | msgstr "Терезелердин өткөргүчү" 48 | 49 | #: ../libwnck/selector.c:748 50 | msgid "Tool to switch between windows" 51 | msgstr "Терезелер арасында өтүү аспабы" 52 | 53 | #: ../libwnck/tasklist.c:705 54 | msgid "Window List" 55 | msgstr "Терезелер тизмеси" 56 | 57 | #: ../libwnck/tasklist.c:706 58 | msgid "Tool to switch between visible windows" 59 | msgstr "Көрүнгөн терезелер арасында өтүү аспабы" 60 | 61 | #: ../libwnck/tasklist.c:2390 62 | msgid "_Close All" 63 | msgstr "_Бардыгын жабуу" 64 | 65 | #: ../libwnck/tasklist.c:2405 66 | msgid "_Minimize All" 67 | msgstr "_Бардыгын кичирейтүү" 68 | 69 | #: ../libwnck/tasklist.c:2416 70 | msgid "_Unminimize All" 71 | msgstr "_Бардыгын чоңойтуу" 72 | 73 | #: ../libwnck/window-action-menu.c:211 74 | msgid "Unmi_nimize" 75 | msgstr "_Чоңойтуу" 76 | 77 | #: ../libwnck/window-action-menu.c:218 78 | msgid "Mi_nimize" 79 | msgstr "_Кичирейтүү" 80 | 81 | #: ../libwnck/window-action-menu.c:226 82 | #, fuzzy 83 | msgid "Unma_ximize" 84 | msgstr "Мурдагы _абалын калыбына келтирүү" 85 | 86 | #: ../libwnck/window-action-menu.c:233 87 | msgid "Ma_ximize" 88 | msgstr "Толук _экранга чоңойтуу" 89 | 90 | #: ../libwnck/window-action-menu.c:241 91 | msgid "_Unroll" 92 | msgstr "" 93 | 94 | #: ../libwnck/window-action-menu.c:248 95 | msgid "Roll _Up" 96 | msgstr "" 97 | 98 | #: ../libwnck/window-action-menu.c:256 99 | msgid "_Only on This Workspace" 100 | msgstr "_Бул иштөө столунда гана" 101 | 102 | #: ../libwnck/window-action-menu.c:263 103 | msgid "_Always on Visible Workspace" 104 | msgstr "_Ар дайым көрүнгөн иш столунда" 105 | 106 | #: ../libwnck/window-action-menu.c:378 ../libwnck/workspace.c:236 107 | #, c-format 108 | msgid "Workspace %d" 109 | msgstr "%d иштөө жери" 110 | 111 | #: ../libwnck/window-action-menu.c:386 112 | msgid "Workspace 1_0" 113 | msgstr "1_0 иштөө жери" 114 | 115 | #: ../libwnck/window-action-menu.c:388 116 | #, c-format 117 | msgid "Workspace %s%d" 118 | msgstr "%s%d иштөө жери" 119 | 120 | #: ../libwnck/window-action-menu.c:485 121 | msgid "_Move" 122 | msgstr "Жы_лдыруу" 123 | 124 | #: ../libwnck/window-action-menu.c:492 125 | msgid "_Resize" 126 | msgstr "_Чоңдугун өзгөртүү" 127 | 128 | #: ../libwnck/window-action-menu.c:505 129 | msgid "_Close" 130 | msgstr "_Жабуу" 131 | 132 | #: ../libwnck/window-action-menu.c:518 133 | msgid "Move to Another _Workspace" 134 | msgstr "Башка _Иштөө жерге жылдыруу" 135 | 136 | #: ../libwnck/window-action-menu.c:542 137 | #, c-format 138 | msgid "%s" 139 | msgstr "%s" 140 | 141 | #: ../libwnck/window.c:32 142 | msgid "untitled window" 143 | msgstr "атсыз терезе" 144 | 145 | -------------------------------------------------------------------------------- /po/li.po: -------------------------------------------------------------------------------- 1 | # Limburgish translation of libwnck. 2 | # Copyright (C) 2002 Free Software Foundation, Inc. 3 | # Mathieu van Woerkom , 2003. 4 | # 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: libwnck\n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2005-09-05 11:49+0200\n" 10 | "PO-Revision-Date: 2003-06-05 13:25+0100\n" 11 | "Last-Translator: Mathieu van Woerkom \n" 12 | "Language-Team: Limburgish\n" 13 | "Language: li\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | 18 | #: libwnck/application.c:26 19 | msgid "untitled application" 20 | msgstr "naamloeze toepassing" 21 | 22 | #: libwnck/pager-accessible.c:318 23 | msgid "Workspace Switcher" 24 | msgstr "Wirkblaadwisselaar" 25 | 26 | #: libwnck/pager-accessible.c:329 27 | msgid "Tool to switch between workspaces" 28 | msgstr "Hulpke veur tösje versjillige wirkblajer te wissele" 29 | 30 | #: libwnck/pager-accessible.c:433 31 | #, c-format 32 | msgid "Click this to switch to workspace %s" 33 | msgstr "Klik hie veur te wissele nao wirkblaad %s" 34 | 35 | #: libwnck/selector.c:218 36 | msgid "Unknown Window" 37 | msgstr "" 38 | 39 | #: libwnck/selector.c:645 40 | msgid "No Windows Open" 41 | msgstr "" 42 | 43 | #: libwnck/selector.c:747 44 | msgid "Window Selector" 45 | msgstr "" 46 | 47 | #: libwnck/selector.c:748 48 | #, fuzzy 49 | msgid "Tool to switch between windows" 50 | msgstr "Hulpke veur tösje versjillige wirkblajer te wissele" 51 | 52 | #: libwnck/tasklist.c:690 53 | msgid "Window List" 54 | msgstr "" 55 | 56 | #: libwnck/tasklist.c:691 57 | #, fuzzy 58 | msgid "Tool to switch between visible windows" 59 | msgstr "Hulpke veur tösje versjillige wirkblajer te wissele" 60 | 61 | #: libwnck/tasklist.c:2324 62 | #, fuzzy 63 | msgid "_Close All" 64 | msgstr "_Sjloete" 65 | 66 | #: libwnck/tasklist.c:2339 67 | #, fuzzy 68 | msgid "_Minimize All" 69 | msgstr "_Minimalisere" 70 | 71 | #: libwnck/tasklist.c:2350 72 | #, fuzzy 73 | msgid "_Unminimize All" 74 | msgstr "_Hersjtèlle" 75 | 76 | #: libwnck/window-action-menu.c:211 77 | msgid "Unmi_nimize" 78 | msgstr "_Hersjtèlle" 79 | 80 | #: libwnck/window-action-menu.c:218 81 | msgid "Mi_nimize" 82 | msgstr "_Minimalisere" 83 | 84 | #: libwnck/window-action-menu.c:226 85 | msgid "Unma_ximize" 86 | msgstr "_Hersjtèlle" 87 | 88 | #: libwnck/window-action-menu.c:233 89 | msgid "Ma_ximize" 90 | msgstr "Ma_ximalisere" 91 | 92 | #: libwnck/window-action-menu.c:241 93 | msgid "_Unroll" 94 | msgstr "_Oetrolle" 95 | 96 | #: libwnck/window-action-menu.c:248 97 | msgid "Roll _Up" 98 | msgstr "_Oprolle" 99 | 100 | #: libwnck/window-action-menu.c:256 101 | #, fuzzy 102 | msgid "_Only on This Workspace" 103 | msgstr "Allein op dit _wirkblaad" 104 | 105 | #: libwnck/window-action-menu.c:263 106 | #, fuzzy 107 | msgid "_Always on Visible Workspace" 108 | msgstr "Allein op dit _wirkblaad" 109 | 110 | #: libwnck/window-action-menu.c:378 libwnck/workspace.c:236 111 | #, c-format 112 | msgid "Workspace %d" 113 | msgstr "Wirkblaad %d" 114 | 115 | #: libwnck/window-action-menu.c:386 116 | #, fuzzy 117 | msgid "Workspace 1_0" 118 | msgstr "Wirkblaad %d" 119 | 120 | #: libwnck/window-action-menu.c:388 121 | #, fuzzy, c-format 122 | msgid "Workspace %s%d" 123 | msgstr "Wirkblaad %d" 124 | 125 | #: libwnck/window-action-menu.c:485 126 | msgid "_Move" 127 | msgstr "_Verplaatse" 128 | 129 | #: libwnck/window-action-menu.c:492 130 | msgid "_Resize" 131 | msgstr "Aafmaetinge _verangere" 132 | 133 | #: libwnck/window-action-menu.c:505 134 | msgid "_Close" 135 | msgstr "_Sjloete" 136 | 137 | #: libwnck/window-action-menu.c:518 138 | msgid "Move to Another _Workspace" 139 | msgstr "" 140 | 141 | #: libwnck/window-action-menu.c:542 142 | #, c-format 143 | msgid "%s" 144 | msgstr "" 145 | 146 | #: libwnck/window.c:32 147 | msgid "untitled window" 148 | msgstr "naamloes vinster" 149 | 150 | #~ msgid "Put on _All Workspaces" 151 | #~ msgstr "Op _alle wirkblajer tuine" 152 | -------------------------------------------------------------------------------- /po/meson.build: -------------------------------------------------------------------------------- 1 | i18n = import('i18n') 2 | 3 | i18n.gettext(PACKAGE_NAME, preset: 'glib') 4 | -------------------------------------------------------------------------------- /po/mi.po: -------------------------------------------------------------------------------- 1 | # translation of libwnck.HEAD.po to Maori 2 | # This file is distributed under the same license as the PACKAGE package. 3 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. 4 | # John C Barstow , 2004. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: libwnck.HEAD\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2005-09-05 11:49+0200\n" 11 | "PO-Revision-Date: 2004-06-26 19:14+1200\n" 12 | "Last-Translator: John C Barstow \n" 13 | "Language-Team: Maori \n" 14 | "Language: mi\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: KBabel 1.3.1\n" 19 | 20 | #: libwnck/application.c:26 21 | msgid "untitled application" 22 | msgstr "" 23 | 24 | #: libwnck/pager-accessible.c:318 25 | msgid "Workspace Switcher" 26 | msgstr "" 27 | 28 | #: libwnck/pager-accessible.c:329 29 | msgid "Tool to switch between workspaces" 30 | msgstr "" 31 | 32 | #: libwnck/pager-accessible.c:433 33 | #, c-format 34 | msgid "Click this to switch to workspace %s" 35 | msgstr "" 36 | 37 | #: libwnck/selector.c:218 38 | msgid "Unknown Window" 39 | msgstr "" 40 | 41 | #: libwnck/selector.c:645 42 | msgid "No Windows Open" 43 | msgstr "" 44 | 45 | #: libwnck/selector.c:747 46 | #, fuzzy 47 | msgid "Window Selector" 48 | msgstr "Matapihi Rārangi" 49 | 50 | #: libwnck/selector.c:748 51 | msgid "Tool to switch between windows" 52 | msgstr "" 53 | 54 | #: libwnck/tasklist.c:690 55 | #, fuzzy 56 | msgid "Window List" 57 | msgstr "Matapihi Rārangi" 58 | 59 | #: libwnck/tasklist.c:691 60 | msgid "Tool to switch between visible windows" 61 | msgstr "" 62 | 63 | #: libwnck/tasklist.c:2324 64 | #, fuzzy 65 | msgid "_Close All" 66 | msgstr "_Kati" 67 | 68 | #: libwnck/tasklist.c:2339 69 | msgid "_Minimize All" 70 | msgstr "" 71 | 72 | #: libwnck/tasklist.c:2350 73 | msgid "_Unminimize All" 74 | msgstr "" 75 | 76 | #: libwnck/window-action-menu.c:211 77 | msgid "Unmi_nimize" 78 | msgstr "" 79 | 80 | #: libwnck/window-action-menu.c:218 81 | msgid "Mi_nimize" 82 | msgstr "" 83 | 84 | #: libwnck/window-action-menu.c:226 85 | msgid "Unma_ximize" 86 | msgstr "" 87 | 88 | #: libwnck/window-action-menu.c:233 89 | msgid "Ma_ximize" 90 | msgstr "" 91 | 92 | #: libwnck/window-action-menu.c:241 93 | msgid "_Unroll" 94 | msgstr "" 95 | 96 | #: libwnck/window-action-menu.c:248 97 | #, fuzzy 98 | msgid "Roll _Up" 99 | msgstr "Runga" 100 | 101 | #: libwnck/window-action-menu.c:256 102 | msgid "_Only on This Workspace" 103 | msgstr "" 104 | 105 | #: libwnck/window-action-menu.c:263 106 | msgid "_Always on Visible Workspace" 107 | msgstr "" 108 | 109 | #: libwnck/window-action-menu.c:378 libwnck/workspace.c:236 110 | #, c-format 111 | msgid "Workspace %d" 112 | msgstr "" 113 | 114 | #: libwnck/window-action-menu.c:386 115 | #, fuzzy 116 | msgid "Workspace 1_0" 117 | msgstr "0" 118 | 119 | #: libwnck/window-action-menu.c:388 120 | #, c-format 121 | msgid "Workspace %s%d" 122 | msgstr "" 123 | 124 | #: libwnck/window-action-menu.c:485 125 | msgid "_Move" 126 | msgstr "" 127 | 128 | #: libwnck/window-action-menu.c:492 129 | msgid "_Resize" 130 | msgstr "" 131 | 132 | #: libwnck/window-action-menu.c:505 133 | #, fuzzy 134 | msgid "_Close" 135 | msgstr "_Kati" 136 | 137 | #: libwnck/window-action-menu.c:518 138 | msgid "Move to Another _Workspace" 139 | msgstr "" 140 | 141 | #: libwnck/window-action-menu.c:542 142 | #, c-format 143 | msgid "%s" 144 | msgstr "" 145 | 146 | #: libwnck/window.c:32 147 | msgid "untitled window" 148 | msgstr "" 149 | -------------------------------------------------------------------------------- /po/mn.po: -------------------------------------------------------------------------------- 1 | # translation of libwnck.HEAD.po to Mongolian 2 | # translation of libwnck.HEAD.po to mongolian 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. 5 | # Sanlig Badral , 2003. 6 | # Sanlig Badral , 2003, 2004. 7 | # 8 | msgid "" 9 | msgstr "" 10 | "Project-Id-Version: libwnck.HEAD\n" 11 | "Report-Msgid-Bugs-To: \n" 12 | "POT-Creation-Date: 2005-09-05 11:49+0200\n" 13 | "PO-Revision-Date: 2004-02-04 01:49+0100\n" 14 | "Last-Translator: Sanlig Badral \n" 15 | "Language-Team: Mongolian \n" 16 | "Language: mn\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=UTF-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "X-Generator: KBabel 1.0.2\n" 21 | 22 | #: libwnck/application.c:26 23 | msgid "untitled application" 24 | msgstr "нэргүй х.программ" 25 | 26 | #: libwnck/pager-accessible.c:318 27 | msgid "Workspace Switcher" 28 | msgstr "Ажилын талбар сонгуур" 29 | 30 | #: libwnck/pager-accessible.c:329 31 | msgid "Tool to switch between workspaces" 32 | msgstr "Ажилын талбаруудыг хооронд нь солих хэрэгсэл" 33 | 34 | #: libwnck/pager-accessible.c:433 35 | #, c-format 36 | msgid "Click this to switch to workspace %s" 37 | msgstr "Ажилын талбар %s -г солихын тулд та энд дарна уу" 38 | 39 | #: libwnck/selector.c:218 40 | msgid "Unknown Window" 41 | msgstr "" 42 | 43 | #: libwnck/selector.c:645 44 | msgid "No Windows Open" 45 | msgstr "" 46 | 47 | #: libwnck/selector.c:747 48 | #, fuzzy 49 | msgid "Window Selector" 50 | msgstr "Цонхны жагсаалт" 51 | 52 | #: libwnck/selector.c:748 53 | #, fuzzy 54 | msgid "Tool to switch between windows" 55 | msgstr "Цонхнуудын хооронд шилжих хэрэгсэл" 56 | 57 | #: libwnck/tasklist.c:690 58 | msgid "Window List" 59 | msgstr "Цонхны жагсаалт" 60 | 61 | #: libwnck/tasklist.c:691 62 | msgid "Tool to switch between visible windows" 63 | msgstr "Цонхнуудын хооронд шилжих хэрэгсэл" 64 | 65 | #: libwnck/tasklist.c:2324 66 | #, fuzzy 67 | msgid "_Close All" 68 | msgstr "_Хаах" 69 | 70 | #: libwnck/tasklist.c:2339 71 | #, fuzzy 72 | msgid "_Minimize All" 73 | msgstr "_Жижигсгэх" 74 | 75 | #: libwnck/tasklist.c:2350 76 | #, fuzzy 77 | msgid "_Unminimize All" 78 | msgstr "Буцааж _тавих" 79 | 80 | #: libwnck/window-action-menu.c:211 81 | msgid "Unmi_nimize" 82 | msgstr "Буцааж _тавих" 83 | 84 | #: libwnck/window-action-menu.c:218 85 | msgid "Mi_nimize" 86 | msgstr "_Жижигсгэх" 87 | 88 | #: libwnck/window-action-menu.c:226 89 | msgid "Unma_ximize" 90 | msgstr "Бу_цааж тавих" 91 | 92 | #: libwnck/window-action-menu.c:233 93 | msgid "Ma_ximize" 94 | msgstr "То_мсгох" 95 | 96 | #: libwnck/window-action-menu.c:241 97 | msgid "_Unroll" 98 | msgstr "_Эвхэх" 99 | 100 | #: libwnck/window-action-menu.c:248 101 | msgid "Roll _Up" 102 | msgstr "За_длах" 103 | 104 | #: libwnck/window-action-menu.c:256 105 | #, fuzzy 106 | msgid "_Only on This Workspace" 107 | msgstr "Зөвхөн э_нэ ажилын талбар дээр" 108 | 109 | #: libwnck/window-action-menu.c:263 110 | #, fuzzy 111 | msgid "_Always on Visible Workspace" 112 | msgstr "Зөвхөн э_нэ ажилын талбар дээр" 113 | 114 | #: libwnck/window-action-menu.c:378 libwnck/workspace.c:236 115 | #, c-format 116 | msgid "Workspace %d" 117 | msgstr "Ажилын талбар %d" 118 | 119 | #: libwnck/window-action-menu.c:386 120 | msgid "Workspace 1_0" 121 | msgstr "Ажилын талбар 1_0" 122 | 123 | #: libwnck/window-action-menu.c:388 124 | #, c-format 125 | msgid "Workspace %s%d" 126 | msgstr "Ажилын талбар %s%d" 127 | 128 | #: libwnck/window-action-menu.c:485 129 | msgid "_Move" 130 | msgstr "_Зөөх" 131 | 132 | #: libwnck/window-action-menu.c:492 133 | msgid "_Resize" 134 | msgstr "Хэмжээ өө_рчилөх" 135 | 136 | #: libwnck/window-action-menu.c:505 137 | msgid "_Close" 138 | msgstr "_Хаах" 139 | 140 | #: libwnck/window-action-menu.c:518 141 | msgid "Move to Another _Workspace" 142 | msgstr "Өөр _ажлын талбар луу шилжих" 143 | 144 | #: libwnck/window-action-menu.c:542 145 | #, c-format 146 | msgid "%s" 147 | msgstr "%s" 148 | 149 | #: libwnck/window.c:32 150 | msgid "untitled window" 151 | msgstr "нэргүй цонх" 152 | 153 | #~ msgid "Put on _All Workspaces" 154 | #~ msgstr "_Бүх ажилын талбар дээр тавих" 155 | -------------------------------------------------------------------------------- /po/ms.po: -------------------------------------------------------------------------------- 1 | # libwnck Bahasa Melayu (ms) 2 | # Jika takut risiko, Jangan bicara tentang Perjuangan 3 | # Hasbullah Bin Pit (sebol) , 2001-2004 4 | # 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: libwnck HEAD\n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2005-09-05 11:49+0200\n" 10 | "PO-Revision-Date: 2002-12-21 11:42+0800\n" 11 | "Last-Translator: Hasbullah Bin Pit \n" 12 | "Language-Team: Projek Gabai \n" 13 | "Language: ms\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | 18 | #: libwnck/application.c:26 19 | msgid "untitled application" 20 | msgstr "aplikasi tiada tajuk" 21 | 22 | #: libwnck/pager-accessible.c:318 23 | msgid "Workspace Switcher" 24 | msgstr "Penukar Ruangkerja" 25 | 26 | #: libwnck/pager-accessible.c:329 27 | msgid "Tool to switch between workspaces" 28 | msgstr "Radas untuk menukar antara ruangkerja" 29 | 30 | #: libwnck/pager-accessible.c:433 31 | #, c-format 32 | msgid "Click this to switch to workspace %s" 33 | msgstr "Klik sini untuk menukar ke ruangkerja %s" 34 | 35 | #: libwnck/selector.c:218 36 | msgid "Unknown Window" 37 | msgstr "" 38 | 39 | #: libwnck/selector.c:645 40 | msgid "No Windows Open" 41 | msgstr "" 42 | 43 | #: libwnck/selector.c:747 44 | #, fuzzy 45 | msgid "Window Selector" 46 | msgstr "Senarai Tetingkap" 47 | 48 | #: libwnck/selector.c:748 49 | #, fuzzy 50 | msgid "Tool to switch between windows" 51 | msgstr "Alat untuk menukar antara ruangkerja yg kelihatan" 52 | 53 | #: libwnck/tasklist.c:690 54 | msgid "Window List" 55 | msgstr "Senarai Tetingkap" 56 | 57 | #: libwnck/tasklist.c:691 58 | msgid "Tool to switch between visible windows" 59 | msgstr "Alat untuk menukar antara ruangkerja yg kelihatan" 60 | 61 | #: libwnck/tasklist.c:2324 62 | #, fuzzy 63 | msgid "_Close All" 64 | msgstr "_Tutup" 65 | 66 | #: libwnck/tasklist.c:2339 67 | #, fuzzy 68 | msgid "_Minimize All" 69 | msgstr "Mi_nimum" 70 | 71 | #: libwnck/tasklist.c:2350 72 | #, fuzzy 73 | msgid "_Unminimize All" 74 | msgstr "Nyahmi_nimum" 75 | 76 | #: libwnck/window-action-menu.c:211 77 | msgid "Unmi_nimize" 78 | msgstr "Nyahmi_nimum" 79 | 80 | #: libwnck/window-action-menu.c:218 81 | msgid "Mi_nimize" 82 | msgstr "Mi_nimum" 83 | 84 | #: libwnck/window-action-menu.c:226 85 | msgid "Unma_ximize" 86 | msgstr "Nyahma_ksimum" 87 | 88 | #: libwnck/window-action-menu.c:233 89 | msgid "Ma_ximize" 90 | msgstr "Ma_ksimum" 91 | 92 | #: libwnck/window-action-menu.c:241 93 | msgid "_Unroll" 94 | msgstr "_Bentang" 95 | 96 | #: libwnck/window-action-menu.c:248 97 | msgid "Roll _Up" 98 | msgstr "_Gulung" 99 | 100 | #: libwnck/window-action-menu.c:256 101 | #, fuzzy 102 | msgid "_Only on This Workspace" 103 | msgstr "_Hanya pada Ruangkerja ini" 104 | 105 | #: libwnck/window-action-menu.c:263 106 | #, fuzzy 107 | msgid "_Always on Visible Workspace" 108 | msgstr "_Hanya pada Ruangkerja ini" 109 | 110 | #: libwnck/window-action-menu.c:378 libwnck/workspace.c:236 111 | #, c-format 112 | msgid "Workspace %d" 113 | msgstr "Ruangkerja %d" 114 | 115 | #: libwnck/window-action-menu.c:386 116 | msgid "Workspace 1_0" 117 | msgstr "Ruangkerja 1_0" 118 | 119 | #: libwnck/window-action-menu.c:388 120 | #, c-format 121 | msgid "Workspace %s%d" 122 | msgstr "Ruangkerja %s%d" 123 | 124 | #: libwnck/window-action-menu.c:485 125 | msgid "_Move" 126 | msgstr "_Alih" 127 | 128 | #: libwnck/window-action-menu.c:492 129 | msgid "_Resize" 130 | msgstr "_Ubahsaiz" 131 | 132 | #: libwnck/window-action-menu.c:505 133 | msgid "_Close" 134 | msgstr "_Tutup" 135 | 136 | #: libwnck/window-action-menu.c:518 137 | msgid "Move to Another _Workspace" 138 | msgstr "Alih ke _Ruangkerja Lain" 139 | 140 | #: libwnck/window-action-menu.c:542 141 | #, c-format 142 | msgid "%s" 143 | msgstr "%s" 144 | 145 | #: libwnck/window.c:32 146 | msgid "untitled window" 147 | msgstr "tetingkap tiada tajuk" 148 | 149 | #~ msgid "Put on _All Workspaces" 150 | #~ msgstr "Letak pada Semu_a Ruangkerja" 151 | -------------------------------------------------------------------------------- /po/rw.po: -------------------------------------------------------------------------------- 1 | # translation of libwnck to Kinyarwanda. 2 | # Copyright (C) 2005 Free Software Foundation, Inc. 3 | # This file is distributed under the same license as the libwnck package. 4 | # Steve Murphy , 2005 5 | # Steve performed initial rough translation from compendium built from translations provided by the following translators: 6 | # Philibert Ndandali , 2005. 7 | # Viateur MUGENZI , 2005. 8 | # Noëlla Mupole , 2005. 9 | # Carole Karema , 2005. 10 | # JEAN BAPTISTE NGENDAHAYO , 2005. 11 | # Augustin KIBERWA , 2005. 12 | # Donatien NSENGIYUMVA , 2005.. 13 | # 14 | msgid "" 15 | msgstr "" 16 | "Project-Id-Version: libwnck 2.12\n" 17 | "Report-Msgid-Bugs-To: \n" 18 | "POT-Creation-Date: 2005-09-05 11:49+0200\n" 19 | "PO-Revision-Date: 2005-03-28 19:35-0700\n" 20 | "Last-Translator: Steve Murphy \n" 21 | "Language-Team: Kinyarwanda \n" 22 | "Language: rw\n" 23 | "MIME-Version: 1.0\n" 24 | "Content-Type: text/plain; charset=UTF-8\n" 25 | "Content-Transfer-Encoding: 8bit\n" 26 | 27 | #: libwnck/application.c:26 28 | #, fuzzy 29 | msgid "untitled application" 30 | msgstr "Nta mutwe Porogaramu" 31 | 32 | #: libwnck/pager-accessible.c:318 33 | msgid "Workspace Switcher" 34 | msgstr "" 35 | 36 | #: libwnck/pager-accessible.c:329 37 | #, fuzzy 38 | msgid "Tool to switch between workspaces" 39 | msgstr "Kuri Hindura hagati" 40 | 41 | #: libwnck/pager-accessible.c:433 42 | #, fuzzy, c-format 43 | msgid "Click this to switch to workspace %s" 44 | msgstr "iyi Kuri Hindura Kuri Umwanya- nkenerwa" 45 | 46 | #: libwnck/selector.c:218 47 | msgid "Unknown Window" 48 | msgstr "" 49 | 50 | #: libwnck/selector.c:645 51 | msgid "No Windows Open" 52 | msgstr "" 53 | 54 | #: libwnck/selector.c:747 55 | msgid "Window Selector" 56 | msgstr "" 57 | 58 | #: libwnck/selector.c:748 59 | #, fuzzy 60 | msgid "Tool to switch between windows" 61 | msgstr "Kuri Hindura hagati" 62 | 63 | # sfx2/sdi\sfxslots.src:SID_MDIWINDOWLIST.text 64 | #: libwnck/tasklist.c:690 65 | msgid "Window List" 66 | msgstr "Irisiti y'Amadirishya" 67 | 68 | #: libwnck/tasklist.c:691 69 | #, fuzzy 70 | msgid "Tool to switch between visible windows" 71 | msgstr "Kuri Hindura hagati Kigaragara" 72 | 73 | # 955 74 | #: libwnck/tasklist.c:2324 75 | #, fuzzy 76 | msgid "_Close All" 77 | msgstr "funga byose" 78 | 79 | # 3848 80 | #: libwnck/tasklist.c:2339 81 | #, fuzzy 82 | msgid "_Minimize All" 83 | msgstr "gabanya/ byose bigire bito" 84 | 85 | #: libwnck/tasklist.c:2350 86 | msgid "_Unminimize All" 87 | msgstr "" 88 | 89 | #: libwnck/window-action-menu.c:211 90 | msgid "Unmi_nimize" 91 | msgstr "" 92 | 93 | # vcl/source\src\helptext.src:SV_HELPTEXT_MINIMIZE.text 94 | #: libwnck/window-action-menu.c:218 95 | #, fuzzy 96 | msgid "Mi_nimize" 97 | msgstr "Kugabanya ingano" 98 | 99 | #: libwnck/window-action-menu.c:226 100 | msgid "Unma_ximize" 101 | msgstr "" 102 | 103 | # sc/source\ui\formdlg\formdlgs.src:RID_SCDLG_FORMULA.RB_REF.quickhelptext 104 | #: libwnck/window-action-menu.c:233 105 | #, fuzzy 106 | msgid "Ma_ximize" 107 | msgstr "Kugira kinini" 108 | 109 | #: libwnck/window-action-menu.c:241 110 | msgid "_Unroll" 111 | msgstr "" 112 | 113 | # vcl/source\src\helptext.src:SV_HELPTEXT_ROLLUP.text 114 | #: libwnck/window-action-menu.c:248 115 | #, fuzzy 116 | msgid "Roll _Up" 117 | msgstr "Kuzamura" 118 | 119 | #: libwnck/window-action-menu.c:256 120 | #, fuzzy 121 | msgid "_Only on This Workspace" 122 | msgstr "ku" 123 | 124 | #: libwnck/window-action-menu.c:263 125 | #, fuzzy 126 | msgid "_Always on Visible Workspace" 127 | msgstr "ku" 128 | 129 | #: libwnck/window-action-menu.c:378 libwnck/workspace.c:236 130 | #, fuzzy, c-format 131 | msgid "Workspace %d" 132 | msgstr "Umwanya- nkenerwa" 133 | 134 | #: libwnck/window-action-menu.c:386 135 | msgid "Workspace 1_0" 136 | msgstr "" 137 | 138 | #: libwnck/window-action-menu.c:388 139 | #, fuzzy, c-format 140 | msgid "Workspace %s%d" 141 | msgstr "Umwanya- nkenerwa" 142 | 143 | # sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_UNDO_MOVE.text 144 | #: libwnck/window-action-menu.c:485 145 | #, fuzzy 146 | msgid "_Move" 147 | msgstr "Kwimura" 148 | 149 | # starmath/source\smres.src:RID_TOOLBOXWINDOW.6.RID_SIZEXY.text 150 | #: libwnck/window-action-menu.c:492 151 | #, fuzzy 152 | msgid "_Resize" 153 | msgstr "Kuringaniza" 154 | 155 | # #-#-#-#-# basctl.pot (Gnome 2.12) #-#-#-#-# 156 | # basctl/source\basicide\macrodlg.src:RID_MACROCHOOSER.RID_PB_CLOSE.text 157 | # #-#-#-#-# basctl.pot (Gnome 2.12) #-#-#-#-# 158 | # basctl/source\basicide\macrodlg.src:RID_STR_CLOSE.text 159 | # #-#-#-#-# basctl.pot (Gnome 2.12) #-#-#-#-# 160 | # basctl/source\basicide\moduldlg.src:RID_TP_MODULS.RID_PB_CLOSE.text 161 | # #-#-#-#-# basctl.pot (Gnome 2.12) #-#-#-#-# 162 | # basctl/source\basicide\moduldlg.src:RID_TP_LIBS.RID_PB_CLOSE.text 163 | #: libwnck/window-action-menu.c:505 164 | #, fuzzy 165 | msgid "_Close" 166 | msgstr "Gufunga" 167 | 168 | #: libwnck/window-action-menu.c:518 169 | #, fuzzy 170 | msgid "Move to Another _Workspace" 171 | msgstr "Kuri" 172 | 173 | # basctl/source\basicide\basidesh.src:RID_IMGBTN_REMOVEWATCH.text 174 | #: libwnck/window-action-menu.c:542 175 | #, fuzzy, c-format 176 | msgid "%s" 177 | msgstr "%s" 178 | 179 | #: libwnck/window.c:32 180 | #, fuzzy 181 | msgid "untitled window" 182 | msgstr "Nta mutwe Idirishya" 183 | -------------------------------------------------------------------------------- /po/si.po: -------------------------------------------------------------------------------- 1 | # translation of libwnck .HEAD.si.po to Sinhala 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # 5 | # Danishka Navin , 2007. 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: libwnck .HEAD.si\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2007-04-27 03:53+0100\n" 11 | "PO-Revision-Date: 2007-05-02 16:56+0530\n" 12 | "Last-Translator: Danishka Navin \n" 13 | "Language-Team: Sinhala \n" 14 | "Language: si\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: KBabel 1.11.4\n" 19 | 20 | #: ../libwnck/application.c:29 21 | msgid "untitled application" 22 | msgstr "නිර්නාමික යෙදුම" 23 | 24 | #: ../libwnck/pager-accessible.c:321 25 | msgid "Workspace Switcher" 26 | msgstr "වැඩබිම් සිරුමාරුව" 27 | 28 | #: ../libwnck/pager-accessible.c:332 29 | msgid "Tool to switch between workspaces" 30 | msgstr "වැඩබිම් අතර මාරුවිමට මෙවලම" 31 | 32 | #: ../libwnck/pager-accessible.c:436 33 | #, c-format 34 | msgid "Click this to switch to workspace %s" 35 | msgstr "%s වැඩබිමට මාරුවිමට මෙය ඔබන්න" 36 | 37 | #: ../libwnck/selector.c:221 38 | msgid "Unknown Window" 39 | msgstr "නොදන්නා කවුළුවක්" 40 | 41 | #: ../libwnck/selector.c:729 42 | msgid "No Windows Open" 43 | msgstr "කිසිම කවුළුවක් විවෘතව නැත" 44 | 45 | #: ../libwnck/selector.c:833 46 | msgid "Window Selector" 47 | msgstr "කවුළු තොරණය" 48 | 49 | #: ../libwnck/selector.c:834 50 | msgid "Tool to switch between windows" 51 | msgstr "කවුළු අතර මාරුවිමට මෙවලම" 52 | 53 | #: ../libwnck/tasklist.c:646 54 | msgid "Window List" 55 | msgstr "කවුළු ලැයිස්තුව" 56 | 57 | #: ../libwnck/tasklist.c:647 58 | msgid "Tool to switch between visible windows" 59 | msgstr "දෘශ්‍ය කවුළු අතර මාරුවිමට උපකරණය" 60 | 61 | #: ../libwnck/tasklist.c:2580 62 | msgid "_Close All" 63 | msgstr "සියල්ල වසන්න (_C)" 64 | 65 | #: ../libwnck/tasklist.c:2595 66 | msgid "_Minimize All" 67 | msgstr "සියල්ල හකුලන්න (_M)" 68 | 69 | #: ../libwnck/tasklist.c:2606 70 | msgid "_Unminimize All" 71 | msgstr "සියල්ල නොහකුලන්න (_U)" 72 | 73 | #: ../libwnck/window-action-menu.c:260 74 | msgid "Unmi_nimize" 75 | msgstr "නොහකුලන්න (_n)" 76 | 77 | #: ../libwnck/window-action-menu.c:267 78 | msgid "Mi_nimize" 79 | msgstr "හකුලන්න (_n)" 80 | 81 | #: ../libwnck/window-action-menu.c:275 82 | msgid "Unma_ximize" 83 | msgstr "නොවිහිදන්න (_x)" 84 | 85 | #: ../libwnck/window-action-menu.c:282 86 | msgid "Ma_ximize" 87 | msgstr "විහිදන්න (_x)" 88 | 89 | #: ../libwnck/window-action-menu.c:302 90 | msgid "_Only on This Workspace" 91 | msgstr "මෙම වැඩබිම මත පමණි (_O)" 92 | 93 | #: ../libwnck/window-action-menu.c:309 94 | msgid "_Always on Visible Workspace" 95 | msgstr "සැමවිටම දෘශ්‍ය වැඩබිම මත (_A)" 96 | 97 | #: ../libwnck/window-action-menu.c:463 ../libwnck/workspace.c:237 98 | #, c-format 99 | msgid "Workspace %d" 100 | msgstr "%d වැඩබිම" 101 | 102 | #: ../libwnck/window-action-menu.c:471 103 | msgid "Workspace 1_0" 104 | msgstr "වැඩබිම 10 (_0)" 105 | 106 | #: ../libwnck/window-action-menu.c:473 107 | #, c-format 108 | msgid "Workspace %s%d" 109 | msgstr "%s%d වැඩබිම" 110 | 111 | #: ../libwnck/window-action-menu.c:563 112 | msgid "On _Top" 113 | msgstr "ඉහළින් (_T)" 114 | 115 | #: ../libwnck/window-action-menu.c:572 116 | msgid "_Move" 117 | msgstr "ගෙන යන්න (_M)" 118 | 119 | #: ../libwnck/window-action-menu.c:579 120 | msgid "_Resize" 121 | msgstr "ප්‍රමාණය සකසන්න (_R)" 122 | 123 | #: ../libwnck/window-action-menu.c:592 124 | msgid "_Close" 125 | msgstr "වසන්න (_C)" 126 | 127 | #: ../libwnck/window-action-menu.c:626 128 | msgid "Move to Workspace _Left" 129 | msgstr "වැඩබිම වමට ගෙන යන්න (_L)" 130 | 131 | #: ../libwnck/window-action-menu.c:637 132 | msgid "Move to Workspace R_ight" 133 | msgstr "වැඩබිම දකුණට ගෙන යන්න (_i)" 134 | 135 | #: ../libwnck/window-action-menu.c:648 136 | msgid "Move to Workspace _Up" 137 | msgstr "වැඩබිම ඉහලට ගෙන යන්න (_U)" 138 | 139 | #: ../libwnck/window-action-menu.c:660 140 | msgid "Move to Workspace _Down" 141 | msgstr "වැඩබිම පහලට ගෙන යන්න (_D)" 142 | 143 | #: ../libwnck/window-action-menu.c:667 144 | msgid "Move to Another _Workspace" 145 | msgstr "වෙනත් වැඩබිමකට ගෙන යන්න (_W)" 146 | 147 | #: ../libwnck/window.c:36 148 | msgid "untitled window" 149 | msgstr "නිර්නාමික කවුළුව" 150 | 151 | -------------------------------------------------------------------------------- /po/sq.po: -------------------------------------------------------------------------------- 1 | # Përkthimi i mesazheve të libwnck në shqip 2 | # Copyright (C) 2006 Free Software Foundation, Inc. 3 | # 4 | # Laurent Dhima , 2002, 2003, 2004, 2005, 2006. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: libwnck HEAD\n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2006-03-09 15:10+0100\n" 10 | "PO-Revision-Date: 2006-03-09 18:03+0100\n" 11 | "Last-Translator: Laurent Dhima \n" 12 | "Language-Team: Albanian \n" 13 | "Language: sq\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | 18 | #: ../libwnck/application.c:29 19 | msgid "untitled application" 20 | msgstr "program pa emër" 21 | 22 | #: ../libwnck/pager-accessible.c:321 23 | msgid "Workspace Switcher" 24 | msgstr "Zgjedhësi i hapësirës së punës" 25 | 26 | #: ../libwnck/pager-accessible.c:332 27 | msgid "Tool to switch between workspaces" 28 | msgstr "Instrument për të kaluar nga një hapësirë pune tek tjetra" 29 | 30 | #: ../libwnck/pager-accessible.c:436 31 | #, c-format 32 | msgid "Click this to switch to workspace %s" 33 | msgstr "Kliko këtu për të kaluar tek hapësira e punës %s" 34 | 35 | #: ../libwnck/selector.c:221 36 | msgid "Unknown Window" 37 | msgstr "Dritare e panjohur" 38 | 39 | #: ../libwnck/selector.c:729 40 | msgid "No Windows Open" 41 | msgstr "Asnjë dritare e hapur" 42 | 43 | #: ../libwnck/selector.c:833 44 | msgid "Window Selector" 45 | msgstr "Zgjedhësi i dritares" 46 | 47 | #: ../libwnck/selector.c:834 48 | msgid "Tool to switch between windows" 49 | msgstr "Instrument për të lëvizur midis dritareve" 50 | 51 | #: ../libwnck/tasklist.c:667 52 | msgid "Window List" 53 | msgstr "Lista e dritareve" 54 | 55 | #: ../libwnck/tasklist.c:668 56 | msgid "Tool to switch between visible windows" 57 | msgstr "Instrument për të lëvizur nga një dritare e dukshme tek tjetra" 58 | 59 | #: ../libwnck/tasklist.c:2463 60 | msgid "_Close All" 61 | msgstr "_Mbyll gjithçka" 62 | 63 | #: ../libwnck/tasklist.c:2478 64 | msgid "_Minimize All" 65 | msgstr "_Minimizo gjithçka" 66 | 67 | #: ../libwnck/tasklist.c:2489 68 | msgid "_Unminimize All" 69 | msgstr "Ç'mi_nimizo gjithçka" 70 | 71 | #: ../libwnck/window-action-menu.c:260 72 | msgid "Unmi_nimize" 73 | msgstr "Ç'mi_nimizo" 74 | 75 | #: ../libwnck/window-action-menu.c:267 76 | msgid "Mi_nimize" 77 | msgstr "Mi_nimizo" 78 | 79 | #: ../libwnck/window-action-menu.c:275 80 | msgid "Unma_ximize" 81 | msgstr "Zvo_gëlo" 82 | 83 | #: ../libwnck/window-action-menu.c:282 84 | msgid "Ma_ximize" 85 | msgstr "Ma_ksimizo" 86 | 87 | #: ../libwnck/window-action-menu.c:302 88 | msgid "_Only on This Workspace" 89 | msgstr "_Vetëm në këtë hapësirë pune" 90 | 91 | #: ../libwnck/window-action-menu.c:309 92 | msgid "_Always on Visible Workspace" 93 | msgstr "_Gjithmonë tek hapësira e dukshme e punës" 94 | 95 | #: ../libwnck/window-action-menu.c:463 ../libwnck/workspace.c:237 96 | #, c-format 97 | msgid "Workspace %d" 98 | msgstr "Hapësira e punës %d" 99 | 100 | #: ../libwnck/window-action-menu.c:471 101 | msgid "Workspace 1_0" 102 | msgstr "Hapësira e punës 1_0" 103 | 104 | #: ../libwnck/window-action-menu.c:473 105 | #, c-format 106 | msgid "Workspace %s%d" 107 | msgstr "Hapësira e punës %s%d" 108 | 109 | #: ../libwnck/window-action-menu.c:563 110 | msgid "On _Top" 111 | msgstr "Në _Krye" 112 | 113 | #: ../libwnck/window-action-menu.c:572 114 | msgid "_Move" 115 | msgstr "_Lëviz" 116 | 117 | #: ../libwnck/window-action-menu.c:579 118 | msgid "_Resize" 119 | msgstr "_Ripërmaso" 120 | 121 | #: ../libwnck/window-action-menu.c:592 122 | msgid "_Close" 123 | msgstr "_Mbyll" 124 | 125 | #: ../libwnck/window-action-menu.c:626 126 | msgid "Move to Workspace _Left" 127 | msgstr "_Lëvize tek hapësira e punës majtas" 128 | 129 | #: ../libwnck/window-action-menu.c:637 130 | msgid "Move to Workspace R_ight" 131 | msgstr "Lëv_ize tek hapësira e punës djathtas" 132 | 133 | #: ../libwnck/window-action-menu.c:648 134 | msgid "Move to Workspace _Up" 135 | msgstr "Lëvize tek hapësira e p_Unës sipër" 136 | 137 | #: ../libwnck/window-action-menu.c:660 138 | msgid "Move to Workspace _Down" 139 | msgstr "Lëvize tek hapësira e punës _poshtë" 140 | 141 | #: ../libwnck/window-action-menu.c:667 142 | msgid "Move to Another _Workspace" 143 | msgstr "Lëvize tek një tjetër hapësirë pune" 144 | 145 | #: ../libwnck/window-action-menu.c:683 146 | #, c-format 147 | msgid "%s" 148 | msgstr "%s" 149 | 150 | #: ../libwnck/window.c:35 151 | msgid "untitled window" 152 | msgstr "dritare pa emër" 153 | 154 | -------------------------------------------------------------------------------- /po/wa.po: -------------------------------------------------------------------------------- 1 | # Translation into the walloon language. 2 | # 3 | # Si vos voloz donner on côp di spale pol ratournaedje di Gnome (ou des 4 | # ôtes libes programes) sicrijhoz mu a l' adresse emile 5 | # ; nos avans co bråmint di l' ovraedje a fé. 6 | # 7 | # Copyright (C) 1999 Free Software Foundation, Inc. 8 | # Pablo Saratxaga 1999-2002 9 | # Lucyin Mahin, 2000 10 | # Lorint Hendschel , 2001 11 | # 12 | msgid "" 13 | msgstr "" 14 | "Project-Id-Version: libwnck 1.0.1\n" 15 | "Report-Msgid-Bugs-To: \n" 16 | "POT-Creation-Date: 2005-09-05 11:49+0200\n" 17 | "PO-Revision-Date: 2002-12-29 15:08+0100\n" 18 | "Last-Translator: Pablo Saratxaga \n" 19 | "Language-Team: Walon \n" 20 | "Language: wa\n" 21 | "MIME-Version: 1.0\n" 22 | "Content-Type: text/plain; charset=UTF-8\n" 23 | "Content-Transfer-Encoding: 8bit\n" 24 | 25 | #: libwnck/application.c:26 26 | msgid "untitled application" 27 | msgstr "programe sins tite" 28 | 29 | #: libwnck/pager-accessible.c:318 30 | msgid "Workspace Switcher" 31 | msgstr "Discandjeu di scribannes" 32 | 33 | #: libwnck/pager-accessible.c:329 34 | msgid "Tool to switch between workspaces" 35 | msgstr "Usteye po discandjî d' on scribanne a l' ôte" 36 | 37 | #: libwnck/pager-accessible.c:433 38 | #, c-format 39 | msgid "Click this to switch to workspace %s" 40 | msgstr "Clitchîz çouchal po potchî å scribanne %s" 41 | 42 | #: libwnck/selector.c:218 43 | msgid "Unknown Window" 44 | msgstr "" 45 | 46 | #: libwnck/selector.c:645 47 | msgid "No Windows Open" 48 | msgstr "" 49 | 50 | #: libwnck/selector.c:747 51 | msgid "Window Selector" 52 | msgstr "" 53 | 54 | #: libwnck/selector.c:748 55 | #, fuzzy 56 | msgid "Tool to switch between windows" 57 | msgstr "Usteye po discandjî d' on scribanne a l' ôte" 58 | 59 | #: libwnck/tasklist.c:690 60 | msgid "Window List" 61 | msgstr "" 62 | 63 | #: libwnck/tasklist.c:691 64 | #, fuzzy 65 | msgid "Tool to switch between visible windows" 66 | msgstr "Usteye po discandjî d' on scribanne a l' ôte" 67 | 68 | #: libwnck/tasklist.c:2324 69 | #, fuzzy 70 | msgid "_Close All" 71 | msgstr "_Clôre" 72 | 73 | #: libwnck/tasklist.c:2339 74 | #, fuzzy 75 | msgid "_Minimize All" 76 | msgstr "Å pus _ptit" 77 | 78 | #: libwnck/tasklist.c:2350 79 | #, fuzzy 80 | msgid "_Unminimize All" 81 | msgstr "_Rivni come divant" 82 | 83 | #: libwnck/window-action-menu.c:211 84 | msgid "Unmi_nimize" 85 | msgstr "_Rivni come divant" 86 | 87 | #: libwnck/window-action-menu.c:218 88 | msgid "Mi_nimize" 89 | msgstr "Å pus _ptit" 90 | 91 | #: libwnck/window-action-menu.c:226 92 | msgid "Unma_ximize" 93 | msgstr "_Rivni come divant" 94 | 95 | #: libwnck/window-action-menu.c:233 96 | msgid "Ma_ximize" 97 | msgstr "Å pus _grand" 98 | 99 | #: libwnck/window-action-menu.c:241 100 | msgid "_Unroll" 101 | msgstr "_Disrôler" 102 | 103 | #: libwnck/window-action-menu.c:248 104 | msgid "Roll _Up" 105 | msgstr "_Erôler" 106 | 107 | #: libwnck/window-action-menu.c:256 108 | #, fuzzy 109 | msgid "_Only on This Workspace" 110 | msgstr "Seulmint dins _ci scribanne chal" 111 | 112 | #: libwnck/window-action-menu.c:263 113 | #, fuzzy 114 | msgid "_Always on Visible Workspace" 115 | msgstr "Seulmint dins _ci scribanne chal" 116 | 117 | #: libwnck/window-action-menu.c:378 libwnck/workspace.c:236 118 | #, c-format 119 | msgid "Workspace %d" 120 | msgstr "Sicribanne %d" 121 | 122 | #: libwnck/window-action-menu.c:386 123 | #, fuzzy 124 | msgid "Workspace 1_0" 125 | msgstr "Sicribanne %d" 126 | 127 | #: libwnck/window-action-menu.c:388 128 | #, fuzzy, c-format 129 | msgid "Workspace %s%d" 130 | msgstr "Sicribanne %d" 131 | 132 | #: libwnck/window-action-menu.c:485 133 | msgid "_Move" 134 | msgstr "_Bodjî" 135 | 136 | #: libwnck/window-action-menu.c:492 137 | msgid "_Resize" 138 | msgstr "Candjî di _grandeu" 139 | 140 | #: libwnck/window-action-menu.c:505 141 | msgid "_Close" 142 | msgstr "_Clôre" 143 | 144 | #: libwnck/window-action-menu.c:518 145 | msgid "Move to Another _Workspace" 146 | msgstr "" 147 | 148 | #: libwnck/window-action-menu.c:542 149 | #, c-format 150 | msgid "%s" 151 | msgstr "" 152 | 153 | #: libwnck/window.c:32 154 | msgid "untitled window" 155 | msgstr "purnea sins tite" 156 | 157 | #~ msgid "Put on _All Workspaces" 158 | #~ msgstr "Mete so _tos les scribannes" 159 | -------------------------------------------------------------------------------- /po/xh.po: -------------------------------------------------------------------------------- 1 | # Xhosa translation of libwnck 2 | # Copyright (C) 2005 Canonical Ltd. 3 | # This file is distributed under the same license as the libwnck package. 4 | # Translation by Canonical Ltd with thanks to 5 | # Translation World CC in South Africa, 2005. 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: libwnck\n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2005-09-05 11:49+0200\n" 12 | "PO-Revision-Date: 2005-03-02 14:16+0200\n" 13 | "Last-Translator: Canonical Ltd \n" 14 | "Language-Team: Xhosa \n" 15 | "Language: xh\n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=UTF-8\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | 20 | #: libwnck/application.c:26 21 | msgid "untitled application" 22 | msgstr "inkqubo engenasihloko" 23 | 24 | #: libwnck/pager-accessible.c:318 25 | msgid "Workspace Switcher" 26 | msgstr "Isixhobo sokuvula ucima Sesithuba sokusebenzela" 27 | 28 | #: libwnck/pager-accessible.c:329 29 | msgid "Tool to switch between workspaces" 30 | msgstr "Isixhobo sokuvula ucima phakathi kwezithuba zokusebenzela" 31 | 32 | #: libwnck/pager-accessible.c:433 33 | #, c-format 34 | msgid "Click this to switch to workspace %s" 35 | msgstr "Cofa le nto ukwenzela ukuvulela kwisithuba sokusebenzela se %s" 36 | 37 | #: libwnck/selector.c:218 38 | msgid "Unknown Window" 39 | msgstr "Ifestile Engaziwayo" 40 | 41 | #: libwnck/selector.c:645 42 | msgid "No Windows Open" 43 | msgstr "Akukho Zifestile Zivuliweyo" 44 | 45 | #: libwnck/selector.c:747 46 | msgid "Window Selector" 47 | msgstr "Isikhethi Sefestile" 48 | 49 | #: libwnck/selector.c:748 50 | msgid "Tool to switch between windows" 51 | msgstr "Isixhobo sokuvula ucima phakathi kweefestile" 52 | 53 | #: libwnck/tasklist.c:690 54 | msgid "Window List" 55 | msgstr "Uluhlu Lwefestile" 56 | 57 | #: libwnck/tasklist.c:691 58 | msgid "Tool to switch between visible windows" 59 | msgstr "Isixhobo sokuvula ucima phakathi kweefestile ezibonakalayo" 60 | 61 | #: libwnck/tasklist.c:2324 62 | msgid "_Close All" 63 | msgstr "_Vala Konke" 64 | 65 | #: libwnck/tasklist.c:2339 66 | msgid "_Minimize All" 67 | msgstr "_Nciphisa Konke" 68 | 69 | #: libwnck/tasklist.c:2350 70 | msgid "_Unminimize All" 71 | msgstr "Yeka _ukunciphisa Konke" 72 | 73 | #: libwnck/window-action-menu.c:211 74 | msgid "Unmi_nimize" 75 | msgstr "Yeka ukunc_iphisa" 76 | 77 | #: libwnck/window-action-menu.c:218 78 | msgid "Mi_nimize" 79 | msgstr "Nci_phisa" 80 | 81 | #: libwnck/window-action-menu.c:226 82 | msgid "Unma_ximize" 83 | msgstr "Yeka ukw_andisa" 84 | 85 | #: libwnck/window-action-menu.c:233 86 | msgid "Ma_ximize" 87 | msgstr "Ya_ndisa" 88 | 89 | #: libwnck/window-action-menu.c:241 90 | msgid "_Unroll" 91 | msgstr "Yeka _ukuqengqa" 92 | 93 | #: libwnck/window-action-menu.c:248 94 | msgid "Roll _Up" 95 | msgstr "Qengqela _Phezulu" 96 | 97 | #: libwnck/window-action-menu.c:256 98 | msgid "_Only on This Workspace" 99 | msgstr "_Kuphela Kwesi Sithuba Sokusebenzela" 100 | 101 | #: libwnck/window-action-menu.c:263 102 | msgid "_Always on Visible Workspace" 103 | msgstr "Lonke_ixesha Kwisithuba Esibonakalayo Sokusebenzela" 104 | 105 | #: libwnck/window-action-menu.c:378 libwnck/workspace.c:236 106 | #, c-format 107 | msgid "Workspace %d" 108 | msgstr "Isihuba sokusebenzela i-%d" 109 | 110 | #: libwnck/window-action-menu.c:386 111 | msgid "Workspace 1_0" 112 | msgstr "Isithuba sokusebenzela 1_0" 113 | 114 | #: libwnck/window-action-menu.c:388 115 | #, c-format 116 | msgid "Workspace %s%d" 117 | msgstr "Isithuba sokusebenzela i-%s%d" 118 | 119 | #: libwnck/window-action-menu.c:485 120 | msgid "_Move" 121 | msgstr "_Shenxisa" 122 | 123 | #: libwnck/window-action-menu.c:492 124 | msgid "_Resize" 125 | msgstr "_Tshintsha ubungakanani kwakhona" 126 | 127 | #: libwnck/window-action-menu.c:505 128 | msgid "_Close" 129 | msgstr "_Vala" 130 | 131 | #: libwnck/window-action-menu.c:518 132 | msgid "Move to Another _Workspace" 133 | msgstr "Shenxisela Kwesinye _Isithuba sokusebenzela" 134 | 135 | #: libwnck/window-action-menu.c:542 136 | #, c-format 137 | msgid "%s" 138 | msgstr "i-%s" 139 | 140 | #: libwnck/window.c:32 141 | msgid "untitled window" 142 | msgstr "ifestile engenasihloko" 143 | -------------------------------------------------------------------------------- /rationales.txt: -------------------------------------------------------------------------------- 1 | Bugs explaining chosen behavior: 2 | ================================ 3 | Don't activate windows clicked in the pager: 4 | http://bugzilla.gnome.org/show_bug.cgi?id=100470 5 | 6 | Sticky/Pinned/whatever-its-called windows only appear in one workspace: 7 | http://bugzilla.gnome.org/show_bug.cgi?id=156182 8 | http://bugzilla.gnome.org/show_bug.cgi?id=87531 9 | 10 | Use icon name in tasklist: 11 | http://bugzilla.gnome.org/show_bug.cgi?id=321915 12 | 13 | Layout in window action menu: 14 | See rationales.txt in metacity :-) 15 | 16 | 17 | 18 | 19 | Tracker bugs: 20 | ================================ 21 | Window Grouping 22 | http://bugzilla.gnome.org/show_bug.cgi?id=155904 23 | 24 | Tasklist Appearance 25 | http://bugzilla.gnome.org/show_bug.cgi?id=155905 26 | 27 | Pager (i.e. workspace switcher) Appearance 28 | http://bugzilla.gnome.org/show_bug.cgi?id=155906 29 | 30 | Menus 31 | http://bugzilla.gnome.org/show_bug.cgi?id=155907 32 | 33 | Drag-and-drop 34 | http://bugzilla.gnome.org/show_bug.cgi?id=155908 35 | 36 | Metacity-Libwnck Interaction 37 | http://bugzilla.gnome.org/show_bug.cgi?id=155909 38 | 39 | Action bugs other than Drag-And-Drop 40 | http://bugzilla.gnome.org/show_bug.cgi?id=155910 41 | --------------------------------------------------------------------------------