1. 背景介紹
deepin-terminal是我在使用deepin作業系統的時候主要的生產力工具。隨著新版本系統的不斷優化迭代,deepin-terminal從一開始的gtk設計變成了ddk設計,使得應用與作業系統的風格更加統一。
當然我是比較關注deepin-terminal的功能的,簡單實用即可。以前經常使用xshell,對於xshell這個重量級的工具來說,deepin-terminal的功能相對單一,但是很多xshell的功能,又想在deepin-terminal上用到,該怎麼辦?
呼籲官方多次,但是版本的釋出,功能的增加都需要很長的週期,沒有辦法,自己下載原始碼摸索一下,看看能否自己實現自己的需求了。
ddk的程式設計,需要有C++,Qt等基礎知識,同時可能還需要關注一下官方dtk的介面。對於C++和Qt,我只瞭解一點點,硬著頭皮上了。萬事開頭難,前後堅持了大概1個多月吧,頗有成效。下面就分享一下我的deepin-terminal學習和改造之路。
宣告:本篇部落格內容僅限於個人學習和應用,切勿商用,違規自究!如有侵權,請聯絡我刪除!轉載請註明出處!
2. 下載原始碼
本篇原始碼下載地址:https://github.com/linuxdeepin/deepin-terminal/tree/5.4.0.13
下載zip檔案後,解壓到指定目錄
本人解壓到:/home/liwl/,解壓後可以看到目錄/home/liwl/deepin-terminal-5.4.0.13
3. 依賴檢查及安裝
cd /home/liwl/deepin-terminal-5.4.0.13
,
可以先閱讀該目錄下的README.md內容,便於瞭解整個過程
首先是檢查依賴
在該目錄下執行sudo apt build-dep .
,即可檢查和安裝依賴關係
編譯和安裝
在該目錄下執行mkdir build; cd build; cmake ..; make; sudo install make
就是整個編譯和安裝的過程了,簡單明瞭
特別注意:為了能夠很好的展示效果,建議先解除安裝deepin-terminal,因為系統自帶的deepin-terminal執行路徑是:/usr/bin/deepin-terminal,而手動編譯的deepin-terminal安裝路徑在/usr/local/bin/deepin-terminal,自帶的deepin-terminal可能會影響手動編譯的。另外,編譯安裝結束後,建議通過啟動器上面的終端圖示啟動,避免使用快捷鍵啟動。也可以嘗試修改CMakeFile.txt,把手動編譯的deepin-terminal安裝到/usr/bin/目錄下,覆蓋系統自帶deepin-terminal
4. 改造之路
本人基本完成了以下功能特性:
- 新增了“終端透明度”的快捷鍵設定選項
- 新增了“雙擊可選中的特殊符號”的設定選項
- 新增了“啟動初始目錄”的設定選項
- 新增了“顯示設定介面”的快捷鍵設定選項
- 右鍵新增了“翻譯”的選項
- 右鍵新增了“使用文字編輯器開啟”的選項
- 加粗了游標下劃線
- 修改了預設Dark主題配色
- 替換了一個內建主題
未完成的需求:
- 快捷鍵切換主題
- 突出顯示敏感內容
- 彈窗或者側邊欄顯示翻譯內容
- 雙擊選中中文句子
4.1 終端透明度快捷鍵
4.1.1 設定皮膚增加選項內容
在“設定“皮膚裡面新增選項,需要通過一個json檔案配置,原始碼在編譯過程中會自動解析該json檔案,生成介面元件
該json就是:/home/liwl/deepin-terminal-5.4.0.13/src/assets/other/default-config.json
本人慾把”終端透明度“快捷鍵設定在”複製“前面,所以保持json裡面的內容也在其前面。
在default-config.json檔案中找到以下內容:
{
"key": "copy",
"name": "Copy",
"type": "shortcut",
"default": "Ctrl+Shift+C"
},
修改為:
{
"key": "opacity",
"name": "Opacity",
"type": "shortcut",
"default": "Alt+r"
},
{
"key": "copy",
"name": "Copy",
"type": "shortcut",
"default": "Ctrl+Shift+C"
},
儲存並退出
4.1.2 新增配置解析內容
vim 開啟檔案:/home/liwl/deepin-terminal-5.4.0.13/src/settings/settings_translation.cpp,在最後一行大括號上面,新增內容:
auto shortcuts_terminal_opacityName = QObject::tr("Opacity");
Q_UNUSED(shortcuts_terminal_opacityName);
注意參照該檔案的其他部分內容修改,即注意shortcuts_terminal_opacityName為何如何書寫
儲存並退出
4.1.3 功能實現
這部分主要是三個步驟:
其一,在void MainWindow:initShortcuts()
方法的內部,新增以下內容:
connect(createNewShotcut("shortcuts.terminal.opacity"),&QShortcut::activated,this,&MainWindow::slotShortcutOpacity); //這是增加的部分,注意分號不要丟了
//copy
connect(createNewShotcut("shortcuts.terminal.copy"), &QShortcut::activated, this, &MainWindow::slotShortcutCopy);
其二,在void MainWindow::slotShortcutCopy()方法的上面
,實現slotShortcutOpacity()
void MainWindow::slotShortcutOpacity(){
TermWidgetPage *page = currentPage();
if (page){
if (Settings::instance()->settings->option("basic.interface.opacity")->value().toInt() == 100) {
page->setTerminalOpacity(0.85);
Settings::instance()->settings->option("basic.interface.opacity")->setValue(85);
}else{
page->setTerminalOpacity(1.0);
Settings::instance()->settings->option("basic.interface.opacity")->setValue(100);
}
page->focusCurrentTerm();//這個必須有,否則無法聚焦
}
}//這個方法是新增的內容
void MainWindow::slotShortcutCopy()
{
TermWidgetPage *page = currentPage();
if (page) {
page->copyClipboard();
}
}
其三,在mainwindow.h新增方法的宣告
void slotShortcutOpacity();//這是新增的內容
void slotShortcutBuiltinCopy();
儲存並退出
4.1.4 編譯安裝
cd /home/liwl/deepin-terminal-5.4.0.13/build
cmake ..
make
sudo install make
# 預設安裝的路徑是/usr/local/bin/下
編譯安裝的過程,在本篇以下內容全部通用,下文不再贅述
4.1.5 效果展示
4.2 雙擊可選中的特殊符號
該功能在實用性很強,Konsole和xshell都有相關的設定選項,但是deepin-terminal並沒有此功能設定,導致終端在某些使用場景中效率較低。
本部分主要就是實現該功能,把功能選項新增到“高階設定-游標”部分
4.2.1 設定皮膚增加選項內容
首先修改json檔案:vim /home/liwl/deepin-terminal-5.4.0.13/src/assets/other/default-config.json,新增部分如下:
{
"key": "auto_copy_selection",
"type": "checkbox",
"text": "Copy on select",
"default": true
},
{
"key": "word_characters",
"name": "Word characters",
"type": "lineedit"
}
儲存並退出
4.2.2 新增配置解析內容
vim /home/liwl/deepin-terminal-5.4.0.13/src/settings/settings_translation.cpp
在最後一行的花括號上,新增以下內容:
auto advanced_cursor_word_charactersText = QObject::tr("Word characters");
Q_UNUSED(advanced_cursor_word_charactersText);
注意advanced_cursor_word_charactersText寫法,參照該檔案其他部分內容
儲存並退出
4.2.3 功能實現
本部分主要包括以下幾個步驟:
其一,編輯檔案:vim /home/liwl/deepin-terminal-5.4.0.13/3rdparty/terminalwidget/lib/qtermwidget.h
新增以下內容:
QFont getTerminalFont();
void setTerminalOpacity(qreal level);
//add by liwl@2021.03.02,begin
void setTerminalWordCharacters(const QString &wc);
//add by liwl@2021.03.02,end
void setTerminalBackgroundImage(QString backgroundImage);
// environment
void setEnvironment(const QStringList &environment);
其二,編輯檔案:vim /home/liwl/deepin-terminal-5.4.0.13/3rdparty/terminalwidget/lib/qtermwidget.cpp
新增以下內容:
void QTermWidget::setTerminalOpacity(qreal level)
{
m_impl->m_terminalDisplay->setOpacity(level);
}
//add by liwl@2021.03.02,begin
void QTermWidget::setTerminalWordCharacters(const QString &wc)
{
m_impl->m_terminalDisplay->setWordCharacters(wc);
}
//add by liwl@2021.03.02,end
void QTermWidget::setTerminalBackgroundImage(QString backgroundImage)
{
m_impl->m_terminalDisplay->setBackgroundImage(backgroundImage);
}
其三,編輯檔案,vim /home/liwl/deepin-terminal-5.4.0.13/src/views/termwidget.h,新增方法宣告:
// 修改游標形狀
void setCursorShape(int shape);
//add by liwl@2021.03.02,begin
void setTermWordCharacters(const QString &wc);
//add by liwl@2021.03.02,end
void setPressingScroll(bool enable);
其四,編輯檔案:vim /home/liwl/deepin-terminal-5.4.0.13/src/views/termwidget.cpp
在void TermWidget::setCursorShare(int share)
方法下新增以下內容:
/*******************************************************************************
1. @函式: setTermWordCharacters
2. @作者: liwl
3. @日期: 2021-03-02
4. @說明: 設定雙擊可選中的分隔符
*******************************************************************************/
void TermWidget::setTermWordCharacters(const QString &wc)
{
setTerminalWordCharacters(wc);
}
在void TermWidget::onSettingValueChanged(const QString &keyName)
方法中的新增以下內容:
//add by liwl@2021-03-02,begin
if (keyName == "advanced.cursor.word_characters") {
setTermWordCharacters(Settings::instance()->wordCharacters());
return ;
}
//add by liwl@2021-03-02,en
其五,編輯檔案,/home/liwl/deepin-terminal-5.4.0.13/src/settings/settings.h,新增相關方法宣告
QString fontName();
//add by liwl@2021.03.02,begin
QString wordCharacters() const;//這裡是屬性的宣告
//add by liwl@2021.03.02,end
int fontSize();
void backgroundBlurChanged(bool enabled);
//add by liwl@2021.03.02,begin
void wordCharactersChanged(QString wordCharacters);//這裡是訊號的宣告
//add by liwl@2021.03.02,end
void pressingScrollChanged(bool enabled);
其六,編輯檔案:vim /home/liwl/Documents/liwl_dev/deepin-terminal_modify_by_liwl/src/settings/settings.cpp
在void Settings::initConnection()
方法中,新增以下內容:
QPointer<DSettingsOption> cursorBlink = settings->option("advanced.cursor.cursor_blink");
connect(cursorBlink, &Dtk::Core::DSettingsOption::valueChanged, this, [ = ](QVariant value) {
emit cursorBlinkChanged(value.toBool());
});
//add by liwl@2021.03.02,begin
QPointer<DSettingsOption> wordCharacters = settings->option("advanced.cursor.word_characters");
connect(wordCharacters, &Dtk::Core::DSettingsOption::valueChanged, this, [ = ](QVariant value) {
emit wordCharactersChanged(value.toString());
});
//add by liwl@2021.03.02,end
在void Settings::colorScheme() const
方法下面,新增以下內容:
/*******************************************************************************
1. @函式: wordCharacters
2. @作者: liwl
3. @日期: 2021-03-02
4. @說明: 設定介面獲取雙擊可選中的符號
*******************************************************************************/
QString Settings::wordCharacters() const
{
return settings->option("advanced.cursor.word_characters")->value().toString();
}
儲存退出,編譯一次
中文翻譯
這裡有個問題,設定介面"Word characters"未翻譯,進行以下操作:
編輯檔案,vim /home/liwl/deepin-terminal-5.4.0.13/translations/deepin-terminal_zh_CN.ts,修改
<message>
<location filename="../src/settings/settings_translation.cpp" line="161"/>
<source>Word characters</source>
<translation type="unfinished"></translation>
</message>
為
<message>
<location filename="../src/settings/settings_translation.cpp" line="161"/>
<source>Word characters</source>
<translation>雙擊可選中的特殊符號</translation>
</message>
儲存退出後,再重新進行編譯安裝操作
4.2.4 效果展示
4.3 啟動初始目錄
deepin-terminal預設啟動目錄是使用者的home目錄,但是當前版本沒有提供啟動初始目錄的設定選項。如果經常在某個目錄下工作 ,通過終端進入該目錄,不斷地cd有些繁瑣,直接設定一個deepin-terminal初始目錄,顯得更加高效和人性化。
本部分主要實現該功能。
4.3.1 設定皮膚增加選項內容
本篇把“啟動初始目錄”的設定選項,放置在“基礎設定-介面”區域下
編輯檔案:vim /home/liwl/deepin-terminal-5.4.0.13/src/assets/other/default-config.json
修改內容為:
{
"key": "work_directory",
"name": "Work directory",
"type": "lineedit"
},
{
"key": "opacity",
"name": "Opacity",
"type": "slider",
"max": 100,
"min": 20,
"default": 100
},
儲存並退出
4.3.2 新增配置解析內容
編輯檔案:vim /home/liwl/deepin-terminal-5.4.0.13/src/settings/settings_translation.cpp
在最後一行花括號上面,新增以下內容:
auto basic_interface_work_directoryName = QObject::tr("Work directory");
Q_UNUSED(basic_interface_work_directoryName);
儲存退出
新增中文翻譯
首先編譯一下:
cd /home/liwl/deepin-terminal-5.4.0.13/build
cmake ..
make
然後修改翻譯檔案:
vim /home/liwl/deepin-terminal-5.4.0.13/translations/deepin-terminal_zh_CN.ts
<message>
<location filename="../src/settings/settings_translation.cpp" line="163"/>
<source>Work directory</source>
<translation type="unfinished"></translation>
</message
上面內容修改為以下內容:
<message>
<location filename="../src/settings/settings_translation.cpp" line="163"/>
<source>Work directory</source>
<translation>啟動初始目錄</translation>
</message
然後再進行一次編譯即可
4.3.3 功能程式碼實現
本部分主要包括以下幾個步驟:
其一,編輯檔案:vim /home/liwl/deepin-terminal-5.4.0.13/src/settings/settings.h
修改為以下內容:
QString fontName();
//add by liwl@2021.03.02,begin
QString wordCharacters() const;
QString workDirectory() const;
//add by liwl@2021.03.02,end
int fontSize();
void backgroundBlurChanged(bool enabled);
//add by liwl@2021.03.02,begin
void wordCharactersChanged(QString wordCharacters);
void workDirectoryChanged(QString workDirectory);
//add by liwl@2021.03.02,end
void pressingScrollChanged(bool enabled);
其二,編輯檔案:vim /home/liwl/deepin-terminal-5.4.0.13/src/settings/settings.cpp
修改為以下內容:
QPointer<DSettingsOption> cursorBlink = settings->option("advanced.cursor.cursor_blink");
connect(cursorBlink, &Dtk::Core::DSettingsOption::valueChanged, this, [ = ](QVariant value) {
emit cursorBlinkChanged(value.toBool());
});
//add by liwl@2021.03.02,begin
QPointer<DSettingsOption> wordCharacters = settings->option("advanced.cursor.word_characters");
connect(wordCharacters, &Dtk::Core::DSettingsOption::valueChanged, this, [ = ](QVariant value) {
emit wordCharactersChanged(value.toString());
});
QPointer<DSettingsOption> workDirectory = settings->option("basic.interface.work_directory");
connect(workDirectory, &Dtk::Core::DSettingsOption::valueChanged, this, [ = ](QVariant value) {
emit workDirectoryChanged(value.toString());
});
//add by liwl@2021.03.02,end
QPointer<DSettingsOption> backgroundBlur = settings->option("advanced.window.blurred_background");
connect(backgroundBlur, &Dtk::Core::DSettingsOption::valueChanged, this, [ = ](QVariant value) {
emit backgroundBlurChanged(value.toBool());
});
在 settings.cpp的QSting Settings::wordCharacters() const
方法下,新增以下內容:
/*******************************************************************************
1. @函式: wordCharacters
2. @作者: liwl
3. @日期: 2021-03-02
4. @說明: 設定介面獲取終端啟動初始目錄
*******************************************************************************/
QString Settings::workDirectory() const
{
return settings::option("basic.interface.work_directory")->value().toString();
}
其三,編輯檔案,vim /home/liwl/deepin-terminal-5.4.0.13/src/views/termwidget.cpp
把以下內容:
// WorkingDir
if (m_properties.contains(WorkingDir)) {
setWorkingDirectory(m_properties[WorkingDir].toString());
}
修改為:
// WorkingDir
if (m_properties.contains(WorkingDir)) {
setWorkingDirectory(m_properties[WorkingDir].toString());
}//else add by liwl@2021.02.20
else{
QString default_work_diretory = Settings::instance()->workDirectory();
QFileInfo file(default_work_diretory);
if (file.exists())
setWorkingDirectory(default_work_diretory);
}//add by liwl end
儲存退出, 編譯安裝
4.3.4 效果展示
4.4 顯示設定介面
在Konsole獲取其他很多應用軟體,都有通過快捷鍵開啟設定的選項,deepin-terminal提供了兩種開啟“設定”的方式:右鍵,選單選項
本部分實現了通過快捷鍵開啟“設定”皮膚,把該設定選項放置在“基礎設定-其他”區域內。
4.4.1 修改設定皮膚的顯示
編輯檔案,vim /home/liwl/deepin-terminal-5.4.0.13/src/assets/other/default-config.json
修改內容如下:
{
"key": "display_shortcuts",
"name": "Display shortcuts",
"type": "shortcut",
"default": "Ctrl+Shift+?"
},
{
"key": "display_setting",
"name": "Display setting",
"type": "shortcut",
"default": "Ctrl+,"
},
儲存退出
4.4.2 新增配置解析內容
編輯檔案,vim /home/liwl/deepin-terminal-5.4.0.13/src/settings/settings_translation.cpp
在該檔案最後一行的花括號上面,新增以下內容:
auto shortcuts_advanced_display_settingName = QObject::tr("Display setting");
Q_UNUSED(shortcuts_advanced_display_settingName);
儲存退出
新增中文翻譯
首先編譯一下:
cd /home/liwl/deepin-terminal-5.4.0.13/build
cmake ..
make
然後修改翻譯檔案:
vim /home/liwl/deepin-terminal-5.4.0.13/translations/deepin-terminal_zh_CN.ts
修改以下內容:
<message>
<location filename="../src/settings/settings_translation.cpp" line="165"/>
<source>Display setting</source>
<translation type="unfinished"></translation>
</message>
為:
<message>
<location filename="../src/settings/settings_translation.cpp" line="165"/>
<source>Display setting</source>
<translation>顯示設定介面</translation>
</message>
儲存退出後,再次編譯
4.4.3 功能程式碼實現
編輯檔案,vim /home/liwl/deepin-terminal-5.4.0.13/src/main/mainwindow.cpp
修改內容如下:
// close_other_workspaces
connect(createNewShotcut("shortcuts.tab.close_other_workspaces"), &QShortcut::activated, this, &MainWindow::slotShortcutCloseOtherWorkspaces);
//opacity.add by liwl@2021.03.01,begin
connect(createNewShotcut("shortcuts.terminal.opacity"), &QShortcut::activated, this, &MainWindow::slotShortcutOpacity);
connect(createNewShotcut("shortcuts.advanced.display_setting"),&QShortcut::activated,Service::instance(),&Service::slotShowSettingsDialog);
//opacity.add by liwl@2021.03.01,end
// copy
connect(createNewShotcut("shortcuts.terminal.copy"), &QShortcut::activated, this, &MainWindow::slotShortcutCopy);
儲存退出後,編譯安裝
4.4.4 效果展示
4.5 右鍵翻譯
本部分主要實現了選中內容後,右鍵-翻譯,通過瀏覽器開啟翻譯介面,顯示翻譯結果
4.5.1 功能實現
編輯檔案,vim /home/liwl/Documents/liwl_dev/deepin-terminal_modify_by_liwl/src/views/termwidget.cpp
在void TermWidget::addMenuActions(const QPoint &pos)
方法內,修改內容如下:
if (!m_menu->isEmpty()) {
m_menu->addSeparator();
}
//add by liwl@2021.03.02,begin
if (!selectedText().isEmpty()){
m_menu->addAction(tr("Transfer"),this,[this]){
QString strurl = "https://fanyi.baidu.com/#en/zh/" + selectedText();
QDesktopServices::openUrl(strurl);
}
}
//add by liwl@2021.03.02,end
儲存退出,執行一次編譯
中文翻譯
編輯檔案,vim /home/liwl/deepin-terminal-5.4.0.13/translations/termwidget.cpp
修改以下內容:
<message>
<location filename="../src/views/termwidget.cpp" line="416"/>
<source>Transfer</source>
<translation type="unfinished"></translation>
</message>
為:
<message>
<location filename="../src/views/termwidget.cpp" line="416"/>
<source>Transfer</source>
<translation>翻譯</translation>
</message>
儲存退出後,編譯安裝
4.5.2 效果展示
4.6 右鍵文字編輯器開啟
本部分主要實現把複製的內容,使用文字編輯器開啟
4.6.1 功能實現
功能實現已經很簡單,在4.5.1的基礎上修改程式碼,如下:
vim /home/liwl/Documents/liwl_dev/deepin-terminal_modify_by_liwl/src/views/termwidget.cpp
if (!selectedText().isEmpty()) {
m_menu->addAction(tr("Transfer"), this, [this] {
QString strurl = "https://fanyi.baidu.com/#en/zh/" + selectedText();
QDesktopServices::openUrl(QUrl(strurl));
});
//add by liwl@2021.03.02,begin
m_menu->addAction(tr("Open by deepin-editor"),this,[this] {
QFile tmpFile;
QString tmpFileName("/tmp/tmp.txt");
tmpFile.setFileName(tmpFileName);
if (tmpFile.open(QIODevice::WriteOnly|QIODevice::Text)){
QTextStream stream(&tmpFile);
stream << selectedText()<<"\n";
tmpFile.close();
};
QString cmd = QString("xdg-open /tmp/tmp.txt");
system(cmd.toStdString().c_str());
}); // add by liwl@2021.03.02,end
}
因為程式碼中用到了QTextStream,所以必須新增標頭檔案:
#include <QTextStream>
儲存退出,編譯一次
這段程式碼寫的比較渣,本意是想把剪下板的內容使用文字編輯器直接開啟,而非使用文字編輯器開啟檔案
中文翻譯
編輯檔案,vim /home/liwl/deepin-terminal-5.4.0.13/translations/deepin-terminal_zh_CN.ts
修改以下內容:
<message>
<location filename="../src/views/termwidget.cpp" line="426"/>
<source>Open by deepin-editor</source>
<translation type="unfinished"></translation>
</message>
為:
<message>
<location filename="../src/views/termwidget.cpp" line="426"/>
<source>Open by deepin-editor</source>
<translation>使用文字編輯器開啟</translation>
</message>
儲存退出後,編譯安裝
4.6.2 效果展示
4.7 游標下劃線加粗
deepin-terminal的游標下劃線很細,在終端和vim模式下存在感很低,很多時候因為看不到游標在哪裡而不得不尋找半天,拉低效率。
4.7.1 修改設定皮膚的顯示
編輯檔案,vim /home/liwl/deepin-terminal-5.4.0.13/src/assets/other/default-config.json,
修改為以下內容:
{
"key": "cursor_share",
"name": "Cursor style",
"type": "buttongroup",
"items": ["▐","▂","|"],
"default":0,
"i18n_skip_keys": ["items"]
},
4.7.2 程式碼修改
編輯檔案,vim /home/liwl/deepin-terminal-5.4.0.13/3rdparty/terminalwidget/lib/TerminalDisplay.cpp,
修改原始碼:
else if ( _cursorShape == Emulation::KeyboardCursorShape::UnderlineCursor )
painter.drawLine(QLineF(
QPointF(cursorRect.left(),
cursorRect.bottom()),
QPointF(cursorRect.right(),
cursorRect.bottom())));
為:
else if ( _cursorShape == Emulation::KeyboardCursorShape::UnderlineCursor )
{
for (int i = 0; i <= 3; ++i)
painter.drawLine(QLineF( QPointF(cursorRect.left(), cursorRect.bottom()+i), QPointF(cursorRect.right(), cursorRect.bottom()+i)));
}
即用一個for迴圈,多畫3條線實現加粗,儲存退出,編譯安裝
4.7.3 效果展示
4.8 修改主題配色
本部分主要介紹如何修改主題配色,主要操作目錄為:
cd /home/liwl/deepin-terminal-5.4.0.13/3rdparty/terminalwidget/lib/color-schemes
該目錄定義了deepin-terminal的Dark主題,Light主題,還有內建的其他10個主題
如果修改某個主題的配色,比如修改Dark的主題配色,只需要編輯Dark.colorscheme檔案
那麼如何替換掉內建主題呢?
比如我想把內建的第二個主題Empathy換成Breeze主題,操作如下:
把BreezeModified.colorscheme檔案內部的
[Background]
[BackgroundIntense]
[Color0]
[Color0Intense]
[Color1]
[Color1Intense]
[Color2]
[Color2Intense]
[Color3]
[Color3Intense]
[Color4]
[Color4Intense]
[Color5]
[Color5Intense]
[Color6]
[Color6Intense]
[Color7]
[Color7Intense]
[Foreground]
[ForegroundIntense]
[General]
配置欄位下面的Color引數值,替換掉Theme2.colorscheme中相應配置欄位下面的Color引數即可。
然後修改檔案:vim /home/liwl/deepin-terminal-5.4.0.13/src/main/mainwindow.h
把
static constexpr const char *THEME_TWO_NAME = "Breeze";
儲存退出,編譯安裝即可
這裡不在贅述詳細的操作過程,僅貼2張效果圖
修改前:
修改後: