From 2408974b8a5c5f8115e150a7b6675b0e96156587 Mon Sep 17 00:00:00 2001 From: milisbir Date: Fri, 19 Jan 2018 19:45:00 +0200 Subject: [PATCH] gtk-theme-config --- .../g/gtk-theme-config/gtk-theme-conf-tr.po | 70 -- .../gtk-theme-config-tr.desktop | 10 + .../gtk-theme-config/gtk-theme-config-tr.vala | 724 ++++++++++++++++++ talimatname/genel/g/gtk-theme-config/talimat | 8 +- 4 files changed, 739 insertions(+), 73 deletions(-) delete mode 100644 talimatname/genel/g/gtk-theme-config/gtk-theme-conf-tr.po create mode 100644 talimatname/genel/g/gtk-theme-config/gtk-theme-config-tr.desktop create mode 100644 talimatname/genel/g/gtk-theme-config/gtk-theme-config-tr.vala diff --git a/talimatname/genel/g/gtk-theme-config/gtk-theme-conf-tr.po b/talimatname/genel/g/gtk-theme-config/gtk-theme-conf-tr.po deleted file mode 100644 index d9884128e..000000000 --- a/talimatname/genel/g/gtk-theme-config/gtk-theme-conf-tr.po +++ /dev/null @@ -1,70 +0,0 @@ -# German translations for gtk-theme-config package. -# Copyright (C) 2014 THE gtk-theme-config'S COPYRIGHT HOLDER -# This file is distributed under the same license as the gtk-theme-config package. -# Tom Beckmann , 2014. -# -msgid "" -msgstr "" -"Project-Id-Version: gtk-theme-config 0.1\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-03-11 20:39+0100\n" -"PO-Revision-Date: 2014-03-11 20:40+0100\n" -"Last-Translator: Cihan Alkan \n" -"Language-Team: Turkish\n" -"Language: tr\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: gtk-theme-config.vala:6 -msgid "Configure GTK theme colors" -msgstr "GTK tema renklerini yapılandırma" - -#: gtk-theme-config.vala:48 -msgid "Theme Configuration" -msgstr "Tema Yapılandırması" - -#: gtk-theme-config.vala:201 -msgid "Custom highlight colors" -msgstr "Özel vurgu renkleri" - -#: gtk-theme-config.vala:204 -msgid "Custom panel colors" -msgstr "Özel panel renkleri" - -#: gtk-theme-config.vala:207 -msgid "Custom menu colors" -msgstr "Özel menü renkleri" - -#: gtk-theme-config.vala:211 -msgid "Highlight background" -msgstr "Arka planı vurgulayın" - -#: gtk-theme-config.vala:213 -msgid "Highlight text" -msgstr "Metni vurgulamak" - -#: gtk-theme-config.vala:215 -msgid "Panel background" -msgstr "Panel arka planı" - -#: gtk-theme-config.vala:217 -msgid "Panel text" -msgstr "Panel metni" - -#: gtk-theme-config.vala:219 -msgid "Menu background" -msgstr "Menü arkaplanı" - -#: gtk-theme-config.vala:221 -msgid "Menu text" -msgstr "Menü Metni" - -#: gtk-theme-config.vala:238 -msgid "Reset" -msgstr "Sıfırla" - -#: gtk-theme-config.vala:239 -msgid "Apply" -msgstr "Uygula" diff --git a/talimatname/genel/g/gtk-theme-config/gtk-theme-config-tr.desktop b/talimatname/genel/g/gtk-theme-config/gtk-theme-config-tr.desktop new file mode 100644 index 000000000..df3d05dee --- /dev/null +++ b/talimatname/genel/g/gtk-theme-config/gtk-theme-config-tr.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=Tema Ayarları +GenericName=Tema Ayarları +Comment=GTK tema renklerini yapılandırma +Exec=gtk-theme-config +Terminal=false +Type=Application +Icon=gtk-theme-config +Categories=GNOME;GTK;Settings;DesktopSettings;X-XFCE-SettingsDialog;X-XFCE-PersonalSettings; +Keywords=color;gtk;highlight;theme;widget; diff --git a/talimatname/genel/g/gtk-theme-config/gtk-theme-config-tr.vala b/talimatname/genel/g/gtk-theme-config/gtk-theme-config-tr.vala new file mode 100644 index 000000000..3a58a6045 --- /dev/null +++ b/talimatname/genel/g/gtk-theme-config/gtk-theme-config-tr.vala @@ -0,0 +1,724 @@ +using Gtk; + +class ThemeConfigWindow : ApplicationWindow { + Label selectbg_label; + Label selectfg_label; + + ColorButton selectbg_button; + ColorButton selectfg_button; + ColorButton panelbg_button; + ColorButton panelfg_button; + ColorButton menubg_button; + ColorButton menufg_button; + + Switch select_switch; + Switch panel_switch; + Switch menu_switch; + + Button revert_button; + Button apply_button; + + Gdk.RGBA color_rgb; + + File config_dir; + File home_dir; + + File gtk3_config_file; + File gtk2_config_file; + + File theme_path; + + string color_hex; + + string color_scheme; + + string selectbg_value; + string selectfg_value; + string panelbg_value; + string panelfg_value; + string menubg_value; + string menufg_value; + + internal ThemeConfigWindow (ThemeConfigApp app) { + Object (application: app, title: "Tema Yapılandırması"); + + // Set window properties + this.window_position = WindowPosition.CENTER; + this.resizable = false; + this.border_width = 10; + + // Set window icon + try { + this.icon = IconTheme.get_default ().load_icon ("gtk-theme-config", 48, 0); + } catch (Error e) { + stderr.printf ("Uygulama simgesi yüklenemedi: %s\n", e.message); + } + + // Methods + create_widgets (); + connect_signals (); + } + + void set_values () { + + // Set default values + selectbg_value = "#398ee7"; + selectfg_value = "#eeeeee"; + panelbg_value = "#cccccc"; + panelfg_value = "#333333"; + menubg_value = "#eeeeee"; + menufg_value = "#333333"; + + select_switch.set_active (false); + panel_switch.set_active (false); + menu_switch.set_active (false); + + // Read the current values + var settings = new GLib.Settings ("org.gnome.desktop.interface"); + var color_scheme = settings.get_string ("gtk-color-scheme"); + var theme_name = settings.get_string ("gtk-theme"); + + // Set paths of config files + config_dir = File.new_for_path (Environment.get_user_config_dir ()); + home_dir = File.new_for_path (Environment.get_home_dir ()); + + gtk3_config_file = config_dir.get_child ("gtk-3.0").get_child ("gtk.css"); + + gtk2_config_file = home_dir.get_child (".gtkrc-2.0"); + + // Create path if doesn't exist + if (!gtk3_config_file.get_parent().query_exists ()) { + try { + gtk3_config_file.get_parent().make_directory_with_parents(null); + } catch (Error e) { + stderr.printf ("Üst dizin oluşturulamadı: %s\n", e.message); + } + } + + // Detect current theme path + if (gtk3_config_file.query_exists ()) { + theme_path = gtk3_config_file; + } else if (home_dir.get_child (".themes/%s/gtk-3.0/gtk-main.css".printf (theme_name)).query_exists ()) { + theme_path = home_dir.get_child (".themes/%s/gtk-3.0/gtk-main.css".printf (theme_name)); + } else if (home_dir.get_child (".themes/%s/gtk-3.0/gtk.css".printf (theme_name)).query_exists ()) { + theme_path = home_dir.get_child (".themes/%s/gtk-3.0/gtk.css".printf (theme_name)); + } else if (File.parse_name ("/usr/share/themes/%s/gtk-3.0/gtk-main.css".printf (theme_name)).query_exists ()) { + theme_path = File.parse_name ("/usr/share/themes/%s/gtk-3.0/gtk-main.css".printf (theme_name)); + } else if (File.parse_name ("/usr/share/themes/%s/gtk-3.0/gtk.css".printf (theme_name)).query_exists ()) { + theme_path = File.parse_name ("/usr/share/themes/%s/gtk-3.0/gtk.css".printf (theme_name)); + } + + // Read the current theme file + try { + var dis = new DataInputStream (theme_path.read ()); + string line; + while ((line = dis.read_line (null)) != null) { + if ("@define-color selected_bg_color" in line) { + selectbg_value = line.substring (32, line.length-33); + if ("@" in selectbg_value) { + selectbg_value = "#398ee7"; + } + } + if ("@define-color selected_fg_color" in line) { + selectfg_value = line.substring (32, line.length-33); + if ("@" in selectfg_value) { + selectfg_value = "#eeeeee"; + } + } + if ("@define-color panel_bg_color" in line) { + panelbg_value = line.substring (29, line.length-30); + if ("@" in panelbg_value) { + panelbg_value = "#cccccc"; + } + } + if ("@define-color panel_fg_color" in line) { + panelfg_value = line.substring (29, line.length-30); + if ("@" in panelfg_value) { + panelfg_value = "#333333"; + } + } + if ("@define-color menu_bg_color" in line) { + menubg_value = line.substring (28, line.length-29); + if ("@" in menubg_value) { + menubg_value = "#eeeeee"; + } + } + if ("@define-color menu_fg_color" in line) { + menufg_value = line.substring (28, line.length-29); + if ("@" in menufg_value) { + menufg_value = "#333333"; + } + } + if ("/* select-on */" in line) { + select_switch.set_active (true); + } + if ("/* panel-on */" in line) { + panel_switch.set_active (true); + } + if ("/* menu-on */" in line) { + menu_switch.set_active (true); + } + } + } catch (Error e) { + stderr.printf ("Kullanıcı teması okunamadı: %s\n", e.message); + } + + // Read the current color scheme + if (";" in color_scheme) { + string[] parts = color_scheme.split_set(";"); + if ("selected_bg_color:#" in parts[0] && "selected_fg_color:#" in parts[1]) { + selectbg_value = parts[0].substring (18, parts[0].length-18); + selectfg_value = parts[1].substring (18, parts[1].length-18); + select_switch.set_active (true); + } + } + + // Set colors + Gdk.RGBA color = Gdk.RGBA (); + color.parse (selectbg_value); + selectbg_button.set_rgba (color); + color.parse (selectfg_value); + selectfg_button.set_rgba (color); + color.parse (panelbg_value); + panelbg_button.set_rgba (color); + color.parse (panelfg_value); + panelfg_button.set_rgba (color); + color.parse (menubg_value); + menubg_button.set_rgba (color); + color.parse (menufg_value); + menufg_button.set_rgba (color); + + apply_button.set_sensitive (false); + } + + void create_widgets () { + // Create and setup widgets + var select_heading = new Label.with_mnemonic ("_Özel vurgu renkleri"); + select_heading.set_use_markup (true); + select_heading.set_halign (Align.START); + var panel_heading = new Label.with_mnemonic ("_Özel panel renkleri/b>"); + panel_heading.set_use_markup (true); + panel_heading.set_halign (Align.START); + var menu_heading = new Label.with_mnemonic ("_Özel menü renkleri"); + menu_heading.set_use_markup (true); + menu_heading.set_halign (Align.START); + + selectbg_label = new Label.with_mnemonic ("_Arka planı vurgulayın"); + selectbg_label.set_halign (Align.START); + selectfg_label = new Label.with_mnemonic ("_Metni vurgulayın"); + selectfg_label.set_halign (Align.START); + var panelbg_label = new Label.with_mnemonic ("_Panel arka planı"); + panelbg_label.set_halign (Align.START); + var panelfg_label = new Label.with_mnemonic ("_Panel metni"); + panelfg_label.set_halign (Align.START); + var menubg_label = new Label.with_mnemonic ("_Menü arkaplanı"); + menubg_label.set_halign (Align.START); + var menufg_label = new Label.with_mnemonic ("_Menü Metni"); + menufg_label.set_halign (Align.START); + + selectbg_button = new ColorButton (); + selectfg_button = new ColorButton (); + panelbg_button = new ColorButton (); + panelfg_button = new ColorButton (); + menubg_button = new ColorButton (); + menufg_button = new ColorButton (); + + select_switch = new Switch (); + select_switch.set_halign (Align.END); + panel_switch = new Switch (); + panel_switch.set_halign (Align.END); + menu_switch = new Switch (); + menu_switch.set_halign (Align.END); + + revert_button = new Button.from_stock(Stock.REVERT_TO_SAVED); + apply_button = new Button.from_stock (Stock.APPLY); + + // Buttons + var buttons = new ButtonBox (Orientation.HORIZONTAL); + buttons.set_layout (ButtonBoxStyle.EDGE); + buttons.add (revert_button); + buttons.add (apply_button); + + // Layout widgets + var grid = new Grid (); + grid.set_column_homogeneous (true); + grid.set_row_homogeneous (true); + grid.set_column_spacing (5); + grid.set_row_spacing (5); + grid.attach (select_heading, 0, 0, 1, 1); + grid.attach_next_to (select_switch, select_heading, PositionType.RIGHT, 1, 1); + grid.attach (selectbg_label, 0, 1, 1, 1); + grid.attach_next_to (selectbg_button, selectbg_label, PositionType.RIGHT, 1, 1); + grid.attach (selectfg_label, 0, 2, 1, 1); + grid.attach_next_to (selectfg_button, selectfg_label, PositionType.RIGHT, 1, 1); + grid.attach (panel_heading, 0, 3, 1, 1); + grid.attach_next_to (panel_switch, panel_heading, PositionType.RIGHT, 1, 1); + grid.attach (panelbg_label, 0, 4, 1, 1); + grid.attach_next_to (panelbg_button, panelbg_label, PositionType.RIGHT, 1, 1); + grid.attach (panelfg_label, 0, 5, 1, 1); + grid.attach_next_to (panelfg_button, panelfg_label, PositionType.RIGHT, 1, 1); + grid.attach (menu_heading, 0, 6, 1, 1); + grid.attach_next_to (menu_switch, menu_heading, PositionType.RIGHT, 1, 1); + grid.attach (menubg_label, 0, 7, 1, 1); + grid.attach_next_to (menubg_button, menubg_label, PositionType.RIGHT, 1, 1); + grid.attach (menufg_label, 0, 8, 1, 1); + grid.attach_next_to (menufg_button, menufg_label, PositionType.RIGHT, 1, 1); + grid.attach (buttons, 0, 9, 2, 1); + + this.add (grid); + + set_values (); + } + + void connect_signals () { + selectbg_button.color_set.connect (() => { + on_selectbg_color_set (); + apply_button.set_sensitive (true); + }); + selectfg_button.color_set.connect (() => { + on_selectfg_color_set (); + apply_button.set_sensitive (true); + }); + panelbg_button.color_set.connect (() => { + on_panelbg_color_set (); + apply_button.set_sensitive (true); + }); + panelfg_button.color_set.connect (() => { + on_panelfg_color_set (); + apply_button.set_sensitive (true); + }); + menubg_button.color_set.connect (() => { + on_menubg_color_set (); + apply_button.set_sensitive (true); + }); + menufg_button.color_set.connect (() => { + on_menufg_color_set (); + apply_button.set_sensitive (true); + }); + select_switch.notify["active"].connect (() => { + apply_button.set_sensitive (true); + }); + panel_switch.notify["active"].connect (() => { + apply_button.set_sensitive (true); + }); + menu_switch.notify["active"].connect (() => { + apply_button.set_sensitive (true); + }); + revert_button.clicked.connect (() => { + on_config_reset (); + revert_button.set_sensitive (false); + }); + apply_button.clicked.connect (() => { + on_config_set (); + apply_button.set_sensitive (false); + revert_button.set_sensitive (true); + }); + } + + void rgb_to_hex () { + int r = (int)Math.round (color_rgb.red * 255); + int g = (int)Math.round (color_rgb.green * 255); + int b = (int)Math.round (color_rgb.blue * 255); + + color_hex = "#%02x%02x%02x".printf (r, g, b); + } + + void on_selectbg_color_set () { + color_rgb = selectbg_button.get_rgba (); + rgb_to_hex (); + selectbg_value = color_hex; + } + + void on_selectfg_color_set () { + color_rgb = selectfg_button.get_rgba (); + rgb_to_hex (); + selectfg_value = color_hex; + } + + void on_panelbg_color_set () { + color_rgb = panelbg_button.get_rgba (); + rgb_to_hex (); + panelbg_value = color_hex; + } + + void on_panelfg_color_set () { + color_rgb = panelfg_button.get_rgba (); + rgb_to_hex (); + panelfg_value = color_hex; + } + + void on_menubg_color_set () { + color_rgb = menubg_button.get_rgba (); + rgb_to_hex (); + menubg_value = color_hex; + } + + void on_menufg_color_set () { + color_rgb = menufg_button.get_rgba (); + rgb_to_hex (); + menufg_value = color_hex; + } + + void on_config_set () { + set_color_scheme (); + write_config (); + notify_change (); + } + + void on_config_reset () { + reset_color_scheme (); + reset_config (); + set_values (); + notify_change (); + } + + void set_color_scheme () { + // Determine color scheme + if (select_switch.get_active()) { + color_scheme = "\"selected_bg_color:%s;selected_fg_color:%s;\"".printf (selectbg_value, selectfg_value); + } else { + color_scheme = "\"\""; + } + + // Set color scheme + try { + Process.spawn_command_line_sync ("gsettings set org.gnome.desktop.interface gtk-color-scheme %s".printf (color_scheme)); + } catch (Error e) { + stderr.printf ("Could not set color scheme for gtk3: %s\n", e.message); + } + try { + Process.spawn_command_line_sync ("gconftool-2 -s /desktop/gnome/interface/gtk_color_scheme -t string %s".printf (color_scheme)); + } catch (Error e) { + stderr.printf ("Could not set color scheme for gtk2: %s\n", e.message); + } + if (File.parse_name ("/usr/bin/xfconf-query").query_exists ()) { + try { + Process.spawn_command_line_sync ("xfconf-query -n -c xsettings -p /Gtk/ColorScheme -t string -s %s".printf (color_scheme)); + } catch (Error e) { + stderr.printf ("Could not set color scheme for xfce: %s\n", e.message); + } + } + } + + void reset_color_scheme () { + try { + Process.spawn_command_line_sync ("gsettings reset org.gnome.desktop.interface gtk-color-scheme"); + } catch (Error e) { + stderr.printf ("CGtk3 için renk düzenini sıfırlayamadı: %s\n", e.message); + } + try { + Process.spawn_command_line_sync ("gconftool-2 -u /desktop/gnome/interface/gtk_color_scheme"); + } catch (Error e) { + stderr.printf ("Gtk2 için renk düzenini sıfırlayamadı: %s\n", e.message); + } + if (File.parse_name ("/usr/bin/xfconf-query").query_exists ()) { + try { + Process.spawn_command_line_sync ("xfconf-query -c xsettings -p /Gtk/ColorScheme -r"); + } catch (Error e) { + stderr.printf ("Cxfce için renk düzenini sıfırlayamadı: %s\n", e.message); + } + } + } + + void reset_config () { + try { + if (gtk3_config_file.query_exists ()) { + gtk3_config_file.delete (); + } + } catch (Error e) { + stderr.printf ("Önceki gtk3 yapılandırması silinemiyor: %s\n", e.message); + } + try { + if (gtk2_config_file.query_exists ()) { + gtk2_config_file.delete (); + } + } catch (Error e) { + stderr.printf ("Önceki gtk2 yapılandırması silinemiyor: %s\n", e.message); + } + } + + void write_config () { + + // Determine states + string select_state1; + string select_state2; + string panel_state1; + string panel_state2; + string menu_state1; + string menu_state2; + + string panel_gtk2; + string menu_gtk2; + + if (select_switch.get_active()) { + select_state1 = "/* select-on */"; + select_state2 = "/* select-on */"; + } else { + select_state1 = "/* select-off"; + select_state2 = "select-off */"; + } + if (panel_switch.get_active()) { + panel_state1 = "/* panel-on */"; + panel_state2 = "/* panel-on */"; + panel_gtk2 = ("style \"gtk-theme-config-panel\" {\n" + + "\tbg[NORMAL] = \"%s\"\n" + + "\tbg[PRELIGHT] = shade(1.1,\"%s\")\n" + + "\tbg[ACTIVE] = shade(0.9,\"%s\")\n" + + "\tbg[SELECTED] = shade(0.97,\"%s\")\n" + + "\tfg[NORMAL] = \"%s\"\n" + + "\tfg[PRELIGHT] = \"%s\"\n" + + "\tfg[SELECTED] = \"%s\"\n" + + "\tfg[ACTIVE] = \"%s\"\n" + + "}\n\n" + + "widget \"*PanelWidget*\" style \"gtk-theme-config-panel\"\n" + + "widget \"*PanelApplet*\" style \"gtk-theme-config-panel\"\n" + + "widget \"*fast-user-switch*\" style \"gtk-theme-config-panel\"\n" + + "widget \"*CPUFreq*Applet*\" style \"gtk-theme-config-panel\"\n" + + "widget \"*indicator-applet*\" style \"gtk-theme-config-panel\"\n" + + "class \"PanelApp*\" style \"gtk-theme-config-panel\"\n" + + "class \"PanelToplevel*\" style \"gtk-theme-config-panel\"\n" + + "widget_class \"*PanelToplevel*\" style \"gtk-theme-config-panel\"\n" + + "widget_class \"*notif*\" style \"gtk-theme-config-panel\"\n" + + "widget_class \"*Notif*\" style \"gtk-theme-config-panel\"\n" + + "widget_class \"*Tray*\" style \"gtk-theme-config-panel\" \n" + + "widget_class \"*tray*\" style \"gtk-theme-config-panel\"\n" + + "widget_class \"*computertemp*\" style \"gtk-theme-config-panel\"\n" + + "widget_class \"*Applet*Tomboy*\" style \"gtk-theme-config-panel\"\n" + + "widget_class \"*Applet*Netstatus*\" style \"gtk-theme-config-panel\"\n" + + "widget \"*gdm-user-switch-menubar*\" style \"gtk-theme-config-panel\"\n" + + "widget \"*Xfce*Panel*\" style \"gtk-theme-config-panel\"\n" + + "class \"*Xfce*Panel*\" style \"gtk-theme-config-panel\"\n").printf (panelbg_value, panelbg_value, panelbg_value, panelbg_value, panelfg_value, panelfg_value, panelfg_value, panelfg_value); + } else { + panel_state1 = "/* panel-off"; + panel_state2 = "panel-off */"; + panel_gtk2 = ""; + } + if (menu_switch.get_active()) { + menu_state1 = "/* menu-on */"; + menu_state2 = "/* menu-on */"; + menu_gtk2 = ("style \"gtk-theme-config-menu\" {\n" + + "\tbase[NORMAL] = \"%s\"\n" + + "\tbg[NORMAL] = \"%s\"\n" + + "\tbg[ACTIVE] = \"%s\"\n" + + "\tbg[INSENSITIVE] = \"%s\"\n" + + "\ttext[NORMAL] = \"%s\"\n" + + "\tfg[NORMAL] = \"%s\"\n" + + "}\n\n" + + "widget_class\"**\"style\"gtk-theme-config-menu\"\n").printf (menubg_value, menubg_value, menubg_value, menubg_value, menufg_value, menufg_value); + } else { + menu_state1 = "/* menu-off"; + menu_state2 = "menu-off */";; + menu_gtk2 = ""; + } + + // Write config + try { + var dos = new DataOutputStream (gtk3_config_file.replace (null, false, FileCreateFlags.REPLACE_DESTINATION)); + dos.put_string ("/* Custom styles */\n\n"); + string text = ("%s\n" + + "@define-color selected_bg_color %s;\n" + + "@define-color selected_fg_color %s;\n" + + "@define-color theme_selected_bg_color @selected_bg_color;\n" + + "@define-color theme_selected_fg_color @selected_fg_color;\n" + + "%s\n\n" + + "%s\n" + + "@define-color panel_bg_color %s;\n" + + "@define-color panel_fg_color %s;\n\n" + + "PanelWidget,\n" + + "PanelApplet,\n" + + "PanelToplevel,\n" + + "PanelSeparator,\n" + + "PanelApplet > GtkMenuBar.menubar,\n" + + "PanelApplet > GtkMenuBar.menubar.menuitem,\n" + + "PanelMenuBar.menubar,\n" + + "PanelMenuBar.menubar.menuitem,\n" + + "PanelAppletFrame,\n" + + "UnityPanelWidget,\n" + + ".gnome-panel-menu-bar,\n" + + ".unity-panel {\n" + + "\tbackground-image: -gtk-gradient(linear,left top,left bottom,from(shade(@panel_bg_color,1.2)),to(shade(@panel_bg_color,0.8)));\n" + + "\tcolor: @panel_fg_color;\n" + + "}\n\n" + + ".unity-panel.menuitem,\n" + + ".unity-panel .menuitem {\n" + + "\tcolor: @panel_fg_color;\n" + + "}\n\n" + + ".unity-panel.menubar.menuitem:hover,\n" + + ".unity-panel.menubar .menuitem *:hover {\n" + + "\tborder-color: shade(@panel_bg_color, 0.7);\n" + + "\tborder-image: none;\n" + + "\tbackground-image: -gtk-gradient(linear,left top,left bottom,from(shade(@panel_bg_color, 0.97)),to(shade(@panel_bg_color, 0.82)));\n" + + "\tcolor: @panel_fg_color;\n" + + "}\n\n" + + "PanelApplet .button {\n" + + "\tborder-color: transparent;\n" + + "\tborder-image: none;\n" + + "\tbackground-image: -gtk-gradient(linear,left top,left bottom,from(shade(@panel_bg_color,1.2)),to(shade(@panel_bg_color,0.8)));\n" + + "\tcolor: @panel_fg_color;\n" + + "\tbox-shadow: none;\n" + + "\ttext-shadow: none;\n" + + "\t-unico-inner-stroke-width: 0;\n" + + "}\n\n" + + "PanelApplet .button:active {\n" + + "\tborder-color: shade(@panel_bg_color,0.8);\n" + + "\tborder-image: none;\n" + + "\tbackground-image: -gtk-gradient(linear,left top,left bottom,from(shade(shade(@panel_bg_color,1.02),0.9)),to(shade(shade(@panel_bg_color,1.02),0.95)));\n" + + "\tcolor: @panel_fg_color;\n" + + "\tbox-shadow: none;\n" + + "\ttext-shadow: none;\n" + + "\t-unico-inner-stroke-width: 0;\n" + + "}\n\n" + + "PanelApplet .button:prelight {\n" + + "\tborder-color: transparent;\n" + + "\tborder-image: none;\n" + + "\tbackground-image: -gtk-gradient(linear,left top,left bottom,from(shade(@panel_bg_color,1.2)),to(shade(@panel_bg_color,1.0)));\n" + + "\tcolor: @panel_fg_color;\n" + + "\tbox-shadow: none;\n" + + "\ttext-shadow: none;\n" + + "\t-unico-inner-stroke-width: 0;\n" + + "}\n\n" + + "PanelApplet .button:active:prelight {\n" + + "\tborder-color: shade(@panel_bg_color,0.8);\n" + + "\tborder-image: none;\n" + + "\tbackground-image: -gtk-gradient(linear,left top,left bottom,from(shade(shade(@panel_bg_color,1.02),1.0)),to(shade(shade(@panel_bg_color,1.02),1.05)));\n" + + "\tcolor: @panel_fg_color;\n" + + "\tbox-shadow: none;\n" + + "\ttext-shadow: none;\n" + + "\t-unico-inner-stroke-width: 0;\n" + + "}\n\n" + + "WnckPager,\n" + + "WnckTasklist {\n" + + "\tbackground-color: @panel_bg_color;\n" + + "}\n\n" + + "%s\n\n" + + "%s\n" + + "@define-color menu_bg_color %s;\n" + + "@define-color menu_fg_color %s;\n\n" + + "GtkTreeMenu.menu,\n" + + "GtkMenuToolButton.menu,\n" + + "GtkComboBox .menu {\n" + + "\tbackground-color: @menu_bg_color;\n" + + "}\n\n" + + ".primary-toolbar .button .menu,\n" + + ".toolbar .menu,\n" + + ".toolbar .primary-toolbar .menu,\n" + + ".menu {\n" + + "\tborder-style: none;\n" + + "\tbackground-image: none;\n" + + "\tbackground-color: @menu_bg_color;\n" + + "\tcolor: @menu_fg_color;\n" + + "\tbox-shadow: none;\n" + + "\ttext-shadow: none;\n" + + "\t-unico-inner-stroke-width: 0;\n" + + "}\n\n" + + ".menu.button:hover,\n" + + ".menu.button:active,\n" + + ".menu.button:active:insensitive,\n" + + ".menu.button:insensitive,\n" + + ".menu.button {\n" + + "\tbackground-color: @menu_bg_color;\n" + + "\tbackground-image: none;\n" + + "}\n\n" + + "GtkTreeMenu .menuitem * {\n" + + "\tcolor: @menu_fg_color;\n" + + "}\n\n" + + ".menuitem,\n" + + ".menu .menuitem {\n" + + "\tbackground-color: transparent;\n" + + "}\n\n" + + ".menu .menuitem:active,\n" + + ".menu .menuitem:hover {\n" + + "\tbackground-color: @theme_selected_bg_color;\n" + + "}\n\n" + + ".menuitem.check,\n" + + ".menuitem.radio,\n" + + ".menuitem.check:hover,\n" + + ".menuitem.radio:hover,\n" + + ".menuitem.check:active,\n" + + ".menuitem.radio:active {\n" + + "\tbackground-color: transparent;\n" + + "}\n\n" + + ".menu .menuitem:insensitive,\n" + + ".menu .menuitem *:insensitive {\n" + + "\tcolor: mix(@menu_fg_color,@menu_bg_color,0.5);\n" + + "}\n\n" + + ".menuitem.arrow {\n" + + "\tcolor: alpha(@menu_fg_color, 0.6);\n" + + "}\n\n" + + ".menuitem .entry {\n" + + "\tborder-color: shade(@menu_bg_color,0.7);\n" + + "\tborder-image: none;\n" + + "\tbackground-color: @menu_bg_color;\n" + + "\tbackground-image: none;\n" + + "\tcolor: @menu_fg_color;\n" + + "}\n\n" + + ".menuitem .accelerator {\n" + + "\tcolor: alpha(@menu_fg_color,0.6);\n" + + "}\n\n" + + ".menuitem .accelerator:insensitive {\n" + + "\tcolor: alpha(mix(@menu_fg_color,@menu_bg_color,0.5),0.6);\n" + + "\ttext-shadow: none;\n" + + "}\n\n" + + ".menuitem.separator {\n" + + "\tbackground-color: transparent;\n" + + "\tcolor: shade(@menu_bg_color, 0.9);\n" + + "}\n\n" + + ".menuitem GtkCalendar,\n" + + ".menuitem GtkCalendar.button,\n" + + ".menuitem GtkCalendar.header,\n" + + ".menuitem GtkCalendar.view {\n" + + "\tborder-color: shade(@menu_bg_color,0.8);\n" + + "\tborder-image: none;\n" + + "\tbackground-color: @menu_bg_color;\n" + + "\tbackground-image: none;\n" + + "\tcolor: @menu_fg_color;\n" + + "}\n\n" + + ".menuitem GtkCalendar:inconsistent {\n" + + "\tcolor: mix(@menu_fg_color,@menu_bg_color,0.5);\n" + + "}\n\n" + + "%s\n").printf (select_state1, selectbg_value, selectfg_value, select_state2, panel_state1, panelbg_value, panelfg_value, panel_state2, menu_state1, menubg_value, menufg_value, menu_state2); + uint8[] data = text.data; + long written = 0; + while (written < data.length) { + written += dos.write (data[written:data.length]); + } + } catch (Error e) { + stderr.printf ("Gtk3 yapılandırması yazılamadı: %s\n", e.message); + } + try { + var dos = new DataOutputStream (gtk2_config_file.replace (null, false, FileCreateFlags.REPLACE_DESTINATION)); + dos.put_string ("# Custom styles\n\n"); + string text = "%s\n%s".printf(panel_gtk2, menu_gtk2); + uint8[] data = text.data; + long written = 0; + while (written < data.length) { + written += dos.write (data[written:data.length]); + } + } catch (Error e) { + stderr.printf ("Gtk2 yapılandırması yazılamadı: %s\n", e.message); + } + } + + void notify_change() { + try { + Process.spawn_command_line_async("notify-send -h int:transient:1 -i \"gtk-theme-config\" \"Changes applied.\" \"You might need to restart running applications.\""); + } catch (Error e) { + stderr.printf ("Bildirim görüntülenemiyor: %s\n", e.message); + } + } +} + +class ThemeConfigApp : Gtk.Application { + internal ThemeConfigApp () { + Object (application_id: "org.themeconfig.app"); + } + + protected override void activate () { + var window = new ThemeConfigWindow (this); + window.show_all (); + } +} + +int main (string[] args) { + return new ThemeConfigApp ().run (args); +} diff --git a/talimatname/genel/g/gtk-theme-config/talimat b/talimatname/genel/g/gtk-theme-config/talimat index 4e908a069..d0b3f7a58 100644 --- a/talimatname/genel/g/gtk-theme-config/talimat +++ b/talimatname/genel/g/gtk-theme-config/talimat @@ -2,17 +2,19 @@ # URL: https://github.com/satya164/gtk-theme-config # Paketçi: Cihan_Alkan # Gerekler: gconf gsettings-desktop-schemas hicolor-icon-theme gtk3 vala -# Grup: grafik_tasarım +# Grup: isim=gtk-theme-config surum=1.0 devir=1 kaynak=(https://github.com/satya164/gtk-theme-config/archive/v1.0.tar.gz::$isim-$surum.tar.gz - gtk-theme-conf-tr.po) + gtk-theme-config-tr.desktop + gtk-theme-config-tr.vala) derle() { cd gtk-theme-config-1.0 - cp ../gtk-theme-conf-tr.po po/tr.po + cp ../gtk-theme-config-tr.vala ./gtk-theme-config.vala + cp ../gtk-theme-config-tr.desktop ./gtk-theme-config.desktop make make DESTDIR="$PKG/" install }