mirror of
https://bitbucket.org/smil3y/kde-workspace.git
synced 2025-02-24 19:02:51 +00:00
104 lines
3.7 KiB
Perl
Executable file
104 lines
3.7 KiB
Perl
Executable file
#!/usr/bin/perl
|
|
|
|
use strict;
|
|
use warnings;
|
|
|
|
|
|
foreach my $file( @ARGV )
|
|
{
|
|
print STDERR "Working on $file\n";
|
|
|
|
open(my $FILEHD, $file) or do
|
|
{
|
|
print STDERR "Failed to open $file : $!";
|
|
next;
|
|
};
|
|
|
|
open(my $NEWHD, ">new_$file") or do
|
|
{
|
|
print STDERR "Failed to open new_$file : $!";
|
|
next;
|
|
};
|
|
|
|
open(my $OLDHD, ">old_$file") or do
|
|
{
|
|
print STDERR "Failed to open old_$file : $!";
|
|
next;
|
|
};
|
|
|
|
my $process = 0;
|
|
my @kwin;
|
|
my @krunner;
|
|
my @kxkb;
|
|
for( <$FILEHD> )
|
|
{
|
|
/\[Settings\]/ and do { print $NEWHD $_; next; };
|
|
/Name(\[[a-zA-Z_@]*\])?/ and do { print $NEWHD $_; next; };
|
|
/Name\[x-test\]/ and do { print $NEWHD $_; next; };
|
|
/Uses Win Modifier/ and do { print $NEWHD $_; next; };
|
|
|
|
/\[Global Shortcuts\]/ and do { print $OLDHD $_; $process = 1; next; };
|
|
/\[Shortcuts\]/ and do { print $OLDHD $_; $process = 0; next; };
|
|
|
|
s/Alt\+Ctrl/Ctrl+Alt/;
|
|
s/Delete/Del/;
|
|
s/Escape/Esc/;
|
|
s/Win/Meta/;
|
|
|
|
if ($process)
|
|
{
|
|
/Desktop Screenshot=/ and do { s/Desktop Screenshot=/Desktop Screenshot to Clipboard=/; push @kwin, $_; next; };
|
|
/Kill Window=/ and do { push @kwin, $_; next; };
|
|
/Mouse Emulation/ and do { push @kwin, $_; next; };
|
|
/Switch to Desktop [0-9]+/ and do { push @kwin, $_; next; };
|
|
/Switch to (Next|Previous) Desktop=/ and do { push @kwin, $_; next; };
|
|
/Switch One Desktop / and do { push @kwin, $_; next; };
|
|
/Toggle Window Raise\/Lower=/ and do { push @kwin, $_; next; };
|
|
/Walk Through Desktop/ and do { push @kwin, $_; next; };
|
|
/Walk Through Windows/ and do { push @kwin, $_; next; };
|
|
/Window to (Next |Previous )?Desktop/ and do { push @kwin, $_; next; };
|
|
/Window (Close|Minimize|Lower|Move|Raise|Resize|Shade)/ and do { push @kwin, $_; next; };
|
|
/Window Maximize/ and do { push @kwin, $_; next; };
|
|
/Window Operations Menu=/ and do { s/Window Screenshot=/Window Screenshot to Clipboard=/; push @kwin, $_; next; };
|
|
/Window Screenshot=/ and do { s/Window Screenshot=/Window Screenshot to Clipboard=/; push @kwin, $_; next; };
|
|
|
|
/Switch to Next Keyboard Layout/ and do { push @kxkb, $_; next; };
|
|
|
|
/Halt without Confirmation/ and do { s/Halt without Confirmation/Halt Without Confirmation/; push @krunner, $_; next; };
|
|
/Lock Session/ and do { push @krunner, $_; next; };
|
|
/Log Out/ and do { push @krunner, $_; next; };
|
|
/Log Out Without Confirmation/ and do { push @krunner, $_; next; };
|
|
/Lock Session/ and do { push @krunner, $_; next; };
|
|
/Reboot without Confirmation/ and do { s/Reboot without Confirmation/Reboot Without Confirmation/; push @krunner, $_; next; };
|
|
/Run Command/ and do { push @krunner, $_; next; };
|
|
/Show Taskmanager/ and do { s/Show Taskmanager/Show System Activity/; push @krunner, $_; next; };
|
|
}
|
|
|
|
print $OLDHD $_;
|
|
}
|
|
|
|
print $NEWHD "\n[krunner][Global Shortcuts]\n";
|
|
print $NEWHD sort @krunner;
|
|
print $NEWHD "\n[kwin][Global Shortcuts]\n";
|
|
print $NEWHD sort @kwin;
|
|
print $NEWHD "\n[kxkb][Global Shortcuts]\n";
|
|
print $NEWHD sort @kxkb;
|
|
|
|
close($FILEHD) or do
|
|
{
|
|
print STDERR "Failed to close $file : $!";
|
|
next;
|
|
};
|
|
|
|
close($NEWHD) or do
|
|
{
|
|
print STDERR "Failed to close new_$file : $!";
|
|
next;
|
|
};
|
|
|
|
close($OLDHD) or do
|
|
{
|
|
print STDERR "Failed to close old_$file : $!";
|
|
next;
|
|
};
|
|
}
|