summaryrefslogtreecommitdiffstats
path: root/kxkb/kxkb.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Kxkb: Add delay to applying settings after keyboard hardware somehow changesfix/kxkb/547Mavridis Philippe2024-11-131-23/+6
| | | | Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
* Kxkb: try to fix "Unknown" layout bugMavridis Philippe2024-11-131-1/+2
| | | | Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
* Kxkb: reapply Xkb settings when a keyboard device changes stateMavridis Philippe2024-11-131-4/+41
| | | | Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
* Kxkb: Improvements for tray window pixmap manager, optimize settings reloadingsMavridis Philippe2024-11-121-5/+6
| | | | | | | | | | | | * Rename LayoutIcon to LayoutIconManager for clarity * Remove use of singleton pattern for LayoutIconManager * Do not reload all Kxkb settings every time we are requested to get a pixmap! * Use pointer to global KxkbConfig instance instead of keeping own copy * Make "Transparent background" checkbox available for theme colors in the GUI * Minor code cleanup in LayoutIconManager * KxkbConfig: do not reload settings every time getKxkbOptions() is called; if settings actually need to be re-read, it must be done maunally before calling this function Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
* Kxkb: improve system tray code and fix various switching-related bugsMavridis Philippe2024-11-121-129/+129
| | | | | | | | | | - Improved layout change logic (indicator is now always updated when the actual switch occurs). This fixes layout switching triggered by the X11 shortcut not being synchronized with layout switching from the tray icon click and the TDE shortcut. - Kxkb will ignore XkbStateNotify events not related to XkbGroupState which caused strange behaviour with the system tray context menu. - Merged KxkbLabelController into KxkbSystemTray This resolves #547. Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
* Replace KDE_[NO_]EXPORT with TDE_[NO_]EXPORTMichele Calgaro2024-05-051-1/+1
| | | | Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
* kxkb: utilize a translations provseided by xkeyboard-configAlexander Golubev2024-03-031-0/+1
| | | | | | | | | xkeyboard-config package comes with a message catalogue of its own to translate locale, keyboard model and xkb option names. It would be easier and more robust to utilize it instead of redoing all translation in-house. Signed-off-by: Alexander Golubev <fatzer2@gmail.com>
* Use new TQ_METHOD, TQ_SIGNAL, TQ_SLOT definesMichele Calgaro2024-01-161-5/+5
| | | | Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
* Replace various '#define' strings - part 6Michele Calgaro2023-12-261-1/+1
| | | | Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
* KXkb: add keyboard layout notificationMavridis Philippe2023-12-251-1/+43
| | | | Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
* Kxkb: move LayoutUnit struct into its own file and add getLayoutName functionMavridis Philippe2023-12-251-1/+0
| | | | Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
* kxkb: prevent overflow in case of non-existing layout groupRoman Savochenko2023-06-291-2/+7
| | | | | Signed-off-by: Roman Savochenko <roman@oscada.org> Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
* kxkb: re-add custom TDE switching shortcutMavridis Philippe2023-06-141-9/+23
| | | | | | This commit fixes issue #342. Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
* Kxkb: improve TDE Control Centre module.Mavridis Philippe2023-03-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1) Add conflicts check for hotkey checkboxes Due to the ability to set multiple keyboard layout switching hotkeys, it is important to inform the user of conflicting options that are not handled properly by the X.org server when set at the same time (e.g. Win+Space and Alt+Space). This change adds a warning that informs the user about the problem and the conflicting options. This warning is shown only when setting multiple hotkeys via the Xkb options tab, which is for the advanced user. Most users will ever need only one hotkey, and the combobox on the first tab should be more than enough. 2) Add "none" item to layout switching options 3) Replace Reset old options checkbox with radio buttons As per discussion, this makes the function of the option more apparent. WhatIs hints have been added for additional clarity. 4) Update hotkey combobox per server options 5) Avoid duplication of options by querying Xkb for already set options. This was a problem in Append Mode in which `setxkbmap` strings would get too long due to setting already set options. This code checks for already set options and omits them from the new `setxkbmap` call. This does not apply to Overwrite Mode. 6) Overwrite previous grp: options when using the combobox See previous commit message about the addition of hotkeys combobox. Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
* Kxkb: Improve layout switchingMavridis Philippe2023-03-241-118/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1) New layout switching approach The new approach is based on the "grp" options group of Xkb and so enables us to use predefined X11 layout (group) switching hotkeys like "Caps Lock" or "Shift+Alt" (you can see the full list in the Options tab). The added bonus to this is that we conform to the Xkb setting. The code lets Xkb handle the keyboard layout switching hotkey(s) and is similar to the one that is used in kkbswitch, monitoring for an Xkb group (layout) change event. This solution required me to remove some hacky and obsolete code which was there to support really old pre-XFree-4.2 era systems and included the "include groups" hack. This means that the "Enable latin layout" checkbox is now gone and setxkbmap is only called when the keyboard layouts and/or options are modified, and not for every layout change. 2) Common layout switching hotkeys combobox A combobox was added to the first page of the Keyboard Layouts KCM module. It provides to the users a quick way to set a layout switching key combination. It also controls the "grp" group in the Xkb tab. A special note about this combobox is that, even if Append Mode was selected in the Xkb Options tab, this hotkey will overwrite previous hotkey options. This means that all grp: options will be forced removed before applying the option from the combobox (in contrast to specifying options via the Xkb Options tab, which, in Append Mode, will not get overwritten until next login). Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
* Removed unneeded quit() call.Mavridis Philippe2021-06-021-4/+4
| | | | | | | This resolves a problem with Kxkb's Quit confirmation, where pressing Cancel would nevertheless quit the program. Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
* Rename additional header files to avoid conflicts with KDE4Timothy Pearson2013-02-151-3/+3
|
* Rename common header files for consistency with class renamingTimothy Pearson2013-02-141-2/+2
|
* Rename many classes and header files to avoid conflicts with KDE4Timothy Pearson2013-02-011-2/+2
|
* Rename a number of classes to enhance compatibility with KDE4Timothy Pearson2013-02-011-1/+1
|
* Rename a number of libraries and executables to avoid conflicts with KDE4Timothy Pearson2013-01-271-2/+2
|
* Rename KGlobal, KProcess, and KClipboard to avoid conflicts with KDE4Timothy Pearson2013-01-241-6/+6
|
* Rename KInstance and KAboutData to avoid conflicts with KDE4Timothy Pearson2013-01-221-2/+2
|
* Rename KApplication to TDEApplication to avoid conflicts with KDE4Timothy Pearson2013-01-201-2/+2
|
* Rename KCmdLineArgs to TDECmdLineArgs to avoid conflicts with KDE4Timothy Pearson2013-01-191-1/+1
|
* Branding cleanup: I18N_NOOP KDE -> TDE.Darrell Anderson2012-05-101-1/+1
|
* Rename kwin to twin (part 1 of 2)Timothy Pearson2011-11-071-2/+2
|
* rename the following methods:tpearson2011-08-101-2/+2
| | | | | | | | | tqfind find tqreplace replace tqcontains contains git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1246075 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
* Enable compilation with TQt for Qt4 3.4.0 TP2tpearson2011-01-191-3/+3
| | | | | | | This should not break compatibility with TQt for Qt3; if it does please fix it ASAP! git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1215552 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
* Revert automated changestpearson2011-01-071-60/+60
| | | | | | | | Sorry guys, they are just not ready for prime time Work will continue as always git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1212480 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
* Automated conversion for enhanced compatibility with TQt for Qt4 3.4.0 TP1tpearson2011-01-031-60/+60
| | | | git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1211357 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
* Trinity Qt initial conversiontpearson2010-07-311-18/+18
| | | | git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1157639 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
* Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.toma2009-11-251-0/+390
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da