diff --git a/Gtkmm3/gtk74_scale/.vscode/c_cpp_properties.json b/Gtkmm3/gtk74_scale/.vscode/c_cpp_properties.json
new file mode 100644
index 0000000..64210d8
--- /dev/null
+++ b/Gtkmm3/gtk74_scale/.vscode/c_cpp_properties.json
@@ -0,0 +1,95 @@
+{
+ "configurations": [
+ {
+ "name": "Linux",
+ "includePath": [
+ //For linux amd64 and linux on arm64,some include path may different
+ //Commet and uncomment these lines to compile on a specificed archtiecture
+ //Arm64 linux libs
+ /*
+ "/usr/lib/aarch64-linux-gnu/dbus-1.0/include/**",
+ "/usr/lib/aarch64-linux-gnu/glib-2.0/include/**",
+ "/usr/lib/aarch64-linux-gnu/gtkmm-3.0/include/**",
+ "/usr/lib/aarch64-linux-gnu/gdkmm-3.0/include/**",
+ "/usr/lib/aarch64-linux-gnu/giomm-2.4/include/**",
+ "/usr/lib/aarch64-linux-gnu/pangomm-1.4/include/**",
+ "/usr/lib/aarch64-linux-gnu/glibmm-2.4/include/**",
+ "/usr/lib/aarch64-linux-gnu/cairomm-1.0/include/**",
+ "/usr/lib/aarch64-linux-gnu/sigc++-2.0/include/**",
+ */
+ //amd64 linux libs(For ubuntu)
+ /*
+ "/usr/lib/x86_64-linux-gnu/dbus-1.0/include/**",
+ "/usr/lib/x86_64-linux-gnu/glib-2.0/include/**",
+ "/usr/lib/x86_64-linux-gnu/gtkmm-3.0/include/**",
+ "/usr/lib/x86_64-linux-gnu/gdkmm-3.0/include/**",
+ "/usr/lib/x86_64-linux-gnu/giomm-2.4/include/**",
+ "/usr/lib/x86_64-linux-gnu/pangomm-1.4/include/**",
+ "/usr/lib/x86_64-linux-gnu/glibmm-2.4/include/**",
+ "/usr/lib/x86_64-linux-gnu/cairomm-1.0/include/**",
+ "/usr/lib/x86_64-linux-gnu/sigc++-2.0/include/**",
+ */
+ //For debian and ubuntu,kali
+ /*
+ "/usr/include/gtk-3.0/gtk/**",
+ "/usr/include/uuid/**",
+ */
+ //For manjaro(Arch linux)
+
+ "/usr/lib/dbus-1.0/include/**",
+ "/usr/lib/glib-2.0/include/**",
+ "/usr/include/lzo/**",
+ "/usr/include/cloudproviders/**",
+
+ "${workspaceFolder}/**",
+ "${workspaceFolder}/../**",
+ "/usr/include/gtk-3.0/**",
+ "/usr/include/at-spi2-atk/2.0/**",
+ "/usr/include/at-spi-2.0/**",
+ "/usr/include/dbus-1.0/**",
+ "/usr/include/gio-unix-2.0/**",
+ "/usr/include/cairo/**",
+ "/usr/include/pango-1.0/**",
+ "/usr/include/fribidi/**",
+ "/usr/include/harfbuzz/**",
+ "/usr/include/atk-1.0/**",
+ "/usr/include/pixman-1/**",
+ "/usr/include/freetype2/**",
+ "/usr/include/libpng16/**",
+ "/usr/include/gdk-pixbuf-2.0/**",
+ "/usr/include/libmount/**",
+ "/usr/include/blkid/**",
+ "/usr/include/glib-2.0/**",
+
+ //Gtkmm libs
+ "/usr/include/gtkmm-3.0/**",
+ "/usr/lib/gtkmm-3.0/include/**",
+ "/usr/include/giomm-2.4/**",
+ "/usr/lib/giomm-2.4/include/**",
+ "/usr/include/glibmm-2.4/**",
+ "/usr/lib/glibmm-2.4/include/**",
+ "/usr/include/sigc++-2.0/**",
+ "/usr/lib/sigc++-2.0/include/**",
+ "/usr/include/cairomm-1.0/**",
+ "/usr/lib/cairomm-1.0/include/**",
+ "/usr/include/pangomm-1.4/**",
+ "/usr/lib/pangomm-1.4/include/**",
+ "/usr/include/atkmm-1.6/**",
+ "/usr/lib/atkmm-1.6/include/**",
+ "/usr/include/gtk-3.0/unix-print/**",
+ "/usr/include/gdkmm-3.0/**",
+ "/usr/lib/gdkmm-3.0/include/**"
+ ],
+ "defines": [],
+ "compilerPath": "/usr/bin/gcc",
+ "cStandard": "gnu17",
+ "cppStandard": "gnu++17",
+ "intelliSenseMode": "gcc-x64",
+ "compilerArgs": [
+ "`pkg-config --cflags --libs gtkmm-3.0`"
+ ],
+ "configurationProvider": "ms-vscode.cmake-tools"
+ }
+ ],
+ "version": 4
+}
\ No newline at end of file
diff --git a/Gtkmm3/gtk74_scale/.vscode/launch.json b/Gtkmm3/gtk74_scale/.vscode/launch.json
new file mode 100644
index 0000000..e4614bd
--- /dev/null
+++ b/Gtkmm3/gtk74_scale/.vscode/launch.json
@@ -0,0 +1,29 @@
+{
+ // Use IntelliSense to learn about possible attributes.
+ // Hover to view descriptions of existing attributes.
+ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "name": "g++ - Build and debug active file",
+ "type": "cppdbg",
+ "request": "launch",
+ "program": "${workspaceFolder}/bin/gtk73",
+ "args": [],
+ "stopAtEntry": false,
+ "cwd": "${workspaceFolder}",
+ "environment": [],
+ "externalConsole": false,
+ "MIMode": "gdb",
+ "setupCommands": [
+ {
+ "description": "Enable pretty-printing for gdb",
+ "text": "-enable-pretty-printing",
+ "ignoreFailures": true
+ }
+ ],
+ "preLaunchTask": "C/C++: g++ build active file",
+ "miDebuggerPath": "/usr/bin/gdb"
+ }
+ ]
+}
diff --git a/Gtkmm3/gtk74_scale/.vscode/settings.json b/Gtkmm3/gtk74_scale/.vscode/settings.json
new file mode 100644
index 0000000..208afcc
--- /dev/null
+++ b/Gtkmm3/gtk74_scale/.vscode/settings.json
@@ -0,0 +1,5 @@
+{
+ "C_Cpp.errorSquiggles": "Disabled",
+ "cmake.configureOnOpen": false,
+ "C_Cpp.dimInactiveRegions": false
+}
\ No newline at end of file
diff --git a/Gtkmm3/gtk74_scale/.vscode/tasks.json b/Gtkmm3/gtk74_scale/.vscode/tasks.json
new file mode 100644
index 0000000..fea69b3
--- /dev/null
+++ b/Gtkmm3/gtk74_scale/.vscode/tasks.json
@@ -0,0 +1,133 @@
+{
+ "tasks": [
+ {
+ "type": "cppbuild",
+ "label": "C/C++: g++ build active file",
+ "command": "/usr/bin/g++",
+ "args": [
+ "-g",
+ "src/*.cc",
+ "-o",
+ "${workspaceFolder}/bin/gtk73",
+ "-pthread",
+ //For Arm64 linux
+ /*
+ "-I/usr/lib/aarch64-linux-gnu/dbus-1.0/include",
+ "-I/usr/lib/aarch64-linux-gnu/glib-2.0/include",
+ "-I/usr/lib/aarch64-linux-gnu/gtkmm-3.0/include",
+ "-I/usr/lib/aarch64-linux-gnu/gdkmm-3.0/include",
+ "-I/usr/lib/aarch64-linux-gnu/giomm-2.4/include",
+ "-I/usr/lib/aarch64-linux-gnu/pangomm-1.4/include",
+ "-I/usr/lib/aarch64-linux-gnu/glibmm-2.4/include",
+ "-I/usr/lib/aarch64-linux-gnu/cairomm-1.0/include",
+ "-I/usr/lib/aarch64-linux-gnu/sigc++-2.0/include",
+ */
+ //For amd64 linux
+ /*
+ "-I/usr/lib/x86_64-linux-gnu/dbus-1.0/include",
+ "-I/usr/lib/x86_64-linux-gnu/glib-2.0/include",
+ "-I/usr/lib/x86_64-linux-gnu/gtkmm-3.0/include",
+ "-I/usr/lib/x86_64-linux-gnu/gdkmm-3.0/include",
+ "-I/usr/lib/x86_64-linux-gnu/giomm-2.4/include",
+ "-I/usr/lib/x86_64-linux-gnu/pangomm-1.4/include",
+ "-I/usr/lib/x86_64-linux-gnu/glibmm-2.4/include",
+ "-I/usr/lib/x86_64-linux-gnu/cairomm-1.0/include",
+ "-I/usr/lib/x86_64-linux-gnu/sigc++-2.0/include",
+ */
+ //Ubuntu and kali include paths
+
+ //"-I/usr/include/uuid",
+
+ //Manjaro linux and Arch linux include args
+
+ "-I${workspaceFolder}",
+ "-I${workspaceFolder}/../",
+
+ "-I/usr/lib/glib-2.0/include",
+ "-I/usr/lib/dbus-1.0/include",
+ "-I/usr/include/lzo",
+ "-I/usr/include/cloudproviders",
+
+ "-I/usr/include/gtk-3.0",
+ "-I/usr/include/at-spi2-atk/2.0",
+ "-I/usr/include/at-spi-2.0",
+ "-I/usr/include/dbus-1.0",
+ "-I/usr/include/gio-unix-2.0",
+ "-I/usr/include/cairo",
+ "-I/usr/include/pango-1.0",
+ "-I/usr/include/fribidi",
+ "-I/usr/include/harfbuzz",
+ "-I/usr/include/atk-1.0",
+ "-I/usr/include/pixman-1",
+ "-I/usr/include/freetype2",
+ "-I/usr/include/libpng16",
+ "-I/usr/include/gdk-pixbuf-2.0",
+ "-I/usr/include/libmount",
+ "-I/usr/include/blkid",
+ "-I/usr/include/glib-2.0",
+
+ //Gtkmm For Archlinux and Manjaro
+
+ "-I/usr/lib/gtkmm-3.0/include",
+ "-I/usr/lib/giomm-2.4/include",
+ "-I/usr/lib/glibmm-2.4/include",
+ "-I/usr/lib/sigc++-2.0/include",
+ "-I/usr/lib/cairomm-1.0/include",
+ "-I/usr/lib/atkmm-1.6/include",
+ "-I/usr/lib/gdkmm-3.0/include",
+ "-I/usr/lib/pangomm-1.4/include",
+
+ //Gtkmm libs
+ "-I/usr/include/gtkmm-3.0",
+ "-I/usr/include/giomm-2.4",
+ "-I/usr/include/glibmm-2.4",
+ "-I/usr/include/sigc++-2.0",
+ "-I/usr/include/cairomm-1.0",
+ "-I/usr/include/pangomm-1.4",
+ "-I/usr/include/atkmm-1.6",
+ "-I/usr/include/gtk-3.0/unix-print",
+ "-I/usr/include/gdkmm-3.0",
+
+
+ //Manjaro linux lib args
+ "-lz",
+
+ "-lgtk-3",
+ "-lgdk-3",
+ "-lpangocairo-1.0",
+ "-lpango-1.0",
+ "-lharfbuzz",
+ "-latk-1.0",
+ "-lcairo-gobject",
+ "-lcairo",
+ "-lgdk_pixbuf-2.0",
+ "-lgio-2.0",
+ "-lgobject-2.0",
+ "-lglib-2.0",
+
+ //For gtkmm
+
+ "-lgtkmm-3.0",
+ "-latkmm-1.6",
+ "-lgdkmm-3.0",
+ "-lgiomm-2.4",
+ "-lpangomm-1.4",
+ "-lglibmm-2.4",
+ "-lcairomm-1.0",
+ "-lsigc-2.0"
+ ],
+ "options": {
+ "cwd": "${workspaceFolder}"
+ },
+ "problemMatcher": [
+ "$gcc"
+ ],
+ "group": {
+ "kind": "build",
+ "isDefault": true
+ },
+ "detail": "Task generated by Debugger."
+ }
+ ],
+ "version": "2.0.0"
+}
diff --git a/Gtkmm3/gtk74_scale/bin/README b/Gtkmm3/gtk74_scale/bin/README
new file mode 100644
index 0000000..e69de29
diff --git a/Gtkmm3/gtk74_scale/res/gtk74.gresource.xml b/Gtkmm3/gtk74_scale/res/gtk74.gresource.xml
new file mode 100644
index 0000000..9e5f4be
--- /dev/null
+++ b/Gtkmm3/gtk74_scale/res/gtk74.gresource.xml
@@ -0,0 +1,6 @@
+
+
+
+ window.ui
+
+
\ No newline at end of file
diff --git a/Gtkmm3/gtk74_scale/res/window.ui b/Gtkmm3/gtk74_scale/res/window.ui
new file mode 100644
index 0000000..594731c
--- /dev/null
+++ b/Gtkmm3/gtk74_scale/res/window.ui
@@ -0,0 +1,315 @@
+
+
+
+
+
+
+
+
+
diff --git a/Gtkmm3/gtk74_scale/src/MyApp.cc b/Gtkmm3/gtk74_scale/src/MyApp.cc
new file mode 100644
index 0000000..cb838b9
--- /dev/null
+++ b/Gtkmm3/gtk74_scale/src/MyApp.cc
@@ -0,0 +1,82 @@
+#include "MyApp.hh"
+
+Glib::RefPtr MyApp::create() {
+ return Glib::RefPtr(new MyApp());
+}
+
+void MyApp::on_activate() {
+ //Create a builder and get widgets
+ m_builder = Gtk::Builder::create_from_resource("/gtk74/window.ui");
+ //Main window
+ m_builder->get_widget("window", window);
+ window->set_title("Gtk (74)");
+ add_window(*window);
+ //Show Value Button
+ m_builder->get_widget("btnshow", btn_check);
+ btn_check->signal_clicked().connect(sigc::mem_fun(*this, &MyApp::btncheck_clicked));
+ //Scale buttons
+ m_builder->get_widget("scale1", scale1);
+ m_builder->get_widget("scale2", scale2);
+ //Position ComboBox
+ m_builder->get_widget("combo_pos", combo_pos);
+ combo_pos->signal_changed().connect(sigc::mem_fun(*this, &MyApp::combopos_changed));
+ //Digit setting
+ m_builder->get_widget("digit_scale", digit_scale);
+ digit_scale->signal_value_changed().connect(sigc::mem_fun(*this, &MyApp::digit_changed));
+ //Page size Setting
+ object = m_builder->get_object("adjustment1");
+ main_value = Glib::RefPtr::cast_static(object);
+ m_builder->get_widget("size_scale", size_scale);
+ size_scale->signal_value_changed().connect(sigc::mem_fun(*this, &MyApp::size_changed));
+ //Exit Button
+ m_builder->get_widget("btnexit", btn_exit);
+ btn_exit->signal_clicked().connect(sigc::mem_fun(*this, &MyApp::btnexit_clicked));
+ window->show_all();
+}
+
+void MyApp::btncheck_clicked() {
+ bool checked;
+ checked = btn_check->get_active();
+ scale1->set_draw_value(checked);
+ scale2->set_draw_value(checked);
+}
+
+void MyApp::combopos_changed() {
+ //Change the position of scales
+ int index;
+ index = combo_pos->get_active_row_number();
+ Gtk::PositionType pos = Gtk::PositionType::POS_TOP;
+ //g_print("%d\n", index);
+ switch (index) {
+ case 0:
+ pos = Gtk::PositionType::POS_TOP; break;
+ case 1:
+ pos = Gtk::PositionType::POS_BOTTOM; break;
+ case 2:
+ pos = Gtk::PositionType::POS_LEFT; break;
+ case 3:
+ pos = Gtk::PositionType::POS_RIGHT; break;
+ }
+ scale1->set_value_pos(pos);
+ scale2->set_value_pos(pos);
+}
+
+void MyApp::digit_changed() {
+ //Change Digits
+ int digits;
+ digits = digit_scale->get_value();
+ scale1->set_digits(digits);
+ scale2->set_digits(digits);
+}
+
+void MyApp::size_changed() {
+ //Change Page Size
+ double page_size;
+ page_size = size_scale->get_value();
+ //g_print("%f\n", page_size);
+ main_value->set_page_size(page_size);
+}
+
+void MyApp::btnexit_clicked() {
+ delete window;
+}
diff --git a/Gtkmm3/gtk74_scale/src/MyApp.hh b/Gtkmm3/gtk74_scale/src/MyApp.hh
new file mode 100644
index 0000000..fb250b7
--- /dev/null
+++ b/Gtkmm3/gtk74_scale/src/MyApp.hh
@@ -0,0 +1,36 @@
+#pragma once
+
+#include
+
+class MyApp
+ :public Gtk::Application
+{
+public:
+
+ static Glib::RefPtr create();
+
+protected:
+
+ void on_activate() override;
+
+private:
+
+ Glib::RefPtr m_builder;
+ Gtk::Window* window;
+ Glib::RefPtr object;
+ Glib::RefPtr main_value;
+ Gtk::Scale* scale1;
+ Gtk::Scale* scale2;
+ Gtk::ComboBox* combo_pos;
+ Gtk::Scale* digit_scale;
+ Gtk::Scale* size_scale;
+ Gtk::CheckButton* btn_check;
+ Gtk::Button* btn_exit;
+
+ void btncheck_clicked();
+ void combopos_changed();
+ void digit_changed();
+ void size_changed();
+ void btnexit_clicked();
+
+};
diff --git a/Gtkmm3/gtk74_scale/src/main.cc b/Gtkmm3/gtk74_scale/src/main.cc
new file mode 100644
index 0000000..71d22ec
--- /dev/null
+++ b/Gtkmm3/gtk74_scale/src/main.cc
@@ -0,0 +1,14 @@
+#include
+#include "MyApp.hh"
+
+void __App_Init() {
+#ifdef _WIN32
+ system("cmdow @ /hid");
+#endif
+}
+
+int main(int argc, char** argv) {
+ __App_Init();
+ auto app = MyApp::create();
+ return app->run(argc, argv);
+}
diff --git a/Gtkmm3/gtk74_scale/src/resources.7z b/Gtkmm3/gtk74_scale/src/resources.7z
new file mode 100644
index 0000000..cecc622
Binary files /dev/null and b/Gtkmm3/gtk74_scale/src/resources.7z differ