launch Linux terminal in its own process (#445)
This commit is contained in:
parent
1f6ef884e6
commit
7a0514786b
|
@ -36,7 +36,7 @@
|
||||||
{
|
{
|
||||||
"name": "ROXTerm",
|
"name": "ROXTerm",
|
||||||
"path": "roxterm",
|
"path": "roxterm",
|
||||||
"argsPattern": "$term -e \"$unix_command\""
|
"argsPattern": "$term --separate -e \"$unix_command\""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sakura",
|
"name": "sakura",
|
||||||
|
@ -56,7 +56,7 @@
|
||||||
{
|
{
|
||||||
"name": "Tilix",
|
"name": "Tilix",
|
||||||
"path": "tilix",
|
"path": "tilix",
|
||||||
"argsPattern": "$term -e $argv"
|
"argsPattern": "$term --new-process -e $argv"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Wayst",
|
"name": "Wayst",
|
||||||
|
@ -68,15 +68,11 @@
|
||||||
{
|
{
|
||||||
"group": "Desktop Default",
|
"group": "Desktop Default",
|
||||||
"terminals": [
|
"terminals": [
|
||||||
{
|
|
||||||
"name": "Deepin Terminal",
|
|
||||||
"path": "deepin-terminal",
|
|
||||||
"argsPattern": "$term -e $argv"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "Konsole (KDE)",
|
"name": "Konsole (KDE)",
|
||||||
"path": "konsole",
|
"path": "konsole",
|
||||||
"argsPattern": "$term -e $argv"
|
"argsPattern": "$term --separate -e $argv",
|
||||||
|
"comment": "`--separate` is not required by default, just in case someone enabled single process mode"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "GNOME Terminal",
|
"name": "GNOME Terminal",
|
||||||
|
@ -86,17 +82,17 @@
|
||||||
{
|
{
|
||||||
"name": "GNOME Terminator",
|
"name": "GNOME Terminator",
|
||||||
"path": "terminator",
|
"path": "terminator",
|
||||||
"argsPattern": "$term -x $argv"
|
"argsPattern": "$term --no-dbus -x $argv"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "LXTerminal (LXDE)",
|
"name": "LXTerminal (LXDE)",
|
||||||
"path": "lxterminal",
|
"path": "lxterminal",
|
||||||
"argsPattern": "$term -e $argv"
|
"argsPattern": "$term --no-remote -e $argv"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "MATE Terminal",
|
"name": "MATE Terminal",
|
||||||
"path": "mate-terminal",
|
"path": "mate-terminal",
|
||||||
"argsPattern": "$term -x $argv"
|
"argsPattern": "$term --disable-factory -x $argv"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "QTerminal (LXQt)",
|
"name": "QTerminal (LXQt)",
|
||||||
|
@ -116,12 +112,12 @@
|
||||||
{
|
{
|
||||||
"name": "Terminology (Enlightenment)",
|
"name": "Terminology (Enlightenment)",
|
||||||
"path": "terminology",
|
"path": "terminology",
|
||||||
"argsPattern": "$term -e \"$unix_command\""
|
"argsPattern": "$term --no-dbus -e \"$unix_command\""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Xfce Terminal",
|
"name": "Xfce Terminal",
|
||||||
"path": "xfce4-terminal",
|
"path": "xfce4-terminal",
|
||||||
"argsPattern": "$term -x $argv"
|
"argsPattern": "$term --disable-server -x $argv"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -142,7 +138,7 @@
|
||||||
{
|
{
|
||||||
"name": "Elementary Terminal",
|
"name": "Elementary Terminal",
|
||||||
"path": "io.elementary.terminal",
|
"path": "io.elementary.terminal",
|
||||||
"argsPattern": "$term -e \"$unix_command\"",
|
"argsPattern": "$term --gapplication-app-id $random_app_id -e \"$unix_command\"",
|
||||||
"comment": "confirm to quit"
|
"comment": "confirm to quit"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -154,7 +150,7 @@
|
||||||
{
|
{
|
||||||
"name": "GNOME Console",
|
"name": "GNOME Console",
|
||||||
"path": "kgx",
|
"path": "kgx",
|
||||||
"argsPattern": "$term -- $argv",
|
"argsPattern": "$term --gapplication-app-id $random_app_id -- $argv",
|
||||||
"comment": "confirm to quit"
|
"comment": "confirm to quit"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -4134,6 +4134,7 @@ const QMap<QString, QString> Settings::Environment::mTerminalArgsPatternMagicVar
|
||||||
{"dos_command", "$dos_command"},
|
{"dos_command", "$dos_command"},
|
||||||
{"lpCommandLine", "$lpCommandLine"},
|
{"lpCommandLine", "$lpCommandLine"},
|
||||||
{"tmpfile", "$tmpfile"},
|
{"tmpfile", "$tmpfile"},
|
||||||
|
{"random_app_id", "$random_app_id"},
|
||||||
};
|
};
|
||||||
|
|
||||||
Settings::Executor::Executor(Settings *settings):_Base(settings, SETTING_EXECUTOR)
|
Settings::Executor::Executor(Settings *settings):_Base(settings, SETTING_EXECUTOR)
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
#include <QDesktopServices>
|
#include <QDesktopServices>
|
||||||
#include <QSysInfo>
|
#include <QSysInfo>
|
||||||
#include <QVersionNumber>
|
#include <QVersionNumber>
|
||||||
|
#include <QRandomGenerator>
|
||||||
#include "editor.h"
|
#include "editor.h"
|
||||||
#include "editorlist.h"
|
#include "editorlist.h"
|
||||||
#include "settings.h"
|
#include "settings.h"
|
||||||
|
@ -753,6 +754,10 @@ std::tuple<QString, QStringList, PNonExclusiveTemporaryFileOwner> wrapCommandFor
|
||||||
QFile(temproryFile->fileName()).setPermissions(QFileDevice::ReadOwner | QFileDevice::WriteOwner | QFileDevice::ExeOwner);
|
QFile(temproryFile->fileName()).setPermissions(QFileDevice::ReadOwner | QFileDevice::WriteOwner | QFileDevice::ExeOwner);
|
||||||
}
|
}
|
||||||
wrappedArgs.push_back(temproryFile->fileName());
|
wrappedArgs.push_back(temproryFile->fileName());
|
||||||
|
} else if (patternItem == "$random_app_id") {
|
||||||
|
QString randomSuffix = QString::number(QRandomGenerator::global()->generate());
|
||||||
|
QString appId = "io.redpanda.term" + randomSuffix;
|
||||||
|
wrappedArgs.push_back(appId);
|
||||||
} else
|
} else
|
||||||
wrappedArgs.push_back(patternItem);
|
wrappedArgs.push_back(patternItem);
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,6 @@ Architecture: amd64
|
||||||
Depends: gcc, g++, make, gdb, gdbserver, astyle,
|
Depends: gcc, g++, make, gdb, gdbserver, astyle,
|
||||||
libc6 (>= 2.17), libstdc++6 (>= 4.8),
|
libc6 (>= 2.17), libstdc++6 (>= 4.8),
|
||||||
libdbus-1-3, libfontconfig1, libfreetype6, libwayland-client0, libwayland-cursor0, libwayland-server0, libx11-6, libx11-xcb1, libxcb1, libxcb-icccm4, libxcb-image0, libxcb-keysyms1, libxcb-randr0, libxcb-render-util0, libxcb-render0, libxcb-shape0, libxcb-shm0, libxcb-sync1, libxcb-xfixes0, libxcb-xinerama0, libxcb-xkb1, libxcb1, libxext6, libxkbcommon-x11-0, libxkbcommon0, libzstd1
|
libdbus-1-3, libfontconfig1, libfreetype6, libwayland-client0, libwayland-cursor0, libwayland-server0, libx11-6, libx11-xcb1, libxcb1, libxcb-icccm4, libxcb-image0, libxcb-keysyms1, libxcb-randr0, libxcb-render-util0, libxcb-render0, libxcb-shape0, libxcb-shm0, libxcb-sync1, libxcb-xfixes0, libxcb-xinerama0, libxcb-xkb1, libxcb1, libxext6, libxkbcommon-x11-0, libxkbcommon0, libzstd1
|
||||||
Recommends: qterminal | deepin-terminal | konsole | gnome-terminal | terminator | lxterminal | mate-terminal | terminology | xfce4-terminal | alacritty | cool-retro-term | kitty | sakura | termit | tilix
|
Recommends: qterminal | konsole | gnome-terminal | terminator | lxterminal | mate-terminal | terminology | xfce4-terminal | alacritty | cool-retro-term | kitty | sakura | termit | tilix
|
||||||
Suggests: clang
|
Suggests: clang
|
||||||
Description: A lightweight but powerful C/C++ IDE, built upon static Qt 5.15
|
Description: A lightweight but powerful C/C++ IDE, built upon static Qt 5.15
|
||||||
|
|
|
@ -20,7 +20,7 @@ Depends: ${shlibs:Depends},
|
||||||
gdb,
|
gdb,
|
||||||
gdbserver,
|
gdbserver,
|
||||||
astyle
|
astyle
|
||||||
Recommends: qterminal | deepin-terminal | konsole | gnome-terminal | terminator | lxterminal | mate-terminal | terminology | xfce4-terminal | alacritty | cool-retro-term | kitty | sakura | termit | tilix
|
Recommends: qterminal | konsole | gnome-terminal | terminator | lxterminal | mate-terminal | terminology | xfce4-terminal | alacritty | cool-retro-term | kitty | sakura | termit | tilix
|
||||||
Description: A lightweight but powerful C/C++ IDE
|
Description: A lightweight but powerful C/C++ IDE
|
||||||
Red Panda C++ (Old name Red Panda Dev-C++ 7) is a full featured C/C++ IDE.
|
Red Panda C++ (Old name Red Panda Dev-C++ 7) is a full featured C/C++ IDE.
|
||||||
It's the succesor of Red Panda Dev-C++ 6, which is developed by Delphi 7 and
|
It's the succesor of Red Panda Dev-C++ 6, which is developed by Delphi 7 and
|
||||||
|
|
Loading…
Reference in New Issue