Tips And Tricks
This page is meant as a container of tips and tricks collected over time, addressing topics and issues brought up by TDE users.
Also see the users' Frequently Asked Questions page.
Installing Trinity
Tips and tricks relevant to obtaining a well-functioning Trinity installation.
Upgrading from older versions or KDE3
Upgrading from KDE3 or from TDE 3.5.x to R14.0.x
If you are migrating from KDE3 or upgrading from TDE 3.5.x, you can reuse your own settings in TDE R14.0.x. When logging into R14.0.x for the first time, TDE will automatically execute a script which will migrate as many of your KDE3/TDE3.5.x settings as possible. At the end of the process, your KDE3/TDE3.5.x profile will still exist (unchanged) and a new TDE profile will have been created inside the ~/.trinity folder.
Upgrading from an old version (pre Dec/2014)
Depending on your previous version of TDE, the file /etc/trinity/tdm/tdmrc may change from a script-generated file to a config file. It is advisable to accept the newer file if you are upgrading from an old version to TDE >= R14.0.0.
Configuring Trinity
Tips and tricks for custom fine-tuning and configurations.
Using sudo and tdesudo
If you use sudo or a sudo-based distribution (such as Ubuntu), it is highly recommended that you install the tdesudo-trinity package as well. This allows to run programs that require root priviledge from the TDE menu using your own password. If tdesudo-trinity is not installed, you will be asked for the root password instead. More details can be found here.
Un-Bogging down an older system
Your system runs pretty well until Firefox, an office application, or some other application with high CPU usage demands too many cycles and your system then ‘freezes’ for seconds or minutes until the application gets finished.
A simple, but somewhat tedious, solution is to add nice
to the launcher for each. Using LibreOffice as an example, add nice -n 2
before the command:
TDE Menu >> Office >> LibreOffice >> {right click} >> Edit Item
Change the ‘Command’ entry from libreoffice %U
to nice -n 2 libreoffice %U
.
Then find every other entry for LibreOffice (LibreOffice Base, LibreOffice Draw, LibreOffice Math, LibreOffice Impress, etc.) and do the same.
Other ‘usual suspects’ to make nice are: browsers, BitTorrent clients, GUI Diff tools, and, occasionally, PDF viewers.
Generally anything ‘real-time’ you should leave alone (movies, games, editors).
These were used on a Core2 Duo (P7570 @ 2.26GHz, CPU Mark: 926):
Nice level | Application Name |
---|---|
1 | Kmail |
2 | LibreOffice |
3 | Firefox |
4 | qBittorrent |
Assigning a mouse click as part of a keyboard shortcut
There are multiple ways to accomplish this. The best arguably was the first method, which has been lost to time.
In these examples we are trying to achieve:
{Windows Key} + {left mouse click} = Minimize application under mouse cursor
Change what you need to achieve what you want.
Method 1: Lost
As the name says it’s been lost. What is remembered is that:
- No additional software had to be installed
- The change was exceedingly minor.
Method 2: xbindkeys + xdotool
Buggy. This works, but the xdotool command used occasionally leaves an unfinished half-keystroke hanging.
Step 1. Go to:
Trinity Control Center >> Regional & Accessibility >> Keyboard Shortcuts >> Shortcuts Schemes >> Global Shortcuts >> Windows
Set "Minimize Window" to “Win+Space”.
Step 2. Issue these command(s) as root or using sudo:
# apt-get install xbindkeys
# apt-get install xdotool
# apt-get install xbindkeys-config # optional
Step 3. Edit $HOME/.xbindkeysrc.
Add the following lines:
#MinimizeWindowUnderMouse
"xdotool click --clearmodifiers 1 key super+space"
m:0x40 + c:133 + b:1 + release</nowiki>
Step 4. Issue these commands as yourself (not as root):
$ killall xbindkeys
$ xbindkeys
Step 5. To minimize any window:
Move the cursor over a window, hold down the Windows key and click the left mouse button.
Method 3: xbindkeys, dcop and/or gdbus
Basically the same as xbindkeys + xdotool but replacing xdotool with either a dcop or gdbus command. This is probably less ‘buggy’ than xdotool, but unfortunately the writer doesn’t understand enough about either to make this work.
Enabling image thumbnails in Konqueror for external devices opened via popup after plugging in
When an external device (e.g. USB flash drive) is plugged in, choosing "Open in New Window" in the TDE popup window will open the device under the system:/ path prefix. Image thumbnail display is not enabled per default for this location type in Konqueror. To enable image thumbnails for system:/ paths, adhere to the following:
- In Konqueror from the menubar select
Settings >> Configure Konqueror...
. - Select
Previews & Metadata
on the left. - Under
Local Protocols
tick the checkbox forsystem
. - Press
Apply
.
Look and feel
Tips and tricks concerning the appearance of Trinity desktop and applications.
Adding a separator between windows button in the title bar
Open TDE Control Center >> Appearance & Themes >> Window Decorations
and then select the Buttons
tab.
In the middle of the screen there is a list of available buttons. Drag a separator (--- spacer ---
) on the title bar of the sample window, between the buttons where you want to space to appear.
Check the preview in the bottom part of the window and modify again as required.
Confirm when done.
You have to add the following line into section [menus] in your $TDEHOME/share/config/kickerrc:
ShowMenuTitles=false
You also have to restart Kicker for the change to take effect.
The quickest way to do all of this is via Konsole (or another terminal emulator):
$ kwriteconfig --file $TDEHOME/share/config/kickerrc --group menus --key ShowMenuTitles false
$ dcop kicker kicker restart
Increasing icon size in K-Menu
You have to add the following line into section [menus] in your $TDEHOME/share/config/kickerrc:
MenuEntryHeight=22
You can adjust the number to any icon size you see fit. You have to restart Kicker for the change to take effect.
The quickest way to do all of this is via Konsole (or another terminal emulator):
$ kwriteconfig --file $TDEHOME/share/config/kickerrc --group menus --key MenuEntryHeight 22
$ dcop kicker kicker restart
Use another window manager with TDE
It is possible to use TDE with a different window manager than the one which comes by default. There are a lot of window managers out there, though, so TDE might not recognize their presence and thus not offer them as a choice in the Control Center. This is the case when you can use the advanced methods mentioned here to use TDE with another WM.
Method 1: the easy way
The easy way is, of course, to go to TDE Control Center >> Desktop >> Window decorations
, switch to the Window Manager tab and then select your preferred window manager from the drop-down menu.
Method 2: autostart TDE components from WM
You can autostart Trinity and the components you need if your window manager supports autostart. In this case the window manager is started first. An .xinitrc file can also do the trick.
Make sure your window manager executes the first command (and any of the other ones for other desktop components you might want to use). For a more-or-less complete TDE session use all of them:
Command | Description |
---|---|
starttde | (required) Initializes required Trinity components.* |
kicker & | The Kicker panel. |
kdesktop --waitforkded & | The Desktop. |
khotkeys & | Keyboard shortcuts handler. |
(* Trinity apps would do this anyway, but it's nice to have it ready for them.)
As for starting the WM itself, you can choose to use your window manager's session via your display manager.
Note that this is not considered a full TDE session and that your mileage may vary. For a better way of handling this see Method 2 below.
Method 3: using WM as part of a TDE session
You can make TDE use your window manager instead of TWin by passing an environment variable to the starttde script. This variable is named $TDEWM
and accepts the executable name (or full path) of your window manager. For example, to start TDE with Fluxbox as a window manager:
$ TDEWM=fluxbox startx /opt/trinity/starttde # adjust to your system
$TWIN
variable instead.
To make this permanent:
- If you use a .xinitrc file, then the only thing to do is to put the line there.
- If you use a display manager, you'll need to create a script and an X session file.
Create a script like this one:
#!/bin/sh
export TDEWM=your_window_manager # for R14.0.11 and higher
export TWIN=your_window_manager # for pre-R14.0.11 TDE versions
exec starttde
Replace your_window_manager
with the correct value. Save it and make it executable.
Then, create a .desktop file in /usr/share/xsessions, like this one:
[Desktop Entry]
Encoding=UTF-8
Type=XSession
Name=(Session name)
Comment=(An optional session comment)
Exec=/path/to/the/script/you/just/saved
Insert the values as needed. Save it and logout. From the sessions menu choose the session you just created. Login normally. TDE should start with the window manager of your choice.
Changing alternating row colors
Alternating row colors in Konqueror, KMail, and probably a lot more, can be set in the Colors section of Trinity Control Center:
TCC >> Appearance & Themes >> Colors >> Widget Color >> [Dropdown] Alternate Background in Lists
Application tricks
Tips and tricks concerning Trinity applications (such as KMail, Kopete, Amarok etc.)
Kmail: Sanitize and Decrypt E-Mails
Kmail Sanitize and Decrypt Mails shows an example on how to create a filter in kmail that removes unwanted headers and automaticly decrypts incomming mails.
Useful scripts
A collection of snippets and useful scripts which can help in automating some tasks in TDE.
Lock session and turn off screen
This shell script locks the session and after 3 seconds turns the screen off:
#!/bin/bash
dcop kdesktop KScreensaverIface lock
sleep 3
xset dpms force standby
For a ‘GUI’ you can add an Applet to your Panel that calls the shell script.
Log out of current TDE session
You can log out of the current TDE session and possibly shut down the system automatically (depending on your TDE configuration) using this command:
$ dcop kdesktop default logout <confirm> <type> <mode>
You can append three parameters ("confirm", "type", "mode") to determine the logout behaviour according to the following values:
First parameter: "confirm"
Value | Explanation |
---|---|
-1 | Obey the user's confirmation setting |
0 | Don't confirm, shutdown without asking |
1 | Always confirm, ask even if the user turned it off |
Second parameter: "type"
Value | Explanation |
---|---|
-1 | Select previous action or the default if it's the first time |
0 | Only log out |
1 | Log out and reboot the machine |
2 | Log out and halt the machine |
Third parameter: "mode"
Value | Explanation |
---|---|
-1 | Select previous mode (or the default one, if it's the first time) |
0 | Schedule a shutdown (halt or reboot) for the time all active sessions have exited |
1 | Shut down, if no sessions are active. Otherwise do nothing |
2 | Force shutdown. Kill any possibly active sessions |
3 | Pop up a dialog asking the user what to do if sessions are still active |
Full stop example
This command will log out and halt the machine, killing any sessions and will never prompt the user:
$ dcop ksmserver default logout 0 2 2