Commit 048388ef authored by Hugo Posnic's avatar Hugo Posnic

Initial commit

parents
This diff is collapsed.
manjaro-hello
=============
New Manjaro Welcome Screen
## Why a new Manjaro Welcome Screen ?
Manjaro-hello is widely inspired by [manjaro-welcome](https://github.com/manjaro/manjaro-welcome). I've started to work on a new welcome screen because I think that the current has several defects inherited from the technologies used.
- First, it is based on Gtk3 but because of the use of Webkit and its old Python binding, it is forced to use Gtk2.
- All the app content is displayed by using HTML that is rendered by Webkit. This makes the evolution of the software very complicated. For example, it is very hard to make a translation system.
- By using web technologies and Webkit, the renderer is a little bit slower than using native technologies.
For all this reasons, I have choosen to build a new software from scratch but keeping the original structure.
Currently, manjaro-hello has all the features of manjaro-welcome but have a translation system.
- Interface is translated using gettext and po files. (src/locale)
- Pages are translated using differents files. (src/data)
## What goals ?
The first goal of the project is to build a powerful welcome screen who welcome the new user and help him to discover our favorite distribution :).
Finnaly, the second goal is to push it to replace the original project.
## Technologies
Manjaro-hello is build with Python, Gtk3 and Glade.
## Contribute
For the moment, even if the soft works, it is not finished.
- We have to test it and fix bugs.
- Make translations to distribute it in all the world.
- Improve the look (manjaro-welcome is very great-looking).
Let's make a wonderful software !
Generate main translation file:
xgettext -k_ -kN_ -L Glade -o messages.pot *.glade
Thanks for your support
The Manjaro Linux receives a great deal of support from its community of users and we would like to thank each and every contributor for participating. We are growing at a steady pace and our distribution is getting better every day thanks to you.
It is very easy to make a difference. Depending on your skill set, your availability you can help Manjaro in one or more of the following ways:
Support and Promotion
Spreading the word
If you like Manjaro, let people know. Write a review and publish it on distrowatch.com. Talk about it with your friends and the people around you.
Joining the Community
Manjaro isn't just an operating system, it's also a dynamic community of people who enjoy, gather, and interact with a free and open project. Whether it's by helping others sort through issues, by making them feel welcome, or simply by meeting and talking to other Manjaro users, we recommend you join the community and participate in making Manjaro better.
Helping others
If you have some spare time and you're willing to help other users with technical problems, you should seriously consider reading the forums and/or joining the IRC channel and helping other Manjaro users solve the problems you know how to fix.
Project contributions
Bug reports
If you've noticed something that doesn't work properly while using Manjaro, let us know. The problem you have discovered is likely to affect others as well; The sooner we know about it, the sooner we're able to fix it.
New ideas
The vast majority of improvements included in each release come from the community. If there's something that you think is missing or that could be done better, please tell us. Whether it's the inclusion of a missing hardware driver, or a software application that should be part of a stock installation, or if you have any other ideas on how to make Manjaro better, we're always interested in hearing them.
Artwork
If you are talented in graphic design and willing to contribute to the project, please send us your creations and artwork. Whether it's a simple wallpaper, an icon set, a splash screen, or even a new logo, we're always interested to hear from you about new artwork.
Code
Most of our development is done in QT, C++, Python, HTML5/CSS and BASH. We also use Git for version control and PKGBUILDs for packaging. If you're comfortable with these technologies, don't hesitate to have a look at the code. If you think you can improve our applications or write new ones don't hesitate to suggest patches or to fork our git repositories.
Handling hardware
Manjaro not only supports the use of multiple kernels (selectable from the advanced options at the boot screen), but allows easy access to the very latest bleeding edge kernels as well. This is undertaken through use of the Kernel module in Manjaro's graphical Settings Manager, or via the command line with the MHWD-kernel (Manjaro Hardware Detection) command.
These Manjaro tools will automatically update a newly installed kernel including any modules currently in use with your existing kernel. For example, if you were to update from kernel 3.18 to 4.1, mhwd-kernel would automatically include the 4.1 builds of any and all modules presently used in 3.18. How about that!
You can configure your hardware through the Hardware Detection module in the Settings Manager or alternatively with the MHWD cli-application. With these tools you can install for example graphical drivers, free and propritary.
Getting help
Although Manjaro is designed to work as much "out of the box" as possible, we don't claim it's perfect. There can be times when things go wrong, you might have questions and a desire to learn more or just want to personalise it to suit your tastes. This page provides details of some available resources to help you!
Search the web
Perhaps the first place to look for generic Linux help is by using your favourite search engine. Just include words like 'Linux', 'Manjaro' or 'Arch' in your search query.
As Manjaro is based on Arch Linux, guides and tips designed for Arch usually apply to Manjaro too.
Look in the forums
For specific help with Manjaro we have a dedicated online forum where you can search for topics, or create one yourself! This is probably the next best place to go for collaboration, discussion and assistance. Ask for help, post your thoughts, or outline some suggestions. Don't be shy!
The Manjaro forum is divided into sub-forums for different topics and environments, please post your query in the appropriate place!
Join us on IRC (Internet Relay Chat)
Another option is to join us on IRC by joining our #manjaro channel on the chat.freenode.net servers.
Sign up to a mailing list
Another way to get help is to email questions to a Manjaro mailing list (you can also search the history for past discussions). Simply sign up to the list you prefer and follow the instructions. There is a list dedicated to several topics, just take a look!
Other resources
Manjaro Germany - Official, support for our german community.
AUR Repository - Extra software not in the regular repositories, built from source.
Manjaro Wiki - Official wiki for Manjaro.
Arch Wiki - Official wiki for Arch.
IRC Chat - Live talk and help by users for users.
Suggestions
Got a suggestion on how we can make Manjaro better? Found something you want included, or want to help out? Please let us know, by posting your suggestion on the forum or drop by on IRC.
Thank you!
We hope you enjoy using Manjaro!
Manjaro 16.10
We are happy to publish another stable release of Manjaro Linux, we call Fringilla.
The Xfce edition remains our flagship offering and has received the attention it deserves. Few can claim to offer such a polished, integrated and leading-edge Xfce experience. We ship Xfce 4.12 with this release of Manjaro. We mainly focused on polishing the user experience on the desktop and window manager, and on updating some components to take advantage of newly available technologies such as switching to a new Vertex-Maia theme, we already using known as Maia for our KDE edition.
Our KDE edition continues to deliver this powerful, mature and feature-rich desktop environment with a unique look-and-feel, and with the perks of Manjaro's latest tools. We ship now Plasma 5.8 desktop in combination with the latest KDE-Apps 16.08. It was a huge step to get it all playing together smoothly and to give the user experience the same feeling as our KDE4 editions of the past.
Kernel 4.4 is used for this release, such as the latest drivers available to date. Relative to the last installation media release, our tools have been improved and polished.
The Manjaro Settings Manager (MSM) now provides an easy-to-use graphical interface for installing and removing the many series of kernels we offer. Manjaro's selection of readily available kernels remains the most extensive of all Linux distribution we know of. At the time of this release, nine kernel-series are available directly from our binary repositories, ranging from the mature & rock-solid 3.10 series to the latest 4.9 release. Additionally we offer two realtime kernel series. Such a wide array of available kernel options results in extensive hardware support, getting the most out of your system for you, be it old or new. We also created a kcm module to integrate MSM seamlessly into System-Settings of Plasma 5. We have now several notifier for MSM to be installed optionally.
With Pamac 4.1 we have switched to CSD design. Guillaume was working for some time on this new design for pamac. Followed features you can expect:
- https mirror support
- column sortable in updater
- sort search result by relevance in manager
- add clean cache tab in preferences
- systemd timer unit to clean cache monthly
- systemd timer unit to generate mirrorlist monthly
- if the db lock file is present, it waits if pacman is running, else it removes the lock file
So please test this release thru and thru and let us know what you think of Fringilla.
We hope you enjoy this release.
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-12-04 17:29+0100\n"
"PO-Revision-Date: 2016-12-04 17:30+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.11\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: manjaro-hello.glade:7
msgid "About"
msgstr "À propos"
#: manjaro-hello.glade:14
msgid "Welcome screen for Manjaro"
msgstr "Écran de bienvenue pour Manjaro"
#: manjaro-hello.glade:16
msgid "Github"
msgstr "Github"
#: manjaro-hello.glade:105
msgid "Welcome to Manjaro!"
msgstr "Bienvenue sur Manjaro !"
#: manjaro-hello.glade:121
msgid ""
"Thank you for joining our community!\n"
"\n"
"We, the Manjaro Developers, hope that you will enjoy using Manjaro as much "
"as we enjoy building it. The links below will help you get started with your "
"new operating system. So enjoy the experience, and don't hesitate to send us "
"your feedback."
msgstr ""
"Merci de vous joindre à notre communauté !\n"
"\n"
"Nous, les développeurs de Manjaro, espérons que vous apprécierez "
"l'utilisation de Manjaro autant que nous aimons la construire. Les liens ci-"
"dessous vous aideront à démarrer avec votre nouveau système d'exploitation. "
"Alors profitez de l'expérience, et n'hésitez pas à nous faire part de vos "
"commentaires."
#: manjaro-hello.glade:138 manjaro-hello.glade:496
msgid "Documentation"
msgstr "Documentation"
#: manjaro-hello.glade:152
msgid "Support"
msgstr "Support"
#: manjaro-hello.glade:166 manjaro-hello.glade:553
msgid "Project"
msgstr "Projet"
#: manjaro-hello.glade:180
msgid "Social"
msgstr "Social"
#: manjaro-hello.glade:192 manjaro-hello.glade:447
msgid "Read me"
msgstr "Lisez moi"
#: manjaro-hello.glade:205 manjaro-hello.glade:480
msgid "Release info"
msgstr "Informations de version"
#: manjaro-hello.glade:218
msgid "Wiki"
msgstr "Wiki"
#: manjaro-hello.glade:232 manjaro-hello.glade:532
msgid "Get involved"
msgstr "S'investir"
#: manjaro-hello.glade:245
msgid "Forums"
msgstr "Forums"
#: manjaro-hello.glade:259
msgid "Chat room"
msgstr "Salon de chat"
#: manjaro-hello.glade:273
msgid "Mailling lists"
msgstr "Listes de diffusion"
#: manjaro-hello.glade:287
msgid "Build Manjaro"
msgstr "Construire Manjaro"
#: manjaro-hello.glade:301
msgid "Donate"
msgstr "Faire un don"
#: manjaro-hello.glade:315
msgid "Google+"
msgstr "Google+"
#: manjaro-hello.glade:329
msgid "Facebook"
msgstr "Facebook"
#: manjaro-hello.glade:343
msgid "Twitter"
msgstr "Twitter"
#: manjaro-hello.glade:357
msgid "Reddit"
msgstr "Reddit"
#: manjaro-hello.glade:375
msgid "Launch at start"
msgstr "Lancer au démarrage"
#: manjaro-hello.glade:412
msgid "Welcome"
msgstr "Bienvenue"
[Desktop Entry]
Terminal=false
Type=Application
Categories=GNOME;GTK;System;
StartupNotify=false
Name=Manjaro Hello
Exec=manjaro-hello
Icon=manjaro-hello
Comment=The Manjaro Hello utility.
This diff is collapsed.
#!/usr/bin/env python3
import locale
import gettext
import os
import sys
import json
import gi
import shutil
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk, Gio, GdkPixbuf
class ManjaroHello(Gtk.Window):
def __init__(self):
self.preferences_path = "{}/.config/manjaro-hello.json".format(os.path.expanduser("~"))
self.autostart_path = os.path.expanduser("{}/.config/autostart/manjaro-hello.desktop".format(os.path.expanduser("~")))
self.icon_path = "manjaro-hello.png"
self.language = locale.getlocale()[0][:2]
self.default_language = "en"
self.app = "manjaro-hello"
self.locale_dir = "locale"
self.preferences = self.get_preferences()
if not self.preferences:
self.preferences = {"autostart": os.path.exists(self.autostart_path)}
self.save_preferences()
self.infos = self.get_infos()
# Init language
locale.setlocale(locale.LC_ALL, "")
locale.bindtextdomain(self.app, self.locale_dir)
gettext.bindtextdomain(self.app, self.locale_dir)
gettext.textdomain(self.app)
# Create window
self.builder = Gtk.Builder()
self.builder.set_translation_domain(self.app)
self.builder.add_from_file("manjaro-hello.glade")
self.builder.connect_signals(self)
self.window = self.builder.get_object("window")
self.builder.get_object("headerbar").props.subtitle = self.infos["codename"] + " " + self.infos["release"] + " " + self.infos["arch"]
text_buffer = Gtk.TextBuffer()
text_buffer.set_text(self.read_data("readme"), -1)
self.builder.get_object("readmetext").set_buffer(text_buffer)
text_buffer = Gtk.TextBuffer()
text_buffer.set_text(self.read_data("release"), -1)
self.builder.get_object("releasetext").set_buffer(text_buffer)
text_buffer = Gtk.TextBuffer()
text_buffer.set_text(self.read_data("involved"), -1)
self.builder.get_object("involvedtext").set_buffer(text_buffer)
self.builder.get_object("autostart").set_active(self.preferences["autostart"])
self.window.show()
def get_lsb_information(self):
lsb = {}
try:
with open("/etc/lsb-release") as lsb_file:
for line in lsb_file:
if "=" in line:
var, arg = line.rstrip().split("=")
if var.startswith("DISTRIB_"):
var = var[8:]
if arg.startswith("\"") and arg.endswith("\""):
arg = arg[1:-1]
if arg:
lsb[var] = arg
except (IOError, OSError) as msg:
print(msg)
return lsb
def get_infos(self):
lsb = self.get_lsb_information()
infos = {}
infos["codename"] = lsb.get("CODENAME", 0)
infos["release"] = lsb.get("RELEASE", 0)
infos["arch"] = "64-bit" if os.uname()[4] else "32-bit"
infos["live"] = os.path.exists("/bootmnt/manjaro") or os.path.exists("/run/miso/bootmnt/manjaro")
return infos
def change_autostart(self, state):
if state and not os.path.exists(self.autostart_path):
try:
shutil.copyfile("manjaro-hello.desktop", self.autostart_path)
self.preferences["autostart"] = True
except (IOError, OSError) as e:
print(e)
elif not state and os.path.exists(self.autostart_path):
try:
os.remove(self.autostart_path)
self.preferences["autostart"] = False
except (IOError, OSError) as e:
print(e)
self.save_preferences()
def save_preferences(self):
try:
with open(self.preferences_path, "w") as f:
json.dump(self.preferences, f)
except (IOError, OSError) as e:
print(e)
def get_preferences(self):
try:
with open(self.preferences_path, "r") as f:
return json.load(f)
except (IOError, OSError) as e:
return None
def read_data(self, name):
filename = "data/{}/{}".format(self.language, name)
if not os.path.exists(filename):
filename = "data/{}/{}".format(self.default_language, name)
try:
with open(filename, "r") as f:
return f.read()
except (IOError, OSError) as e:
return None
# Handlers
def on_about_clicked(self, btn):
dialog = self.builder.get_object("aboutdialog")
dialog.set_transient_for(self.window)
dialog.run()
dialog.hide()
def on_readme_clicked(self, btn):
self.builder.get_object("stack").set_visible_child(self.builder.get_object("documentation"))
self.builder.get_object("documentation").set_current_page(0)
def on_release_clicked(self, btn):
self.builder.get_object("stack").set_visible_child(self.builder.get_object("documentation"))
self.builder.get_object("documentation").set_current_page(1)
def on_involved_clicked(self, btn):
self.builder.get_object("stack").set_visible_child(self.builder.get_object("project"))
self.builder.get_object("project").set_current_page(0)
def on_autostart_switched(self, switch, _):
autostart = True if switch.get_active() else False
self.change_autostart(autostart)
def on_delete_window(self, *args):
Gtk.main_quit(*args)
win = ManjaroHello()
Gtk.main()
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-12-04 17:30+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: manjaro-hello.glade:7
msgid "About"
msgstr ""
#: manjaro-hello.glade:14
msgid "Welcome screen for Manjaro"
msgstr ""
#: manjaro-hello.glade:16
msgid "Github"
msgstr ""
#: manjaro-hello.glade:105
msgid "Welcome to Manjaro!"
msgstr ""
#: manjaro-hello.glade:121
msgid ""
"Thank you for joining our community!\n"
"\n"
"We, the Manjaro Developers, hope that you will enjoy using Manjaro as much "
"as we enjoy building it. The links below will help you get started with your "
"new operating system. So enjoy the experience, and don't hesitate to send us "
"your feedback."
msgstr ""
#: manjaro-hello.glade:138 manjaro-hello.glade:496
msgid "Documentation"
msgstr ""
#: manjaro-hello.glade:152
msgid "Support"
msgstr ""
#: manjaro-hello.glade:166 manjaro-hello.glade:553
msgid "Project"
msgstr ""
#: manjaro-hello.glade:180
msgid "Social"
msgstr ""
#: manjaro-hello.glade:192 manjaro-hello.glade:447
msgid "Read me"
msgstr ""
#: manjaro-hello.glade:205 manjaro-hello.glade:480
msgid "Release info"
msgstr ""
#: manjaro-hello.glade:218
msgid "Wiki"
msgstr ""
#: manjaro-hello.glade:232 manjaro-hello.glade:532
msgid "Get involved"
msgstr ""
#: manjaro-hello.glade:245
msgid "Forums"
msgstr ""
#: manjaro-hello.glade:259
msgid "Chat room"
msgstr ""
#: manjaro-hello.glade:273
msgid "Mailling lists"
msgstr ""
#: manjaro-hello.glade:287
msgid "Build Manjaro"
msgstr ""
#: manjaro-hello.glade:301
msgid "Donate"
msgstr ""
#: manjaro-hello.glade:315
msgid "Google+"
msgstr ""
#: manjaro-hello.glade:329
msgid "Facebook"
msgstr ""
#: manjaro-hello.glade:343
msgid "Twitter"
msgstr ""
#: manjaro-hello.glade:357
msgid "Reddit"
msgstr ""
#: manjaro-hello.glade:375
msgid "Launch at start"
msgstr ""
#: manjaro-hello.glade:412
msgid "Welcome"
msgstr ""
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment