Adding upstream version 0.9.0.

Signed-off-by: Andrew Lee (李健秋) <ajqlee@debian.org>
ubuntu/focal upstream/0.9.0
Andrew Lee (李健秋) 9 years ago
commit b0579f4648
No known key found for this signature in database
GPG Key ID: 9D0633E1B6250985

1
.gitignore vendored

@ -0,0 +1 @@
build

@ -0,0 +1,13 @@
Copyright:
Copyright (c) 2012-2014 LXQt team
This program is based on source code from the ObConf project
<http://openbox.org/wiki/ObConf:About>
Original authors of obconf and copyright notice:
Copyright (c) 2003-2007 Dana Jansens <danakj@orodu.net>
Copyright (c) 2003 Tim Riley <tr@slackzone.org>
Copyright (c) 2007 Javeed Shaikh <syscrash2k@gmail.com>
License: GNU GPL-2
The full text of the licenses can be found in the 'COPYING' file.

@ -0,0 +1,60 @@
project(obconf-qt)
# newer cmake is required for CMAKE_AUTOMOC Qt support
cmake_minimum_required(VERSION 2.8.6)
find_program(SED_PROGRAM sed)
# additional cmake files
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
# Support Qt5
option(USE_QT5 "Build with Qt5." $ENV{USE_QT5})
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
set(CMAKE_AUTOMOC ON)
if(USE_QT5)
cmake_minimum_required(VERSION 2.8.11)
find_package(Qt5Widgets REQUIRED)
find_package(Qt5X11Extras REQUIRED)
find_package(Qt5LinguistTools REQUIRED QUIET)
message(STATUS "Building with Qt${Qt5Core_VERSION_STRING}")
else()
find_package(Qt4 REQUIRED QtCore QtGui) # Qt
include(${QT_USE_FILE})
message(STATUS "Building with Qt${QTVERSION}")
endif()
find_package(PkgConfig)
pkg_check_modules(GLIB REQUIRED
glib-2.0
)
pkg_check_modules(OPENBOX REQUIRED
obrender-3.5
obt-3.5
)
# add src subdirectory
add_subdirectory(src)
# install an icon for the application
install(
FILES data/obconf-qt.png
DESTINATION share/icons/hicolor/48x48/apps
)
# building tarball with CPack -------------------------------------------------
# To create a source distribution, type:
# make package_source
include (InstallRequiredSystemLibraries)
set (CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING")
set (CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/README")
set (CPACK_PACKAGE_VENDOR "")
set (CPACK_PACKAGE_VERSION_MAJOR "0")
set (CPACK_PACKAGE_VERSION_MINOR "1")
set (CPACK_PACKAGE_VERSION_PATCH "0")
set (CPACK_GENERATOR TBZ2)
set (CPACK_SOURCE_GENERATOR TBZ2)
set (CPACK_SOURCE_IGNORE_FILES /build/;.gitignore;.*~;.git;.kdev4;temp)
# set (CPACK_SOURCE_PACKAGE_FILE_NAME pcmanfm-qt.0.1.0.tar.gz)
include (CPack)

@ -0,0 +1,340 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

@ -0,0 +1,2 @@
This is a Qt port of ObConf, configurator of OpenBox window manager.

@ -0,0 +1,107 @@
#=============================================================================
# The lxqt_translate_desktop() function was copied from the the
# LXQt LxQtTranste.cmake
#
# Original Author: Alexander Sokolov <sokoloff.a@gmail.com>
#
# funtion lxqt_translate_desktop(_RESULT
# SOURCES <sources>
# [TRANSLATION_DIR] translation_directory
# )
# Output:
# _RESULT The generated .desktop (.desktop) files
#
# Input:
#
# SOURCES List of input desktop files (.destktop.in) to be translated
# (merged), relative to the CMakeList.txt.
#
# TRANSLATION_DIR Optional path to the directory with the .ts files,
# relative to the CMakeList.txt. Defaults to
# "translations".
#
#=============================================================================
function(lxqt_translate_desktop _RESULT)
# Parse arguments ***************************************
set(oneValueArgs TRANSLATION_DIR)
set(multiValueArgs SOURCES)
cmake_parse_arguments(_ARGS "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
# check for unknown arguments
set(_UNPARSED_ARGS ${_ARGS_UNPARSED_ARGUMENTS})
if (NOT ${_UNPARSED_ARGS} STREQUAL "")
MESSAGE(FATAL_ERROR
"Unknown arguments '${_UNPARSED_ARGS}'.\n"
"See lxqt_translate_desktop() documenation for more information.\n"
)
endif()
if (NOT DEFINED _ARGS_SOURCES)
set(${_RESULT} "" PARENT_SCOPE)
return()
else()
set(_sources ${_ARGS_SOURCES})
endif()
if (NOT DEFINED _ARGS_TRANSLATION_DIR)
set(_translationDir "translations")
else()
set(_translationDir ${_ARGS_TRANSLATION_DIR})
endif()
get_filename_component (_translationDir ${_translationDir} ABSOLUTE)
foreach (_inFile ${_sources})
get_filename_component(_inFile ${_inFile} ABSOLUTE)
get_filename_component(_fileName ${_inFile} NAME_WE)
#Extract the real extension ............
get_filename_component(_fileExt ${_inFile} EXT)
string(REPLACE ".in" "" _fileExt ${_fileExt})
#.......................................
set(_outFile "${CMAKE_CURRENT_BINARY_DIR}/${_fileName}${_fileExt}")
file(GLOB _translations
${_translationDir}/${_fileName}_*${_fileExt}
${_translationDir}/local/${_fileName}_*${_fileExt}
)
set(_pattern "'\\[.*]\\s*='")
if (_translations)
add_custom_command(OUTPUT ${_outFile}
COMMAND grep -v "'#TRANSLATIONS_DIR='" ${_inFile} > ${_outFile}
COMMAND grep -h ${_pattern} ${_translations} >> ${_outFile}
COMMENT "Generating ${_fileName}${_fileExt}"
)
else()
add_custom_command(OUTPUT ${_outFile}
COMMAND grep -v "'#TRANSLATIONS_DIR='" ${_inFile} > ${_outFile}
COMMENT "Generating ${_fileName}${_fileExt}"
)
endif()
set(__result ${__result} ${_outFile})
# TX file ***********************************************
set(_txFile "${CMAKE_BINARY_DIR}/tx/${_fileName}${_fileExt}.tx.sh")
string(REPLACE "${CMAKE_SOURCE_DIR}/" "" _tx_translationDir ${_translationDir})
string(REPLACE "${CMAKE_SOURCE_DIR}/" "" _tx_inFile ${_inFile})
string(REPLACE "." "" _fileType ${_fileExt})
file(WRITE ${_txFile}
"[ -f ${_inFile} ] || exit 0\n"
"echo '[lxde-qt.${_fileName}_${_fileType}]'\n"
"echo 'type = DESKTOP'\n"
"echo 'source_lang = en'\n"
"echo 'source_file = ${_tx_inFile}'\n"
"echo 'file_filter = ${_tx_translationDir}/${_fileName}_<lang>${_fileExt}'\n"
"echo ''\n"
)
endforeach()
set(${_RESULT} ${__result} PARENT_SCOPE)
endfunction(lxqt_translate_desktop)

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

@ -0,0 +1,4 @@
[Project]
Name=obconf-qt
Manager=KDevCMakeManager
VersionControl=

@ -0,0 +1,131 @@
# set visibility to hidden to hide symbols, unlesss they're exporeted manually in the code
set(CMAKE_CXX_FLAGS "-DQT_NO_KEYWORDS -fno-exceptions")
if(USE_QT5)
set(QTX_INCLUDE_DIRS "")
set(QTX_LIBRARIES Qt5::Widgets Qt5::X11Extras)
else()
set(QTX_INCLUDE_DIRS ${QT_QTCORE_INCLUDE_DIR} ${QT_QTGUI_INCLUDE_DIR} ${QT_QTDBUS_DIR})
set(QTX_LIBRARIES ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${QT_QTDBUS_LIBRARY})
endif()
include_directories(
${QTX_INCLUDE_DIRS}
${GLIB_INCLUDE_DIRS}
${OPENBOX_INCLUDE_DIRS}
${CMAKE_CURRENT_BINARY_DIR}
)
set(obconf-qt_SRCS
obconf-qt.cpp
maindialog.cpp
appearance.cpp
windows.cpp
mouse.cpp
moveresize.cpp
margins.cpp
desktops.cpp
dock.cpp
tree.cpp
archive.cpp
theme.cpp
fontbutton.cpp
)
set(obconf-qt_UIS
obconf.ui
)
if(USE_QT5)
qt5_wrap_ui(obconf-qt_UI_H ${obconf-qt_UIS})
else()
qt4_wrap_ui(obconf-qt_UI_H ${obconf-qt_UIS})
endif()
# The ui code generated by Qt uic contains QMetaObject::connectSlotsByName()
# but we don't want that. Fix it with sed.
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ui_obconf_fixed.h
COMMAND ${SED_PROGRAM}
ARGS "/connectSlotsByName/d" ${obconf-qt_UI_H} > ${CMAKE_CURRENT_BINARY_DIR}/ui_obconf_fixed.h
# DEPENDS
MAIN_DEPENDENCY ${obconf-qt_UI_H}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Fixing generated ui code"
VERBATIM
)
# add translation for obconf-qt
option (UPDATE_TRANSLATIONS "Update source translation translations/*.ts files" OFF)
set(TRANSLATION_TEMPLATE "translations/obconf-qt.ts")
file(GLOB TS_FILES translations/obconf-qt_*.ts)
if(USE_QT5)
if (UPDATE_TRANSLATIONS)
qt5_create_translation(QMS_FILES
${obconf-qt_SRCS}
${obconf-qt_UI_H}
${TRANSLATION_TEMPLATE}
OPTIONS -locations absolute)
qt5_create_translation(QM_FILES
${obconf-qt_SRCS}
${obconf-qt_UI_H}
${TS_FILES}
OPTIONS -locations absolute)
else (UPDATE_TRANSLATIONS)
qt5_add_translation(QM_FILES ${TS_FILES})
endif (UPDATE_TRANSLATIONS)
else(USE_QT5) # use qt4
if (UPDATE_TRANSLATIONS)
qt4_create_translation(QMS_FILES
${obconf-qt_SRCS}
${obconf-qt_UI_H}
${TRANSLATION_TEMPLATE}
OPTIONS -locations absolute)
qt4_create_translation(QMS_FILES
${obconf-qt_SRCS}
${obconf-qt_UI_H}
${TS_FILES}
OPTIONS -locations absolute)
else (UPDATE_TRANSLATIONS)
qt4_add_translation(QM_FILES ${TS_FILES})
endif (UPDATE_TRANSLATIONS)
endif(USE_QT5)
if(UPDATE_TRANSLATIONS)
add_custom_target(update_obconf-qt_translations ALL DEPENDS ${QMS})
endif()
# install a desktop entry file
include(LXQtTranslateDesktop)
lxqt_translate_desktop(DESKTOP_FILES
TRANSLATION_DIR "translations"
SOURCES obconf-qt.desktop.in
)
install(FILES ${DESKTOP_FILES} DESTINATION share/applications)
install(FILES ${QM_FILES} DESTINATION share/obconf-qt/translations)
# prevent the generated files from being deleted during make clean
set_directory_properties(PROPERTIES CLEAN_NO_CUSTOM true)
add_executable(obconf-qt
${obconf-qt_SRCS}
${obconf-qt_UI_H}
${QM_FILES}
${DESKTOP_FILES}
)
add_definitions(
-DPACKAGE_DATA_DIR="${CMAKE_INSTALL_PREFIX}/share/obconf-qt"
-DPIXMAPS_DIR="${CMAKE_INSTALL_PREFIX}/share/pixmaps"
-DTHEME_DIR="{CMAKE_INSTALL_PREFIX}/share/openbox/themes"
)
target_link_libraries(obconf-qt
${QTX_LIBRARIES}
${GLIB_LIBRARIES}
${OPENBOX_LIBRARIES}
)
install(TARGETS obconf-qt RUNTIME DESTINATION bin)

@ -0,0 +1,235 @@
/*
Copyright (C) 2013 Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
Part of the code in this file is taken from obconf:
Copyright (c) 2003-2007 Dana Jansens
Copyright (c) 2003 Tim Riley
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include "maindialog.h"
#include <obrender/render.h>
#include "tree.h"
#include <string.h>
using namespace Obconf;
extern RrInstance* rrinst; // defined in obconf-qt.cpp
static RrFont* read_font(Fm::FontButton* button, const gchar* place, gboolean def);
static RrFont* write_font(Fm::FontButton* button, const gchar* place);
void MainDialog::appearance_setup_tab() {
gchar* layout;
RrFont* f;
ui.window_border->setChecked(tree_get_bool("theme/keepBorder", TRUE));
ui.animate_iconify->setChecked(tree_get_bool("theme/animateIconify", TRUE));
layout = tree_get_string("theme/titleLayout", "NLIMC");
ui.title_layout->setText(layout);
// preview_update_set_title_layout(layout); // FIXME
g_free(layout);
f = read_font(ui.font_active, "ActiveWindow", TRUE);
// FIXME preview_update_set_active_font(f);
f = read_font(ui.font_inactive, "InactiveWindow", TRUE);
// FIXME preview_update_set_inactive_font(f);
f = read_font(ui.font_menu_header, "MenuHeader", TRUE);
// FIXME preview_update_set_menu_header_font(f);
f = read_font(ui.font_menu_item, "MenuItem", TRUE);
// FIXME preview_update_set_menu_item_font(f);
if(!(f = read_font(ui.font_active_display, "ActiveOnScreenDisplay", FALSE))) {
f = read_font(ui.font_active_display, "OnScreenDisplay", TRUE);
tree_delete_node("theme/font:place=OnScreenDisplay");
}
// FIXME preview_update_set_osd_active_font(f);
f = read_font(ui.font_inactive_display, "InactiveOnScreenDisplay", TRUE);
// FIXME preview_update_set_osd_inactive_font(f);
}
void MainDialog::on_window_border_toggled(bool checked) {
tree_set_bool("theme/keepBorder", checked);
}
void MainDialog::on_animate_iconify_toggled(bool checked) {
tree_set_bool("theme/animateIconify", checked);
}
void MainDialog::on_title_layout_textChanged(const QString& text) {
QByteArray layout;
// omit unknown chars
for(int i = 0; i < text.length(); ++i) {
char ch = text.at(i).toUpper().toLatin1();
if(strchr("NDSLIMC", ch))
layout += ch;
}
tree_set_string("theme/titleLayout", layout.constData());
// FIXME preview_update_set_title_layout(layout);
}
void MainDialog::on_font_active_changed() {
write_font(ui.font_active, "ActiveWindow");
// FIXME preview_update_set_active_font(write_font(w, "ActiveWindow"));
}
void MainDialog::on_font_inactive_changed() {
write_font(ui.font_inactive, "InactiveWindow");
// FIXME preview_update_set_inactive_font(write_font(w, "InactiveWindow"));
}
void MainDialog::on_font_menu_header_changed() {
write_font(ui.font_menu_header, "MenuHeader");
// FIXME preview_update_set_menu_header_font(write_font(w, "MenuHeader"));
}
void MainDialog::on_font_menu_item_changed() {
write_font(ui.font_menu_item, "MenuItem");
// FIXME preview_update_set_menu_item_font(write_font(w, "MenuItem"));
}
void MainDialog::on_font_active_display_changed() {
write_font(ui.font_active_display, "ActiveOnScreenDisplay");
// FIXME preview_update_set_osd_active_font(write_font(w, "ActiveOnScreenDisplay"));
}
void MainDialog::on_font_inactive_display_changed() {
write_font(ui.font_inactive_display, "InactiveOnScreenDisplay");
// FIXME preview_update_set_osd_inactive_font
// FIXME (write_font(w, "InactiveOnScreenDisplay"));
}
static RrFont* read_font(Fm::FontButton* button, const gchar* place,
gboolean use_default) {
RrFont* font;
gchar* fontstring, *node;
gchar* name, **names;
gchar* size;
gchar* weight;
gchar* slant;
RrFontWeight rr_weight = RR_FONTWEIGHT_NORMAL;
RrFontSlant rr_slant = RR_FONTSLANT_NORMAL;
node = g_strdup_printf("theme/font:place=%s/name", place);
name = tree_get_string(node, use_default ? "Sans" : NULL);
g_free(node);
if(name[0] == '\0') {
g_free(name);
return NULL;
}
node = g_strdup_printf("theme/font:place=%s/size", place);
size = tree_get_string(node, "8");
g_free(node);
node = g_strdup_printf("theme/font:place=%s/weight", place);
weight = tree_get_string(node, "");
g_free(node);
node = g_strdup_printf("theme/font:place=%s/slant", place);
slant = tree_get_string(node, "");
g_free(node);
/* get only the first font in the string */
names = g_strsplit(name, ",", 0);
g_free(name);
name = g_strdup(names[0]);
g_strfreev(names);
/* don't use "normal" in the gtk string */
if(!g_ascii_strcasecmp(weight, "normal")) {
g_free(weight); weight = g_strdup("");
}
if(!g_ascii_strcasecmp(slant, "normal")) {
g_free(slant); slant = g_strdup("");
}
QFont qfont;
qfont.setFamily(name);
// FIXME qfont.setWeight(weight);
qfont.setPointSize(atoi(size));
button->setFont(qfont);
if(!g_ascii_strcasecmp(weight, "Bold")) rr_weight = RR_FONTWEIGHT_BOLD;
if(!g_ascii_strcasecmp(slant, "Italic")) rr_slant = RR_FONTSLANT_ITALIC;
if(!g_ascii_strcasecmp(slant, "Oblique")) rr_slant = RR_FONTSLANT_OBLIQUE;
font = RrFontOpen(rrinst, name, atoi(size), rr_weight, rr_slant);
// g_free(fontstring);
g_free(slant);
g_free(weight);
g_free(size);
g_free(name);
return font;
}
static RrFont* write_font(Fm::FontButton* button, const gchar* place) {
gchar *c;
gchar *node;
RrFontWeight weight = RR_FONTWEIGHT_NORMAL;
RrFontSlant slant = RR_FONTSLANT_NORMAL;
QFont qfont = button->font();
if(qfont.bold())
weight = RR_FONTWEIGHT_BOLD;
QString size = QString("%1").arg(qfont.pointSize());
const char* slantStr = NULL;
switch(qfont.style()) {
case QFont::StyleItalic:
slant = RR_FONTSLANT_ITALIC;
slantStr = "Italic";
break;
case QFont::StyleOblique:
slant = RR_FONTSLANT_OBLIQUE;
slantStr = "Oblique";
break;
default:
slantStr = "Normal";
}
node = g_strdup_printf("theme/font:place=%s/name", place);
tree_set_string(node, qfont.family().toUtf8().constData());
g_free(node);
node = g_strdup_printf("theme/font:place=%s/size", place);
tree_set_string(node, size.toLatin1().constData());
g_free(node);
node = g_strdup_printf("theme/font:place=%s/weight", place);
tree_set_string(node, qfont.bold() ? "Bold" : "Normal");
g_free(node);
node = g_strdup_printf("theme/font:place=%s/slant", place);
tree_set_string(node, slantStr);
g_free(node);
return RrFontOpen(rrinst, qfont.family().toUtf8().constData(), qfont.pointSize(), weight, slant);
}

@ -0,0 +1,216 @@
#include <QMessageBox>
#include <glib.h>
#include <string.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
static gchar *get_theme_dir();
static gboolean change_dir(const gchar *dir);
static gchar* name_from_dir(const gchar *dir);
static gchar* install_theme_to(const gchar *file, const gchar *to);
static gboolean create_theme_archive(const gchar *dir, const gchar *name,
const gchar *to);
gchar* archive_install(const gchar *path)
{
gchar *dest;
gchar *name;
if (!(dest = get_theme_dir()))
return NULL;
if ((name = install_theme_to(path, dest))) {
QMessageBox::information(NULL, QString(), QObject::tr("\"%1\" was installed to %1")
.arg(QString::fromUtf8(name))
.arg(QString::fromUtf8(dest)));
}
g_free(dest);
return name;
}
void archive_create(const gchar *path)
{
gchar *name;
gchar *dest;
if (!(name = name_from_dir(path)))
return;
{
gchar *file;
file = g_strdup_printf("%s.obt", name);
dest = g_build_path(G_DIR_SEPARATOR_S,
g_get_current_dir(), file, NULL);
g_free(file);
}
if (create_theme_archive(path, name, dest))
QMessageBox::information(NULL, QString(), QObject::tr("\"%1\" was successfully created")
.arg(QString::fromUtf8(dest)));
g_free(dest);
g_free(name);
}
static gboolean create_theme_archive(const gchar *dir, const gchar *name,
const gchar *to)
{
gchar *glob;
gchar **argv;
gchar *errtxt = NULL;
gchar *parentdir;
gint exitcode;
GError *e = NULL;
glob = g_strdup_printf("%s/openbox-3/", name);
parentdir = g_build_path(G_DIR_SEPARATOR_S, dir, "..", NULL);
argv = g_new(gchar*, 9);
argv[0] = g_strdup("tar");
argv[1] = g_strdup("-c");
argv[2] = g_strdup("-z");
argv[3] = g_strdup("-f");
argv[4] = g_strdup(to);
argv[5] = g_strdup("-C");
argv[6] = g_strdup(parentdir);
argv[7] = g_strdup(glob);
argv[8] = NULL;
if (g_spawn_sync(NULL, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL,
NULL, &errtxt, &exitcode, &e))
{
if (exitcode != EXIT_SUCCESS)
QMessageBox::critical(NULL, QString(),
QObject::tr("Unable to create the theme archive \"%1\".\nThe following errors were reported:\n%2")
.arg(QString::fromUtf8(to))
.arg(QString::fromUtf8(errtxt)));
}
else
QMessageBox::critical(NULL, QString(),QObject::tr("Unable to run the \"tar\" command: %1")
.arg(QString::fromUtf8(e->message)));
g_strfreev(argv);
if (e) g_error_free(e);
g_free(errtxt);
g_free(parentdir);
g_free(glob);
return exitcode == EXIT_SUCCESS;
}
static gchar *get_theme_dir()
{
gchar *dir;
gint r;
dir = g_build_path(G_DIR_SEPARATOR_S, g_get_home_dir(), ".themes", NULL);
r = mkdir(dir, 0777);
if (r == -1 && errno != EEXIST) {
QMessageBox::critical(NULL, QString(),
QObject::tr("Unable to create directory \"%1\": %2")
.arg(QString::fromUtf8(dir))
.arg(QString::fromUtf8(strerror(errno))));
g_free(dir);
dir = NULL;
}
return dir;
}
static gchar* name_from_dir(const gchar *dir)
{
gchar *rc;
struct stat st;
gboolean r;
rc = g_build_path(G_DIR_SEPARATOR_S, dir, "openbox-3", "themerc", NULL);
r = (stat(rc, &st) == 0 && S_ISREG(st.st_mode));
g_free(rc);
if (!r) {
QMessageBox::critical(NULL, QString(),
QObject::tr("\"%1\" does not appear to be a valid Openbox theme directory")
.arg(QString::fromUtf8(dir)));
return NULL;
}
return g_path_get_basename(dir);
}
static gboolean change_dir(const gchar *dir)
{
if (chdir(dir) == -1) {
QMessageBox::critical(NULL, QString(), QObject::tr("Unable to move to directory \"%1\": %2")
.arg(QString::fromUtf8(dir))
.arg(QString::fromUtf8(strerror(errno))));
return FALSE;
}
return TRUE;
}
static gchar* install_theme_to(const gchar *file, const gchar *to)
{
gchar **argv;
gchar *errtxt = NULL, *outtxt = NULL;
gint exitcode;
GError *e = NULL;
gchar *name = NULL;
argv = g_new(gchar*, 11);
argv[0] = g_strdup("tar");
argv[1] = g_strdup("-x");
argv[2] = g_strdup("-v");
argv[3] = g_strdup("-z");
argv[4] = g_strdup("--wildcards");
argv[5] = g_strdup("-f");
argv[6] = g_strdup(file);
argv[7] = g_strdup("-C");
argv[8] = g_strdup(to);
argv[9] = g_strdup("*/openbox-3/");
argv[10] = NULL;
if (!g_spawn_sync(NULL, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL,
&outtxt, &errtxt, &exitcode, &e))
QMessageBox::critical(NULL, QString(), QObject::tr("Unable to run the \"tar\" command: %1")
.arg(QString::fromUtf8(e->message)));
g_strfreev(argv);
if (e) g_error_free(e);
if (exitcode != EXIT_SUCCESS)
QMessageBox::critical(NULL, QString(),
QObject::tr("Unable to extract the file \"%1\".\nPlease ensure that \"%2\" is writable and that the file is a valid Openbox theme archive.\nThe following errors were reported:\n%3")
.arg(QString::fromUtf8(file))
.arg(QString::fromUtf8(to))
.arg(QString::fromUtf8(errtxt)));
if (exitcode == EXIT_SUCCESS) {
gchar **lines = g_strsplit(outtxt, "\n", 0);
gchar **it;
for (it = lines; *it; ++it) {
gchar *l = *it;
gboolean found = FALSE;
while (*l && !found) {
if (!strcmp(l, "/openbox-3/")) {
*l = '\0'; /* cut the string */
found = TRUE;
}
++l;
}
if (found) {
name = g_strdup(*it);
break;
}
}
g_strfreev(lines);
}
g_free(outtxt);
g_free(errtxt);
return name;
}

@ -0,0 +1,9 @@
#ifndef __install_h
#define __install_h
#include <glib.h>
gchar* archive_install (const gchar *path);
void archive_create (const gchar *path);
#endif

@ -0,0 +1,225 @@
/*
Copyright (C) 2013 Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
Part of the code in this file is taken from obconf:
Copyright (c) 2003-2007 Dana Jansens
Copyright (c) 2003 Tim Riley
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include "maindialog.h"
#include <obrender/render.h>
#include "tree.h"
#include <QX11Info>
// FIXME: how to support XCB or Wayland?
#include <X11/Xlib.h>
using namespace Obconf;
extern RrInstance* rrinst; // defined in obconf-qt.cpp
static int num_desktops;
static void desktops_read_names();
static void desktops_write_names();
static void desktops_write_number();
static void enable_stuff();
void MainDialog::desktops_setup_tab() {
num_desktops = tree_get_int("desktops/number", 4);
ui.desktop_num->setValue(num_desktops);
gint i;
#if 0
// FIXME
GtkWidget* w;
GtkCellRenderer* render;
GtkTreeViewColumn* column;
w = get_widget("desktop_names");
desktop_store = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_BOOLEAN);
gtk_tree_view_set_model(GTK_TREE_VIEW(w), GTK_TREE_MODEL(desktop_store));
g_object_unref(desktop_store);
gtk_tree_selection_set_mode(gtk_tree_view_get_selection(GTK_TREE_VIEW(w)),
GTK_SELECTION_SINGLE);
render = gtk_cell_renderer_text_new();
g_signal_connect(render, "edited",
G_CALLBACK(on_desktop_names_cell_edited),
NULL);
column = gtk_tree_view_column_new_with_attributes
("Name", render, "text", 0, "editable", 1, NULL);
gtk_tree_view_append_column(GTK_TREE_VIEW(w), column);
#endif
desktops_read_names();
i = tree_get_int("desktops/popupTime", 875);
ui.desktop_popup->setChecked(i != 0);
ui.desktop_popup_time->setValue(i ? i : 875);
// FIXME enable_stuff();
}
/* FIXME
* static void enable_stuff() {
* GtkWidget* w;
* gboolean b;
*
* w = get_widget("desktop_popup");
* b = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w));
* w = get_widget("desktop_popup_time");
* gtk_widget_set_sensitive(w, b);
}
*/
void MainDialog::on_desktop_num_valueChanged(int newValue) {
num_desktops = newValue;
desktops_write_number();
desktops_read_names();
}
#if 0
// FIXME
static void MainDialog::on_desktop_names_cell_edited(GtkCellRendererText* cell,
const gchar* path_string,
const gchar* new_text,
gpointer data) {
GtkTreePath* path;
GtkTreeIter it;
gchar* old_text;
GList* lit;
gint i;
path = gtk_tree_path_new_from_string(path_string);
gtk_tree_model_get_iter(GTK_TREE_MODEL(desktop_store), &it, path);
gtk_tree_model_get(GTK_TREE_MODEL(desktop_store), &it, 0, &old_text, -1);
g_free(old_text);
i = gtk_tree_path_get_indices(path)[0];
lit = g_list_nth(desktop_names, i);
g_free(lit->data);
lit->data = g_strdup(new_text);
if(new_text[0]) /* not empty */
gtk_list_store_set(desktop_store, &it, 0, lit->data, -1);
else
gtk_list_store_set(desktop_store, &it, 0, _("(Unnamed desktop)"), -1);
desktops_write_names();
}
#endif
void MainDialog::desktops_read_names() {
xmlNodePtr n;
gint i;
ui.desktop_names->clear();
i = 0;
n = tree_get_node("desktops/names", NULL)->children;
while(n) {
gchar* name;
if(!xmlStrcmp(n->name, (const xmlChar*)"name")) {
name = obt_xml_node_string(n);
QString desktop_name = QString::fromUtf8(name);
if(desktop_name.isEmpty())
desktop_name = tr("(Unnamed desktop)");
ui.desktop_names->addItem(desktop_name);
++i;
}
n = n->next;
}
while(i < num_desktops) {
ui.desktop_names->addItem(tr("(Unnamed desktop)"));
++i;
}
}
void MainDialog::desktops_write_names() {
gchar** s;
xmlNodePtr n, c;
gint num = 0, last = -1;
// delete all existing keys
n = tree_get_node("desktops/names", NULL);
while((c = n->children)) {
xmlUnlinkNode(c);
xmlFreeNode(c);
}
int i;
for(i = 0; i < ui.desktop_names->count(); ++i) {
QListWidgetItem* item = ui.desktop_names->item(i);
QString text = item->text();
xmlNewTextChild(n, NULL, (xmlChar*)"name", (xmlChar*)text.toUtf8().constData());
}
tree_apply();
/* make openbox re-set the property */
XDeleteProperty(QX11Info::display(), QX11Info::appRootWindow(),
XInternAtom(QX11Info::display(), "_NET_DESKTOP_NAMES", False));
}
void MainDialog::desktops_write_number() {
XEvent ce;
tree_set_int("desktops/number", num_desktops);
ce.xclient.type = ClientMessage;
ce.xclient.message_type =
XInternAtom(QX11Info::display(), "_NET_NUMBER_OF_DESKTOPS", False);
ce.xclient.display = QX11Info::display();
ce.xclient.window = QX11Info::appRootWindow();
ce.xclient.format = 32;
ce.xclient.data.l[0] = num_desktops;
ce.xclient.data.l[1] = 0;
ce.xclient.data.l[2] = 0;
ce.xclient.data.l[3] = 0;
ce.xclient.data.l[4] = 0;
XSendEvent(QX11Info::display(), QX11Info::appRootWindow(), FALSE,
SubstructureNotifyMask | SubstructureRedirectMask,
&ce);
}
void MainDialog::on_desktop_popup_toggled(bool checked) {
if(checked) {
tree_set_int("desktops/popupTime", ui.desktop_popup_time->value());
}
else
tree_set_int("desktops/popupTime", 0);
// FIXME enable_stuff();
}
void MainDialog::on_desktop_popup_time_valueChanged(int newValue) {
tree_set_int("desktops/popupTime", newValue);
}

@ -0,0 +1,260 @@
/*
Copyright (C) 2013 Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
Part of the code in this file is taken from obconf:
Copyright (c) 2003-2007 Dana Jansens
Copyright (c) 2003 Tim Riley
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include "maindialog.h"
#include <obrender/render.h>
#include "tree.h"
#include <QX11Info>
// FIXME: how to support XCB or Wayland?
#include <X11/Xlib.h>
using namespace Obconf;
extern RrInstance* rrinst; // defined in obconf-qt.cpp
#define POSITION_TOPLEFT 0
#define POSITION_TOP 1
#define POSITION_TOPRIGHT 2
#define POSITION_LEFT 3
#define POSITION_RIGHT 4
#define POSITION_BOTTOMLEFT 5
#define POSITION_BOTTOM 6
#define POSITION_BOTTOMRIGHT 7
#define POSITION_FLOATING 8
#define DIRECTION_VERTICAL 0
#define DIRECTION_HORIZONTAL 1
static void dock_enable_stuff();
void MainDialog::dock_setup_tab() {
gchar* s;
gint pos;
s = tree_get_string("dock/position", "TopLeft");
if(!strcasecmp(s, "Top")) pos = POSITION_TOP;
else if(!strcasecmp(s, "TopRight")) pos = POSITION_TOPRIGHT;
else if(!strcasecmp(s, "Left")) pos = POSITION_LEFT;
else if(!strcasecmp(s, "Right")) pos = POSITION_RIGHT;
else if(!strcasecmp(s, "BottomLeft")) pos = POSITION_BOTTOMLEFT;
else if(!strcasecmp(s, "Bottom")) pos = POSITION_BOTTOM;
else if(!strcasecmp(s, "BottomRight")) pos = POSITION_BOTTOMRIGHT;
else if(!strcasecmp(s, "Floating")) pos = POSITION_FLOATING;
else pos = POSITION_TOPLEFT;
g_free(s);
#if 0
// FIXME
w = get_widget("dock_position");
gtk_option_menu_set_history(GTK_OPTION_MENU(w), pos);
w = get_widget("dock_float_x");
gtk_spin_button_set_value(GTK_SPIN_BUTTON(w),
tree_get_int("dock/floatingX", 0));
w = get_widget("dock_float_y");
gtk_spin_button_set_value(GTK_SPIN_BUTTON(w),
tree_get_int("dock/floatingY", 0));
s = tree_get_string("dock/stacking", "Above");
if(!strcasecmp(s, "Normal"))
w = get_widget("dock_stack_normal");
else if(!strcasecmp(s, "Below"))
w = get_widget("dock_stack_bottom");
else
w = get_widget("dock_stack_top");
g_free(s);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w), TRUE);
w = get_widget("dock_direction");
s = tree_get_string("dock/direction", "Vertical");
if(!strcasecmp(s, "Horizontal")) pos = DIRECTION_HORIZONTAL;
else pos = DIRECTION_VERTICAL;
g_free(s);
gtk_option_menu_set_history(GTK_OPTION_MENU(w), pos);
w = get_widget("dock_nostrut");
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
tree_get_bool("dock/noStrut", FALSE));
w = get_widget("dock_hide");
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
tree_get_bool("dock/autoHide", FALSE));
w = get_widget("dock_hide_delay");
gtk_spin_button_set_value(GTK_SPIN_BUTTON(w),
tree_get_int("dock/hideDelay", 300));
w = get_widget("dock_show_delay");
gtk_spin_button_set_value(GTK_SPIN_BUTTON(w),
tree_get_int("dock/showDelay", 300));
dock_enable_stuff();
#endif
}
static void dock_enable_stuff() {
/* FIXME
* GtkWidget* w, *s;
* gboolean b;
*
* w = get_widget("dock_position");
* b = gtk_option_menu_get_history(GTK_OPTION_MENU(w)) == POSITION_FLOATING;
*
* s = get_widget("dock_float_x");
* gtk_widget_set_sensitive(s, b);
* s = get_widget("dock_float_y");
* gtk_widget_set_sensitive(s, b);
* s = get_widget("dock_float_label");
* gtk_widget_set_sensitive(s, b);
* s = get_widget("dock_float_label_x");
* gtk_widget_set_sensitive(s, b);
* s = get_widget("dock_nostrut");
* gtk_widget_set_sensitive(s, !b);
*
* w = get_widget("dock_hide");
* b = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w));
*
* s = get_widget("dock_hide_delay");
* gtk_widget_set_sensitive(s, b);
* s = get_widget("dock_hide_label");
* gtk_widget_set_sensitive(s, b);
* s = get_widget("dock_hide_label_units");
* gtk_widget_set_sensitive(s, b);
* s = get_widget("dock_show_delay");
* gtk_widget_set_sensitive(s, b);
* s = get_widget("dock_show_label");
* gtk_widget_set_sensitive(s, b);
* s = get_widget("dock_show_label_units");
* gtk_widget_set_sensitive(s, b);
*/
}
#if 0
//FIXME
void MainDialog::on_dock_top_left_activate(GtkMenuItem* w, gpointer data) {
tree_set_string("dock/position", "TopLeft");
dock_enable_stuff();
}
void MainDialog::on_dock_top_activate(GtkMenuItem* w, gpointer data) {
tree_set_string("dock/position", "Top");
dock_enable_stuff();
}
void MainDialog::on_dock_top_right_activate(GtkMenuItem* w, gpointer data) {
tree_set_string("dock/position", "TopRight");
dock_enable_stuff();
}
void MainDialog::on_dock_left_activate(GtkMenuItem* w, gpointer data) {
tree_set_string("dock/position", "Left");
dock_enable_stuff();
}
void MainDialog::on_dock_right_activate(GtkMenuItem* w, gpointer data) {
tree_set_string("dock/position", "Right");
dock_enable_stuff();
}
void MainDialog::on_dock_bottom_left_activate(GtkMenuItem* w, gpointer data) {
tree_set_string("dock/position", "BottomLeft");
dock_enable_stuff();
}
void MainDialog::on_dock_bottom_activate(GtkMenuItem* w, gpointer data) {
tree_set_string("dock/position", "Bottom");
dock_enable_stuff();
}
void MainDialog::on_dock_bottom_right_activate(GtkMenuItem* w, gpointer data) {
tree_set_string("dock/position", "BottomRight");
dock_enable_stuff();
}
void MainDialog::on_dock_floating_activate(GtkMenuItem* w, gpointer data) {
tree_set_string("dock/position", "Floating");
dock_enable_stuff();
}
#endif
void MainDialog::on_dock_float_x_valueChanged(int newValue) {
tree_set_int("dock/floatingX", newValue);
}
void MainDialog::on_dock_float_y_valueChanged(int newValue) {
tree_set_int("dock/floatingY", newValue);
}
void MainDialog::on_dock_stacking_top_toggled(bool checked) {
if(checked)
tree_set_string("dock/stacking", "Above");
}
void MainDialog::on_dock_stacking_normal_toggled(bool checked) {
if(checked)
tree_set_string("dock/stacking", "Normal");
}
void MainDialog::on_dock_stacking_bottom_toggled(bool checked) {
if(checked)
tree_set_string("dock/stacking", "Below");
}
#if 0
// FIXME
void MainDialog::on_dock_horizontal_activate(GtkMenuItem* w, gpointer data) {
tree_set_string("dock/direction", "Horizontal");
}
void MainDialog::on_dock_vertical_activate(GtkMenuItem* w, gpointer data) {
tree_set_string("dock/direction", "Vertical");
}
#endif
void MainDialog::on_dock_nostrut_toggled(bool checked) {
tree_set_bool("dock/noStrut", checked);
}
void MainDialog::on_dock_hide_toggled(bool checked) {
tree_set_bool("dock/autoHide", checked);
dock_enable_stuff();
}
void MainDialog::on_dock_hide_delay_valueChanged(int newValue) {
tree_set_int("dock/hideDelay", newValue);
}
void MainDialog::on_dock_show_delay_valueChanged(int newValue) {
tree_set_int("dock/showDelay", newValue);
}

@ -0,0 +1,55 @@
/*
Copyright (C) 2013 Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include "fontbutton.h"
#include <QFontDialog>
#include <X11/X.h>
using namespace Fm;
FontButton::FontButton(QWidget* parent): QPushButton(parent) {
connect(this, SIGNAL(clicked(bool)), SLOT(onClicked()));
}
FontButton::~FontButton() {
}
void FontButton::onClicked() {
QFontDialog dlg(font_);
if(dlg.exec() == QDialog::Accepted) {
setFont(dlg.selectedFont());
}
}
void FontButton::setFont(QFont font) {
font_ = font;
QString text = font.family();
if(font.bold()) {
text += " ";
text += tr("Bold");
}
if(font.italic()) {
text += " ";
text += tr("Italic");
}
text += QString(" %1").arg(font.pointSize());
setText(text);
Q_EMIT changed();
}

@ -0,0 +1,53 @@
/*
Copyright (C) 2013 Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef FM_FONTBUTTON_H
#define FM_FONTBUTTON_H
#include <QPushButton>
namespace Fm {
class FontButton : public QPushButton {
Q_OBJECT
public:
explicit FontButton(QWidget* parent = 0);
virtual ~FontButton();
QFont font() {
return font_;
}
void setFont(QFont font);
Q_SIGNALS:
void changed();
private Q_SLOTS:
void onClicked();
private:
QFont font_;
};
}
#endif // FM_FONTBUTTON_H

@ -0,0 +1,85 @@
/*
Copyright (C) 2013 Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
Part of the code in this file is taken from obconf:
Copyright (c) 2003-2007 Dana Jansens
Copyright (c) 2003 Tim Riley
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include "maindialog.h"
#include <QMessageBox>
#include <QStandardItemModel>
using namespace Obconf;
MainDialog::MainDialog():
themes(NULL),
themes_model(new QStandardItemModel()),
QDialog() {
ui.setupUi(this);
setWindowIcon(QIcon(PIXMAPS_DIR "/obconf-qt.png"));
// resize the list widget according to the width of its content.
ui.listWidget->setMaximumWidth(ui.listWidget->sizeHintForColumn(0) + ui.listWidget->frameWidth() * 2 + 2);
ui.theme_names->setModel(themes_model);
theme_setup_tab();
appearance_setup_tab();
windows_setup_tab();
mouse_setup_tab();
moveresize_setup_tab();
margins_setup_tab();
desktops_setup_tab();
dock_setup_tab();
// Normally, this is called in ui.setupUi(), but this is not desired behavior.
// So we edited the generated ui header file with "sed" and generated a fixed version.
// Then, we need to call it here.
QMetaObject::connectSlotsByName(this);
}
MainDialog::~MainDialog() {
if(themes) {
g_list_foreach(themes, (GFunc)g_free, NULL);
g_list_free(themes);
}
delete themes_model;
}
void MainDialog::accept() {
QDialog::accept();
}
void MainDialog::reject() {
/* restore to original settings */
QDialog::reject();
}
void MainDialog::on_about_clicked() {
QMessageBox::about(this, tr("About ObConf-Qt"),
tr("A preferences manager for Openbox\n\n"
"Copyright (c) 2003-2013\n\n"
"Authors:\n"
"* Hong Jen Yee (PCMan) <pcman.tw@gmail.com>\n"
"* Dana Jansens <danakj@orodu.net>\n"
"* Tim Riley <tr@slackzone.org>\n"
"* Javeed Shaikh <syscrash2k@gmail.com>")
);
}

@ -0,0 +1,164 @@
/*
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 2013 <copyright holder> <email>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef OBCONF_MAINDIALOG_H
#define OBCONF_MAINDIALOG_H
#include <QDialog>
#include <glib.h>
// We include a fixed version rather than the originally generated one.
#include "ui_obconf_fixed.h"
class QStandardItemModel;
class QItemSelection;
namespace Obconf {
class MainDialog : public QDialog {
Q_OBJECT
public:
MainDialog();
virtual ~MainDialog();
virtual void accept();
virtual void reject();
void theme_install(const char* path);
void theme_load_all();
private:
void theme_setup_tab();
void appearance_setup_tab();
void windows_setup_tab();
void mouse_setup_tab();
void moveresize_setup_tab();
void margins_setup_tab();
void desktops_setup_tab();
void dock_setup_tab();
// theme
void add_theme_dir(const char* dirname);
// windows
void windows_enable_stuff();
// move & resize
void moveresize_enable_stuff();
void write_fixed_position(const char* coord);
// mouse
void mouse_enable_stuff();
int read_doubleclick_action();
void write_doubleclick_action(int a);
// desktops
void desktops_read_names();
void desktops_write_names();
void desktops_write_number();
private Q_SLOTS:
void on_about_clicked();
// theme
void onThemeNamesSelectionChanged(const QItemSelection & selected, const QItemSelection & deselected);
void on_install_theme_clicked();
void on_theme_archive_clicked();
//apearance
void on_window_border_toggled(bool checked);
void on_animate_iconify_toggled(bool checked);
void on_title_layout_textChanged(const QString& text);
// font
void on_font_active_changed();
void on_font_inactive_changed();
void on_font_menu_header_changed();
void on_font_menu_item_changed();
void on_font_active_display_changed();
void on_font_inactive_display_changed();
// windows
void on_fixed_monitor_valueChanged(int newValue);
void on_focus_new_toggled(bool checked);
void on_place_mouse_toggled(bool checked);
void on_place_active_popup_currentIndexChanged(int index);
void on_primary_monitor_popup_currentIndexChanged(int index);
// move & resize
void on_resist_window_valueChanged(int newValue);
void on_resist_edge_valueChanged(int newValue);
void on_resize_contents_toggled(bool checked);
void on_resize_popup_currentIndexChanged(int index);
void on_resize_position_currentIndexChanged(int index);
void on_fixed_x_popup_currentIndexChanged(int index);
void on_fixed_y_popup_currentIndexChanged(int index);
void on_drag_threshold_valueChanged(int newValue);
void on_fixed_x_pos_valueChanged(int newValue);
void on_fixed_y_pos_valueChanged(int newValue);
void on_warp_edge_toggled(bool checked);
void on_warp_edge_time_valueChanged(int newValue);
// margins
void on_margins_left_valueChanged(int newValue);
void on_margins_right_valueChanged(int newValue);
void on_margins_top_valueChanged(int newValue);
void on_margins_bottom_valueChanged(int newValue);
// mouse
void on_focus_mouse_toggled(bool checked);
void on_focus_delay_valueChanged(int newValue);
void on_focus_raise_toggled(bool checked);
void on_focus_notlast_toggled(bool checked);
void on_focus_under_mouse_toggled(bool checked);
void on_doubleclick_time_valueChanged(int newValue);
void on_titlebar_doubleclick_currentIndexChanged(int index);
// desktop
void on_desktop_num_valueChanged(int newValue);
void on_desktop_popup_toggled(bool checked);
void on_desktop_popup_time_valueChanged(int newValue);
// docks
void on_dock_float_x_valueChanged(int newValue);
void on_dock_float_y_valueChanged(int newValue);
void on_dock_stacking_top_toggled(bool checked);
void on_dock_stacking_normal_toggled(bool checked);
void on_dock_stacking_bottom_toggled(bool checked);
void on_dock_nostrut_toggled(bool checked);
void on_dock_hide_toggled(bool checked);
void on_dock_hide_delay_valueChanged(int newValue);
void on_dock_show_delay_valueChanged(int newValue);
private:
Ui::MainDialog ui;
GList* themes;
QStandardItemModel* themes_model;
};
}
#endif // OBCONF_MAINDIALOG_H

@ -0,0 +1,57 @@
/*
Copyright (C) 2013 Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
Part of the code in this file is taken from obconf:
Copyright (c) 2003-2007 Dana Jansens
Copyright (c) 2003 Tim Riley
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include "maindialog.h"
#include <obrender/render.h>
#include "tree.h"
#include <QX11Info>
// FIXME: how to support XCB or Wayland?
#include <X11/Xlib.h>
using namespace Obconf;
extern RrInstance* rrinst; // defined in obconf-qt.cpp
void MainDialog::margins_setup_tab() {
ui.margins_left->setValue(tree_get_int("margins/left", 0));
ui.margins_right->setValue(tree_get_int("margins/right", 0));
ui.margins_top->setValue(tree_get_int("margins/top", 0));
ui.margins_bottom->setValue(tree_get_int("margins/bottom", 0));
}
void MainDialog::on_margins_left_valueChanged(int newValue) {
tree_set_int("margins/left", newValue);
}
void MainDialog::on_margins_right_valueChanged(int newValue) {
tree_set_int("margins/right", newValue);
}
void MainDialog::on_margins_top_valueChanged(int newValue) {
tree_set_int("margins/top", newValue);
}
void MainDialog::on_margins_bottom_valueChanged(int newValue) {
tree_set_int("margins/bottom", newValue);
}

@ -0,0 +1,196 @@
/*
Copyright (C) 2013 Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
Part of the code in this file is taken from obconf:
Copyright (c) 2003-2007 Dana Jansens
Copyright (c) 2003 Tim Riley
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include "maindialog.h"
#include <obrender/render.h>
#include "tree.h"
#include <QX11Info>
// FIXME: how to support XCB or Wayland?
#include <X11/Xlib.h>
using namespace Obconf;
extern RrInstance* rrinst; // defined in obconf-qt.cpp
static xmlNodePtr saved_custom = NULL;
#define TITLEBAR_MAXIMIZE 0
#define TITLEBAR_SHADE 1
#define TITLEBAR_CUSTOM 2
//static void MainDialog::on_titlebar_doubleclick_custom_activate(GtkMenuItem* w,
// gpointer data);
void MainDialog::mouse_setup_tab() {
gint a;
ui.focus_mouse->setChecked(tree_get_bool("focus/followMouse", FALSE));
ui.focus_delay->setValue(tree_get_int("focus/focusDelay", 0));
ui.focus_raise->setChecked(tree_get_bool("focus/raiseOnFocus", FALSE));
ui.focus_notlast->setChecked(!tree_get_bool("focus/focusLast", TRUE));
ui.focus_under_mouse->setChecked(tree_get_bool("focus/underMouse", FALSE));
ui.doubleclick_time->setValue(tree_get_int("mouse/doubleClickTime", 200));
// w = get_widget("titlebar_doubleclick");
a = read_doubleclick_action();
if(a == TITLEBAR_CUSTOM) {
ui.titlebar_doubleclick->addItem(tr("Custom actions"));
/*
* GtkWidget* i = gtk_menu_item_new_with_label(_());
* g_signal_connect(i, "activate",
* G_CALLBACK(on_titlebar_doubleclick_custom_activate),
* NULL);
* gtk_menu_shell_append
* (GTK_MENU_SHELL
* (gtk_option_menu_get_menu
* (GTK_OPTION_MENU(w))), i);
*/
}
ui.titlebar_doubleclick->setCurrentIndex(a);
mouse_enable_stuff();
}
void MainDialog::mouse_enable_stuff() {
bool b = ui.focus_mouse->isChecked();
ui.focus_delay->setEnabled(b);
ui.focus_delay_label->setEnabled(b);
// ui.focus_delay_label_units->setEnabled(b);
ui.focus_raise->setEnabled(b);
ui.focus_notlast->setEnabled(b);
ui.focus_under_mouse->setEnabled(b);
}
void MainDialog::on_focus_mouse_toggled(bool checked) {
tree_set_bool("focus/followMouse", checked);
mouse_enable_stuff();
}
void MainDialog::on_focus_delay_valueChanged(int newValue) {
tree_set_int("focus/focusDelay", newValue);
}
void MainDialog::on_focus_raise_toggled(bool checked) {
tree_set_bool("focus/raiseOnFocus", checked);
}
void MainDialog::on_focus_notlast_toggled(bool checked) {
tree_set_bool("focus/focusLast", !checked);
}
void MainDialog::on_focus_under_mouse_toggled(bool checked) {
tree_set_bool("focus/underMouse", checked);
}
void MainDialog::on_titlebar_doubleclick_currentIndexChanged(int index) {
write_doubleclick_action(index);
}
void MainDialog::on_doubleclick_time_valueChanged(int newValue) {
tree_set_int("mouse/doubleClickTime", newValue);
}
int MainDialog::read_doubleclick_action() {
xmlNodePtr n, top, c;
gint max = 0, shade = 0, other = 0;
top = tree_get_node("mouse/context:name=Titlebar"
"/mousebind:button=Left:action=DoubleClick", NULL);
n = top->children;
/* save the current state */
saved_custom = xmlCopyNode(top, 1);
/* remove the namespace from all the nodes under saved_custom..
* without recursion! */
c = saved_custom;
while(c) {
xmlSetNs(c, NULL);
if(c->children)
c = c->children;
else if(c->next)
c = c->next;
while(c->parent && !c->parent->next)
c = c->parent;
if(!c->parent)
c = NULL;
}
while(n) {
if(!xmlStrcmp(n->name, (const xmlChar*)"action")) {
if(obt_xml_attr_contains(n, "name", "ToggleMaximizeFull"))
++max;
else if(obt_xml_attr_contains(n, "name", "ToggleShade"))
++shade;
else
++other;
}
n = n->next;
}
if(max == 1 && shade == 0 && other == 0)
return TITLEBAR_MAXIMIZE;
if(max == 0 && shade == 1 && other == 0)
return TITLEBAR_SHADE;
return TITLEBAR_CUSTOM;
}
void MainDialog::write_doubleclick_action(int a) {
xmlNodePtr n;
n = tree_get_node("mouse/context:name=Titlebar"
"/mousebind:button=Left:action=DoubleClick", NULL);
/* remove all children */
while(n->children) {
xmlUnlinkNode(n->children);
xmlFreeNode(n->children);
}
if(a == TITLEBAR_MAXIMIZE) {
n = xmlNewChild(n, NULL, (xmlChar*)"action", NULL);
xmlSetProp(n, (xmlChar*)"name", (xmlChar*)"ToggleMaximizeFull");
}
else if(a == TITLEBAR_SHADE) {
n = xmlNewChild(n, NULL, (xmlChar*)"action", NULL);
xmlSetProp(n, (xmlChar*)"name", (xmlChar*)"ToggleShade");
}
else {
xmlNodePtr c = saved_custom->children;
while(c) {
xmlAddChild(n, xmlCopyNode(c, 1));
c = c->next;
}
}
tree_apply();
}

@ -0,0 +1,245 @@
/*
Copyright (C) 2013 Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
Part of the code in this file is taken from obconf:
Copyright (c) 2003-2007 Dana Jansens
Copyright (c) 2003 Tim Riley
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include "maindialog.h"
#include <obrender/render.h>
#include "tree.h"
#include <QX11Info>
// FIXME: how to support XCB or Wayland?
#include <X11/Xlib.h>
using namespace Obconf;
extern RrInstance* rrinst; // defined in obconf-qt.cpp
#define POPUP_NONPIXEL 0
#define POPUP_ALWAYS 1
#define POPUP_NEVER 2
#define POSITION_CENTER 0
#define POSITION_TOP 1
#define POSITION_FIXED 2
#define EDGE_CENTER 0
#define EDGE_LEFT 1
#define EDGE_RIGHT 2
void MainDialog::moveresize_setup_tab() {
gchar* s;
gint pos, i;
gboolean opp;
ui.resize_contents->setChecked(tree_get_bool("resize/drawContents", TRUE));
ui.resist_window->setValue(tree_get_int("resistance/strength", 10));
ui.resist_edge->setValue(tree_get_int("resistance/screen_edge_strength", 20));
s = tree_get_string("resize/popupShow", "NonPixel");
if(!strcasecmp(s, "Always")) pos = POPUP_ALWAYS;
else if(!strcasecmp(s, "Never")) pos = POPUP_NEVER;
else pos = POPUP_NONPIXEL;
g_free(s);
ui.resize_popup->setCurrentIndex(pos);
ui.drag_threshold->setValue(tree_get_int("mouse/dragThreshold", 8));
s = tree_get_string("resize/popupPosition", "Center");
if(!strcasecmp(s, "Top")) pos = POSITION_TOP;
if(!strcasecmp(s, "Fixed")) pos = POSITION_FIXED;
else pos = POSITION_CENTER;
g_free(s);
ui.resize_position->setCurrentIndex(pos);
s = tree_get_string("resize/popupFixedPosition/x", "0");
char* fixed_pos = s;
opp = fixed_pos[0] == '-';
if(fixed_pos[0] == '-' || fixed_pos[0] == '+')
++fixed_pos;
if(!strcasecmp(fixed_pos, "Center")) pos = EDGE_CENTER;
else if(opp) pos = EDGE_RIGHT;
else pos = EDGE_LEFT;
ui.fixed_x_popup->setCurrentIndex(pos);
ui.fixed_x_pos->setValue(MAX(atoi(fixed_pos), 0));
g_free(s);
s = tree_get_string("resize/popupFixedPosition/y", "0");
opp = s[0] == '-';
if(!strcasecmp(s, "Center")) pos = EDGE_CENTER;
else if(opp) pos = EDGE_RIGHT;
else pos = EDGE_LEFT;
g_free(s);
ui.fixed_y_popup->setCurrentIndex(pos);
ui.fixed_y_pos->setValue(MAX(atoi(s), 0));
i = tree_get_int("mouse/screenEdgeWarpTime", 400);
ui.warp_edge->setChecked(i != 0);
ui.warp_edge_time->setValue(i ? i : 400);
moveresize_enable_stuff();
}
void MainDialog::moveresize_enable_stuff() {
bool enabled;
enabled = (ui.resize_popup->currentIndex() != POPUP_NEVER);
ui.resize_position->setEnabled(enabled);
enabled = ui.warp_edge->isChecked();
ui.warp_edge_time->setEnabled(enabled);
enabled = (ui.resize_position->currentIndex() == POSITION_FIXED);
ui.fixed_x_popup->setEnabled(enabled);
ui.fixed_y_popup->setEnabled(enabled);
if(!enabled) {
ui.fixed_x_pos->setEnabled(false);
ui.fixed_y_pos->setEnabled(false);
}
else {
enabled = (ui.fixed_x_popup->currentIndex() != EDGE_CENTER);
ui.fixed_x_pos->setEnabled(enabled);
enabled = (ui.fixed_y_popup->currentIndex() != EDGE_CENTER);
ui.fixed_y_pos->setEnabled(enabled);
}
}
void MainDialog::on_resist_window_valueChanged(int newValue) {
tree_set_int("resistance/strength", newValue);
}
void MainDialog::on_resist_edge_valueChanged(int newValue) {
tree_set_int("resistance/screen_edge_strength", newValue);
}
void MainDialog::on_resize_contents_toggled(bool checked) {
tree_set_bool("resize/drawContents", checked);
}
void MainDialog::on_resize_popup_currentIndexChanged(int index) {
switch(index) {
case POPUP_NONPIXEL:
tree_set_string("resize/popupShow", "NonPixel");
break;
case POPUP_ALWAYS:
tree_set_string("resize/popupShow", "Always");
break;
case POPUP_NEVER:
tree_set_string("resize/popupShow", "Never");
break;
}
moveresize_enable_stuff();
}
void MainDialog::on_drag_threshold_valueChanged(int newValue) {
tree_set_int("mouse/dragThreshold", newValue);
}
void MainDialog::on_resize_position_currentIndexChanged(int index) {
/*
#define POSITION_CENTER 0
#define POSITION_TOP 1
#define POSITION_FIXED 2
*/
const char* strs[] = {
"Center",
"Top",
"Fixed"
};
if(index >= 0 && index < G_N_ELEMENTS(strs)) {
tree_set_string("resize/popupPosition", strs[index]);
moveresize_enable_stuff();
}
}
void MainDialog::on_fixed_x_popup_currentIndexChanged(int index) {
write_fixed_position("x");
moveresize_enable_stuff();
}
void MainDialog::on_fixed_y_popup_currentIndexChanged(int index) {
write_fixed_position("y");
moveresize_enable_stuff();
}
void MainDialog::write_fixed_position(const char* coord) {
g_assert(!strcmp(coord, "x") || !strcmp(coord, "y"));
QComboBox* popup = (*coord == 'x' ? ui.fixed_x_popup : ui.fixed_y_popup);
int edge = popup->currentIndex();
g_assert(edge == EDGE_CENTER || edge == EDGE_LEFT || edge == EDGE_RIGHT);
char* val;
if(edge == EDGE_CENTER)
val = g_strdup("center");
else {
QSpinBox* spin = (*coord == 'x' ? ui.fixed_x_pos : ui.fixed_y_pos) ;
int i = spin->value();
if(edge == EDGE_LEFT)
val = g_strdup_printf("%d", i);
else
val = g_strdup_printf("-%d", i);
}
char* valname = g_strdup_printf("resize/popupFixedPosition/%s", coord);
tree_set_string(valname, val);
g_free(valname);
g_free(val);
}
void MainDialog::on_fixed_x_pos_valueChanged(int newValue) {
write_fixed_position("x");
}
void MainDialog::on_fixed_y_pos_valueChanged(int newValue) {
write_fixed_position("y");
}
void MainDialog::on_warp_edge_toggled(bool checked) {
if(checked) {
tree_set_int("mouse/screenEdgeWarpTime", ui.warp_edge_time->value());
}
else
tree_set_int("mouse/screenEdgeWarpTime", 0);
moveresize_enable_stuff();
}
void MainDialog::on_warp_edge_time_valueChanged(int newValue) {
tree_set_int("mouse/screenEdgeWarpTime", newValue);
}

@ -0,0 +1,266 @@
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
*
* main.c for ObConf, the configuration tool for Openbox
* Copyright (c) 2003-2008 Dana Jansens
* Copyright (c) 2003 Tim Riley
* Copyright (C) 2013 Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* See the COPYING file for a copy of the GNU General Public License.
*/
#include <glib.h>
#include <QApplication>
#include <QTranslator>
#include <QLibraryInfo>
#include <QLocale>
#include <QX11Info>
#include <QMessageBox>
#include "maindialog.h"
#include <X11/Xlib.h>
#include <X11/Xatom.h>
#include "obconf-qt.h"
#include "archive.h"
#include "preview_update.h"
#include <stdlib.h>
#include <iostream>
using namespace Obconf;
xmlDocPtr doc;
xmlNodePtr root;
RrInstance* rrinst;
gchar* obc_config_file = NULL;
ObtPaths* paths;
ObtXmlInst* parse_i;
static gchar* obc_theme_install = NULL;
static gchar* obc_theme_archive = NULL;
void obconf_error(gchar* msg, gboolean modal) {
// FIXME: we did not handle modal
QMessageBox::critical(NULL, QObject::tr("ObConf Error"), QString::fromUtf8(msg));
}
static void print_version() {
// g_print("ObConf %s\n", PACKAGE_VERSION);
QString output = QObject::tr(
"Copyright (c) 2003-2008 Dana Jansens\n"
"Copyright (c) 2003 Tim Riley\n"
"Copyright (c) 2007 Javeed Shaikh\n"
"Copyright (c) 2013 Hong Jen Yee (PCMan)\n\n"
"This program comes with ABSOLUTELY NO WARRANTY.\n"
"This is free software, and you are welcome to redistribute it\n"
"under certain conditions. See the file COPYING for details.\n\n"
);
std::cout << output.toUtf8().constData();
exit(EXIT_SUCCESS);
}
static void print_help() {
QString output = QObject::tr(
"Syntax: obconf [options] [ARCHIVE.obt]\n"
"\nOptions:\n"
" --help Display this help and exit\n"
" --version Display the version and exit\n"
" --install ARCHIVE.obt Install the given theme archive and select it\n"
" --archive THEME Create a theme archive from the given theme directory\n"
" --config-file FILE Specify the path to the config file to use\n"
);
std::cout << output.toUtf8().constData();
exit(EXIT_SUCCESS);
}
static void parse_args(int argc, char** argv) {
int i;
for(i = 1; i < argc; ++i) {
if(!strcmp(argv[i], "--help"))
print_help();
if(!strcmp(argv[i], "--version"))
print_version();
else if(!strcmp(argv[i], "--install")) {
if(i == argc - 1) /* no args left */
std::cerr << QObject::tr("--install requires an argument\n").toUtf8().constData();
else
obc_theme_install = argv[++i];
}
else if(!strcmp(argv[i], "--archive")) {
if(i == argc - 1) /* no args left */
std::cerr << QObject::tr("--archive requires an argument\n").toUtf8().constData();
else
obc_theme_archive = argv[++i];
}
else if(!strcmp(argv[i], "--config-file")) {
if(i == argc - 1) /* no args left */
std::cerr << QObject::tr("--config-file requires an argument\n").toUtf8().constData();
else
obc_config_file = argv[++i];
}
else
obc_theme_install = argv[i];
}
}
static gboolean get_all(Window win, Atom prop, Atom type, gint size,
guchar** data, guint* num) {
gboolean ret = FALSE;
gint res;
guchar* xdata = NULL;
Atom ret_type;
gint ret_size;
gulong ret_items, bytes_left;
res = XGetWindowProperty(QX11Info::display(), win, prop, 0l, G_MAXLONG,
FALSE, type, &ret_type, &ret_size,
&ret_items, &bytes_left, &xdata);
if(res == Success) {
if(ret_size == size && ret_items > 0) {
guint i;
*data = (guchar*)g_malloc(ret_items * (size / 8));
for(i = 0; i < ret_items; ++i)
switch(size) {
case 8:
(*data)[i] = xdata[i];
break;
case 16:
((guint16*)*data)[i] = ((gushort*)xdata)[i];
break;
case 32:
((guint32*)*data)[i] = ((gulong*)xdata)[i];
break;
default:
g_assert_not_reached(); /* unhandled size */
}
*num = ret_items;
ret = TRUE;
}
XFree(xdata);
}
return ret;
}
static gboolean prop_get_string_utf8(Window win, Atom prop, gchar** ret) {
gchar* raw;
gchar* str;
guint num;
if(get_all(win, prop, XInternAtom(QX11Info::display(), "UTF8_STRING", 0), 8, (guchar**)&raw, &num)) {
str = g_strndup(raw, num); /* grab the first string from the list */
g_free(raw);
if(g_utf8_validate(str, -1, NULL)) {
*ret = str;
return TRUE;
}
g_free(str);
}
return FALSE;
}
int main(int argc, char** argv) {
QApplication app(argc, argv);
// load translations
QTranslator qtTranslator, translator;
// install the translations built-into Qt itself
qtTranslator.load("qt_" + QLocale::system().name(), QLibraryInfo::location(QLibraryInfo::TranslationsPath));
app.installTranslator(&qtTranslator);
// install our own tranlations
translator.load("obconf-qt_" + QLocale::system().name(), PACKAGE_DATA_DIR "/translations");
app.installTranslator(&translator);
// load configurations
gchar* p;
gboolean exit_with_error = FALSE;
parse_args(argc, argv);
if(obc_theme_archive) {
archive_create(obc_theme_archive);
return 0;
}
paths = obt_paths_new();
parse_i = obt_xml_instance_new();
int screen = QX11Info::appScreen();
rrinst = RrInstanceNew(QX11Info::display(), screen);
if(!obc_config_file) {
gchar* p;
if(prop_get_string_utf8(QX11Info::appRootWindow(screen),
XInternAtom(QX11Info::display(), "_OB_CONFIG_FILE", 0), &p)) {
obc_config_file = g_filename_from_utf8(p, -1, NULL, NULL, NULL);
g_free(p);
}
}
xmlIndentTreeOutput = 1;
if(!((obc_config_file &&
obt_xml_load_file(parse_i, obc_config_file, "openbox_config")) ||
obt_xml_load_config_file(parse_i, "openbox", "rc.xml",
"openbox_config"))) {
QMessageBox::critical(NULL, QObject::tr("Error"),
QObject::tr("Failed to load an rc.xml. You have probably failed to install Openbox properly."));
exit_with_error = TRUE;
}
else {
doc = obt_xml_doc(parse_i);
root = obt_xml_root(parse_i);
}
/* look for parsing errors */
{
xmlErrorPtr e = xmlGetLastError();
if(e) {
QString message = QObject::tr("Error while parsing the Openbox configuration file. Your configuration file is not valid XML.\n\nMessage: %1")
.arg(QString::fromUtf8(e->message));
QMessageBox::critical(NULL, QObject::tr("Error"), message);
exit_with_error = TRUE;
}
}
// build our GUI
MainDialog dlg;
if(obc_theme_install)
dlg.theme_install(obc_theme_install);
else
dlg.theme_load_all();
dlg.exec();
/*
preview_update_set_active_font(NULL);
preview_update_set_inactive_font(NULL);
preview_update_set_menu_header_font(NULL);
preview_update_set_menu_item_font(NULL);
preview_update_set_osd_active_font(NULL);
preview_update_set_osd_inactive_font(NULL);
preview_update_set_title_layout(NULL);
*/
RrInstanceFree(rrinst);
obt_xml_instance_unref(parse_i);
obt_paths_unref(paths);
xmlFreeDoc(doc);
return 0;
}

@ -0,0 +1,11 @@
[Desktop Entry]
Type=Application
Name=Openbox Settings
GenericName=Window Manager Settings
Comment=Configure the Openbox window manager
Exec=obconf-qt
Categories=Qt;Settings;DesktopSettings;
Icon=obconf-qt
StartupNotify=true
#TRANSLATIONS_DIR=translations

@ -0,0 +1,32 @@
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
*
* main.h for ObConf, the configuration tool for Openbox
* Copyright (c) 2003 Dana Jansens
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* See the COPYING file for a copy of the GNU General Public License.
*/
#ifndef obconf_qt_H
#define obconf_qt_H
#include <obrender/render.h>
#include <obrender/instance.h>
#include <obt/xml.h>
#include <obt/paths.h>
extern RrInstance *rrinst;
extern gchar *obc_config_file;
extern ObtPaths *paths;
extern ObtXmlInst *parse_i;
#endif // obconf_qt_H

File diff suppressed because it is too large Load Diff

@ -0,0 +1,543 @@
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
preview.c for ObConf, the configuration tool for Openbox
Copyright (c) 2007 Javeed Shaikh
Copyright (c) 2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
See the COPYING file for a copy of the GNU General Public License.
*/
#include "theme.h"
#include "main.h"
#include "tree.h"
#include <string.h>
#include <obrender/theme.h>
#define PADDING 2 /* openbox does it :/ */
static void theme_pixmap_paint(RrAppearance *a, gint w, gint h)
{
Pixmap out = RrPaintPixmap(a, w, h);
if (out) XFreePixmap(RrDisplay(a->inst), out);
}
static guint32 rr_color_pixel(const RrColor *c)
{
return (guint32)((RrColorRed(c) << 24) + (RrColorGreen(c) << 16) +
+ (RrColorBlue(c) << 8) + 0xff);
}
/* XXX: Make this more general */
static GdkPixbuf* preview_menu(RrTheme *theme)
{
RrAppearance *title;
RrAppearance *title_text;
RrAppearance *menu;
RrAppearance *background;
RrAppearance *normal;
RrAppearance *disabled;
RrAppearance *selected;
RrAppearance *bullet; /* for submenu */
GdkPixmap *pixmap;
GdkPixbuf *pixbuf;
/* width and height of the whole menu */
gint width, height;
gint x, y;
gint title_h;
gint tw, th;
gint bw, bh;
gint unused;
/* set up appearances */
title = theme->a_menu_title;
title_text = theme->a_menu_text_title;
title_text->surface.parent = title;
title_text->texture[0].data.text.string = "Menu";
normal = theme->a_menu_text_normal;
normal->texture[0].data.text.string = "Normal";
disabled = theme->a_menu_text_disabled;
disabled->texture[0].data.text.string = "Disabled";
selected = theme->a_menu_text_selected;
selected->texture[0].data.text.string = "Selected";
bullet = theme->a_menu_bullet_normal;
/* determine window size */
RrMinSize(normal, &width, &th);
width += th + PADDING; /* make space for the bullet */
//height = th;
width += 2*theme->mbwidth + 2*PADDING;
/* get minimum title size */
RrMinSize(title, &tw, &title_h);
/* size of background behind each text line */
bw = width - 2*theme->mbwidth;
//title_h += 2*PADDING;
title_h = theme->menu_title_height;
RrMinSize(normal, &unused, &th);
bh = th + 2*PADDING;
height = title_h + 3*bh + 3*theme->mbwidth;
//height += 3*th + 3*theme->mbwidth + 5*PADDING;
/* set border */
pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, FALSE, 8, width, height);
gdk_pixbuf_fill(pixbuf, rr_color_pixel(theme->menu_border_color));
/* draw title */
x = y = theme->mbwidth;
theme_pixmap_paint(title, bw, title_h);
/* draw title text */
title_text->surface.parentx = 0;
title_text->surface.parenty = 0;
theme_pixmap_paint(title_text, bw, title_h);
pixmap = gdk_pixmap_foreign_new(title_text->pixmap);
pixbuf = gdk_pixbuf_get_from_drawable(pixbuf, pixmap,
gdk_colormap_get_system(),
0, 0, x, y, bw, title_h);
/* menu appears after title */
y += theme->mbwidth + title_h;
/* fill in menu appearance, used as the parent to every menu item's bg */
menu = theme->a_menu;
th = height - 3*theme->mbwidth - title_h;
theme_pixmap_paint(menu, bw, th);
pixmap = gdk_pixmap_foreign_new(menu->pixmap);
pixbuf = gdk_pixbuf_get_from_drawable(pixbuf, pixmap,
gdk_colormap_get_system(),
0, 0, x, y, bw, th);
/* fill in background appearance, used as the parent to text items */
background = theme->a_menu_normal;
background->surface.parent = menu;
background->surface.parentx = 0;
background->surface.parenty = 0;
/* draw background for normal entry */
theme_pixmap_paint(background, bw, bh);
pixmap = gdk_pixmap_foreign_new(background->pixmap);
pixbuf = gdk_pixbuf_get_from_drawable(pixbuf, pixmap,
gdk_colormap_get_system(),
0, 0, x, y, bw, bh);
/* draw normal entry */
normal->surface.parent = background;
normal->surface.parentx = PADDING;
normal->surface.parenty = PADDING;
x += PADDING;
y += PADDING;
RrMinSize(normal, &tw, &th);
theme_pixmap_paint(normal, tw, th);
pixmap = gdk_pixmap_foreign_new(normal->pixmap);
pixbuf = gdk_pixbuf_get_from_drawable(pixbuf, pixmap,
gdk_colormap_get_system(),
0, 0, x, y, tw, th);
/* draw bullet */
RrMinSize(normal, &tw, &th);
bullet->surface.parent = background;
bullet->surface.parentx = bw - th;
bullet->surface.parenty = PADDING;
theme_pixmap_paint(bullet, th, th);
pixmap = gdk_pixmap_foreign_new(bullet->pixmap);
pixbuf = gdk_pixbuf_get_from_drawable(pixbuf, pixmap,
gdk_colormap_get_system(),
0, 0, width - theme->mbwidth - th, y,
th, th);
y += th + 2*PADDING;
/* draw background for disabled entry */
background->surface.parenty = bh;
theme_pixmap_paint(background, bw, bh);
pixmap = gdk_pixmap_foreign_new(background->pixmap);
pixbuf = gdk_pixbuf_get_from_drawable(pixbuf, pixmap,
gdk_colormap_get_system(),
0, 0, x - PADDING, y - PADDING,
bw, bh);
/* draw disabled entry */
RrMinSize(disabled, &tw, &th);
disabled->surface.parent = background;
disabled->surface.parentx = PADDING;
disabled->surface.parenty = PADDING;
theme_pixmap_paint(disabled, tw, th);
pixmap = gdk_pixmap_foreign_new(disabled->pixmap);
pixbuf = gdk_pixbuf_get_from_drawable(pixbuf, pixmap,
gdk_colormap_get_system(),
0, 0, x, y, tw, th);
y += th + 2*PADDING;
/* draw background for selected entry */
background = theme->a_menu_selected;
background->surface.parent = menu;
background->surface.parentx = 2*bh;
theme_pixmap_paint(background, bw, bh);
pixmap = gdk_pixmap_foreign_new(background->pixmap);
pixbuf = gdk_pixbuf_get_from_drawable(pixbuf, pixmap,
gdk_colormap_get_system(),
0, 0, x - PADDING, y - PADDING,
bw, bh);
/* draw selected entry */
RrMinSize(selected, &tw, &th);
selected->surface.parent = background;
selected->surface.parentx = PADDING;
selected->surface.parenty = PADDING;
theme_pixmap_paint(selected, tw, th);
pixmap = gdk_pixmap_foreign_new(selected->pixmap);
pixbuf = gdk_pixbuf_get_from_drawable(pixbuf, pixmap,
gdk_colormap_get_system(),
0, 0, x, y, tw, th);
return pixbuf;
}
static GdkPixbuf* preview_window(RrTheme *theme, const gchar *titlelayout,
gboolean focus, gint width, gint height)
{
RrAppearance *title;
RrAppearance *handle;
RrAppearance *a;
GdkPixmap *pixmap;
GdkPixbuf *pixbuf = NULL;
GdkPixbuf *scratch;
gint w, label_w, h, x, y;
const gchar *layout;
title = focus ? theme->a_focused_title : theme->a_unfocused_title;
/* set border */
pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8, width, height);
gdk_pixbuf_fill(pixbuf,
rr_color_pixel(focus ?
theme->frame_focused_border_color :
theme->frame_unfocused_border_color));
/* title */
w = width - 2*theme->fbwidth;
h = theme->title_height;
theme_pixmap_paint(title, w, h);
x = y = theme->fbwidth;
pixmap = gdk_pixmap_foreign_new(title->pixmap);
pixbuf = gdk_pixbuf_get_from_drawable(pixbuf, pixmap,
gdk_colormap_get_system(),
0, 0, x, y, w, h);
/* calculate label width */
label_w = width - (theme->paddingx + theme->fbwidth + 1) * 2;
for (layout = titlelayout; *layout; layout++) {
switch (*layout) {
case 'N':
label_w -= theme->button_size + 2 + theme->paddingx + 1;
break;
case 'D':
case 'S':
case 'I':
case 'M':
case 'C':
label_w -= theme->button_size + theme->paddingx + 1;
break;
default:
break;
}
}
x = theme->paddingx + theme->fbwidth + 1;
y += theme->paddingy;
for (layout = titlelayout; *layout; layout++) {
/* icon */
if (*layout == 'N') {
a = theme->a_icon;
/* set default icon */
a->texture[0].type = RR_TEXTURE_RGBA;
a->texture[0].data.rgba.width = 48;
a->texture[0].data.rgba.height = 48;
a->texture[0].data.rgba.alpha = 0xff;
a->texture[0].data.rgba.data = theme->def_win_icon;
a->surface.parent = title;
a->surface.parentx = x - theme->fbwidth;
a->surface.parenty = theme->paddingy;
w = h = theme->button_size + 2;
theme_pixmap_paint(a, w, h);
pixmap = gdk_pixmap_foreign_new(a->pixmap);
pixbuf = gdk_pixbuf_get_from_drawable(pixbuf, pixmap,
gdk_colormap_get_system(),
0, 0, x, y, w, h);
x += theme->button_size + 2 + theme->paddingx + 1;
} else if (*layout == 'L') { /* label */
a = focus ? theme->a_focused_label : theme->a_unfocused_label;
a->texture[0].data.text.string = focus ? "Active" : "Inactive";
a->surface.parent = title;
a->surface.parentx = x - theme->fbwidth;
a->surface.parenty = theme->paddingy;
w = label_w;
h = theme->label_height;
theme_pixmap_paint(a, w, h);
pixmap = gdk_pixmap_foreign_new(a->pixmap);
pixbuf = gdk_pixbuf_get_from_drawable(pixbuf, pixmap,
gdk_colormap_get_system(),
0, 0, x, y, w, h);
x += w + theme->paddingx + 1;
} else {
/* buttons */
switch (*layout) {
case 'D':
a = focus ?
theme->btn_desk->a_focused_unpressed :
theme->btn_desk->a_unfocused_unpressed;
break;
case 'S':
a = focus ?
theme->btn_shade->a_focused_unpressed :
theme->btn_shade->a_unfocused_unpressed;
break;
case 'I':
a = focus ?
theme->btn_iconify->a_focused_unpressed :
theme->btn_iconify->a_unfocused_unpressed;
break;
case 'M':
a = focus ?
theme->btn_max->a_focused_unpressed :
theme->btn_max->a_unfocused_unpressed;
break;
case 'C':
a = focus ?
theme->btn_close->a_focused_unpressed :
theme->btn_close->a_unfocused_unpressed;
break;
default:
continue;
}
a->surface.parent = title;
a->surface.parentx = x - theme->fbwidth;
a->surface.parenty = theme->paddingy + 1;
w = theme->button_size;
h = theme->button_size;
theme_pixmap_paint(a, w, h);
pixmap = gdk_pixmap_foreign_new(a->pixmap);
/* use y + 1 because these buttons should be centered wrt the label
*/
pixbuf = gdk_pixbuf_get_from_drawable(pixbuf, pixmap,
gdk_colormap_get_system(),
0, 0, x, y + 1, w, h);
x += theme->button_size + theme->paddingx + 1;
}
}
if (theme->handle_height) {
/* handle */
handle = focus ? theme->a_focused_handle : theme->a_unfocused_handle;
x = 2*theme->fbwidth + theme->grip_width;
y = height - theme->fbwidth - theme->handle_height;
w = width - 4*theme->fbwidth - 2*theme->grip_width;
h = theme->handle_height;
theme_pixmap_paint(handle, w, h);
pixmap = gdk_pixmap_foreign_new(handle->pixmap);
pixbuf = gdk_pixbuf_get_from_drawable(pixbuf, pixmap,
gdk_colormap_get_system(),
0, 0, x, y, w, h);
/* openbox handles this drawing stuff differently (it fills the bottom
* of the window with the handle), so it avoids this bug where
* parentrelative grips are not fully filled. i'm avoiding it slightly
* differently. */
theme_pixmap_paint(handle, width, h);
/* grips */
a = focus ? theme->a_focused_grip : theme->a_unfocused_grip;
a->surface.parent = handle;
x = theme->fbwidth;
/* same y and h as handle */
w = theme->grip_width;
theme_pixmap_paint(a, w, h);
pixmap = gdk_pixmap_foreign_new(a->pixmap);
pixbuf = gdk_pixbuf_get_from_drawable(pixbuf, pixmap,
gdk_colormap_get_system(),
0, 0, x, y, w, h);
/* right grip */
x = width - theme->fbwidth - theme->grip_width;
pixbuf = gdk_pixbuf_get_from_drawable(pixbuf, pixmap,
gdk_colormap_get_system(),
0, 0, x, y, w, h);
}
/* title separator colour */
x = theme->fbwidth;
y = theme->fbwidth + theme->title_height;
w = width - 2*theme->fbwidth;
h = theme->fbwidth;
scratch = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8, w, h);
gdk_pixbuf_fill(scratch, rr_color_pixel(focus ?
theme->title_separator_focused_color :
theme->title_separator_unfocused_color));
gdk_pixbuf_copy_area(scratch, 0, 0, w, h, pixbuf, x, y);
/* retarded way of adding client colour */
x = theme->fbwidth;
y = theme->title_height + 2*theme->fbwidth;
w = width - 2*theme->fbwidth;
h = height - theme->title_height - 3*theme->fbwidth -
(theme->handle_height ? (theme->fbwidth + theme->handle_height) : 0);
scratch = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8, w, h);
gdk_pixbuf_fill(scratch, rr_color_pixel(focus ?
theme->cb_focused_color :
theme->cb_unfocused_color));
gdk_pixbuf_copy_area(scratch, 0, 0, w, h, pixbuf, x, y);
/* clear (no alpha!) the area where the client resides */
gdk_pixbuf_fill(scratch, 0xffffffff);
gdk_pixbuf_copy_area(scratch, 0, 0,
w - 2*theme->cbwidthx,
h - 2*theme->cbwidthy,
pixbuf,
x + theme->cbwidthx,
y + theme->cbwidthy);
return pixbuf;
}
static gint theme_label_width(RrTheme *theme, gboolean active)
{
gint w, h;
RrAppearance *label;
if (active) {
label = theme->a_focused_label;
label->texture[0].data.text.string = "Active";
} else {
label = theme->a_unfocused_label;
label->texture[0].data.text.string = "Inactive";
}
return RrMinWidth(label);
}
static gint theme_window_min_width(RrTheme *theme, const gchar *titlelayout)
{
gint numbuttons = strlen(titlelayout);
gint w = 2 * theme->fbwidth + (numbuttons + 3) * (theme->paddingx + 1);
if (g_strrstr(titlelayout, "L")) {
numbuttons--;
w += MAX(theme_label_width(theme, TRUE),
theme_label_width(theme, FALSE));
}
w += theme->button_size * numbuttons;
return w;
}
GdkPixbuf *preview_theme(const gchar *name, const gchar *titlelayout,
RrFont *active_window_font,
RrFont *inactive_window_font,
RrFont *menu_title_font,
RrFont *menu_item_font,
RrFont *osd_active_font,
RrFont *osd_inactive_font)
{
GdkPixbuf *preview;
GdkPixbuf *menu;
GdkPixbuf *window;
gint window_w;
gint menu_w;
gint w, h;
RrTheme *theme = RrThemeNew(rrinst, name, FALSE,
active_window_font, inactive_window_font,
menu_title_font, menu_item_font,
osd_active_font, osd_inactive_font);
if (!theme)
return NULL;
menu = preview_menu(theme);
window_w = theme_window_min_width(theme, titlelayout);
menu_w = gdk_pixbuf_get_width(menu);
h = gdk_pixbuf_get_height(menu);
w = MAX(window_w, menu_w) + 20;
/* we don't want windows disappearing on us */
if (!window_w) window_w = menu_w;
preview = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8,
w, h + 2*(theme->title_height +5) + 1);
gdk_pixbuf_fill(preview, 0); /* clear */
window = preview_window(theme, titlelayout, FALSE, window_w, h);
gdk_pixbuf_copy_area(window, 0, 0, window_w, h, preview, 20, 0);
window = preview_window(theme, titlelayout, TRUE, window_w, h);
gdk_pixbuf_copy_area(window, 0, 0, window_w, h,
preview, 10, theme->title_height + 5);
gdk_pixbuf_copy_area(menu, 0, 0, menu_w, h,
preview, 0, 2 * (theme->title_height + 5));
RrThemeFree(theme);
return preview;
}

@ -0,0 +1,35 @@
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
preview.h for ObConf, the configuration tool for Openbox
Copyright (c) 2007 Javeed Shaikh
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
See the COPYING file for a copy of the GNU General Public License.
*/
#ifndef obconf__preview_h
#define obconf__preview_h
#include <glib.h>
#include <obrender/font.h>
/*
QPixmap preview_theme(const gchar *name, const gchar *titlelayout,
RrFont *active_window_font,
RrFont *inactive_window_font,
RrFont *menu_title_font,
RrFont *menu_item_font,
RrFont *osd_active_font,
RrFont *osd_inactive_font);
*/
#endif

@ -0,0 +1,143 @@
#include "preview_update.h"
#include "preview.h"
#include "main.h"
static gboolean restart_theme_preview_update = TRUE;
static GtkTreeView *tree_view = NULL;
static GtkListStore *list_store = NULL;
static gchar *title_layout = NULL;
static RrFont *active_window_font = NULL;
static RrFont *inactive_window_font = NULL;
static RrFont *menu_title_font = NULL;
static RrFont *menu_item_font = NULL;
static RrFont *osd_active_font = NULL;
static RrFont *osd_inactive_font = NULL;
static gboolean update_theme_preview_iterate(gpointer data);
void preview_update_all()
{
if (!list_store) return;
if (!RR_CHECK_VERSION(3,5,0)) return;
g_idle_remove_by_data(list_store);
if (!(title_layout && active_window_font && inactive_window_font &&
menu_title_font && menu_item_font &&
osd_active_font && osd_inactive_font))
return; /* not set up */
restart_theme_preview_update = TRUE;
g_idle_add_full(G_PRIORITY_LOW,
update_theme_preview_iterate,
list_store, NULL);
}
void preview_update_set_tree_view(GtkTreeView *tr, GtkListStore *ls)
{
g_assert(!!tr == !!ls);
if (list_store) g_idle_remove_by_data(list_store);
tree_view = tr;
list_store = ls;
if (list_store) preview_update_all();
}
void preview_update_set_active_font(RrFont *f)
{
RrFontClose(active_window_font);
active_window_font = f;
preview_update_all();
}
void preview_update_set_inactive_font(RrFont *f)
{
RrFontClose(inactive_window_font);
inactive_window_font = f;
preview_update_all();
}
void preview_update_set_menu_header_font(RrFont *f)
{
RrFontClose(menu_title_font);
menu_title_font = f;
preview_update_all();
}
void preview_update_set_menu_item_font(RrFont *f)
{
RrFontClose(menu_item_font);
menu_item_font = f;
preview_update_all();
}
void preview_update_set_osd_active_font(RrFont *f)
{
RrFontClose(osd_active_font);
osd_active_font = f;
preview_update_all();
}
void preview_update_set_osd_inactive_font(RrFont *f)
{
RrFontClose(osd_inactive_font);
osd_inactive_font = f;
preview_update_all();
}
void preview_update_set_title_layout(const gchar *layout)
{
g_free(title_layout);
title_layout = g_strdup(layout);
preview_update_all();
}
static gboolean update_theme_preview_iterate(gpointer data)
{
GtkListStore *ls = data;
GdkPixbuf *preview;
static GtkTreeIter iter;
gchar *name;
if (restart_theme_preview_update) {
/* get the first iterator position if there is such a thing */
if (!gtk_tree_model_get_iter_first(GTK_TREE_MODEL(ls), &iter)) {
/* nothing to show */
obconf_show_main();
return FALSE;
}
restart_theme_preview_update = FALSE;
} else {
/* get the next iterator position if there is such a thing */
if (!gtk_tree_model_iter_next(GTK_TREE_MODEL(ls), &iter)) {
GtkTreePath *path;
restart_theme_preview_update = TRUE;
gtk_tree_view_get_cursor(tree_view, &path, NULL);
if (path) {
gtk_tree_view_scroll_to_cell(tree_view, path, NULL,
FALSE, 0, 0);
gtk_tree_path_free(path);
}
obconf_show_main();
return FALSE;
}
}
gtk_tree_model_get(GTK_TREE_MODEL(ls), &iter, 0, &name, -1);
preview = preview_theme(name, title_layout, active_window_font,
inactive_window_font, menu_title_font,
menu_item_font, osd_active_font,
osd_inactive_font);
if (preview)
gtk_list_store_set(GTK_LIST_STORE(ls), &iter, 1, preview, -1);
return TRUE;
}

@ -0,0 +1,18 @@
#ifndef obconf__preview_update_h
#define obconf__preview_update_h
#include <obrender/render.h>
// #include <gtk/gtk.h>
void preview_update_all();
// void preview_update_set_tree_view (GtkTreeView *tr, GtkListStore *ls);
void preview_update_set_active_font (RrFont *f);
void preview_update_set_inactive_font (RrFont *f);
void preview_update_set_menu_header_font (RrFont *f);
void preview_update_set_menu_item_font (RrFont *f);
void preview_update_set_osd_active_font (RrFont *f);
void preview_update_set_osd_inactive_font(RrFont *f);
void preview_update_set_title_layout (const gchar *layout);
#endif

@ -0,0 +1,166 @@
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
theme.h for ObConf, the configuration tool for Openbox
Copyright (c) 2003-2007 Dana Jansens
Copyright (c) 2003 Tim Riley
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
See the COPYING file for a copy of the GNU General Public License.
*/
#include "maindialog.h"
#include <QStandardItem>
#include <QStandardItemModel>
#include <QItemSelection>
#include <QFileDialog>
#include "obconf-qt.h"
#include "tree.h"
#include "preview_update.h"
#include "archive.h"
#include "preview.h"
using namespace Obconf;
void MainDialog::theme_install(const char* path) {
gchar* name;
if((name = archive_install(path)))
tree_set_string("theme/name", name);
g_free(name);
theme_load_all();
}
void MainDialog::theme_load_all() {
gchar* name;
gchar* p;
GList* it, *next;
gint i;
RrFont* active, *inactive, *menu_t, *menu_i, *osd;
QModelIndex currentItemIndex;
name = tree_get_string("theme/name", "TheBear");
if(themes) {
g_list_foreach(themes, (GFunc)g_free, NULL);
g_list_free(themes);
themes = NULL;
}
p = g_build_filename(g_get_home_dir(), ".themes", NULL);
add_theme_dir(p);
g_free(p);
{
GSList* it;
for(it = obt_paths_data_dirs(paths); it; it = g_slist_next(it)) {
p = g_build_filename((char*)it->data, "themes", NULL);
add_theme_dir(p);
g_free(p);
}
}
add_theme_dir(THEME_DIR);
themes = g_list_sort(themes, (GCompareFunc) strcasecmp);
themes_model->clear();
/* return to regular scheduled programming */
i = 0;
for(it = themes; it; it = next) {
next = g_list_next(it);
/* remove duplicates */
if(next && !strcmp((char*)it->data, (char*)next->data)) {
g_free(it->data);
themes = g_list_delete_link(themes, it);
continue;
}
QStandardItem* item = new QStandardItem(QString::fromUtf8((char*)it->data));
themes_model->appendRow(item);
if(!strcmp(name, (char*)it->data)) {
currentItemIndex = item->index();
ui.theme_names->selectionModel()->select(currentItemIndex, QItemSelectionModel::Select);
}
++i;
}
// FIXME: preview_update_all();
g_free(name);
if(currentItemIndex.isValid())
ui.theme_names->scrollTo(currentItemIndex, QAbstractItemView::PositionAtCenter);
}
void MainDialog::add_theme_dir(const char* dirname) {
GDir* dir;
const gchar* n;
if((dir = g_dir_open(dirname, 0, NULL))) {
while((n = g_dir_read_name(dir))) {
{
gchar* full;
full = g_build_filename(dirname, n, "openbox-3",
"themerc", NULL);
if(!g_file_test(full, GFileTest(G_FILE_TEST_IS_REGULAR | G_FILE_TEST_IS_SYMLINK)))
n = NULL;
g_free(full);
}
if(n) {
themes = g_list_append(themes, g_strdup(n));
}
}
g_dir_close(dir);
}
}
void MainDialog::theme_setup_tab() {
QItemSelectionModel* selModel = ui.theme_names->selectionModel();
connect(selModel, SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
SLOT(onThemeNamesSelectionChanged(QItemSelection,QItemSelection)));
}
void MainDialog::onThemeNamesSelectionChanged(const QItemSelection & selected, const QItemSelection & deselected) {
QModelIndex sel = selected.indexes().first();
if(sel.isValid()) {
QStandardItem* item = themes_model->itemFromIndex(sel);
QVariant val = item->data(Qt::DisplayRole);
if(val.isValid()) {
QString name = val.toString();
tree_set_string("theme/name", name.toUtf8().constData());
}
}
}
void MainDialog::on_install_theme_clicked() {
QString filename = QFileDialog::getOpenFileName(this,
tr("Choose an Openbox theme"),
QString(),
"Openbox theme archives (*.obt);;");
if(!filename.isEmpty()) {
theme_install(filename.toLocal8Bit().constData());
}
}
void MainDialog::on_theme_archive_clicked() {
QString filename = QFileDialog::getSaveFileName(this,
tr("Choose an Openbox theme"),
QString(),
"Openbox theme archives (*.obt);;");
if(!filename.isEmpty()) {
archive_create(filename.toLocal8Bit().constData());
}
}

@ -0,0 +1,606 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1">
<context>
<name>Fm::FontButton</name>
<message>
<location filename="../fontbutton.cpp" line="46"/>
<source>Bold</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../fontbutton.cpp" line="50"/>
<source>Italic</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MainDialog</name>
<message>
<location filename="../../build/src/ui_obconf.h" line="829"/>
<source>Window Manager Preferences</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="834"/>
<source>Theme</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="836"/>
<source>Appearance</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="838"/>
<source>Font</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="840"/>
<location filename="../../build/src/ui_obconf.h" line="855"/>
<source>Windows</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="842"/>
<source>Move &amp; Resize</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="844"/>
<source>Mouse</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="846"/>
<source>Desktops</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="848"/>
<source>Margins</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="850"/>
<source>Dock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="853"/>
<source>&amp;Install a new theme...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="854"/>
<source>Create a theme &amp;archive (.obt)...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="856"/>
<source>&amp;Windows retain a border when undecorated</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="857"/>
<source>A&amp;nimate iconify and restore</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="858"/>
<source>Window Titles</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="859"/>
<source>Button order:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="860"/>
<source>N: Window icon
L: Window label (Title)
I: Iconify (Minimize)
M: Maximize
C: Close
S: Shade (Roll up)
D: Omnipresent (On all desktops)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="873"/>
<source>&amp;Active window title: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="874"/>
<source>&amp;Inactive window title: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="875"/>
<source>Menu &amp;header: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="876"/>
<source>&amp;Menu Item: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="877"/>
<source>Active &amp;On-screen display: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="878"/>
<source>Inactive O&amp;n-screen display: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="879"/>
<source>Focus &amp;new windows when they appear</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="880"/>
<source>&amp;Place new windows under the mouse pointer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="881"/>
<source>&amp;Center new windows when they are placed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="882"/>
<source>Prefer to place new windows &amp;on:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="885"/>
<source>All monitors</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="886"/>
<source>The active monitor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="887"/>
<source>The monitor with the mouse</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="888"/>
<source>Primary monitor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="890"/>
<source>Primary Monitor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="891"/>
<source>The primary monitor is where Openbox will place dialogs, such as the one used for cycling windows.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="892"/>
<source>Primary &amp;monitor:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="895"/>
<source>Fixed Monitor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="896"/>
<source>Active Monitor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="897"/>
<source>Monitor With Mouse Pointer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="899"/>
<source>&amp;Fixed monitor:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="900"/>
<source>Moving and Resizing Windows</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="901"/>
<source>Update the window contents while &amp;resizing</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="902"/>
<source>Drag &amp;threshold distance:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="903"/>
<source>Amount of resistance against other &amp;windows:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="904"/>
<source>Amount of resistance against screen &amp;edges:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="905"/>
<source>&amp;Amount of time to wait before switching:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="906"/>
<source>&amp;Switch desktops when moving a window past the screen edge</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="907"/>
<source>Information Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="910"/>
<location filename="../../build/src/ui_obconf.h" line="917"/>
<source>Centered</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="911"/>
<source>From left edge</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="912"/>
<source>From right edge</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="914"/>
<source>Fixed &amp;y position:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="918"/>
<source>From top edge</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="919"/>
<source>From bottom edge</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="921"/>
<source>Information dialog&apos;s &amp;position:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="922"/>
<source>Fixed &amp;x position:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="923"/>
<source>Show &amp;information dialog:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="926"/>
<source>When resizing terminal windows</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="927"/>
<source>Always</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="928"/>
<source>Never</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="932"/>
<source>Centered on the window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="933"/>
<source>Above the window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="934"/>
<source>Fixed position on screen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="936"/>
<source>Focusing Windows</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="937"/>
<source>Focus windows when the mouse pointer moves over them</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="938"/>
<source>&amp;Delay before focusing and raising windows:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="939"/>
<source>Move focus under the mouse when &amp;switching desktops</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="940"/>
<source>Move focus &amp;under the mouse when the mouse is not moving</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="941"/>
<source>&amp;Raise windows when the mouse pointer moves over them</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="942"/>
<source>Titlebar</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="943"/>
<source>Double click on the &amp;titlebar:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="946"/>
<source>Maximizes the window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="947"/>
<source>Shades the window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="949"/>
<source>Double click ti&amp;me:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="950"/>
<source>&amp;Show a notification when switching desktops</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="951"/>
<source>&amp;Amount of time to show the notification for:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="952"/>
<source>&amp;Number of desktops: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="953"/>
<source>&amp;Desktop names:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="954"/>
<source>Desktop Margins</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="955"/>
<source>Desktop margins are reserved areas on the edge of your screen. New windows will not be placed within a margin, and maximized windows will not cover them.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="956"/>
<source>Left:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="957"/>
<location filename="../../build/src/ui_obconf.h" line="959"/>
<location filename="../../build/src/ui_obconf.h" line="961"/>
<location filename="../../build/src/ui_obconf.h" line="963"/>
<source>px</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="958"/>
<source>Top:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="960"/>
<source>Right:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="962"/>
<source>Bottom:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="964"/>
<source>About</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Obconf::MainDialog</name>
<message>
<location filename="../theme.cpp" line="150"/>
<location filename="../theme.cpp" line="160"/>
<source>Choose an Openbox theme</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../desktops.cpp" line="152"/>
<location filename="../desktops.cpp" line="162"/>
<source>(Unnamed desktop)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mouse.cpp" line="57"/>
<source>Custom actions</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../maindialog.cpp" line="76"/>
<source>About ObConf-Qt</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../maindialog.cpp" line="77"/>
<source>A preferences manager for Openbox
Copyright (c) 2003-2013
Authors:
* Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;
* Dana Jansens &lt;danakj@orodu.net&gt;
* Tim Riley &lt;tr@slackzone.org&gt;
* Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../archive.cpp" line="26"/>
<source>&quot;%1&quot; was installed to %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="53"/>
<source>&quot;%1&quot; was successfully created</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="89"/>
<source>Unable to create the theme archive &quot;%1&quot;.
The following errors were reported:
%2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="95"/>
<location filename="../archive.cpp" line="178"/>
<source>Unable to run the &quot;tar&quot; command: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="115"/>
<source>Unable to create directory &quot;%1&quot;: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="138"/>
<source>&quot;%1&quot; does not appear to be a valid Openbox theme directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="148"/>
<source>Unable to move to directory &quot;%1&quot;: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="185"/>
<source>Unable to extract the file &quot;%1&quot;.
Please ensure that &quot;%2&quot; is writable and that the file is a valid Openbox theme archive.
The following errors were reported:
%3</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="53"/>
<source>ObConf Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="58"/>
<source>Copyright (c) 2003-2008 Dana Jansens
Copyright (c) 2003 Tim Riley
Copyright (c) 2007 Javeed Shaikh
Copyright (c) 2013 Hong Jen Yee (PCMan)
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="73"/>
<source>Syntax: obconf [options] [ARCHIVE.obt]
Options:
--help Display this help and exit
--version Display the version and exit
--install ARCHIVE.obt Install the given theme archive and select it
--archive THEME Create a theme archive from the given theme directory
--config-file FILE Specify the path to the config file to use
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="97"/>
<source>--install requires an argument
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="103"/>
<source>--archive requires an argument
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="109"/>
<source>--config-file requires an argument
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="221"/>
<location filename="../obconf-qt.cpp" line="237"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="222"/>
<source>Failed to load an rc.xml. You have probably failed to install Openbox properly.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="235"/>
<source>Error while parsing the Openbox configuration file. Your configuration file is not valid XML.
Message: %1</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

@ -0,0 +1,606 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="ca">
<context>
<name>Fm::FontButton</name>
<message>
<location filename="../fontbutton.cpp" line="46"/>
<source>Bold</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../fontbutton.cpp" line="50"/>
<source>Italic</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MainDialog</name>
<message>
<location filename="../../build/src/ui_obconf.h" line="844"/>
<source>Mouse</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="829"/>
<source>Window Manager Preferences</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="834"/>
<source>Theme</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="836"/>
<source>Appearance</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="838"/>
<source>Font</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="840"/>
<location filename="../../build/src/ui_obconf.h" line="855"/>
<source>Windows</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="842"/>
<source>Move &amp; Resize</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="846"/>
<source>Desktops</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="848"/>
<source>Margins</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="850"/>
<source>Dock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="858"/>
<source>Window Titles</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="859"/>
<source>Button order:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="900"/>
<source>Moving and Resizing Windows</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="907"/>
<source>Information Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="936"/>
<source>Focusing Windows</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="937"/>
<source>Focus windows when the mouse pointer moves over them</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="942"/>
<source>Titlebar</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="954"/>
<source>Desktop Margins</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="955"/>
<source>Desktop margins are reserved areas on the edge of your screen. New windows will not be placed within a margin, and maximized windows will not cover them.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="956"/>
<source>Left:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="957"/>
<location filename="../../build/src/ui_obconf.h" line="959"/>
<location filename="../../build/src/ui_obconf.h" line="961"/>
<location filename="../../build/src/ui_obconf.h" line="963"/>
<source>px</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="958"/>
<source>Top:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="960"/>
<source>Right:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="962"/>
<source>Bottom:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="885"/>
<source>All monitors</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="886"/>
<source>The active monitor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="887"/>
<source>The monitor with the mouse</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="890"/>
<source>Primary Monitor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="891"/>
<source>The primary monitor is where Openbox will place dialogs, such as the one used for cycling windows.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="895"/>
<source>Fixed Monitor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="896"/>
<source>Active Monitor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="897"/>
<source>Monitor With Mouse Pointer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="910"/>
<location filename="../../build/src/ui_obconf.h" line="917"/>
<source>Centered</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="911"/>
<source>From left edge</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="912"/>
<source>From right edge</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="918"/>
<source>From top edge</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="919"/>
<source>From bottom edge</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="926"/>
<source>When resizing terminal windows</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="927"/>
<source>Always</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="928"/>
<source>Never</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="932"/>
<source>Centered on the window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="933"/>
<source>Above the window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="934"/>
<source>Fixed position on screen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="946"/>
<source>Maximizes the window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="947"/>
<source>Shades the window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="860"/>
<source>N: Window icon
L: Window label (Title)
I: Iconify (Minimize)
M: Maximize
C: Close
S: Shade (Roll up)
D: Omnipresent (On all desktops)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="888"/>
<source>Primary monitor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="964"/>
<source>About</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="853"/>
<source>&amp;Install a new theme...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="854"/>
<source>Create a theme &amp;archive (.obt)...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="856"/>
<source>&amp;Windows retain a border when undecorated</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="857"/>
<source>A&amp;nimate iconify and restore</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="873"/>
<source>&amp;Active window title: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="874"/>
<source>&amp;Inactive window title: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="875"/>
<source>Menu &amp;header: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="876"/>
<source>&amp;Menu Item: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="877"/>
<source>Active &amp;On-screen display: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="878"/>
<source>Inactive O&amp;n-screen display: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="879"/>
<source>Focus &amp;new windows when they appear</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="880"/>
<source>&amp;Place new windows under the mouse pointer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="881"/>
<source>&amp;Center new windows when they are placed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="882"/>
<source>Prefer to place new windows &amp;on:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="892"/>
<source>Primary &amp;monitor:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="899"/>
<source>&amp;Fixed monitor:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="901"/>
<source>Update the window contents while &amp;resizing</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="902"/>
<source>Drag &amp;threshold distance:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="903"/>
<source>Amount of resistance against other &amp;windows:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="904"/>
<source>Amount of resistance against screen &amp;edges:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="905"/>
<source>&amp;Amount of time to wait before switching:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="906"/>
<source>&amp;Switch desktops when moving a window past the screen edge</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="914"/>
<source>Fixed &amp;y position:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="921"/>
<source>Information dialog&apos;s &amp;position:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="922"/>
<source>Fixed &amp;x position:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="923"/>
<source>Show &amp;information dialog:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="938"/>
<source>&amp;Delay before focusing and raising windows:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="939"/>
<source>Move focus under the mouse when &amp;switching desktops</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="940"/>
<source>Move focus &amp;under the mouse when the mouse is not moving</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="941"/>
<source>&amp;Raise windows when the mouse pointer moves over them</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="943"/>
<source>Double click on the &amp;titlebar:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="949"/>
<source>Double click ti&amp;me:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="950"/>
<source>&amp;Show a notification when switching desktops</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="951"/>
<source>&amp;Amount of time to show the notification for:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="952"/>
<source>&amp;Number of desktops: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="953"/>
<source>&amp;Desktop names:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Obconf::MainDialog</name>
<message>
<location filename="../mouse.cpp" line="57"/>
<source>Custom actions</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../desktops.cpp" line="152"/>
<location filename="../desktops.cpp" line="162"/>
<source>(Unnamed desktop)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../maindialog.cpp" line="76"/>
<source>About ObConf-Qt</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../maindialog.cpp" line="77"/>
<source>A preferences manager for Openbox
Copyright (c) 2003-2013
Authors:
* Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;
* Dana Jansens &lt;danakj@orodu.net&gt;
* Tim Riley &lt;tr@slackzone.org&gt;
* Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../theme.cpp" line="150"/>
<location filename="../theme.cpp" line="160"/>
<source>Choose an Openbox theme</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../archive.cpp" line="26"/>
<source>&quot;%1&quot; was installed to %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="53"/>
<source>&quot;%1&quot; was successfully created</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="89"/>
<source>Unable to create the theme archive &quot;%1&quot;.
The following errors were reported:
%2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="95"/>
<location filename="../archive.cpp" line="178"/>
<source>Unable to run the &quot;tar&quot; command: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="115"/>
<source>Unable to create directory &quot;%1&quot;: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="138"/>
<source>&quot;%1&quot; does not appear to be a valid Openbox theme directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="148"/>
<source>Unable to move to directory &quot;%1&quot;: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="185"/>
<source>Unable to extract the file &quot;%1&quot;.
Please ensure that &quot;%2&quot; is writable and that the file is a valid Openbox theme archive.
The following errors were reported:
%3</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="53"/>
<source>ObConf Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="73"/>
<source>Syntax: obconf [options] [ARCHIVE.obt]
Options:
--help Display this help and exit
--version Display the version and exit
--install ARCHIVE.obt Install the given theme archive and select it
--archive THEME Create a theme archive from the given theme directory
--config-file FILE Specify the path to the config file to use
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="97"/>
<source>--install requires an argument
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="103"/>
<source>--archive requires an argument
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="109"/>
<source>--config-file requires an argument
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="221"/>
<location filename="../obconf-qt.cpp" line="237"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="222"/>
<source>Failed to load an rc.xml. You have probably failed to install Openbox properly.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="235"/>
<source>Error while parsing the Openbox configuration file. Your configuration file is not valid XML.
Message: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="58"/>
<source>Copyright (c) 2003-2008 Dana Jansens
Copyright (c) 2003 Tim Riley
Copyright (c) 2007 Javeed Shaikh
Copyright (c) 2013 Hong Jen Yee (PCMan)
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

@ -0,0 +1,647 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="es">
<context>
<name>Fm::FontButton</name>
<message>
<location filename="../fontbutton.cpp" line="46"/>
<source>Bold</source>
<translation>Negrita</translation>
</message>
<message>
<location filename="../fontbutton.cpp" line="50"/>
<source>Italic</source>
<translation>Cursiva</translation>
</message>
</context>
<context>
<name>MainDialog</name>
<message>
<location filename="../../build/src/ui_obconf.h" line="844"/>
<source>Mouse</source>
<translation>Ratón</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="829"/>
<source>Window Manager Preferences</source>
<translation>Preferencias del gestor de ventanas</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="834"/>
<source>Theme</source>
<translation>Tema</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="836"/>
<source>Appearance</source>
<translation>Apariencia</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="838"/>
<source>Font</source>
<translation>Tipo de letra</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="840"/>
<location filename="../../build/src/ui_obconf.h" line="855"/>
<source>Windows</source>
<translation>Ventanas</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="842"/>
<source>Move &amp; Resize</source>
<translation>Mover y redimensionar</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="846"/>
<source>Desktops</source>
<translation>Escritorios</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="848"/>
<source>Margins</source>
<translation>Márgenes</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="850"/>
<source>Dock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="858"/>
<source>Window Titles</source>
<translation>Títulos de las ventanas</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="859"/>
<source>Button order:</source>
<translation>Orden de los botones:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="900"/>
<source>Moving and Resizing Windows</source>
<translation>Mover y redimensionar ventanas</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="907"/>
<source>Information Dialog</source>
<translation>Diálogo de información</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="936"/>
<source>Focusing Windows</source>
<translation>Enfocar ventanas</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="937"/>
<source>Focus windows when the mouse pointer moves over them</source>
<translation>Enfocar las ventanas al pasar el ratón sobre ellas</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="942"/>
<source>Titlebar</source>
<translation>Barra de título</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="954"/>
<source>Desktop Margins</source>
<translation>Márgenes del escritorio</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="955"/>
<source>Desktop margins are reserved areas on the edge of your screen. New windows will not be placed within a margin, and maximized windows will not cover them.</source>
<translation>Los márgenes del escritorio son áreas reservadas en los bordes de la pantalla. Las ventanas nuevas no los ocuparán y las ventanas maximizadas no los cubrirán.</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="956"/>
<source>Left:</source>
<translation>Izquierdo:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="957"/>
<location filename="../../build/src/ui_obconf.h" line="959"/>
<location filename="../../build/src/ui_obconf.h" line="961"/>
<location filename="../../build/src/ui_obconf.h" line="963"/>
<source>px</source>
<translation>px</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="958"/>
<source>Top:</source>
<translation>Superior:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="960"/>
<source>Right:</source>
<translation>Derecho:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="962"/>
<source>Bottom:</source>
<translation>Inferior:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="885"/>
<source>All monitors</source>
<translation>Todos los monitores</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="886"/>
<source>The active monitor</source>
<translation>El monitor activo</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="887"/>
<source>The monitor with the mouse</source>
<translation>El monitor que contiene el ratón</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="890"/>
<source>Primary Monitor</source>
<translation>Monitor primario</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="891"/>
<source>The primary monitor is where Openbox will place dialogs, such as the one used for cycling windows.</source>
<translation>El monitor primario es donde Openbox ubicará los diálogos, como el usado para alternar las ventanas.</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="895"/>
<source>Fixed Monitor</source>
<translation>Monitor fijo</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="896"/>
<source>Active Monitor</source>
<translation>Monitor activo</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="897"/>
<source>Monitor With Mouse Pointer</source>
<translation>Monitor con el puntero del ratón</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="910"/>
<location filename="../../build/src/ui_obconf.h" line="917"/>
<source>Centered</source>
<translation>Centrado</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="911"/>
<source>From left edge</source>
<translation>Desde el borde izquierdo</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="912"/>
<source>From right edge</source>
<translation>Desde el borde derecho</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="918"/>
<source>From top edge</source>
<translation>Desde el borde superior</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="919"/>
<source>From bottom edge</source>
<translation>Desde el borde inferior</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="926"/>
<source>When resizing terminal windows</source>
<translation>Al redimensionar ventanas de terminal</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="927"/>
<source>Always</source>
<translation>Siempre</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="928"/>
<source>Never</source>
<translation>Nunca</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="932"/>
<source>Centered on the window</source>
<translation>Centrado en la ventana</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="933"/>
<source>Above the window</source>
<translation>Encima de la ventana</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="934"/>
<source>Fixed position on screen</source>
<translation>Posición fija en la pantalla</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="946"/>
<source>Maximizes the window</source>
<translation>Maximiza la ventana</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="947"/>
<source>Shades the window</source>
<translation>Enrolla la ventana</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="860"/>
<source>N: Window icon
L: Window label (Title)
I: Iconify (Minimize)
M: Maximize
C: Close
S: Shade (Roll up)
D: Omnipresent (On all desktops)</source>
<translation>N: Icono de ventana
L: Título de ventana
I: Reducir a icono (minimizar)
M: Maximizar
C: Cerrar
S: Enrollar
D: Omnipresente (en todos los escritorios)</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="888"/>
<source>Primary monitor</source>
<translation>Monitor primario</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="964"/>
<source>About</source>
<translation>Acerca de</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="853"/>
<source>&amp;Install a new theme...</source>
<translation>&amp;Instalar un tema nuevo</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="854"/>
<source>Create a theme &amp;archive (.obt)...</source>
<translation>Crear &amp;archivador de tema (.obt)</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="856"/>
<source>&amp;Windows retain a border when undecorated</source>
<translation>Las &amp;ventanas conservan un borde cuando no hay decoración</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="857"/>
<source>A&amp;nimate iconify and restore</source>
<translation>A&amp;nimación al minimizar y restaurar</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="873"/>
<source>&amp;Active window title: </source>
<translation>Título de ventana &amp;activa: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="874"/>
<source>&amp;Inactive window title: </source>
<translation>Título de ventana &amp;inactiva: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="875"/>
<source>Menu &amp;header: </source>
<translation>Encabe&amp;zamiento del menú: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="876"/>
<source>&amp;Menu Item: </source>
<translation>Elemento del &amp;menú: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="877"/>
<source>Active &amp;On-screen display: </source>
<translation>Visualización en &amp;pantalla activa: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="878"/>
<source>Inactive O&amp;n-screen display: </source>
<translation>Visualización en pa&amp;ntalla inactiva: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="879"/>
<source>Focus &amp;new windows when they appear</source>
<translation>Enfocar las ventanas &amp;nuevas cuando aparecen</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="880"/>
<source>&amp;Place new windows under the mouse pointer</source>
<translation>&amp;Ubicar las ventanas nuevas bajo el puntero del ratón</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="881"/>
<source>&amp;Center new windows when they are placed</source>
<translation>&amp;Centrar las ventanas nuevas al ubicarlas</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="882"/>
<source>Prefer to place new windows &amp;on:</source>
<translation>&amp;Ubicar las ventanas nuevas en:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="892"/>
<source>Primary &amp;monitor:</source>
<translation>&amp;Monitor primario:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="899"/>
<source>&amp;Fixed monitor:</source>
<translation>Monitor &amp;fijo:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="901"/>
<source>Update the window contents while &amp;resizing</source>
<translation>Actualizar contenido de la ventana al &amp;redimensionarla</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="902"/>
<source>Drag &amp;threshold distance:</source>
<translation>&amp;Umbral de distancia del arrastre:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="903"/>
<source>Amount of resistance against other &amp;windows:</source>
<translation>Cantidad de resistencia a otras &amp;ventanas:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="904"/>
<source>Amount of resistance against screen &amp;edges:</source>
<translation>Cantidad de resistencia a los bordes de la &amp;pantalla:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="905"/>
<source>&amp;Amount of time to wait before switching:</source>
<translation>&amp;Tiempo a esperar antes de cambiar:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="906"/>
<source>&amp;Switch desktops when moving a window past the screen edge</source>
<translation>Ca&amp;mbiar de escritorio al mover una ventana más allá del borde de la pantalla</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="914"/>
<source>Fixed &amp;y position:</source>
<translation>Posición &amp;Y fija:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="921"/>
<source>Information dialog&apos;s &amp;position:</source>
<translation>&amp;Posición del diálogo de información:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="922"/>
<source>Fixed &amp;x position:</source>
<translation>Posición &amp;X fija:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="923"/>
<source>Show &amp;information dialog:</source>
<translation>Mostrar diálogo de &amp;información:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="938"/>
<source>&amp;Delay before focusing and raising windows:</source>
<translation>&amp;Retardo antes de enfocar y elevar ventanas:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="939"/>
<source>Move focus under the mouse when &amp;switching desktops</source>
<translation>Mover el foco bajo el ratón al cam&amp;biar de escritorio</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="940"/>
<source>Move focus &amp;under the mouse when the mouse is not moving</source>
<translation>Mover el foco ba&amp;jo el ratón cuando éste no está en movimiento</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="941"/>
<source>&amp;Raise windows when the mouse pointer moves over them</source>
<translation>&amp;Elevar las ventanas cuando el puntero del ratón se mueve sobre ellas</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="943"/>
<source>Double click on the &amp;titlebar:</source>
<translation>Pulsación doble en la barra de &amp;título:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="949"/>
<source>Double click ti&amp;me:</source>
<translation>Tie&amp;mpo de pulsación doble:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="950"/>
<source>&amp;Show a notification when switching desktops</source>
<translation>&amp;Mostrar notificación al cambiar de escritorio</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="951"/>
<source>&amp;Amount of time to show the notification for:</source>
<translation>Por &amp;cuánto tiempo mostrar la notificación:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="952"/>
<source>&amp;Number of desktops: </source>
<translation>&amp;N.º de escritorios: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="953"/>
<source>&amp;Desktop names:</source>
<translation>Nom&amp;bres de escritorios:</translation>
</message>
</context>
<context>
<name>Obconf::MainDialog</name>
<message>
<location filename="../mouse.cpp" line="57"/>
<source>Custom actions</source>
<translation>Acciones personalizadas</translation>
</message>
<message>
<location filename="../desktops.cpp" line="152"/>
<location filename="../desktops.cpp" line="162"/>
<source>(Unnamed desktop)</source>
<translation>(Escritorio sin nombre)</translation>
</message>
<message>
<location filename="../maindialog.cpp" line="76"/>
<source>About ObConf-Qt</source>
<translation>Acerca de ObConf-Qt</translation>
</message>
<message>
<location filename="../maindialog.cpp" line="77"/>
<source>A preferences manager for Openbox
Copyright (c) 2003-2013
Authors:
* Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;
* Dana Jansens &lt;danakj@orodu.net&gt;
* Tim Riley &lt;tr@slackzone.org&gt;
* Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</source>
<translation>Un gestor de configuración para Openbox
Copyright © 2003-2013
Autores:
* Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;
* Dana Jansens &lt;danakj@orodu.net&gt;
* Tim Riley &lt;tr@slackzone.org&gt;
* Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</translation>
</message>
<message>
<location filename="../theme.cpp" line="150"/>
<location filename="../theme.cpp" line="160"/>
<source>Choose an Openbox theme</source>
<translation>Elija un tema de Openbox</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../archive.cpp" line="26"/>
<source>&quot;%1&quot; was installed to %1</source>
<translation>Se instaló «%1» en %1</translation>
</message>
<message>
<location filename="../archive.cpp" line="53"/>
<source>&quot;%1&quot; was successfully created</source>
<translation>Se ha creado «%1» correctamente</translation>
</message>
<message>
<location filename="../archive.cpp" line="89"/>
<source>Unable to create the theme archive &quot;%1&quot;.
The following errors were reported:
%2</source>
<translation>No se puede crear el archivador de tema «%1».
Se produjeron los siguientes errores:
%2</translation>
</message>
<message>
<location filename="../archive.cpp" line="95"/>
<location filename="../archive.cpp" line="178"/>
<source>Unable to run the &quot;tar&quot; command: %1</source>
<translation>No se puede ejecutar la orden «tar»: %1</translation>
</message>
<message>
<location filename="../archive.cpp" line="115"/>
<source>Unable to create directory &quot;%1&quot;: %2</source>
<translation>No se puede crear la carpeta «%1»: %2</translation>
</message>
<message>
<location filename="../archive.cpp" line="138"/>
<source>&quot;%1&quot; does not appear to be a valid Openbox theme directory</source>
<translation>«%1» no parece ser una carpeta de tema de Openbox válida</translation>
</message>
<message>
<location filename="../archive.cpp" line="148"/>
<source>Unable to move to directory &quot;%1&quot;: %2</source>
<translation>No se puede mover a la carpeta «%1»: %2</translation>
</message>
<message>
<location filename="../archive.cpp" line="185"/>
<source>Unable to extract the file &quot;%1&quot;.
Please ensure that &quot;%2&quot; is writable and that the file is a valid Openbox theme archive.
The following errors were reported:
%3</source>
<translation>No se puede extraer el archivo «%1».
Asegúrese de que «%2» es escribible y de que el archivo es un tema de Openbox válido.
Se produjeron los siguientes errores:
%3</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="53"/>
<source>ObConf Error</source>
<translation>Error de ObConf</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="73"/>
<source>Syntax: obconf [options] [ARCHIVE.obt]
Options:
--help Display this help and exit
--version Display the version and exit
--install ARCHIVE.obt Install the given theme archive and select it
--archive THEME Create a theme archive from the given theme directory
--config-file FILE Specify the path to the config file to use
</source>
<translation>Sintaxis: obconf [opciones] [ARCHIVADOR.obt]
Opciones:
--help Mostrar esta ayuda y salir
--version Mostrar la versión y salir
--install ARCHIVADOR.obt Instalar el tema dado y seleccionarlo
--archive TEMA Crear un archivador a partir de la carpeta dada
--config-file ARCHIVO Especificar ruta al archivo de conf. a usar
</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="97"/>
<source>--install requires an argument
</source>
<translation>--install necesita un argumento
</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="103"/>
<source>--archive requires an argument
</source>
<translation>--archive necesita un argumento
</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="109"/>
<source>--config-file requires an argument
</source>
<translation>--config-file necesita un argumento
</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="221"/>
<location filename="../obconf-qt.cpp" line="237"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="222"/>
<source>Failed to load an rc.xml. You have probably failed to install Openbox properly.</source>
<translation>Falló la carga de un rc.xml. Puede que la instalación de Openbox sea incorrecta.</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="235"/>
<source>Error while parsing the Openbox configuration file. Your configuration file is not valid XML.
Message: %1</source>
<translation>Ocurrió un error al analizar el archivo de configuración de Openbox: este no contiene XML válido.
Mensaje: %1</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="58"/>
<source>Copyright (c) 2003-2008 Dana Jansens
Copyright (c) 2003 Tim Riley
Copyright (c) 2007 Javeed Shaikh
Copyright (c) 2013 Hong Jen Yee (PCMan)
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
</source>
<translation>Copyright © 2003-2008 Dana Jansens
Copyright © 2003 Tim Riley
Copyright © 2007 Javeed Shaikh
Copyright © 2013 Hong Jen Yee (PCMan)
Este programa viene SIN NINGUNA GARANTÍA.
Esto es software libre que puede redistribuir bajo
algunas condiciones. Consulte el archivo COPYING.
</translation>
</message>
</context>
</TS>

@ -0,0 +1,647 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="gl">
<context>
<name>Fm::FontButton</name>
<message>
<location filename="../fontbutton.cpp" line="46"/>
<source>Bold</source>
<translation>Negra</translation>
</message>
<message>
<location filename="../fontbutton.cpp" line="50"/>
<source>Italic</source>
<translation>Cursiva</translation>
</message>
</context>
<context>
<name>MainDialog</name>
<message>
<location filename="../../build/src/ui_obconf.h" line="844"/>
<source>Mouse</source>
<translation>Rato</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="829"/>
<source>Window Manager Preferences</source>
<translation>Preferencias do xestor de xanelas</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="834"/>
<source>Theme</source>
<translation>Tema</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="836"/>
<source>Appearance</source>
<translation>Aparencia</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="838"/>
<source>Font</source>
<translation>Tipo de letra</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="840"/>
<location filename="../../build/src/ui_obconf.h" line="855"/>
<source>Windows</source>
<translation>Xanelas</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="842"/>
<source>Move &amp; Resize</source>
<translation>Mover e reaxustar</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="846"/>
<source>Desktops</source>
<translation>Escritorios</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="848"/>
<source>Margins</source>
<translation>Marxes</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="850"/>
<source>Dock</source>
<translation>Doca</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="858"/>
<source>Window Titles</source>
<translation>Títulos de xanela</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="859"/>
<source>Button order:</source>
<translation>Orde dos botóns</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="900"/>
<source>Moving and Resizing Windows</source>
<translation>Mover e redimensionar as xanelas</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="907"/>
<source>Information Dialog</source>
<translation>Diálogo de información</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="936"/>
<source>Focusing Windows</source>
<translation>Xanelas en foco</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="937"/>
<source>Focus windows when the mouse pointer moves over them</source>
<translation>Pon en foco as xanelas cando o rato pasa sobre elas</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="942"/>
<source>Titlebar</source>
<translation>Barra de título</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="954"/>
<source>Desktop Margins</source>
<translation>Marxes do escritorio</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="955"/>
<source>Desktop margins are reserved areas on the edge of your screen. New windows will not be placed within a margin, and maximized windows will not cover them.</source>
<translation>As marxes de escritorio son áreas reservadas no bordo da pantalla. As novas xanelas no se situaran dentro dunha marxe, e as xanelas maximizadas non os cubrirán.</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="956"/>
<source>Left:</source>
<translation>Esquerda:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="957"/>
<location filename="../../build/src/ui_obconf.h" line="959"/>
<location filename="../../build/src/ui_obconf.h" line="961"/>
<location filename="../../build/src/ui_obconf.h" line="963"/>
<source>px</source>
<translation>px</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="958"/>
<source>Top:</source>
<translation>Arriba:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="960"/>
<source>Right:</source>
<translation>Dereita:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="962"/>
<source>Bottom:</source>
<translation>Abaixo:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="885"/>
<source>All monitors</source>
<translation>Todos os monitores</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="886"/>
<source>The active monitor</source>
<translation>O monitor activo</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="887"/>
<source>The monitor with the mouse</source>
<translation>O monitor co rato</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="890"/>
<source>Primary Monitor</source>
<translation>Monitor primario</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="891"/>
<source>The primary monitor is where Openbox will place dialogs, such as the one used for cycling windows.</source>
<translation>O monitor primario é no que o Openbox colocará os cadros de diálogo, como o que se utiliza para o carrusel de xanelas.</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="895"/>
<source>Fixed Monitor</source>
<translation>Monitor fixo</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="896"/>
<source>Active Monitor</source>
<translation>Monitor activo</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="897"/>
<source>Monitor With Mouse Pointer</source>
<translation>Monitor co punteiro do rato</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="910"/>
<location filename="../../build/src/ui_obconf.h" line="917"/>
<source>Centered</source>
<translation>Centrado</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="911"/>
<source>From left edge</source>
<translation>Desde o bordo esquerdo</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="912"/>
<source>From right edge</source>
<translation>Desde o bordo dereito</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="918"/>
<source>From top edge</source>
<translation>Desde o bordo superior</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="919"/>
<source>From bottom edge</source>
<translation>Desde o bordo inferior</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="926"/>
<source>When resizing terminal windows</source>
<translation>Ao cambiar o tamaño das xanelas do terminal</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="927"/>
<source>Always</source>
<translation>Sempre</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="928"/>
<source>Never</source>
<translation>Nunca</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="932"/>
<source>Centered on the window</source>
<translation>Centrado na xanela</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="933"/>
<source>Above the window</source>
<translation>Por riba da xanela</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="934"/>
<source>Fixed position on screen</source>
<translation>Posición fixa na pantalla</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="946"/>
<source>Maximizes the window</source>
<translation>Maximizar a xanela</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="947"/>
<source>Shades the window</source>
<translation>Ensombrecer a xanela</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="860"/>
<source>N: Window icon
L: Window label (Title)
I: Iconify (Minimize)
M: Maximize
C: Close
S: Shade (Roll up)
D: Omnipresent (On all desktops)</source>
<translation>N: Icona da xanela
L: Etiqueta da xanela (título)
I: Iconificar (minimizar)
M: Maximizar
C: Pechar
S: Cortina (enrolar)
D: Omnipresente (en todos os escritorios)</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="888"/>
<source>Primary monitor</source>
<translation>Monitor primario</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="964"/>
<source>About</source>
<translation>Sobre</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="853"/>
<source>&amp;Install a new theme...</source>
<translation>&amp;Instalar un tema novo</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="854"/>
<source>Create a theme &amp;archive (.obt)...</source>
<translation>Crear un &amp;arquivo de tema (.obt)...</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="856"/>
<source>&amp;Windows retain a border when undecorated</source>
<translation>As &amp;xanelas conservan un bordo cando non hai decoración</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="857"/>
<source>A&amp;nimate iconify and restore</source>
<translation>A&amp;nimar a iconificación e a restauración</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="873"/>
<source>&amp;Active window title: </source>
<translation>Título da xanela &amp;activa: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="874"/>
<source>&amp;Inactive window title: </source>
<translation>Título da xanela &amp;inactiva: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="875"/>
<source>Menu &amp;header: </source>
<translation>&amp;Cabeceira do menú: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="876"/>
<source>&amp;Menu Item: </source>
<translation>&amp;Elemento do menú: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="877"/>
<source>Active &amp;On-screen display: </source>
<translation>Vista en &amp;pantalla activada: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="878"/>
<source>Inactive O&amp;n-screen display: </source>
<translation>Vista en pa&amp;ntalla desactivada: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="879"/>
<source>Focus &amp;new windows when they appear</source>
<translation>Poñer en foco as xanelas &amp;novas cando aparezan</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="880"/>
<source>&amp;Place new windows under the mouse pointer</source>
<translation>&amp;Poñer as xanelas novas baixo o punteiro do rato</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="881"/>
<source>&amp;Center new windows when they are placed</source>
<translation>&amp;Centrar as novas xanelas ao seren posicionadas</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="882"/>
<source>Prefer to place new windows &amp;on:</source>
<translation>&amp;Centrar as novas xanelas cando se coloquen</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="892"/>
<source>Primary &amp;monitor:</source>
<translation>Monitor &amp;primario</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="899"/>
<source>&amp;Fixed monitor:</source>
<translation>Monitor &amp;fixo</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="901"/>
<source>Update the window contents while &amp;resizing</source>
<translation>Actualizar o contido das xanelas ao &amp;redimensionar</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="902"/>
<source>Drag &amp;threshold distance:</source>
<translation>&amp;Limiar de distancia do arrastre:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="903"/>
<source>Amount of resistance against other &amp;windows:</source>
<translation>Canta resistencia fronte a outras &amp;xanelas:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="904"/>
<source>Amount of resistance against screen &amp;edges:</source>
<translation>Canta resistencia fronte aos &amp;bordos da pantalla:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="905"/>
<source>&amp;Amount of time to wait before switching:</source>
<translation>Canto &amp;tempo que debe transcorrer antes de cambiar:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="906"/>
<source>&amp;Switch desktops when moving a window past the screen edge</source>
<translation>&amp;Cambiar entre escritorios cando se move unha xanela fora do bordo da pantalla</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="914"/>
<source>Fixed &amp;y position:</source>
<translation>Posición &amp;Y fixa:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="921"/>
<source>Information dialog&apos;s &amp;position:</source>
<translation>&amp;Posición dos diálogos de información:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="922"/>
<source>Fixed &amp;x position:</source>
<translation>Posición &amp;X fixa:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="923"/>
<source>Show &amp;information dialog:</source>
<translation>Amosar o diálogo de &amp;información:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="938"/>
<source>&amp;Delay before focusing and raising windows:</source>
<translation>&amp;Atraso antes de enfocar e elevar as xanelas:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="939"/>
<source>Move focus under the mouse when &amp;switching desktops</source>
<translation>Mover o foco baixo o rato ao &amp;cambiar de escritorio</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="940"/>
<source>Move focus &amp;under the mouse when the mouse is not moving</source>
<translation>Mover o foco &amp;baixo o rato cando se move o ratpo</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="941"/>
<source>&amp;Raise windows when the mouse pointer moves over them</source>
<translation>&amp;Elevar as xanelas cando o rato pase sobre elas </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="943"/>
<source>Double click on the &amp;titlebar:</source>
<translation>Duplo clic na barra de &amp;título:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="949"/>
<source>Double click ti&amp;me:</source>
<translation>Te&amp;mpo de duplo clic:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="950"/>
<source>&amp;Show a notification when switching desktops</source>
<translation>&amp;Amosar un aviso ao cambiar de escritorio</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="951"/>
<source>&amp;Amount of time to show the notification for:</source>
<translation>&amp;Tempo no que amosar o aviso para:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="952"/>
<source>&amp;Number of desktops: </source>
<translation>&amp;Número de escritorios: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="953"/>
<source>&amp;Desktop names:</source>
<translation>Nomes dos &amp;escritorios:</translation>
</message>
</context>
<context>
<name>Obconf::MainDialog</name>
<message>
<location filename="../mouse.cpp" line="57"/>
<source>Custom actions</source>
<translation>Accións personalizadas</translation>
</message>
<message>
<location filename="../desktops.cpp" line="152"/>
<location filename="../desktops.cpp" line="162"/>
<source>(Unnamed desktop)</source>
<translation>(Escritorio sen nome)</translation>
</message>
<message>
<location filename="../maindialog.cpp" line="76"/>
<source>About ObConf-Qt</source>
<translation>Sobre o ObConf-Qt</translation>
</message>
<message>
<location filename="../maindialog.cpp" line="77"/>
<source>A preferences manager for Openbox
Copyright (c) 2003-2013
Authors:
* Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;
* Dana Jansens &lt;danakj@orodu.net&gt;
* Tim Riley &lt;tr@slackzone.org&gt;
* Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</source>
<translation>Un xestor de preferencias para o Openbox
Copyright (c) 2003-2013
Autores:
* Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;
* Dana Jansens &lt;danakj@orodu.net&gt;
* Tim Riley &lt;tr@slackzone.org&gt;
* Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</translation>
</message>
<message>
<location filename="../theme.cpp" line="150"/>
<location filename="../theme.cpp" line="160"/>
<source>Choose an Openbox theme</source>
<translation>Escoller un tema do Openbox</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../archive.cpp" line="26"/>
<source>&quot;%1&quot; was installed to %1</source>
<translation>«%1» foi instalado en %1</translation>
</message>
<message>
<location filename="../archive.cpp" line="53"/>
<source>&quot;%1&quot; was successfully created</source>
<translation>«%1» foi creado satisfactoriamente</translation>
</message>
<message>
<location filename="../archive.cpp" line="89"/>
<source>Unable to create the theme archive &quot;%1&quot;.
The following errors were reported:
%2</source>
<translation>Non foi posíbel crear o arquivo do tema «%1».
Informouse dos seguintes erros:
%2</translation>
</message>
<message>
<location filename="../archive.cpp" line="95"/>
<location filename="../archive.cpp" line="178"/>
<source>Unable to run the &quot;tar&quot; command: %1</source>
<translation>Non foi posíbel executar a orde «tar»: %1</translation>
</message>
<message>
<location filename="../archive.cpp" line="115"/>
<source>Unable to create directory &quot;%1&quot;: %2</source>
<translation>Non foi posíbel crear o directorio «%1»: %2</translation>
</message>
<message>
<location filename="../archive.cpp" line="138"/>
<source>&quot;%1&quot; does not appear to be a valid Openbox theme directory</source>
<translation>Semella que «%1» non é un directorio de tema correcto para o Openbox</translation>
</message>
<message>
<location filename="../archive.cpp" line="148"/>
<source>Unable to move to directory &quot;%1&quot;: %2</source>
<translation>Non é posíbel mover ao directorio «%1»: %2</translation>
</message>
<message>
<location filename="../archive.cpp" line="185"/>
<source>Unable to extract the file &quot;%1&quot;.
Please ensure that &quot;%2&quot; is writable and that the file is a valid Openbox theme archive.
The following errors were reported:
%3</source>
<translation>Non foi posíbel extraer o ficheiro «%1».
Asegúrese de que pode escribir en «%2» e de que o ficheiro é un arquivo de tema correcto para o Openbox.
Informáronse os seguintes erros:
%3</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="53"/>
<source>ObConf Error</source>
<translation>Produciuse un erro no ObConf</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="73"/>
<source>Syntax: obconf [options] [ARCHIVE.obt]
Options:
--help Display this help and exit
--version Display the version and exit
--install ARCHIVE.obt Install the given theme archive and select it
--archive THEME Create a theme archive from the given theme directory
--config-file FILE Specify the path to the config file to use
</source>
<translation>Syntaxe: obconf [opcións] [ARQUIVO.obt]
Opcións:
--help Amosa esta axuda e sae
--version Amosa a versión e sae
--install ARQUIVO.obt Instala o arquivo indicado do tema e selecciónao
--archive TEMA Crea un arquivo do tema do directorio de tema indicado
--config-file FICHEIRO Especifica a ruta ao ficheiro de configuración que usar
</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="97"/>
<source>--install requires an argument
</source>
<translation>--install require un argumento
</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="103"/>
<source>--archive requires an argument
</source>
<translation>--archive require un argumento
</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="109"/>
<source>--config-file requires an argument
</source>
<translation>--config-file require un argumento
</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="221"/>
<location filename="../obconf-qt.cpp" line="237"/>
<source>Error</source>
<translation>Erro</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="222"/>
<source>Failed to load an rc.xml. You have probably failed to install Openbox properly.</source>
<translation>Non foi posíbel cargar un rc.xml. Probabelmente non foi quen de instalar o Openbox correctamente.</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="235"/>
<source>Error while parsing the Openbox configuration file. Your configuration file is not valid XML.
Message: %1</source>
<translation>Produciuse un erro ao analizar o ficheiro de configuración do Openbox . O ficheiro de configuración non é un XML correcto.
Mensaxe: %1</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="58"/>
<source>Copyright (c) 2003-2008 Dana Jansens
Copyright (c) 2003 Tim Riley
Copyright (c) 2007 Javeed Shaikh
Copyright (c) 2013 Hong Jen Yee (PCMan)
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
</source>
<translation>Copyright (c) 2003-2008 Dana Jansens
Copyright (c) 2003 Tim Riley
Copyright (c) 2007 Javeed Shaikh
Copyright (c) 2013 Hong Jen Yee (PCMan)
Este programa non ten ABSOLUTAMENTE NINGUNHA GARANTÍA.
Isto é software libre, convidámolo a redistribuílo baixo certas
condicións. Vexa o ficheiro COPYING para obter máis detalles.
</translation>
</message>
</context>
</TS>

@ -0,0 +1,619 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="hr">
<context>
<name>Fm::FontButton</name>
<message>
<location filename="../fontbutton.cpp" line="46"/>
<source>Bold</source>
<translation>Masno</translation>
</message>
<message>
<location filename="../fontbutton.cpp" line="50"/>
<source>Italic</source>
<translation>Kurziv</translation>
</message>
</context>
<context>
<name>MainDialog</name>
<message>
<location filename="../../build/src/ui_obconf.h" line="844"/>
<source>Mouse</source>
<translation>Miš</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="829"/>
<source>Window Manager Preferences</source>
<translation>Osobitosti upravitelja prozora</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="834"/>
<source>Theme</source>
<translation>Tema</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="836"/>
<source>Appearance</source>
<translation>Izgled</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="838"/>
<source>Font</source>
<translation>Font</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="840"/>
<location filename="../../build/src/ui_obconf.h" line="855"/>
<source>Windows</source>
<translation>Prozori</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="842"/>
<source>Move &amp; Resize</source>
<translation>Pomakni &amp; promjeni veličinu</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="846"/>
<source>Desktops</source>
<translation>Radne površine</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="848"/>
<source>Margins</source>
<translation>Margine</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="850"/>
<source>Dock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="858"/>
<source>Window Titles</source>
<translation>Naslovi prozora</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="859"/>
<source>Button order:</source>
<translation>Redoslijed dugmadi:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="900"/>
<source>Moving and Resizing Windows</source>
<translation>Pomicanje i promjena veličine prozora</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="907"/>
<source>Information Dialog</source>
<translation>Informacijski dijalog</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="936"/>
<source>Focusing Windows</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="937"/>
<source>Focus windows when the mouse pointer moves over them</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="942"/>
<source>Titlebar</source>
<translation>Naslovna traka</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="954"/>
<source>Desktop Margins</source>
<translation>Margine radne površine</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="955"/>
<source>Desktop margins are reserved areas on the edge of your screen. New windows will not be placed within a margin, and maximized windows will not cover them.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="956"/>
<source>Left:</source>
<translation>Lijevo:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="957"/>
<location filename="../../build/src/ui_obconf.h" line="959"/>
<location filename="../../build/src/ui_obconf.h" line="961"/>
<location filename="../../build/src/ui_obconf.h" line="963"/>
<source>px</source>
<translation>px</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="958"/>
<source>Top:</source>
<translation>Vrh:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="960"/>
<source>Right:</source>
<translation>Desno:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="962"/>
<source>Bottom:</source>
<translation>Dno:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="885"/>
<source>All monitors</source>
<translation>Svi monitori</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="886"/>
<source>The active monitor</source>
<translation>Aktivni monitor</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="887"/>
<source>The monitor with the mouse</source>
<translation>Monitor s mišem</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="890"/>
<source>Primary Monitor</source>
<translation>Osnovni monitor</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="891"/>
<source>The primary monitor is where Openbox will place dialogs, such as the one used for cycling windows.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="895"/>
<source>Fixed Monitor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="896"/>
<source>Active Monitor</source>
<translation>Aktivni monitor</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="897"/>
<source>Monitor With Mouse Pointer</source>
<translation>Monitor sa pokazivačem miša</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="910"/>
<location filename="../../build/src/ui_obconf.h" line="917"/>
<source>Centered</source>
<translation>Centrirano</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="911"/>
<source>From left edge</source>
<translation>Sa lijevog ruba</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="912"/>
<source>From right edge</source>
<translation>Sa desnog ruba</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="918"/>
<source>From top edge</source>
<translation>Sa gornjeg ruba</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="919"/>
<source>From bottom edge</source>
<translation>Sa donjeg ruba</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="926"/>
<source>When resizing terminal windows</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="927"/>
<source>Always</source>
<translation>Uvijek</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="928"/>
<source>Never</source>
<translation>Nikada</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="932"/>
<source>Centered on the window</source>
<translation>Centrirano na prozoru</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="933"/>
<source>Above the window</source>
<translation>Iznad prozora</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="934"/>
<source>Fixed position on screen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="946"/>
<source>Maximizes the window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="947"/>
<source>Shades the window</source>
<translation>Osjenčava prozor</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="860"/>
<source>N: Window icon
L: Window label (Title)
I: Iconify (Minimize)
M: Maximize
C: Close
S: Shade (Roll up)
D: Omnipresent (On all desktops)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="888"/>
<source>Primary monitor</source>
<translation>Osnovni monitor</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="964"/>
<source>About</source>
<translation>O programu</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="853"/>
<source>&amp;Install a new theme...</source>
<translation>Instaliraj novu temu</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="854"/>
<source>Create a theme &amp;archive (.obt)...</source>
<translation>Napravi temu i arhivu (.obt)...</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="856"/>
<source>&amp;Windows retain a border when undecorated</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="857"/>
<source>A&amp;nimate iconify and restore</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="873"/>
<source>&amp;Active window title: </source>
<translation>&amp;Aktivni naslov prozora: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="874"/>
<source>&amp;Inactive window title: </source>
<translation>&amp;Neaktivni naslov prozora: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="875"/>
<source>Menu &amp;header: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="876"/>
<source>&amp;Menu Item: </source>
<translation>&amp;Stavka izbornika: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="877"/>
<source>Active &amp;On-screen display: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="878"/>
<source>Inactive O&amp;n-screen display: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="879"/>
<source>Focus &amp;new windows when they appear</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="880"/>
<source>&amp;Place new windows under the mouse pointer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="881"/>
<source>&amp;Center new windows when they are placed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="882"/>
<source>Prefer to place new windows &amp;on:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="892"/>
<source>Primary &amp;monitor:</source>
<translation>Osnovni &amp;monitor:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="899"/>
<source>&amp;Fixed monitor:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="901"/>
<source>Update the window contents while &amp;resizing</source>
<translation>Ažuriraj sadtžaj prizora za vrijeme &amp;promjene veličine</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="902"/>
<source>Drag &amp;threshold distance:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="903"/>
<source>Amount of resistance against other &amp;windows:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="904"/>
<source>Amount of resistance against screen &amp;edges:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="905"/>
<source>&amp;Amount of time to wait before switching:</source>
<translation>&amp;Koliko treba pričekati prije prebacivanja:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="906"/>
<source>&amp;Switch desktops when moving a window past the screen edge</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="914"/>
<source>Fixed &amp;y position:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="921"/>
<source>Information dialog&apos;s &amp;position:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="922"/>
<source>Fixed &amp;x position:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="923"/>
<source>Show &amp;information dialog:</source>
<translation>Pokaži &amp;informacijski dijalog:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="938"/>
<source>&amp;Delay before focusing and raising windows:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="939"/>
<source>Move focus under the mouse when &amp;switching desktops</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="940"/>
<source>Move focus &amp;under the mouse when the mouse is not moving</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="941"/>
<source>&amp;Raise windows when the mouse pointer moves over them</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="943"/>
<source>Double click on the &amp;titlebar:</source>
<translation>Dvostruki klik na &amp;naslovnu traku:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="949"/>
<source>Double click ti&amp;me:</source>
<translation>Vrijeme dvostrukog kli&amp;ka:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="950"/>
<source>&amp;Show a notification when switching desktops</source>
<translation>&amp;Pokaži obavjest kada prebacuješ radne površine</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="951"/>
<source>&amp;Amount of time to show the notification for:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="952"/>
<source>&amp;Number of desktops: </source>
<translation>&amp;Broj radnih površina: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="953"/>
<source>&amp;Desktop names:</source>
<translation>&amp;Imena radnih površina:</translation>
</message>
</context>
<context>
<name>Obconf::MainDialog</name>
<message>
<location filename="../mouse.cpp" line="57"/>
<source>Custom actions</source>
<translation>Prilagođene radnje</translation>
</message>
<message>
<location filename="../desktops.cpp" line="152"/>
<location filename="../desktops.cpp" line="162"/>
<source>(Unnamed desktop)</source>
<translation>(Neimenovana radna površina)</translation>
</message>
<message>
<location filename="../maindialog.cpp" line="76"/>
<source>About ObConf-Qt</source>
<translation>O ObConf-Qt</translation>
</message>
<message>
<location filename="../maindialog.cpp" line="77"/>
<source>A preferences manager for Openbox
Copyright (c) 2003-2013
Authors:
* Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;
* Dana Jansens &lt;danakj@orodu.net&gt;
* Tim Riley &lt;tr@slackzone.org&gt;
* Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</source>
<translation>Upravitelj osobitostima za Openbox
Autorska prava (c) 2003-2013
Autori:
* Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;
* Dana Jansens &lt;danakj@orodu.net&gt;
* Tim Riley &lt;tr@slackzone.org&gt;
* Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</translation>
</message>
<message>
<location filename="../theme.cpp" line="150"/>
<location filename="../theme.cpp" line="160"/>
<source>Choose an Openbox theme</source>
<translation>Odaberite Openbox temu</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../archive.cpp" line="26"/>
<source>&quot;%1&quot; was installed to %1</source>
<translation>&quot;%1&quot; je bio instaliran na %1</translation>
</message>
<message>
<location filename="../archive.cpp" line="53"/>
<source>&quot;%1&quot; was successfully created</source>
<translation>&quot;%1&quot; je uspješno napravljen</translation>
</message>
<message>
<location filename="../archive.cpp" line="89"/>
<source>Unable to create the theme archive &quot;%1&quot;.
The following errors were reported:
%2</source>
<translation>NIje moguće napraviti arhivu teme &quot;%1&quot;.
Slijedeće greške su prijavljene:
%2</translation>
</message>
<message>
<location filename="../archive.cpp" line="95"/>
<location filename="../archive.cpp" line="178"/>
<source>Unable to run the &quot;tar&quot; command: %1</source>
<translation>Nije moguće pokrenuti &quot;tar&quot; naredbu: %1</translation>
</message>
<message>
<location filename="../archive.cpp" line="115"/>
<source>Unable to create directory &quot;%1&quot;: %2</source>
<translation>Nije moguće napraviti direktorij &quot;%1&quot;: %2</translation>
</message>
<message>
<location filename="../archive.cpp" line="138"/>
<source>&quot;%1&quot; does not appear to be a valid Openbox theme directory</source>
<translation>&quot;%1&quot; nije valjani Openbox direktorij teme</translation>
</message>
<message>
<location filename="../archive.cpp" line="148"/>
<source>Unable to move to directory &quot;%1&quot;: %2</source>
<translation>NIje moguće premjestiti direktorij &quot;%1&quot;: %2</translation>
</message>
<message>
<location filename="../archive.cpp" line="185"/>
<source>Unable to extract the file &quot;%1&quot;.
Please ensure that &quot;%2&quot; is writable and that the file is a valid Openbox theme archive.
The following errors were reported:
%3</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="53"/>
<source>ObConf Error</source>
<translation>ObConf greška</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="73"/>
<source>Syntax: obconf [options] [ARCHIVE.obt]
Options:
--help Display this help and exit
--version Display the version and exit
--install ARCHIVE.obt Install the given theme archive and select it
--archive THEME Create a theme archive from the given theme directory
--config-file FILE Specify the path to the config file to use
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="97"/>
<source>--install requires an argument
</source>
<translation>--install zahtjeva argument
</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="103"/>
<source>--archive requires an argument
</source>
<translation>--archive zahtjeva argument
</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="109"/>
<source>--config-file requires an argument
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="221"/>
<location filename="../obconf-qt.cpp" line="237"/>
<source>Error</source>
<translation>Greška</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="222"/>
<source>Failed to load an rc.xml. You have probably failed to install Openbox properly.</source>
<translation>Neuspjelo učitavanje rc.xml. Vjerojatno niste uspjeli valjano instalirati Openbox.</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="235"/>
<source>Error while parsing the Openbox configuration file. Your configuration file is not valid XML.
Message: %1</source>
<translation>Greška prilikom analize Openbox konfiguracijske datoteke. Vaša konfiguracijaka datoteka nije valjani XML.
</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="58"/>
<source>Copyright (c) 2003-2008 Dana Jansens
Copyright (c) 2003 Tim Riley
Copyright (c) 2007 Javeed Shaikh
Copyright (c) 2013 Hong Jen Yee (PCMan)
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
</source>
<translation> </translation>
</message>
</context>
</TS>

@ -0,0 +1,647 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="id">
<context>
<name>Fm::FontButton</name>
<message>
<location filename="../fontbutton.cpp" line="46"/>
<source>Bold</source>
<translation>Tebal</translation>
</message>
<message>
<location filename="../fontbutton.cpp" line="50"/>
<source>Italic</source>
<translation>Miring</translation>
</message>
</context>
<context>
<name>MainDialog</name>
<message>
<location filename="../../build/src/ui_obconf.h" line="844"/>
<source>Mouse</source>
<translation>Tetikus</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="829"/>
<source>Window Manager Preferences</source>
<translation>Preferensi Manajer Jendela</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="834"/>
<source>Theme</source>
<translation>Tema</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="836"/>
<source>Appearance</source>
<translation>Penampilan</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="838"/>
<source>Font</source>
<translation>Fonta</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="840"/>
<location filename="../../build/src/ui_obconf.h" line="855"/>
<source>Windows</source>
<translation>Jendela</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="842"/>
<source>Move &amp; Resize</source>
<translation>Pindah &amp; Ubah Ukuran</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="846"/>
<source>Desktops</source>
<translation>Desktop</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="848"/>
<source>Margins</source>
<translation>Marjin</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="850"/>
<source>Dock</source>
<translation>Dok</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="858"/>
<source>Window Titles</source>
<translation>Judul Jendela</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="859"/>
<source>Button order:</source>
<translation>Urutan tombol:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="900"/>
<source>Moving and Resizing Windows</source>
<translation>Memindah dan Mengubah Ukuran Jendela</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="907"/>
<source>Information Dialog</source>
<translation>Dialog Informasi</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="936"/>
<source>Focusing Windows</source>
<translation>Pemfokusan Jendela</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="937"/>
<source>Focus windows when the mouse pointer moves over them</source>
<translation>Fokuskan jendela ketika penunjuk tetikus bergerak di atas mereka</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="942"/>
<source>Titlebar</source>
<translation>Bilah judul</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="954"/>
<source>Desktop Margins</source>
<translation>Marjin Desktop</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="955"/>
<source>Desktop margins are reserved areas on the edge of your screen. New windows will not be placed within a margin, and maximized windows will not cover them.</source>
<translation>Marjin desktop adalah wilayah yang dicadangkan di tepi layar. Jendela baru tak akan ditempatkan di dalam jarmin, dan jendela yang dimaksimalkan tak akan menutupinya.</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="956"/>
<source>Left:</source>
<translation>Kiri:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="957"/>
<location filename="../../build/src/ui_obconf.h" line="959"/>
<location filename="../../build/src/ui_obconf.h" line="961"/>
<location filename="../../build/src/ui_obconf.h" line="963"/>
<source>px</source>
<translation>px</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="958"/>
<source>Top:</source>
<translation>Puncak:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="960"/>
<source>Right:</source>
<translation>Kanan:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="962"/>
<source>Bottom:</source>
<translation>Dasar:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="885"/>
<source>All monitors</source>
<translation>Semua monitor</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="886"/>
<source>The active monitor</source>
<translation>Monitor yang aktif</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="887"/>
<source>The monitor with the mouse</source>
<translation>Monitor dengan tetikus</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="890"/>
<source>Primary Monitor</source>
<translation>Monitor Primer</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="891"/>
<source>The primary monitor is where Openbox will place dialogs, such as the one used for cycling windows.</source>
<translation>Monitor primer adalah tempat dimana Openbox akan meletakkan dialog, seperti misalnya yang dipakai untuk berpindah jendela.</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="895"/>
<source>Fixed Monitor</source>
<translation>Monitor Tetap</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="896"/>
<source>Active Monitor</source>
<translation>Monitor Aktif</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="897"/>
<source>Monitor With Mouse Pointer</source>
<translation>Monitor Dengan Penunjuk Tetikus</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="910"/>
<location filename="../../build/src/ui_obconf.h" line="917"/>
<source>Centered</source>
<translation>Rata Tengah</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="911"/>
<source>From left edge</source>
<translation>Dari tepi kiri</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="912"/>
<source>From right edge</source>
<translation>Dari tepi kanan</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="918"/>
<source>From top edge</source>
<translation>Dari puncak</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="919"/>
<source>From bottom edge</source>
<translation>Dari dasar</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="926"/>
<source>When resizing terminal windows</source>
<translation>Ketika mengubah ukuran jendela terminal</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="927"/>
<source>Always</source>
<translation>Selalu</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="928"/>
<source>Never</source>
<translation>Tak pernah</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="932"/>
<source>Centered on the window</source>
<translation>Di tengah jendela</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="933"/>
<source>Above the window</source>
<translation>Di atas jendela</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="934"/>
<source>Fixed position on screen</source>
<translation>Posisi tetap pada layar</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="946"/>
<source>Maximizes the window</source>
<translation>Maksimalkan jendela</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="947"/>
<source>Shades the window</source>
<translation>Membuat jendela berbayang</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="860"/>
<source>N: Window icon
L: Window label (Title)
I: Iconify (Minimize)
M: Maximize
C: Close
S: Shade (Roll up)
D: Omnipresent (On all desktops)</source>
<translation>N: Ikon jendela
L: Label jendela (Judul)
I: Ikonkan (Minimalkan)
M: Maksimalkan
C: Tutup
S: Berbayang (Gulung)
D: Selalu ada (Pada semua desktop)</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="888"/>
<source>Primary monitor</source>
<translation>Monitor primer</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="964"/>
<source>About</source>
<translation>Tentang</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="853"/>
<source>&amp;Install a new theme...</source>
<translation>&amp;Pasang tema baru...</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="854"/>
<source>Create a theme &amp;archive (.obt)...</source>
<translation>Buat suatu &amp;arsip tema (.obt)...</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="856"/>
<source>&amp;Windows retain a border when undecorated</source>
<translation>&amp;Jendela mempertahankan perbatasan ketika tak didekorasi</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="857"/>
<source>A&amp;nimate iconify and restore</source>
<translation>A&amp;nimasikan menjadi ikon dan memulihkan</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="873"/>
<source>&amp;Active window title: </source>
<translation>Judul jendela &amp;aktif: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="874"/>
<source>&amp;Inactive window title: </source>
<translation>Judul jendela tak akt&amp;if: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="875"/>
<source>Menu &amp;header: </source>
<translation>&amp;Header menu: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="876"/>
<source>&amp;Menu Item: </source>
<translation>Butir &amp;Menu: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="877"/>
<source>Active &amp;On-screen display: </source>
<translation>Tampilan Pada layar yang aktif: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="878"/>
<source>Inactive O&amp;n-screen display: </source>
<translation>Tampilan Pada layar yang tak aktif: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="879"/>
<source>Focus &amp;new windows when they appear</source>
<translation>Fokus ke je&amp;ndela baru ketika mereka muncul</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="880"/>
<source>&amp;Place new windows under the mouse pointer</source>
<translation>Tem&amp;patkan jendela baru di bawah penunjuk tetikus</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="881"/>
<source>&amp;Center new windows when they are placed</source>
<translation>Rata &amp;tengahkan jendela baru ketika mereka ditempatkan</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="882"/>
<source>Prefer to place new windows &amp;on:</source>
<translation>Lebih suka menempatkan jendela baru p&amp;ada:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="892"/>
<source>Primary &amp;monitor:</source>
<translation>&amp;Monitor primer:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="899"/>
<source>&amp;Fixed monitor:</source>
<translation>Monitor &amp;tetap:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="901"/>
<source>Update the window contents while &amp;resizing</source>
<translation>Mutakhirkan isi jendela ketika mengubah uku&amp;ran</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="902"/>
<source>Drag &amp;threshold distance:</source>
<translation>Jarak ambang sere&amp;t:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="903"/>
<source>Amount of resistance against other &amp;windows:</source>
<translation>Banyaknya resistansi terhadap &amp;jendela lain:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="904"/>
<source>Amount of resistance against screen &amp;edges:</source>
<translation>Banyaknya resistansi terhadap t&amp;epi layar:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="905"/>
<source>&amp;Amount of time to wait before switching:</source>
<translation>L&amp;ama waktu tunggu sebelum bertukar:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="906"/>
<source>&amp;Switch desktops when moving a window past the screen edge</source>
<translation>Berpindah de&amp;sktop ketika memindahkan suatu jendela melampai tepi layar</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="914"/>
<source>Fixed &amp;y position:</source>
<translation>Posisi &amp;y tetap:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="921"/>
<source>Information dialog&apos;s &amp;position:</source>
<translation>&amp;Posisi dialog informasi:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="922"/>
<source>Fixed &amp;x position:</source>
<translation>Posisi &amp;x tetap:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="923"/>
<source>Show &amp;information dialog:</source>
<translation>Tampilkan dialog &amp;informasi:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="938"/>
<source>&amp;Delay before focusing and raising windows:</source>
<translation>Tun&amp;daan sebelum memfokus dan menaikkan jendela: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="939"/>
<source>Move focus under the mouse when &amp;switching desktops</source>
<translation>Pindahkan fokus di bawah tetikus ketika bertukar de&amp;sktop</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="940"/>
<source>Move focus &amp;under the mouse when the mouse is not moving</source>
<translation>Pindahkan fok&amp;us ke bawah tetikus ketika tetikus tak bergerak</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="941"/>
<source>&amp;Raise windows when the mouse pointer moves over them</source>
<translation>Naikkan jendela ketika penunjuk tetikus berge&amp;rak di atasnya</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="943"/>
<source>Double click on the &amp;titlebar:</source>
<translation>Klik ganda pada bilah &amp;judul:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="949"/>
<source>Double click ti&amp;me:</source>
<translation>Waktu klik ga&amp;nda:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="950"/>
<source>&amp;Show a notification when switching desktops</source>
<translation>Tampilkan pemberitahuan ketika bertukar de&amp;sktop</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="951"/>
<source>&amp;Amount of time to show the notification for:</source>
<translation>L&amp;amanya menampilkan pemberitahuan:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="952"/>
<source>&amp;Number of desktops: </source>
<translation>Ba&amp;nyaknya desktop: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="953"/>
<source>&amp;Desktop names:</source>
<translation>Nama &amp;desktop:</translation>
</message>
</context>
<context>
<name>Obconf::MainDialog</name>
<message>
<location filename="../mouse.cpp" line="57"/>
<source>Custom actions</source>
<translation>Aksi gubahan</translation>
</message>
<message>
<location filename="../desktops.cpp" line="152"/>
<location filename="../desktops.cpp" line="162"/>
<source>(Unnamed desktop)</source>
<translation>(Desktop tanpa nama)</translation>
</message>
<message>
<location filename="../maindialog.cpp" line="76"/>
<source>About ObConf-Qt</source>
<translation>Tentang ObConf-Qt</translation>
</message>
<message>
<location filename="../maindialog.cpp" line="77"/>
<source>A preferences manager for Openbox
Copyright (c) 2003-2013
Authors:
* Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;
* Dana Jansens &lt;danakj@orodu.net&gt;
* Tim Riley &lt;tr@slackzone.org&gt;
* Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</source>
<translation>Manajer preferensi untuk Openbox
Hak cipta (c) 2003-2013
Penulis:
* Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;
* Dana Jansens &lt;danakj@orodu.net&gt;
* Tim Riley &lt;tr@slackzone.org&gt;
* Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</translation>
</message>
<message>
<location filename="../theme.cpp" line="150"/>
<location filename="../theme.cpp" line="160"/>
<source>Choose an Openbox theme</source>
<translation>Pilih tema Openbox</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../archive.cpp" line="26"/>
<source>&quot;%1&quot; was installed to %1</source>
<translation>&quot;%1&quot; dipasang ke %1</translation>
</message>
<message>
<location filename="../archive.cpp" line="53"/>
<source>&quot;%1&quot; was successfully created</source>
<translation>&quot;%1&quot; telah berhasil dibuat</translation>
</message>
<message>
<location filename="../archive.cpp" line="89"/>
<source>Unable to create the theme archive &quot;%1&quot;.
The following errors were reported:
%2</source>
<translation>Tak bisa membuat arsip tema &quot;%1&quot;.
Kesalahan berikut dilaporkan:
%2</translation>
</message>
<message>
<location filename="../archive.cpp" line="95"/>
<location filename="../archive.cpp" line="178"/>
<source>Unable to run the &quot;tar&quot; command: %1</source>
<translation>Tak bisa menjalankan perintah &quot;tar&quot;: %1</translation>
</message>
<message>
<location filename="../archive.cpp" line="115"/>
<source>Unable to create directory &quot;%1&quot;: %2</source>
<translation>Tak bisa membuat direktori &quot;%1&quot;: %2</translation>
</message>
<message>
<location filename="../archive.cpp" line="138"/>
<source>&quot;%1&quot; does not appear to be a valid Openbox theme directory</source>
<translation>&quot;%1&quot; nampaknya bukan direktori tema Openbox yang valid</translation>
</message>
<message>
<location filename="../archive.cpp" line="148"/>
<source>Unable to move to directory &quot;%1&quot;: %2</source>
<translation>Tak bisa memindah ke direktori &quot;%1&quot;: %2</translation>
</message>
<message>
<location filename="../archive.cpp" line="185"/>
<source>Unable to extract the file &quot;%1&quot;.
Please ensure that &quot;%2&quot; is writable and that the file is a valid Openbox theme archive.
The following errors were reported:
%3</source>
<translation>Tak bisa mengekstrak berkas &quot;%1&quot;.
Harap pastikan bahwa &quot;%2&quot; dapat ditulisi dan berkas tersebuat adalah arsip tema Openbox yang valid.
Kesalahan berikut dilaporkan:
%3</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="53"/>
<source>ObConf Error</source>
<translation>Kesalahan ObConf</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="73"/>
<source>Syntax: obconf [options] [ARCHIVE.obt]
Options:
--help Display this help and exit
--version Display the version and exit
--install ARCHIVE.obt Install the given theme archive and select it
--archive THEME Create a theme archive from the given theme directory
--config-file FILE Specify the path to the config file to use
</source>
<translation>Sintaks: obconf [opsi] [ARSIP.obt]
Opsi:
--help Menampilkan bantuan ini dan keluar
--version Menampilkan versi dan keluar
--install ARSIP.obt Memasang arsip tema yang diberikan dan memilihnya
--archive TEMA Membuat suatu arsip tema dari direktori tema yang diberikan
--config-file BERKAS Menyatakan path ke berkas konfig yang akan dipakai
</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="97"/>
<source>--install requires an argument
</source>
<translation>--install memerlukan suatu argumen
</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="103"/>
<source>--archive requires an argument
</source>
<translation>--archive memerlukan suatu argumen
</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="109"/>
<source>--config-file requires an argument
</source>
<translation>--config-file memerlukan suatu argumen
</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="221"/>
<location filename="../obconf-qt.cpp" line="237"/>
<source>Error</source>
<translation>Kesalahan</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="222"/>
<source>Failed to load an rc.xml. You have probably failed to install Openbox properly.</source>
<translation>Gagal memuat rc.xml. Mungkin Anda gagal memasang Openbox dengan benar.</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="235"/>
<source>Error while parsing the Openbox configuration file. Your configuration file is not valid XML.
Message: %1</source>
<translation>Kesalahan saat mengurai berkas konfigurasi Openbox. Berkas konfigurasi Anda bukat XML yang valid.
Pesan: %1</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="58"/>
<source>Copyright (c) 2003-2008 Dana Jansens
Copyright (c) 2003 Tim Riley
Copyright (c) 2007 Javeed Shaikh
Copyright (c) 2013 Hong Jen Yee (PCMan)
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
</source>
<translation>Hak cipta (c) 2003-2008 Dana Jansens
Hak cipta (c) 2003 Tim Riley
Hak cipta (c) 2007 Javeed Shaikh
Hak cipta (c) 2013 Hong Jen Yee (PCMan)
Program ini SEPENUHNYA TANPA JAMINAN
Ini adalah perangkat lunak bebas, dan Anda boleh menyebarluaskannya
di bahwa kondisi tertentu. Lihat berkas COPYING untuk rinciannya.
</translation>
</message>
</context>
</TS>

@ -0,0 +1,606 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="is">
<context>
<name>Fm::FontButton</name>
<message>
<location filename="../fontbutton.cpp" line="46"/>
<source>Bold</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../fontbutton.cpp" line="50"/>
<source>Italic</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MainDialog</name>
<message>
<location filename="../../build/src/ui_obconf.h" line="844"/>
<source>Mouse</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="829"/>
<source>Window Manager Preferences</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="834"/>
<source>Theme</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="836"/>
<source>Appearance</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="838"/>
<source>Font</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="840"/>
<location filename="../../build/src/ui_obconf.h" line="855"/>
<source>Windows</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="842"/>
<source>Move &amp; Resize</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="846"/>
<source>Desktops</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="848"/>
<source>Margins</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="850"/>
<source>Dock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="858"/>
<source>Window Titles</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="859"/>
<source>Button order:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="900"/>
<source>Moving and Resizing Windows</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="907"/>
<source>Information Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="936"/>
<source>Focusing Windows</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="937"/>
<source>Focus windows when the mouse pointer moves over them</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="942"/>
<source>Titlebar</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="954"/>
<source>Desktop Margins</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="955"/>
<source>Desktop margins are reserved areas on the edge of your screen. New windows will not be placed within a margin, and maximized windows will not cover them.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="956"/>
<source>Left:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="957"/>
<location filename="../../build/src/ui_obconf.h" line="959"/>
<location filename="../../build/src/ui_obconf.h" line="961"/>
<location filename="../../build/src/ui_obconf.h" line="963"/>
<source>px</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="958"/>
<source>Top:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="960"/>
<source>Right:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="962"/>
<source>Bottom:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="885"/>
<source>All monitors</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="886"/>
<source>The active monitor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="887"/>
<source>The monitor with the mouse</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="890"/>
<source>Primary Monitor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="891"/>
<source>The primary monitor is where Openbox will place dialogs, such as the one used for cycling windows.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="895"/>
<source>Fixed Monitor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="896"/>
<source>Active Monitor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="897"/>
<source>Monitor With Mouse Pointer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="910"/>
<location filename="../../build/src/ui_obconf.h" line="917"/>
<source>Centered</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="911"/>
<source>From left edge</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="912"/>
<source>From right edge</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="918"/>
<source>From top edge</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="919"/>
<source>From bottom edge</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="926"/>
<source>When resizing terminal windows</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="927"/>
<source>Always</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="928"/>
<source>Never</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="932"/>
<source>Centered on the window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="933"/>
<source>Above the window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="934"/>
<source>Fixed position on screen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="946"/>
<source>Maximizes the window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="947"/>
<source>Shades the window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="860"/>
<source>N: Window icon
L: Window label (Title)
I: Iconify (Minimize)
M: Maximize
C: Close
S: Shade (Roll up)
D: Omnipresent (On all desktops)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="888"/>
<source>Primary monitor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="964"/>
<source>About</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="853"/>
<source>&amp;Install a new theme...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="854"/>
<source>Create a theme &amp;archive (.obt)...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="856"/>
<source>&amp;Windows retain a border when undecorated</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="857"/>
<source>A&amp;nimate iconify and restore</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="873"/>
<source>&amp;Active window title: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="874"/>
<source>&amp;Inactive window title: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="875"/>
<source>Menu &amp;header: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="876"/>
<source>&amp;Menu Item: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="877"/>
<source>Active &amp;On-screen display: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="878"/>
<source>Inactive O&amp;n-screen display: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="879"/>
<source>Focus &amp;new windows when they appear</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="880"/>
<source>&amp;Place new windows under the mouse pointer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="881"/>
<source>&amp;Center new windows when they are placed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="882"/>
<source>Prefer to place new windows &amp;on:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="892"/>
<source>Primary &amp;monitor:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="899"/>
<source>&amp;Fixed monitor:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="901"/>
<source>Update the window contents while &amp;resizing</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="902"/>
<source>Drag &amp;threshold distance:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="903"/>
<source>Amount of resistance against other &amp;windows:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="904"/>
<source>Amount of resistance against screen &amp;edges:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="905"/>
<source>&amp;Amount of time to wait before switching:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="906"/>
<source>&amp;Switch desktops when moving a window past the screen edge</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="914"/>
<source>Fixed &amp;y position:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="921"/>
<source>Information dialog&apos;s &amp;position:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="922"/>
<source>Fixed &amp;x position:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="923"/>
<source>Show &amp;information dialog:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="938"/>
<source>&amp;Delay before focusing and raising windows:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="939"/>
<source>Move focus under the mouse when &amp;switching desktops</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="940"/>
<source>Move focus &amp;under the mouse when the mouse is not moving</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="941"/>
<source>&amp;Raise windows when the mouse pointer moves over them</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="943"/>
<source>Double click on the &amp;titlebar:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="949"/>
<source>Double click ti&amp;me:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="950"/>
<source>&amp;Show a notification when switching desktops</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="951"/>
<source>&amp;Amount of time to show the notification for:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="952"/>
<source>&amp;Number of desktops: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="953"/>
<source>&amp;Desktop names:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Obconf::MainDialog</name>
<message>
<location filename="../mouse.cpp" line="57"/>
<source>Custom actions</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../desktops.cpp" line="152"/>
<location filename="../desktops.cpp" line="162"/>
<source>(Unnamed desktop)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../maindialog.cpp" line="76"/>
<source>About ObConf-Qt</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../maindialog.cpp" line="77"/>
<source>A preferences manager for Openbox
Copyright (c) 2003-2013
Authors:
* Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;
* Dana Jansens &lt;danakj@orodu.net&gt;
* Tim Riley &lt;tr@slackzone.org&gt;
* Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../theme.cpp" line="150"/>
<location filename="../theme.cpp" line="160"/>
<source>Choose an Openbox theme</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../archive.cpp" line="26"/>
<source>&quot;%1&quot; was installed to %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="53"/>
<source>&quot;%1&quot; was successfully created</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="89"/>
<source>Unable to create the theme archive &quot;%1&quot;.
The following errors were reported:
%2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="95"/>
<location filename="../archive.cpp" line="178"/>
<source>Unable to run the &quot;tar&quot; command: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="115"/>
<source>Unable to create directory &quot;%1&quot;: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="138"/>
<source>&quot;%1&quot; does not appear to be a valid Openbox theme directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="148"/>
<source>Unable to move to directory &quot;%1&quot;: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="185"/>
<source>Unable to extract the file &quot;%1&quot;.
Please ensure that &quot;%2&quot; is writable and that the file is a valid Openbox theme archive.
The following errors were reported:
%3</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="53"/>
<source>ObConf Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="73"/>
<source>Syntax: obconf [options] [ARCHIVE.obt]
Options:
--help Display this help and exit
--version Display the version and exit
--install ARCHIVE.obt Install the given theme archive and select it
--archive THEME Create a theme archive from the given theme directory
--config-file FILE Specify the path to the config file to use
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="97"/>
<source>--install requires an argument
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="103"/>
<source>--archive requires an argument
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="109"/>
<source>--config-file requires an argument
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="221"/>
<location filename="../obconf-qt.cpp" line="237"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="222"/>
<source>Failed to load an rc.xml. You have probably failed to install Openbox properly.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="235"/>
<source>Error while parsing the Openbox configuration file. Your configuration file is not valid XML.
Message: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="58"/>
<source>Copyright (c) 2003-2008 Dana Jansens
Copyright (c) 2003 Tim Riley
Copyright (c) 2007 Javeed Shaikh
Copyright (c) 2013 Hong Jen Yee (PCMan)
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

@ -0,0 +1,647 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="ja">
<context>
<name>Fm::FontButton</name>
<message>
<location filename="../fontbutton.cpp" line="46"/>
<source>Bold</source>
<translation></translation>
</message>
<message>
<location filename="../fontbutton.cpp" line="50"/>
<source>Italic</source>
<translation></translation>
</message>
</context>
<context>
<name>MainDialog</name>
<message>
<location filename="../../build/src/ui_obconf.h" line="844"/>
<source>Mouse</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="829"/>
<source>Window Manager Preferences</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="834"/>
<source>Theme</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="836"/>
<source>Appearance</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="838"/>
<source>Font</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="840"/>
<location filename="../../build/src/ui_obconf.h" line="855"/>
<source>Windows</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="842"/>
<source>Move &amp; Resize</source>
<translation> &amp; </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="846"/>
<source>Desktops</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="848"/>
<source>Margins</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="850"/>
<source>Dock</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="858"/>
<source>Window Titles</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="859"/>
<source>Button order:</source>
<translation>:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="900"/>
<source>Moving and Resizing Windows</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="907"/>
<source>Information Dialog</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="936"/>
<source>Focusing Windows</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="937"/>
<source>Focus windows when the mouse pointer moves over them</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="942"/>
<source>Titlebar</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="954"/>
<source>Desktop Margins</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="955"/>
<source>Desktop margins are reserved areas on the edge of your screen. New windows will not be placed within a margin, and maximized windows will not cover them.</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="956"/>
<source>Left:</source>
<translation>:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="957"/>
<location filename="../../build/src/ui_obconf.h" line="959"/>
<location filename="../../build/src/ui_obconf.h" line="961"/>
<location filename="../../build/src/ui_obconf.h" line="963"/>
<source>px</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="958"/>
<source>Top:</source>
<translation>:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="960"/>
<source>Right:</source>
<translation>:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="962"/>
<source>Bottom:</source>
<translation>:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="885"/>
<source>All monitors</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="886"/>
<source>The active monitor</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="887"/>
<source>The monitor with the mouse</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="890"/>
<source>Primary Monitor</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="891"/>
<source>The primary monitor is where Openbox will place dialogs, such as the one used for cycling windows.</source>
<translation> Openbox </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="895"/>
<source>Fixed Monitor</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="896"/>
<source>Active Monitor</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="897"/>
<source>Monitor With Mouse Pointer</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="910"/>
<location filename="../../build/src/ui_obconf.h" line="917"/>
<source>Centered</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="911"/>
<source>From left edge</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="912"/>
<source>From right edge</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="918"/>
<source>From top edge</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="919"/>
<source>From bottom edge</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="926"/>
<source>When resizing terminal windows</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="927"/>
<source>Always</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="928"/>
<source>Never</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="932"/>
<source>Centered on the window</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="933"/>
<source>Above the window</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="934"/>
<source>Fixed position on screen</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="946"/>
<source>Maximizes the window</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="947"/>
<source>Shades the window</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="860"/>
<source>N: Window icon
L: Window label (Title)
I: Iconify (Minimize)
M: Maximize
C: Close
S: Shade (Roll up)
D: Omnipresent (On all desktops)</source>
<translation>N:
L: ()
I: ()
M:
C:
S: ()
D: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="888"/>
<source>Primary monitor</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="964"/>
<source>About</source>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="853"/>
<source>&amp;Install a new theme...</source>
<translation>(&amp;I)...</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="854"/>
<source>Create a theme &amp;archive (.obt)...</source>
<translation> (.obt)(&amp;A)...</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="856"/>
<source>&amp;Windows retain a border when undecorated</source>
<translation>(&amp;W)</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="857"/>
<source>A&amp;nimate iconify and restore</source>
<translation>(&amp;N)</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="873"/>
<source>&amp;Active window title: </source>
<translation>(&amp;A): </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="874"/>
<source>&amp;Inactive window title: </source>
<translation>(&amp;I): </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="875"/>
<source>Menu &amp;header: </source>
<translation>(&amp;H): </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="876"/>
<source>&amp;Menu Item: </source>
<translation>(&amp;M): </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="877"/>
<source>Active &amp;On-screen display: </source>
<translation>(&amp;O): </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="878"/>
<source>Inactive O&amp;n-screen display: </source>
<translation>(&amp;N): </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="879"/>
<source>Focus &amp;new windows when they appear</source>
<translation>(&amp;N)</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="880"/>
<source>&amp;Place new windows under the mouse pointer</source>
<translation>(&amp;P)</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="881"/>
<source>&amp;Center new windows when they are placed</source>
<translation>(&amp;C)</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="882"/>
<source>Prefer to place new windows &amp;on:</source>
<translation>(&amp;O):</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="892"/>
<source>Primary &amp;monitor:</source>
<translation>(&amp;M):</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="899"/>
<source>&amp;Fixed monitor:</source>
<translation>(&amp;F):</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="901"/>
<source>Update the window contents while &amp;resizing</source>
<translation>(&amp;R)</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="902"/>
<source>Drag &amp;threshold distance:</source>
<translation>(&amp;T):</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="903"/>
<source>Amount of resistance against other &amp;windows:</source>
<translation>(&amp;W):</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="904"/>
<source>Amount of resistance against screen &amp;edges:</source>
<translation>(&amp;E):</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="905"/>
<source>&amp;Amount of time to wait before switching:</source>
<translation>(&amp;A):</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="906"/>
<source>&amp;Switch desktops when moving a window past the screen edge</source>
<translation>(&amp;S)</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="914"/>
<source>Fixed &amp;y position:</source>
<translation>Y(&amp;Y):</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="921"/>
<source>Information dialog&apos;s &amp;position:</source>
<translation>(&amp;P):</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="922"/>
<source>Fixed &amp;x position:</source>
<translation>X(&amp;X):</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="923"/>
<source>Show &amp;information dialog:</source>
<translation>(&amp;I):</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="938"/>
<source>&amp;Delay before focusing and raising windows:</source>
<translation>(&amp;D):</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="939"/>
<source>Move focus under the mouse when &amp;switching desktops</source>
<translation>(&amp;S)</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="940"/>
<source>Move focus &amp;under the mouse when the mouse is not moving</source>
<translation>(&amp;U)</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="941"/>
<source>&amp;Raise windows when the mouse pointer moves over them</source>
<translation>(&amp;R)</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="943"/>
<source>Double click on the &amp;titlebar:</source>
<translation>(&amp;T):</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="949"/>
<source>Double click ti&amp;me:</source>
<translation>(&amp;M):</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="950"/>
<source>&amp;Show a notification when switching desktops</source>
<translation>(&amp;S)</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="951"/>
<source>&amp;Amount of time to show the notification for:</source>
<translation>(&amp;A):</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="952"/>
<source>&amp;Number of desktops: </source>
<translation>(&amp;N): </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="953"/>
<source>&amp;Desktop names:</source>
<translation>(&amp;D):</translation>
</message>
</context>
<context>
<name>Obconf::MainDialog</name>
<message>
<location filename="../mouse.cpp" line="57"/>
<source>Custom actions</source>
<translation></translation>
</message>
<message>
<location filename="../desktops.cpp" line="152"/>
<location filename="../desktops.cpp" line="162"/>
<source>(Unnamed desktop)</source>
<translation>()</translation>
</message>
<message>
<location filename="../maindialog.cpp" line="76"/>
<source>About ObConf-Qt</source>
<translation>OBConf-Qt </translation>
</message>
<message>
<location filename="../maindialog.cpp" line="77"/>
<source>A preferences manager for Openbox
Copyright (c) 2003-2013
Authors:
* Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;
* Dana Jansens &lt;danakj@orodu.net&gt;
* Tim Riley &lt;tr@slackzone.org&gt;
* Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</source>
<translation>Openbox
Copyright (c) 2003-2013
:
* Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;
* Dana Jansens &lt;danakj@orodu.net&gt;
* Tim Riley &lt;tr@slackzone.org&gt;
* Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</translation>
</message>
<message>
<location filename="../theme.cpp" line="150"/>
<location filename="../theme.cpp" line="160"/>
<source>Choose an Openbox theme</source>
<translation>Openbox </translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../archive.cpp" line="26"/>
<source>&quot;%1&quot; was installed to %1</source>
<translation>&quot;%1&quot; %1 </translation>
</message>
<message>
<location filename="../archive.cpp" line="53"/>
<source>&quot;%1&quot; was successfully created</source>
<translation>&quot;%1&quot; </translation>
</message>
<message>
<location filename="../archive.cpp" line="89"/>
<source>Unable to create the theme archive &quot;%1&quot;.
The following errors were reported:
%2</source>
<translation> &quot;%1&quot;
:
%2</translation>
</message>
<message>
<location filename="../archive.cpp" line="95"/>
<location filename="../archive.cpp" line="178"/>
<source>Unable to run the &quot;tar&quot; command: %1</source>
<translation>&quot;tar&quot; : %1</translation>
</message>
<message>
<location filename="../archive.cpp" line="115"/>
<source>Unable to create directory &quot;%1&quot;: %2</source>
<translation> &quot;%1&quot; : %2</translation>
</message>
<message>
<location filename="../archive.cpp" line="138"/>
<source>&quot;%1&quot; does not appear to be a valid Openbox theme directory</source>
<translation>&quot;%1&quot; Openbox </translation>
</message>
<message>
<location filename="../archive.cpp" line="148"/>
<source>Unable to move to directory &quot;%1&quot;: %2</source>
<translation> &quot;%1&quot; : %2</translation>
</message>
<message>
<location filename="../archive.cpp" line="185"/>
<source>Unable to extract the file &quot;%1&quot;.
Please ensure that &quot;%2&quot; is writable and that the file is a valid Openbox theme archive.
The following errors were reported:
%3</source>
<translation> &quot;%1
&quot;%2&quot; Openbox
:
%3</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="53"/>
<source>ObConf Error</source>
<translation>ObConf </translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="73"/>
<source>Syntax: obconf [options] [ARCHIVE.obt]
Options:
--help Display this help and exit
--version Display the version and exit
--install ARCHIVE.obt Install the given theme archive and select it
--archive THEME Create a theme archive from the given theme directory
--config-file FILE Specify the path to the config file to use
</source>
<translation>: obconf [] [ARCHIVE.obt]
:
--help
--version
--install ARCHIVE.obt
--archive THEME
--config-file FILE 使
</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="97"/>
<source>--install requires an argument
</source>
<translation>--install
</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="103"/>
<source>--archive requires an argument
</source>
<translation>--archive
</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="109"/>
<source>--config-file requires an argument
</source>
<translation>--config-file
</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="221"/>
<location filename="../obconf-qt.cpp" line="237"/>
<source>Error</source>
<translation></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="222"/>
<source>Failed to load an rc.xml. You have probably failed to install Openbox properly.</source>
<translation>rc.xml Openbox </translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="235"/>
<source>Error while parsing the Openbox configuration file. Your configuration file is not valid XML.
Message: %1</source>
<translation>Openbox XML
: %1</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="58"/>
<source>Copyright (c) 2003-2008 Dana Jansens
Copyright (c) 2003 Tim Riley
Copyright (c) 2007 Javeed Shaikh
Copyright (c) 2013 Hong Jen Yee (PCMan)
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
</source>
<translation>Copyright (c) 2003-2008 Dana Jansens
Copyright (c) 2003 Tim Riley
Copyright (c) 2007 Javeed Shaikh
Copyright (c) 2013 Hong Jen Yee (PCMan)
COPYING
</translation>
</message>
</context>
</TS>

@ -0,0 +1,606 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="pa">
<context>
<name>Fm::FontButton</name>
<message>
<location filename="../fontbutton.cpp" line="46"/>
<source>Bold</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../fontbutton.cpp" line="50"/>
<source>Italic</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MainDialog</name>
<message>
<location filename="../../build/src/ui_obconf.h" line="844"/>
<source>Mouse</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="829"/>
<source>Window Manager Preferences</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="834"/>
<source>Theme</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="836"/>
<source>Appearance</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="838"/>
<source>Font</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="840"/>
<location filename="../../build/src/ui_obconf.h" line="855"/>
<source>Windows</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="842"/>
<source>Move &amp; Resize</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="846"/>
<source>Desktops</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="848"/>
<source>Margins</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="850"/>
<source>Dock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="858"/>
<source>Window Titles</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="859"/>
<source>Button order:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="900"/>
<source>Moving and Resizing Windows</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="907"/>
<source>Information Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="936"/>
<source>Focusing Windows</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="937"/>
<source>Focus windows when the mouse pointer moves over them</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="942"/>
<source>Titlebar</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="954"/>
<source>Desktop Margins</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="955"/>
<source>Desktop margins are reserved areas on the edge of your screen. New windows will not be placed within a margin, and maximized windows will not cover them.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="956"/>
<source>Left:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="957"/>
<location filename="../../build/src/ui_obconf.h" line="959"/>
<location filename="../../build/src/ui_obconf.h" line="961"/>
<location filename="../../build/src/ui_obconf.h" line="963"/>
<source>px</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="958"/>
<source>Top:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="960"/>
<source>Right:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="962"/>
<source>Bottom:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="885"/>
<source>All monitors</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="886"/>
<source>The active monitor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="887"/>
<source>The monitor with the mouse</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="890"/>
<source>Primary Monitor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="891"/>
<source>The primary monitor is where Openbox will place dialogs, such as the one used for cycling windows.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="895"/>
<source>Fixed Monitor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="896"/>
<source>Active Monitor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="897"/>
<source>Monitor With Mouse Pointer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="910"/>
<location filename="../../build/src/ui_obconf.h" line="917"/>
<source>Centered</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="911"/>
<source>From left edge</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="912"/>
<source>From right edge</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="918"/>
<source>From top edge</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="919"/>
<source>From bottom edge</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="926"/>
<source>When resizing terminal windows</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="927"/>
<source>Always</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="928"/>
<source>Never</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="932"/>
<source>Centered on the window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="933"/>
<source>Above the window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="934"/>
<source>Fixed position on screen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="946"/>
<source>Maximizes the window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="947"/>
<source>Shades the window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="860"/>
<source>N: Window icon
L: Window label (Title)
I: Iconify (Minimize)
M: Maximize
C: Close
S: Shade (Roll up)
D: Omnipresent (On all desktops)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="888"/>
<source>Primary monitor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="964"/>
<source>About</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="853"/>
<source>&amp;Install a new theme...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="854"/>
<source>Create a theme &amp;archive (.obt)...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="856"/>
<source>&amp;Windows retain a border when undecorated</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="857"/>
<source>A&amp;nimate iconify and restore</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="873"/>
<source>&amp;Active window title: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="874"/>
<source>&amp;Inactive window title: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="875"/>
<source>Menu &amp;header: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="876"/>
<source>&amp;Menu Item: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="877"/>
<source>Active &amp;On-screen display: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="878"/>
<source>Inactive O&amp;n-screen display: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="879"/>
<source>Focus &amp;new windows when they appear</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="880"/>
<source>&amp;Place new windows under the mouse pointer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="881"/>
<source>&amp;Center new windows when they are placed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="882"/>
<source>Prefer to place new windows &amp;on:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="892"/>
<source>Primary &amp;monitor:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="899"/>
<source>&amp;Fixed monitor:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="901"/>
<source>Update the window contents while &amp;resizing</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="902"/>
<source>Drag &amp;threshold distance:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="903"/>
<source>Amount of resistance against other &amp;windows:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="904"/>
<source>Amount of resistance against screen &amp;edges:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="905"/>
<source>&amp;Amount of time to wait before switching:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="906"/>
<source>&amp;Switch desktops when moving a window past the screen edge</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="914"/>
<source>Fixed &amp;y position:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="921"/>
<source>Information dialog&apos;s &amp;position:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="922"/>
<source>Fixed &amp;x position:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="923"/>
<source>Show &amp;information dialog:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="938"/>
<source>&amp;Delay before focusing and raising windows:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="939"/>
<source>Move focus under the mouse when &amp;switching desktops</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="940"/>
<source>Move focus &amp;under the mouse when the mouse is not moving</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="941"/>
<source>&amp;Raise windows when the mouse pointer moves over them</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="943"/>
<source>Double click on the &amp;titlebar:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="949"/>
<source>Double click ti&amp;me:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="950"/>
<source>&amp;Show a notification when switching desktops</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="951"/>
<source>&amp;Amount of time to show the notification for:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="952"/>
<source>&amp;Number of desktops: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="953"/>
<source>&amp;Desktop names:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Obconf::MainDialog</name>
<message>
<location filename="../mouse.cpp" line="57"/>
<source>Custom actions</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../desktops.cpp" line="152"/>
<location filename="../desktops.cpp" line="162"/>
<source>(Unnamed desktop)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../maindialog.cpp" line="76"/>
<source>About ObConf-Qt</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../maindialog.cpp" line="77"/>
<source>A preferences manager for Openbox
Copyright (c) 2003-2013
Authors:
* Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;
* Dana Jansens &lt;danakj@orodu.net&gt;
* Tim Riley &lt;tr@slackzone.org&gt;
* Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../theme.cpp" line="150"/>
<location filename="../theme.cpp" line="160"/>
<source>Choose an Openbox theme</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../archive.cpp" line="26"/>
<source>&quot;%1&quot; was installed to %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="53"/>
<source>&quot;%1&quot; was successfully created</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="89"/>
<source>Unable to create the theme archive &quot;%1&quot;.
The following errors were reported:
%2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="95"/>
<location filename="../archive.cpp" line="178"/>
<source>Unable to run the &quot;tar&quot; command: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="115"/>
<source>Unable to create directory &quot;%1&quot;: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="138"/>
<source>&quot;%1&quot; does not appear to be a valid Openbox theme directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="148"/>
<source>Unable to move to directory &quot;%1&quot;: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="185"/>
<source>Unable to extract the file &quot;%1&quot;.
Please ensure that &quot;%2&quot; is writable and that the file is a valid Openbox theme archive.
The following errors were reported:
%3</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="53"/>
<source>ObConf Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="73"/>
<source>Syntax: obconf [options] [ARCHIVE.obt]
Options:
--help Display this help and exit
--version Display the version and exit
--install ARCHIVE.obt Install the given theme archive and select it
--archive THEME Create a theme archive from the given theme directory
--config-file FILE Specify the path to the config file to use
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="97"/>
<source>--install requires an argument
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="103"/>
<source>--archive requires an argument
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="109"/>
<source>--config-file requires an argument
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="221"/>
<location filename="../obconf-qt.cpp" line="237"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="222"/>
<source>Failed to load an rc.xml. You have probably failed to install Openbox properly.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="235"/>
<source>Error while parsing the Openbox configuration file. Your configuration file is not valid XML.
Message: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="58"/>
<source>Copyright (c) 2003-2008 Dana Jansens
Copyright (c) 2003 Tim Riley
Copyright (c) 2007 Javeed Shaikh
Copyright (c) 2013 Hong Jen Yee (PCMan)
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

@ -0,0 +1,645 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="pl">
<context>
<name>Fm::FontButton</name>
<message>
<location filename="../fontbutton.cpp" line="46"/>
<source>Bold</source>
<translation>Pogrubienie</translation>
</message>
<message>
<location filename="../fontbutton.cpp" line="50"/>
<source>Italic</source>
<translation>Kursywa</translation>
</message>
</context>
<context>
<name>MainDialog</name>
<message>
<location filename="../../build/src/ui_obconf.h" line="844"/>
<source>Mouse</source>
<translation>Mysz</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="829"/>
<source>Window Manager Preferences</source>
<translation>Preferencje menedżera okien</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="834"/>
<source>Theme</source>
<translation>Motyw</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="836"/>
<source>Appearance</source>
<translation>Wygląd</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="838"/>
<source>Font</source>
<translation>Czcionka</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="840"/>
<location filename="../../build/src/ui_obconf.h" line="855"/>
<source>Windows</source>
<translation>Okna</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="842"/>
<source>Move &amp; Resize</source>
<translation>Przenieś i zmień rozmiar</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="846"/>
<source>Desktops</source>
<translation>Pulpity</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="848"/>
<source>Margins</source>
<translation>Obrzeża</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="850"/>
<source>Dock</source>
<translation>Dok</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="858"/>
<source>Window Titles</source>
<translation>Tytuły okien</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="859"/>
<source>Button order:</source>
<translation>Kolejność przycisków:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="900"/>
<source>Moving and Resizing Windows</source>
<translation>Przenoszenie i zmiana rozmiaru okien</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="907"/>
<source>Information Dialog</source>
<translation>Okno dialogowe</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="936"/>
<source>Focusing Windows</source>
<translation>Aktywacja okien</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="937"/>
<source>Focus windows when the mouse pointer moves over them</source>
<translation>Aktywuj okna, gdy wskaźnik myszy znajduje się nad nimi</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="942"/>
<source>Titlebar</source>
<translation>Pasek tytułu</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="954"/>
<source>Desktop Margins</source>
<translation>Obrzeża pulpitu</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="955"/>
<source>Desktop margins are reserved areas on the edge of your screen. New windows will not be placed within a margin, and maximized windows will not cover them.</source>
<translation>Obrzeża pulpitu to zarezerwowany obszar na krawędziach Twojego ekranu. Nowe okna nie będą umieszczane na obrzeżach, a maksymalizowane okna nie będą ich pokrywać.</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="956"/>
<source>Left:</source>
<translation>Lewy:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="957"/>
<location filename="../../build/src/ui_obconf.h" line="959"/>
<location filename="../../build/src/ui_obconf.h" line="961"/>
<location filename="../../build/src/ui_obconf.h" line="963"/>
<source>px</source>
<translation>piks.</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="958"/>
<source>Top:</source>
<translation>Górny:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="960"/>
<source>Right:</source>
<translation>Prawy:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="962"/>
<source>Bottom:</source>
<translation>Dolny:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="885"/>
<source>All monitors</source>
<translation>Wszystkie monitory</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="886"/>
<source>The active monitor</source>
<translation>Aktywny monitor</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="887"/>
<source>The monitor with the mouse</source>
<translation>Monitor z myszą</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="890"/>
<source>Primary Monitor</source>
<translation>Monitor główny</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="891"/>
<source>The primary monitor is where Openbox will place dialogs, such as the one used for cycling windows.</source>
<translation>Główny monitor to ten, gdzie Openbox będzie umieszczać okna dialogowe, jak również ten służący do wymiany okien.</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="895"/>
<source>Fixed Monitor</source>
<translation>Stały monitor</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="896"/>
<source>Active Monitor</source>
<translation>Aktywny monitor</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="897"/>
<source>Monitor With Mouse Pointer</source>
<translation>Monitor ze wskaźnikiem myszy</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="910"/>
<location filename="../../build/src/ui_obconf.h" line="917"/>
<source>Centered</source>
<translation>Wyśrodkowane</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="911"/>
<source>From left edge</source>
<translation>Od lewej krawędzi</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="912"/>
<source>From right edge</source>
<translation>Od prawej krawędzi</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="918"/>
<source>From top edge</source>
<translation>Od górnej krawędzi</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="919"/>
<source>From bottom edge</source>
<translation>Od dolnej krawędzi</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="926"/>
<source>When resizing terminal windows</source>
<translation>Podczas zmiany rozmiaru okna terminala</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="927"/>
<source>Always</source>
<translation>Zawsze</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="928"/>
<source>Never</source>
<translation>Nigdy</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="932"/>
<source>Centered on the window</source>
<translation>Centralnie na oknie</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="933"/>
<source>Above the window</source>
<translation>Nad oknem</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="934"/>
<source>Fixed position on screen</source>
<translation>Określone położenie na ekranie</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="946"/>
<source>Maximizes the window</source>
<translation>Maksymalizuje okno</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="947"/>
<source>Shades the window</source>
<translation>Przyciemnia okno</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="860"/>
<source>N: Window icon
L: Window label (Title)
I: Iconify (Minimize)
M: Maximize
C: Close
S: Shade (Roll up)
D: Omnipresent (On all desktops)</source>
<translation>N: Ikona okna
L: Etykieta okna (Tytuł)
I: Zwiń do ikony (Minimalizuj)
M: Maksymalizuj
C: Zamknij
S: Zwiń (Zroluj)
D: Wszechobecne (Na wszystkich pulpitach)</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="888"/>
<source>Primary monitor</source>
<translation>Monitor główny</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="964"/>
<source>About</source>
<translation>O programie</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="853"/>
<source>&amp;Install a new theme...</source>
<translation>&amp;Zainstaluj nowy motyw...</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="854"/>
<source>Create a theme &amp;archive (.obt)...</source>
<translation>&amp;Utwórz archiwum motywu (.obt)...</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="856"/>
<source>&amp;Windows retain a border when undecorated</source>
<translation>Okna zacho&amp;wują obramowanie, gdy nie mają dekoracji</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="857"/>
<source>A&amp;nimate iconify and restore</source>
<translation>A&amp;nimowane zwinięcie do ikony i odtworzenie</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="873"/>
<source>&amp;Active window title: </source>
<translation>Tytuł &amp;aktywnego okna: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="874"/>
<source>&amp;Inactive window title: </source>
<translation>Tytuł n&amp;ieaktywnego okna: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="875"/>
<source>Menu &amp;header: </source>
<translation>&amp;Nagłówek menu: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="876"/>
<source>&amp;Menu Item: </source>
<translation>&amp;Element menu: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="877"/>
<source>Active &amp;On-screen display: </source>
<translation>Aktywne &amp;okienko informacyjne na ekranie: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="878"/>
<source>Inactive O&amp;n-screen display: </source>
<translation>Nieaktywne okie&amp;nko informacyjne na ekranie: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="879"/>
<source>Focus &amp;new windows when they appear</source>
<translation>Aktywuj &amp;nowe okna, gdy się pojawią</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="880"/>
<source>&amp;Place new windows under the mouse pointer</source>
<translation>_Umieszczaj nowe okna pod wskaźnikiem myszy</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="881"/>
<source>&amp;Center new windows when they are placed</source>
<translation>Wyśrodkuj nowe okna, gdy są one umiesz&amp;czane</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="882"/>
<source>Prefer to place new windows &amp;on:</source>
<translation>Preferencja d&amp;o umieszczania nowych okien na:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="892"/>
<source>Primary &amp;monitor:</source>
<translation>&amp;Monitor główny:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="899"/>
<source>&amp;Fixed monitor:</source>
<translation>&amp;Stały monitor:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="901"/>
<source>Update the window contents while &amp;resizing</source>
<translation>Aktualizacja zawa&amp;rtości okna przy zmianie jego wielkości</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="902"/>
<source>Drag &amp;threshold distance:</source>
<translation>Opór odle&amp;głości progowej:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="903"/>
<source>Amount of resistance against other &amp;windows:</source>
<translation>&amp;Wielkość oporu przeciwko innym oknom:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="904"/>
<source>Amount of resistance against screen &amp;edges:</source>
<translation>Wielkość oporu przeciwko krawędziom &amp;ekranu:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="905"/>
<source>&amp;Amount of time to wait before switching:</source>
<translation>Ilość cz&amp;asu do oczekiwania przed przełączeniem:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="906"/>
<source>&amp;Switch desktops when moving a window past the screen edge</source>
<translation>Przełącz pulpity podcza&amp;s przenoszenia okna poza krawędź ekranu</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="914"/>
<source>Fixed &amp;y position:</source>
<translation>Stała pozycja &amp;y:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="921"/>
<source>Information dialog&apos;s &amp;position:</source>
<translation>&amp;Pozycja okna dialogowego informacji:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="922"/>
<source>Fixed &amp;x position:</source>
<translation>Stała pozycja &amp;x:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="923"/>
<source>Show &amp;information dialog:</source>
<translation>Pokaż okno &amp;informacyjne:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="938"/>
<source>&amp;Delay before focusing and raising windows:</source>
<translation>&amp;Opóźnienie przed aktywacją i wznoszeniem okien:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="939"/>
<source>Move focus under the mouse when &amp;switching desktops</source>
<translation>Przenieś zaznaczenie pod wskaźnik my&amp;szy podczas przełączania pulpitów</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="940"/>
<source>Move focus &amp;under the mouse when the mouse is not moving</source>
<translation>Przenieś zaznaczenie pod wskaźnik myszy, gdy mysz jest nier&amp;uchoma</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="941"/>
<source>&amp;Raise windows when the mouse pointer moves over them</source>
<translation>&amp;Aktywuj okna, gdy wskaźnik myszy znajduje się nad nimi</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="943"/>
<source>Double click on the &amp;titlebar:</source>
<translation>Podwójne kliknięcie na pasku &amp;tytułu:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="949"/>
<source>Double click ti&amp;me:</source>
<translation>Czas &amp;dwukrotnego kliknięcia:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="950"/>
<source>&amp;Show a notification when switching desktops</source>
<translation>Pokaż powiadomienie podcza&amp;s przełączania pulpitów</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="951"/>
<source>&amp;Amount of time to show the notification for:</source>
<translation>Ilość cz&amp;asu do wyświetlania powiadomienia dla:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="952"/>
<source>&amp;Number of desktops: </source>
<translation>&amp;Liczba pulpitów: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="953"/>
<source>&amp;Desktop names:</source>
<translation>Nazwy &amp;pulpitów:</translation>
</message>
</context>
<context>
<name>Obconf::MainDialog</name>
<message>
<location filename="../mouse.cpp" line="57"/>
<source>Custom actions</source>
<translation>Działania własne</translation>
</message>
<message>
<location filename="../desktops.cpp" line="152"/>
<location filename="../desktops.cpp" line="162"/>
<source>(Unnamed desktop)</source>
<translation>(Nienazwany pulpit)</translation>
</message>
<message>
<location filename="../maindialog.cpp" line="76"/>
<source>About ObConf-Qt</source>
<translation>O programie ObConf-Qt</translation>
</message>
<message>
<location filename="../maindialog.cpp" line="77"/>
<source>A preferences manager for Openbox
Copyright (c) 2003-2013
Authors:
* Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;
* Dana Jansens &lt;danakj@orodu.net&gt;
* Tim Riley &lt;tr@slackzone.org&gt;
* Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</source>
<translation>Zarządca preferencji dla Openbox
Prawa autorskie (c) 2003-2013
Autorzy:
* Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;
* Dana Jansens &lt;danakj@orodu.net&gt;
* Tim Riley &lt;tr@slackzone.org&gt;
* Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</translation>
</message>
<message>
<location filename="../theme.cpp" line="150"/>
<location filename="../theme.cpp" line="160"/>
<source>Choose an Openbox theme</source>
<translation>Wybierz motyw Openbox</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../archive.cpp" line="26"/>
<source>&quot;%1&quot; was installed to %1</source>
<translation>&quot;%1&quot; zostało zainstalowane na %1</translation>
</message>
<message>
<location filename="../archive.cpp" line="53"/>
<source>&quot;%1&quot; was successfully created</source>
<translation>Pomyślnie utworzono &quot;%1&quot;.</translation>
</message>
<message>
<location filename="../archive.cpp" line="89"/>
<source>Unable to create the theme archive &quot;%1&quot;.
The following errors were reported:
%2</source>
<translation>Nie udało się utworzyć archiwum motywu &quot;%1&quot;.
Zgłoszono następujące błędy:
%2</translation>
</message>
<message>
<location filename="../archive.cpp" line="95"/>
<location filename="../archive.cpp" line="178"/>
<source>Unable to run the &quot;tar&quot; command: %1</source>
<translation>Nie udało się uruchomić polecenia &quot;tar&quot;: %1</translation>
</message>
<message>
<location filename="../archive.cpp" line="115"/>
<source>Unable to create directory &quot;%1&quot;: %2</source>
<translation>Nie można utworzyć katalogu &quot;%1&quot;: %2.</translation>
</message>
<message>
<location filename="../archive.cpp" line="138"/>
<source>&quot;%1&quot; does not appear to be a valid Openbox theme directory</source>
<translation>&quot;%1&quot; nie wydaje się być poprawnym katalogiem motywów Openbox</translation>
</message>
<message>
<location filename="../archive.cpp" line="148"/>
<source>Unable to move to directory &quot;%1&quot;: %2</source>
<translation>Nie można przenieść do katalogu &quot;%1&quot;: %2</translation>
</message>
<message>
<location filename="../archive.cpp" line="185"/>
<source>Unable to extract the file &quot;%1&quot;.
Please ensure that &quot;%2&quot; is writable and that the file is a valid Openbox theme archive.
The following errors were reported:
%3</source>
<translation>Nie można rozpakować pliku &quot;%1&quot;.
Proszę upewnić się, że &quot;%2&quot; jest zapisywalny i że plik ten jest poprawnym archiwum motywów Openbox.
Zostały zgłoszone następujące błędy:
%3</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="53"/>
<source>ObConf Error</source>
<translation>Błąd ObConfa</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="73"/>
<source>Syntax: obconf [options] [ARCHIVE.obt]
Options:
--help Display this help and exit
--version Display the version and exit
--install ARCHIVE.obt Install the given theme archive and select it
--archive THEME Create a theme archive from the given theme directory
--config-file FILE Specify the path to the config file to use
</source>
<translation>Składnia: obconf [opcje] [ARCHIWUM.obt]
Opcje:
--help Wyświetla tę pomoc i zakańcza
--version Wyświetla wersję i zakańcza
--install ARCHIWUM.obt Instaluje dane archiwum motywu i wybiera je
--archive MOTYW Tworzy archiwum motywu z danego katalogu motywu
--config-file PLIK Określa ścieżkę do pliku konfiguracyjnego, przeznaczonego do użycia
</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="97"/>
<source>--install requires an argument
</source>
<translation>--install wymaga argumentu
</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="103"/>
<source>--archive requires an argument
</source>
<translation>--archive wymaga argumentu
</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="109"/>
<source>--config-file requires an argument
</source>
<translation>--config-file wymaga argumentu
</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="221"/>
<location filename="../obconf-qt.cpp" line="237"/>
<source>Error</source>
<translation>Błąd</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="222"/>
<source>Failed to load an rc.xml. You have probably failed to install Openbox properly.</source>
<translation>Wystąpił błąd podczas wczytywania rc.xml. Prawdopodobnie Openbox został niepoprawnie zainstalowany.</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="235"/>
<source>Error while parsing the Openbox configuration file. Your configuration file is not valid XML.
Message: %1</source>
<translation>Błąd wczytania pliku rc.xml. Prawdopodobnie Openbox nie został poprawnie zainstalowany.</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="58"/>
<source>Copyright (c) 2003-2008 Dana Jansens
Copyright (c) 2003 Tim Riley
Copyright (c) 2007 Javeed Shaikh
Copyright (c) 2013 Hong Jen Yee (PCMan)
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
</source>
<translation>Prawa autorskie (c) 2003-2008 Dana Jansens
Prawa autorskie (c) 2003 Tim Riley
Prawa autorskie (c) 2007 Javeed Shaikh
Prawa autorskie (c) 2013 Hong Jen Yee (PCMan)
Niniejszy program rozpowszechniany jest BEZ JAKIEJKOLWIEK GWARANCJI.
Program ten jest wolnym oprogramowaniem; możesz go rozprowadzać dalej
pod niektórymi warunkami. Zobacz plik COPYING po szczegóły.
</translation>
</message>
</context>
</TS>

@ -0,0 +1,3 @@
Name[pt]=Definições do Openbox
GenericName[pt]=Definições do gestor de janelas
Comment[pt]=Configurar o gestor de janelas Openbox

@ -0,0 +1,647 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="pt">
<context>
<name>Fm::FontButton</name>
<message>
<location filename="../fontbutton.cpp" line="46"/>
<source>Bold</source>
<translation>Negrito</translation>
</message>
<message>
<location filename="../fontbutton.cpp" line="50"/>
<source>Italic</source>
<translation>Itálico</translation>
</message>
</context>
<context>
<name>MainDialog</name>
<message>
<location filename="../../build/src/ui_obconf.h" line="844"/>
<source>Mouse</source>
<translation>Rato</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="829"/>
<source>Window Manager Preferences</source>
<translation>Preferências de gestor de janelas</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="834"/>
<source>Theme</source>
<translation>Tema</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="836"/>
<source>Appearance</source>
<translation>Aparência</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="838"/>
<source>Font</source>
<translation>Tipo de letra</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="840"/>
<location filename="../../build/src/ui_obconf.h" line="855"/>
<source>Windows</source>
<translation>Janelas</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="842"/>
<source>Move &amp; Resize</source>
<translation>Mover e redimensionar</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="846"/>
<source>Desktops</source>
<translation>Áreas de trabalho</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="848"/>
<source>Margins</source>
<translation>Margens</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="850"/>
<source>Dock</source>
<translation>Doca</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="858"/>
<source>Window Titles</source>
<translation>Título das janelas</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="859"/>
<source>Button order:</source>
<translation>Ordem dos botões:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="900"/>
<source>Moving and Resizing Windows</source>
<translation>Movimentação e redimensionamento de janelas</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="907"/>
<source>Information Dialog</source>
<translation>Diálogos</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="936"/>
<source>Focusing Windows</source>
<translation>Foco de janelas</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="937"/>
<source>Focus windows when the mouse pointer moves over them</source>
<translation>Focar janelas ao passar com o ponteiro do rato</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="942"/>
<source>Titlebar</source>
<translation>Barra de título</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="954"/>
<source>Desktop Margins</source>
<translation>Margens da área de trabalho</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="955"/>
<source>Desktop margins are reserved areas on the edge of your screen. New windows will not be placed within a margin, and maximized windows will not cover them.</source>
<translation>As margens da área de trabalho são as áreas reservadas nos limites do ecrã. As janelas não serão colocadas nas margens e as janelas maximizadas também não as cobrirão.</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="956"/>
<source>Left:</source>
<translation>Esquerda:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="957"/>
<location filename="../../build/src/ui_obconf.h" line="959"/>
<location filename="../../build/src/ui_obconf.h" line="961"/>
<location filename="../../build/src/ui_obconf.h" line="963"/>
<source>px</source>
<translation>px</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="958"/>
<source>Top:</source>
<translation>Superior:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="960"/>
<source>Right:</source>
<translation>Direita:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="962"/>
<source>Bottom:</source>
<translation>Inferior:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="885"/>
<source>All monitors</source>
<translation>Todos os monitores</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="886"/>
<source>The active monitor</source>
<translation>Monitor ativo</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="887"/>
<source>The monitor with the mouse</source>
<translation>Monitor com o ponteiro do rato</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="890"/>
<source>Primary Monitor</source>
<translation>Monitor principal</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="891"/>
<source>The primary monitor is where Openbox will place dialogs, such as the one used for cycling windows.</source>
<translation>O monitor principal é aquele em que o Openbox apresenta os diálogos, tais como o diálogo para percorrer janelas.</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="895"/>
<source>Fixed Monitor</source>
<translation>Monitor fixo</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="896"/>
<source>Active Monitor</source>
<translation>Monitor ativo</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="897"/>
<source>Monitor With Mouse Pointer</source>
<translation>Monitor com o ponteiro do rato</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="910"/>
<location filename="../../build/src/ui_obconf.h" line="917"/>
<source>Centered</source>
<translation>Centro</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="911"/>
<source>From left edge</source>
<translation>Da margem esquerda</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="912"/>
<source>From right edge</source>
<translation>Da margem direita</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="918"/>
<source>From top edge</source>
<translation>Da margem superior</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="919"/>
<source>From bottom edge</source>
<translation>Da margem inferior</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="926"/>
<source>When resizing terminal windows</source>
<translation>Ao redimensionar as janelas de terminal</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="927"/>
<source>Always</source>
<translation>Sempre</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="928"/>
<source>Never</source>
<translation>Nunca</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="932"/>
<source>Centered on the window</source>
<translation>Centrar na janela</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="933"/>
<source>Above the window</source>
<translation>Por cima da janela</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="934"/>
<source>Fixed position on screen</source>
<translation>Posição fixa no ecrã</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="946"/>
<source>Maximizes the window</source>
<translation>Maximiza a janela</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="947"/>
<source>Shades the window</source>
<translation>Enrola a janela</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="860"/>
<source>N: Window icon
L: Window label (Title)
I: Iconify (Minimize)
M: Maximize
C: Close
S: Shade (Roll up)
D: Omnipresent (On all desktops)</source>
<translation>N: Window icon
L: Título da janela
I: Minimizar
M: Maximizar
C: Fechar
S: Enrolar
D: Omnipresente (todas as áreas de trabalho)</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="888"/>
<source>Primary monitor</source>
<translation>Monitor principal</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="964"/>
<source>About</source>
<translation>Sobre</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="853"/>
<source>&amp;Install a new theme...</source>
<translation>&amp;Instalar um tema...</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="854"/>
<source>Create a theme &amp;archive (.obt)...</source>
<translation> Criar um &amp;arquivo de tema (.obt)...</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="856"/>
<source>&amp;Windows retain a border when undecorated</source>
<translation>As &amp;janelas possuem contorno mesmo que não decoradas</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="857"/>
<source>A&amp;nimate iconify and restore</source>
<translation>A&amp;nimar minimização e restauro</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="873"/>
<source>&amp;Active window title: </source>
<translation>Título da janela &amp;ativa: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="874"/>
<source>&amp;Inactive window title: </source>
<translation>Título da janela &amp;inativa: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="875"/>
<source>Menu &amp;header: </source>
<translation>Cabeçal&amp;lho de menu: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="876"/>
<source>&amp;Menu Item: </source>
<translation>Item de &amp;menu: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="877"/>
<source>Active &amp;On-screen display: </source>
<translation>Visualização no ecrã (&amp;OSD) ativo: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="878"/>
<source>Inactive O&amp;n-screen display: </source>
<translation>Visualização no ecrã (O&amp;SD) inativo: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="879"/>
<source>Focus &amp;new windows when they appear</source>
<translation>Focar &amp;novas janelas assim que aparecerem</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="880"/>
<source>&amp;Place new windows under the mouse pointer</source>
<translation>&amp;Posicionar novas janelas por baixo do ponteiro do rato</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="881"/>
<source>&amp;Center new windows when they are placed</source>
<translation>&amp;Centrar novas janelas assim que forem posicionadas</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="882"/>
<source>Prefer to place new windows &amp;on:</source>
<translation>C&amp;olocar novas janelas em:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="892"/>
<source>Primary &amp;monitor:</source>
<translation>&amp;Monitor principal:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="899"/>
<source>&amp;Fixed monitor:</source>
<translation>Monitor &amp;fixo:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="901"/>
<source>Update the window contents while &amp;resizing</source>
<translation>Atualizar conteúdo da janela ao &amp;redimensionar</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="902"/>
<source>Drag &amp;threshold distance:</source>
<translation>Dis&amp;tância de arrasto:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="903"/>
<source>Amount of resistance against other &amp;windows:</source>
<translation>Resistência em relação às outras &amp;janelas:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="904"/>
<source>Amount of resistance against screen &amp;edges:</source>
<translation>Resistência em relação aos limit&amp;es do ecrã:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="905"/>
<source>&amp;Amount of time to wait before switching:</source>
<translation>Tempo de esper&amp;a antes de trocar:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="906"/>
<source>&amp;Switch desktops when moving a window past the screen edge</source>
<translation>Trocar de área de trabalho ao mover a janela para além do&amp;s limites do ecrã</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="914"/>
<source>Fixed &amp;y position:</source>
<translation>Posição &amp;Y:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="921"/>
<source>Information dialog&apos;s &amp;position:</source>
<translation>&amp;Posição do diálogo:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="922"/>
<source>Fixed &amp;x position:</source>
<translation>Posição &amp;X:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="923"/>
<source>Show &amp;information dialog:</source>
<translation>Mostrar d&amp;iálogo de informações:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="938"/>
<source>&amp;Delay before focusing and raising windows:</source>
<translation>Atraso antes &amp;de focar e mostrar janelas:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="939"/>
<source>Move focus under the mouse when &amp;switching desktops</source>
<translation>Mover foco para bai&amp;xo do rato ao trocar de área de trabalho</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="940"/>
<source>Move focus &amp;under the mouse when the mouse is not moving</source>
<translation>Mover foco para baixo do rato se este não esti&amp;ver em movimento</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="941"/>
<source>&amp;Raise windows when the mouse pointer moves over them</source>
<translation>Most&amp;rar janelas ao passar o rato sobre as mesmas</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="943"/>
<source>Double click on the &amp;titlebar:</source>
<translation>Duplo clique na barra de &amp;título:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="949"/>
<source>Double click ti&amp;me:</source>
<translation>Te&amp;mpo do duplo clique:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="950"/>
<source>&amp;Show a notification when switching desktops</source>
<translation>Mo&amp;strar notificação ao trocar a área de trabalho</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="951"/>
<source>&amp;Amount of time to show the notification for:</source>
<translation>Mostr&amp;ar notificação durante:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="952"/>
<source>&amp;Number of desktops: </source>
<translation>&amp;Número de áreas de trabalho: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="953"/>
<source>&amp;Desktop names:</source>
<translation>Nome das áreas &amp;de trabalho:</translation>
</message>
</context>
<context>
<name>Obconf::MainDialog</name>
<message>
<location filename="../mouse.cpp" line="57"/>
<source>Custom actions</source>
<translation>Ações personalizadas</translation>
</message>
<message>
<location filename="../desktops.cpp" line="152"/>
<location filename="../desktops.cpp" line="162"/>
<source>(Unnamed desktop)</source>
<translation>(Área de trabalho sem nome)</translation>
</message>
<message>
<location filename="../maindialog.cpp" line="76"/>
<source>About ObConf-Qt</source>
<translation>Sobre o ObConf-Qt</translation>
</message>
<message>
<location filename="../maindialog.cpp" line="77"/>
<source>A preferences manager for Openbox
Copyright (c) 2003-2013
Authors:
* Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;
* Dana Jansens &lt;danakj@orodu.net&gt;
* Tim Riley &lt;tr@slackzone.org&gt;
* Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</source>
<translation>O gestor de definições do Openbox
Copyright (c) 2003-2013
Autores:
* Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;
* Dana Jansens &lt;danakj@orodu.net&gt;
* Tim Riley &lt;tr@slackzone.org&gt;
* Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</translation>
</message>
<message>
<location filename="../theme.cpp" line="150"/>
<location filename="../theme.cpp" line="160"/>
<source>Choose an Openbox theme</source>
<translation>Escolha o tema Openbox</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../archive.cpp" line="26"/>
<source>&quot;%1&quot; was installed to %1</source>
<translation>&quot;%1&quot; foi instalado em %1</translation>
</message>
<message>
<location filename="../archive.cpp" line="53"/>
<source>&quot;%1&quot; was successfully created</source>
<translation>&quot;%1&quot; foi criado com sucesso</translation>
</message>
<message>
<location filename="../archive.cpp" line="89"/>
<source>Unable to create the theme archive &quot;%1&quot;.
The following errors were reported:
%2</source>
<translation>Não foi possível criar o arquivo &quot;%1&quot;.
Foram reportados os seguintes erros:
%2</translation>
</message>
<message>
<location filename="../archive.cpp" line="95"/>
<location filename="../archive.cpp" line="178"/>
<source>Unable to run the &quot;tar&quot; command: %1</source>
<translation>Não foi possível executar o comando &quot;tar&quot;: %1</translation>
</message>
<message>
<location filename="../archive.cpp" line="115"/>
<source>Unable to create directory &quot;%1&quot;: %2</source>
<translation>Não foi possível criar o diretório &quot;%1&quot;: %2</translation>
</message>
<message>
<location filename="../archive.cpp" line="138"/>
<source>&quot;%1&quot; does not appear to be a valid Openbox theme directory</source>
<translation>&quot;%1&quot; não parece ser um diretório válido para temas Openbox</translation>
</message>
<message>
<location filename="../archive.cpp" line="148"/>
<source>Unable to move to directory &quot;%1&quot;: %2</source>
<translation>Não foi possível mover para o diretório &quot;%1&quot;: %2</translation>
</message>
<message>
<location filename="../archive.cpp" line="185"/>
<source>Unable to extract the file &quot;%1&quot;.
Please ensure that &quot;%2&quot; is writable and that the file is a valid Openbox theme archive.
The following errors were reported:
%3</source>
<translation>Não foi possível extrair o ficheiro &quot;%1!
Certifique-se que tem permissões de escrita em &quot;%2&quot; e que o ficheiro é um arquivo de tema Openbox.
Foram reportados os seguintes erros:
%3</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="53"/>
<source>ObConf Error</source>
<translation>Erro ObConf</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="73"/>
<source>Syntax: obconf [options] [ARCHIVE.obt]
Options:
--help Display this help and exit
--version Display the version and exit
--install ARCHIVE.obt Install the given theme archive and select it
--archive THEME Create a theme archive from the given theme directory
--config-file FILE Specify the path to the config file to use
</source>
<translation>Sintaxe: obconf [opções] [ARQUIVO.obt]
Opções:
--help Mostra esta ajuda e sai
--version Mostra a versão e sai
--install ARCHIVE.obt Instala e ativa o tema escolhido
--archive THEME Cria um arquivo de tema a partir do diretório especificado
--config-file FILE Especifica o caminho do ficheiro de configuração a utilizar
</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="97"/>
<source>--install requires an argument
</source>
<translation>--install requer um argumento
</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="103"/>
<source>--archive requires an argument
</source>
<translation>--archive requer um argumento
</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="109"/>
<source>--config-file requires an argument
</source>
<translation>--config-file requer um argumento
</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="221"/>
<location filename="../obconf-qt.cpp" line="237"/>
<source>Error</source>
<translation>Erro</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="222"/>
<source>Failed to load an rc.xml. You have probably failed to install Openbox properly.</source>
<translation>Erro ao carregar rc.xml. É possível que o Openbox não esteja bem instalado.</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="235"/>
<source>Error while parsing the Openbox configuration file. Your configuration file is not valid XML.
Message: %1</source>
<translation>Erro ao processar o ficheiro de configuração do Openbox. O seu ficheiro de configuração não é um XML válido.
Mensagem: %1</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="58"/>
<source>Copyright (c) 2003-2008 Dana Jansens
Copyright (c) 2003 Tim Riley
Copyright (c) 2007 Javeed Shaikh
Copyright (c) 2013 Hong Jen Yee (PCMan)
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
</source>
<translation>Copyright (c) 2003-2008 Dana Jansens
Copyright (c) 2003 Tim Riley
Copyright (c) 2007 Javeed Shaikh
Copyright (c) 2013 Hong Jen Yee (PCMan)
Este programa NÃO POSSUI QUALQUER GARANTIA.
É um programa livre e é permitida a sua redistribuição
mediante alguma condições. Consulte o ficheiro COPYING para mais informações.
</translation>
</message>
</context>
</TS>

@ -0,0 +1,606 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="pt_BR">
<context>
<name>Fm::FontButton</name>
<message>
<location filename="../fontbutton.cpp" line="46"/>
<source>Bold</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../fontbutton.cpp" line="50"/>
<source>Italic</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MainDialog</name>
<message>
<location filename="../../build/src/ui_obconf.h" line="844"/>
<source>Mouse</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="829"/>
<source>Window Manager Preferences</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="834"/>
<source>Theme</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="836"/>
<source>Appearance</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="838"/>
<source>Font</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="840"/>
<location filename="../../build/src/ui_obconf.h" line="855"/>
<source>Windows</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="842"/>
<source>Move &amp; Resize</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="846"/>
<source>Desktops</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="848"/>
<source>Margins</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="850"/>
<source>Dock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="858"/>
<source>Window Titles</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="859"/>
<source>Button order:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="900"/>
<source>Moving and Resizing Windows</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="907"/>
<source>Information Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="936"/>
<source>Focusing Windows</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="937"/>
<source>Focus windows when the mouse pointer moves over them</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="942"/>
<source>Titlebar</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="954"/>
<source>Desktop Margins</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="955"/>
<source>Desktop margins are reserved areas on the edge of your screen. New windows will not be placed within a margin, and maximized windows will not cover them.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="956"/>
<source>Left:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="957"/>
<location filename="../../build/src/ui_obconf.h" line="959"/>
<location filename="../../build/src/ui_obconf.h" line="961"/>
<location filename="../../build/src/ui_obconf.h" line="963"/>
<source>px</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="958"/>
<source>Top:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="960"/>
<source>Right:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="962"/>
<source>Bottom:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="885"/>
<source>All monitors</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="886"/>
<source>The active monitor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="887"/>
<source>The monitor with the mouse</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="890"/>
<source>Primary Monitor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="891"/>
<source>The primary monitor is where Openbox will place dialogs, such as the one used for cycling windows.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="895"/>
<source>Fixed Monitor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="896"/>
<source>Active Monitor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="897"/>
<source>Monitor With Mouse Pointer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="910"/>
<location filename="../../build/src/ui_obconf.h" line="917"/>
<source>Centered</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="911"/>
<source>From left edge</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="912"/>
<source>From right edge</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="918"/>
<source>From top edge</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="919"/>
<source>From bottom edge</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="926"/>
<source>When resizing terminal windows</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="927"/>
<source>Always</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="928"/>
<source>Never</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="932"/>
<source>Centered on the window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="933"/>
<source>Above the window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="934"/>
<source>Fixed position on screen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="946"/>
<source>Maximizes the window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="947"/>
<source>Shades the window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="860"/>
<source>N: Window icon
L: Window label (Title)
I: Iconify (Minimize)
M: Maximize
C: Close
S: Shade (Roll up)
D: Omnipresent (On all desktops)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="888"/>
<source>Primary monitor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="964"/>
<source>About</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="853"/>
<source>&amp;Install a new theme...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="854"/>
<source>Create a theme &amp;archive (.obt)...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="856"/>
<source>&amp;Windows retain a border when undecorated</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="857"/>
<source>A&amp;nimate iconify and restore</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="873"/>
<source>&amp;Active window title: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="874"/>
<source>&amp;Inactive window title: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="875"/>
<source>Menu &amp;header: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="876"/>
<source>&amp;Menu Item: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="877"/>
<source>Active &amp;On-screen display: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="878"/>
<source>Inactive O&amp;n-screen display: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="879"/>
<source>Focus &amp;new windows when they appear</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="880"/>
<source>&amp;Place new windows under the mouse pointer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="881"/>
<source>&amp;Center new windows when they are placed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="882"/>
<source>Prefer to place new windows &amp;on:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="892"/>
<source>Primary &amp;monitor:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="899"/>
<source>&amp;Fixed monitor:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="901"/>
<source>Update the window contents while &amp;resizing</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="902"/>
<source>Drag &amp;threshold distance:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="903"/>
<source>Amount of resistance against other &amp;windows:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="904"/>
<source>Amount of resistance against screen &amp;edges:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="905"/>
<source>&amp;Amount of time to wait before switching:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="906"/>
<source>&amp;Switch desktops when moving a window past the screen edge</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="914"/>
<source>Fixed &amp;y position:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="921"/>
<source>Information dialog&apos;s &amp;position:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="922"/>
<source>Fixed &amp;x position:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="923"/>
<source>Show &amp;information dialog:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="938"/>
<source>&amp;Delay before focusing and raising windows:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="939"/>
<source>Move focus under the mouse when &amp;switching desktops</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="940"/>
<source>Move focus &amp;under the mouse when the mouse is not moving</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="941"/>
<source>&amp;Raise windows when the mouse pointer moves over them</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="943"/>
<source>Double click on the &amp;titlebar:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="949"/>
<source>Double click ti&amp;me:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="950"/>
<source>&amp;Show a notification when switching desktops</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="951"/>
<source>&amp;Amount of time to show the notification for:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="952"/>
<source>&amp;Number of desktops: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="953"/>
<source>&amp;Desktop names:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Obconf::MainDialog</name>
<message>
<location filename="../mouse.cpp" line="57"/>
<source>Custom actions</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../desktops.cpp" line="152"/>
<location filename="../desktops.cpp" line="162"/>
<source>(Unnamed desktop)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../maindialog.cpp" line="76"/>
<source>About ObConf-Qt</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../maindialog.cpp" line="77"/>
<source>A preferences manager for Openbox
Copyright (c) 2003-2013
Authors:
* Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;
* Dana Jansens &lt;danakj@orodu.net&gt;
* Tim Riley &lt;tr@slackzone.org&gt;
* Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../theme.cpp" line="150"/>
<location filename="../theme.cpp" line="160"/>
<source>Choose an Openbox theme</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../archive.cpp" line="26"/>
<source>&quot;%1&quot; was installed to %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="53"/>
<source>&quot;%1&quot; was successfully created</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="89"/>
<source>Unable to create the theme archive &quot;%1&quot;.
The following errors were reported:
%2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="95"/>
<location filename="../archive.cpp" line="178"/>
<source>Unable to run the &quot;tar&quot; command: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="115"/>
<source>Unable to create directory &quot;%1&quot;: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="138"/>
<source>&quot;%1&quot; does not appear to be a valid Openbox theme directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="148"/>
<source>Unable to move to directory &quot;%1&quot;: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="185"/>
<source>Unable to extract the file &quot;%1&quot;.
Please ensure that &quot;%2&quot; is writable and that the file is a valid Openbox theme archive.
The following errors were reported:
%3</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="53"/>
<source>ObConf Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="73"/>
<source>Syntax: obconf [options] [ARCHIVE.obt]
Options:
--help Display this help and exit
--version Display the version and exit
--install ARCHIVE.obt Install the given theme archive and select it
--archive THEME Create a theme archive from the given theme directory
--config-file FILE Specify the path to the config file to use
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="97"/>
<source>--install requires an argument
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="103"/>
<source>--archive requires an argument
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="109"/>
<source>--config-file requires an argument
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="221"/>
<location filename="../obconf-qt.cpp" line="237"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="222"/>
<source>Failed to load an rc.xml. You have probably failed to install Openbox properly.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="235"/>
<source>Error while parsing the Openbox configuration file. Your configuration file is not valid XML.
Message: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="58"/>
<source>Copyright (c) 2003-2008 Dana Jansens
Copyright (c) 2003 Tim Riley
Copyright (c) 2007 Javeed Shaikh
Copyright (c) 2013 Hong Jen Yee (PCMan)
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

@ -0,0 +1,645 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="ru">
<context>
<name>Fm::FontButton</name>
<message>
<location filename="../fontbutton.cpp" line="46"/>
<source>Bold</source>
<translation>Жирный</translation>
</message>
<message>
<location filename="../fontbutton.cpp" line="50"/>
<source>Italic</source>
<translation>Курсив</translation>
</message>
</context>
<context>
<name>MainDialog</name>
<message>
<location filename="../../build/src/ui_obconf.h" line="829"/>
<source>Window Manager Preferences</source>
<translation>Настройки менеджера окон</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="834"/>
<source>Theme</source>
<translation>Тема</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="836"/>
<source>Appearance</source>
<translation>Внешний вид</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="838"/>
<source>Font</source>
<translation>Шрифт</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="840"/>
<location filename="../../build/src/ui_obconf.h" line="855"/>
<source>Windows</source>
<translation>Окна</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="842"/>
<source>Move &amp; Resize</source>
<translation>Перемещение и изменение размера</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="844"/>
<source>Mouse</source>
<translation>Мышь</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="846"/>
<source>Desktops</source>
<translation>Рабочие столы</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="848"/>
<source>Margins</source>
<translation>Границы</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="850"/>
<source>Dock</source>
<translation>Док</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="853"/>
<source>&amp;Install a new theme...</source>
<translation>&amp;Установить новую тему...</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="854"/>
<source>Create a theme &amp;archive (.obt)...</source>
<translation>Создать &amp;архив с темой (.obt)...</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="856"/>
<source>&amp;Windows retain a border when undecorated</source>
<translation>&amp;Окна без декораций сохраняют края</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="857"/>
<source>A&amp;nimate iconify and restore</source>
<translation>А&amp;нимировать сворачивание и восстановление окна</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="858"/>
<source>Window Titles</source>
<translation>Заголовки окна</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="859"/>
<source>Button order:</source>
<translation>Порядок кнопок:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="860"/>
<source>N: Window icon
L: Window label (Title)
I: Iconify (Minimize)
M: Maximize
C: Close
S: Shade (Roll up)
D: Omnipresent (On all desktops)</source>
<translation>N: Значок окна
L: Заголовок окна
I: Свернуть
M: Распахнуть
C: Закрыть
S: Свернуть в заголовок окна
D: На все рабочие столы</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="873"/>
<source>&amp;Active window title: </source>
<translation>Название &amp;активного окна: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="874"/>
<source>&amp;Inactive window title: </source>
<translation>Название &amp;неактивного окна: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="875"/>
<source>Menu &amp;header: </source>
<translation>&amp;Заголовок меню: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="876"/>
<source>&amp;Menu Item: </source>
<translation>Пункт &amp;меню: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="877"/>
<source>Active &amp;On-screen display: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="878"/>
<source>Inactive O&amp;n-screen display: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="879"/>
<source>Focus &amp;new windows when they appear</source>
<translation>Передавать фокус &amp;новым окнам при их возникновении</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="880"/>
<source>&amp;Place new windows under the mouse pointer</source>
<translation>&amp;Помещать новые окна под курсором мыши</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="881"/>
<source>&amp;Center new windows when they are placed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="882"/>
<source>Prefer to place new windows &amp;on:</source>
<translation>Предпочитать размещать новое окно &amp;на:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="885"/>
<source>All monitors</source>
<translation>Всех мониторах</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="886"/>
<source>The active monitor</source>
<translation>Активном мониторе</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="887"/>
<source>The monitor with the mouse</source>
<translation>Мониторе с мышью</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="888"/>
<source>Primary monitor</source>
<translation>Основном мониторе</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="890"/>
<source>Primary Monitor</source>
<translation>Основной монитор</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="891"/>
<source>The primary monitor is where Openbox will place dialogs, such as the one used for cycling windows.</source>
<translation>Основной монитор - это область, где Openbox будет размещать диалоги, такие как переключение окон.</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="892"/>
<source>Primary &amp;monitor:</source>
<translation>Основной &amp;монитор:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="895"/>
<source>Fixed Monitor</source>
<translation>Фиксированный монитор</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="896"/>
<source>Active Monitor</source>
<translation>Активный монитор</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="897"/>
<source>Monitor With Mouse Pointer</source>
<translation>Монитор с курсором мыши</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="899"/>
<source>&amp;Fixed monitor:</source>
<translation>&amp;Фиксированный монитор:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="900"/>
<source>Moving and Resizing Windows</source>
<translation>Перемещение и изменение размеров окон</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="901"/>
<source>Update the window contents while &amp;resizing</source>
<translation>Обновлять содержимое окна во &amp;время изменения размера</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="902"/>
<source>Drag &amp;threshold distance:</source>
<translation>&amp;Порог расстояния перетаскивания:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="903"/>
<source>Amount of resistance against other &amp;windows:</source>
<translation>Количество сопротивления к другим &amp;окнам:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="904"/>
<source>Amount of resistance against screen &amp;edges:</source>
<translation>Количество сопротивления к &amp;краям экрана:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="905"/>
<source>&amp;Amount of time to wait before switching:</source>
<translation>&amp;Время ожидания перед переключением:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="906"/>
<source>&amp;Switch desktops when moving a window past the screen edge</source>
<translation>&amp;Переключать рабочие столы при перемещенииокна за границы экрана</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="907"/>
<source>Information Dialog</source>
<translation>Информагионный диалог</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="910"/>
<location filename="../../build/src/ui_obconf.h" line="917"/>
<source>Centered</source>
<translation>По центру</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="911"/>
<source>From left edge</source>
<translation>От левого края</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="912"/>
<source>From right edge</source>
<translation>От правого края</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="914"/>
<source>Fixed &amp;y position:</source>
<translation>Фиксированное по &amp;y:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="918"/>
<source>From top edge</source>
<translation>Отверхеней границы</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="919"/>
<source>From bottom edge</source>
<translation>От нижней границы</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="921"/>
<source>Information dialog&apos;s &amp;position:</source>
<translation>&amp;Расположение информационного диалога:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="922"/>
<source>Fixed &amp;x position:</source>
<translation>Фиксированное по &amp;x:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="923"/>
<source>Show &amp;information dialog:</source>
<translation>Показывать &amp;информационный диалог:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="926"/>
<source>When resizing terminal windows</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="927"/>
<source>Always</source>
<translation>Всегда</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="928"/>
<source>Never</source>
<translation>Никогда</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="932"/>
<source>Centered on the window</source>
<translation>По центру окна</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="933"/>
<source>Above the window</source>
<translation>Сверху окна</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="934"/>
<source>Fixed position on screen</source>
<translation>Фиксированное место на экране</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="936"/>
<source>Focusing Windows</source>
<translation>Передача фокуса окнам</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="937"/>
<source>Focus windows when the mouse pointer moves over them</source>
<translation>Передавать фокус окнам, когда курсор перемещается над ними</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="938"/>
<source>&amp;Delay before focusing and raising windows:</source>
<translation>&amp;Задержка перед передачей курсора и поднятием окна:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="939"/>
<source>Move focus under the mouse when &amp;switching desktops</source>
<translation>Передавать фокус под курсор при &amp;переключении рабочих столов</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="940"/>
<source>Move focus &amp;under the mouse when the mouse is not moving</source>
<translation>Передавать фокус &amp;под курсор, когда мышь не двигается</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="941"/>
<source>&amp;Raise windows when the mouse pointer moves over them</source>
<translation>&amp;Поднимать окна, когда курсор двигается по ним</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="942"/>
<source>Titlebar</source>
<translation>Заголовок окна</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="943"/>
<source>Double click on the &amp;titlebar:</source>
<translation>Двойной клик на &amp;заголовке окна:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="946"/>
<source>Maximizes the window</source>
<translation>Разворачивает окно</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="947"/>
<source>Shades the window</source>
<translation>Сворачивает окно в заголовок</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="949"/>
<source>Double click ti&amp;me:</source>
<translation>&amp;Время двойного клика:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="950"/>
<source>&amp;Show a notification when switching desktops</source>
<translation>&amp;Показывать уведомление при переключении рабочих столов</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="951"/>
<source>&amp;Amount of time to show the notification for:</source>
<translation>&amp;Время, на протяжении которого показывается уведомление:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="952"/>
<source>&amp;Number of desktops: </source>
<translation>&amp;Количество рабочих столов: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="953"/>
<source>&amp;Desktop names:</source>
<translation>Названия &amp;рабочих столов:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="954"/>
<source>Desktop Margins</source>
<translation>Границы рабочего стола</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="955"/>
<source>Desktop margins are reserved areas on the edge of your screen. New windows will not be placed within a margin, and maximized windows will not cover them.</source>
<translation>Границы рабочего стола - это зарезервированные зоны по вашего экрана. Новые окна не будут помещены в рамках границ, и развёрнутые окна не перекроют их.</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="956"/>
<source>Left:</source>
<translation>Слева:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="957"/>
<location filename="../../build/src/ui_obconf.h" line="959"/>
<location filename="../../build/src/ui_obconf.h" line="961"/>
<location filename="../../build/src/ui_obconf.h" line="963"/>
<source>px</source>
<translation>пикс</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="958"/>
<source>Top:</source>
<translation>Сверху:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="960"/>
<source>Right:</source>
<translation>Справа:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="962"/>
<source>Bottom:</source>
<translation>Снизу:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="964"/>
<source>About</source>
<translation>О программе</translation>
</message>
</context>
<context>
<name>Obconf::MainDialog</name>
<message>
<location filename="../desktops.cpp" line="152"/>
<location filename="../desktops.cpp" line="162"/>
<source>(Unnamed desktop)</source>
<translation>(Неназванный рабочий стол)</translation>
</message>
<message>
<location filename="../maindialog.cpp" line="76"/>
<source>About ObConf-Qt</source>
<translation>О ObConf-Qt</translation>
</message>
<message>
<location filename="../maindialog.cpp" line="77"/>
<source>A preferences manager for Openbox
Copyright (c) 2003-2013
Authors:
* Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;
* Dana Jansens &lt;danakj@orodu.net&gt;
* Tim Riley &lt;tr@slackzone.org&gt;
* Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</source>
<translation>Диспетчер настроек для Openbox
Copyright (c) 2003-2013
Авторы:
* Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;
* Dana Jansens &lt;danakj@orodu.net&gt;
* Tim Riley &lt;tr@slackzone.org&gt;
* Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</translation>
</message>
<message>
<location filename="../mouse.cpp" line="57"/>
<source>Custom actions</source>
<translation>Индивидуальные действия</translation>
</message>
<message>
<location filename="../theme.cpp" line="150"/>
<location filename="../theme.cpp" line="160"/>
<source>Choose an Openbox theme</source>
<translation>Выбрать тему для Openbox</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../archive.cpp" line="26"/>
<source>&quot;%1&quot; was installed to %1</source>
<translation>&quot;%1&quot; была установлена в %1</translation>
</message>
<message>
<location filename="../archive.cpp" line="53"/>
<source>&quot;%1&quot; was successfully created</source>
<translation>&quot;%1&quot; была успешно создана</translation>
</message>
<message>
<location filename="../archive.cpp" line="89"/>
<source>Unable to create the theme archive &quot;%1&quot;.
The following errors were reported:
%2</source>
<translation>Не удалось создать архив с темой &quot;%1&quot;.
Было сообщено о следующих ошибках:
%2</translation>
</message>
<message>
<location filename="../archive.cpp" line="95"/>
<location filename="../archive.cpp" line="178"/>
<source>Unable to run the &quot;tar&quot; command: %1</source>
<translation>Не удалось запустить команду &quot;tar&quot;: %1</translation>
</message>
<message>
<location filename="../archive.cpp" line="115"/>
<source>Unable to create directory &quot;%1&quot;: %2</source>
<translation>Не удалось создать папку &quot;%1&quot;: %2</translation>
</message>
<message>
<location filename="../archive.cpp" line="138"/>
<source>&quot;%1&quot; does not appear to be a valid Openbox theme directory</source>
<translation>&quot;%1&quot; не является правильной папкой тем Openbox</translation>
</message>
<message>
<location filename="../archive.cpp" line="148"/>
<source>Unable to move to directory &quot;%1&quot;: %2</source>
<translation>Невозможно переместить в папку &quot;%1&quot;: %2</translation>
</message>
<message>
<location filename="../archive.cpp" line="185"/>
<source>Unable to extract the file &quot;%1&quot;.
Please ensure that &quot;%2&quot; is writable and that the file is a valid Openbox theme archive.
The following errors were reported:
%3</source>
<translation>Невозможно распаковать файл &quot;%1&quot;.
Убедитесь в том, что &quot;%2&quot; записываемый и в том, что этот файл является корректным архивом темы Openbox.
Было сообщено о следующих ошибках:
%3</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="53"/>
<source>ObConf Error</source>
<translation>Ошибка ObConf</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="58"/>
<source>Copyright (c) 2003-2008 Dana Jansens
Copyright (c) 2003 Tim Riley
Copyright (c) 2007 Javeed Shaikh
Copyright (c) 2013 Hong Jen Yee (PCMan)
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
</source>
<translation>Copyright (c) 2003-2008 Dana Jansens
Copyright (c) 2003 Tim Riley
Copyright (c) 2007 Javeed Shaikh
Copyright (c) 2013 Hong Jen Yee (PCMan)
У этой программы нет АБСОЛЮТНО НИКАКОЙ ГАРАНТИИ.
Это свободное ПО и вы можете распространять его
под определёнными условиями. Смотрите файл COPYING для деталей.
</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="73"/>
<source>Syntax: obconf [options] [ARCHIVE.obt]
Options:
--help Display this help and exit
--version Display the version and exit
--install ARCHIVE.obt Install the given theme archive and select it
--archive THEME Create a theme archive from the given theme directory
--config-file FILE Specify the path to the config file to use
</source>
<translation>Синтаксис: obconf [опции] [ARCHIVE.obt]
Опции:
--help оказать эту справку и выйти
--version Показать версию и выйти
--install ARCHIVE.obt Установить тему из указанного архива и выбрать её
--archive THEME Создать архив с темой из указаннойпапки с темой
--config-file FILE Выбрать путь к используемому файлу настроек</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="97"/>
<source>--install requires an argument
</source>
<translation>--install требует аргумент
</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="103"/>
<source>--archive requires an argument
</source>
<translation>--archive требует аргумент
</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="109"/>
<source>--config-file requires an argument
</source>
<translation>--config-file требует аргумент
</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="221"/>
<location filename="../obconf-qt.cpp" line="237"/>
<source>Error</source>
<translation>Ошибка</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="222"/>
<source>Failed to load an rc.xml. You have probably failed to install Openbox properly.</source>
<translation>Не удалось загрузить rc.xml. Openbox, наверное, не установлен правильно.</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="235"/>
<source>Error while parsing the Openbox configuration file. Your configuration file is not valid XML.
Message: %1</source>
<translation>Ошибка при разборе файла конфигурации Openbox. Ваш конфигурационный файл неправильный XML.
Сообщение: %1</translation>
</message>
</context>
</TS>

@ -0,0 +1,5 @@
# Translations
Name[ru]=Настройки Openbox
GenericName[ru]=Настройки менеджера окон
Comment[ru]=Настроить оконный менеджер Openbox

@ -0,0 +1,645 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="ru_RU">
<context>
<name>Fm::FontButton</name>
<message>
<location filename="../fontbutton.cpp" line="46"/>
<source>Bold</source>
<translation>Жирный</translation>
</message>
<message>
<location filename="../fontbutton.cpp" line="50"/>
<source>Italic</source>
<translation>Курсив</translation>
</message>
</context>
<context>
<name>MainDialog</name>
<message>
<location filename="../../build/src/ui_obconf.h" line="829"/>
<source>Window Manager Preferences</source>
<translation>Настройки менеджера окон</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="834"/>
<source>Theme</source>
<translation>Тема</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="836"/>
<source>Appearance</source>
<translation>Внешний вид</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="838"/>
<source>Font</source>
<translation>Шрифт</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="840"/>
<location filename="../../build/src/ui_obconf.h" line="855"/>
<source>Windows</source>
<translation>Окна</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="842"/>
<source>Move &amp; Resize</source>
<translation>Перемещение и изменение размера</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="844"/>
<source>Mouse</source>
<translation>Мышь</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="846"/>
<source>Desktops</source>
<translation>Рабочие столы</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="848"/>
<source>Margins</source>
<translation>Границы</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="850"/>
<source>Dock</source>
<translation>Док</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="853"/>
<source>&amp;Install a new theme...</source>
<translation>&amp;Установить новую тему...</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="854"/>
<source>Create a theme &amp;archive (.obt)...</source>
<translation>Создать &amp;архив с темой (.obt)...</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="856"/>
<source>&amp;Windows retain a border when undecorated</source>
<translation>&amp;Окна без декораций сохраняют края</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="857"/>
<source>A&amp;nimate iconify and restore</source>
<translation>А&amp;нимировать сворачивание и восстановление окна</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="858"/>
<source>Window Titles</source>
<translation>Заголовки окна</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="859"/>
<source>Button order:</source>
<translation>Порядок кнопок:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="860"/>
<source>N: Window icon
L: Window label (Title)
I: Iconify (Minimize)
M: Maximize
C: Close
S: Shade (Roll up)
D: Omnipresent (On all desktops)</source>
<translation>N: Значок окна
L: Заголовок окна
I: Свернуть
M: Распахнуть
C: Закрыть
S: Свернуть в заголовок окна
D: На все рабочие столы</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="873"/>
<source>&amp;Active window title: </source>
<translation>Название &amp;активного окна: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="874"/>
<source>&amp;Inactive window title: </source>
<translation>Название &amp;неактивного окна: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="875"/>
<source>Menu &amp;header: </source>
<translation>&amp;Заголовок меню: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="876"/>
<source>&amp;Menu Item: </source>
<translation>Пункт &amp;меню: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="877"/>
<source>Active &amp;On-screen display: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="878"/>
<source>Inactive O&amp;n-screen display: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="879"/>
<source>Focus &amp;new windows when they appear</source>
<translation>Передавать фокус &amp;новым окнам при их возникновении</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="880"/>
<source>&amp;Place new windows under the mouse pointer</source>
<translation>&amp;Помещать новые окна под курсором мыши</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="881"/>
<source>&amp;Center new windows when they are placed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="882"/>
<source>Prefer to place new windows &amp;on:</source>
<translation>Предпочитать размещать новое окно &amp;на:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="885"/>
<source>All monitors</source>
<translation>Всех мониторах</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="886"/>
<source>The active monitor</source>
<translation>Активном мониторе</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="887"/>
<source>The monitor with the mouse</source>
<translation>Мониторе с мышью</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="888"/>
<source>Primary monitor</source>
<translation>Основном мониторе</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="890"/>
<source>Primary Monitor</source>
<translation>Основной монитор</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="891"/>
<source>The primary monitor is where Openbox will place dialogs, such as the one used for cycling windows.</source>
<translation>Основной монитор - это область, где Openbox будет размещать диалоги, такие как переключение окон.</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="892"/>
<source>Primary &amp;monitor:</source>
<translation>Основной &amp;монитор:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="895"/>
<source>Fixed Monitor</source>
<translation>Фиксированный монитор</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="896"/>
<source>Active Monitor</source>
<translation>Активный монитор</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="897"/>
<source>Monitor With Mouse Pointer</source>
<translation>Монитор с курсором мыши</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="899"/>
<source>&amp;Fixed monitor:</source>
<translation>&amp;Фиксированный монитор:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="900"/>
<source>Moving and Resizing Windows</source>
<translation>Перемещение и изменение размеров окон</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="901"/>
<source>Update the window contents while &amp;resizing</source>
<translation>Обновлять содержимое окна во &amp;время изменения размера</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="902"/>
<source>Drag &amp;threshold distance:</source>
<translation>&amp;Порог расстояния перетаскивания:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="903"/>
<source>Amount of resistance against other &amp;windows:</source>
<translation>Количество сопротивления к другим &amp;окнам:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="904"/>
<source>Amount of resistance against screen &amp;edges:</source>
<translation>Количество сопротивления к &amp;краям экрана:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="905"/>
<source>&amp;Amount of time to wait before switching:</source>
<translation>&amp;Время ожидания перед переключением:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="906"/>
<source>&amp;Switch desktops when moving a window past the screen edge</source>
<translation>&amp;Переключать рабочие столы при перемещенииокна за границы экрана</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="907"/>
<source>Information Dialog</source>
<translation>Информагионный диалог</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="910"/>
<location filename="../../build/src/ui_obconf.h" line="917"/>
<source>Centered</source>
<translation>По центру</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="911"/>
<source>From left edge</source>
<translation>От левого края</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="912"/>
<source>From right edge</source>
<translation>От правого края</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="914"/>
<source>Fixed &amp;y position:</source>
<translation>Фиксированное по &amp;y:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="918"/>
<source>From top edge</source>
<translation>Отверхеней границы</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="919"/>
<source>From bottom edge</source>
<translation>От нижней границы</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="921"/>
<source>Information dialog&apos;s &amp;position:</source>
<translation>&amp;Расположение информационного диалога:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="922"/>
<source>Fixed &amp;x position:</source>
<translation>Фиксированное по &amp;x:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="923"/>
<source>Show &amp;information dialog:</source>
<translation>Показывать &amp;информационный диалог:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="926"/>
<source>When resizing terminal windows</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="927"/>
<source>Always</source>
<translation>Всегда</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="928"/>
<source>Never</source>
<translation>Никогда</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="932"/>
<source>Centered on the window</source>
<translation>По центру окна</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="933"/>
<source>Above the window</source>
<translation>Сверху окна</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="934"/>
<source>Fixed position on screen</source>
<translation>Фиксированное место на экране</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="936"/>
<source>Focusing Windows</source>
<translation>Передача фокуса окнам</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="937"/>
<source>Focus windows when the mouse pointer moves over them</source>
<translation>Передавать фокус окнам, когда курсор перемещается над ними</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="938"/>
<source>&amp;Delay before focusing and raising windows:</source>
<translation>&amp;Задержка перед передачей курсора и поднятием окна:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="939"/>
<source>Move focus under the mouse when &amp;switching desktops</source>
<translation>Передавать фокус под курсор при &amp;переключении рабочих столов</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="940"/>
<source>Move focus &amp;under the mouse when the mouse is not moving</source>
<translation>Передавать фокус &amp;под курсор, когда мышь не двигается</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="941"/>
<source>&amp;Raise windows when the mouse pointer moves over them</source>
<translation>&amp;Поднимать окна, когда курсор двигается по ним</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="942"/>
<source>Titlebar</source>
<translation>Заголовок окна</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="943"/>
<source>Double click on the &amp;titlebar:</source>
<translation>Двойной клик на &amp;заголовке окна:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="946"/>
<source>Maximizes the window</source>
<translation>Разворачивает окно</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="947"/>
<source>Shades the window</source>
<translation>Сворачивает окно в заголовок</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="949"/>
<source>Double click ti&amp;me:</source>
<translation>&amp;Время двойного клика:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="950"/>
<source>&amp;Show a notification when switching desktops</source>
<translation>&amp;Показывать уведомление при переключении рабочих столов</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="951"/>
<source>&amp;Amount of time to show the notification for:</source>
<translation>&amp;Время, на протяжении которого показывается уведомление:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="952"/>
<source>&amp;Number of desktops: </source>
<translation>&amp;Количество рабочих столов: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="953"/>
<source>&amp;Desktop names:</source>
<translation>Названия &amp;рабочих столов:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="954"/>
<source>Desktop Margins</source>
<translation>Границы рабочего стола</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="955"/>
<source>Desktop margins are reserved areas on the edge of your screen. New windows will not be placed within a margin, and maximized windows will not cover them.</source>
<translation>Границы рабочего стола - это зарезервированные зоны по вашего экрана. Новые окна не будут помещены в рамках границ, и развёрнутые окна не перекроют их.</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="956"/>
<source>Left:</source>
<translation>Слева:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="957"/>
<location filename="../../build/src/ui_obconf.h" line="959"/>
<location filename="../../build/src/ui_obconf.h" line="961"/>
<location filename="../../build/src/ui_obconf.h" line="963"/>
<source>px</source>
<translation>пикс</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="958"/>
<source>Top:</source>
<translation>Сверху:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="960"/>
<source>Right:</source>
<translation>Справа:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="962"/>
<source>Bottom:</source>
<translation>Снизу:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="964"/>
<source>About</source>
<translation>О программе</translation>
</message>
</context>
<context>
<name>Obconf::MainDialog</name>
<message>
<location filename="../desktops.cpp" line="152"/>
<location filename="../desktops.cpp" line="162"/>
<source>(Unnamed desktop)</source>
<translation>(Неназванный рабочий стол)</translation>
</message>
<message>
<location filename="../maindialog.cpp" line="76"/>
<source>About ObConf-Qt</source>
<translation>О ObConf-Qt</translation>
</message>
<message>
<location filename="../maindialog.cpp" line="77"/>
<source>A preferences manager for Openbox
Copyright (c) 2003-2013
Authors:
* Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;
* Dana Jansens &lt;danakj@orodu.net&gt;
* Tim Riley &lt;tr@slackzone.org&gt;
* Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</source>
<translation>Диспетчер настроек для Openbox
Copyright (c) 2003-2013
Авторы:
* Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;
* Dana Jansens &lt;danakj@orodu.net&gt;
* Tim Riley &lt;tr@slackzone.org&gt;
* Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</translation>
</message>
<message>
<location filename="../mouse.cpp" line="57"/>
<source>Custom actions</source>
<translation>Индивидуальные действия</translation>
</message>
<message>
<location filename="../theme.cpp" line="150"/>
<location filename="../theme.cpp" line="160"/>
<source>Choose an Openbox theme</source>
<translation>Выбрать тему для Openbox</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../archive.cpp" line="26"/>
<source>&quot;%1&quot; was installed to %1</source>
<translation>&quot;%1&quot; была установлена в %1</translation>
</message>
<message>
<location filename="../archive.cpp" line="53"/>
<source>&quot;%1&quot; was successfully created</source>
<translation>&quot;%1&quot; была успешно создана</translation>
</message>
<message>
<location filename="../archive.cpp" line="89"/>
<source>Unable to create the theme archive &quot;%1&quot;.
The following errors were reported:
%2</source>
<translation>Не удалось создать архив с темой &quot;%1&quot;.
Было сообщено о следующих ошибках:
%2</translation>
</message>
<message>
<location filename="../archive.cpp" line="95"/>
<location filename="../archive.cpp" line="178"/>
<source>Unable to run the &quot;tar&quot; command: %1</source>
<translation>Не удалось запустить команду &quot;tar&quot;: %1</translation>
</message>
<message>
<location filename="../archive.cpp" line="115"/>
<source>Unable to create directory &quot;%1&quot;: %2</source>
<translation>Не удалось создать папку &quot;%1&quot;: %2</translation>
</message>
<message>
<location filename="../archive.cpp" line="138"/>
<source>&quot;%1&quot; does not appear to be a valid Openbox theme directory</source>
<translation>&quot;%1&quot; не является правильной папкой тем Openbox</translation>
</message>
<message>
<location filename="../archive.cpp" line="148"/>
<source>Unable to move to directory &quot;%1&quot;: %2</source>
<translation>Невозможно переместить в папку &quot;%1&quot;: %2</translation>
</message>
<message>
<location filename="../archive.cpp" line="185"/>
<source>Unable to extract the file &quot;%1&quot;.
Please ensure that &quot;%2&quot; is writable and that the file is a valid Openbox theme archive.
The following errors were reported:
%3</source>
<translation>Невозможно распаковать файл &quot;%1&quot;.
Убедитесь в том, что &quot;%2&quot; записываемый и в том, что этот файл является корректным архивом темы Openbox.
Было сообщено о следующих ошибках:
%3</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="53"/>
<source>ObConf Error</source>
<translation>Ошибка ObConf</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="58"/>
<source>Copyright (c) 2003-2008 Dana Jansens
Copyright (c) 2003 Tim Riley
Copyright (c) 2007 Javeed Shaikh
Copyright (c) 2013 Hong Jen Yee (PCMan)
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
</source>
<translation>Copyright (c) 2003-2008 Dana Jansens
Copyright (c) 2003 Tim Riley
Copyright (c) 2007 Javeed Shaikh
Copyright (c) 2013 Hong Jen Yee (PCMan)
У этой программы нет АБСОЛЮТНО НИКАКОЙ ГАРАНТИИ.
Это свободное ПО и вы можете распространять его
под определёнными условиями. Смотрите файл COPYING для деталей.
</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="73"/>
<source>Syntax: obconf [options] [ARCHIVE.obt]
Options:
--help Display this help and exit
--version Display the version and exit
--install ARCHIVE.obt Install the given theme archive and select it
--archive THEME Create a theme archive from the given theme directory
--config-file FILE Specify the path to the config file to use
</source>
<translation>Синтаксис: obconf [опции] [ARCHIVE.obt]
Опции:
--help оказать эту справку и выйти
--version Показать версию и выйти
--install ARCHIVE.obt Установить тему из указанного архива и выбрать её
--archive THEME Создать архив с темой из указаннойпапки с темой
--config-file FILE Выбрать путь к используемому файлу настроек</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="97"/>
<source>--install requires an argument
</source>
<translation>--install требует аргумент
</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="103"/>
<source>--archive requires an argument
</source>
<translation>--archive требует аргумент
</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="109"/>
<source>--config-file requires an argument
</source>
<translation>--config-file требует аргумент
</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="221"/>
<location filename="../obconf-qt.cpp" line="237"/>
<source>Error</source>
<translation>Ошибка</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="222"/>
<source>Failed to load an rc.xml. You have probably failed to install Openbox properly.</source>
<translation>Не удалось загрузить rc.xml. Openbox, наверное, не установлен правильно.</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="235"/>
<source>Error while parsing the Openbox configuration file. Your configuration file is not valid XML.
Message: %1</source>
<translation>Ошибка при разборе файла конфигурации Openbox. Ваш конфигурационный файл неправильный XML.
Сообщение: %1</translation>
</message>
</context>
</TS>

@ -0,0 +1,647 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="sv">
<context>
<name>Fm::FontButton</name>
<message>
<location filename="../fontbutton.cpp" line="46"/>
<source>Bold</source>
<translation>Fet</translation>
</message>
<message>
<location filename="../fontbutton.cpp" line="50"/>
<source>Italic</source>
<translation>Kursiv</translation>
</message>
</context>
<context>
<name>MainDialog</name>
<message>
<location filename="../../build/src/ui_obconf.h" line="844"/>
<source>Mouse</source>
<translation>Mus</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="829"/>
<source>Window Manager Preferences</source>
<translation>Inställningar för fönstehanteraren</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="834"/>
<source>Theme</source>
<translation>Tema</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="836"/>
<source>Appearance</source>
<translation>Utseende</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="838"/>
<source>Font</source>
<translation>Teckensnitt</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="840"/>
<location filename="../../build/src/ui_obconf.h" line="855"/>
<source>Windows</source>
<translation>Fönster</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="842"/>
<source>Move &amp; Resize</source>
<translation>Flytta och byt storlek</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="846"/>
<source>Desktops</source>
<translation>Skrivbord</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="848"/>
<source>Margins</source>
<translation>Marginaler</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="850"/>
<source>Dock</source>
<translation>Docka</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="858"/>
<source>Window Titles</source>
<translation>Fönsternamn</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="859"/>
<source>Button order:</source>
<translation>Knappordning:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="900"/>
<source>Moving and Resizing Windows</source>
<translation>Flytta och storleksändra fönster</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="907"/>
<source>Information Dialog</source>
<translation>Informationsruta</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="936"/>
<source>Focusing Windows</source>
<translation>Fokusera fönster</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="937"/>
<source>Focus windows when the mouse pointer moves over them</source>
<translation>Fokusera fönster när muspekaren flyttas över dem</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="942"/>
<source>Titlebar</source>
<translation>Namnlist</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="954"/>
<source>Desktop Margins</source>
<translation>Marginaler på skrivbordet</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="955"/>
<source>Desktop margins are reserved areas on the edge of your screen. New windows will not be placed within a margin, and maximized windows will not cover them.</source>
<translation>Marginaler på skrivbordet reserveras vid kanten på skärmen. Nya fönster kommer inte att placeras inom marginalen och maximerade fönster kommer inte att täcka dessa.</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="956"/>
<source>Left:</source>
<translation>Vänster:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="957"/>
<location filename="../../build/src/ui_obconf.h" line="959"/>
<location filename="../../build/src/ui_obconf.h" line="961"/>
<location filename="../../build/src/ui_obconf.h" line="963"/>
<source>px</source>
<translation>px</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="958"/>
<source>Top:</source>
<translation>Överst:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="960"/>
<source>Right:</source>
<translation>Höger:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="962"/>
<source>Bottom:</source>
<translation>Nederst:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="885"/>
<source>All monitors</source>
<translation>Alla bildskärmar</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="886"/>
<source>The active monitor</source>
<translation>Aktiv bildskärm</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="887"/>
<source>The monitor with the mouse</source>
<translation>Bildskärmen med musen</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="890"/>
<source>Primary Monitor</source>
<translation>Primär bildskärm</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="891"/>
<source>The primary monitor is where Openbox will place dialogs, such as the one used for cycling windows.</source>
<translation>Primär bildskärm som Openbox ska placera dialogrutor på, exempelvis den som används för rotera genom fönster.</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="895"/>
<source>Fixed Monitor</source>
<translation>Fast bildskärm</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="896"/>
<source>Active Monitor</source>
<translation>Aktiv bildskärm</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="897"/>
<source>Monitor With Mouse Pointer</source>
<translation>Bildskärm med muspekare</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="910"/>
<location filename="../../build/src/ui_obconf.h" line="917"/>
<source>Centered</source>
<translation>Centrerat</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="911"/>
<source>From left edge</source>
<translation>Från vänsterkant</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="912"/>
<source>From right edge</source>
<translation>Från högerkant</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="918"/>
<source>From top edge</source>
<translation>Från överkant</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="919"/>
<source>From bottom edge</source>
<translation>Från nederkant</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="926"/>
<source>When resizing terminal windows</source>
<translation>När storlek på terminalfönster ändras</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="927"/>
<source>Always</source>
<translation>Alltid</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="928"/>
<source>Never</source>
<translation>Aldrig</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="932"/>
<source>Centered on the window</source>
<translation>Centrerat på fönster</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="933"/>
<source>Above the window</source>
<translation>Ovanför fönster</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="934"/>
<source>Fixed position on screen</source>
<translation>Fast position på skärmen</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="946"/>
<source>Maximizes the window</source>
<translation>Maximerar fönstret</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="947"/>
<source>Shades the window</source>
<translation>Skuggar fönstret</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="860"/>
<source>N: Window icon
L: Window label (Title)
I: Iconify (Minimize)
M: Maximize
C: Close
S: Shade (Roll up)
D: Omnipresent (On all desktops)</source>
<translation>N: Fönsterikon
L: Fönstertitel
I: Ikonifiera/Minimera
M: Maximera
C: Stäng
S: Rulla upp
D: På alla skrivbord</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="888"/>
<source>Primary monitor</source>
<translation>Primär bildskärm</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="964"/>
<source>About</source>
<translation>Om</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="853"/>
<source>&amp;Install a new theme...</source>
<translation>&amp;Installera ett nytt tema...</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="854"/>
<source>Create a theme &amp;archive (.obt)...</source>
<translation>Skapa ett tema&amp;arkiv (.obt)...</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="856"/>
<source>&amp;Windows retain a border when undecorated</source>
<translation>&amp;Fönster behåller kan även utan dekoration</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="857"/>
<source>A&amp;nimate iconify and restore</source>
<translation>A&amp;nimera ikonifiering och återställning</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="873"/>
<source>&amp;Active window title: </source>
<translation>&amp;Aktiv fönstertitel: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="874"/>
<source>&amp;Inactive window title: </source>
<translation>&amp;Inaktiv fönstertitel: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="875"/>
<source>Menu &amp;header: </source>
<translation>&amp;Huvudmeny: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="876"/>
<source>&amp;Menu Item: </source>
<translation>&amp;Menyalternativ: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="877"/>
<source>Active &amp;On-screen display: </source>
<translation>Aktiv &amp;On-screen-display: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="878"/>
<source>Inactive O&amp;n-screen display: </source>
<translation>Inaktiv O&amp;n-screen-display: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="879"/>
<source>Focus &amp;new windows when they appear</source>
<translation>Fokusera &amp;nya fönster när de dyker upp</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="880"/>
<source>&amp;Place new windows under the mouse pointer</source>
<translation>&amp;Placera nya fönster under muspekaren</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="881"/>
<source>&amp;Center new windows when they are placed</source>
<translation>&amp;Centrera nya fönster när de placeras</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="882"/>
<source>Prefer to place new windows &amp;on:</source>
<translation>Föredra att placera nya fönster &amp;på:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="892"/>
<source>Primary &amp;monitor:</source>
<translation>Primär &amp;bildskärm:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="899"/>
<source>&amp;Fixed monitor:</source>
<translation>&amp;Fast bildskräm:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="901"/>
<source>Update the window contents while &amp;resizing</source>
<translation>Uppdatera fönsterinnehåll när det ändrar &amp;storlek</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="902"/>
<source>Drag &amp;threshold distance:</source>
<translation>&amp;Tröskelvärde för distans att dra:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="903"/>
<source>Amount of resistance against other &amp;windows:</source>
<translation>Motstånd mot andra &amp;fönster:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="904"/>
<source>Amount of resistance against screen &amp;edges:</source>
<translation>Motstånd mot &amp;skärmkanten:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="905"/>
<source>&amp;Amount of time to wait before switching:</source>
<translation>&amp;Tid att vänta innan byte:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="906"/>
<source>&amp;Switch desktops when moving a window past the screen edge</source>
<translation>&amp;Byt skrivbord när fönster flyttas över kanten</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="914"/>
<source>Fixed &amp;y position:</source>
<translation>Fast &amp;y-position:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="921"/>
<source>Information dialog&apos;s &amp;position:</source>
<translation>Informationsrutans &amp;position:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="922"/>
<source>Fixed &amp;x position:</source>
<translation>Fast &amp;x-position:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="923"/>
<source>Show &amp;information dialog:</source>
<translation>Visa &amp;informationsruta:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="938"/>
<source>&amp;Delay before focusing and raising windows:</source>
<translation>&amp;Dröj innan fokusering och framhävning av fönster:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="939"/>
<source>Move focus under the mouse when &amp;switching desktops</source>
<translation>Flytta fokus under musen när &amp;skrivbordsbyte sker</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="940"/>
<source>Move focus &amp;under the mouse when the mouse is not moving</source>
<translation>Flytta fokus &amp;under musen när musen inte flyttas</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="941"/>
<source>&amp;Raise windows when the mouse pointer moves over them</source>
<translation>&amp;Framhäv fönster när muspekaren flyttas över de</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="943"/>
<source>Double click on the &amp;titlebar:</source>
<translation>Dubbelklick på fönstertiteln:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="949"/>
<source>Double click ti&amp;me:</source>
<translation>Tid för &amp;dubbelklick:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="950"/>
<source>&amp;Show a notification when switching desktops</source>
<translation>Vi&amp;sa notifiering vid byte av skrivbord</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="951"/>
<source>&amp;Amount of time to show the notification for:</source>
<translation>&amp;Tid som notifiering visas:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="952"/>
<source>&amp;Number of desktops: </source>
<translation>&amp;Antal skrivbord: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="953"/>
<source>&amp;Desktop names:</source>
<translation>&amp;Skrivbordsnamn:</translation>
</message>
</context>
<context>
<name>Obconf::MainDialog</name>
<message>
<location filename="../mouse.cpp" line="57"/>
<source>Custom actions</source>
<translation>Anpassade åtgärder</translation>
</message>
<message>
<location filename="../desktops.cpp" line="152"/>
<location filename="../desktops.cpp" line="162"/>
<source>(Unnamed desktop)</source>
<translation>(Skrivbord utan namn)</translation>
</message>
<message>
<location filename="../maindialog.cpp" line="76"/>
<source>About ObConf-Qt</source>
<translation>Om ObConf-Qt</translation>
</message>
<message>
<location filename="../maindialog.cpp" line="77"/>
<source>A preferences manager for Openbox
Copyright (c) 2003-2013
Authors:
* Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;
* Dana Jansens &lt;danakj@orodu.net&gt;
* Tim Riley &lt;tr@slackzone.org&gt;
* Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</source>
<translation>Inställningshanterare för Openbox
Copyright (c) 2003-2013
Utvecklare:
* Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;
* Dana Jansens &lt;danakj@orodu.net&gt;
* Tim Riley &lt;tr@slackzone.org&gt;
* Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</translation>
</message>
<message>
<location filename="../theme.cpp" line="150"/>
<location filename="../theme.cpp" line="160"/>
<source>Choose an Openbox theme</source>
<translation>Välj Openbox-tema</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../archive.cpp" line="26"/>
<source>&quot;%1&quot; was installed to %1</source>
<translation>&quot;%1&quot; installerades på %1</translation>
</message>
<message>
<location filename="../archive.cpp" line="53"/>
<source>&quot;%1&quot; was successfully created</source>
<translation>&quot;%1&quot; skapades</translation>
</message>
<message>
<location filename="../archive.cpp" line="89"/>
<source>Unable to create the theme archive &quot;%1&quot;.
The following errors were reported:
%2</source>
<translation>Kunde inte skapa temaarkivet &quot;%1&quot;.
Följande fel rapporterades:
%2</translation>
</message>
<message>
<location filename="../archive.cpp" line="95"/>
<location filename="../archive.cpp" line="178"/>
<source>Unable to run the &quot;tar&quot; command: %1</source>
<translation>Kunde inte köra tar-kommandot: %1</translation>
</message>
<message>
<location filename="../archive.cpp" line="115"/>
<source>Unable to create directory &quot;%1&quot;: %2</source>
<translation>Kunde inte skapa katalogen &quot;%1&quot;: %2</translation>
</message>
<message>
<location filename="../archive.cpp" line="138"/>
<source>&quot;%1&quot; does not appear to be a valid Openbox theme directory</source>
<translation>&quot;%1&quot; verkar inte vara en korrekt temakatalog för Openbox</translation>
</message>
<message>
<location filename="../archive.cpp" line="148"/>
<source>Unable to move to directory &quot;%1&quot;: %2</source>
<translation>Kunde inte flytta till katalog &quot;%1&quot;: %2</translation>
</message>
<message>
<location filename="../archive.cpp" line="185"/>
<source>Unable to extract the file &quot;%1&quot;.
Please ensure that &quot;%2&quot; is writable and that the file is a valid Openbox theme archive.
The following errors were reported:
%3</source>
<translation>Kunde inte packa upp filen &quot;%1&quot;.
Tillse att &quot;%2&quot; är skrivbar och att filen är ett korrekt temaarkiv för Openbox.
Följande fel rapporterades:
%3</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="53"/>
<source>ObConf Error</source>
<translation>ObConf Fel</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="73"/>
<source>Syntax: obconf [options] [ARCHIVE.obt]
Options:
--help Display this help and exit
--version Display the version and exit
--install ARCHIVE.obt Install the given theme archive and select it
--archive THEME Create a theme archive from the given theme directory
--config-file FILE Specify the path to the config file to use
</source>
<translation>Användning: obconf [flagga] [ARKIV.obt]
Flaggor:
--help Visar denna hjälptext och avslutar
--version Visar version och avslutar
--install ARKIV.obt Installarerar angivet temaarkiv och väljer det
--archive TEMA Skapar ett temaarkiv för angiven temakatalog
--config-file FIL Anger sökvägen till inställningsfilen som ska användas
</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="97"/>
<source>--install requires an argument
</source>
<translation>--install behöver ett argument
</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="103"/>
<source>--archive requires an argument
</source>
<translation>--archive behöver ett argument
</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="109"/>
<source>--config-file requires an argument
</source>
<translation>--config-file behöver ett argument
</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="221"/>
<location filename="../obconf-qt.cpp" line="237"/>
<source>Error</source>
<translation>Fel</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="222"/>
<source>Failed to load an rc.xml. You have probably failed to install Openbox properly.</source>
<translation>Kunde inte läsa rc.xml. Troligen är inte Openbox korrekt installerat.</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="235"/>
<source>Error while parsing the Openbox configuration file. Your configuration file is not valid XML.
Message: %1</source>
<translation>Fel vid läsning av inställningsfilen för Openbox. Din inställningsfil är inte korrekt XML.
Meddelande: %1</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="58"/>
<source>Copyright (c) 2003-2008 Dana Jansens
Copyright (c) 2003 Tim Riley
Copyright (c) 2007 Javeed Shaikh
Copyright (c) 2013 Hong Jen Yee (PCMan)
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
</source>
<translation>Copyright © 2003-2008 Dana Jansens
Copyright © 2003 Tim Riley
Copyright © 2007 Javeed Shaikh
Copyright © 2013 Hong Jen Yee (PCMan)
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
</translation>
</message>
</context>
</TS>

@ -0,0 +1,629 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="uk">
<context>
<name>Fm::FontButton</name>
<message>
<location filename="../fontbutton.cpp" line="46"/>
<source>Bold</source>
<translation>Жирний</translation>
</message>
<message>
<location filename="../fontbutton.cpp" line="50"/>
<source>Italic</source>
<translation>Курсив</translation>
</message>
</context>
<context>
<name>MainDialog</name>
<message>
<location filename="../../build/src/ui_obconf.h" line="844"/>
<source>Mouse</source>
<translation>Мишка</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="829"/>
<source>Window Manager Preferences</source>
<translation>Параметри менеджера файлів</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="834"/>
<source>Theme</source>
<translation>Тема</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="836"/>
<source>Appearance</source>
<translation>Вигляд</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="838"/>
<source>Font</source>
<translation>Шрифт</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="840"/>
<location filename="../../build/src/ui_obconf.h" line="855"/>
<source>Windows</source>
<translation>Вікна</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="842"/>
<source>Move &amp; Resize</source>
<translation>Перемістити і Змінити розмір</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="846"/>
<source>Desktops</source>
<translation>Стільниці</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="848"/>
<source>Margins</source>
<translation>Поля</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="850"/>
<source>Dock</source>
<translation>Док</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="858"/>
<source>Window Titles</source>
<translation>Заголовки вікон</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="859"/>
<source>Button order:</source>
<translation>Послідовність кнопок</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="900"/>
<source>Moving and Resizing Windows</source>
<translation>Пересування і зміна розмірів вікон</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="907"/>
<source>Information Dialog</source>
<translation>Діалог інформації</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="936"/>
<source>Focusing Windows</source>
<translation>Фокусування вікон</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="937"/>
<source>Focus windows when the mouse pointer moves over them</source>
<translation>Фокусування вікон, якщо вказівник миші знаходиться над ними</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="942"/>
<source>Titlebar</source>
<translation>Заголовок</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="954"/>
<source>Desktop Margins</source>
<translation>Поля стільниці</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="955"/>
<source>Desktop margins are reserved areas on the edge of your screen. New windows will not be placed within a margin, and maximized windows will not cover them.</source>
<translation>Поля робочого столу - це зарезервовані ділянки на краю Вашого екрану. Нові вікна не будуть поміщені за цими межами, а максимізовані вікна не будуть закривати їх.</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="956"/>
<source>Left:</source>
<translation>Ліворуч:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="957"/>
<location filename="../../build/src/ui_obconf.h" line="959"/>
<location filename="../../build/src/ui_obconf.h" line="961"/>
<location filename="../../build/src/ui_obconf.h" line="963"/>
<source>px</source>
<translation>пікселів</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="958"/>
<source>Top:</source>
<translation>Згори:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="960"/>
<source>Right:</source>
<translation>Праворуч:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="962"/>
<source>Bottom:</source>
<translation>Знизу:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="885"/>
<source>All monitors</source>
<translation>Всі монітори</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="886"/>
<source>The active monitor</source>
<translation>Активний монітор</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="887"/>
<source>The monitor with the mouse</source>
<translation>Монітор з мишкою</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="890"/>
<source>Primary Monitor</source>
<translation>Головний монітор</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="891"/>
<source>The primary monitor is where Openbox will place dialogs, such as the one used for cycling windows.</source>
<translation>Головний монітор - це монітор, де Openbox поміщає діалоги, наприклад, як діалог прокрутки вікон.</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="895"/>
<source>Fixed Monitor</source>
<translation>Фіксований монітор</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="896"/>
<source>Active Monitor</source>
<translation>Активний монітор</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="897"/>
<source>Monitor With Mouse Pointer</source>
<translation>Монітор з вказівником миші</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="910"/>
<location filename="../../build/src/ui_obconf.h" line="917"/>
<source>Centered</source>
<translation>У центрі</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="911"/>
<source>From left edge</source>
<translation>Від лівого краю</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="912"/>
<source>From right edge</source>
<translation>Від правого краю</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="918"/>
<source>From top edge</source>
<translation>Від верхнього краю</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="919"/>
<source>From bottom edge</source>
<translation>Від нижнього краю</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="926"/>
<source>When resizing terminal windows</source>
<translation>При зміні розмірів термінального вікна</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="927"/>
<source>Always</source>
<translation>Завжди</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="928"/>
<source>Never</source>
<translation>Ніколи</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="932"/>
<source>Centered on the window</source>
<translation>Центровано на вікні</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="933"/>
<source>Above the window</source>
<translation>Над вікном</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="934"/>
<source>Fixed position on screen</source>
<translation>Фіксована позиція на екрані</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="946"/>
<source>Maximizes the window</source>
<translation>Максимізує вікно</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="947"/>
<source>Shades the window</source>
<translation>Затіняє вікно</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="860"/>
<source>N: Window icon
L: Window label (Title)
I: Iconify (Minimize)
M: Maximize
C: Close
S: Shade (Roll up)
D: Omnipresent (On all desktops)</source>
<translation>N: Іконка вікна
L: Мітка вікна (Назва)
I: Іконка (Мінімізація)
M: Максимізація
C: Закрити
S: Затінити (Згорнути)
D: Розмістити всюди (На всіх стільницях)</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="888"/>
<source>Primary monitor</source>
<translation>Головний монітор</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="964"/>
<source>About</source>
<translation>Про</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="853"/>
<source>&amp;Install a new theme...</source>
<translation>&amp;Встановити нову тему...</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="854"/>
<source>Create a theme &amp;archive (.obt)...</source>
<translation>Створити &amp;архів теми (.obt)...</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="856"/>
<source>&amp;Windows retain a border when undecorated</source>
<translation>&amp;Вікна зберігають границі, коли є без оформлення</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="857"/>
<source>A&amp;nimate iconify and restore</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="873"/>
<source>&amp;Active window title: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="874"/>
<source>&amp;Inactive window title: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="875"/>
<source>Menu &amp;header: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="876"/>
<source>&amp;Menu Item: </source>
<translation>П&amp;ункт меню:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="877"/>
<source>Active &amp;On-screen display: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="878"/>
<source>Inactive O&amp;n-screen display: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="879"/>
<source>Focus &amp;new windows when they appear</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="880"/>
<source>&amp;Place new windows under the mouse pointer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="881"/>
<source>&amp;Center new windows when they are placed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="882"/>
<source>Prefer to place new windows &amp;on:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="892"/>
<source>Primary &amp;monitor:</source>
<translation>Головний &amp;монітор:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="899"/>
<source>&amp;Fixed monitor:</source>
<translation>&amp;Фіксований монітор:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="901"/>
<source>Update the window contents while &amp;resizing</source>
<translation>Оновлювати вміст вікна при &amp;зміні розміру</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="902"/>
<source>Drag &amp;threshold distance:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="903"/>
<source>Amount of resistance against other &amp;windows:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="904"/>
<source>Amount of resistance against screen &amp;edges:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="905"/>
<source>&amp;Amount of time to wait before switching:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="906"/>
<source>&amp;Switch desktops when moving a window past the screen edge</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="914"/>
<source>Fixed &amp;y position:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="921"/>
<source>Information dialog&apos;s &amp;position:</source>
<translation>&amp;Позиція інформаційного діалогу:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="922"/>
<source>Fixed &amp;x position:</source>
<translation>Фіксована &amp;x позиція:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="923"/>
<source>Show &amp;information dialog:</source>
<translation>Показати &amp;інформаційний діалог:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="938"/>
<source>&amp;Delay before focusing and raising windows:</source>
<translation>Затримка перед &amp;фокусуванням і розгортанням вікна:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="939"/>
<source>Move focus under the mouse when &amp;switching desktops</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="940"/>
<source>Move focus &amp;under the mouse when the mouse is not moving</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="941"/>
<source>&amp;Raise windows when the mouse pointer moves over them</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="943"/>
<source>Double click on the &amp;titlebar:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="949"/>
<source>Double click ti&amp;me:</source>
<translation>Час подвійного &amp;клацання:</translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="950"/>
<source>&amp;Show a notification when switching desktops</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="951"/>
<source>&amp;Amount of time to show the notification for:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="952"/>
<source>&amp;Number of desktops: </source>
<translation>Кількість &amp;стільниць: </translation>
</message>
<message>
<location filename="../../build/src/ui_obconf.h" line="953"/>
<source>&amp;Desktop names:</source>
<translation>&amp;Назви стільниць:</translation>
</message>
</context>
<context>
<name>Obconf::MainDialog</name>
<message>
<location filename="../mouse.cpp" line="57"/>
<source>Custom actions</source>
<translation>Дії користувача</translation>
</message>
<message>
<location filename="../desktops.cpp" line="152"/>
<location filename="../desktops.cpp" line="162"/>
<source>(Unnamed desktop)</source>
<translation>(Стільниця без назви)</translation>
</message>
<message>
<location filename="../maindialog.cpp" line="76"/>
<source>About ObConf-Qt</source>
<translation>Про ObConf-Qt</translation>
</message>
<message>
<location filename="../maindialog.cpp" line="77"/>
<source>A preferences manager for Openbox
Copyright (c) 2003-2013
Authors:
* Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;
* Dana Jansens &lt;danakj@orodu.net&gt;
* Tim Riley &lt;tr@slackzone.org&gt;
* Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</source>
<translation>Менеджер налаштувань для Openbox
Всі права застережено (c) 2003-2013
Автори:
* Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;
* Dana Jansens &lt;danakj@orodu.net&gt;
* Tim Riley &lt;tr@slackzone.org&gt;
* Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</translation>
</message>
<message>
<location filename="../theme.cpp" line="150"/>
<location filename="../theme.cpp" line="160"/>
<source>Choose an Openbox theme</source>
<translation>Виберіть тему Openbox</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../archive.cpp" line="26"/>
<source>&quot;%1&quot; was installed to %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="53"/>
<source>&quot;%1&quot; was successfully created</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="89"/>
<source>Unable to create the theme archive &quot;%1&quot;.
The following errors were reported:
%2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="95"/>
<location filename="../archive.cpp" line="178"/>
<source>Unable to run the &quot;tar&quot; command: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="115"/>
<source>Unable to create directory &quot;%1&quot;: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="138"/>
<source>&quot;%1&quot; does not appear to be a valid Openbox theme directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="148"/>
<source>Unable to move to directory &quot;%1&quot;: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../archive.cpp" line="185"/>
<source>Unable to extract the file &quot;%1&quot;.
Please ensure that &quot;%2&quot; is writable and that the file is a valid Openbox theme archive.
The following errors were reported:
%3</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="53"/>
<source>ObConf Error</source>
<translation>Помилка ObConf</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="73"/>
<source>Syntax: obconf [options] [ARCHIVE.obt]
Options:
--help Display this help and exit
--version Display the version and exit
--install ARCHIVE.obt Install the given theme archive and select it
--archive THEME Create a theme archive from the given theme directory
--config-file FILE Specify the path to the config file to use
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="97"/>
<source>--install requires an argument
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="103"/>
<source>--archive requires an argument
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="109"/>
<source>--config-file requires an argument
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="221"/>
<location filename="../obconf-qt.cpp" line="237"/>
<source>Error</source>
<translation>Помилка</translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="222"/>
<source>Failed to load an rc.xml. You have probably failed to install Openbox properly.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="235"/>
<source>Error while parsing the Openbox configuration file. Your configuration file is not valid XML.
Message: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../obconf-qt.cpp" line="58"/>
<source>Copyright (c) 2003-2008 Dana Jansens
Copyright (c) 2003 Tim Riley
Copyright (c) 2007 Javeed Shaikh
Copyright (c) 2013 Hong Jen Yee (PCMan)
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
</source>
<translation>Всі права застережено (c) 2003-2008 Dana Jansens
Всі права застережено (c) 2003 Tim Riley
Всі права застережено (c) 2007 Javeed Shaikh
Всі права застережено (c) 2013 Hong Jen Yee (PCMan)
Ця програма поставляється без всяких гарантій.
Це вільне програмне забезпечення, і Ви можете поширювати
його за певних умов. Див. файл з назвою COPYING для деталей.
</translation>
</message>
</context>
</TS>

@ -0,0 +1,195 @@
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
tree.c for ObConf, the configuration tool for Openbox
Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
See the COPYING file for a copy of the GNU General Public License.
*/
#include <QX11Info>
#include <QMessageBox>
#include "tree.h"
#include "obconf-qt.h"
#include <obt/xml.h>
#include <X11/Xlib.h>
#include <X11/Xatom.h>
xmlNodePtr tree_get_node(const gchar *path, const gchar *def)
{
xmlNodePtr n, c;
gchar **nodes;
gchar **it, **next;
n = obt_xml_root(parse_i);
nodes = g_strsplit(path, "/", 0);
for (it = nodes; *it; it = next) {
gchar **attrs;
gboolean ok = FALSE;
attrs = g_strsplit(*it, ":", 0);
next = it + 1;
/* match attributes */
c = obt_xml_find_node(n->children, attrs[0]);
while (c && !ok) {
gint i;
ok = TRUE;
for (i = 1; attrs[i]; ++i) {
gchar **eq = g_strsplit(attrs[i], "=", 2);
if (eq[1] && !obt_xml_attr_contains(c, eq[0], eq[1]))
ok = FALSE;
g_strfreev(eq);
}
if (!ok)
c = obt_xml_find_node(c->next, attrs[0]);
}
if (!c) {
gint i;
c = xmlNewTextChild(n, NULL, (xmlChar*)attrs[0], (xmlChar*)(*next ? NULL : def));
for (i = 1; attrs[i]; ++i) {
gchar **eq = g_strsplit(attrs[i], "=", 2);
if (eq[1])
xmlNewProp(c, (xmlChar*)eq[0], (xmlChar*)eq[1]);
g_strfreev(eq);
}
}
n = c;
g_strfreev(attrs);
}
g_strfreev(nodes);
return n;
}
void tree_delete_node(const gchar *path)
{
xmlNodePtr n;
n = tree_get_node(path, NULL);
xmlUnlinkNode(n);
xmlFreeNode(n);
}
void tree_apply()
{
gchar *p, *d;
gboolean err = FALSE;
if (obc_config_file)
p = g_strdup(obc_config_file);
else
p = g_build_filename(obt_paths_config_home(paths), "openbox",
"rc.xml", NULL);
d = g_path_get_dirname(p);
obt_paths_mkdir_path(d, 0700);
g_free(d);
if (!obt_xml_save_file(parse_i, p, TRUE)) {
gchar *s;
s = g_strdup_printf("An error occured while saving the "
"config file '%s'", p);
// obconf_error(s, FALSE);
QMessageBox::critical(NULL, QString(), QString::fromUtf8(s));
g_free(s);
}
g_free(p);
if (!err) {
XEvent ce;
ce.xclient.type = ClientMessage;
ce.xclient.display = QX11Info::display();
ce.xclient.message_type = XInternAtom(ce.xclient.display, "_OB_CONTROL", false);
Window root = QX11Info::appRootWindow();
ce.xclient.window = root;
ce.xclient.format = 32;
ce.xclient.data.l[0] = 1; /* reconfigure */
ce.xclient.data.l[1] = 0;
ce.xclient.data.l[2] = 0;
ce.xclient.data.l[3] = 0;
ce.xclient.data.l[4] = 0;
XSendEvent(ce.xclient.display, root, FALSE,
SubstructureNotifyMask | SubstructureRedirectMask,
&ce);
}
}
void tree_set_string(const gchar *node, const gchar *value)
{
xmlNodePtr n;
n = tree_get_node(node, NULL);
xmlNodeSetContent(n, (const xmlChar*) value);
tree_apply();
}
void tree_set_int(const gchar *node, const gint value)
{
xmlNodePtr n;
gchar *s;
n = tree_get_node(node, NULL);
s = g_strdup_printf("%d", value);
xmlNodeSetContent(n, (const xmlChar*) s);
g_free(s);
tree_apply();
}
void tree_set_bool(const gchar *node, const gboolean value)
{
xmlNodePtr n;
n = tree_get_node(node, NULL);
xmlNodeSetContent(n, (const xmlChar*) (value ? "yes" : "no"));
tree_apply();
}
gchar* tree_get_string(const gchar *node, const gchar *def)
{
xmlNodePtr n;
n = tree_get_node(node, def);
return obt_xml_node_string(n);
}
gint tree_get_int(const gchar *node, gint def)
{
xmlNodePtr n;
gchar *d;
d = g_strdup_printf("%d", def);
n = tree_get_node(node, d);
g_free(d);
return obt_xml_node_int(n);
}
gboolean tree_get_bool(const gchar *node, gboolean def)
{
xmlNodePtr n;
n = tree_get_node(node, (def ? "yes" : "no"));
return obt_xml_node_bool(n);
}

@ -0,0 +1,38 @@
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
tree.h for ObConf, the configuration tool for Openbox
Copyright (c) 2003 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
See the COPYING file for a copy of the GNU General Public License.
*/
#ifndef obconf__tree_h
#define obconf__tree_h
#include <obt/xml.h>
xmlNodePtr tree_get_node(const gchar *path, const gchar *def);
void tree_delete_node(const gchar *path);
gchar* tree_get_string(const gchar *node, const gchar *def);
gint tree_get_int(const gchar *node, gint def);
gboolean tree_get_bool(const gchar *node, gboolean def);
void tree_set_string(const gchar *node, const gchar *value);
void tree_set_int(const gchar *node, const gint value);
void tree_set_bool(const gchar *node, const gboolean value);
void tree_apply(); /* save the rc.xml and force reconfigure from Openbox */
#endif

@ -0,0 +1,137 @@
/*
Copyright (C) 2013 Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
Part of the code in this file is taken from obconf:
Copyright (c) 2003-2007 Dana Jansens
Copyright (c) 2003 Tim Riley
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include "maindialog.h"
#include <obrender/render.h>
#include "tree.h"
#include <QX11Info>
// FIXME: how to support XCB or Wayland?
#include <X11/Xlib.h>
using namespace Obconf;
extern RrInstance* rrinst; // defined in obconf-qt.cpp
#define PLACE_ON_FIXED 0
#define PLACE_ON_ALL 0
#define PLACE_ON_ACTIVE 1
#define PLACE_ON_MOUSE 2
#define PLACE_ON_PRIMARY 3
void MainDialog::windows_setup_tab() {
gchar* s;
ui.focus_new->setChecked(tree_get_bool("focus/focusNew", TRUE));
s = tree_get_string("placement/policy", "Smart");
ui.place_mouse->setChecked(!g_ascii_strcasecmp(s, "UnderMouse"));
g_free(s);
int index;
s = tree_get_string("placement/monitor", "Any");
if(!g_ascii_strcasecmp(s, "Active"))
index = PLACE_ON_ACTIVE;
else if(!g_ascii_strcasecmp(s, "Mouse"))
index = PLACE_ON_MOUSE;
else if(!g_ascii_strcasecmp(s, "Primary"))
index = PLACE_ON_PRIMARY;
else
index = PLACE_ON_ALL;
g_free(s);
ui.place_active_popup->setCurrentIndex(index);
s = tree_get_string("placement/primaryMonitor", "");
if(!g_ascii_strcasecmp(s, "Active"))
index = PLACE_ON_ACTIVE;
else if(!g_ascii_strcasecmp(s, "Mouse"))
index = PLACE_ON_MOUSE;
else {
index = PLACE_ON_FIXED;
ui.fixed_monitor->setValue(tree_get_int("placement/primaryMonitor", 1));
}
g_free(s);
ui.primary_monitor_popup->setCurrentIndex(index);
windows_enable_stuff();
}
void MainDialog::windows_enable_stuff() {
bool enabled = (ui.primary_monitor_popup->currentIndex() == PLACE_ON_FIXED);
ui.fixed_monitor->setEnabled(enabled);
}
void MainDialog::on_primary_monitor_popup_currentIndexChanged(int index) {
/*
#define PLACE_ON_FIXED 0
#define PLACE_ON_ACTIVE 1
#define PLACE_ON_MOUSE 2
#define PLACE_ON_PRIMARY 3
*/
const char* strs[] = {
NULL,
"Active",
"Mouse"
};
if(index < G_N_ELEMENTS(strs) && index >= 0) {
if(index == PLACE_ON_FIXED) {
tree_set_int("placement/primaryMonitor", ui.fixed_monitor->value());
}
else {
tree_set_string("placement/primaryMonitor", strs[index]);
}
windows_enable_stuff();
}
}
void MainDialog::on_fixed_monitor_valueChanged(int newValue) {
tree_set_int("placement/primaryMonitor", newValue);
}
void MainDialog::on_focus_new_toggled(bool checked) {
tree_set_bool("focus/focusNew", checked);
}
void MainDialog::on_place_mouse_toggled(bool checked) {
tree_set_string("placement/policy",
(checked ?
"UnderMouse" : "Smart"));
windows_enable_stuff();
}
void MainDialog::on_place_active_popup_currentIndexChanged(int index) {
/*
* #define PLACE_ON_ALL 0
* #define PLACE_ON_ACTIVE 1
* #define PLACE_ON_MOUSE 2
* #define PLACE_ON_PRIMARY 3
*/
const char* strs[] = {
"Any",
"Active",
"Mouse",
"Primary"
};
if(index < G_N_ELEMENTS(strs) && index >= 0)
tree_set_string("placement/monitor", strs[index]);
}
Loading…
Cancel
Save