Advance Wayland and KDE package bring-up
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
Please use https://bugs.kde.org to report bugs.
|
||||
The following authors may have retired by the time you read this :-)
|
||||
|
||||
KWM Configuration Module:
|
||||
|
||||
Pat Dowler (dowler@pt1B1106.FSH.UVic.CA)
|
||||
|
||||
Bernd Wuebben <wuebben@kde.org>
|
||||
|
||||
Conversion to kcontrol applet:
|
||||
|
||||
Matthias Hoelzer (hoelzer@physik.uni-wuerzburg.de)
|
||||
@@ -0,0 +1,34 @@
|
||||
########### next target ###############
|
||||
# KI18N Translation Domain for this library
|
||||
add_definitions(-DTRANSLATION_DOMAIN=\"kcmkwm\")
|
||||
|
||||
set(kcm_kwinoptions_PART_SRCS
|
||||
main.cpp
|
||||
mouse.cpp
|
||||
windows.cpp
|
||||
)
|
||||
|
||||
ki18n_wrap_ui(kcm_kwinoptions_PART_SRCS
|
||||
actions.ui
|
||||
advanced.ui
|
||||
focus.ui
|
||||
mouse.ui
|
||||
moving.ui
|
||||
)
|
||||
|
||||
kcmutils_generate_module_data(
|
||||
kcm_kwinoptions_PART_SRCS
|
||||
MODULE_DATA_HEADER kwinoptionsdata.h
|
||||
MODULE_DATA_CLASS_NAME KWinOptionsData
|
||||
SETTINGS_HEADERS kwinoptions_settings.h kwinoptions_kdeglobals_settings.h
|
||||
SETTINGS_CLASSES KWinOptionsSettings KWinOptionsKDEGlobalsSettings
|
||||
)
|
||||
|
||||
kconfig_add_kcfg_files(kcm_kwinoptions_PART_SRCS kwinoptions_settings.kcfgc GENERATE_MOC)
|
||||
kconfig_add_kcfg_files(kcm_kwinoptions_PART_SRCS kwinoptions_kdeglobals_settings.kcfgc GENERATE_MOC)
|
||||
|
||||
qt_add_dbus_interface(kcm_kwinoptions_PART_SRCS ${KWin_SOURCE_DIR}/src/org.kde.kwin.Effects.xml kwin_effects_interface)
|
||||
|
||||
kcoreaddons_add_plugin(kcm_kwinoptions SOURCES ${kcm_kwinoptions_PART_SRCS} INSTALL_NAMESPACE "plasma/kcms/systemsettings_qwidgets")
|
||||
kcmutils_generate_desktop_file(kcm_kwinoptions)
|
||||
target_link_libraries(kcm_kwinoptions kwin Qt::DBus KF6::KCMUtils KF6::I18n KF6::WindowSystem)
|
||||
@@ -0,0 +1,51 @@
|
||||
1999-03-06 Mario Weilguni <mweilguni@kde.org>
|
||||
|
||||
* changes for Qt 2.0
|
||||
|
||||
1998-11-29 Alex Zepeda <garbanzo@hooked.net>
|
||||
|
||||
* pics/Makefile.am, pics/mini/Makefile.am: Install icons from their
|
||||
"proper" subdirectories.
|
||||
|
||||
1998-11-20 Cristian Tibirna <ctibirna@gch.ulaval.ca>
|
||||
|
||||
* advanced.[cpp,h]: fixed bugs. Mostly a disgusting one:
|
||||
no lists saving for the special options (Decor, Focus a.o.)
|
||||
|
||||
1998-11-09 Cristian Tibirna <ctibirna@gch.ulaval.ca>
|
||||
|
||||
* advanced.[cpp,h] : new tab for some of the last of the
|
||||
kwm's options which remained out of the GUI config:
|
||||
CtrlTab, TraverseAll, AltTabeMode, Button3Grab and
|
||||
the filter lists for decorations, focus, stickyness,
|
||||
session management ignore ( I kinda disklike the solution
|
||||
I got for the latest)
|
||||
|
||||
1998-11-06 Cristian Tibirna <ctibirna@gch.ulaval.ca>
|
||||
|
||||
* titlebar.[cpp,h] : added title alignment config
|
||||
|
||||
1998-10-23 Cristian Tibirna <ctibirna@gch.ulaval.ca>
|
||||
|
||||
* titlebar.cpp: completed what Matthias started (took out
|
||||
useless checks)
|
||||
* widows.cpp: make autoRaise toggling clearer
|
||||
|
||||
1998-10-22 Matthias Ettrich <ettrich@kde.org>
|
||||
|
||||
* titlebar.cpp: less options on titlebar doubleclick
|
||||
|
||||
1998-10-21 Cristian Tibirna <ctibirna@gch.ulaval.ca>
|
||||
|
||||
* desktop.[cpp,h]: now with consistent layout use
|
||||
resizeEvent() deleted
|
||||
|
||||
1998-10-19 Cristian Tibirna <ctibirna@gch.ulaval.ca>
|
||||
|
||||
* windows.[cpp,h]: now with consistent layout use
|
||||
resizeEvent() deleted
|
||||
|
||||
1998-10-18 Cristian Tibirna <ctibirna@gch.ulaval.ca>
|
||||
|
||||
* titlebar.[cpp,h]: fixed the (in)activetitleebar pixmap selection
|
||||
1998-10-21 (still buggy, don't quite understand why)
|
||||
@@ -0,0 +1,3 @@
|
||||
#! /usr/bin/env bash
|
||||
$EXTRACTRC `find . -name \*.ui` >> rc.cpp || exit 11
|
||||
$XGETTEXT *.cpp -o $podir/kcmkwm.pot
|
||||
@@ -0,0 +1,554 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>KWinActionsConfigForm</class>
|
||||
<widget class="QWidget" name="KWinActionsConfigForm">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>600</width>
|
||||
<height>500</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_1">
|
||||
<property name="flat">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Inactive Inner Window Actions</string>
|
||||
</property>
|
||||
<layout class="QFormLayout" name="formLayout_1">
|
||||
<property name="formAlignment">
|
||||
<set>Qt::AlignHCenter|Qt::AlignTop</set>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_1">
|
||||
<property name="text">
|
||||
<string>&Left click:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>kcfg_CommandWindow1</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_0">
|
||||
<item>
|
||||
<widget class="QComboBox" name="kcfg_CommandWindow1">
|
||||
<property name="whatsThis">
|
||||
<string>In this row you can customize left click behavior when clicking into an inactive inner window ('inner' means: not titlebar, not frame).</string>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Activate, pass click and raise on release</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Activate, raise and pass click</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Activate and pass click</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Activate</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Activate and raise</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="KContextualHelpButton" name="info_1">
|
||||
<property name="contextualHelpText">
|
||||
<string>Note that "Activate, pass click and raise on release" doesn't work on X11, and falls back to "Activate, raise and pass click" instead</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>&Middle click:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>kcfg_CommandWindow2</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QComboBox" name="kcfg_CommandWindow2">
|
||||
<property name="whatsThis">
|
||||
<string>In this row you can customize middle click behavior when clicking into an inactive inner window ('inner' means: not titlebar, not frame).</string>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Activate, raise and pass click</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Activate and pass click</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Activate</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Activate and raise</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>&Right click:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>kcfg_CommandWindow3</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QComboBox" name="kcfg_CommandWindow3">
|
||||
<property name="whatsThis">
|
||||
<string>In this row you can customize right click behavior when clicking into an inactive inner window ('inner' means: not titlebar, not frame).</string>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Activate, raise and pass click</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Activate and pass click</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Activate</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Activate and raise</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Mouse &wheel:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>kcfg_CommandWindowWheel</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QComboBox" name="kcfg_CommandWindowWheel">
|
||||
<property name="whatsThis">
|
||||
<string>In this row you can customize behavior when scrolling into an inactive inner window ('inner' means: not titlebar, not frame).</string>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Scroll</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Activate and scroll</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Activate, raise and scroll</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_2">
|
||||
<property name="flat">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Inner Window, Titlebar and Frame Actions</string>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_1">
|
||||
<item>
|
||||
<layout class="QFormLayout" name="formLayout_2">
|
||||
<property name="formAlignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>Mo&difier key:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>kcfg_CommandAllKey</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QComboBox" name="kcfg_CommandAllKey">
|
||||
<property name="whatsThis">
|
||||
<string>Here you select whether holding the Meta key or Alt key will allow you to perform the following actions.</string>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Meta</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Alt</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Maximum" vsizetype="Maximum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>24</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string> + </string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QFormLayout" name="formLayout_3">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_7">
|
||||
<property name="text">
|
||||
<string>L&eft click:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>kcfg_CommandAll1</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QComboBox" name="kcfg_CommandAll1">
|
||||
<property name="whatsThis">
|
||||
<string>In this row you can customize left click behavior when clicking into the titlebar or the frame.</string>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Move</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Activate, raise and move</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Toggle raise and lower</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Resize</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Raise</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Lower</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Minimize</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Decrease opacity</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Increase opacity</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Do nothing</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_8">
|
||||
<property name="text">
|
||||
<string>Middle &click:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>kcfg_CommandAll2</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QComboBox" name="kcfg_CommandAll2">
|
||||
<property name="whatsThis">
|
||||
<string>In this row you can customize middle click behavior when clicking into the titlebar or the frame.</string>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Move</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Activate, raise and move</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Toggle raise and lower</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Resize</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Raise</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Lower</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Minimize</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Decrease opacity</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Increase opacity</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Do nothing</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_9">
|
||||
<property name="text">
|
||||
<string>Right clic&k:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>kcfg_CommandAll3</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QComboBox" name="kcfg_CommandAll3">
|
||||
<property name="whatsThis">
|
||||
<string>In this row you can customize right click behavior when clicking into the titlebar or the frame.</string>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Move</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Activate, raise and move</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Toggle raise and lower</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Resize</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Raise</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Lower</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Minimize</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Decrease opacity</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Increase opacity</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Do nothing</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_10">
|
||||
<property name="text">
|
||||
<string>Mo&use wheel:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>kcfg_CommandAllWheel</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QComboBox" name="kcfg_CommandAllWheel">
|
||||
<property name="whatsThis">
|
||||
<string>Here you can customize KDE's behavior when scrolling with the mouse wheel in a window while pressing the modifier key.</string>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Raise/lower</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Shade/unshade</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Maximize/restore</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Keep above/below</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Move to previous/next desktop</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Change opacity</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Do nothing</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_1">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -0,0 +1,163 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>KWinAdvancedConfigForm</class>
|
||||
<widget class="QWidget" name="KWinAdvancedConfigForm">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>1001</width>
|
||||
<height>297</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QFormLayout" name="formLayout">
|
||||
<property name="formAlignment">
|
||||
<set>Qt::AlignHCenter|Qt::AlignTop</set>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="shadeHoverLabel">
|
||||
<property name="text">
|
||||
<string>Window &unshading:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>kcfg_ShadeHover</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_1">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="kcfg_ShadeHover">
|
||||
<property name="whatsThis">
|
||||
<string><html><head/><body><p>If this option is enabled, a shaded window will unshade automatically when the mouse pointer has been over the titlebar for some time.</p></body></html></string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>On titlebar hover after:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSpinBox" name="kcfg_ShadeHoverInterval">
|
||||
<property name="whatsThis">
|
||||
<string>Sets the time in milliseconds before the window unshades when the mouse pointer goes over the shaded window.</string>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string> ms</string>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>3000</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>250</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="windowPlacementLabel">
|
||||
<property name="text">
|
||||
<string>Window &placement:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>kcfg_Placement</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QComboBox" name="kcfg_Placement">
|
||||
<property name="whatsThis">
|
||||
<string><html><head/><body><p>The placement policy determines where a new window will appear on the desktop.</p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-style:italic;">Smart</span> will try to achieve a minimum overlap of windows</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-style:italic;">Maximizing</span> will try to maximize every window to fill the whole screen. It might be useful to selectively affect placement of some windows using the window-specific settings.</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-style:italic;">Random</span> will use a random position</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-style:italic;">Centered</span> will place the window centered</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-style:italic;">Zero-cornered</span> will place the window in the top-left corner</li><li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-style:italic;">Under mouse</span> will place the window under the pointer</li></ul></body></html></string>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Minimal Overlapping</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Maximized</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Random</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Centered</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>In Top-Left Corner</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Under mouse</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QCheckBox" name="kcfg_AllowKDEAppsToRememberWindowPositions">
|
||||
<property name="whatsThis">
|
||||
<string>When turned on, apps which are able to remember the positions of their windows are allowed to do so. This will override the window placement mode defined above.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Allow apps to remember the positions of their own windows, if they support it</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="activationDesktopPolicyLabel">
|
||||
<property name="text">
|
||||
<string>Virtual Desktop behavior:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>kcfg_ActivationDesktopPolicy</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QLabel" name="activationDesktopPolicyDescriptionLabel">
|
||||
<property name="text">
|
||||
<string>When activating a window on a different Virtual Desktop:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QComboBox" name="kcfg_ActivationDesktopPolicy">
|
||||
<property name="whatsThis">
|
||||
<string><html><head/><body><p>This setting controls what happens when an open window located on a Virtual Desktop other than the current one is activated. </p><p><span style=" font-style:italic;">Switch to that Virtual Desktop</span> will switch to the Virtual Desktop where the window is currently located. </p><p><span style=" font-style:italic;">Bring window to current Virtual Desktop</span> will cause the window to jump to the active Virtual Desktop. </p></body></html></string>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Switch to that Virtual Desktop</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Bring window to current Virtual Desktop</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Do nothing</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -0,0 +1,284 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>KWinFocusConfigForm</class>
|
||||
<widget class="QWidget" name="KWinFocusConfigForm">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>600</width>
|
||||
<height>500</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<layout class="QFormLayout" name="formLayout_1">
|
||||
<property name="formAlignment">
|
||||
<set>Qt::AlignHCenter|Qt::AlignTop</set>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="windowFocusPolicyLabel">
|
||||
<property name="text">
|
||||
<string>Window &activation policy:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>windowFocusPolicy</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QComboBox" name="windowFocusPolicy">
|
||||
<property name="whatsThis">
|
||||
<string>With this option you can specify how and when windows will be focused.</string>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string comment="sassa asas">Click to focus</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Click to focus (mouse precedence)</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Focus follows mouse</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Focus follows mouse (mouse precedence)</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Focus under mouse</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Focus strictly under mouse</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="delayFocusOnLabel">
|
||||
<property name="text">
|
||||
<string>&Delay focus by:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>kcfg_DelayFocusInterval</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QSpinBox" name="kcfg_DelayFocusInterval">
|
||||
<property name="whatsThis">
|
||||
<string>This is the delay after which the window the mouse pointer is over will automatically receive focus.</string>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string> ms</string>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>3000</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<number>100</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="focusStealingLabel">
|
||||
<property name="text">
|
||||
<string>Focus &stealing prevention:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>kcfg_FocusStealingPreventionLevel</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QComboBox" name="kcfg_FocusStealingPreventionLevel">
|
||||
<property name="whatsThis">
|
||||
<string><html><head/><body><p>This option specifies how much KWin will try to prevent unwanted focus stealing caused by unexpected activation of new windows. (Note: This feature does not work with the <span style=" font-style:italic;">Focus under mouse</span> or <span style=" font-style:italic;">Focus strictly under mouse</span> focus policies.) </p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-style:italic;">None:</span> Prevention is turned off and new windows always become activated.</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-style:italic;">Low:</span> Prevention is enabled; when some window does not have support for the underlying mechanism and KWin cannot reliably decide whether to activate the window or not, it will be activated. This setting may have both worse and better results than the medium level, depending on the applications.</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-style:italic;">Medium:</span> Prevention is enabled.</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-style:italic;">High:</span> New windows get activated only if no window is currently active or if they belong to the currently active application. This setting is probably not really usable when not using mouse focus policy.</li><li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-style:italic;">Extreme:</span> All windows must be explicitly activated by the user.</li></ul><p>Windows that are prevented from stealing focus are marked as demanding attention, which by default means their taskbar entry will be highlighted. This can be changed in the Notifications control module.</p></body></html></string>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string extracomment="Focus Stealing Prevention Level">None</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string extracomment="Focus Stealing Prevention Level">Low</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string extracomment="Focus Stealing Prevention Level">Medium</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string extracomment="Focus Stealing Prevention Level">High</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string extracomment="Focus Stealing Prevention Level">Extreme</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="raisingWindowsLabel">
|
||||
<property name="text">
|
||||
<string>Raising windows:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QCheckBox" name="kcfg_ClickRaise">
|
||||
<property name="whatsThis">
|
||||
<string>When this option is enabled, the active window will be brought to the front when you click somewhere into the window contents. To change it for inactive windows, you need to change the settings in the Actions tab.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>&Click raises active window</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_1">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="kcfg_AutoRaise">
|
||||
<property name="whatsThis">
|
||||
<string>When this option is enabled, a window in the background will automatically come to the front when the mouse pointer has been over it for some time.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>&Raise on hover, delayed by:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSpinBox" name="kcfg_AutoRaiseInterval">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="whatsThis">
|
||||
<string>This is the delay after which the window that the mouse pointer is over will automatically come to the front.</string>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string> ms</string>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>3000</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<number>100</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="6" column="0">
|
||||
<widget class="QLabel" name="multiscreenBehaviorLabel">
|
||||
<property name="text">
|
||||
<string>Multiscreen behavior:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="1">
|
||||
<widget class="QCheckBox" name="kcfg_SeparateScreenFocus">
|
||||
<property name="whatsThis">
|
||||
<string>When this option is enabled, focus operations are limited only to the active screen</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>&Separate screen focus</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLabel" name="windowFocusPolicyDescriptionLabel">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>280</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Window activation policy description</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>kcfg_AutoRaise</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
<receiver>kcfg_AutoRaiseInterval</receiver>
|
||||
<slot>setEnabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>338</x>
|
||||
<y>189</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>485</x>
|
||||
<y>189</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>kcfg_AutoRaise</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
<receiver>kcfg_ClickRaise</receiver>
|
||||
<slot>setDisabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>338</x>
|
||||
<y>189</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>333</x>
|
||||
<y>155</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
</ui>
|
||||
@@ -0,0 +1,139 @@
|
||||
{
|
||||
"Categories": "Qt;KDE;X-KDE-settings-looknfeel;",
|
||||
"KPlugin": {
|
||||
"BugReportUrl": "https://bugs.kde.org/enter_bug.cgi?product=systemsettings&component=kcm_kwinoptions",
|
||||
"Description": "Configure window actions and behavior",
|
||||
"Description[ar]": "اضبط سلوك النوافذ وإجراءاتها",
|
||||
"Description[az]": "Pəncərə fəaliyyətləri və davranışlarını tənzimləyin",
|
||||
"Description[be]": "Наладжванне дзеянняў і паводзін акон",
|
||||
"Description[bg]": "Настройки на поведение и действия на прозорците",
|
||||
"Description[ca@valencia]": "Configura les accions i comportament de les finestres",
|
||||
"Description[ca]": "Configura les accions i comportament de les finestres",
|
||||
"Description[cs]": "Nastavte činností a chování oken",
|
||||
"Description[da]": "Konfigurér vindueshandlinger og -opførsel",
|
||||
"Description[de]": "Fenster-Aktionen und -verhalten einrichten",
|
||||
"Description[en_GB]": "Configure window actions and behaviour",
|
||||
"Description[eo]": "Agordi fenestrajn agojn kaj konduton",
|
||||
"Description[es]": "Configurar las acciones y el comportamiento de las ventanas",
|
||||
"Description[et]": "Akende toimingute ja käitumise seadistamine",
|
||||
"Description[eu]": "Konfiguratu leihoaren ekintzak eta jokabidea",
|
||||
"Description[fi]": "Ikkunoiden toiminnan asetukset",
|
||||
"Description[fr]": "Configurer les actions et le comportement des fenêtres",
|
||||
"Description[gl]": "Configurar o comportamento e as accións das xanelas.",
|
||||
"Description[he]": "הגדרות פעולות והתנהגות חלון",
|
||||
"Description[hu]": "Az ablakműveletek és -működés beállítása",
|
||||
"Description[ia]": "Cnfigura comportamento e actiones de fenestra",
|
||||
"Description[id]": "Konfigurasikan perilaku dan aksi jendela",
|
||||
"Description[is]": "Grunnstilla aðgerðir og hegðun glugga",
|
||||
"Description[it]": "Configura azioni e comportamento delle finestre",
|
||||
"Description[ja]": "ウィンドウのアクションと挙動を設定",
|
||||
"Description[ka]": "ფანჯრის ქმედებისა და ქცევის მორგება",
|
||||
"Description[ko]": "창 동작과 행동 설정",
|
||||
"Description[lt]": "Konfigūruoti langų elgseną ir veiksmus su jais",
|
||||
"Description[lv]": "Konfigurēt logu darbības un uzvedību",
|
||||
"Description[nb]": "Sett opp utseende og atferd for vindu",
|
||||
"Description[nl]": "Vensteracties en gedrag configureren",
|
||||
"Description[nn]": "Set opp utsjånad og åtferd for vindauge",
|
||||
"Description[pl]": "Ustawienia działań i zachowań okien",
|
||||
"Description[pt]": "Configurar as acções e comportamento das janelas",
|
||||
"Description[pt_BR]": "Configure as ações e comportamento das janelas",
|
||||
"Description[ro]": "Configurează acțiunile și comportamentul ferestrelor",
|
||||
"Description[ru]": "Настройка поведения окон",
|
||||
"Description[sa]": "विण्डो क्रियाः व्यवहारः च विन्यस्यताम्",
|
||||
"Description[sk]": "Nastaviť akcie a správanie okien",
|
||||
"Description[sl]": "Prilagodite dejavnosti in vedenje oken",
|
||||
"Description[sv]": "Anpassa fönsteråtgärder och beteende",
|
||||
"Description[ta]": "சாளர நடத்தையையும் செயல்களையும் அமையுங்கள்",
|
||||
"Description[tr]": "Pencere eylemlerini ve davranışını yapılandır",
|
||||
"Description[uk]": "Налаштовування реакції та поведінки вікон",
|
||||
"Description[vi]": "Cấu hình các hành động và ứng xử của cửa sổ",
|
||||
"Description[x-test]": "xxConfigure window actions and behaviorxx",
|
||||
"Description[zh_CN]": "配置窗口操作和行为",
|
||||
"Description[zh_TW]": "設定視窗動作與行為",
|
||||
"Icon": "preferences-system-windows-actions",
|
||||
"Name": "Window Behavior",
|
||||
"Name[ar]": "سلوك النوافذ",
|
||||
"Name[az]": "Pəncərə davranışı",
|
||||
"Name[be]": "Паводзіны акон",
|
||||
"Name[bg]": "Поведение на прозорците",
|
||||
"Name[ca@valencia]": "Comportament de les finestres",
|
||||
"Name[ca]": "Comportament de les finestres",
|
||||
"Name[cs]": "Chování oken",
|
||||
"Name[da]": "Vinduesopførsel",
|
||||
"Name[de]": "Fensterverhalten",
|
||||
"Name[en_GB]": "Window Behaviour",
|
||||
"Name[eo]": "Fenestra Konduto",
|
||||
"Name[es]": "Comportamiento de las ventanas",
|
||||
"Name[et]": "Akende käitumine",
|
||||
"Name[eu]": "Leihoen jokabidea",
|
||||
"Name[fi]": "Ikkunoiden toiminta",
|
||||
"Name[fr]": "Comportement des fenêtres",
|
||||
"Name[gl]": "Comportamento das xanelas",
|
||||
"Name[he]": "התנהגות חלון",
|
||||
"Name[hu]": "Ablakműködés",
|
||||
"Name[ia]": "Comportamento de fenestra",
|
||||
"Name[id]": "Perilaku Jendela",
|
||||
"Name[is]": "Gluggahegðun",
|
||||
"Name[it]": "Comportamento delle finestre",
|
||||
"Name[ja]": "ウィンドウの挙動",
|
||||
"Name[ka]": "ფანჯრის ქცევა",
|
||||
"Name[ko]": "창 동작",
|
||||
"Name[lt]": "Langų elgsena",
|
||||
"Name[lv]": "Logu uzvedība",
|
||||
"Name[nb]": "Vindusatferd",
|
||||
"Name[nl]": "Venstergedrag",
|
||||
"Name[nn]": "Vindaugsåtferd",
|
||||
"Name[pl]": "Zachowania okien",
|
||||
"Name[pt]": "Comportamento das Janelas",
|
||||
"Name[pt_BR]": "Comportamento das janelas",
|
||||
"Name[ro]": "Comportament ferestre",
|
||||
"Name[ru]": "Поведение окон",
|
||||
"Name[sa]": "खिडकी व्यवहार",
|
||||
"Name[sk]": "Správanie okien",
|
||||
"Name[sl]": "Vedenje oken",
|
||||
"Name[sv]": "Fönsterbeteende",
|
||||
"Name[ta]": "சாளர நடத்தை",
|
||||
"Name[tr]": "Pencere Davranışı",
|
||||
"Name[uk]": "Поведінка вікон",
|
||||
"Name[vi]": "Ứng xử của cửa sổ",
|
||||
"Name[x-test]": "xxWindow Behaviorxx",
|
||||
"Name[zh_CN]": "窗口行为",
|
||||
"Name[zh_TW]": "視窗行為"
|
||||
},
|
||||
"X-DocPath": "kcontrol/windowbehaviour/index.html",
|
||||
"X-KDE-Keywords": "focus,placement,window behavior,window actions,animation,raise,auto raise,windows,frame,titlebar,doubleclick,desktop,snap,movement,shading,shade,unshade,unshading,activation,activate",
|
||||
"X-KDE-Keywords[ar]": "التركيز,الموضع,سلوك النافذة,إجراءات النافذة,الرسوم المتحركة,الرفع,الرفع التلقائي,النوافذ,الإطار,شريط العنوان,النقر المزدوج,سطح المكتب,الالتقاط,الحركة,التظليل,التظليل,إزالة التظليل,إزالة التظليل,نشط,التنشيط",
|
||||
"X-KDE-Keywords[bg]": "фокус,разположение,поведение на прозореца,действия на прозореца,анимация,повдигане,автоматично повдигане,прозорци,рамка,заглавна лента,двойно щракване,работен плот,щракване,движение,засенчване,засенчване,премахване засенчване,премахване засенчване,активиране,активиране",
|
||||
"X-KDE-Keywords[ca@valencia]": "focus,emplaçament,comportament de les finestres,accions de les finestres,animació,elevació,elevació automàtica,finestres,marc,barra de títol,doble clic,escriptori,ajusta,moviment,ombreig,ombra,desombreja,desombreig,activació,activa",
|
||||
"X-KDE-Keywords[ca]": "focus,emplaçament,comportament de les finestres,accions de les finestres,animació,elevació,elevació automàtica,finestres,marc,barra de títol,doble clic,escriptori,ajusta,moviment,ombreig,ombra,desombreja,desombreig,activació,activa",
|
||||
"X-KDE-Keywords[en_GB]": "focus,placement,window behavior,window actions,animation,raise,auto raise,windows,frame,titlebar,doubleclick,desktop,snap,movement,shading,shade,unshade,unshading,activation,activate",
|
||||
"X-KDE-Keywords[es]": "foco,colocación,ubicación,situación,comportamiento de la ventana,acciones de la ventana,animación,elevar,primer plano,elevar automáticamente,pasar a primer plano,ventanas,marco,borde,barra de título,doble clic,escritorio,ajuste,movimiento,plegar,desplegar,recoger,expandir,activación,activar",
|
||||
"X-KDE-Keywords[eu]": "fokua,arreta,jartzea,leihoaren jokabidea,leihoaren ekintzak,animazioa,altxatu,automatikoki altxatu,leihoak,markoa,fotograma,titulu-barra,klik bikoitza,mahaigaina,atxiki,mugimendua,itzaldura,itzala,geriza,itzala kendu,itzala kentzea,aktibazioa,aktibatu",
|
||||
"X-KDE-Keywords[fi]": "kohdistus,fokus,sijoittaminen,sijoitus,ikkunan toiminta,ikkunatoiminnot,animointi,animaatio,nosta,automaattinosto,kehys,otsikkorivi,otsikkopalkki,kaksoisnapsautus,työpöytä,kiinnitä,kiinnitys,snap,liike,siirtyminen,varjostus,aktivoi,aktivointi,aktivaatio",
|
||||
"X-KDE-Keywords[fr]": "focus, placement, comportement des fenêtres, actions des fenêtres, animation, relance, relance automatique, fenêtres, cadre, barre de titre, double-clic, bureau, aimantation, mouvement,ombrage, ombrer, dé-ombrer, dé-ombrage, activation, activer",
|
||||
"X-KDE-Keywords[gl]": "foco,posicionamento,comportamento das xanelas,accións das xanelas, animación,xanelas,moldura,barra de título,marco,desktop,escritorio,snap,axustar,aliñar,movement,movemento,shading,sombra,shade,unshade,unshading,activation,activación,activate,activar",
|
||||
"X-KDE-Keywords[he]": "מיקוד,הצבה,מיקום,מקום,התנהגות חלון,פעולות חלון,הנפשה,הגבהה,הרמה,הגבהה אוטומטית,הרמה אוטומטית,חלונות,מסגרת,שורת כותרת,לחיצה כפולה,דאבלקליק,דאבל קליק,הצמדה,תנועה,תזוזה,צל,הצללה,צללית,ביטול הצללה,הפעלה,מופעל,פועל,פעיל,פעילות",
|
||||
"X-KDE-Keywords[hu]": "fókusz,elhelyezés,ablakműködés,ablakműveletek,animáció,felemelés,automatikus felemelés,keret,címsor,dupla kattintás,asztal,levágás,mozgatás,felgördítés,felgördít,legördít,legördítés,aktiválás,aktivál",
|
||||
"X-KDE-Keywords[ia]": "focus,placiamento,comportamento de fenestra,actiones de fenestra,animation,altiar,auto altiar,fenestras,quadro,barra de titulo,duple click,scriptorio, snap, movemento, umbrar, umbra,de umbra,deumbrar,activation,activar",
|
||||
"X-KDE-Keywords[is]": "fókus,staðsetning,gluggahegðun,gluggaaðgerðir,hreyfiáhrif,hækka,hækka sjálfvirkt,gluggar,rammi,titilstika,tvísmella,skjáborð,smella,hreyfing,rúllun,rúlla upp,rúlla niður,niðurrúllun,virkjun,virkja",
|
||||
"X-KDE-Keywords[it]": "fuoco,posizionamento,comportamento della finestra,azioni delle finestre,animazione,sollevamento,sollevamento automatico,finestre,riquadro,barra del titolo,doppio clic,desktop,snap,movimento,arrotolare,arrotola,srotola,srotolare,attivazione,attivare",
|
||||
"X-KDE-Keywords[ka]": "focus,placement,window behavior,window actions,animation,raise,auto raise,windows,frame,titlebar,doubleclick,desktop,snap,movement,shading,shade,unshade,unshading,activation,activate,ფოკუსი, მოთავსება,ფანჯრის ქცევა,ფანჯრების ქცევა,ანიმაცია,ამოწევა,ავტოამოწევა,ფანჯრები,ჩარჩო,სათაურის ზოლი,სამუშაო მაგიდა,მიმაგრება,დაჩრდილვა",
|
||||
"X-KDE-Keywords[ko]": "포커스,초점,위치,창 행동,애니메이션,올리기,창,프레임,제목 표시줄,바탕 화면,데스크톱,이동,말아 올리기,풀어 내리기,활성화,활성,클릭,두 번 클릭",
|
||||
"X-KDE-Keywords[lv]": "fokuss,novietojums,logu uzvedība,logu darbības,animācija,pacelt,automātiski pacelt,logi,apmale,rāmis,virsrakstjosla,dubultklikšķis,darbvirsma,pievilkšana,pārvietošana,ēnošana,ēna,noņemt ēnu,ēnas noņemšana,aktivizēšana,aktivizēt",
|
||||
"X-KDE-Keywords[nb]": "fokus,plassering,vindusatferd,vindusbehandler,animering,hev,autohev,vindu,ramme,tittellinje,dobbeltklikk,skrivebord,flytting,bevegelse,opprulling,nedrulling,skjuling,aktivering,aktivere",
|
||||
"X-KDE-Keywords[nl]": "focus,plaatsing,venstergedrag,vensteracties,animatie,omhoog brengen, automatisch omhoog brengen,vensters,frame,titelbalk,dubbel-klik,bureaublad,vastklikken,verplaatsing,schaduw aanbrengen,schaduw,schaduw weghalen,activatie,activeren",
|
||||
"X-KDE-Keywords[nn]": "fokus,plassering,vindaugsåtferd,vindaugshandlingar,animering,hev,autohev,vindauge,ramme,tittellinje,dobbeltklikk,skrivebord,flytting,rørsle,opprulling,nedrulling,gøyming,aktivering,aktivera",
|
||||
"X-KDE-Keywords[pl]": "uaktywnienie,umieszczenie,zachowanie okna,działania okien,animacja,wzniesienie,auto-wzniesienie, okna,ramka,pasek tytułu,dwukrotne kliknięcie,pulpit,przyciąganie,ruch,zwijanie,zwiń,rozwiń,rozwijanie,uaktywnianie,uaktywnij",
|
||||
"X-KDE-Keywords[pt_BR]": "foco,colocação,comportamento de janela,ações de janela,animação,levantar,levantar automático,janelas,quadro,barra de título,duplo clique,área de trabalho,encaixe,movimento,sombreamento,escurecer,clarear,desescurecimento,ativação,ativar",
|
||||
"X-KDE-Keywords[ru]": "focus,placement,window behavior,window actions,animation,raise,auto raise,windows,frame,titlebar,doubleclick,desktop,snap,movement,shading,shade,unshade,unshading,activation,activate,фокус,расположение,размещение,поведение окон,действия окна,анимация,поднять,поднять автоматически,автоматическое поднятие,окна,рамка,строка заголовка,заголовок,двойной щелчок,рабочий стол,привязка,прилипание,перемещение,сворачивание в заголовок,свернуть в заголовок,разворачивание из заголовка,развернуть из заголовка,активация,активировать",
|
||||
"X-KDE-Keywords[sa]": "फोकस,प्लेसमेंट,विंडो व्यवहार,विंडो क्रियाएँ,एनीमेशन,उत्थापन,स्वयं उठाना,विंडोज,फ्रेम,शीर्षकपट्टी,डबलक्लिक,डेस्कटॉप,स्नैप,मूवमेंट,छायाकरण,छाया,अनशेड,अनशेडिंग,सक्रियता,सक्रिय",
|
||||
"X-KDE-Keywords[sl]": "fokus,postavitev,vedenje okna,dejanja oken,animacija,dvig,samodejni dvig,okna,okvir,naslovna vrstica,dvoklik,namizje,pripenjanje,gibanje,senčenje,senčenje,odsenči,odsenčenje,aktivacija,aktiviraj",
|
||||
"X-KDE-Keywords[sv]": "fokus,placering,fönsterbeteende,fönsteråtgärder,animering,höjning,automatisk höjning,fönster,ram,namnlist,dubbelklicka,skrivbord,lås,rörelse,rulla upp, rulla ner,aktivering,aktivera",
|
||||
"X-KDE-Keywords[tr]": "odak,yerleşim,pencere davranışı,pencere eylemleri,canlandırma,animasyon,yükselt,çerçeve,başlık çubuğu,çift tık,masaüstü,tuttur,hareket,taşı,panjur,etkinleştir",
|
||||
"X-KDE-Keywords[uk]": "focus,placement,window behavior,window actions,animation,raise,auto raise,windows,frame,titlebar,doubleclick,desktop,snap,movement,shading,shade,unshade,unshading,activation,activate,фокус,розташування,місце,вікно,поведінка,поведінка вікон,дії,реакція,дії з вікнами,реакція вікон,анімація,підняти,підняття,автоматична,автоматично,рамка,заголовок,смужка заголовка,клацання,подвійне,стільниця,прилипання,рух,тіні,тінь,активація,активувати",
|
||||
"X-KDE-Keywords[x-test]": "xxfocusxx,xxplacementxx,xxwindow behaviorxx,xxwindow actionsxx,xxanimationxx,xxraisexx,xxauto raisexx,xxwindowsxx,xxframexx,xxtitlebarxx,xxdoubleclickxx,xxdesktopxx,xxsnapxx,xxmovementxx,xxshadingxx,xxshadexx,xxunshadexx,xxunshadingxx,xxactivationxx,xxactivatexx",
|
||||
"X-KDE-Keywords[zh_CN]": "focus,placement,window behavior,window actions,animation,raise,auto raise,windows,frame,titlebar,doubleclick,desktop,snap,movement,shading,shade,unshade,unshading,activation,activate,jiaodian,fangzhi,weizhi,chuangkouxingwei,chuangkoucaozuo,donghua,tisheng,zidongtisheng,chuangkou,kuangjia,biaotilan,shuangji,zhuomian,xifu,yidong,juanqi,zhankai,jihuo,焦点,放置,位置,窗口行为,窗口操作,动画,提升,自动提升,窗口,框架,标题栏,双击,桌面,吸附,移动,卷起,展开,激活",
|
||||
"X-KDE-Keywords[zh_TW]": "焦點,聚焦,視窗行為,視窗動作,動畫,抬升,提升,自動抬升,視窗,框架,邊框,標題列,標題欄,雙擊,連點,桌面,貼齊,移動,隱藏,觸發",
|
||||
"X-KDE-System-Settings-Parent-Category": "windowmanagement",
|
||||
"X-KDE-Weight": 10
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
|
||||
http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
|
||||
<kcfgfile name="kdeglobals"/>
|
||||
|
||||
<group name="General">
|
||||
|
||||
<entry name="AllowKDEAppsToRememberWindowPositions" type="Bool">
|
||||
<default>true</default>
|
||||
</entry>
|
||||
|
||||
</group>
|
||||
</kcfg>
|
||||
@@ -0,0 +1,6 @@
|
||||
File=kwinoptions_kdeglobals_settings.kcfg
|
||||
ClassName=KWinOptionsKDEGlobalsSettings
|
||||
IncludeFiles=options.h
|
||||
Mutators=true
|
||||
DefaultValueGetters=true
|
||||
ParentInConstructor=true
|
||||
@@ -0,0 +1,368 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
|
||||
http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
|
||||
<kcfgfile name="kwinrc"/>
|
||||
|
||||
<group name="Windows">
|
||||
<entry key="BorderSnapZone" type="Int">
|
||||
<default>10</default>
|
||||
<min>0</min>
|
||||
<max>100</max>
|
||||
</entry>
|
||||
|
||||
<entry key="WindowSnapZone" type="Int">
|
||||
<default>10</default>
|
||||
<min>0</min>
|
||||
<max>100</max>
|
||||
</entry>
|
||||
|
||||
<entry key="CenterSnapZone" type="Int">
|
||||
<default>0</default>
|
||||
<min>0</min>
|
||||
<max>100</max>
|
||||
</entry>
|
||||
|
||||
<entry key="SnapOnlyWhenOverlapping" type="Bool">
|
||||
<default>false</default>
|
||||
</entry>
|
||||
|
||||
<entry key="ShadeHover" type="Bool">
|
||||
<default>false</default>
|
||||
</entry>
|
||||
|
||||
<entry key="ShadeHoverInterval" type="Int">
|
||||
<default>250</default>
|
||||
<min>0</min>
|
||||
</entry>
|
||||
|
||||
<entry name="Placement" type="Enum">
|
||||
<choices name="PlacementChoices">
|
||||
<choice name="Smart"></choice>
|
||||
<choice name="Maximizing"></choice>
|
||||
<choice name="Random"></choice>
|
||||
<choice name="Centered"></choice>
|
||||
<choice name="ZeroCornered"></choice>
|
||||
<choice name="UnderMouse"></choice>
|
||||
</choices>
|
||||
<default>Centered</default>
|
||||
</entry>
|
||||
|
||||
<entry name="ActivationDesktopPolicy" type="Enum">
|
||||
<choices name="ActivationDesktopPolicyChoices">
|
||||
<choice name="SwitchToOtherDesktop"></choice>
|
||||
<choice name="BringToCurrentDesktop"></choice>
|
||||
</choices>
|
||||
<default>SwitchToOtherDesktop</default>
|
||||
</entry>
|
||||
|
||||
<entry key="TitlebarDoubleClickCommand" type="Enum">
|
||||
<default>Maximize</default>
|
||||
<choices>
|
||||
<choice name="Maximize"></choice>
|
||||
<choice name="MaximizeVerticalOnly" value="Maximize (vertical only)"></choice>
|
||||
<choice name="MaximizeHorizontalOnly" value="Maximize (horizontal only)"></choice>
|
||||
<choice name="Minimize"></choice>
|
||||
<choice name="Shade"></choice>
|
||||
<choice name="Lower"></choice>
|
||||
<choice name="Close"></choice>
|
||||
<choice name="OnAllDesktops"></choice>
|
||||
<choice name="Nothing"></choice>
|
||||
</choices>
|
||||
</entry>
|
||||
|
||||
<entry key="MaximizeButtonLeftClickCommand" type="Enum">
|
||||
<default>Maximize</default>
|
||||
<choices>
|
||||
<choice name="Maximize"></choice>
|
||||
<choice name="MaximizeVerticalOnly" value="Maximize (vertical only)"></choice>
|
||||
<choice name="MaximizeHorizontalOnly" value="Maximize (horizontal only)"></choice>
|
||||
</choices>
|
||||
</entry>
|
||||
|
||||
<entry key="MaximizeButtonMiddleClickCommand" type="Enum">
|
||||
<default>MaximizeVerticalOnly</default>
|
||||
<choices>
|
||||
<choice name="Maximize"></choice>
|
||||
<choice name="MaximizeVerticalOnly" value="Maximize (vertical only)"></choice>
|
||||
<choice name="MaximizeHorizontalOnly" value="Maximize (horizontal only)"></choice>
|
||||
</choices>
|
||||
</entry>
|
||||
|
||||
<entry key="MaximizeButtonRightClickCommand" type="Enum">
|
||||
<default>MaximizeHorizontalOnly</default>
|
||||
<choices>
|
||||
<choice name="Maximize"></choice>
|
||||
<choice name="MaximizeVerticalOnly" value="Maximize (vertical only)"></choice>
|
||||
<choice name="MaximizeHorizontalOnly" value="Maximize (horizontal only)"></choice>
|
||||
</choices>
|
||||
</entry>
|
||||
|
||||
<entry key="FocusPolicy" type="Enum">
|
||||
<default>ClickToFocus</default>
|
||||
<choices>
|
||||
<choice name="ClickToFocus"/>
|
||||
<choice name="FocusFollowsMouse"/>
|
||||
<choice name="FocusUnderMouse"/>
|
||||
<choice name="FocusStrictlyUnderMouse"/>
|
||||
</choices>
|
||||
</entry>
|
||||
|
||||
<entry key="NextFocusPrefersMouse" type="Bool">
|
||||
<default>false</default>
|
||||
</entry>
|
||||
|
||||
<entry key="AutoRaiseInterval" type="Int">
|
||||
<default>750</default>
|
||||
<min>0</min>
|
||||
</entry>
|
||||
|
||||
<entry key="DelayFocusInterval" type="Int">
|
||||
<default>300</default>
|
||||
<min>0</min>
|
||||
</entry>
|
||||
|
||||
<entry key="AutoRaise" type="Bool">
|
||||
<default>false</default>
|
||||
</entry>
|
||||
|
||||
<entry key="ClickRaise" type="Bool">
|
||||
<default>true</default>
|
||||
</entry>
|
||||
|
||||
<entry key="SeparateScreenFocus" type="Bool">
|
||||
<default>true</default>
|
||||
</entry>
|
||||
|
||||
<entry key="FocusStealingPreventionLevel" type="Int">
|
||||
<default>1</default>
|
||||
<min>0</min>
|
||||
<max>4</max>
|
||||
</entry>
|
||||
|
||||
</group>
|
||||
|
||||
<group name="MouseBindings">
|
||||
|
||||
<entry key="CommandActiveTitlebar1" type="Enum">
|
||||
<default>Raise</default>
|
||||
<choices>
|
||||
<choice name="Raise"></choice>
|
||||
<choice name="Lower"></choice>
|
||||
<choice name="ToggleRaiseAndLower" value="Toggle raise and lower"></choice>
|
||||
<choice name="Minimize"></choice>
|
||||
<choice name="Shade"></choice>
|
||||
<choice name="Close"></choice>
|
||||
<choice name="OperationsMenu" value="Operations menu"></choice>
|
||||
<choice name="Nothing"></choice>
|
||||
</choices>
|
||||
</entry>
|
||||
|
||||
<entry key="CommandActiveTitlebar2" type="Enum">
|
||||
<default>Nothing</default>
|
||||
<choices>
|
||||
<choice name="Raise"></choice>
|
||||
<choice name="Lower"></choice>
|
||||
<choice name="ToggleRaiseAndLower" value="Toggle raise and lower"></choice>
|
||||
<choice name="Minimize"></choice>
|
||||
<choice name="Shade"></choice>
|
||||
<choice name="Close"></choice>
|
||||
<choice name="OperationsMenu" value="Operations menu"></choice>
|
||||
<choice name="Nothing"></choice>
|
||||
</choices>
|
||||
</entry>
|
||||
|
||||
<entry key="CommandActiveTitlebar3" type="Enum">
|
||||
<default>OperationsMenu</default>
|
||||
<choices>
|
||||
<choice name="Raise"></choice>
|
||||
<choice name="Lower"></choice>
|
||||
<choice name="ToggleRaiseAndLower" value="Toggle raise and lower"></choice>
|
||||
<choice name="Minimize"></choice>
|
||||
<choice name="Shade"></choice>
|
||||
<choice name="Close"></choice>
|
||||
<choice name="OperationsMenu" value="Operations menu"></choice>
|
||||
<choice name="Nothing"></choice>
|
||||
</choices>
|
||||
</entry>
|
||||
|
||||
<entry key="CommandTitlebarWheel" type="Enum">
|
||||
<default>Nothing</default>
|
||||
<choices>
|
||||
<choice name="RaiseLower" value="Raise/Lower"></choice>
|
||||
<choice name="ShadeUnshade" value="Shade/Unshade"></choice>
|
||||
<choice name="MaxmizeRestore" value="Maximize/Restore"></choice>
|
||||
<choice name="AboveBelow" value="Above/Below"></choice>
|
||||
<choice name="PreviousNextDesktop" value="Previous/Next Desktop"></choice>
|
||||
<choice name="ChangeOpacity" value="Change Opacity"></choice>
|
||||
<choice name="Nothing"></choice>
|
||||
</choices>
|
||||
</entry>
|
||||
|
||||
<entry key="CommandInactiveTitlebar1" type="Enum">
|
||||
<default>ActivateRaiseOnReleaseAndPassClick</default>
|
||||
<choices>
|
||||
<choice name="ActivateRaiseOnReleaseAndPassClick" value="Activate, pass click and raise on release"></choice>
|
||||
<choice name="ActivateAndRaise" value="Activate and raise"></choice>
|
||||
<choice name="ActivateAndLower" value="Activate and lower"></choice>
|
||||
<choice name="Activate"></choice>
|
||||
<choice name="Raise"></choice>
|
||||
<choice name="Lower"></choice>
|
||||
<choice name="ToggleRaiseAndLower" value="Toggle raise and lower"></choice>
|
||||
<choice name="Minimize"></choice>
|
||||
<choice name="Shade"></choice>
|
||||
<choice name="Close"></choice>
|
||||
<choice name="OperationsMenu" value="Operations menu"></choice>
|
||||
<choice name="Nothing"></choice>
|
||||
</choices>
|
||||
</entry>
|
||||
|
||||
<entry key="CommandInactiveTitlebar2" type="Enum">
|
||||
<default>Nothing</default>
|
||||
<choices>
|
||||
<choice name="ActivateAndRaise" value="Activate and raise"></choice>
|
||||
<choice name="ActivateAndLower" value="Activate and lower"></choice>
|
||||
<choice name="Activate"></choice>
|
||||
<choice name="Raise"></choice>
|
||||
<choice name="Lower"></choice>
|
||||
<choice name="ToggleRaiseAndLower" value="Toggle raise and lower"></choice>
|
||||
<choice name="Minimize"></choice>
|
||||
<choice name="Shade"></choice>
|
||||
<choice name="Close"></choice>
|
||||
<choice name="OperationsMenu" value="Operations menu"></choice>
|
||||
<choice name="Nothing"></choice>
|
||||
</choices>
|
||||
</entry>
|
||||
|
||||
<entry key="CommandInactiveTitlebar3" type="Enum">
|
||||
<default>OperationsMenu</default>
|
||||
<choices>
|
||||
<choice name="ActivateAndRaise" value="Activate and raise"></choice>
|
||||
<choice name="ActivateAndLower" value="Activate and lower"></choice>
|
||||
<choice name="Activate"></choice>
|
||||
<choice name="Raise"></choice>
|
||||
<choice name="Lower"></choice>
|
||||
<choice name="ToggleRaiseAndLower" value="Toggle raise and lower"></choice>
|
||||
<choice name="Minimize"></choice>
|
||||
<choice name="Shade"></choice>
|
||||
<choice name="Close"></choice>
|
||||
<choice name="OperationsMenu" value="Operations menu"></choice>
|
||||
<choice name="Nothing"></choice>
|
||||
</choices>
|
||||
</entry>
|
||||
|
||||
<entry key="CommandWindow1" type="Enum">
|
||||
<default>ActivateRaisePassClick</default>
|
||||
<choices>
|
||||
<choice name="ActivateRaisePassClick" value="Activate, raise and pass click"></choice>
|
||||
<choice name="ActivatePassClick" value="Activate and pass click"></choice>
|
||||
<choice name="Activate"></choice>
|
||||
<choice name="ActivateRaise" value="Activate and raise"></choice>
|
||||
</choices>
|
||||
</entry>
|
||||
|
||||
<entry key="CommandWindow2" type="Enum">
|
||||
<default>ActivatePassClick</default>
|
||||
<choices>
|
||||
<choice name="ActivateRaisePassClick" value="Activate, raise and pass click"></choice>
|
||||
<choice name="ActivatePassClick" value="Activate and pass click"></choice>
|
||||
<choice name="Activate"></choice>
|
||||
<choice name="ActivateRaise" value="Activate and raise"></choice>
|
||||
</choices>
|
||||
</entry>
|
||||
|
||||
<entry key="CommandWindow3" type="Enum">
|
||||
<default>ActivatePassClick</default>
|
||||
<choices>
|
||||
<choice name="ActivateRaisePassClick" value="Activate, raise and pass click"></choice>
|
||||
<choice name="ActivatePassClick" value="Activate and pass click"></choice>
|
||||
<choice name="Activate"></choice>
|
||||
<choice name="ActivateRaise" value="Activate and raise"></choice>
|
||||
</choices>
|
||||
</entry>
|
||||
|
||||
<entry key="CommandWindowWheel" type="Enum">
|
||||
<default>Scroll</default>
|
||||
<choices>
|
||||
<choice name="Scroll"></choice>
|
||||
<choice name="ActivateScroll" value="Activate and scroll"></choice>
|
||||
<choice name="ActivateRaiseAndScroll" value="Activate, raise and scroll"></choice>
|
||||
</choices>
|
||||
</entry>
|
||||
|
||||
<entry key="CommandAllKey" type="Enum">
|
||||
<default>Meta</default>
|
||||
<choices>
|
||||
<choice name="Meta"></choice>
|
||||
<choice name="Alt"></choice>
|
||||
</choices>
|
||||
</entry>
|
||||
|
||||
<entry key="CommandAll1" type="Enum">
|
||||
<default>Move</default>
|
||||
<choices>
|
||||
<choice name="Move"></choice>
|
||||
<choice name="ActivateRaiseAndMove" value="Activate, raise and move"></choice>
|
||||
<choice name="ToggleRaiseAndLower" value="Toggle raise and lower"></choice>
|
||||
<choice name="Resize"></choice>
|
||||
<choice name="Raise"></choice>
|
||||
<choice name="Lower"></choice>
|
||||
<choice name="Minimize"></choice>
|
||||
<choice name="DecreaseOpacity" value="Decrease Opacity"></choice>
|
||||
<choice name="IncreaseOpactiy" value="Increase Opacity"></choice>
|
||||
<choice name="Nothing"></choice>
|
||||
</choices>
|
||||
</entry>
|
||||
|
||||
<entry key="CommandAll2" type="Enum">
|
||||
<default>ToggleRaiseAndLower</default>
|
||||
<choices>
|
||||
<choice name="Move"></choice>
|
||||
<choice name="ActivateRaiseAndMove" value="Activate, raise and move"></choice>
|
||||
<choice name="ToggleRaiseAndLower" value="Toggle raise and lower"></choice>
|
||||
<choice name="Resize"></choice>
|
||||
<choice name="Raise"></choice>
|
||||
<choice name="Lower"></choice>
|
||||
<choice name="Minimize"></choice>
|
||||
<choice name="DecreaseOpacity" value="Decrease Opacity"></choice>
|
||||
<choice name="IncreaseOpactiy" value="Increase Opacity"></choice>
|
||||
<choice name="Nothing"></choice>
|
||||
</choices>
|
||||
</entry>
|
||||
|
||||
<entry key="CommandAll3" type="Enum">
|
||||
<default>Resize</default>
|
||||
<choices>
|
||||
<choice name="Move"></choice>
|
||||
<choice name="ActivateRaiseAndMove" value="Activate, raise and move"></choice>
|
||||
<choice name="ToggleRaiseAndLower" value="Toggle raise and lower"></choice>
|
||||
<choice name="Resize"></choice>
|
||||
<choice name="Raise"></choice>
|
||||
<choice name="Lower"></choice>
|
||||
<choice name="Minimize"></choice>
|
||||
<choice name="DecreaseOpacity" value="Decrease Opacity"></choice>
|
||||
<choice name="IncreaseOpactiy" value="Increase Opacity"></choice>
|
||||
<choice name="Nothing"></choice>
|
||||
</choices>
|
||||
</entry>
|
||||
|
||||
<entry key="CommandAllWheel" type="Enum">
|
||||
<default>Nothing</default>
|
||||
<choices>
|
||||
<choice name="RaiseLower" value="Raise/Lower"></choice>
|
||||
<choice name="ShadeUnshade" value="Shade/Unshade"></choice>
|
||||
<choice name="MaxmizeRestore" value="Maximize/Restore"></choice>
|
||||
<choice name="AboveBelow" value="Above/Below"></choice>
|
||||
<choice name="PreviousNextDesktop" value="Previous/Next Desktop"></choice>
|
||||
<choice name="ChangeOpacity" value="Change Opacity"></choice>
|
||||
<choice name="Nothing"></choice>
|
||||
</choices>
|
||||
</entry>
|
||||
|
||||
<entry key="DoubleClickBorderToMaximize" type="Bool">
|
||||
<default>true</default>
|
||||
</entry>
|
||||
|
||||
</group>
|
||||
</kcfg>
|
||||
@@ -0,0 +1,6 @@
|
||||
File=kwinoptions_settings.kcfg
|
||||
ClassName=KWinOptionsSettings
|
||||
IncludeFiles=options.h
|
||||
Mutators=true
|
||||
DefaultValueGetters=true
|
||||
ParentInConstructor=true
|
||||
@@ -0,0 +1,229 @@
|
||||
/*
|
||||
SPDX-FileCopyrightText: 2001 Waldo Bastian <bastian@kde.org>
|
||||
|
||||
SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
|
||||
#include "main.h"
|
||||
|
||||
#include <QLayout>
|
||||
// Added by qt3to4:
|
||||
#include <QVBoxLayout>
|
||||
|
||||
#include <QtDBus>
|
||||
|
||||
#include <KLocalizedString>
|
||||
#include <KPluginFactory>
|
||||
#include <kconfig.h>
|
||||
|
||||
#include "kwinoptions_kdeglobals_settings.h"
|
||||
#include "kwinoptions_settings.h"
|
||||
#include "kwinoptionsdata.h"
|
||||
#include "mouse.h"
|
||||
#include "windows.h"
|
||||
|
||||
K_PLUGIN_CLASS_WITH_JSON(KWinOptions, "kcm_kwinoptions.json")
|
||||
|
||||
class KFocusConfigStandalone : public KFocusConfig
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
KFocusConfigStandalone(QWidget *parent, const QVariantList &)
|
||||
: KFocusConfig(true, nullptr, parent)
|
||||
{
|
||||
initialize(new KWinOptionsSettings(this));
|
||||
}
|
||||
};
|
||||
|
||||
class KMovingConfigStandalone : public KMovingConfig
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
KMovingConfigStandalone(QWidget *parent, const QVariantList &)
|
||||
: KMovingConfig(true, nullptr, parent)
|
||||
{
|
||||
initialize(new KWinOptionsSettings(this));
|
||||
}
|
||||
};
|
||||
|
||||
class KAdvancedConfigStandalone : public KAdvancedConfig
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
KAdvancedConfigStandalone(QWidget *parent, const QVariantList &)
|
||||
: KAdvancedConfig(true, nullptr, nullptr, parent)
|
||||
{
|
||||
initialize(new KWinOptionsSettings(this), new KWinOptionsKDEGlobalsSettings(this));
|
||||
}
|
||||
};
|
||||
|
||||
KWinOptions::KWinOptions(QObject *parent, const KPluginMetaData &data)
|
||||
: KCModule(parent, data)
|
||||
{
|
||||
mSettings = new KWinOptionsSettings(this);
|
||||
|
||||
QVBoxLayout *layout = new QVBoxLayout(widget());
|
||||
layout->setContentsMargins(0, 0, 0, 0);
|
||||
tab = new QTabWidget(widget());
|
||||
tab->setDocumentMode(true);
|
||||
tab->tabBar()->setExpanding(true);
|
||||
layout->addWidget(tab);
|
||||
|
||||
const auto connectKCM = [this](KCModule *mod) {
|
||||
connect(mod, &KCModule::needsSaveChanged, this, &KWinOptions::updateUnmanagedState);
|
||||
connect(this, &KCModule::defaultsIndicatorsVisibleChanged, mod, [mod, this]() {
|
||||
mod->setDefaultsIndicatorsVisible(defaultsIndicatorsVisible());
|
||||
});
|
||||
};
|
||||
|
||||
mFocus = new KFocusConfig(false, mSettings, widget());
|
||||
mFocus->setObjectName(QLatin1String("KWin Focus Config"));
|
||||
tab->addTab(mFocus->widget(), i18n("&Focus"));
|
||||
connectKCM(mFocus);
|
||||
|
||||
mTitleBarActions = new KTitleBarActionsConfig(false, mSettings, widget());
|
||||
mTitleBarActions->setObjectName(QLatin1String("KWin TitleBar Actions"));
|
||||
tab->addTab(mTitleBarActions->widget(), i18n("Titlebar A&ctions"));
|
||||
connectKCM(mTitleBarActions);
|
||||
|
||||
mWindowActions = new KWindowActionsConfig(false, mSettings, widget());
|
||||
mWindowActions->setObjectName(QLatin1String("KWin Window Actions"));
|
||||
tab->addTab(mWindowActions->widget(), i18n("W&indow Actions"));
|
||||
connectKCM(mWindowActions);
|
||||
|
||||
mMoving = new KMovingConfig(false, mSettings, widget());
|
||||
mMoving->setObjectName(QLatin1String("KWin Moving"));
|
||||
tab->addTab(mMoving->widget(), i18n("Mo&vement"));
|
||||
connectKCM(mMoving);
|
||||
|
||||
mAdvanced = new KAdvancedConfig(false, mSettings, new KWinOptionsKDEGlobalsSettings(this), widget());
|
||||
mAdvanced->setObjectName(QLatin1String("KWin Advanced"));
|
||||
tab->addTab(mAdvanced->widget(), i18n("Adva&nced"));
|
||||
connectKCM(mAdvanced);
|
||||
}
|
||||
|
||||
void KWinOptions::load()
|
||||
{
|
||||
KCModule::load();
|
||||
|
||||
mTitleBarActions->load();
|
||||
mWindowActions->load();
|
||||
mMoving->load();
|
||||
mAdvanced->load();
|
||||
// mFocus is last because it may send unmanagedWidgetStateChanged
|
||||
// that need to have the final word
|
||||
mFocus->load();
|
||||
}
|
||||
|
||||
void KWinOptions::save()
|
||||
{
|
||||
KCModule::save();
|
||||
|
||||
mFocus->save();
|
||||
mTitleBarActions->save();
|
||||
mWindowActions->save();
|
||||
mMoving->save();
|
||||
mAdvanced->save();
|
||||
|
||||
// Send signal to all kwin instances
|
||||
QDBusMessage message =
|
||||
QDBusMessage::createSignal("/KWin", "org.kde.KWin", "reloadConfig");
|
||||
QDBusConnection::sessionBus().send(message);
|
||||
}
|
||||
|
||||
void KWinOptions::defaults()
|
||||
{
|
||||
KCModule::defaults();
|
||||
|
||||
mTitleBarActions->defaults();
|
||||
mWindowActions->defaults();
|
||||
mMoving->defaults();
|
||||
mAdvanced->defaults();
|
||||
// mFocus is last because it may send unmanagedWidgetDefaulted
|
||||
// that need to have the final word
|
||||
mFocus->defaults();
|
||||
}
|
||||
|
||||
void KWinOptions::updateUnmanagedState()
|
||||
{
|
||||
bool changed = false;
|
||||
changed |= mFocus->needsSave();
|
||||
changed |= mTitleBarActions->needsSave();
|
||||
changed |= mWindowActions->needsSave();
|
||||
changed |= mMoving->needsSave();
|
||||
changed |= mAdvanced->needsSave();
|
||||
|
||||
unmanagedWidgetChangeState(changed);
|
||||
|
||||
bool isDefault = true;
|
||||
isDefault &= mFocus->representsDefaults();
|
||||
isDefault &= mTitleBarActions->representsDefaults();
|
||||
isDefault &= mWindowActions->representsDefaults();
|
||||
isDefault &= mMoving->representsDefaults();
|
||||
isDefault &= mAdvanced->representsDefaults();
|
||||
|
||||
unmanagedWidgetDefaultState(isDefault);
|
||||
}
|
||||
|
||||
KActionsOptions::KActionsOptions(QObject *parent, const KPluginMetaData &data)
|
||||
: KCModule(parent, data)
|
||||
{
|
||||
mSettings = new KWinOptionsSettings(this);
|
||||
|
||||
QVBoxLayout *layout = new QVBoxLayout(widget());
|
||||
layout->setContentsMargins(0, 0, 0, 0);
|
||||
tab = new QTabWidget(widget());
|
||||
layout->addWidget(tab);
|
||||
|
||||
mTitleBarActions = new KTitleBarActionsConfig(false, mSettings, widget());
|
||||
mTitleBarActions->setObjectName(QLatin1String("KWin TitleBar Actions"));
|
||||
tab->addTab(mTitleBarActions->widget(), i18n("&Titlebar Actions"));
|
||||
connect(mTitleBarActions, &KCModule::needsSaveChanged, this, [this]() {
|
||||
setNeedsSave(mTitleBarActions->needsSave());
|
||||
});
|
||||
connect(mTitleBarActions, &KCModule::representsDefaultsChanged, this, [this]() {
|
||||
setRepresentsDefaults(mTitleBarActions->representsDefaults());
|
||||
});
|
||||
|
||||
mWindowActions = new KWindowActionsConfig(false, mSettings, widget());
|
||||
mWindowActions->setObjectName(QLatin1String("KWin Window Actions"));
|
||||
tab->addTab(mWindowActions->widget(), i18n("Window Actio&ns"));
|
||||
connect(mWindowActions, &KCModule::needsSaveChanged, this, [this]() {
|
||||
setNeedsSave(mWindowActions->needsSave());
|
||||
});
|
||||
connect(mWindowActions, &KCModule::representsDefaultsChanged, this, [this]() {
|
||||
setRepresentsDefaults(mWindowActions->representsDefaults());
|
||||
});
|
||||
}
|
||||
|
||||
void KActionsOptions::load()
|
||||
{
|
||||
mTitleBarActions->load();
|
||||
mWindowActions->load();
|
||||
}
|
||||
|
||||
void KActionsOptions::save()
|
||||
{
|
||||
mTitleBarActions->save();
|
||||
mWindowActions->save();
|
||||
|
||||
setNeedsSave(false);
|
||||
// Send signal to all kwin instances
|
||||
QDBusMessage message = QDBusMessage::createSignal("/KWin", "org.kde.KWin", "reloadConfig");
|
||||
QDBusConnection::sessionBus().send(message);
|
||||
}
|
||||
|
||||
void KActionsOptions::defaults()
|
||||
{
|
||||
mTitleBarActions->defaults();
|
||||
mWindowActions->defaults();
|
||||
}
|
||||
|
||||
void KActionsOptions::moduleChanged(bool state)
|
||||
{
|
||||
setNeedsSave(state);
|
||||
}
|
||||
|
||||
#include "main.moc"
|
||||
|
||||
#include "moc_main.cpp"
|
||||
@@ -0,0 +1,73 @@
|
||||
/*
|
||||
main.h
|
||||
|
||||
SPDX-FileCopyrightText: 2001 Waldo Bastian <bastian@kde.org>
|
||||
|
||||
Requires the Qt widget libraries, available at no cost at
|
||||
https://www.qt.io
|
||||
|
||||
SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <KCModule>
|
||||
#include <QTabWidget>
|
||||
|
||||
class KWinOptionsSettings;
|
||||
class KWinOptionsKDEGlobalsSettings;
|
||||
class KFocusConfig;
|
||||
class KTitleBarActionsConfig;
|
||||
class KWindowActionsConfig;
|
||||
class KAdvancedConfig;
|
||||
class KMovingConfig;
|
||||
|
||||
class KWinOptions : public KCModule
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit KWinOptions(QObject *parent, const KPluginMetaData &data);
|
||||
|
||||
void load() override;
|
||||
void save() override;
|
||||
void defaults() override;
|
||||
|
||||
protected Q_SLOTS:
|
||||
void updateUnmanagedState();
|
||||
|
||||
private:
|
||||
QTabWidget *tab;
|
||||
|
||||
KFocusConfig *mFocus;
|
||||
KTitleBarActionsConfig *mTitleBarActions;
|
||||
KWindowActionsConfig *mWindowActions;
|
||||
KMovingConfig *mMoving;
|
||||
KAdvancedConfig *mAdvanced;
|
||||
|
||||
KWinOptionsSettings *mSettings;
|
||||
};
|
||||
|
||||
class KActionsOptions : public KCModule
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
KActionsOptions(QObject *parent, const KPluginMetaData &data);
|
||||
|
||||
void load() override;
|
||||
void save() override;
|
||||
void defaults() override;
|
||||
|
||||
protected Q_SLOTS:
|
||||
|
||||
void moduleChanged(bool state);
|
||||
|
||||
private:
|
||||
QTabWidget *tab;
|
||||
|
||||
KTitleBarActionsConfig *mTitleBarActions;
|
||||
KWindowActionsConfig *mWindowActions;
|
||||
|
||||
KWinOptionsSettings *mSettings;
|
||||
};
|
||||
@@ -0,0 +1,83 @@
|
||||
/*
|
||||
SPDX-FileCopyrightText: 1998 Matthias Ettrich <ettrich@kde.org>
|
||||
|
||||
SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
|
||||
#include "mouse.h"
|
||||
#include "kwinoptions_settings.h"
|
||||
|
||||
#include <KWindowSystem>
|
||||
#include <QDBusConnection>
|
||||
#include <QDBusMessage>
|
||||
|
||||
KWinMouseConfigForm::KWinMouseConfigForm(QWidget *parent)
|
||||
: QWidget(parent)
|
||||
{
|
||||
setupUi(parent);
|
||||
}
|
||||
|
||||
KWinActionsConfigForm::KWinActionsConfigForm(QWidget *parent)
|
||||
: QWidget(parent)
|
||||
{
|
||||
setupUi(parent);
|
||||
}
|
||||
|
||||
KTitleBarActionsConfig::KTitleBarActionsConfig(bool _standAlone, KWinOptionsSettings *settings, QWidget *parent)
|
||||
: KCModule(parent, KPluginMetaData())
|
||||
, standAlone(_standAlone)
|
||||
, m_ui(new KWinMouseConfigForm(widget()))
|
||||
{
|
||||
if (settings) {
|
||||
initialize(settings);
|
||||
}
|
||||
}
|
||||
|
||||
void KTitleBarActionsConfig::initialize(KWinOptionsSettings *settings)
|
||||
{
|
||||
m_settings = settings;
|
||||
addConfig(m_settings, widget());
|
||||
}
|
||||
|
||||
void KTitleBarActionsConfig::save()
|
||||
{
|
||||
KCModule::save();
|
||||
|
||||
if (standAlone) {
|
||||
// Send signal to all kwin instances
|
||||
QDBusMessage message =
|
||||
QDBusMessage::createSignal("/KWin", "org.kde.KWin", "reloadConfig");
|
||||
QDBusConnection::sessionBus().send(message);
|
||||
}
|
||||
}
|
||||
|
||||
KWindowActionsConfig::KWindowActionsConfig(bool _standAlone, KWinOptionsSettings *settings, QWidget *parent)
|
||||
: KCModule(parent, KPluginMetaData())
|
||||
, standAlone(_standAlone)
|
||||
, m_ui(new KWinActionsConfigForm(widget()))
|
||||
{
|
||||
if (settings) {
|
||||
initialize(settings);
|
||||
}
|
||||
}
|
||||
|
||||
void KWindowActionsConfig::initialize(KWinOptionsSettings *settings)
|
||||
{
|
||||
m_settings = settings;
|
||||
addConfig(m_settings, widget());
|
||||
m_ui->info_1->setVisible(KWindowSystem::isPlatformX11());
|
||||
}
|
||||
|
||||
void KWindowActionsConfig::save()
|
||||
{
|
||||
KCModule::save();
|
||||
|
||||
if (standAlone) {
|
||||
// Send signal to all kwin instances
|
||||
QDBusMessage message =
|
||||
QDBusMessage::createSignal("/KWin", "org.kde.KWin", "reloadConfig");
|
||||
QDBusConnection::sessionBus().send(message);
|
||||
}
|
||||
}
|
||||
|
||||
#include "moc_mouse.cpp"
|
||||
@@ -0,0 +1,77 @@
|
||||
/*
|
||||
mouse.h
|
||||
|
||||
SPDX-FileCopyrightText: 1998 Matthias Ettrich <ettrich@kde.org>
|
||||
|
||||
|
||||
SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
class KConfig;
|
||||
|
||||
#include <KCModule>
|
||||
#include <KLocalizedString>
|
||||
|
||||
#include "ui_actions.h"
|
||||
#include "ui_mouse.h"
|
||||
|
||||
class KWinOptionsSettings;
|
||||
|
||||
class KWinMouseConfigForm : public QWidget, public Ui::KWinMouseConfigForm
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit KWinMouseConfigForm(QWidget *parent);
|
||||
};
|
||||
|
||||
class KWinActionsConfigForm : public QWidget, public Ui::KWinActionsConfigForm
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit KWinActionsConfigForm(QWidget *parent);
|
||||
};
|
||||
|
||||
class KTitleBarActionsConfig : public KCModule
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
KTitleBarActionsConfig(bool _standAlone, KWinOptionsSettings *settings, QWidget *parent);
|
||||
|
||||
void save() override;
|
||||
|
||||
protected:
|
||||
void initialize(KWinOptionsSettings *settings);
|
||||
|
||||
private:
|
||||
bool standAlone;
|
||||
|
||||
KWinMouseConfigForm *m_ui;
|
||||
KWinOptionsSettings *m_settings;
|
||||
};
|
||||
|
||||
class KWindowActionsConfig : public KCModule
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
KWindowActionsConfig(bool _standAlone, KWinOptionsSettings *settings, QWidget *parent);
|
||||
|
||||
void save() override;
|
||||
|
||||
bool isDefaults() const;
|
||||
bool isSaveNeeded() const;
|
||||
|
||||
protected:
|
||||
void initialize(KWinOptionsSettings *settings);
|
||||
|
||||
private:
|
||||
bool standAlone;
|
||||
|
||||
KWinActionsConfigForm *m_ui;
|
||||
KWinOptionsSettings *m_settings;
|
||||
};
|
||||
@@ -0,0 +1,749 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>KWinMouseConfigForm</class>
|
||||
<widget class="QWidget" name="KWinMouseConfigForm">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>600</width>
|
||||
<height>500</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_1">
|
||||
<property name="title">
|
||||
<string>Titlebar Actions</string>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<layout class="QFormLayout" name="formLayout_1">
|
||||
<property name="formAlignment">
|
||||
<set>Qt::AlignHCenter|Qt::AlignTop</set>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_1">
|
||||
<property name="text">
|
||||
<string>&Double-click:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>kcfg_TitlebarDoubleClickCommand</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QComboBox" name="kcfg_TitlebarDoubleClickCommand">
|
||||
<property name="whatsThis">
|
||||
<string>Behavior on <em>double</em> click into the titlebar.</string>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string extracomment="@item:inlistbox behavior on double click">Maximize</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string extracomment="@item:inlistbox behavior on double click">Vertically maximize</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string extracomment="@item:inlistbox behavior on double click">Horizontally maximize</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string extracomment="@item:inlistbox behavior on double click">Minimize</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string extracomment="@item:inlistbox behavior on double click">Shade</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string extracomment="@item:inlistbox behavior on double click">Lower</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string extracomment="@item:inlistbox behavior on double click">Close</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string extracomment="@item:inlistbox behavior on double click">Show on all desktops</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string extracomment="@item:inlistbox behavior on double click">Do nothing</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Mouse &wheel:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>kcfg_CommandTitlebarWheel</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QComboBox" name="kcfg_CommandTitlebarWheel">
|
||||
<property name="whatsThis">
|
||||
<string>Behavior on <em>mouse wheel</em> scroll over the titlebar.</string>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Raise/lower</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Shade/unshade</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Maximize/restore</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Keep above/below</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Move to previous/next desktop</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Change opacity</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Do nothing</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_2">
|
||||
<property name="title">
|
||||
<string>Titlebar and Frame Actions</string>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_1">
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_1">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout_1">
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Active</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>&Left click:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>kcfg_CommandActiveTitlebar1</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Inactive</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="text">
|
||||
<string>&Middle click:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>kcfg_CommandActiveTitlebar2</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_7">
|
||||
<property name="text">
|
||||
<string>&Right click:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>kcfg_CommandActiveTitlebar3</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QComboBox" name="kcfg_CommandActiveTitlebar1">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="whatsThis">
|
||||
<string>Behavior on <em>left</em> click into the titlebar or frame of an <em>active</em> window.</string>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Raise</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Lower</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Toggle raise and lower</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Minimize</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Shade</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Close</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Show actions menu</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Do nothing</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QComboBox" name="kcfg_CommandInactiveTitlebar1">
|
||||
<property name="whatsThis">
|
||||
<string>Behavior on <em>left</em> click into the titlebar or frame of an <em>inactive</em> window.</string>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Activate and raise</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Activate and lower</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Activate</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Raise</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Lower</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Toggle raise and lower</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Minimize</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Shade</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Close</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Show actions menu</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Do nothing</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QComboBox" name="kcfg_CommandActiveTitlebar2">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="whatsThis">
|
||||
<string>Behavior on <em>left</em> click into the titlebar or frame of an <em>active</em> window.</string>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Raise</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Lower</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Toggle raise and lower</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Minimize</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Shade</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Close</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Show actions menu</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Do nothing</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="2">
|
||||
<widget class="QComboBox" name="kcfg_CommandInactiveTitlebar2">
|
||||
<property name="whatsThis">
|
||||
<string>Behavior on <em>left</em> click into the titlebar or frame of an <em>inactive</em> window.</string>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Activate and raise</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Activate and lower</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Activate</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Raise</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Lower</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Toggle raise and lower</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Minimize</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Shade</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Close</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Show actions menu</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Do nothing</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QComboBox" name="kcfg_CommandActiveTitlebar3">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="whatsThis">
|
||||
<string>Behavior on <em>left</em> click into the titlebar or frame of an <em>active</em> window.</string>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Raise</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Lower</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Toggle raise and lower</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Minimize</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Shade</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Close</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Show actions menu</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Do nothing</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="2">
|
||||
<widget class="QComboBox" name="kcfg_CommandInactiveTitlebar3">
|
||||
<property name="whatsThis">
|
||||
<string>Behavior on <em>left</em> click into the titlebar or frame of an <em>inactive</em> window.</string>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Activate and raise</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Activate and lower</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Activate</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Raise</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Lower</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Toggle raise and lower</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Minimize</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Shade</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Close</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Show actions menu</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Do nothing</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1" colspan="2">
|
||||
<widget class="QCheckBox" name="kcfg_DoubleClickBorderToMaximize">
|
||||
<property name="text">
|
||||
<string>Maximize window by double clicking its frame</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_3">
|
||||
<property name="title">
|
||||
<string>Maximize Button Actions</string>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<layout class="QFormLayout" name="formLayout_2">
|
||||
<property name="formAlignment">
|
||||
<set>Qt::AlignHCenter|Qt::AlignTop</set>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_8">
|
||||
<property name="whatsThis">
|
||||
<string>Behavior on <em>left</em> click onto the maximize button.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>L&eft click:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>kcfg_MaximizeButtonLeftClickCommand</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QComboBox" name="kcfg_MaximizeButtonLeftClickCommand">
|
||||
<property name="whatsThis">
|
||||
<string>Behavior on <em>left</em> click onto the maximize button.</string>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Maximize</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Vertically maximize</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Horizontally maximize</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_9">
|
||||
<property name="whatsThis">
|
||||
<string>Behavior on <em>middle</em> click onto the maximize button.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Middle c&lick:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>kcfg_MaximizeButtonMiddleClickCommand</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QComboBox" name="kcfg_MaximizeButtonMiddleClickCommand">
|
||||
<property name="whatsThis">
|
||||
<string>Behavior on <em>middle</em> click onto the maximize button.</string>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Maximize</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Vertically maximize</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Horizontally maximize</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_10">
|
||||
<property name="whatsThis">
|
||||
<string>Behavior on <em>right</em> click onto the maximize button.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Right clic&k:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>kcfg_MaximizeButtonRightClickCommand</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QComboBox" name="kcfg_MaximizeButtonRightClickCommand">
|
||||
<property name="whatsThis">
|
||||
<string>Behavior on <em>right</em> click onto the maximize button.</string>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Maximize</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Vertically maximize</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Horizontally maximize</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_1">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>kcfg_TitlebarDoubleClickCommand</tabstop>
|
||||
<tabstop>kcfg_CommandTitlebarWheel</tabstop>
|
||||
<tabstop>kcfg_CommandActiveTitlebar1</tabstop>
|
||||
<tabstop>kcfg_CommandInactiveTitlebar1</tabstop>
|
||||
<tabstop>kcfg_CommandActiveTitlebar2</tabstop>
|
||||
<tabstop>kcfg_CommandInactiveTitlebar2</tabstop>
|
||||
<tabstop>kcfg_CommandActiveTitlebar3</tabstop>
|
||||
<tabstop>kcfg_CommandInactiveTitlebar3</tabstop>
|
||||
<tabstop>kcfg_MaximizeButtonLeftClickCommand</tabstop>
|
||||
<tabstop>kcfg_MaximizeButtonMiddleClickCommand</tabstop>
|
||||
<tabstop>kcfg_MaximizeButtonRightClickCommand</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -0,0 +1,134 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>KWinMovingConfigForm</class>
|
||||
<widget class="QWidget" name="KWinMovingConfigForm">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>600</width>
|
||||
<height>500</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QFormLayout" name="formLayout">
|
||||
<property name="formAlignment">
|
||||
<set>Qt::AlignHCenter|Qt::AlignTop</set>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="borderSnapLabel">
|
||||
<property name="text">
|
||||
<string>Screen &edge snap zone:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>kcfg_BorderSnapZone</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QSpinBox" name="kcfg_BorderSnapZone">
|
||||
<property name="whatsThis">
|
||||
<string>Here you can set the snap zone for screen edges, i.e. the 'strength' of the magnetic field which will make windows snap to the border when moved near it.</string>
|
||||
</property>
|
||||
<property name="specialValueText">
|
||||
<string>None</string>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string> px</string>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>10</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="windowSnapLabel">
|
||||
<property name="text">
|
||||
<string>&Window snap zone:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>kcfg_WindowSnapZone</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QSpinBox" name="kcfg_WindowSnapZone">
|
||||
<property name="whatsThis">
|
||||
<string>Here you can set the snap zone for windows, i.e. the 'strength' of the magnetic field which will make windows snap to each other when they are moved near another window.</string>
|
||||
</property>
|
||||
<property name="specialValueText">
|
||||
<string>None</string>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string> px</string>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>10</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="centerSnaplabel">
|
||||
<property name="text">
|
||||
<string>&Center snap zone:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>kcfg_CenterSnapZone</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QSpinBox" name="kcfg_CenterSnapZone">
|
||||
<property name="whatsThis">
|
||||
<string>Here you can set the snap zone for the screen center, i.e. the 'strength' of the magnetic field which will make windows snap to the center of the screen when moved near it.</string>
|
||||
</property>
|
||||
<property name="specialValueText">
|
||||
<string>None</string>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string> px</string>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>100</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="OverlapSnapLabel">
|
||||
<property name="text">
|
||||
<string>&Snap windows:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>kcfg_SnapOnlyWhenOverlapping</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QCheckBox" name="kcfg_SnapOnlyWhenOverlapping">
|
||||
<property name="whatsThis">
|
||||
<string>Here you can set that windows will be only snapped if you try to overlap them, i.e. they will not be snapped if the windows comes only near another window or border.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Only when overlapping</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -0,0 +1,310 @@
|
||||
/*
|
||||
windows.cpp
|
||||
|
||||
SPDX-FileCopyrightText: 1997 Patrick Dowler <dowler@morgul.fsh.uvic.ca>
|
||||
SPDX-FileCopyrightText: 2001 Waldo Bastian <bastian@kde.org>
|
||||
|
||||
SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
|
||||
#include <QApplication>
|
||||
#include <QCheckBox>
|
||||
#include <QFormLayout>
|
||||
#include <QGroupBox>
|
||||
#include <QHBoxLayout>
|
||||
#include <QLabel>
|
||||
#include <QRadioButton>
|
||||
#include <QScreen>
|
||||
#include <QtDBus>
|
||||
|
||||
#include <KConfig>
|
||||
#include <KConfigGroup>
|
||||
#include <KLocalizedString>
|
||||
#include <KWindowSystem>
|
||||
|
||||
#include "kwinoptions_settings.h"
|
||||
#include "windows.h"
|
||||
#include <kwin_effects_interface.h>
|
||||
|
||||
#include "kwinoptions_kdeglobals_settings.h"
|
||||
#include "kwinoptions_settings.h"
|
||||
|
||||
#define CLICK_TO_FOCUS 0
|
||||
#define CLICK_TO_FOCUS_MOUSE_PRECEDENT 1
|
||||
#define FOCUS_FOLLOWS_MOUSE 2
|
||||
#define FOCUS_FOLLOWS_MOUSE_PRECEDENT 3
|
||||
#define FOCUS_UNDER_MOUSE 4
|
||||
#define FOCUS_STRICTLY_UNDER_MOUSE 5
|
||||
|
||||
namespace
|
||||
{
|
||||
constexpr int defaultFocusPolicyIndex = CLICK_TO_FOCUS;
|
||||
}
|
||||
|
||||
KWinFocusConfigForm::KWinFocusConfigForm(QWidget *parent)
|
||||
: QWidget(parent)
|
||||
{
|
||||
setupUi(parent);
|
||||
}
|
||||
|
||||
KFocusConfig::KFocusConfig(bool _standAlone, KWinOptionsSettings *settings, QWidget *parent)
|
||||
: KCModule(parent, KPluginMetaData())
|
||||
, standAlone(_standAlone)
|
||||
, m_ui(new KWinFocusConfigForm(widget()))
|
||||
{
|
||||
if (settings) {
|
||||
initialize(settings);
|
||||
}
|
||||
}
|
||||
|
||||
void KFocusConfig::initialize(KWinOptionsSettings *settings)
|
||||
{
|
||||
m_settings = settings;
|
||||
addConfig(m_settings, widget());
|
||||
|
||||
connect(m_ui->windowFocusPolicy, qOverload<int>(&QComboBox::currentIndexChanged), this, &KFocusConfig::focusPolicyChanged);
|
||||
connect(m_ui->windowFocusPolicy, qOverload<int>(&QComboBox::currentIndexChanged), this, &KFocusConfig::updateDefaultIndicator);
|
||||
connect(this, SIGNAL(defaultsIndicatorsVisibleChanged(bool)), this, SLOT(updateDefaultIndicator()));
|
||||
|
||||
connect(qApp, &QGuiApplication::screenAdded, this, &KFocusConfig::updateMultiScreen);
|
||||
connect(qApp, &QGuiApplication::screenRemoved, this, &KFocusConfig::updateMultiScreen);
|
||||
updateMultiScreen();
|
||||
}
|
||||
|
||||
void KFocusConfig::updateMultiScreen()
|
||||
{
|
||||
m_ui->multiscreenBehaviorLabel->setVisible(QApplication::screens().count() > 1);
|
||||
m_ui->kcfg_SeparateScreenFocus->setVisible(QApplication::screens().count() > 1);
|
||||
}
|
||||
|
||||
void KFocusConfig::updateDefaultIndicator()
|
||||
{
|
||||
const bool isDefault = m_ui->windowFocusPolicy->currentIndex() == defaultFocusPolicyIndex;
|
||||
m_ui->windowFocusPolicy->setProperty("_kde_highlight_neutral", defaultsIndicatorsVisible() && !isDefault);
|
||||
m_ui->windowFocusPolicy->update();
|
||||
}
|
||||
|
||||
void KFocusConfig::updateFocusPolicyExplanatoryText()
|
||||
{
|
||||
const int focusPolicy = m_ui->windowFocusPolicy->currentIndex();
|
||||
switch (focusPolicy) {
|
||||
case CLICK_TO_FOCUS:
|
||||
m_ui->windowFocusPolicyDescriptionLabel->setText(i18n("<em>Click to focus:</em> A window becomes active when you click into it. This behavior is common on other operating systems and likely what you want."));
|
||||
break;
|
||||
case CLICK_TO_FOCUS_MOUSE_PRECEDENT:
|
||||
m_ui->windowFocusPolicyDescriptionLabel->setText(i18n("<em>Click to focus (mouse precedence):</em> Mostly the same as <em>Click to focus</em>. If an active window has to be chosen by the system (eg. because the currently active one was closed) the window under the mouse is the preferred candidate. Unusual, but possible variant of <em>Click to focus</em>."));
|
||||
break;
|
||||
case FOCUS_FOLLOWS_MOUSE:
|
||||
m_ui->windowFocusPolicyDescriptionLabel->setText(i18n("<em>Focus follows mouse:</em> Moving the mouse onto a window will activate it. Eg. windows randomly appearing under the mouse will not gain the focus. <em>Focus stealing prevention</em> takes place as usual. Think as <em>Click to focus</em> just without having to actually click."));
|
||||
break;
|
||||
case FOCUS_FOLLOWS_MOUSE_PRECEDENT:
|
||||
m_ui->windowFocusPolicyDescriptionLabel->setText(i18n("This is mostly the same as <em>Focus follows mouse</em>. If an active window has to be chosen by the system (eg. because the currently active one was closed) the window under the mouse is the preferred candidate. Choose this, if you want a hover controlled focus."));
|
||||
break;
|
||||
case FOCUS_UNDER_MOUSE:
|
||||
m_ui->windowFocusPolicyDescriptionLabel->setText(i18n("<em>Focus under mouse:</em> The focus always remains on the window under the mouse.<br/><strong>Warning:</strong> <em>Focus stealing prevention</em> and the <em>tabbox ('Alt+Tab')</em> contradict the activation policy and will not work. You very likely want to use <em>Focus follows mouse (mouse precedence)</em> instead!"));
|
||||
break;
|
||||
case FOCUS_STRICTLY_UNDER_MOUSE:
|
||||
m_ui->windowFocusPolicyDescriptionLabel->setText(i18n("<em>Focus strictly under mouse:</em> The focus is always on the window under the mouse (in doubt nowhere) very much like the focus behavior in an unmanaged legacy X11 environment.<br/><strong>Warning:</strong> <em>Focus stealing prevention</em> and the <em>tabbox ('Alt+Tab')</em> contradict the activation policy and will not work. You very likely want to use <em>Focus follows mouse (mouse precedence)</em> instead!"));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void KFocusConfig::focusPolicyChanged()
|
||||
{
|
||||
int selectedFocusPolicy = 0;
|
||||
bool selectedNextFocusPrefersMouseItem = false;
|
||||
const bool loadedNextFocusPrefersMouseItem = m_settings->nextFocusPrefersMouse();
|
||||
|
||||
updateFocusPolicyExplanatoryText();
|
||||
|
||||
int focusPolicy = m_ui->windowFocusPolicy->currentIndex();
|
||||
switch (focusPolicy) {
|
||||
case CLICK_TO_FOCUS:
|
||||
selectedFocusPolicy = KWinOptionsSettings::EnumFocusPolicy::ClickToFocus;
|
||||
break;
|
||||
case CLICK_TO_FOCUS_MOUSE_PRECEDENT:
|
||||
selectedFocusPolicy = KWinOptionsSettings::EnumFocusPolicy::ClickToFocus;
|
||||
selectedNextFocusPrefersMouseItem = true;
|
||||
break;
|
||||
case FOCUS_FOLLOWS_MOUSE:
|
||||
selectedFocusPolicy = KWinOptionsSettings::EnumFocusPolicy::FocusFollowsMouse;
|
||||
break;
|
||||
case FOCUS_FOLLOWS_MOUSE_PRECEDENT:
|
||||
selectedFocusPolicy = KWinOptionsSettings::EnumFocusPolicy::FocusFollowsMouse;
|
||||
selectedNextFocusPrefersMouseItem = true;
|
||||
break;
|
||||
case FOCUS_UNDER_MOUSE:
|
||||
selectedFocusPolicy = KWinOptionsSettings::EnumFocusPolicy::FocusUnderMouse;
|
||||
break;
|
||||
case FOCUS_STRICTLY_UNDER_MOUSE:
|
||||
selectedFocusPolicy = KWinOptionsSettings::EnumFocusPolicy::FocusStrictlyUnderMouse;
|
||||
break;
|
||||
}
|
||||
|
||||
unmanagedWidgetChangeState(m_settings->focusPolicy() != selectedFocusPolicy || loadedNextFocusPrefersMouseItem != selectedNextFocusPrefersMouseItem);
|
||||
|
||||
unmanagedWidgetDefaultState(focusPolicy == defaultFocusPolicyIndex);
|
||||
|
||||
// the auto raise related widgets are: autoRaise
|
||||
m_ui->kcfg_AutoRaise->setEnabled(focusPolicy != CLICK_TO_FOCUS && focusPolicy != CLICK_TO_FOCUS_MOUSE_PRECEDENT);
|
||||
|
||||
m_ui->kcfg_FocusStealingPreventionLevel->setDisabled(focusPolicy == FOCUS_UNDER_MOUSE || focusPolicy == FOCUS_STRICTLY_UNDER_MOUSE);
|
||||
|
||||
// the delayed focus related widgets are: delayFocus
|
||||
m_ui->delayFocusOnLabel->setEnabled(focusPolicy != CLICK_TO_FOCUS);
|
||||
m_ui->kcfg_DelayFocusInterval->setEnabled(focusPolicy != CLICK_TO_FOCUS);
|
||||
}
|
||||
|
||||
void KFocusConfig::load(void)
|
||||
{
|
||||
KCModule::load();
|
||||
|
||||
const bool loadedNextFocusPrefersMouseItem = m_settings->nextFocusPrefersMouse();
|
||||
|
||||
int focusPolicy = m_settings->focusPolicy();
|
||||
|
||||
switch (focusPolicy) {
|
||||
// the ClickToFocus and FocusFollowsMouse have special values when
|
||||
// NextFocusPrefersMouse is true
|
||||
case KWinOptionsSettings::EnumFocusPolicy::ClickToFocus:
|
||||
m_ui->windowFocusPolicy->setCurrentIndex(CLICK_TO_FOCUS + loadedNextFocusPrefersMouseItem);
|
||||
break;
|
||||
case KWinOptionsSettings::EnumFocusPolicy::FocusFollowsMouse:
|
||||
m_ui->windowFocusPolicy->setCurrentIndex(FOCUS_FOLLOWS_MOUSE + loadedNextFocusPrefersMouseItem);
|
||||
break;
|
||||
default:
|
||||
// +2 to ignore the two special values
|
||||
m_ui->windowFocusPolicy->setCurrentIndex(focusPolicy + 2);
|
||||
break;
|
||||
}
|
||||
updateFocusPolicyExplanatoryText();
|
||||
}
|
||||
|
||||
void KFocusConfig::save(void)
|
||||
{
|
||||
KCModule::save();
|
||||
|
||||
int idxFocusPolicy = m_ui->windowFocusPolicy->currentIndex();
|
||||
switch (idxFocusPolicy) {
|
||||
case CLICK_TO_FOCUS:
|
||||
case CLICK_TO_FOCUS_MOUSE_PRECEDENT:
|
||||
m_settings->setFocusPolicy(KWinOptionsSettings::EnumFocusPolicy::ClickToFocus);
|
||||
break;
|
||||
case FOCUS_FOLLOWS_MOUSE:
|
||||
case FOCUS_FOLLOWS_MOUSE_PRECEDENT:
|
||||
// the ClickToFocus and FocusFollowsMouse have special values when
|
||||
// NextFocusPrefersMouse is true
|
||||
m_settings->setFocusPolicy(KWinOptionsSettings::EnumFocusPolicy::FocusFollowsMouse);
|
||||
break;
|
||||
case FOCUS_UNDER_MOUSE:
|
||||
m_settings->setFocusPolicy(KWinOptionsSettings::EnumFocusPolicy::FocusUnderMouse);
|
||||
break;
|
||||
case FOCUS_STRICTLY_UNDER_MOUSE:
|
||||
m_settings->setFocusPolicy(KWinOptionsSettings::EnumFocusPolicy::FocusStrictlyUnderMouse);
|
||||
break;
|
||||
}
|
||||
m_settings->setNextFocusPrefersMouse(idxFocusPolicy == CLICK_TO_FOCUS_MOUSE_PRECEDENT || idxFocusPolicy == FOCUS_FOLLOWS_MOUSE_PRECEDENT);
|
||||
|
||||
m_settings->save();
|
||||
|
||||
if (standAlone) {
|
||||
// Send signal to all kwin instances
|
||||
QDBusMessage message =
|
||||
QDBusMessage::createSignal("/KWin", "org.kde.KWin", "reloadConfig");
|
||||
QDBusConnection::sessionBus().send(message);
|
||||
}
|
||||
}
|
||||
|
||||
void KFocusConfig::defaults()
|
||||
{
|
||||
KCModule::defaults();
|
||||
m_ui->windowFocusPolicy->setCurrentIndex(defaultFocusPolicyIndex);
|
||||
}
|
||||
|
||||
KWinAdvancedConfigForm::KWinAdvancedConfigForm(QWidget *parent)
|
||||
: QWidget(parent)
|
||||
{
|
||||
setupUi(parent);
|
||||
}
|
||||
|
||||
KAdvancedConfig::KAdvancedConfig(bool _standAlone, KWinOptionsSettings *settings, KWinOptionsKDEGlobalsSettings *globalSettings, QWidget *parent)
|
||||
: KCModule(parent, KPluginMetaData())
|
||||
, standAlone(_standAlone)
|
||||
, m_ui(new KWinAdvancedConfigForm(widget()))
|
||||
{
|
||||
if (settings && globalSettings) {
|
||||
initialize(settings, globalSettings);
|
||||
}
|
||||
}
|
||||
|
||||
void KAdvancedConfig::initialize(KWinOptionsSettings *settings, KWinOptionsKDEGlobalsSettings *globalSettings)
|
||||
{
|
||||
m_settings = settings;
|
||||
addConfig(m_settings, widget());
|
||||
addConfig(globalSettings, widget());
|
||||
|
||||
m_ui->kcfg_Placement->setItemData(KWinOptionsSettings::PlacementChoices::Smart, "Smart");
|
||||
m_ui->kcfg_Placement->setItemData(KWinOptionsSettings::PlacementChoices::Maximizing, "Maximizing");
|
||||
m_ui->kcfg_Placement->setItemData(KWinOptionsSettings::PlacementChoices::Random, "Random");
|
||||
m_ui->kcfg_Placement->setItemData(KWinOptionsSettings::PlacementChoices::Centered, "Centered");
|
||||
m_ui->kcfg_Placement->setItemData(KWinOptionsSettings::PlacementChoices::ZeroCornered, "ZeroCornered");
|
||||
m_ui->kcfg_Placement->setItemData(KWinOptionsSettings::PlacementChoices::UnderMouse, "UnderMouse");
|
||||
|
||||
// Don't show the option to prevent apps from remembering their window
|
||||
// positions on Wayland because it doesn't work on Wayland and the feature
|
||||
// will eventually be implemented in a different way there.
|
||||
// This option lives in the kdeglobals file because it is consumed by
|
||||
// kxmlgui.
|
||||
m_ui->kcfg_AllowKDEAppsToRememberWindowPositions->setVisible(KWindowSystem::isPlatformX11());
|
||||
|
||||
m_ui->kcfg_ActivationDesktopPolicy->setItemData(KWinOptionsSettings::ActivationDesktopPolicyChoices::SwitchToOtherDesktop, "SwitchToOtherDesktop");
|
||||
m_ui->kcfg_ActivationDesktopPolicy->setItemData(KWinOptionsSettings::ActivationDesktopPolicyChoices::BringToCurrentDesktop, "BringToCurrentDesktop");
|
||||
}
|
||||
|
||||
void KAdvancedConfig::save(void)
|
||||
{
|
||||
KCModule::save();
|
||||
|
||||
if (standAlone) {
|
||||
// Send signal to all kwin instances
|
||||
QDBusMessage message =
|
||||
QDBusMessage::createSignal("/KWin", "org.kde.KWin", "reloadConfig");
|
||||
QDBusConnection::sessionBus().send(message);
|
||||
}
|
||||
}
|
||||
|
||||
KWinMovingConfigForm::KWinMovingConfigForm(QWidget *parent)
|
||||
: QWidget(parent)
|
||||
{
|
||||
setupUi(parent);
|
||||
}
|
||||
|
||||
KMovingConfig::KMovingConfig(bool _standAlone, KWinOptionsSettings *settings, QWidget *parent)
|
||||
: KCModule(parent, KPluginMetaData())
|
||||
, standAlone(_standAlone)
|
||||
, m_ui(new KWinMovingConfigForm(widget()))
|
||||
{
|
||||
if (settings) {
|
||||
initialize(settings);
|
||||
}
|
||||
}
|
||||
|
||||
void KMovingConfig::initialize(KWinOptionsSettings *settings)
|
||||
{
|
||||
m_settings = settings;
|
||||
addConfig(m_settings, widget());
|
||||
}
|
||||
|
||||
void KMovingConfig::save(void)
|
||||
{
|
||||
KCModule::save();
|
||||
|
||||
if (standAlone) {
|
||||
// Send signal to all kwin instances
|
||||
QDBusMessage message =
|
||||
QDBusMessage::createSignal("/KWin", "org.kde.KWin", "reloadConfig");
|
||||
QDBusConnection::sessionBus().send(message);
|
||||
}
|
||||
}
|
||||
|
||||
#include "moc_windows.cpp"
|
||||
@@ -0,0 +1,116 @@
|
||||
/*
|
||||
windows.h
|
||||
|
||||
SPDX-FileCopyrightText: 1997 Patrick Dowler <dowler@morgul.fsh.uvic.ca>
|
||||
SPDX-FileCopyrightText: 2001 Waldo Bastian <bastian@kde.org>
|
||||
|
||||
SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <KCModule>
|
||||
#include <QWidget>
|
||||
|
||||
#include "ui_advanced.h"
|
||||
#include "ui_focus.h"
|
||||
#include "ui_moving.h"
|
||||
|
||||
class QRadioButton;
|
||||
class QCheckBox;
|
||||
class QPushButton;
|
||||
class QGroupBox;
|
||||
class QLabel;
|
||||
class QSlider;
|
||||
class QGroupBox;
|
||||
class QSpinBox;
|
||||
|
||||
class KColorButton;
|
||||
|
||||
class KWinOptionsSettings;
|
||||
class KWinOptionsKDEGlobalsSettings;
|
||||
|
||||
class KWinFocusConfigForm : public QWidget, public Ui::KWinFocusConfigForm
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit KWinFocusConfigForm(QWidget *parent);
|
||||
};
|
||||
|
||||
class KWinMovingConfigForm : public QWidget, public Ui::KWinMovingConfigForm
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit KWinMovingConfigForm(QWidget *parent);
|
||||
};
|
||||
|
||||
class KWinAdvancedConfigForm : public QWidget, public Ui::KWinAdvancedConfigForm
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit KWinAdvancedConfigForm(QWidget *parent);
|
||||
};
|
||||
|
||||
class KFocusConfig : public KCModule
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
KFocusConfig(bool _standAlone, KWinOptionsSettings *settings, QWidget *parent);
|
||||
|
||||
void load() override;
|
||||
void save() override;
|
||||
void defaults() override;
|
||||
|
||||
protected:
|
||||
void initialize(KWinOptionsSettings *settings);
|
||||
|
||||
private Q_SLOTS:
|
||||
void focusPolicyChanged();
|
||||
void updateMultiScreen();
|
||||
void updateDefaultIndicator();
|
||||
|
||||
private:
|
||||
bool standAlone;
|
||||
|
||||
KWinFocusConfigForm *m_ui;
|
||||
KWinOptionsSettings *m_settings;
|
||||
|
||||
void updateFocusPolicyExplanatoryText();
|
||||
};
|
||||
|
||||
class KMovingConfig : public KCModule
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
KMovingConfig(bool _standAlone, KWinOptionsSettings *settings, QWidget *parent);
|
||||
|
||||
void save() override;
|
||||
|
||||
protected:
|
||||
void initialize(KWinOptionsSettings *settings);
|
||||
|
||||
private:
|
||||
KWinOptionsSettings *m_settings;
|
||||
bool standAlone;
|
||||
KWinMovingConfigForm *m_ui;
|
||||
};
|
||||
|
||||
class KAdvancedConfig : public KCModule
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
KAdvancedConfig(bool _standAlone, KWinOptionsSettings *settings, KWinOptionsKDEGlobalsSettings *globalSettings, QWidget *parent);
|
||||
|
||||
void save() override;
|
||||
|
||||
protected:
|
||||
void initialize(KWinOptionsSettings *settings, KWinOptionsKDEGlobalsSettings *globalSettings);
|
||||
|
||||
private:
|
||||
bool standAlone;
|
||||
KWinAdvancedConfigForm *m_ui;
|
||||
KWinOptionsSettings *m_settings;
|
||||
};
|
||||
Reference in New Issue
Block a user