summaryrefslogtreecommitdiffstats
path: root/konsole/terminalhere
diff options
context:
space:
mode:
authorMichele Calgaro <[email protected]>2020-02-14 10:54:29 +0900
committerMichele Calgaro <[email protected]>2020-02-16 18:40:43 +0900
commitc6b7fdebde2b08051a7c6b1c78d15c25907ba91b (patch)
treea51ab34e8dd55918f9eb0fff53fdeafbad2f12a4 /konsole/terminalhere
parentb48f7462dac62db1860f2bee228fdee946601451 (diff)
downloadtdebase-c6b7fdebde2b08051a7c6b1c78d15c25907ba91b.tar.gz
tdebase-c6b7fdebde2b08051a7c6b1c78d15c25907ba91b.zip
Fixed handling of RMC -> Actions -> Open terminal here.
Signed-off-by: Michele Calgaro <[email protected]> (cherry picked from commit d4b559f91838a9d3e63c1aed0b3960dca4e4df14)
Diffstat (limited to 'konsole/terminalhere')
-rw-r--r--konsole/terminalhere/CMakeLists.txt27
-rw-r--r--konsole/terminalhere/Makefile.am10
-rw-r--r--konsole/terminalhere/terminalhere.cpp66
-rw-r--r--konsole/terminalhere/terminalhere.h31
4 files changed, 134 insertions, 0 deletions
diff --git a/konsole/terminalhere/CMakeLists.txt b/konsole/terminalhere/CMakeLists.txt
new file mode 100644
index 000000000..fbd0f198d
--- /dev/null
+++ b/konsole/terminalhere/CMakeLists.txt
@@ -0,0 +1,27 @@
+
+##### config ########
+
+include_directories(
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${TDE_INCLUDE_DIR}
+ ${TQT_INCLUDE_DIRS}
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+)
+
+
+##### terminalhere (executable) ########
+
+set( target terminalhere )
+
+set( ${target}_SRCS
+ terminalhere.cpp
+)
+
+tde_add_executable( ${target} AUTOMOC
+ SOURCES ${${target}_SRCS}
+ LINK tdeio-shared
+ DESTINATION ${BIN_INSTALL_DIR}
+)
diff --git a/konsole/terminalhere/Makefile.am b/konsole/terminalhere/Makefile.am
new file mode 100644
index 000000000..8e6c53063
--- /dev/null
+++ b/konsole/terminalhere/Makefile.am
@@ -0,0 +1,10 @@
+bin_PROGRAMS = terminalhere
+
+INCLUDES = $(all_includes)
+AM_LDFLAGS = $(all_libraries)
+
+terminalhere_SOURCES = terminalhere.cpp
+terminalhere_LDFLAGS = $(all_libraries) $(KDE_RPATH) $(LIB_TQT) $(LIB_TDEIO)
+
+METASOURCES = AUTO
+
diff --git a/konsole/terminalhere/terminalhere.cpp b/konsole/terminalhere/terminalhere.cpp
new file mode 100644
index 000000000..ece2ac30e
--- /dev/null
+++ b/konsole/terminalhere/terminalhere.cpp
@@ -0,0 +1,66 @@
+/* This file is part of the TDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include <tdecmdlineargs.h>
+#include <tdeapplication.h>
+#include <tdelocale.h>
+#include <tdeconfig.h>
+#include <tdeglobal.h>
+#include <kprocess.h>
+#include <tdestartupinfo.h>
+#include <stdlib.h>
+
+#include "terminalhere.h"
+
+
+TerminalHere::TerminalHere() : TDEApplication()
+{
+ TDECmdLineArgs *args = TDECmdLineArgs::parsedArgs();
+
+ TDEConfig *config = kapp->config();
+ config->setGroup("General");
+ TQString term = config->readPathEntry("TerminalApplication", "konsole");
+
+ TDEProcess proc;
+ proc << term;
+ if (args->isSet("wd"))
+ {
+ proc.setWorkingDirectory(args->getOption("wd"));
+ }
+ proc.start(TDEProcess::DontCare);
+ ::exit(0);
+}
+
+static TDECmdLineOptions options[] =
+{
+ { "wd <dir>", I18N_NOOP("Set working directory to 'dir'"), 0 },
+ TDECmdLineLastOption
+};
+
+int main(int argc, char **argv)
+{
+ TDECmdLineArgs::init(argc, argv, "terminalhere", "terminalhere", "terminalhere", "0.1");
+ TDECmdLineArgs::addCmdLineOptions(options);
+ TDEApplication::addCmdLineOptions();
+ TDEApplication *app = new TerminalHere();
+
+ TDEStartupInfo::appStarted();
+ return app->exec();
+}
+
+#include "terminalhere.moc"
diff --git a/konsole/terminalhere/terminalhere.h b/konsole/terminalhere/terminalhere.h
new file mode 100644
index 000000000..690e3e4ff
--- /dev/null
+++ b/konsole/terminalhere/terminalhere.h
@@ -0,0 +1,31 @@
+/* This file is part of the TDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef _TERMINALHERE_H_
+#define _TERMINALHERE_H_
+
+#include <tdeapplication.h>
+
+
+class TerminalHere : public TDEApplication
+{
+public:
+ TerminalHere();
+};
+
+#endif