Sharp View Code
Very lightweight and minimalistic python browser with webkit
Status: Alpha
Brought to you by:
shingetsu-kurai
File | Date | Author | Commit |
---|---|---|---|
bar | 2012-09-26 |
![]() |
[176439] Moved the bar into top root. |
browser | 2012-09-29 |
![]() |
[cc6225] Now uses locking, threading should be much safer. |
cman | 2012-10-02 |
![]() |
[531d77] Fixed bug where widget=None was missing. |
toolbar | 2012-09-27 |
![]() |
[793b55] Browser is now a module. |
.gitignore | 2012-09-26 |
![]() |
[b6055e] Browser Controller object in pre-alpha |
COPYING | 2012-09-25 |
![]() |
[27ff8c] license included, no source yet, beginning sour... |
README | 2012-10-01 |
![]() |
[ae4377] Added a README. |
main.py | 2012-10-01 |
![]() |
[ae4377] Added a README. |
sharpview | 2013-03-15 |
![]() |
[caefde] forgot to add the new file |
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