From 1f99a97544bd7a6d97dee30cbfef91d6b4632d12 Mon Sep 17 00:00:00 2001 From: Cheng Zhao Date: Sun, 29 Jun 2014 05:31:11 +0000 Subject: [PATCH] gtk: Fix lack of x11_util implementations. --- atom.gyp | 1 + atom/browser/ui/gtk/x11_util.cc | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 atom/browser/ui/gtk/x11_util.cc diff --git a/atom.gyp b/atom.gyp index 191c0428c9e..53e4a499069 100644 --- a/atom.gyp +++ b/atom.gyp @@ -140,6 +140,7 @@ 'atom/browser/ui/gtk/status_icon.h', 'atom/browser/ui/gtk/work_area_watcher_x.cc', 'atom/browser/ui/gtk/work_area_watcher_x.h', + 'atom/browser/ui/gtk/x11_util.cc', 'atom/browser/ui/message_box.h', 'atom/browser/ui/message_box_gtk.cc', 'atom/browser/ui/message_box_mac.mm', diff --git a/atom/browser/ui/gtk/x11_util.cc b/atom/browser/ui/gtk/x11_util.cc new file mode 100644 index 00000000000..94dbe5ba213 --- /dev/null +++ b/atom/browser/ui/gtk/x11_util.cc @@ -0,0 +1,25 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// This file defines utility functions for X11 (Linux only). This code has been +// ported from XCB since we can't use XCB on Ubuntu while its 32-bit support +// remains woefully incomplete. + +#include "ui/base/x/x11_util.h" + +#include "ui/gfx/gdk_compat.h" + +namespace ui { + +Atom GetAtom(const char* name) { +#if defined(TOOLKIT_GTK) + return gdk_x11_get_xatom_by_name_for_display( + gdk_display_get_default(), name); +#else + // TODO(derat): Cache atoms to avoid round-trips to the server. + return XInternAtom(gfx::GetXDisplay(), name, false); +#endif +} + +} // namespace ui