Menu

Tree [caefde] master /
 History

HTTPS access


File Date Author Commit
 bar 2012-09-26 Shingetsu Kurai Shingetsu Kurai [176439] Moved the bar into top root.
 browser 2012-09-29 Shingetsu Kurai Shingetsu Kurai [cc6225] Now uses locking, threading should be much safer.
 cman 2012-10-02 Shingetsu Kurai Shingetsu Kurai [531d77] Fixed bug where widget=None was missing.
 toolbar 2012-09-27 Shingetsu Kurai Shingetsu Kurai [793b55] Browser is now a module.
 .gitignore 2012-09-26 Shingetsu Kurai Shingetsu Kurai [b6055e] Browser Controller object in pre-alpha
 COPYING 2012-09-25 shingetsu-kurai shingetsu-kurai [27ff8c] license included, no source yet, beginning sour...
 README 2012-10-01 Shingetsu Kurai Shingetsu Kurai [ae4377] Added a README.
 main.py 2012-10-01 Shingetsu Kurai Shingetsu Kurai [ae4377] Added a README.
 sharpview 2013-03-15 Shingetsu Kurai Shingetsu Kurai [caefde] forgot to add the new file

Read Me

This project (sharpview) is a minimalistic browser written in python.
This project requires (package names are those used in Arch Linux, where it was developed) pygtk, pywebkitgtk and python2.

The goal of this project is to have a very clean and simple (KISS simple) browser which won't be feature rich.
In fact, the goal is that the user incorporates the features he wants. Since the code is open source (GPLv3 license) and clean,
it should be easy for the medium user to make a small addition, and very possible to explain to any user unto how to "install one".

*** Next up is the procedure to add your own module as well as the structure of the program. ***

The project uses full blown OOP provided by python.
Here is the current list of classes:
	-bar : this is the "omnibar" aka the url bar.
	-browser : the main, controller class. It derives from the gtk.Window object.
	-cman : the "Content Manager". It essentially contains the scrollable window and the webkit engine.
	-toolbar : this is the toolbar. It contains the buttons and the bar. It's a toolbar and not an hbox, do note.


All classes contain a __init__.py file. You must modify this file for any additional imports/functions you add.
The already existing lines of code should make the procedure clear.

All that is possible to do internally, should be. However, any one class cannot access it's superior. For example:
If pressing the back button writes back in the omnibar, the callback should be in the toolbar, as it's bottom level for the common controler.
If pressing the back button goes back to the previous page, the callback should be in browser, as it's the top level and only common controller.

All classes contain an init.py file. This file should ONLY have the __init__(self): function. There, all class-specific variables should be declared.

Other files have been named according to their function. Once can see a reference to all files in the __init__.py file.

main.py file generally doesn't have to be modified.

*** Next up is the legal notice ***

Sharp View. A lightweight webkit browser with an aim for simplicity and easy editing.
Copyright (C) 2012  Shingetsu Kurai (Andrey Kudryavtsev)

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

The copy should be located in the file "COPYING". It's a text file.

*** Next up is the installation standard ***

The project can be installed anywhere. It's generally best not to separate it.
If you feel the need to separate it, please decide on a "control" location and provide symbolic links of components.
The run.sh file contains a shell (dash) script that launches properly on Arch. It may need to be modified to:
	-Compensate for the lack of Dash (change dash to bash)
	-Change python2 to python.
A symbolic link should be pressed in /usr/bin, optimally.

*** Next up is the specific procedure to adding your own code ***

Please conform to the coding standard as mentioned above.
Create your own file with your desired functions,
Modify files if they must be modifies, please add a "modlog-modname" file mentioning the changes you made,
an example would be:

file: modlog-NewKeyShortcutsByFooBar
content: connectors.py modified adding calls to foo() in callback bar()

.
The reason to keep most stuff away is to be capable of distributing the file as a .pyc,
that would eventually allow someone (or maybe me) to write a simple "extension" engine.

*** Contact me ***

Do not hesitate to ask question, ask for features (that conform with the goal) and additional documentation at the project page.
http://sourceforge.com/projects/sharpview
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.