Some of the things I'd like to do need to get on the feature plan. some are only on my laptop, and will stay there. here's some of the stuff that I'm thinking of doing. There's a pretty good chance I'll never find time for most of it. If one of them sparks your interest, feel free to implement it. (but tell me, so we don't both end up doing the same thing ;)
little things I never get to
make a graphical timezone selector
- I think I've seen such a thing ona gnome computer, and it it just made *sense*.
- I'm not sure if this would be a plasma thing or a kdelibs thing. or a marble thing.
- at the very least the existing timezone selecter needs a filter bar...
- when a task wants attention (ie. it would be flashing in the taskbar) this would show the task and get the user's attention.
- this is useful for people like me who usually don't want a taskbar, but don't want to miss that attention request.
icon plasmoid improvements
- right now, it kinda sucks. I have links on my desktop called stuff like "http" and I can't change them. oh, and dragging a kickoff entry to the desktop then changing it has broken things horribly in the past.
- what I want is a more generic launcher plasmoid that can be configured to launch whatever I want. like how you could add stuff to your panel in kde3 and configure it to run a program with extra options or whatever.
kwin effects plasmoids
- someone on hte interwebs thought of this one: just little icons that trigger certain kwin effects. should be really easy, assuming there's a dbus way to trigger those things.
victory calendar [mine!!]
- this is the one I keep blogging about
- I need to make it possible to add rows
- then I need to make it save the state of the flags
- then I need to make it save them per day, and display history
- eventually I might add pretty graphs
- this would be something like a simplified basKet
- the containment would have a row of buttons for creating new notes, sketches, etc. these would use existing plasmoids (which might need improving)
- the containment itself would be a sketch plasmoid so you could draw on hte background.
- actually this might not need to be a special containment. the row of buttons could be its own plasmoid, then you just need to add that plasmoid and set the containment type to sketch
- obviously there has to exist a sketch plasmoid that allows the user to do simple sketches and can be used as a containment. I think there's some sort of blackboard plasmoid somewhere that could be turned into this.
- this will make it easy to produce lots of disorganized data, so it'd be nice if the note/sketch plasmoids could save their data somewhere outside the plasma config. tagging would also be nice. and containment saving.
- use case 1: I have a system with limited resources, and lots of activities. I want to close the ones I haven't used recently, but not delete them forever.
- use case 2: I have a really cool setup, and my friend wants me to send her one of my activites because she likes it so much.
- the idea is to save out the containment's config to another file (in $APPDATA or something for use case 1) and remove it, then when the user wants to load a saved containment we give them a list of the saved containments (plus an option to load from any file), then pull in the one they choose. if they choose one from the list then we remove that file so that they don't get multiple copies of the same activity.
- there should be a nice friendly UI for all of this, of course. bonus points if the "share with a friend" is something cooler than having the user do "save to file, open mail client, attach that file to an email"
full keyboard control
- two parts: dbus interface and a runner
- first, we need a full dbus interface to plasma
- I want to be able to control as much as possible. everything, really. every applet, every containment...
- first, we need a way to get a listing of the containments running, and applets running in a specific containment
- we need a way to refer to those specific containments and applets, to do things to them.
- I should be able to do stuff like move, resize, add, remove... I'm not sure if changing configuration makes sense. being able to make it flash would be useful too (at the very least to confirm you're actually acting on the applet you think you're acting on)
- second, we need a runner
- this should be a less-scary way to use the dbus interface... something a bit more intuitive with less typing
stuff I might actually get done for 4.3
keyboard shortcuts (mostly done)
- shortcuts need to be configurable. (done)
- unfortunately there seems to be some bug with setting emacs-style shortcuts in a kshortcutdialog. I need to look into that.
- also need to look into why qt4.5 made my shortcuts work on the dashboard but not the desktop.
screensaver security (partly done)
- category filters are already in, but they're not enough
- need a list of constraints in the app (just plasma-overlay for now) and then every plasmoid's .desktop file needs those constraints for it to show up in plasma-overlay's appletbrowser. obviously it shouldn't add them unless it's actually capable of satisfying them. (partly done)
- also need a function in Applet so that applets can ask about the constraints and not try to do things they're not allowed to do (done)
- for scripted plasmoids we may be able to enforce the constraints from plasma instead of trusting the developers
- the hard part: what should the constraints be?
- they need to be straightforward enough that plasmoid developers can understand what they mean and whether their plasmoid satisfies them
- there was a discussion about this last year on panel-devel
- a few constraints exist already, but I need to check every plasmoid against them. /ConstraintsList
- for all the plasmoids in svn that don't have specific owners (some get passed about a lot) we should probably review them before release to make sure the .desktop isn't out of date.
Content is available under Creative Commons License SA 4.0
unless otherwise noted.