mirror of
https://github.com/Afacanc38/browser.git
synced 2024-11-26 23:30:40 +03:00
80 lines
2.9 KiB
Python
Executable file
80 lines
2.9 KiB
Python
Executable file
#!/usr/bin/env python3
|
||
import gi, os, sys
|
||
gi.require_version("Gtk", "3.0")
|
||
gi.require_version("Handy", "1")
|
||
gi.require_version("WebKit2", "4.0")
|
||
from gi.repository import Gtk, Handy, GLib, GLib, WebKit2
|
||
|
||
Handy.init()
|
||
|
||
class MyWindow(Handy.Window):
|
||
def __init__(self):
|
||
super().__init__(title="Tarayıcı")
|
||
self.set_title("Tarayıcı")
|
||
GLib.set_application_name("Tarayıcı")
|
||
GLib.set_prgname('Tarayıcı')
|
||
self.set_default_size(900, 600)
|
||
|
||
self.main_box = Gtk.Box(
|
||
orientation = Gtk.Orientation.VERTICAL
|
||
)
|
||
self.add(self.main_box)
|
||
self.hb = Handy.HeaderBar()
|
||
self.hb.set_show_close_button(True)
|
||
self.inp_url = Gtk.Entry(
|
||
width_request = 370
|
||
)
|
||
self.scroll = Gtk.ScrolledWindow()
|
||
self.web = WebKit2.WebView()
|
||
self.web.load_uri("https://duckduckgo.com")
|
||
self.inp_url.set_placeholder_text("Web'de arayın veya URL adresi girin...")
|
||
self.web.connect('notify::estimated-load-progress', self.change_url)
|
||
self.inp_url.connect("activate", self.on_inp_url_activate)
|
||
self.hb.set_custom_title(self.inp_url)
|
||
self.btn_prev = Gtk.Button()
|
||
self.btn_prev = Gtk.Button.new_from_icon_name("go-previous-symbolic", Gtk.IconSize.MENU)
|
||
self.btn_prev.connect("clicked", self.on_btn_prev_clicked)
|
||
self.btn_next = Gtk.Button()
|
||
self.btn_next = Gtk.Button.new_from_icon_name("go-next-symbolic", Gtk.IconSize.MENU)
|
||
self.btn_next.connect("clicked", self.on_btn_next_clicked)
|
||
self.btn_box = Gtk.ButtonBox(width_request = 0)
|
||
self.btn_box.set_layout(Gtk.ButtonBoxStyle.EXPAND)
|
||
self.btn_box.pack_start(self.btn_prev, True, True, 0)
|
||
self.btn_box.pack_start(self.btn_next, True, True, 0)
|
||
self.btn_ref = Gtk.Button()
|
||
self.btn_ref = Gtk.Button.new_from_icon_name("view-refresh-symbolic", Gtk.IconSize.MENU)
|
||
self.btn_next.connect("clicked", self.on_btn_ref_clicked)
|
||
self.hb.pack_start(self.btn_box)
|
||
self.hb.pack_start(self.btn_ref)
|
||
self.main_box.pack_start(
|
||
self.hb,
|
||
False,
|
||
True,
|
||
0
|
||
)
|
||
self.scroll.add(self.web)
|
||
self.main_box.pack_start(
|
||
self.scroll,
|
||
True,
|
||
True,
|
||
0
|
||
)
|
||
def on_btn_next_clicked(self, widget):
|
||
self.web.go_forward()
|
||
def on_btn_prev_clicked(self, widget):
|
||
self.web.go_back()
|
||
def on_inp_url_activate(self, widget):
|
||
url_text = self.inp_url.get_text()
|
||
if "https://" in url_text:
|
||
self.web.load_uri(url_text)
|
||
else:
|
||
self.web.load_uri(f"https://duckduckgo.com/?q={url_text}")
|
||
def on_btn_ref_clicked(self, widget):
|
||
self.web.reload()
|
||
def change_url(self, widget, frame):
|
||
url_text = self.web.get_uri()
|
||
self.inp_url.set_text(url_text)
|
||
win = MyWindow()
|
||
win.connect("destroy", Gtk.main_quit)
|
||
win.show_all()
|
||
Gtk.main()
|