Added projects, updated names
This commit is contained in:
125
Python Projects/gtk/Chronos Browser/utils/Settings.py
Normal file
125
Python Projects/gtk/Chronos Browser/utils/Settings.py
Normal file
@@ -0,0 +1,125 @@
|
||||
# Gtk imports
|
||||
import gi, cairo
|
||||
gi.require_version('Gtk', '3.0')
|
||||
gi.require_version('Gdk', '3.0')
|
||||
|
||||
from gi.repository import Gtk as gtk
|
||||
from gi.repository import Gdk as gdk
|
||||
|
||||
# Python imports
|
||||
import os
|
||||
|
||||
# Application imports
|
||||
|
||||
|
||||
class Settings:
|
||||
def __init__(self):
|
||||
self.builder = None
|
||||
|
||||
self.THUMB_GENERATOR = "ffmpegthumbnailer"
|
||||
self.DEFAULTCOLOR = gdk.RGBA(0.0, 0.0, 0.0, 0.0) # ~#00000000
|
||||
self.MOUSEOVERCOLOR = gdk.RGBA(0.0, 0.9, 1.0, 0.64) # ~#00e8ff
|
||||
self.SELECTEDCOLOR = gdk.RGBA(0.4, 0.5, 0.1, 0.84)
|
||||
|
||||
self.webHome = 'http://webfm.com/'
|
||||
self.labelLength = 25 - 3
|
||||
self.vidsExtensionList = ('.mkv', '.avi', '.flv', '.mov', '.m4v', '.mpg', '.wmv', '.mpeg', '.mp4', '.webm')
|
||||
self.imagesExtensionList = ('.png', '.jpg', '.jpeg', '.gif', '.ico', '.tga')
|
||||
|
||||
|
||||
def attachBuilder(self, builder):
|
||||
self.builder = builder
|
||||
self.builder.add_from_file("resources/ChronosBrowser.glade")
|
||||
|
||||
def createWindow(self):
|
||||
# Get window and connect signals
|
||||
window = self.builder.get_object("Window")
|
||||
window.connect("delete-event", gtk.main_quit)
|
||||
self.setWindowData(window)
|
||||
return window
|
||||
|
||||
def setWindowData(self, window):
|
||||
screen = window.get_screen()
|
||||
visual = screen.get_rgba_visual()
|
||||
if visual != None and screen.is_composited():
|
||||
window.set_visual(visual)
|
||||
|
||||
# bind css file
|
||||
cssProvider = gtk.CssProvider()
|
||||
cssProvider.load_from_path('resources/stylesheet.css')
|
||||
screen = gdk.Screen.get_default()
|
||||
styleContext = gtk.StyleContext()
|
||||
styleContext.add_provider_for_screen(screen, cssProvider, gtk.STYLE_PROVIDER_PRIORITY_USER)
|
||||
|
||||
def getMonitorData(self, screen):
|
||||
monitors = []
|
||||
for m in range(screen.get_n_monitors()):
|
||||
monitors.append(screen.get_monitor_geometry(m))
|
||||
|
||||
for monitor in monitors:
|
||||
print(str(monitor.width) + "x" + str(monitor.height) + "+" + str(monitor.x) + "+" + str(monitor.y))
|
||||
|
||||
return monitors
|
||||
|
||||
|
||||
def returnBuilder(self): return self.builder
|
||||
def returnWebHome(self): return self.webHome
|
||||
def returnVidsExtensionList(self): return self.vidsExtensionList
|
||||
def returnImagesExtensionList(self): return self.imagesExtensionList
|
||||
def returnLabelLen(self): return self.labelLength
|
||||
|
||||
def setDefaultWebviewSettings(self, widget, settings=None):
|
||||
# Usability
|
||||
settings.set_property('enable-fullscreen', True)
|
||||
settings.set_property('print-backgrounds', True)
|
||||
settings.set_property('enable-frame-flattening', False)
|
||||
settings.set_property('enable-plugins', True)
|
||||
settings.set_property('enable-java', False)
|
||||
settings.set_property('enable-resizable-text-areas', True)
|
||||
settings.set_property('zoom-text-only', False)
|
||||
settings.set_property('enable-smooth-scrolling', True)
|
||||
settings.set_property('enable-back-forward-navigation-gestures', False)
|
||||
settings.set_property('media-playback-requires-user-gesture', False)
|
||||
settings.set_property('enable-tabs-to-links', True)
|
||||
settings.set_property('enable-caret-browsing', False)
|
||||
|
||||
# Security
|
||||
settings.set_property('user-agent','Mozilla/5.0 (X11; Generic; Linux x86-64) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.0 Safari/605.1.15')
|
||||
settings.set_property('enable-private-browsing', False)
|
||||
settings.set_property('enable-xss-auditor', True)
|
||||
settings.set_property('enable-hyperlink-auditing', False)
|
||||
settings.set_property('enable-site-specific-quirks', True)
|
||||
settings.set_property('enable-offline-web-application-cache', True)
|
||||
settings.set_property('enable-page-cache', True)
|
||||
settings.set_property('allow-modal-dialogs', True)
|
||||
settings.set_property('enable-html5-local-storage', True)
|
||||
settings.set_property('enable-html5-database', True)
|
||||
settings.set_property('allow-file-access-from-file-urls', True)
|
||||
settings.set_property('allow-universal-access-from-file-urls', False)
|
||||
settings.set_property('enable-dns-prefetching', False)
|
||||
|
||||
# Media stuff
|
||||
settings.set_hardware_acceleration_policy(0)
|
||||
# settings.set_property('hardware-acceleration-policy', 'on-demand')
|
||||
settings.set_property('enable-webgl', True)
|
||||
settings.set_property('enable-webaudio', True)
|
||||
settings.set_property('enable-accelerated-2d-canvas', True)
|
||||
settings.set_property('auto-load-images', True)
|
||||
settings.set_property('enable-media-capabilities', True)
|
||||
settings.set_property('enable-media-stream', True)
|
||||
settings.set_property('enable-mediasource', True)
|
||||
settings.set_property('enable-encrypted-media', True)
|
||||
settings.set_property('media-playback-allows-inline', True)
|
||||
|
||||
# JS
|
||||
settings.set_property('enable-javascript', True)
|
||||
settings.set_property('enable-javascript-markup', True)
|
||||
settings.set_property('javascript-can-access-clipboard', False)
|
||||
settings.set_property('javascript-can-open-windows-automatically', False)
|
||||
|
||||
# Debugging
|
||||
settings.set_property('enable-developer-extras', False)
|
||||
settings.set_property('enable-write-console-messages-to-stdout', False)
|
||||
settings.set_property('draw-compositing-indicators', False)
|
||||
settings.set_property('enable-mock-capture-devices', False)
|
||||
settings.set_property('enable-spatial-navigation', False)
|
1
Python Projects/gtk/Chronos Browser/utils/__init__.py
Normal file
1
Python Projects/gtk/Chronos Browser/utils/__init__.py
Normal file
@@ -0,0 +1 @@
|
||||
from utils.Settings import Settings
|
Reference in New Issue
Block a user